diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/assets/index-mkF9u5Bu.css b/assets/index-mkF9u5Bu.css new file mode 100644 index 0000000..26e6ce1 --- /dev/null +++ b/assets/index-mkF9u5Bu.css @@ -0,0 +1 @@ +._root_6m4f4_1{-webkit-tap-highlight-color:transparent;background:none;border:0;color:inherit;display:inline-block;font-size:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0;text-align:initial;text-decoration:none;vertical-align:top}._root_6m4f4_1:focus{outline:none;z-index:var(--rs-z-index-raised)}[role=button]._root_6m4f4_1,button._root_6m4f4_1{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}._root_6m4f4_1._--disabled_6m4f4_1,._root_6m4f4_1[disabled]{cursor:not-allowed}._root_6m4f4_1._--disabled_6m4f4_1:active,._root_6m4f4_1[disabled]:active{transform:none}._--full-width_6m4f4_1{width:100%}[data-rs-keyboard] ._root_6m4f4_1:focus{box-shadow:var(--rs-focus-shadow)}[data-rs-keyboard] ._root_6m4f4_1._--inset_6m4f4_1:focus{box-shadow:var(--rs-focus-inset-shadow)}[data-rs-keyboard] ._root_6m4f4_1._--radius-inherit_6m4f4_1:focus{box-shadow:none}[data-rs-keyboard] ._root_6m4f4_1._--radius-inherit_6m4f4_1:focus>*{box-shadow:var(--rs-focus-shadow)}[data-rs-keyboard] ._root_6m4f4_1._--radius-inherit_6m4f4_1._--inset_6m4f4_1:focus>*{box-shadow:var(--rs-focus-inset-shadow)}._root_qpaoy_1{background:var(--rs-color-border-neutral-faded);border:none;height:1px;margin:0}._--blank_qpaoy_1{margin-top:-1px;position:relative}._--vertical_qpaoy_1{display:inline-block;height:100%;vertical-align:top;width:1px}._--vertical_qpaoy_1._--blank_qpaoy_1{margin-top:0;margin-inline-start:-1px}@media (min-width:660px){._--vertical-true--m_qpaoy_1{display:inline-block;height:100%;vertical-align:top;width:1px}._--vertical-true--m_qpaoy_1._--blank_qpaoy_1{margin-top:0;margin-inline-start:-1px}._--vertical-false--m_qpaoy_1{display:block;height:1px;width:100%}._--vertical-false--m_qpaoy_1._--blank_qpaoy_1{margin-top:-1px;margin-inline-start:0}}@media (min-width:900px){._--vertical-true--l_qpaoy_1{display:inline-block;height:100%;vertical-align:top;width:1px}._--vertical-true--l_qpaoy_1._--blank_qpaoy_1{margin-top:0;margin-inline-start:-1px}._--vertical-false--l_qpaoy_1{display:block;height:1px;width:100%}._--vertical-false--l_qpaoy_1._--blank_qpaoy_1{margin-top:-1px;margin-inline-start:0}}@media (min-width:1280px){._--vertical-true--xl_qpaoy_1{display:inline-block;height:100%;vertical-align:top;width:1px}._--vertical-true--xl_qpaoy_1._--blank_qpaoy_1{margin-top:0;margin-inline-start:-1px}._--vertical-false--xl_qpaoy_1{display:block;height:1px;width:100%}._--vertical-false--xl_qpaoy_1._--blank_qpaoy_1{margin-top:-1px;margin-inline-start:0}}._root_14fj3_1{--rs-hidden-display:block;display:var(--rs-hidden-display)!important}._--display-inline_14fj3_1{--rs-hidden-display:inline}._--display-flex_14fj3_1{--rs-hidden-display:flex}._--hidden_14fj3_1{display:none!important}._--hidden_14fj3_1._--visibility_14fj3_1{display:var(--rs-hidden-display)!important;visibility:hidden}@media (min-width:660px){._--hidden-true--m_14fj3_1{display:none!important}._--hidden-true--m_14fj3_1._--visibility_14fj3_1{visibility:hidden}._--hidden-false--m_14fj3_1,._--hidden-true--m_14fj3_1._--visibility_14fj3_1{display:var(--rs-hidden-display)!important}._--hidden-false--m_14fj3_1._--visibility_14fj3_1{visibility:visible}}@media (min-width:900px){._--hidden-true--l_14fj3_1{display:none!important}._--hidden-true--l_14fj3_1._--visibility_14fj3_1{visibility:hidden}._--hidden-false--l_14fj3_1,._--hidden-true--l_14fj3_1._--visibility_14fj3_1{display:var(--rs-hidden-display)!important}._--hidden-false--l_14fj3_1._--visibility_14fj3_1{visibility:visible}}@media (min-width:1280px){._--hidden-true--xl_14fj3_1{display:none!important}._--hidden-true--xl_14fj3_1._--visibility_14fj3_1{visibility:hidden}._--hidden-false--xl_14fj3_1,._--hidden-true--xl_14fj3_1._--visibility_14fj3_1{display:var(--rs-hidden-display)!important}._--hidden-false--xl_14fj3_1._--visibility_14fj3_1{visibility:visible}}._root_mi21y_1{--rs-view-gaps-count-multiplier:1;--rs-view-z:auto;--rs-view-gap-value:calc(var(--rs-view-gap) * var(--rs-unit-x1));gap:var(--rs-view-gap-value);z-index:var(--rs-view-z)}._item_mi21y_1{--rs-view-item-gap:calc(var(--rs-unit-x1) * var(--rs-view-item-gap-before) - var(--rs-view-gap-value));order:var(--rs-view-item-order)}._--padding_mi21y_1{padding:calc(var(--rs-unit-x1) * var(--rs-view-p-vertical, var(--rs-view-p-top))) calc(var(--rs-unit-x1) * var(--rs-view-p-horizontal, var(--rs-view-p-start)))}._--padding-top_mi21y_1{padding-top:calc(var(--rs-unit-x1) * var(--rs-view-p-top))}._--padding-bottom_mi21y_1{padding-bottom:calc(var(--rs-unit-x1) * var(--rs-view-p-bottom))}._--padding-start_mi21y_1{padding-inline-start:calc(var(--rs-unit-x1) * var(--rs-view-p-start))}._--padding-end_mi21y_1{padding-inline-end:calc(var(--rs-unit-x1) * var(--rs-view-p-end))}._--animated_mi21y_1{transition:var(--rs-duration-medium) var(--rs-easing-standard);transition-property:background-color,color,border-color,box-shadow}._--align-text-start_mi21y_1{text-align:start}._--align-text-center_mi21y_1{text-align:center}._--align-text-end_mi21y_1{text-align:end}._--bg-neutral_mi21y_1{background-color:var(--rs-color-background-neutral);color:var(--rs-color-on-background-neutral)}._--bg-positive_mi21y_1{background-color:var(--rs-color-background-positive);color:var(--rs-color-on-background-positive)}._--bg-critical_mi21y_1{background-color:var(--rs-color-background-critical);color:var(--rs-color-on-background-critical)}._--bg-primary_mi21y_1{background-color:var(--rs-color-background-primary);color:var(--rs-color-on-background-primary)}._--bg-neutral-faded_mi21y_1{background-color:var(--rs-color-background-neutral-faded);color:var(--rs-color-foreground-neutral)}._--bg-positive-faded_mi21y_1{background-color:var(--rs-color-background-positive-faded);color:var(--rs-color-foreground-neutral)}._--bg-critical-faded_mi21y_1{background-color:var(--rs-color-background-critical-faded);color:var(--rs-color-foreground-neutral)}._--bg-primary-faded_mi21y_1{background-color:var(--rs-color-background-primary-faded)}._--bg-page_mi21y_1,._--bg-primary-faded_mi21y_1{color:var(--rs-color-foreground-neutral)}._--bg-page_mi21y_1{background-color:var(--rs-color-background-page)}._--bg-page-faded_mi21y_1{background-color:var(--rs-color-background-page-faded)}._--bg-disabled_mi21y_1,._--bg-page-faded_mi21y_1{color:var(--rs-color-foreground-neutral)}._--bg-disabled_mi21y_1{background-color:var(--rs-color-background-disabled)}._--bg-disabled-faded_mi21y_1{background-color:var(--rs-color-background-disabled-faded);color:var(--rs-color-foreground-neutral)}._--bg-elevation-base_mi21y_1{background-color:var(--rs-color-background-elevation-base);color:var(--rs-color-foreground-neutral)}._--bg-elevation-raised_mi21y_1{background-color:var(--rs-color-background-elevation-raised);color:var(--rs-color-foreground-neutral)}._--bg-elevation-overlay_mi21y_1{background-color:var(--rs-color-background-elevation-overlay);color:var(--rs-color-foreground-neutral)}._--bg-white_mi21y_1{background-color:var(--rs-color-white);color:var(--rs-color-black)}._--bg-black_mi21y_1{background-color:var(--rs-color-black);color:var(--rs-color-white)}._--shadow-raised_mi21y_1{box-shadow:var(--rs-shadow-raised)}._--shadow-overlay_mi21y_1{box-shadow:var(--rs-shadow-overlay)}._--bd_mi21y_1{border:1px solid var(--rs-view-border-color)}._--bd-neutral-faded_mi21y_1{--rs-view-border-color:var(--rs-color-border-neutral-faded)}._--bd-neutral_mi21y_1{--rs-view-border-color:var(--rs-color-border-neutral)}._--bd-positive_mi21y_1{--rs-view-border-color:var(--rs-color-border-positive)}._--bd-positive-faded_mi21y_1{--rs-view-border-color:var(--rs-color-border-positive-faded)}._--bd-critical_mi21y_1{--rs-view-border-color:var(--rs-color-border-critical)}._--bd-critical-faded_mi21y_1{--rs-view-border-color:var(--rs-color-border-critical-faded)}._--bd-primary_mi21y_1{--rs-view-border-color:var(--rs-color-border-primary)}._--bd-primary-faded_mi21y_1{--rs-view-border-color:var(--rs-color-border-primary-faded)}._--bd-disabled_mi21y_1{--rs-view-border-color:var(--rs-color-border-disabled)}._--bd-transparent_mi21y_1{--rs-view-border-color:transparent}._--overflow-hidden_mi21y_1{overflow:hidden}._--divided_mi21y_1{--rs-view-gaps-count-multiplier:2}._--flex_mi21y_1{display:flex;flex-direction:column;justify-content:flex-start}._--direction-column_mi21y_1{flex-direction:column;flex-wrap:nowrap}._--direction-column_mi21y_1>._item--gap-before_mi21y_1{margin-top:var(--rs-view-item-gap)}._--direction-column_mi21y_1>._item--gap-auto_mi21y_1{margin-top:auto}._--direction-column-reverse_mi21y_1{flex-direction:column-reverse;flex-wrap:nowrap}._--direction-column-reverse_mi21y_1>._item--gap-before_mi21y_1{margin-top:var(--rs-view-item-gap)}._--direction-column-reverse_mi21y_1>._item--gap-auto_mi21y_1{margin-top:auto}._--direction-row_mi21y_1{align-items:flex-start;flex-direction:row;flex-wrap:wrap}._--direction-row_mi21y_1>._item--gap-before_mi21y_1{margin-inline-start:var(--rs-view-item-gap)}._--direction-row_mi21y_1>._item--gap-auto_mi21y_1{margin-inline-start:auto}._--direction-row_mi21y_1>button{width:auto!important}._--direction-row-reverse_mi21y_1{align-items:flex-start;flex-direction:row-reverse;flex-wrap:wrap}._--direction-row-reverse_mi21y_1>._item--gap-before_mi21y_1{margin-inline-start:var(--rs-view-item-gap)}._--direction-row-reverse_mi21y_1>._item--gap-auto_mi21y_1{margin-inline-start:auto}._--direction-row-reverse_mi21y_1>button{width:auto!important}._--nowrap_mi21y_1{flex-wrap:nowrap}._--nowrap_mi21y_1>*{flex-shrink:0}._--wrap_mi21y_1{flex-wrap:wrap}@media (min-width:660px){._--nowrap-false--m_mi21y_1,._--wrap-true--m_mi21y_1{flex-wrap:wrap}._--nowrap-true--m_mi21y_1,._--wrap-false--m_mi21y_1{flex-wrap:nowrap}}@media (min-width:900px){._--nowrap-false--l_mi21y_1,._--wrap-true--l_mi21y_1{flex-wrap:wrap}._--nowrap-true--l_mi21y_1,._--wrap-false--l_mi21y_1{flex-wrap:nowrap}}@media (min-width:1280px){._--nowrap-false--xl_mi21y_1,._--wrap-true--xl_mi21y_1{flex-wrap:wrap}._--nowrap-true--xl_mi21y_1,._--wrap-false--xl_mi21y_1{flex-wrap:nowrap}}._--align-start_mi21y_1{align-items:flex-start!important}._--align-end_mi21y_1{align-items:flex-end!important}._--align-center_mi21y_1{align-items:center!important}._--align-stretch_mi21y_1{align-items:stretch!important}._--align-baseline_mi21y_1{align-items:baseline!important}._--justify-start_mi21y_1{justify-content:flex-start}._--justify-end_mi21y_1{justify-content:flex-end}._--justify-center_mi21y_1{justify-content:center}._--justify-space-between_mi21y_1{justify-content:space-between}._divider_mi21y_1{align-self:stretch}._item--grow_mi21y_1{flex-basis:0;flex-grow:1;flex-shrink:1;min-width:0}._item--columns_mi21y_1{width:calc((100% - var(--rs-view-gap-value) * var(--rs-view-gaps-count)) / var(--rs-view-columns-count) - var(--rs-view-item-gap, 0px))}._item--columns-1_mi21y_1{--rs-view-columns-count:12;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-1_mi21y_1,._item--columns-2_mi21y_1{width:calc((100% - var(--rs-view-gap-value) * var(--rs-view-gaps-count)) / var(--rs-view-columns-count) - var(--rs-view-item-gap, 0px))}._item--columns-2_mi21y_1{--rs-view-columns-count:6;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-3_mi21y_1{--rs-view-columns-count:4;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-3_mi21y_1,._item--columns-4_mi21y_1{width:calc((100% - var(--rs-view-gap-value) * var(--rs-view-gaps-count)) / var(--rs-view-columns-count) - var(--rs-view-item-gap, 0px))}._item--columns-4_mi21y_1{--rs-view-columns-count:3;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-5_mi21y_1{--rs-view-columns-count:calc(12 / 5);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-5_mi21y_1,._item--columns-6_mi21y_1{width:calc((100% - var(--rs-view-gap-value) * var(--rs-view-gaps-count)) / var(--rs-view-columns-count) - var(--rs-view-item-gap, 0px))}._item--columns-6_mi21y_1{--rs-view-columns-count:2;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-7_mi21y_1{--rs-view-columns-count:calc(12 / 7);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-7_mi21y_1,._item--columns-8_mi21y_1{width:calc((100% - var(--rs-view-gap-value) * var(--rs-view-gaps-count)) / var(--rs-view-columns-count) - var(--rs-view-item-gap, 0px))}._item--columns-8_mi21y_1{--rs-view-columns-count:1.5;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-9_mi21y_1{--rs-view-columns-count:calc(12 / 9);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-10_mi21y_1,._item--columns-9_mi21y_1{width:calc((100% - var(--rs-view-gap-value) * var(--rs-view-gaps-count)) / var(--rs-view-columns-count) - var(--rs-view-item-gap, 0px))}._item--columns-10_mi21y_1{--rs-view-columns-count:calc(12 / 10);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-11_mi21y_1{--rs-view-columns-count:calc(12 / 11);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-11_mi21y_1,._item--columns-12_mi21y_1{width:calc((100% - var(--rs-view-gap-value) * var(--rs-view-gaps-count)) / var(--rs-view-columns-count) - var(--rs-view-item-gap, 0px))}._item--columns-12_mi21y_1{--rs-view-columns-count:1;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-auto_mi21y_1{width:auto}@media (min-width:660px){._item--columns-1--m_mi21y_1{--rs-view-columns-count:12;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-2--m_mi21y_1{--rs-view-columns-count:6;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-3--m_mi21y_1{--rs-view-columns-count:4;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-4--m_mi21y_1{--rs-view-columns-count:3;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-5--m_mi21y_1{--rs-view-columns-count:calc(12 / 5);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-6--m_mi21y_1{--rs-view-columns-count:2;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-7--m_mi21y_1{--rs-view-columns-count:calc(12 / 7);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-8--m_mi21y_1{--rs-view-columns-count:1.5;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-9--m_mi21y_1{--rs-view-columns-count:calc(12 / 9);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-10--m_mi21y_1{--rs-view-columns-count:calc(12 / 10);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-11--m_mi21y_1{--rs-view-columns-count:calc(12 / 11);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-12--m_mi21y_1{--rs-view-columns-count:1;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-auto--m_mi21y_1{width:auto}}@media (min-width:900px){._item--columns-1--l_mi21y_1{--rs-view-columns-count:12;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-2--l_mi21y_1{--rs-view-columns-count:6;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-3--l_mi21y_1{--rs-view-columns-count:4;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-4--l_mi21y_1{--rs-view-columns-count:3;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-5--l_mi21y_1{--rs-view-columns-count:calc(12 / 5);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-6--l_mi21y_1{--rs-view-columns-count:2;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-7--l_mi21y_1{--rs-view-columns-count:calc(12 / 7);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-8--l_mi21y_1{--rs-view-columns-count:1.5;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-9--l_mi21y_1{--rs-view-columns-count:calc(12 / 9);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-10--l_mi21y_1{--rs-view-columns-count:calc(12 / 10);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-11--l_mi21y_1{--rs-view-columns-count:calc(12 / 11);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-12--l_mi21y_1{--rs-view-columns-count:1;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-auto--l_mi21y_1{width:auto}}@media (min-width:1280px){._item--columns-1--xl_mi21y_1{--rs-view-columns-count:12;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-2--xl_mi21y_1{--rs-view-columns-count:6;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-3--xl_mi21y_1{--rs-view-columns-count:4;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-4--xl_mi21y_1{--rs-view-columns-count:3;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-5--xl_mi21y_1{--rs-view-columns-count:calc(12 / 5);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-6--xl_mi21y_1{--rs-view-columns-count:2;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-7--xl_mi21y_1{--rs-view-columns-count:calc(12 / 7);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-8--xl_mi21y_1{--rs-view-columns-count:1.5;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-9--xl_mi21y_1{--rs-view-columns-count:calc(12 / 9);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-10--xl_mi21y_1{--rs-view-columns-count:calc(12 / 10);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-11--xl_mi21y_1{--rs-view-columns-count:calc(12 / 11);--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-12--xl_mi21y_1{--rs-view-columns-count:1;--rs-view-gaps-count:calc((var(--rs-view-columns-count) - 1) * var(--rs-view-gaps-count-multiplier))}._item--columns-auto--xl_mi21y_1{width:auto}}._--padding_mi21y_1{--rs-view-p-vertical-s:0;--rs-view-p-vertical-m:var(--rs-view-p-vertical-s);--rs-view-p-vertical-l:var(--rs-view-p-vertical-m);--rs-view-p-vertical-xl:var(--rs-view-p-vertical-l);--rs-view-p-vertical:var(--rs-view-p-vertical-s);--rs-view-p-horizontal-s:0;--rs-view-p-horizontal-m:var(--rs-view-p-horizontal-s);--rs-view-p-horizontal-l:var(--rs-view-p-horizontal-m);--rs-view-p-horizontal-xl:var(--rs-view-p-horizontal-l);--rs-view-p-horizontal:var(--rs-view-p-horizontal-s)}._--padding-top_mi21y_1{--rs-view-p-top-s:0;--rs-view-p-top-m:var(--rs-view-p-top-s);--rs-view-p-top-l:var(--rs-view-p-top-m);--rs-view-p-top-xl:var(--rs-view-p-top-l);--rs-view-p-top:var(--rs-view-p-top-s)}._--padding-bottom_mi21y_1{--rs-view-p-bottom-s:0;--rs-view-p-bottom-m:var(--rs-view-p-bottom-s);--rs-view-p-bottom-l:var(--rs-view-p-bottom-m);--rs-view-p-bottom-xl:var(--rs-view-p-bottom-l);--rs-view-p-bottom:var(--rs-view-p-bottom-s)}._--padding-start_mi21y_1{--rs-view-p-start-s:0;--rs-view-p-start-m:var(--rs-view-p-start-s);--rs-view-p-start-l:var(--rs-view-p-start-m);--rs-view-p-start-xl:var(--rs-view-p-start-l);--rs-view-p-start:var(--rs-view-p-start-s)}._--padding-end_mi21y_1{--rs-view-p-end-s:0;--rs-view-p-end-m:var(--rs-view-p-end-s);--rs-view-p-end-l:var(--rs-view-p-end-m);--rs-view-p-end-xl:var(--rs-view-p-end-l);--rs-view-p-end:var(--rs-view-p-end-s)}._root_mi21y_1{--rs-view-gap-s:0;--rs-view-gap-m:var(--rs-view-gap-s);--rs-view-gap-l:var(--rs-view-gap-m);--rs-view-gap-xl:var(--rs-view-gap-l);--rs-view-gap:var(--rs-view-gap-s)}._root_mi21y_1>._item_mi21y_1{--rs-view-item-order-s:0;--rs-view-item-order-m:var(--rs-view-item-order-s);--rs-view-item-order-l:var(--rs-view-item-order-m);--rs-view-item-order-xl:var(--rs-view-item-order-l);--rs-view-item-order:var(--rs-view-item-order-s);--rs-view-item-gap-before-s:initial;--rs-view-item-gap-before-m:var(--rs-view-item-gap-before-s);--rs-view-item-gap-before-l:var(--rs-view-item-gap-before-m);--rs-view-item-gap-before-xl:var(--rs-view-item-gap-before-l);--rs-view-item-gap-before:var(--rs-view-item-gap-before-s)}@media (min-width:660px){._--direction-column--m_mi21y_1{flex-direction:column;flex-wrap:nowrap}._--direction-column--m_mi21y_1>._item--gap-before_mi21y_1{margin-top:var(--rs-view-item-gap)}._--direction-column--m_mi21y_1>._item--gap-auto_mi21y_1{margin-top:auto}._--direction-column-reverse--m_mi21y_1{flex-direction:column-reverse;flex-wrap:nowrap}._--direction-column-reverse--m_mi21y_1>._item--gap-before_mi21y_1{margin-top:var(--rs-view-item-gap)}._--direction-column-reverse--m_mi21y_1>._item--gap-auto_mi21y_1{margin-top:auto}._--direction-row--m_mi21y_1{align-items:flex-start;flex-direction:row;flex-wrap:wrap}._--direction-row--m_mi21y_1>._item--gap-before_mi21y_1{margin-inline-start:var(--rs-view-item-gap)}._--direction-row--m_mi21y_1>._item--gap-auto_mi21y_1{margin-inline-start:auto}._--direction-row--m_mi21y_1>button{width:auto!important}._--direction-row-reverse--m_mi21y_1{align-items:flex-start;flex-direction:row-reverse;flex-wrap:wrap}._--direction-row-reverse--m_mi21y_1>._item--gap-before_mi21y_1{margin-inline-start:var(--rs-view-item-gap)}._--direction-row-reverse--m_mi21y_1>._item--gap-auto_mi21y_1{margin-inline-start:auto}._--direction-row-reverse--m_mi21y_1>button{width:auto!important}._--align-start--m_mi21y_1{align-items:flex-start!important}._--align-end--m_mi21y_1{align-items:flex-end!important}._--align-center--m_mi21y_1{align-items:center!important}._--align-stretch--m_mi21y_1{align-items:stretch!important}._--align-baseline--m_mi21y_1{align-items:baseline!important}._--justify-start--m_mi21y_1{justify-content:flex-start}._--justify-end--m_mi21y_1{justify-content:flex-end}._--justify-center--m_mi21y_1{justify-content:center}._--justify-space-between--m_mi21y_1{justify-content:space-between}._item--grow-true--m_mi21y_1{flex-basis:0;flex-grow:1;flex-shrink:1;min-width:0}._item--grow-false--m_mi21y_1{flex-basis:auto;flex-grow:0;flex-shrink:0;min-width:auto}._--padding_mi21y_1{--rs-view-p-vertical:var(--rs-view-p-vertical-m);--rs-view-p-horizontal:var(--rs-view-p-horizontal-m)}._--padding-top_mi21y_1{--rs-view-p-top:var(--rs-view-p-top-m)}._--padding-bottom_mi21y_1{--rs-view-p-bottom:var(--rs-view-p-bottom-m)}._--padding-start_mi21y_1{--rs-view-p-start:var(--rs-view-p-start-m)}._--padding-end_mi21y_1{--rs-view-p-end:var(--rs-view-p-end-m)}._root_mi21y_1{--rs-view-gap:var(--rs-view-gap-m)}._root_mi21y_1>._item_mi21y_1{--rs-view-item-order:var(--rs-view-item-order-m);--rs-view-item-gap-before:var(--rs-view-item-gap-before-m)}}@media (min-width:900px){._--direction-column--l_mi21y_1{flex-direction:column;flex-wrap:nowrap}._--direction-column--l_mi21y_1>._item--gap-before_mi21y_1{margin-top:var(--rs-view-item-gap)}._--direction-column--l_mi21y_1>._item--gap-auto_mi21y_1{margin-top:auto}._--direction-column-reverse--l_mi21y_1{flex-direction:column-reverse;flex-wrap:nowrap}._--direction-column-reverse--l_mi21y_1>._item--gap-before_mi21y_1{margin-top:var(--rs-view-item-gap)}._--direction-column-reverse--l_mi21y_1>._item--gap-auto_mi21y_1{margin-top:auto}._--direction-row--l_mi21y_1{align-items:flex-start;flex-direction:row;flex-wrap:wrap}._--direction-row--l_mi21y_1>._item--gap-before_mi21y_1{margin-inline-start:var(--rs-view-item-gap)}._--direction-row--l_mi21y_1>._item--gap-auto_mi21y_1{margin-inline-start:auto}._--direction-row--l_mi21y_1>button{width:auto!important}._--direction-row-reverse--l_mi21y_1{align-items:flex-start;flex-direction:row-reverse;flex-wrap:wrap}._--direction-row-reverse--l_mi21y_1>._item--gap-before_mi21y_1{margin-inline-start:var(--rs-view-item-gap)}._--direction-row-reverse--l_mi21y_1>._item--gap-auto_mi21y_1{margin-inline-start:auto}._--direction-row-reverse--l_mi21y_1>button{width:auto!important}._--align-start--l_mi21y_1{align-items:flex-start!important}._--align-end--l_mi21y_1{align-items:flex-end!important}._--align-center--l_mi21y_1{align-items:center!important}._--align-stretch--l_mi21y_1{align-items:stretch!important}._--align-baseline--l_mi21y_1{align-items:baseline!important}._--justify-start--l_mi21y_1{justify-content:flex-start}._--justify-end--l_mi21y_1{justify-content:flex-end}._--justify-center--l_mi21y_1{justify-content:center}._--justify-space-between--l_mi21y_1{justify-content:space-between}._item--grow-true--l_mi21y_1{flex-basis:0;flex-grow:1;flex-shrink:1;min-width:0}._item--grow-false--l_mi21y_1{flex-basis:auto;flex-grow:0;flex-shrink:0;min-width:auto}._--padding_mi21y_1{--rs-view-p-vertical:var(--rs-view-p-vertical-l);--rs-view-p-horizontal:var(--rs-view-p-horizontal-l)}._--padding-top_mi21y_1{--rs-view-p-top:var(--rs-view-p-top-l)}._--padding-bottom_mi21y_1{--rs-view-p-bottom:var(--rs-view-p-bottom-l)}._--padding-start_mi21y_1{--rs-view-p-start:var(--rs-view-p-start-l)}._--padding-end_mi21y_1{--rs-view-p-end:var(--rs-view-p-end-l)}._root_mi21y_1{--rs-view-gap:var(--rs-view-gap-l)}._root_mi21y_1>._item_mi21y_1{--rs-view-item-order:var(--rs-view-item-order-l);--rs-view-item-gap-before:var(--rs-view-item-gap-before-l)}}@media (min-width:1280px){._--direction-column--xl_mi21y_1{flex-direction:column;flex-wrap:nowrap}._--direction-column--xl_mi21y_1>._item--gap-before_mi21y_1{margin-top:var(--rs-view-item-gap)}._--direction-column--xl_mi21y_1>._item--gap-auto_mi21y_1{margin-top:auto}._--direction-column-reverse--xl_mi21y_1{flex-direction:column-reverse;flex-wrap:nowrap}._--direction-column-reverse--xl_mi21y_1>._item--gap-before_mi21y_1{margin-top:var(--rs-view-item-gap)}._--direction-column-reverse--xl_mi21y_1>._item--gap-auto_mi21y_1{margin-top:auto}._--direction-row--xl_mi21y_1{align-items:flex-start;flex-direction:row;flex-wrap:wrap}._--direction-row--xl_mi21y_1>._item--gap-before_mi21y_1{margin-inline-start:var(--rs-view-item-gap)}._--direction-row--xl_mi21y_1>._item--gap-auto_mi21y_1{margin-inline-start:auto}._--direction-row--xl_mi21y_1>button{width:auto!important}._--direction-row-reverse--xl_mi21y_1{align-items:flex-start;flex-direction:row-reverse;flex-wrap:wrap}._--direction-row-reverse--xl_mi21y_1>._item--gap-before_mi21y_1{margin-inline-start:var(--rs-view-item-gap)}._--direction-row-reverse--xl_mi21y_1>._item--gap-auto_mi21y_1{margin-inline-start:auto}._--direction-row-reverse--xl_mi21y_1>button{width:auto!important}._--align-start--xl_mi21y_1{align-items:flex-start!important}._--align-end--xl_mi21y_1{align-items:flex-end!important}._--align-center--xl_mi21y_1{align-items:center!important}._--align-stretch--xl_mi21y_1{align-items:stretch!important}._--align-baseline--xl_mi21y_1{align-items:baseline!important}._--justify-start--xl_mi21y_1{justify-content:flex-start}._--justify-end--xl_mi21y_1{justify-content:flex-end}._--justify-center--xl_mi21y_1{justify-content:center}._--justify-space-between--xl_mi21y_1{justify-content:space-between}._item--grow-true--xl_mi21y_1{flex-basis:0;flex-grow:1;flex-shrink:1;min-width:0}._item--grow-false--xl_mi21y_1{flex-basis:auto;flex-grow:0;flex-shrink:0;min-width:auto}._--padding_mi21y_1{--rs-view-p-vertical:var(--rs-view-p-vertical-xl);--rs-view-p-horizontal:var(--rs-view-p-horizontal-xl)}._--padding-top_mi21y_1{--rs-view-p-top:var(--rs-view-p-top-xl)}._--padding-bottom_mi21y_1{--rs-view-p-bottom:var(--rs-view-p-bottom-xl)}._--padding-start_mi21y_1{--rs-view-p-start:var(--rs-view-p-start-xl)}._--padding-end_mi21y_1{--rs-view-p-end:var(--rs-view-p-end-xl)}._root_mi21y_1{--rs-view-gap:var(--rs-view-gap-xl)}._root_mi21y_1>._item_mi21y_1{--rs-view-item-order:var(--rs-view-item-order-xl);--rs-view-item-gap-before:var(--rs-view-item-gap-before-xl)}}._root_10063_1{border-radius:var(--rs-radius)}._--radius-none_10063_1{--rs-radius:0}._--radius-small_10063_1{--rs-radius:var(--rs-unit-radius-small)}._--radius-medium_10063_1{--rs-radius:var(--rs-unit-radius-medium)}._--radius-large_10063_1{--rs-radius:var(--rs-unit-radius-large)}._--radius-circular_10063_1{--rs-radius:9999px}@media (min-width:660px){._--radius-none--m_10063_1{--rs-radius:0}._--radius-small--m_10063_1{--rs-radius:var(--rs-unit-radius-small)}._--radius-medium--m_10063_1{--rs-radius:var(--rs-unit-radius-medium)}._--radius-large--m_10063_1{--rs-radius:var(--rs-unit-radius-large)}._--radius-circular--m_10063_1{--rs-radius:9999px}}@media (min-width:900px){._--radius-none--l_10063_1{--rs-radius:0}._--radius-small--l_10063_1{--rs-radius:var(--rs-unit-radius-small)}._--radius-medium--l_10063_1{--rs-radius:var(--rs-unit-radius-medium)}._--radius-large--l_10063_1{--rs-radius:var(--rs-unit-radius-large)}._--radius-circular--l_10063_1{--rs-radius:9999px}}@media (min-width:1280px){._--radius-none--xl_10063_1{--rs-radius:0}._--radius-small--xl_10063_1{--rs-radius:var(--rs-unit-radius-small)}._--radius-medium--xl_10063_1{--rs-radius:var(--rs-unit-radius-medium)}._--radius-large--xl_10063_1{--rs-radius:var(--rs-unit-radius-large)}._--radius-circular--xl_10063_1{--rs-radius:9999px}}._root_g5jwk_1{--rs-bleed-s:0;--rs-bleed-m:var(--rs-bleed-s);--rs-bleed-l:var(--rs-bleed-m);--rs-bleed-xl:var(--rs-bleed-l);--rs-bleed:var(--rs-bleed-s);margin-left:calc(var(--rs-unit-x1) * var(--rs-bleed) * -1);margin-right:calc(var(--rs-unit-x1) * var(--rs-bleed) * -1)}._--bleed_g5jwk_1{border-left-style:none!important;border-radius:0;border-right-style:none!important}@media (min-width:660px){._root_g5jwk_1{--rs-bleed:var(--rs-bleed-m)}._--bleed-true--m_g5jwk_1{border-left-style:none!important;border-radius:0;border-right-style:none!important}._--bleed-false--m_g5jwk_1{border-left-style:solid!important;border-radius:var(--rs-radius);border-right-style:solid!important}}@media (min-width:900px){._root_g5jwk_1{--rs-bleed:var(--rs-bleed-l)}._--bleed-true--l_g5jwk_1{border-left-style:none!important;border-radius:0;border-right-style:none!important}._--bleed-false--l_g5jwk_1{border-left-style:solid!important;border-radius:var(--rs-radius);border-right-style:solid!important}}@media (min-width:1280px){._root_g5jwk_1{--rs-bleed:var(--rs-bleed-xl)}._--bleed-true--xl_g5jwk_1{border-left-style:none!important;border-radius:0;border-right-style:none!important}._--bleed-false--xl_g5jwk_1{border-left-style:solid!important;border-radius:var(--rs-radius);border-right-style:solid!important}}._literal_feq05_1{width:var(--rs-w-s,auto)}._unit_feq05_1{width:calc(var(--rs-w-s) * var(--rs-unit-x1))}@media (min-width:660px){._literal--m_feq05_1{width:var(--rs-w-m)}._unit--m_feq05_1{width:calc(var(--rs-w-m) * var(--rs-unit-x1))}}@media (min-width:900px){._literal--l_feq05_1{width:var(--rs-w-l)}._unit--l_feq05_1{width:calc(var(--rs-w-l) * var(--rs-unit-x1))}}@media (min-width:1280px){._literal--xl_feq05_1{width:var(--rs-w-xl)}._unit--xl_feq05_1{width:calc(var(--rs-w-xl) * var(--rs-unit-x1))}}._literal_vx5jt_1,._unit_vx5jt_1{--rs-h-s:auto;--rs-h-m:var(--rs-h-s);--rs-h-l:var(--rs-h-m);--rs-h-xl:var(--rs-h-l);height:var(--rs-h)}._literal_vx5jt_1{--rs-h:var(--rs-h-s)}._unit_vx5jt_1{--rs-h:calc(var(--rs-h-s) * var(--rs-unit-x1))}@media (min-width:660px){._literal--m_vx5jt_1{--rs-h:var(--rs-h-m)}._unit--m_vx5jt_1{--rs-h:calc(var(--rs-h-m) * var(--rs-unit-x1))}}@media (min-width:900px){._literal--l_vx5jt_1{--rs-h:var(--rs-h-l)}._unit--l_vx5jt_1{--rs-h:calc(var(--rs-h-l) * var(--rs-unit-x1))}}@media (min-width:1280px){._literal--xl_vx5jt_1{--rs-h:var(--rs-h-xl)}._unit--xl_vx5jt_1{--rs-h:calc(var(--rs-h-xl) * var(--rs-unit-x1))}}._literal_7zdst_1{max-width:var(--rs-max-w-s,auto)}._unit_7zdst_1{max-width:calc(var(--rs-max-w-s) * var(--rs-unit-x1))}@media (min-width:660px){._literal--m_7zdst_1{max-width:var(--rs-max-w-m)}._unit--m_7zdst_1{max-width:calc(var(--rs-max-w-m) * var(--rs-unit-x1))}}@media (min-width:900px){._literal--l_7zdst_1{max-width:var(--rs-max-w-l)}._unit--l_7zdst_1{max-width:calc(var(--rs-max-w-l) * var(--rs-unit-x1))}}@media (min-width:1280px){._literal--xl_7zdst_1{max-width:var(--rs-max-w-xl)}._unit--xl_7zdst_1{max-width:calc(var(--rs-max-w-xl) * var(--rs-unit-x1))}}._literal_yqjjt_1{max-height:var(--rs-max-h-s,auto)}._unit_yqjjt_1{max-height:calc(var(--rs-max-h-s) * var(--rs-unit-x1))}@media (min-width:660px){._literal--m_yqjjt_1{max-height:var(--rs-max-h-m)}._unit--m_yqjjt_1{max-height:calc(var(--rs-max-h-m) * var(--rs-unit-x1))}}@media (min-width:900px){._literal--l_yqjjt_1{max-height:var(--rs-max-h-l)}._unit--l_yqjjt_1{max-height:calc(var(--rs-max-h-l) * var(--rs-unit-x1))}}@media (min-width:1280px){._literal--xl_yqjjt_1{max-height:var(--rs-max-h-xl)}._unit--xl_yqjjt_1{max-height:calc(var(--rs-max-h-xl) * var(--rs-unit-x1))}}._--position-static_j0cdp_1{position:static}._--position-relative_j0cdp_1{position:relative}._--position-absolute_j0cdp_1{position:absolute}._--position-fixed_j0cdp_1{position:fixed}._--position-sticky_j0cdp_1{position:sticky}@media (min-width:660px){._--position-static--m_j0cdp_1{position:static}._--position-relative--m_j0cdp_1{position:relative}._--position-absolute--m_j0cdp_1{position:absolute}._--position-fixed--m_j0cdp_1{position:fixed}._--position-sticky--m_j0cdp_1{position:sticky}}@media (min-width:900px){._--position-static--l_j0cdp_1{position:static}._--position-relative--l_j0cdp_1{position:relative}._--position-absolute--l_j0cdp_1{position:absolute}._--position-fixed--l_j0cdp_1{position:fixed}._--position-sticky--l_j0cdp_1{position:sticky}}@media (min-width:1280px){._--position-static--xl_j0cdp_1{position:static}._--position-relative--xl_j0cdp_1{position:relative}._--position-absolute--xl_j0cdp_1{position:absolute}._--position-fixed--xl_j0cdp_1{position:fixed}._--position-sticky--xl_j0cdp_1{position:sticky}}._--inset_3h9cu_1{inset:calc(var(--rs-inset) * var(--rs-unit-x1))}._--inset-end_3h9cu_1{inset-inline-end:calc(var(--rs-inset-end) * var(--rs-unit-x1))}._--inset-start_3h9cu_1{inset-inline-start:calc(var(--rs-inset-start) * var(--rs-unit-x1))}._--inset-top_3h9cu_1{inset-block-start:calc(var(--rs-inset-top) * var(--rs-unit-x1))}._--inset-bottom_3h9cu_1{inset-block-end:calc(var(--rs-inset-bottom) * var(--rs-unit-x1))}._--inset_3h9cu_1{--rs-inset-s:0;--rs-inset-m:var(--rs-inset-s);--rs-inset-l:var(--rs-inset-m);--rs-inset-xl:var(--rs-inset-l);--rs-inset:var(--rs-inset-s)}._--inset-end_3h9cu_1{--rs-inset-end-s:0;--rs-inset-end-m:var(--rs-inset-end-s);--rs-inset-end-l:var(--rs-inset-end-m);--rs-inset-end-xl:var(--rs-inset-end-l);--rs-inset-end:var(--rs-inset-end-s)}._--inset-start_3h9cu_1{--rs-inset-start-s:0;--rs-inset-start-m:var(--rs-inset-start-s);--rs-inset-start-l:var(--rs-inset-start-m);--rs-inset-start-xl:var(--rs-inset-start-l);--rs-inset-start:var(--rs-inset-start-s)}._--inset-top_3h9cu_1{--rs-inset-top-s:0;--rs-inset-top-m:var(--rs-inset-top-s);--rs-inset-top-l:var(--rs-inset-top-m);--rs-inset-top-xl:var(--rs-inset-top-l);--rs-inset-top:var(--rs-inset-top-s)}._--inset-bottom_3h9cu_1{--rs-inset-bottom-s:0;--rs-inset-bottom-m:var(--rs-inset-bottom-s);--rs-inset-bottom-l:var(--rs-inset-bottom-m);--rs-inset-bottom-xl:var(--rs-inset-bottom-l);--rs-inset-bottom:var(--rs-inset-bottom-s)}@media (min-width:660px){._--inset-end--m_3h9cu_1{inset-inline-end:calc(var(--rs-inset-end) * var(--rs-unit-x1))}._--inset-start--m_3h9cu_1{inset-inline-start:calc(var(--rs-inset-start) * var(--rs-unit-x1))}._--inset-top--m_3h9cu_1{inset-block-start:calc(var(--rs-inset-top) * var(--rs-unit-x1))}._--inset-bottom--m_3h9cu_1{inset-block-end:calc(var(--rs-inset-bottom) * var(--rs-unit-x1))}._--inset_3h9cu_1{--rs-inset:var(--rs-inset-m)}._--inset-end_3h9cu_1{--rs-inset-end:var(--rs-inset-end-m)}._--inset-start_3h9cu_1{--rs-inset-start:var(--rs-inset-start-m)}._--inset-top_3h9cu_1{--rs-inset-top:var(--rs-inset-top-m)}._--inset-bottom_3h9cu_1{--rs-inset-bottom:var(--rs-inset-bottom-m)}}@media (min-width:900px){._--inset-end--l_3h9cu_1{inset-inline-end:calc(var(--rs-inset-end) * var(--rs-unit-x1))}._--inset-start--l_3h9cu_1{inset-inline-start:calc(var(--rs-inset-start) * var(--rs-unit-x1))}._--inset-top--l_3h9cu_1{inset-block-start:calc(var(--rs-inset-top) * var(--rs-unit-x1))}._--inset-bottom--l_3h9cu_1{inset-block-end:calc(var(--rs-inset-bottom) * var(--rs-unit-x1))}._--inset_3h9cu_1{--rs-inset:var(--rs-inset-l)}._--inset-end_3h9cu_1{--rs-inset-end:var(--rs-inset-end-l)}._--inset-start_3h9cu_1{--rs-inset-start:var(--rs-inset-start-l)}._--inset-top_3h9cu_1{--rs-inset-top:var(--rs-inset-top-l)}._--inset-bottom_3h9cu_1{--rs-inset-bottom:var(--rs-inset-bottom-l)}}@media (min-width:1280px){._--inset-end--xl_3h9cu_1{inset-inline-end:calc(var(--rs-inset-end) * var(--rs-unit-x1))}._--inset-start--xl_3h9cu_1{inset-inline-start:calc(var(--rs-inset-start) * var(--rs-unit-x1))}._--inset-top--xl_3h9cu_1{inset-block-start:calc(var(--rs-inset-top) * var(--rs-unit-x1))}._--inset-bottom--xl_3h9cu_1{inset-block-end:calc(var(--rs-inset-bottom) * var(--rs-unit-x1))}._--inset_3h9cu_1{--rs-inset:var(--rs-inset-xl)}._--inset-end_3h9cu_1{--rs-inset-end:var(--rs-inset-end-xl)}._--inset-start_3h9cu_1{--rs-inset-start:var(--rs-inset-start-xl)}._--inset-top_3h9cu_1{--rs-inset-top:var(--rs-inset-top-xl)}._--inset-bottom_3h9cu_1{--rs-inset-bottom:var(--rs-inset-bottom-xl)}}._root_1hagr_1:empty,._root_1hagr_1:not(:empty)>*{aspect-ratio:var(--rs-ratio)}._root_1hagr_1>img{-o-object-fit:cover;object-fit:cover}._root_1hagr_1{--rs-ratio-s:0;--rs-ratio-m:var(--rs-ratio-s);--rs-ratio-l:var(--rs-ratio-m);--rs-ratio-xl:var(--rs-ratio-l);--rs-ratio:var(--rs-ratio-s)}@media (min-width:660px){._root_1hagr_1{--rs-ratio:var(--rs-ratio-m)}}@media (min-width:900px){._root_1hagr_1{--rs-ratio:var(--rs-ratio-l)}}@media (min-width:1280px){._root_1hagr_1{--rs-ratio:var(--rs-ratio-xl)}}._root_p4nta_1{aspect-ratio:1;display:flex;justify-content:center}._--auto_p4nta_1{aspect-ratio:auto;justify-content:flex-start;width:auto}._root_p4nta_1 svg{display:block;height:100%;min-width:100%}._--color-neutral_p4nta_1{color:var(--rs-color-foreground-neutral)}._--color-neutral-faded_p4nta_1{color:var(--rs-color-foreground-neutral-faded)}._--color-primary_p4nta_1{color:var(--rs-color-foreground-primary)}._--color-positive_p4nta_1{color:var(--rs-color-foreground-positive)}._--color-critical_p4nta_1{color:var(--rs-color-foreground-critical)}._--color-disabled_p4nta_1{color:var(--rs-color-foreground-disabled)}._icon_a6tn0_1{transition:transform var(--rs-duration-fast) var(--rs-easing-standard)}._icon--active_a6tn0_1{transform:rotate(180deg)}._root_19syn_1{height:0;overflow:hidden}._root_19syn_1._--animated_19syn_1{transition:height var(--rs-duration-slow) var(--rs-easing-standard)}._root_18fh4_1{background:var(--rs-color-background-elevation-base);position:relative}._--position-bottom_18fh4_1{border-top:1px solid var(--rs-color-border-neutral-faded)}._--position-top_18fh4_1{border-bottom:1px solid var(--rs-color-border-neutral-faded)}._--elevated_18fh4_1{background-color:var(--rs-color-background-elevation-raised);border:none;overflow-x:clip}._--elevated_18fh4_1:after{bottom:0;box-shadow:var(--rs-shadow-raised);content:"";display:block;height:100%;left:0;position:absolute;right:0}._--position-bottom_18fh4_1._--elevated_18fh4_1:after{transform:rotateX(180deg)}._root_79hj7_1{transition:color var(--rs-duration-fast) var(--rs-easing-standard)}._--clamp_79hj7_1{-webkit-box-orient:vertical;-webkit-line-clamp:var(--rs-text-lines);display:-webkit-box;overflow:hidden}._--align-start_79hj7_1{text-align:start}._--align-center_79hj7_1{text-align:center}._--align-end_79hj7_1{text-align:end}._--variant-title-1_79hj7_1{font-family:var(--rs-font-family-title-1);font-size:var(--rs-font-size-title-1);font-weight:var(--rs-font-weight-title-1);line-height:var(--rs-line-height-title-1)}._--variant-title-2_79hj7_1{font-family:var(--rs-font-family-title-2);font-size:var(--rs-font-size-title-2);font-weight:var(--rs-font-weight-title-2);line-height:var(--rs-line-height-title-2)}._--variant-title-3_79hj7_1{font-family:var(--rs-font-family-title-3);font-size:var(--rs-font-size-title-3);font-weight:var(--rs-font-weight-title-3);line-height:var(--rs-line-height-title-3)}._--variant-title-4_79hj7_1{font-family:var(--rs-font-family-title-4);font-size:var(--rs-font-size-title-4);font-weight:var(--rs-font-weight-title-4);line-height:var(--rs-line-height-title-4)}._--variant-title-5_79hj7_1{font-family:var(--rs-font-family-title-5);font-size:var(--rs-font-size-title-5);font-weight:var(--rs-font-weight-title-5);line-height:var(--rs-line-height-title-5)}._--variant-title-6_79hj7_1{font-family:var(--rs-font-family-title-6);font-size:var(--rs-font-size-title-6);font-weight:var(--rs-font-weight-title-6);line-height:var(--rs-line-height-title-6)}._--variant-featured-1_79hj7_1{font-family:var(--rs-font-family-featured-1);font-size:var(--rs-font-size-featured-1);font-weight:var(--rs-font-weight-featured-1);line-height:var(--rs-line-height-featured-1)}._--variant-featured-2_79hj7_1{font-family:var(--rs-font-family-featured-2);font-size:var(--rs-font-size-featured-2);font-weight:var(--rs-font-weight-featured-2);line-height:var(--rs-line-height-featured-2)}._--variant-featured-3_79hj7_1{font-family:var(--rs-font-family-featured-3);font-size:var(--rs-font-size-featured-3);font-weight:var(--rs-font-weight-featured-3);line-height:var(--rs-line-height-featured-3)}._--variant-body-1_79hj7_1{font-family:var(--rs-font-family-body-1);font-size:var(--rs-font-size-body-1);font-weight:var(--rs-font-weight-body-1);line-height:var(--rs-line-height-body-1)}._--variant-body-2_79hj7_1{font-family:var(--rs-font-family-body-2);font-size:var(--rs-font-size-body-2);font-weight:var(--rs-font-weight-body-2);line-height:var(--rs-line-height-body-2)}._--variant-body-3_79hj7_1{font-family:var(--rs-font-family-body-3);font-size:var(--rs-font-size-body-3);font-weight:var(--rs-font-weight-body-3);line-height:var(--rs-line-height-body-3)}._--variant-caption-1_79hj7_1{font-family:var(--rs-font-family-caption-1);font-size:var(--rs-font-size-caption-1);font-weight:var(--rs-font-weight-caption-1);line-height:var(--rs-line-height-caption-1)}._--variant-caption-2_79hj7_1{font-family:var(--rs-font-family-caption-2);font-size:var(--rs-font-size-caption-2);font-weight:var(--rs-font-weight-caption-2);line-height:var(--rs-line-height-caption-2)}._--weight-regular_79hj7_1{font-weight:var(--rs-font-weight-regular)!important}._--weight-medium_79hj7_1{font-weight:var(--rs-font-weight-medium)!important}._--weight-bold_79hj7_1{font-weight:var(--rs-font-weight-bold)!important}._--color-neutral_79hj7_1{color:var(--rs-color-foreground-neutral)}._--color-neutral-faded_79hj7_1{color:var(--rs-color-foreground-neutral-faded)}._--color-primary_79hj7_1{color:var(--rs-color-foreground-primary)}._--color-positive_79hj7_1{color:var(--rs-color-foreground-positive)}._--color-critical_79hj7_1{color:var(--rs-color-foreground-critical)}._--color-disabled_79hj7_1{color:var(--rs-color-foreground-disabled)}._--decoration-line-through_79hj7_1{text-decoration:line-through}@media (min-width:660px){._--align-start--m_79hj7_1{text-align:start}._--align-center--m_79hj7_1{text-align:center}._--align-end--m_79hj7_1{text-align:end}._--variant-title-1--m_79hj7_1{font-family:var(--rs-font-family-title-1);font-size:var(--rs-font-size-title-1);font-weight:var(--rs-font-weight-title-1);line-height:var(--rs-line-height-title-1)}._--variant-title-2--m_79hj7_1{font-family:var(--rs-font-family-title-2);font-size:var(--rs-font-size-title-2);font-weight:var(--rs-font-weight-title-2);line-height:var(--rs-line-height-title-2)}._--variant-title-3--m_79hj7_1{font-family:var(--rs-font-family-title-3);font-size:var(--rs-font-size-title-3);font-weight:var(--rs-font-weight-title-3);line-height:var(--rs-line-height-title-3)}._--variant-title-4--m_79hj7_1{font-family:var(--rs-font-family-title-4);font-size:var(--rs-font-size-title-4);font-weight:var(--rs-font-weight-title-4);line-height:var(--rs-line-height-title-4)}._--variant-title-5--m_79hj7_1{font-family:var(--rs-font-family-title-5);font-size:var(--rs-font-size-title-5);font-weight:var(--rs-font-weight-title-5);line-height:var(--rs-line-height-title-5)}._--variant-title-6--m_79hj7_1{font-family:var(--rs-font-family-title-6);font-size:var(--rs-font-size-title-6);font-weight:var(--rs-font-weight-title-6);line-height:var(--rs-line-height-title-6)}._--variant-featured-1--m_79hj7_1{font-family:var(--rs-font-family-featured-1);font-size:var(--rs-font-size-featured-1);font-weight:var(--rs-font-weight-featured-1);line-height:var(--rs-line-height-featured-1)}._--variant-featured-2--m_79hj7_1{font-family:var(--rs-font-family-featured-2);font-size:var(--rs-font-size-featured-2);font-weight:var(--rs-font-weight-featured-2);line-height:var(--rs-line-height-featured-2)}._--variant-featured-3--m_79hj7_1{font-family:var(--rs-font-family-featured-3);font-size:var(--rs-font-size-featured-3);font-weight:var(--rs-font-weight-featured-3);line-height:var(--rs-line-height-featured-3)}._--variant-body-1--m_79hj7_1{font-family:var(--rs-font-family-body-1);font-size:var(--rs-font-size-body-1);font-weight:var(--rs-font-weight-body-1);line-height:var(--rs-line-height-body-1)}._--variant-body-2--m_79hj7_1{font-family:var(--rs-font-family-body-2);font-size:var(--rs-font-size-body-2);font-weight:var(--rs-font-weight-body-2);line-height:var(--rs-line-height-body-2)}._--variant-body-3--m_79hj7_1{font-family:var(--rs-font-family-body-3);font-size:var(--rs-font-size-body-3);font-weight:var(--rs-font-weight-body-3);line-height:var(--rs-line-height-body-3)}._--variant-caption-1--m_79hj7_1{font-family:var(--rs-font-family-caption-1);font-size:var(--rs-font-size-caption-1);font-weight:var(--rs-font-weight-caption-1);line-height:var(--rs-line-height-caption-1)}._--variant-caption-2--m_79hj7_1{font-family:var(--rs-font-family-caption-2);font-size:var(--rs-font-size-caption-2);font-weight:var(--rs-font-weight-caption-2);line-height:var(--rs-line-height-caption-2)}}@media (min-width:900px){._--align-start--l_79hj7_1{text-align:start}._--align-center--l_79hj7_1{text-align:center}._--align-end--l_79hj7_1{text-align:end}._--variant-title-1--l_79hj7_1{font-family:var(--rs-font-family-title-1);font-size:var(--rs-font-size-title-1);font-weight:var(--rs-font-weight-title-1);line-height:var(--rs-line-height-title-1)}._--variant-title-2--l_79hj7_1{font-family:var(--rs-font-family-title-2);font-size:var(--rs-font-size-title-2);font-weight:var(--rs-font-weight-title-2);line-height:var(--rs-line-height-title-2)}._--variant-title-3--l_79hj7_1{font-family:var(--rs-font-family-title-3);font-size:var(--rs-font-size-title-3);font-weight:var(--rs-font-weight-title-3);line-height:var(--rs-line-height-title-3)}._--variant-title-4--l_79hj7_1{font-family:var(--rs-font-family-title-4);font-size:var(--rs-font-size-title-4);font-weight:var(--rs-font-weight-title-4);line-height:var(--rs-line-height-title-4)}._--variant-title-5--l_79hj7_1{font-family:var(--rs-font-family-title-5);font-size:var(--rs-font-size-title-5);font-weight:var(--rs-font-weight-title-5);line-height:var(--rs-line-height-title-5)}._--variant-title-6--l_79hj7_1{font-family:var(--rs-font-family-title-6);font-size:var(--rs-font-size-title-6);font-weight:var(--rs-font-weight-title-6);line-height:var(--rs-line-height-title-6)}._--variant-featured-1--l_79hj7_1{font-family:var(--rs-font-family-featured-1);font-size:var(--rs-font-size-featured-1);font-weight:var(--rs-font-weight-featured-1);line-height:var(--rs-line-height-featured-1)}._--variant-featured-2--l_79hj7_1{font-family:var(--rs-font-family-featured-2);font-size:var(--rs-font-size-featured-2);font-weight:var(--rs-font-weight-featured-2);line-height:var(--rs-line-height-featured-2)}._--variant-featured-3--l_79hj7_1{font-family:var(--rs-font-family-featured-3);font-size:var(--rs-font-size-featured-3);font-weight:var(--rs-font-weight-featured-3);line-height:var(--rs-line-height-featured-3)}._--variant-body-1--l_79hj7_1{font-family:var(--rs-font-family-body-1);font-size:var(--rs-font-size-body-1);font-weight:var(--rs-font-weight-body-1);line-height:var(--rs-line-height-body-1)}._--variant-body-2--l_79hj7_1{font-family:var(--rs-font-family-body-2);font-size:var(--rs-font-size-body-2);font-weight:var(--rs-font-weight-body-2);line-height:var(--rs-line-height-body-2)}._--variant-body-3--l_79hj7_1{font-family:var(--rs-font-family-body-3);font-size:var(--rs-font-size-body-3);font-weight:var(--rs-font-weight-body-3);line-height:var(--rs-line-height-body-3)}._--variant-caption-1--l_79hj7_1{font-family:var(--rs-font-family-caption-1);font-size:var(--rs-font-size-caption-1);font-weight:var(--rs-font-weight-caption-1);line-height:var(--rs-line-height-caption-1)}._--variant-caption-2--l_79hj7_1{font-family:var(--rs-font-family-caption-2);font-size:var(--rs-font-size-caption-2);font-weight:var(--rs-font-weight-caption-2);line-height:var(--rs-line-height-caption-2)}}@media (min-width:1280px){._--align-start--xl_79hj7_1{text-align:start}._--align-center--xl_79hj7_1{text-align:center}._--align-end--xl_79hj7_1{text-align:end}._--variant-title-1--xl_79hj7_1{font-family:var(--rs-font-family-title-1);font-size:var(--rs-font-size-title-1);font-weight:var(--rs-font-weight-title-1);line-height:var(--rs-line-height-title-1)}._--variant-title-2--xl_79hj7_1{font-family:var(--rs-font-family-title-2);font-size:var(--rs-font-size-title-2);font-weight:var(--rs-font-weight-title-2);line-height:var(--rs-line-height-title-2)}._--variant-title-3--xl_79hj7_1{font-family:var(--rs-font-family-title-3);font-size:var(--rs-font-size-title-3);font-weight:var(--rs-font-weight-title-3);line-height:var(--rs-line-height-title-3)}._--variant-title-4--xl_79hj7_1{font-family:var(--rs-font-family-title-4);font-size:var(--rs-font-size-title-4);font-weight:var(--rs-font-weight-title-4);line-height:var(--rs-line-height-title-4)}._--variant-title-5--xl_79hj7_1{font-family:var(--rs-font-family-title-5);font-size:var(--rs-font-size-title-5);font-weight:var(--rs-font-weight-title-5);line-height:var(--rs-line-height-title-5)}._--variant-title-6--xl_79hj7_1{font-family:var(--rs-font-family-title-6);font-size:var(--rs-font-size-title-6);font-weight:var(--rs-font-weight-title-6);line-height:var(--rs-line-height-title-6)}._--variant-featured-1--xl_79hj7_1{font-family:var(--rs-font-family-featured-1);font-size:var(--rs-font-size-featured-1);font-weight:var(--rs-font-weight-featured-1);line-height:var(--rs-line-height-featured-1)}._--variant-featured-2--xl_79hj7_1{font-family:var(--rs-font-family-featured-2);font-size:var(--rs-font-size-featured-2);font-weight:var(--rs-font-weight-featured-2);line-height:var(--rs-line-height-featured-2)}._--variant-featured-3--xl_79hj7_1{font-family:var(--rs-font-family-featured-3);font-size:var(--rs-font-size-featured-3);font-weight:var(--rs-font-weight-featured-3);line-height:var(--rs-line-height-featured-3)}._--variant-body-1--xl_79hj7_1{font-family:var(--rs-font-family-body-1);font-size:var(--rs-font-size-body-1);font-weight:var(--rs-font-weight-body-1);line-height:var(--rs-line-height-body-1)}._--variant-body-2--xl_79hj7_1{font-family:var(--rs-font-family-body-2);font-size:var(--rs-font-size-body-2);font-weight:var(--rs-font-weight-body-2);line-height:var(--rs-line-height-body-2)}._--variant-body-3--xl_79hj7_1{font-family:var(--rs-font-family-body-3);font-size:var(--rs-font-size-body-3);font-weight:var(--rs-font-weight-body-3);line-height:var(--rs-line-height-body-3)}._--variant-caption-1--xl_79hj7_1{font-family:var(--rs-font-family-caption-1);font-size:var(--rs-font-size-caption-1);font-weight:var(--rs-font-weight-caption-1);line-height:var(--rs-line-height-caption-1)}._--variant-caption-2--xl_79hj7_1{font-family:var(--rs-font-family-caption-2);font-size:var(--rs-font-size-caption-2);font-weight:var(--rs-font-weight-caption-2);line-height:var(--rs-line-height-caption-2)}}._root_1i3ho_1{border:none}._label_1i3ho_1{display:block;margin-bottom:var(--rs-unit-x1)}._caption_1i3ho_1{display:block;margin-top:var(--rs-unit-x1)}._caption_1i3ho_1+._caption_1i3ho_1{margin-top:0}._root_ovu5c_1 [data-rs-aligner-target]{--rs-aligner-p-h:var(--rs-p-h,var(--rs-p));--rs-aligner-p-v:var(--rs-p-v,var(--rs-p))}._root_ovu5c_1._--side-all_ovu5c_1 [data-rs-aligner-target]{margin:calc(var(--rs-aligner-p-v) * -1) calc(var(--rs-aligner-p-h) * -1)}._root_ovu5c_1._--side-inline_ovu5c_1 [data-rs-aligner-target],._root_ovu5c_1._--side-start_ovu5c_1 [data-rs-aligner-target]{margin-inline-start:calc(var(--rs-aligner-p-h) * -1)}._root_ovu5c_1._--side-end_ovu5c_1 [data-rs-aligner-target],._root_ovu5c_1._--side-inline_ovu5c_1 [data-rs-aligner-target]{margin-inline-end:calc(var(--rs-aligner-p-h) * -1)}._root_ovu5c_1._--side-block_ovu5c_1 [data-rs-aligner-target],._root_ovu5c_1._--side-top_ovu5c_1 [data-rs-aligner-target]{margin-block-start:calc(var(--rs-aligner-p-v) * -1)}._root_ovu5c_1._--side-block_ovu5c_1 [data-rs-aligner-target],._root_ovu5c_1._--side-bottom_ovu5c_1 [data-rs-aligner-target]{margin-block-end:calc(var(--rs-aligner-p-v) * -1)}._root_1iu93_1{--rs-p-v:var(--rs-unit-x1);--rs-p-h:var(--rs-text-field-gap);background:var(--rs-color-background-elevation-base);border:1px solid var(--rs-color-border-neutral);display:flex;overflow:hidden;padding:calc(var(--rs-p-v) - 1px) 0;position:relative;z-index:0}._root_1iu93_1:focus-within{border-color:var(--rs-color-border-primary);box-shadow:0 0 0 1px var(--rs-color-border-primary)}._input_1iu93_1{background:none;border:none;box-sizing:border-box;color:var(--rs-color-foreground-neutral);flex-grow:1;font-family:var(--rs-font-family-body);font-weight:var(--rs-font-weight-regular);margin:calc(var(--rs-unit-x1) * -1) 0;outline:none;padding:0 var(--rs-text-field-gap);position:relative;width:100%;z-index:1}._input_1iu93_1:-webkit-autofill{-webkit-text-fill-color:var(--rs-color-foreground-neutral);-webkit-background-clip:text}._affix_1iu93_1,._icon_1iu93_1,._slot_1iu93_1{align-items:center;display:flex;flex-shrink:0;position:relative;z-index:5}._icon_1iu93_1{pointer-events:none}._affix_1iu93_1{color:var(--rs-color-foreground-neutral-faded)}._attachment_1iu93_1{align-items:center;display:flex;flex-shrink:0}._attachment--position-start_1iu93_1{gap:var(--rs-text-field-gap);padding-inline-start:var(--rs-text-field-gap)}._attachment--position-start_1iu93_1 ._affix_1iu93_1{border-inline-end:1px solid var(--rs-color-border-neutral-faded);padding-inline-end:var(--rs-text-field-gap)}._attachment--position-end_1iu93_1{gap:var(--rs-unit-x1);padding-inline-end:var(--rs-unit-x1)}._attachment--position-end_1iu93_1 ._affix_1iu93_1,._attachment--position-end_1iu93_1 ._icon_1iu93_1{padding-inline-end:calc(var(--rs-text-field-gap) - var(--rs-unit-x1))}._attachment--position-end_1iu93_1 ._affix_1iu93_1{border-inline-start:1px solid var(--rs-color-border-neutral-faded);padding-inline-start:var(--rs-text-field-gap)}._root_1iu93_1._--disabled_1iu93_1{background:var(--rs-color-background-disabled-faded);border-color:var(--rs-color-border-disabled)}._root_1iu93_1._--disabled_1iu93_1,._root_1iu93_1._--disabled_1iu93_1 ._input_1iu93_1{color:var(--rs-color-foreground-disabled);cursor:not-allowed}._--size-medium_1iu93_1{--rs-text-field-gap:var(--rs-unit-x2);border-radius:var(--rs-unit-radius-small)}._--size-medium_1iu93_1 ._input_1iu93_1{padding-bottom:var(--rs-unit-x2);padding-top:var(--rs-unit-x2)}._--size-medium_1iu93_1 ._affix_1iu93_1,._--size-medium_1iu93_1 ._input_1iu93_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3)}._--size-large_1iu93_1{--rs-text-field-gap:var(--rs-unit-x3);border-radius:var(--rs-unit-radius-medium)}._--size-large_1iu93_1 ._input_1iu93_1{padding-bottom:var(--rs-unit-x3);padding-top:var(--rs-unit-x3)}._--size-large_1iu93_1 ._affix_1iu93_1,._--size-large_1iu93_1 ._input_1iu93_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}._--size-xlarge_1iu93_1{--rs-text-field-gap:var(--rs-unit-x4);border-radius:var(--rs-unit-radius-medium)}._--size-xlarge_1iu93_1 ._input_1iu93_1{padding-bottom:var(--rs-unit-x4);padding-top:var(--rs-unit-x4)}._--size-xlarge_1iu93_1 ._affix_1iu93_1,._--size-xlarge_1iu93_1 ._input_1iu93_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}._root_1iu93_1._--variant-faded_1iu93_1{background:var(--rs-color-background-neutral-faded);border-color:transparent}._root_1iu93_1._--variant-faded_1iu93_1:focus-within{border-color:var(--rs-color-border-primary)}._root_1iu93_1._--variant-headless_1iu93_1{background:transparent;border-color:transparent}._root_1iu93_1._--variant-headless_1iu93_1._--status-error_1iu93_1,._root_1iu93_1._--variant-headless_1iu93_1._--status-error_1iu93_1:focus-within,._root_1iu93_1._--variant-headless_1iu93_1:focus-within{border-color:transparent;box-shadow:none}._root_1iu93_1._--status-error_1iu93_1{border-color:var(--rs-color-border-critical)}._root_1iu93_1._--status-error_1iu93_1:focus-within{border-color:var(--rs-color-border-primary)}@media (max-width:659px) and (hover:none){._input_1iu93_1{font-size:var(--rs-font-size-body-2)!important}}@media (min-width:660px){._--size-medium--m_1iu93_1{--rs-text-field-gap:var(--rs-unit-x2);border-radius:var(--rs-unit-radius-small)}._--size-medium--m_1iu93_1 ._input_1iu93_1{padding-bottom:var(--rs-unit-x2);padding-top:var(--rs-unit-x2)}._--size-medium--m_1iu93_1 ._affix_1iu93_1,._--size-medium--m_1iu93_1 ._input_1iu93_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3)}._--size-large--m_1iu93_1{--rs-text-field-gap:var(--rs-unit-x3);border-radius:var(--rs-unit-radius-medium)}._--size-large--m_1iu93_1 ._input_1iu93_1{padding-bottom:var(--rs-unit-x3);padding-top:var(--rs-unit-x3)}._--size-large--m_1iu93_1 ._affix_1iu93_1,._--size-large--m_1iu93_1 ._input_1iu93_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}._--size-xlarge--m_1iu93_1{--rs-text-field-gap:var(--rs-unit-x4);border-radius:var(--rs-unit-radius-medium)}._--size-xlarge--m_1iu93_1 ._input_1iu93_1{padding-bottom:var(--rs-unit-x4);padding-top:var(--rs-unit-x4)}._--size-xlarge--m_1iu93_1 ._affix_1iu93_1,._--size-xlarge--m_1iu93_1 ._input_1iu93_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}}@media (min-width:900px){._--size-medium--l_1iu93_1{--rs-text-field-gap:var(--rs-unit-x2);border-radius:var(--rs-unit-radius-small)}._--size-medium--l_1iu93_1 ._input_1iu93_1{padding-bottom:var(--rs-unit-x2);padding-top:var(--rs-unit-x2)}._--size-medium--l_1iu93_1 ._affix_1iu93_1,._--size-medium--l_1iu93_1 ._input_1iu93_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3)}._--size-large--l_1iu93_1{--rs-text-field-gap:var(--rs-unit-x3);border-radius:var(--rs-unit-radius-medium)}._--size-large--l_1iu93_1 ._input_1iu93_1{padding-bottom:var(--rs-unit-x3);padding-top:var(--rs-unit-x3)}._--size-large--l_1iu93_1 ._affix_1iu93_1,._--size-large--l_1iu93_1 ._input_1iu93_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}._--size-xlarge--l_1iu93_1{--rs-text-field-gap:var(--rs-unit-x4);border-radius:var(--rs-unit-radius-medium)}._--size-xlarge--l_1iu93_1 ._input_1iu93_1{padding-bottom:var(--rs-unit-x4);padding-top:var(--rs-unit-x4)}._--size-xlarge--l_1iu93_1 ._affix_1iu93_1,._--size-xlarge--l_1iu93_1 ._input_1iu93_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}}@media (min-width:1280px){._--size-medium--xl_1iu93_1{--rs-text-field-gap:var(--rs-unit-x2);border-radius:var(--rs-unit-radius-small)}._--size-medium--xl_1iu93_1 ._input_1iu93_1{padding-bottom:var(--rs-unit-x2);padding-top:var(--rs-unit-x2)}._--size-medium--xl_1iu93_1 ._affix_1iu93_1,._--size-medium--xl_1iu93_1 ._input_1iu93_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3)}._--size-large--xl_1iu93_1{--rs-text-field-gap:var(--rs-unit-x3);border-radius:var(--rs-unit-radius-medium)}._--size-large--xl_1iu93_1 ._input_1iu93_1{padding-bottom:var(--rs-unit-x3);padding-top:var(--rs-unit-x3)}._--size-large--xl_1iu93_1 ._affix_1iu93_1,._--size-large--xl_1iu93_1 ._input_1iu93_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}._--size-xlarge--xl_1iu93_1{--rs-text-field-gap:var(--rs-unit-x4);border-radius:var(--rs-unit-radius-medium)}._--size-xlarge--xl_1iu93_1 ._input_1iu93_1{padding-bottom:var(--rs-unit-x4);padding-top:var(--rs-unit-x4)}._--size-xlarge--xl_1iu93_1 ._affix_1iu93_1,._--size-xlarge--xl_1iu93_1 ._input_1iu93_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}}._root_1j8c4_1{--rs-focus-shadow:0 0 0 2px var(--rs-color-background-elevation-base),0 0 0 4px var(--rs-color-border-primary);--rs-focus-inset-shadow:inset 0 0 0 2px var(--rs-color-border-primary),inset 0 0 0 4px var(--rs-color-background-elevation-base);color:var(--rs-color-foreground-neutral)}._content_2oj3i_1{--rs-flyout-gap:2;--rs-flyout-origin-x:50%;--rs-flyout-origin-y:50%;position:absolute}._inner_2oj3i_1{opacity:0;transform:scale(.8) translateY(0);transform-origin:var(--rs-flyout-origin-x) var(--rs-flyout-origin-y)}._content_2oj3i_1._--width-trigger_2oj3i_1 ._inner_2oj3i_1{transform:scale(1) translateY(var(--rs-unit-x2))}._content_2oj3i_1._--position-top-end_2oj3i_1,._content_2oj3i_1._--position-top-start_2oj3i_1,._content_2oj3i_1._--position-top_2oj3i_1{--rs-flyout-origin-y:100%;padding-bottom:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}._content_2oj3i_1._--position-bottom-end_2oj3i_1,._content_2oj3i_1._--position-bottom-start_2oj3i_1,._content_2oj3i_1._--position-bottom_2oj3i_1{--rs-flyout-origin-y:0%;padding-top:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}._content_2oj3i_1._--position-bottom-start_2oj3i_1,._content_2oj3i_1._--position-top-start_2oj3i_1{--rs-flyout-origin-x:0%}._content_2oj3i_1._--position-bottom-end_2oj3i_1,._content_2oj3i_1._--position-top-end_2oj3i_1{--rs-flyout-origin-x:100%}._content_2oj3i_1._--position-start-bottom_2oj3i_1,._content_2oj3i_1._--position-start-top_2oj3i_1,._content_2oj3i_1._--position-start_2oj3i_1{--rs-flyout-origin-x:100%;padding-right:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}._content_2oj3i_1._--position-end-bottom_2oj3i_1,._content_2oj3i_1._--position-end-top_2oj3i_1,._content_2oj3i_1._--position-end_2oj3i_1{--rs-flyout-origin-x:0%;padding-left:calc(var(--rs-unit-x1) * var(--rs-flyout-gap))}._content_2oj3i_1._--position-end-top_2oj3i_1,._content_2oj3i_1._--position-start-top_2oj3i_1{--rs-flyout-origin-y:0%}._content_2oj3i_1._--position-end-bottom_2oj3i_1,._content_2oj3i_1._--position-start-bottom_2oj3i_1{--rs-flyout-origin-y:100%}._content_2oj3i_1._--visible_2oj3i_1 ._inner_2oj3i_1{opacity:1;transform:scale(1) translateY(0)}._content_2oj3i_1._--animated_2oj3i_1 ._inner_2oj3i_1{transition:var(--rs-duration-fast) var(--rs-easing-accelerate);transition-property:opacity,transform}._content_2oj3i_1._--animated_2oj3i_1._--visible_2oj3i_1 ._inner_2oj3i_1{transition-timing-function:var(--rs-easing-decelerate)}._content_pbxig_1{max-width:360px}._content--variant-elevated_pbxig_1{background:var(--rs-color-background-elevation-overlay);border:1px solid var(--rs-color-border-neutral-faded);border-radius:var(--rs-unit-radius-medium);box-shadow:var(--rs-shadow-overlay);color:var(--rs-color-foreground-neutral);min-width:220px;overflow:hidden}._content_pbxig_1._content--has-width_pbxig_1{max-width:none;min-width:0}@media (max-width:659px){._content_pbxig_1{max-width:none}}._root_dn36s_1{--rs-p-s:0;--rs-p-m:var(--rs-p-s);--rs-p-l:var(--rs-p-m);--rs-p-xl:var(--rs-p-l);--rs-p:var(--rs-p-s);padding:calc(var(--rs-p) * var(--rs-unit-x1))}@media (min-width:660px){._root_dn36s_1{--rs-p:var(--rs-p-m)}}@media (min-width:900px){._root_dn36s_1{--rs-p:var(--rs-p-l)}}@media (min-width:1280px){._root_dn36s_1{--rs-p:var(--rs-p-xl)}}._root_13n2x_1{background-color:var(--rs-menu-item-bg-color);color:var(--rs-menu-item-color);display:block;font-family:var(--rs-font-family-body);font-weight:var(--rs-font-weight-medium);padding:var(--rs-p-v) var(--rs-p-h);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:background-color,transform,box-shadow}._icon_13n2x_1{color:var(--rs-menu-item-icon-color,inherit)}._content_13n2x_1,._icon_13n2x_1{transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:color}._--rounded-corners_13n2x_1{border-radius:var(--rs-menu-item-radius)}._--size-small_13n2x_1{--rs-p-v:var(--rs-unit-x1);--rs-p-h:var(--rs-unit-x2);--rs-menu-item-radius:var(--rs-unit-radius-small)}._--size-medium_13n2x_1,._--size-small_13n2x_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3)}._--size-medium_13n2x_1{--rs-p-v:var(--rs-unit-x2);--rs-p-h:var(--rs-unit-x3);--rs-menu-item-radius:var(--rs-unit-radius-medium)}._--size-large_13n2x_1{--rs-p-v:var(--rs-unit-x3);--rs-p-h:var(--rs-unit-x4);--rs-menu-item-radius:var(--rs-unit-radius-medium);font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}._--color-neutral_13n2x_1{--rs-menu-item-icon-color:var(--rs-color-foreground-neutral-faded)}._--color-neutral_13n2x_1._--selected_13n2x_1,._--color-neutral_13n2x_1:hover,._--color-neutral_13n2x_1[data-rs-focus]{--rs-menu-item-bg-color:rgba(var(--rs-color-rgb-background-neutral),40%)}._--color-critical_13n2x_1{--rs-menu-item-color:var(--rs-color-foreground-critical)}._--color-critical_13n2x_1._--selected_13n2x_1,._--color-critical_13n2x_1:hover,._--color-critical_13n2x_1[data-rs-focus]{--rs-menu-item-bg-color:rgba(var(--rs-color-rgb-background-critical),12%)}._--color-primary_13n2x_1{--rs-menu-item-icon-color:var(--rs-color-foreground-neutral-faded)}._--color-primary_13n2x_1:hover,._--color-primary_13n2x_1[data-rs-focus]{--rs-menu-item-bg-color:rgba(var(--rs-color-rgb-background-neutral),40%)}._--color-primary_13n2x_1._--selected_13n2x_1,._--color-primary_13n2x_1._--selected_13n2x_1:hover{--rs-menu-item-bg-color:rgba(var(--rs-color-rgb-background-primary),12%);--rs-menu-item-color:var(--rs-color-foreground-primary);--rs-menu-item-icon-color:var(--rs-color-foreground-primary)}._--selected_13n2x_1,._--selected_13n2x_1:hover{cursor:default}._--disabled_13n2x_1,._--disabled_13n2x_1:hover{--rs-menu-item-color:var(--rs-color-foreground-disabled);--rs-menu-item-bg-color:none;--rs-menu-item-icon-color:var(--rs-color-foreground-disabled)}button._root_13n2x_1{width:100%}._aligner_13n2x_1 button._root_13n2x_1{box-sizing:initial}@media (min-width:660px){._--rounded-corners-true--m_13n2x_1{border-radius:var(--rs-menu-item-radius)}._--rounded-corners-false--m_13n2x_1{border-radius:0}._--size-small--m_13n2x_1{--rs-p-v:var(--rs-unit-x1);--rs-p-h:var(--rs-unit-x2);--rs-menu-item-radius:var(--rs-unit-radius-small)}._--size-medium--m_13n2x_1,._--size-small--m_13n2x_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3)}._--size-medium--m_13n2x_1{--rs-p-v:var(--rs-unit-x2);--rs-p-h:var(--rs-unit-x3);--rs-menu-item-radius:var(--rs-unit-radius-medium)}._--size-large--m_13n2x_1{--rs-p-v:var(--rs-unit-x3);--rs-p-h:var(--rs-unit-x4);--rs-menu-item-radius:var(--rs-unit-radius-medium);font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}}@media (min-width:900px){._--rounded-corners-true--l_13n2x_1{border-radius:var(--rs-menu-item-radius)}._--rounded-corners-false--l_13n2x_1{border-radius:0}._--size-small--l_13n2x_1{--rs-p-v:var(--rs-unit-x1);--rs-p-h:var(--rs-unit-x2);--rs-menu-item-radius:var(--rs-unit-radius-small)}._--size-medium--l_13n2x_1,._--size-small--l_13n2x_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3)}._--size-medium--l_13n2x_1{--rs-p-v:var(--rs-unit-x2);--rs-p-h:var(--rs-unit-x3);--rs-menu-item-radius:var(--rs-unit-radius-medium)}._--size-large--l_13n2x_1{--rs-p-v:var(--rs-unit-x3);--rs-p-h:var(--rs-unit-x4);--rs-menu-item-radius:var(--rs-unit-radius-medium);font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}}@media (min-width:1280px){._--rounded-corners-true--xl_13n2x_1{border-radius:var(--rs-menu-item-radius)}._--rounded-corners-false--xl_13n2x_1{border-radius:0}._--size-small--xl_13n2x_1{--rs-p-v:var(--rs-unit-x1);--rs-p-h:var(--rs-unit-x2);--rs-menu-item-radius:var(--rs-unit-radius-small)}._--size-medium--xl_13n2x_1,._--size-small--xl_13n2x_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3)}._--size-medium--xl_13n2x_1{--rs-p-v:var(--rs-unit-x2);--rs-p-h:var(--rs-unit-x3);--rs-menu-item-radius:var(--rs-unit-radius-medium)}._--size-large--xl_13n2x_1{--rs-p-v:var(--rs-unit-x3);--rs-p-h:var(--rs-unit-x4);--rs-menu-item-radius:var(--rs-unit-radius-medium);font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}}._menu_aitez_1{padding:var(--rs-unit-x1)}._section_aitez_1+._section_aitez_1{border-top:1px solid var(--rs-color-border-neutral-faded);padding-top:var(--rs-unit-x1)}._item_aitez_1+._item_aitez_1,._section_aitez_1+._section_aitez_1{margin-top:var(--rs-unit-x1)}[dir=rtl] ._arrow_aitez_1{transform:scaleX(-1)}._root_1ke0d_1{align-items:center;aspect-ratio:1;display:flex;font-size:calc(var(--rs-h) / 3);font-weight:700;justify-content:center;line-height:100%}._img_1ke0d_1{border-radius:inherit;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}._--variant-faded_1ke0d_1._--color-neutral_1ke0d_1{color:var(--rs-color-foreground-neutral)}._--variant-faded_1ke0d_1._--color-critical_1ke0d_1{color:var(--rs-color-foreground-critical)}._--variant-faded_1ke0d_1._--color-positive_1ke0d_1{color:var(--rs-color-foreground-positive)}._--variant-faded_1ke0d_1._--color-primary_1ke0d_1{color:var(--rs-color-foreground-primary)}._root_masp1_1{align-items:center;backface-visibility:hidden;background:var(--rs-color-background-neutral);border:1px solid var(--rs-color-background-neutral);border-radius:var(--rs-unit-radius-small);box-sizing:border-box;color:var(--rs-color-foreground-neutral);display:inline-flex;gap:var(--rs-badge-gap);justify-content:center;min-width:calc(var(--rs-badge-line-height) + 2px + (var(--rs-badge-p-v) * 2));padding:var(--rs-badge-p-v) var(--rs-badge-p-h);transition:var(--rs-duration-medium) var(--rs-easing-standard);transition-property:transform,opacity;vertical-align:top}._dismiss_masp1_1{transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:opacity}._root_masp1_1._--actionable_masp1_1:hover{opacity:.8}._root_masp1_1 ._dismiss_masp1_1:hover{opacity:.72}._root_masp1_1._--variant-faded_masp1_1{background:var(--rs-color-background-neutral-faded);border-color:var(--rs-color-background-neutral-faded);color:var(--rs-color-foreground-neutral-faded)}._root_masp1_1._--variant-outline_masp1_1{background:none;border-color:var(--rs-color-border-neutral-faded)}._root_masp1_1._--color-positive_masp1_1{background:var(--rs-color-background-positive);border-color:var(--rs-color-background-positive);color:var(--rs-color-on-background-positive)}._root_masp1_1._--color-positive_masp1_1._--variant-faded_masp1_1{background:var(--rs-color-background-positive-faded);border-color:var(--rs-color-background-positive-faded);color:var(--rs-color-foreground-positive)}._root_masp1_1._--color-positive_masp1_1._--variant-outline_masp1_1{background:none;border-color:var(--rs-color-border-positive);color:var(--rs-color-foreground-positive)}._root_masp1_1._--color-critical_masp1_1{background:var(--rs-color-background-critical);border-color:var(--rs-color-background-critical);color:var(--rs-color-on-background-critical)}._root_masp1_1._--color-critical_masp1_1._--variant-faded_masp1_1{background:var(--rs-color-background-critical-faded);border-color:var(--rs-color-background-critical-faded);color:var(--rs-color-foreground-critical)}._root_masp1_1._--color-critical_masp1_1._--variant-outline_masp1_1{background:none;border-color:var(--rs-color-border-critical);color:var(--rs-color-foreground-critical)}._root_masp1_1._--color-primary_masp1_1{background:var(--rs-color-background-primary);border-color:var(--rs-color-background-primary);color:var(--rs-color-on-background-primary)}._root_masp1_1._--color-primary_masp1_1._--variant-faded_masp1_1{background:var(--rs-color-background-primary-faded);border-color:var(--rs-color-background-primary-faded);color:var(--rs-color-foreground-primary)}._root_masp1_1._--color-primary_masp1_1._--variant-outline_masp1_1{background:none;border-color:var(--rs-color-border-primary);color:var(--rs-color-foreground-primary)}._root_masp1_1._--size-small_masp1_1{--rs-badge-p-v:0px;--rs-badge-p-h:var(--rs-unit-x1);--rs-badge-line-height:var(--rs-line-height-caption-1);--rs-badge-empty-size:var(--rs-unit-x2);--rs-badge-gap:calc(var(--rs-unit-x1) / 2)}._root_masp1_1._--size-medium_masp1_1{--rs-badge-p-v:calc(var(--rs-unit-x1) - 1px);--rs-badge-p-h:calc(var(--rs-unit-x2) - 1px);--rs-badge-line-height:var(--rs-line-height-caption-1);--rs-badge-empty-size:var(--rs-unit-x3);--rs-badge-gap:var(--rs-unit-x1)}._root_masp1_1._--size-large_masp1_1{--rs-badge-p-v:calc(var(--rs-unit-x1) - 1px);--rs-badge-p-h:calc(var(--rs-unit-x2) - 1px);--rs-badge-line-height:var(--rs-line-height-body-3);--rs-badge-empty-size:var(--rs-unit-x4);--rs-badge-gap:var(--rs-unit-x1)}._root_masp1_1._--rounded_masp1_1{border-radius:999px}._root_masp1_1:empty{height:var(--rs-badge-empty-size);min-width:auto;padding:0;width:var(--rs-badge-empty-size)}._root_masp1_1._--hidden_masp1_1{opacity:0;transform:scale(.2)}._container_masp1_1{display:inline-block;position:relative;vertical-align:top}._container_masp1_1 ._root_masp1_1{inset-inline-end:0;position:absolute;transform:translate(50%,var(--rs-badge-translate-y)) scale(1);z-index:10}._container_masp1_1 ._root_masp1_1._--hidden_masp1_1{transform:translate(50%,var(--rs-badge-translate-y)) scale(.2)}[dir=rtl] ._container_masp1_1 ._root_masp1_1{transform:translate(-50%,var(--rs-badge-translate-y)) scale(1)}[dir=rtl] ._container_masp1_1 ._root_masp1_1._--hidden_masp1_1{transform:translate(-50%,var(--rs-badge-translate-y)) scale(.2)}._--container-overlap_masp1_1 ._root_masp1_1{inset-inline-end:14%}._--container-position-top-end_masp1_1 ._root_masp1_1{--rs-badge-translate-y:-50%;top:0}._--container-position-top-end_masp1_1._--container-overlap_masp1_1 ._root_masp1_1{top:14%}._--container-position-bottom-end_masp1_1 ._root_masp1_1{--rs-badge-translate-y:50%;bottom:0}._--container-position-bottom-end_masp1_1._--container-overlap_masp1_1 ._root_masp1_1{bottom:14%}@keyframes _rs-reshaped-loader_1j37c_1{0%{transform:rotate(0)}50%{transform:rotate(540deg)}to{transform:rotate(3turn)}}._root_1j37c_1{animation:_rs-reshaped-loader_1j37c_1 2.2s cubic-bezier(.445,.05,.55,.95) infinite;display:block;height:var(--rs-loader-size);position:relative;width:var(--rs-loader-size)}._root_1j37c_1:after,._root_1j37c_1:before{background:var(--rs-loader-color);border-radius:50%;content:"";height:var(--rs-loader-stroke);position:absolute;top:50%;transform:translateY(-50%);width:var(--rs-loader-stroke);z-index:2}._root_1j37c_1:before{left:0}._root_1j37c_1:after{right:0}._inner_1j37c_1:after,._inner_1j37c_1:before{border:var(--rs-loader-stroke) solid var(--rs-loader-color);border-radius:50%;content:"";top:0;right:0;bottom:0;left:0;position:absolute}._inner_1j37c_1:before{opacity:.3}._inner_1j37c_1:after{border-bottom-color:transparent;border-left-color:transparent;transform:rotate(-45deg)}._--color-inherit_1j37c_1{--rs-loader-color:currentcolor}._--color-primary_1j37c_1{--rs-loader-color:var(--rs-color-border-primary)}._--color-positive_1j37c_1{--rs-loader-color:var(--rs-color-border-positive)}._--color-critical_1j37c_1{--rs-loader-color:var(--rs-color-border-critical)}._--size-small_1j37c_1{--rs-loader-size:var(--rs-unit-x4);--rs-loader-stroke:2px}._--size-medium_1j37c_1{--rs-loader-size:var(--rs-unit-x6);--rs-loader-stroke:3px}@media (min-width:660px){._--size-small--m_1j37c_1{--rs-loader-size:var(--rs-unit-x4);--rs-loader-stroke:2px}._--size-medium--m_1j37c_1{--rs-loader-size:var(--rs-unit-x6);--rs-loader-stroke:3px}}@media (min-width:900px){._--size-small--l_1j37c_1{--rs-loader-size:var(--rs-unit-x4);--rs-loader-stroke:2px}._--size-medium--l_1j37c_1{--rs-loader-size:var(--rs-unit-x6);--rs-loader-stroke:3px}}@media (min-width:1280px){._--size-small--xl_1j37c_1{--rs-loader-size:var(--rs-unit-x4);--rs-loader-stroke:2px}._--size-medium--xl_1j37c_1{--rs-loader-size:var(--rs-unit-x6);--rs-loader-stroke:3px}}._root_1pr7i_1{--rs-p-v:var(--rs-button-p-v);--rs-p-h:var(--rs-button-p-h);-webkit-tap-highlight-color:transparent;align-items:center;border:var(--rs-button-border-width) solid transparent;border-radius:var(--rs-button-radius);box-sizing:border-box;cursor:pointer;display:inline-flex;font-family:var(--rs-font-family-body);font-size:var(--rs-button-font-size);font-weight:var(--rs-font-weight-medium);justify-content:center;line-height:var(--rs-button-line-height);min-height:calc(var(--rs-button-line-height) + var(--rs-p-v) * 2);min-width:calc(var(--rs-button-line-height) - (var(--rs-unit-x1) * 2) + (var(--rs-button-p-h) * 2));overflow:hidden;padding:calc(var(--rs-p-v) - var(--rs-button-border-width)) calc(var(--rs-p-h) - var(--rs-button-border-width));position:relative;text-align:initial;text-decoration:none;transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:background-color,box-shadow,border-color,color,transform;z-index:0}._root_1pr7i_1:active{transform:scale(.98)}._loader_1pr7i_1{align-items:center;display:none;top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute}._icon_1pr7i_1{margin-inline-end:var(--rs-button-icon-gap)}._icon_1pr7i_1._--icon-position-end_1pr7i_1{margin-inline-end:0;margin-inline-start:var(--rs-button-icon-gap)}._icon_1pr7i_1:last-child{margin-inline-end:0}._icon_1pr7i_1,._text_1pr7i_1{position:relative;z-index:5}._root_1pr7i_1._--loading_1pr7i_1{cursor:default}._root_1pr7i_1._--loading_1pr7i_1:active{transform:none}._root_1pr7i_1._--loading_1pr7i_1 ._icon_1pr7i_1,._root_1pr7i_1._--loading_1pr7i_1 ._text_1pr7i_1{visibility:hidden}._root_1pr7i_1._--loading_1pr7i_1 ._loader_1pr7i_1{display:flex}._--elevated_1pr7i_1{box-shadow:var(--rs-shadow-raised)}._root_1pr7i_1._--icon-only_1pr7i_1 ._icon_1pr7i_1{margin:0 calc(var(--rs-unit-x1) * -1)}._root_1pr7i_1._--rounded_1pr7i_1{border-radius:999px}._--size-small_1pr7i_1{--rs-button-p-v:var(--rs-unit-x1);--rs-button-p-h:var(--rs-unit-x2);--rs-button-icon-gap:var(--rs-unit-x1);--rs-button-line-height:var(--rs-line-height-body-3);--rs-button-font-size:var(--rs-font-size-body-3);--rs-button-radius:var(--rs-unit-radius-small)}._--size-medium_1pr7i_1{--rs-button-p-v:var(--rs-unit-x2);--rs-button-p-h:var(--rs-unit-x3);--rs-button-icon-gap:var(--rs-unit-x2);--rs-button-line-height:var(--rs-line-height-body-3);--rs-button-font-size:var(--rs-font-size-body-3);--rs-button-radius:var(--rs-unit-radius-small)}._--size-large_1pr7i_1{--rs-button-p-v:var(--rs-unit-x3);--rs-button-p-h:var(--rs-unit-x4);--rs-button-icon-gap:var(--rs-unit-x2);--rs-button-line-height:var(--rs-line-height-body-2);--rs-button-font-size:var(--rs-font-size-body-2);--rs-button-radius:var(--rs-unit-radius-medium)}._--size-xlarge_1pr7i_1{--rs-button-p-v:var(--rs-unit-x4);--rs-button-p-h:var(--rs-unit-x5);--rs-button-icon-gap:var(--rs-unit-x3);--rs-button-line-height:var(--rs-line-height-body-2);--rs-button-font-size:var(--rs-font-size-body-2);--rs-button-radius:var(--rs-unit-radius-medium)}._--full-width_1pr7i_1{text-align:center;width:100%}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-critical_1pr7i_1:before,._root_1pr7i_1._--variant-faded_1pr7i_1._--color-inherit_1pr7i_1:before,._root_1pr7i_1._--variant-faded_1pr7i_1._--color-neutral_1pr7i_1:before,._root_1pr7i_1._--variant-faded_1pr7i_1._--color-positive_1pr7i_1:before,._root_1pr7i_1._--variant-faded_1pr7i_1._--color-primary_1pr7i_1:before,._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-inherit_1pr7i_1:before,._root_1pr7i_1._--variant-outline_1pr7i_1._--color-inherit_1pr7i_1:before,._root_1pr7i_1._--variant-solid_1pr7i_1._--color-black_1pr7i_1:before,._root_1pr7i_1._--variant-solid_1pr7i_1._--color-white_1pr7i_1:before{content:"";top:0;right:0;bottom:0;left:0;opacity:0;position:absolute;transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:opacity}._root_1pr7i_1._--variant-solid_1pr7i_1{--rs-button-border-width:0px}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-neutral_1pr7i_1{background-color:var(--rs-color-background-neutral);color:var(--rs-color-foreground-neutral)}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-neutral_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-solid_1pr7i_1._--color-neutral_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:var(--rs-color-background-neutral-highlighted)}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-primary_1pr7i_1{background-color:var(--rs-color-background-primary);color:var(--rs-color-on-background-primary)}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-primary_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-solid_1pr7i_1._--color-primary_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:var(--rs-color-background-primary-highlighted)}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-critical_1pr7i_1{background-color:var(--rs-color-background-critical);color:var(--rs-color-on-background-critical)}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-critical_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-solid_1pr7i_1._--color-critical_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:var(--rs-color-background-critical-highlighted)}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-positive_1pr7i_1{background-color:var(--rs-color-background-positive);color:var(--rs-color-on-background-positive)}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-positive_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-solid_1pr7i_1._--color-positive_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:var(--rs-color-background-positive-highlighted)}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-white_1pr7i_1{background-color:var(--rs-color-white);color:var(--rs-color-black)}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-white_1pr7i_1:before{background-color:var(--rs-color-black)}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-white_1pr7i_1._--highlighted_1pr7i_1:before,._root_1pr7i_1._--variant-solid_1pr7i_1._--color-white_1pr7i_1:hover:not(._--loading_1pr7i_1):before{opacity:.04}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-black_1pr7i_1{background-color:var(--rs-color-black);color:var(--rs-color-white)}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-black_1pr7i_1:before{background-color:var(--rs-color-white)}._root_1pr7i_1._--variant-solid_1pr7i_1._--color-black_1pr7i_1._--highlighted_1pr7i_1:before,._root_1pr7i_1._--variant-solid_1pr7i_1._--color-black_1pr7i_1:hover:not(._--loading_1pr7i_1):before{opacity:.2}._root_1pr7i_1._--variant-faded_1pr7i_1{--rs-button-border-width:0px}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-neutral_1pr7i_1{--rs-button-border-width:1px;background-color:var(--rs-color-background-elevation-base);border-color:var(--rs-color-border-neutral-faded);color:var(--rs-color-foreground-neutral)}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-neutral_1pr7i_1:before{background-color:var(--rs-color-foreground-neutral)}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-neutral_1pr7i_1._--highlighted_1pr7i_1:before,._root_1pr7i_1._--variant-faded_1pr7i_1._--color-neutral_1pr7i_1:hover:not(._--loading_1pr7i_1):before{opacity:.04}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-primary_1pr7i_1{background-color:var(--rs-color-background-primary-faded);color:var(--rs-color-foreground-primary)}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-primary_1pr7i_1:before{background-color:var(--rs-color-foreground-primary)}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-primary_1pr7i_1._--highlighted_1pr7i_1:before,._root_1pr7i_1._--variant-faded_1pr7i_1._--color-primary_1pr7i_1:hover:not(._--loading_1pr7i_1):before{opacity:.06}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-critical_1pr7i_1{background-color:var(--rs-color-background-critical-faded);color:var(--rs-color-foreground-critical)}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-critical_1pr7i_1:before{background-color:var(--rs-color-foreground-critical)}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-critical_1pr7i_1._--highlighted_1pr7i_1:before,._root_1pr7i_1._--variant-faded_1pr7i_1._--color-critical_1pr7i_1:hover:not(._--loading_1pr7i_1):before{opacity:.06}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-positive_1pr7i_1{background-color:var(--rs-color-background-positive-faded);color:var(--rs-color-foreground-positive)}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-positive_1pr7i_1:before{background-color:var(--rs-color-foreground-positive)}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-positive_1pr7i_1._--highlighted_1pr7i_1:before,._root_1pr7i_1._--variant-faded_1pr7i_1._--color-positive_1pr7i_1:hover:not(._--loading_1pr7i_1):before{opacity:.06}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-inherit_1pr7i_1{color:inherit}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-inherit_1pr7i_1:before{background-color:currentcolor;opacity:.16}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-inherit_1pr7i_1._--highlighted_1pr7i_1:before,._root_1pr7i_1._--variant-faded_1pr7i_1._--color-inherit_1pr7i_1:hover:not(._--loading_1pr7i_1):before{opacity:.24}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-black_1pr7i_1{background-color:rgba(var(--rs-color-rgb-black),28%);color:var(--rs-color-white)}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-black_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-faded_1pr7i_1._--color-black_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-black),36%)}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-white_1pr7i_1{background-color:rgba(var(--rs-color-rgb-white),28%);color:var(--rs-color-black)}._root_1pr7i_1._--variant-faded_1pr7i_1._--color-white_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-faded_1pr7i_1._--color-white_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-white),36%)}._root_1pr7i_1._--variant-outline_1pr7i_1{--rs-button-border-width:1px}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-neutral_1pr7i_1{background-color:transparent;border-color:var(--rs-color-border-neutral);color:var(--rs-color-foreground-neutral)}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-neutral_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-outline_1pr7i_1._--color-neutral_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-background-neutral),28%)}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-primary_1pr7i_1{background-color:transparent;border-color:var(--rs-color-border-primary);color:var(--rs-color-foreground-primary)}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-primary_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-outline_1pr7i_1._--color-primary_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-background-primary),10%)}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-critical_1pr7i_1{background-color:transparent;border-color:var(--rs-color-border-critical);color:var(--rs-color-foreground-critical)}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-critical_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-outline_1pr7i_1._--color-critical_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-background-critical),10%)}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-positive_1pr7i_1{background-color:transparent;border-color:var(--rs-color-border-positive);color:var(--rs-color-foreground-positive)}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-positive_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-outline_1pr7i_1._--color-positive_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-background-positive),10%)}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-white_1pr7i_1{background-color:transparent;border-color:var(--rs-color-white);color:var(--rs-color-white)}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-white_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-outline_1pr7i_1._--color-white_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-white),12%)}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-black_1pr7i_1{background-color:transparent;border-color:var(--rs-color-black);color:var(--rs-color-black)}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-black_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-outline_1pr7i_1._--color-black_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-black),4%)}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-inherit_1pr7i_1{background-color:transparent;border-color:currentcolor;color:inherit}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-inherit_1pr7i_1:before{background-color:currentcolor;content:"";top:0;right:0;bottom:0;left:0;opacity:0;position:absolute;transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:opacity}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-inherit_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-outline_1pr7i_1._--color-inherit_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:transparent}._root_1pr7i_1._--variant-outline_1pr7i_1._--color-inherit_1pr7i_1._--highlighted_1pr7i_1:before,._root_1pr7i_1._--variant-outline_1pr7i_1._--color-inherit_1pr7i_1:hover:not(._--loading_1pr7i_1):before{opacity:.1}._root_1pr7i_1._--variant-ghost_1pr7i_1{--rs-button-border-width:0px;--rs-p-h:max(calc(var(--rs-button-p-h) - var(--rs-unit-x1)),var(--rs-unit-x2))}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-neutral_1pr7i_1{background:transparent;color:var(--rs-color-foreground-neutral)}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-neutral_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-neutral_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-background-neutral),40%)}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-primary_1pr7i_1{background:transparent;color:var(--rs-color-foreground-primary)}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-primary_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-primary_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-background-primary),12%)}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-critical_1pr7i_1{background:transparent;color:var(--rs-color-foreground-critical)}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-critical_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-critical_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-background-critical),12%)}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-positive_1pr7i_1{background:transparent;color:var(--rs-color-foreground-positive)}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-positive_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-positive_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-background-positive),12%)}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-white_1pr7i_1{background:transparent;color:var(--rs-color-white)}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-white_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-white_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-white),8%)}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-black_1pr7i_1{background:transparent;color:var(--rs-color-black)}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-black_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-black_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:rgba(var(--rs-color-rgb-black),8%)}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-inherit_1pr7i_1{background-color:transparent;color:inherit}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-inherit_1pr7i_1:before{background-color:currentcolor}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-inherit_1pr7i_1._--highlighted_1pr7i_1,._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-inherit_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:transparent}._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-inherit_1pr7i_1._--highlighted_1pr7i_1:before,._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-inherit_1pr7i_1:hover:not(._--loading_1pr7i_1):before{opacity:.08}._root_1pr7i_1._--disabled_1pr7i_1,._root_1pr7i_1._--disabled_1pr7i_1:hover:not(._--loading_1pr7i_1){background-color:var(--rs-color-background-disabled)!important;border-color:var(--rs-color-border-disabled)!important;color:var(--rs-color-foreground-disabled)!important}._root_1pr7i_1._--disabled_1pr7i_1:before,._root_1pr7i_1._--disabled_1pr7i_1:hover:not(._--loading_1pr7i_1):before{opacity:0!important}._root_1pr7i_1._--disabled_1pr7i_1._--variant-faded_1pr7i_1,._root_1pr7i_1._--disabled_1pr7i_1:hover:not(._--loading_1pr7i_1)._--variant-faded_1pr7i_1{background-color:var(--rs-color-background-disabled-faded)!important}._root_1pr7i_1._--disabled_1pr7i_1._--variant-outline_1pr7i_1,._root_1pr7i_1._--disabled_1pr7i_1:hover:not(._--loading_1pr7i_1)._--variant-outline_1pr7i_1{background-color:transparent!important}._root_1pr7i_1._--disabled_1pr7i_1._--variant-ghost_1pr7i_1,._root_1pr7i_1._--disabled_1pr7i_1:hover:not(._--loading_1pr7i_1)._--variant-ghost_1pr7i_1{background-color:transparent!important;border-color:transparent!important}._root_1pr7i_1._--disabled_1pr7i_1:active,._root_1pr7i_1._--disabled_1pr7i_1:hover:not(._--loading_1pr7i_1):active{transform:none!important}._group_1pr7i_1 ._root_1pr7i_1{border-radius:0}._group_1pr7i_1 ._root_1pr7i_1:first-child{border-end-start-radius:var(--rs-button-radius);border-start-start-radius:var(--rs-button-radius)}._group_1pr7i_1 ._root_1pr7i_1:not(:first-child){border-inline-start:1px solid var(--rs-button-group-separator-color)}._group_1pr7i_1 ._root_1pr7i_1:last-child{border-end-end-radius:var(--rs-button-radius);border-start-end-radius:var(--rs-button-radius)}._group_1pr7i_1 ._root_1pr7i_1._--variant-solid_1pr7i_1._--color-neutral_1pr7i_1{--rs-button-group-separator-color:var(--rs-color-border-neutral)}._group_1pr7i_1 ._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-neutral_1pr7i_1{--rs-button-group-separator-color:var(--rs-color-border-neutral-faded)}._group_1pr7i_1 ._root_1pr7i_1._--variant-solid_1pr7i_1._--color-positive_1pr7i_1{--rs-button-group-separator-color:var(--rs-color-border-positive)}._group_1pr7i_1 ._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-positive_1pr7i_1{--rs-button-group-separator-color:var(--rs-color-border-positive-faded)}._group_1pr7i_1 ._root_1pr7i_1._--variant-solid_1pr7i_1._--color-critical_1pr7i_1{--rs-button-group-separator-color:var(--rs-color-border-critical)}._group_1pr7i_1 ._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-critical_1pr7i_1{--rs-button-group-separator-color:var(--rs-color-border-critical-faded)}._group_1pr7i_1 ._root_1pr7i_1._--variant-solid_1pr7i_1._--color-primary_1pr7i_1{--rs-button-group-separator-color:var(--rs-color-border-primary)}._group_1pr7i_1 ._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-primary_1pr7i_1{--rs-button-group-separator-color:var(--rs-color-border-primary-faded)}._group_1pr7i_1 ._root_1pr7i_1._--variant-faded_1pr7i_1._--color-positive_1pr7i_1{--rs-button-group-separator-color:var(--rs-color-border-positive-faded)}._group_1pr7i_1 ._root_1pr7i_1._--variant-faded_1pr7i_1._--color-critical_1pr7i_1{--rs-button-group-separator-color:var(--rs-color-border-critical-faded)}._group_1pr7i_1 ._root_1pr7i_1._--variant-faded_1pr7i_1._--color-primary_1pr7i_1{--rs-button-group-separator-color:var(--rs-color-border-primary-faded)}._group_1pr7i_1 ._root_1pr7i_1._--variant-solid_1pr7i_1._--color-black_1pr7i_1{--rs-button-group-separator-color:rgba(var(--rs-color-rgb-white),.28)}._group_1pr7i_1 ._root_1pr7i_1._--variant-faded_1pr7i_1._--color-black_1pr7i_1{--rs-button-group-separator-color:rgba(var(--rs-color-rgb-white),.14)}._group_1pr7i_1 ._root_1pr7i_1._--variant-faded_1pr7i_1._--color-white_1pr7i_1,._group_1pr7i_1 ._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-black_1pr7i_1,._group_1pr7i_1 ._root_1pr7i_1._--variant-solid_1pr7i_1._--color-white_1pr7i_1{--rs-button-group-separator-color:rgba(var(--rs-color-rgb-black),.2)}._group_1pr7i_1 ._root_1pr7i_1._--variant-ghost_1pr7i_1._--color-white_1pr7i_1{--rs-button-group-separator-color:rgba(var(--rs-color-rgb-white),.28)}._aligner_1pr7i_1{line-height:0}@media (min-width:660px){._--size-small--m_1pr7i_1{--rs-button-p-v:var(--rs-unit-x1);--rs-button-p-h:var(--rs-unit-x2);--rs-button-icon-gap:var(--rs-unit-x1);--rs-button-line-height:var(--rs-line-height-body-3);--rs-button-font-size:var(--rs-font-size-body-3);--rs-button-radius:var(--rs-unit-radius-small)}._--size-medium--m_1pr7i_1{--rs-button-p-v:var(--rs-unit-x2);--rs-button-p-h:var(--rs-unit-x3);--rs-button-icon-gap:var(--rs-unit-x2);--rs-button-line-height:var(--rs-line-height-body-3);--rs-button-font-size:var(--rs-font-size-body-3);--rs-button-radius:var(--rs-unit-radius-small)}._--size-large--m_1pr7i_1{--rs-button-p-v:var(--rs-unit-x3);--rs-button-p-h:var(--rs-unit-x4);--rs-button-icon-gap:var(--rs-unit-x2);--rs-button-line-height:var(--rs-line-height-body-2);--rs-button-font-size:var(--rs-font-size-body-2);--rs-button-radius:var(--rs-unit-radius-medium)}._--size-xlarge--m_1pr7i_1{--rs-button-p-v:var(--rs-unit-x4);--rs-button-p-h:var(--rs-unit-x5);--rs-button-icon-gap:var(--rs-unit-x3);--rs-button-line-height:var(--rs-line-height-body-2);--rs-button-font-size:var(--rs-font-size-body-2);--rs-button-radius:var(--rs-unit-radius-medium)}._--full-width-true--m_1pr7i_1{text-align:center;width:100%}._--full-width-false--m_1pr7i_1{text-align:initial;width:auto}}@media (min-width:900px){._--size-small--l_1pr7i_1{--rs-button-p-v:var(--rs-unit-x1);--rs-button-p-h:var(--rs-unit-x2);--rs-button-icon-gap:var(--rs-unit-x1);--rs-button-line-height:var(--rs-line-height-body-3);--rs-button-font-size:var(--rs-font-size-body-3);--rs-button-radius:var(--rs-unit-radius-small)}._--size-medium--l_1pr7i_1{--rs-button-p-v:var(--rs-unit-x2);--rs-button-p-h:var(--rs-unit-x3);--rs-button-icon-gap:var(--rs-unit-x2);--rs-button-line-height:var(--rs-line-height-body-3);--rs-button-font-size:var(--rs-font-size-body-3);--rs-button-radius:var(--rs-unit-radius-small)}._--size-large--l_1pr7i_1{--rs-button-p-v:var(--rs-unit-x3);--rs-button-p-h:var(--rs-unit-x4);--rs-button-icon-gap:var(--rs-unit-x2);--rs-button-line-height:var(--rs-line-height-body-2);--rs-button-font-size:var(--rs-font-size-body-2);--rs-button-radius:var(--rs-unit-radius-medium)}._--size-xlarge--l_1pr7i_1{--rs-button-p-v:var(--rs-unit-x4);--rs-button-p-h:var(--rs-unit-x5);--rs-button-icon-gap:var(--rs-unit-x3);--rs-button-line-height:var(--rs-line-height-body-2);--rs-button-font-size:var(--rs-font-size-body-2);--rs-button-radius:var(--rs-unit-radius-medium)}._--full-width-true--l_1pr7i_1{text-align:center;width:100%}._--full-width-false--l_1pr7i_1{text-align:initial;width:auto}}@media (min-width:1280px){._--size-small--xl_1pr7i_1{--rs-button-p-v:var(--rs-unit-x1);--rs-button-p-h:var(--rs-unit-x2);--rs-button-icon-gap:var(--rs-unit-x1);--rs-button-line-height:var(--rs-line-height-body-3);--rs-button-font-size:var(--rs-font-size-body-3);--rs-button-radius:var(--rs-unit-radius-small)}._--size-medium--xl_1pr7i_1{--rs-button-p-v:var(--rs-unit-x2);--rs-button-p-h:var(--rs-unit-x3);--rs-button-icon-gap:var(--rs-unit-x2);--rs-button-line-height:var(--rs-line-height-body-3);--rs-button-font-size:var(--rs-font-size-body-3);--rs-button-radius:var(--rs-unit-radius-small)}._--size-large--xl_1pr7i_1{--rs-button-p-v:var(--rs-unit-x3);--rs-button-p-h:var(--rs-unit-x4);--rs-button-icon-gap:var(--rs-unit-x2);--rs-button-line-height:var(--rs-line-height-body-2);--rs-button-font-size:var(--rs-font-size-body-2);--rs-button-radius:var(--rs-unit-radius-medium)}._--size-xlarge--xl_1pr7i_1{--rs-button-p-v:var(--rs-unit-x4);--rs-button-p-h:var(--rs-unit-x5);--rs-button-icon-gap:var(--rs-unit-x3);--rs-button-line-height:var(--rs-line-height-body-2);--rs-button-font-size:var(--rs-font-size-body-2);--rs-button-radius:var(--rs-unit-radius-medium)}._--full-width-true--xl_1pr7i_1{text-align:center;width:100%}._--full-width-false--xl_1pr7i_1{text-align:initial;width:auto}}._root_pscqv_1{display:inline;text-underline-offset:calc(var(--rs-unit-x1) / 2)}._root_pscqv_1._--color-primary_pscqv_1{color:var(--rs-color-foreground-primary)}._root_pscqv_1._--color-critical_pscqv_1{color:var(--rs-color-foreground-critical)}._root_pscqv_1._--color-positive_pscqv_1{color:var(--rs-color-foreground-positive)}._root_pscqv_1._--color-inherit_pscqv_1{color:currentcolor}._root_pscqv_1._--variant-plain_pscqv_1{opacity:1;transition:opacity var(--rs-duration-fast) var(--rs-easing-standard)}._root_pscqv_1._--variant-plain_pscqv_1:hover:not(._--disabled_pscqv_1){opacity:.6}._root_pscqv_1._--variant-underline_pscqv_1{text-decoration:underline;text-decoration-color:currentcolor;transition:text-decoration-color var(--rs-duration-fast) var(--rs-easing-standard)}._root_pscqv_1._--variant-underline_pscqv_1:hover:not(._--disabled_pscqv_1){text-decoration-color:transparent}._root_pscqv_1._--disabled_pscqv_1{color:var(--rs-color-foreground-disabled);opacity:1;text-decoration:none}._root_pscqv_1._--with-icon_pscqv_1{align-items:center;display:inline-flex;gap:calc(1em / 3.5)}._root_1uhu3_1{background:var(--rs-color-background-elevation-base);border:1px solid var(--rs-color-border-neutral-faded);color:var(--rs-color-foreground-neutral);display:block;overflow:hidden;text-align:initial;transition:var(--rs-duration-fast) var(--rs-easing-accelerate);transition-property:box-shadow,border-color}._content_1uhu3_1,._root_1uhu3_1{position:relative}._content_1uhu3_1{z-index:var(--rs-z-index-raised)}._--selected_1uhu3_1{border-color:transparent;box-shadow:0 0 0 2px var(--rs-color-border-primary);transition-timing-function:var(--rs-easing-decelerate)}._--elevated_1uhu3_1{background:var(--rs-color-background-elevation-raised);box-shadow:var(--rs-shadow-raised)}._--actionable_1uhu3_1:not(._--selected_1uhu3_1){color:inherit;cursor:pointer;outline:none;text-decoration:none}[data-rs-keyboard] ._--actionable_1uhu3_1:not(._--selected_1uhu3_1):focus{box-shadow:var(--rs-focus-shadow)}._--actionable_1uhu3_1:not(._--selected_1uhu3_1):before{background:rgba(var(--rs-color-rgb-background-neutral-faded),40%);content:"";top:0;right:0;bottom:0;left:0;opacity:0;pointer-events:none;position:absolute;transition:opacity var(--rs-duration-fast) var(--rs-easing-standard)}._--actionable_1uhu3_1:not(._--selected_1uhu3_1):hover:before{opacity:1}._root_oaz8v_1{position:relative}._control_oaz8v_1{display:none;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%) scale(.75);transform-origin:50%;transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:opacity,transform;z-index:var(--rs-z-index-raised)}._--control-prev_oaz8v_1{left:0}._--control-next_oaz8v_1{left:100%}._--control-visible_oaz8v_1{opacity:1;transform:translate(-50%,-50%) scale(1)}._scroll_oaz8v_1{-ms-overflow-style:none;-webkit-overflow-scrolling:touch;backface-visibility:hidden;margin:0 calc(var(--rs-unit-x1) * var(--rs-carousel-bleed) * -1);overflow:auto;overflow:-moz-scrollbars-none;padding:0 calc(var(--rs-unit-x1) * var(--rs-carousel-bleed));scroll-behavior:smooth;scroll-padding-inline-start:calc(var(--rs-unit-x1) * var(--rs-carousel-bleed));scroll-snap-type:inline;scrollbar-width:none}._scroll_oaz8v_1::-webkit-scrollbar{display:none;height:0;width:0}._item_oaz8v_1{--rs-carousel-item-width:calc(100% / var(--rs-carousel-items) - var(--rs-view-gap-value) * (var(--rs-carousel-items) - 1) / var(--rs-carousel-items));position:relative;scroll-snap-align:start;width:var(--rs-carousel-item-width)}@media (hover:hover),(min-width:900px){._--control-rendered_oaz8v_1{display:block}}@media (hover:none){._--bleed_oaz8v_1 ._item_oaz8v_1{width:calc(var(--rs-carousel-item-width) - 10% / var(--rs-carousel-items))}}@media (min-width:660px) and (hover:none){._--bleed-true--m_oaz8v_1 ._item_oaz8v_1{width:calc(var(--rs-carousel-item-width) - 10% / var(--rs-carousel-items))}._--bleed-false--m_oaz8v_1 ._item_oaz8v_1{width:var(--rs-carousel-item-width)}}@media (min-width:900px) and (hover:none){._--bleed-true--l_oaz8v_1 ._item_oaz8v_1{width:calc(var(--rs-carousel-item-width) - 10% / var(--rs-carousel-items))}._--bleed-false--l_oaz8v_1 ._item_oaz8v_1{width:var(--rs-carousel-item-width)}}@media (min-width:1280px) and (hover:none){._--bleed-true--xl_oaz8v_1 ._item_oaz8v_1{width:calc(var(--rs-carousel-item-width) - 10% / var(--rs-carousel-items))}._--bleed-false--xl_oaz8v_1 ._item_oaz8v_1{width:var(--rs-carousel-item-width)}}._root_oaz8v_1{--rs-carousel-items-s:unset;--rs-carousel-items-m:var(--rs-carousel-items-s);--rs-carousel-items-l:var(--rs-carousel-items-m);--rs-carousel-items-xl:var(--rs-carousel-items-l);--rs-carousel-items:var(--rs-carousel-items-s);--rs-carousel-bleed-s:0;--rs-carousel-bleed-m:var(--rs-carousel-bleed-s);--rs-carousel-bleed-l:var(--rs-carousel-bleed-m);--rs-carousel-bleed-xl:var(--rs-carousel-bleed-l);--rs-carousel-bleed:var(--rs-carousel-bleed-s)}@media (min-width:660px){._root_oaz8v_1{--rs-carousel-items:var(--rs-carousel-items-m);--rs-carousel-bleed:var(--rs-carousel-bleed-m)}}@media (min-width:900px){._root_oaz8v_1{--rs-carousel-items:var(--rs-carousel-items-l);--rs-carousel-bleed:var(--rs-carousel-bleed-l)}}@media (min-width:1280px){._root_oaz8v_1{--rs-carousel-items:var(--rs-carousel-items-xl);--rs-carousel-bleed:var(--rs-carousel-bleed-xl)}}._root_1e26k_1{border:0;height:1px;left:0;opacity:0;position:absolute;top:0;width:1px}._root_kfiga_1{-webkit-tap-highlight-color:transparent;align-items:center;cursor:pointer;display:inline-flex;gap:var(--rs-unit-x2);-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top}._root_kfiga_1:hover ._decorator_kfiga_1{background:var(--rs-color-background-neutral-faded)}._field_kfiga_1{position:relative}._decorator_kfiga_1{background:var(--rs-color-background-elevation-base);border:1px solid var(--rs-color-border-neutral);border-radius:var(--rs-unit-radius-small);height:var(--rs-line-height-body-3);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:background-color,border-color;width:var(--rs-line-height-body-3)}._decorator_kfiga_1:before{background:var(--rs-color-on-background-primary);border-radius:999px;content:"";height:1.5px;width:var(--rs-unit-x2)}._decorator_kfiga_1:before,._icon_kfiga_1{left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:opacity,transform}[data-rs-keyboard] ._input_kfiga_1:focus+._decorator_kfiga_1{box-shadow:var(--rs-focus-shadow)}._input_kfiga_1:indeterminate+._decorator_kfiga_1,._root_kfiga_1._--error_kfiga_1 ._input_kfiga_1:indeterminate+._decorator_kfiga_1,._root_kfiga_1._--error_kfiga_1:hover ._input_kfiga_1:indeterminate+._decorator_kfiga_1,._root_kfiga_1:hover ._input_kfiga_1:indeterminate+._decorator_kfiga_1{background:var(--rs-color-background-primary);border-color:var(--rs-color-background-primary)}._input_kfiga_1:indeterminate+._decorator_kfiga_1:before,._root_kfiga_1._--error_kfiga_1 ._input_kfiga_1:indeterminate+._decorator_kfiga_1:before,._root_kfiga_1._--error_kfiga_1:hover ._input_kfiga_1:indeterminate+._decorator_kfiga_1:before,._root_kfiga_1:hover ._input_kfiga_1:indeterminate+._decorator_kfiga_1:before{opacity:1;transform:translate(-50%,-50%) scale(1)}._input_kfiga_1:checked+._decorator_kfiga_1,._root_kfiga_1._--error_kfiga_1 ._input_kfiga_1:checked+._decorator_kfiga_1,._root_kfiga_1._--error_kfiga_1:hover ._input_kfiga_1:checked+._decorator_kfiga_1,._root_kfiga_1:hover ._input_kfiga_1:checked+._decorator_kfiga_1{background:var(--rs-color-background-primary);border-color:var(--rs-color-background-primary);color:var(--rs-color-on-background-primary)}._input_kfiga_1:checked+._decorator_kfiga_1 ._icon_kfiga_1,._root_kfiga_1._--error_kfiga_1 ._input_kfiga_1:checked+._decorator_kfiga_1 ._icon_kfiga_1,._root_kfiga_1._--error_kfiga_1:hover ._input_kfiga_1:checked+._decorator_kfiga_1 ._icon_kfiga_1,._root_kfiga_1:hover ._input_kfiga_1:checked+._decorator_kfiga_1 ._icon_kfiga_1{opacity:1;transform:translate(-50%,-50%) scale(1)}._root_kfiga_1._--error_kfiga_1 ._decorator_kfiga_1{border-color:var(--rs-color-border-critical)}._root_kfiga_1._--disabled_kfiga_1{color:var(--rs-color-foreground-disabled);cursor:not-allowed}._root_kfiga_1._--disabled_kfiga_1 ._decorator_kfiga_1,._root_kfiga_1._--disabled_kfiga_1 ._input_kfiga_1:checked+._decorator_kfiga_1,._root_kfiga_1._--disabled_kfiga_1:hover ._decorator_kfiga_1,._root_kfiga_1._--disabled_kfiga_1:hover ._input_kfiga_1:checked+._decorator_kfiga_1{background:var(--rs-color-background-disabled-faded);border-color:var(--rs-color-border-disabled);color:var(--rs-color-foreground-disabled)}._root_kfiga_1._--disabled_kfiga_1 ._input_kfiga_1:checked+._decorator_kfiga_1,._root_kfiga_1._--disabled_kfiga_1 ._input_kfiga_1:indeterminate+._decorator_kfiga_1,._root_kfiga_1._--disabled_kfiga_1:hover ._input_kfiga_1:checked+._decorator_kfiga_1,._root_kfiga_1._--disabled_kfiga_1:hover ._input_kfiga_1:indeterminate+._decorator_kfiga_1{background:var(--rs-color-background-disabled);border-color:transparent}._root_kfiga_1._--disabled_kfiga_1 ._input_kfiga_1:indeterminate+._decorator_kfiga_1:before{background:var(--rs-color-foreground-disabled)}._root_kfiga_1._--disabled_kfiga_1 ._input_kfiga_1:checked+._decorator_kfiga_1:after{background:var(--rs-color-border-disabled)}._root_2d6rt_1{margin:0 auto}._root_1nhaj_1{min-height:var(--rs-unit-x6);padding-inline-end:var(--rs-unit-x7);position:relative}._close_1nhaj_1{inset-block-start:0;inset-inline-end:0;position:absolute;z-index:5}._--hide-close_1nhaj_1,._--variant-media_1nhaj_1{padding:0}._--variant-media_1nhaj_1 ._close_1nhaj_1{inset-block-start:var(--rs-unit-x2);inset-inline-end:var(--rs-unit-x2)}._--align-center_1nhaj_1 ._close_1nhaj_1{inset-block-start:50%;transform:translateY(-50%)}._root_xj8z0_1{clip:rect(1px,1px,1px,1px);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}._root_y2roz_1._--highlighted_y2roz_1 ._triggerLayer_y2roz_1{background:rgba(var(--rs-color-rgb-background-primary),8%);border-color:var(--rs-color-border-primary)}._triggerLayer_y2roz_1{border:1px dashed var(--rs-color-border-neutral)}[data-rs-keyboard] ._triggerLayer_y2roz_1:focus-within{box-shadow:var(--rs-focus-shadow)}._triggerLayer_y2roz_1:hover:not(:has(._trigger_y2roz_1)){background:rgba(var(--rs-color-rgb-background-neutral),16%)}._triggerLayer_y2roz_1:has(._trigger_y2roz_1){pointer-events:none}._triggerLayer_y2roz_1:has(._trigger_y2roz_1) ._trigger_y2roz_1{pointer-events:all}._trigger_y2roz_1{display:contents}._root_ocrem_1{background:var(--rs-color-background-neutral-faded);border:1px solid var(--rs-color-background-neutral-faded);border-radius:var(--rs-unit-radius-small);color:var(--rs-color-foreground-neutral);display:inline-flex;justify-content:center;min-width:calc(var(--rs-line-height-caption-1) + var(--rs-unit-x1) * 2);padding:calc(var(--rs-unit-x1) - 1px) calc(var(--rs-unit-x2) - 1px);transition:var(--rs-easing-standard) var(--rs-duration-fast);transition-property:color,background-color,border-color;vertical-align:top}._--active_ocrem_1{background:var(--rs-color-background-neutral);border-color:var(--rs-color-background-neutral);color:var(--rs-color-on-background-neutral)}._root_1oi0t_1{display:block;max-width:100%}._fallback_1oi0t_1{align-items:center;background:var(--rs-color-background-neutral-faded);color:var(--rs-color-foreground-disabled);display:flex;justify-content:center}._--display-mode-cover_1oi0t_1{-o-object-fit:cover!important;object-fit:cover!important}._--display-mode-contain_1oi0t_1{-o-object-fit:scale-down!important;object-fit:scale-down!important}._root_1x20z_1{-webkit-overflow-scrolling:touch;color:var(--rs-color-white);opacity:0;overflow:auto;transition:opacity var(--rs-duration-medium) var(--rs-easing-standard);z-index:var(--rs-z-index-overlay)}._root_1x20z_1,._root_1x20z_1:after{top:0;right:0;bottom:0;left:0;position:fixed}._root_1x20z_1:after{background:var(--rs-color-black);content:"";opacity:.8}._wrapper_1x20z_1{display:table;height:100%;width:100%}._inner_1x20z_1{display:table-cell;text-align:center}._content_1x20z_1,._inner_1x20z_1{vertical-align:middle}._content_1x20z_1{display:inline-block;position:relative;text-align:initial;z-index:var(--rs-z-index-raised)}._root_1x20z_1._--visible_1x20z_1{opacity:1}._root_1x20z_1._--transparent_1x20z_1{color:inherit;pointer-events:none}._root_1x20z_1._--transparent_1x20z_1>:not(._wrapper_1x20z_1){pointer-events:all}._root_1x20z_1._--transparent_1x20z_1:after{content:none}._root_1x20z_1._--transparent_1x20z_1 ._content_1x20z_1{pointer-events:all}._root_cz0if_1{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);--rs-modal-size-m:var(--rs-modal-size-s);--rs-modal-size-l:var(--rs-modal-size-m);--rs-modal-size-xl:var(--rs-modal-size-l);--rs-modal-size:var(--rs-modal-size-s);background:var(--rs-color-background-elevation-overlay);box-shadow:var(--rs-shadow-overlay);color:var(--rs-color-foreground-neutral);transition:transform var(--rs-easing-accelerate) var(--rs-duration-medium)}._--position-center_cz0if_1{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:var(--rs-unit-radius-large);height:auto;top:0;right:0;bottom:0;left:0;margin:var(--rs-unit-x4);max-height:none;max-width:calc(100vw - var(--rs-unit-x8));overflow:hidden;position:relative;transform:scale(.96);width:var(--rs-modal-size)}._--position-bottom_cz0if_1{--rs-modal-size-s:auto;border-radius:var(--rs-unit-radius-large) var(--rs-unit-radius-large) 0 0;height:var(--rs-modal-size);top:0;right:0;bottom:0;left:0;inset-block-start:auto;margin:0;margin-top:var(--rs-unit-x4);max-height:calc(100vh - var(--rs-unit-x4));max-width:100%;overflow:auto;position:fixed;transform:translateY(100%);width:100%}._--position-start_cz0if_1{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;top:0;right:0;bottom:0;left:0;inset-inline-end:auto;margin:0;margin-inline-end:var(--rs-unit-x4);max-height:100%;max-width:calc(100vw - var(--rs-unit-x4));overflow:auto;position:fixed;transform:translate(-100%);width:var(--rs-modal-size)}._--position-end_cz0if_1,[dir=rtl] ._--position-start_cz0if_1{transform:translate(100%)}._--position-end_cz0if_1{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;top:0;right:0;bottom:0;left:0;inset-inline-start:auto;margin:0;margin-inline-start:var(--rs-unit-x4);max-height:100%;max-width:calc(100vw - var(--rs-unit-x4));overflow:auto;position:fixed;width:var(--rs-modal-size)}[dir=rtl] ._--position-end_cz0if_1{transform:translate(-100%)}._--active_cz0if_1,[dir=rtl] ._--active_cz0if_1{transform:translate(0) scale(1)!important;transition-timing-function:var(--rs-easing-decelerate)}@media (min-width:660px){._root_cz0if_1{--rs-modal-size:var(--rs-modal-size-m)}._--position-center--m_cz0if_1{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:var(--rs-unit-radius-large);height:auto;top:0;right:0;bottom:0;left:0;margin:var(--rs-unit-x4);max-height:none;max-width:calc(100vw - var(--rs-unit-x8));overflow:hidden;position:relative;transform:scale(.96);width:var(--rs-modal-size)}._--position-bottom--m_cz0if_1{--rs-modal-size-s:auto;border-radius:var(--rs-unit-radius-large) var(--rs-unit-radius-large) 0 0;height:var(--rs-modal-size);top:0;right:0;bottom:0;left:0;inset-block-start:auto;margin:0;margin-top:var(--rs-unit-x4);max-height:calc(100vh - var(--rs-unit-x4));max-width:100%;overflow:auto;position:fixed;transform:translateY(100%);width:100%}._--position-start--m_cz0if_1{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;top:0;right:0;bottom:0;left:0;inset-inline-end:auto;margin:0;margin-inline-end:var(--rs-unit-x4);max-height:100%;max-width:calc(100vw - var(--rs-unit-x4));overflow:auto;position:fixed;transform:translate(-100%);width:var(--rs-modal-size)}._--position-end--m_cz0if_1,[dir=rtl] ._--position-start--m_cz0if_1{transform:translate(100%)}._--position-end--m_cz0if_1{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;top:0;right:0;bottom:0;left:0;inset-inline-start:auto;margin:0;margin-inline-start:var(--rs-unit-x4);max-height:100%;max-width:calc(100vw - var(--rs-unit-x4));overflow:auto;position:fixed;width:var(--rs-modal-size)}[dir=rtl] ._--position-end--m_cz0if_1{transform:translate(-100%)}}@media (min-width:900px){._root_cz0if_1{--rs-modal-size:var(--rs-modal-size-l)}._--position-center--l_cz0if_1{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:var(--rs-unit-radius-large);height:auto;top:0;right:0;bottom:0;left:0;margin:var(--rs-unit-x4);max-height:none;max-width:calc(100vw - var(--rs-unit-x8));overflow:hidden;position:relative;transform:scale(.96);width:var(--rs-modal-size)}._--position-bottom--l_cz0if_1{--rs-modal-size-s:auto;border-radius:var(--rs-unit-radius-large) var(--rs-unit-radius-large) 0 0;height:var(--rs-modal-size);top:0;right:0;bottom:0;left:0;inset-block-start:auto;margin:0;margin-top:var(--rs-unit-x4);max-height:calc(100vh - var(--rs-unit-x4));max-width:100%;overflow:auto;position:fixed;transform:translateY(100%);width:100%}._--position-start--l_cz0if_1{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;top:0;right:0;bottom:0;left:0;inset-inline-end:auto;margin:0;margin-inline-end:var(--rs-unit-x4);max-height:100%;max-width:calc(100vw - var(--rs-unit-x4));overflow:auto;position:fixed;transform:translate(-100%);width:var(--rs-modal-size)}._--position-end--l_cz0if_1,[dir=rtl] ._--position-start--l_cz0if_1{transform:translate(100%)}._--position-end--l_cz0if_1{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;top:0;right:0;bottom:0;left:0;inset-inline-start:auto;margin:0;margin-inline-start:var(--rs-unit-x4);max-height:100%;max-width:calc(100vw - var(--rs-unit-x4));overflow:auto;position:fixed;width:var(--rs-modal-size)}[dir=rtl] ._--position-end--l_cz0if_1{transform:translate(-100%)}}@media (min-width:1280px){._root_cz0if_1{--rs-modal-size:var(--rs-modal-size-xl)}._--position-center--xl_cz0if_1{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:var(--rs-unit-radius-large);height:auto;top:0;right:0;bottom:0;left:0;margin:var(--rs-unit-x4);max-height:none;max-width:calc(100vw - var(--rs-unit-x8));overflow:hidden;position:relative;transform:scale(.96);width:var(--rs-modal-size)}._--position-bottom--xl_cz0if_1{--rs-modal-size-s:auto;border-radius:var(--rs-unit-radius-large) var(--rs-unit-radius-large) 0 0;height:var(--rs-modal-size);top:0;right:0;bottom:0;left:0;inset-block-start:auto;margin:0;margin-top:var(--rs-unit-x4);max-height:calc(100vh - var(--rs-unit-x4));max-width:100%;overflow:auto;position:fixed;transform:translateY(100%);width:100%}._--position-start--xl_cz0if_1{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;top:0;right:0;bottom:0;left:0;inset-inline-end:auto;margin:0;margin-inline-end:var(--rs-unit-x4);max-height:100%;max-width:calc(100vw - var(--rs-unit-x4));overflow:auto;position:fixed;transform:translate(-100%);width:var(--rs-modal-size)}._--position-end--xl_cz0if_1,[dir=rtl] ._--position-start--xl_cz0if_1{transform:translate(100%)}._--position-end--xl_cz0if_1{--rs-modal-size-s:calc(var(--rs-unit-x1) * 100);border-radius:0;height:100%;top:0;right:0;bottom:0;left:0;inset-inline-start:auto;margin:0;margin-inline-start:var(--rs-unit-x4);max-height:100%;max-width:calc(100vw - var(--rs-unit-x4));overflow:auto;position:fixed;width:var(--rs-modal-size)}[dir=rtl] ._--position-end--xl_cz0if_1{transform:translate(-100%)}}._root_1g1xv_1{align-items:flex-start;display:flex;overflow:hidden}._root_1g1xv_1,._value_1g1xv_1{background:var(--rs-color-background-neutral-faded);border-radius:var(--rs-unit-radius-small)}._value_1g1xv_1{height:100%;transform:translate(var(--rs-progress-value));transition:transform var(--rs-easing-decelerate);transition-duration:var(--rs-progress-duration,var(--rs-duration-slow));width:100%}[dir=rtl] ._value_1g1xv_1{transform:translate(calc(var(--rs-progress-value) * -1))}._--duration_1g1xv_1 ._value_1g1xv_1{transition-timing-function:linear}._--size-small_1g1xv_1{height:var(--rs-unit-x1)}._--size-medium_1g1xv_1{height:var(--rs-unit-x2)}._--color-primary_1g1xv_1 ._value_1g1xv_1{background:var(--rs-color-background-primary)}._--color-critical_1g1xv_1 ._value_1g1xv_1{background:var(--rs-color-background-critical)}._--color-positive_1g1xv_1 ._value_1g1xv_1{background:var(--rs-color-background-positive)}._--color-white_1g1xv_1{background:rgba(var(--rs-color-rgb-white),32%)}._--color-white_1g1xv_1 ._value_1g1xv_1{background:var(--rs-color-white)}._root_1l8ib_1{-webkit-tap-highlight-color:transparent;align-items:center;cursor:pointer;display:inline-flex;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:top}._root_1l8ib_1:hover ._input_1l8ib_1:not(:checked)+._decorator_1l8ib_1{background:var(--rs-color-background-neutral-faded)}._field_1l8ib_1{position:relative}._decorator_1l8ib_1{background:var(--rs-color-background-elevation-base);border:1px solid var(--rs-color-border-neutral);border-radius:50%;height:var(--rs-line-height-body-3);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:background-color,border-color;width:var(--rs-line-height-body-3)}._decorator_1l8ib_1:after{background:var(--rs-color-on-background-primary);border-radius:50%;content:"";height:var(--rs-unit-x2);left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:opacity,transform;width:var(--rs-unit-x2)}[data-rs-keyboard] ._input_1l8ib_1:focus+._decorator_1l8ib_1{box-shadow:var(--rs-focus-shadow)}._input_1l8ib_1:checked+._decorator_1l8ib_1,._root_1l8ib_1._--error_1l8ib_1 ._input_1l8ib_1:checked+._decorator_1l8ib_1,._root_1l8ib_1._--error_1l8ib_1:hover ._input_1l8ib_1:checked+._decorator_1l8ib_1{background:var(--rs-color-background-primary);border-color:var(--rs-color-background-primary);border-width:2px}._input_1l8ib_1:checked+._decorator_1l8ib_1:after,._root_1l8ib_1._--error_1l8ib_1 ._input_1l8ib_1:checked+._decorator_1l8ib_1:after,._root_1l8ib_1._--error_1l8ib_1:hover ._input_1l8ib_1:checked+._decorator_1l8ib_1:after{opacity:1;transform:translate(-50%,-50%) scale(1)}._text_1l8ib_1{margin-inline-start:var(--rs-unit-x2)}._root_1l8ib_1._--error_1l8ib_1 ._decorator_1l8ib_1,._root_1l8ib_1._--error_1l8ib_1:hover ._input_1l8ib_1+._decorator_1l8ib_1{border-color:var(--rs-color-border-critical)}._root_1l8ib_1._--disabled_1l8ib_1{color:var(--rs-color-foreground-disabled);cursor:not-allowed}._root_1l8ib_1._--disabled_1l8ib_1 ._decorator_1l8ib_1,._root_1l8ib_1._--disabled_1l8ib_1 ._input_1l8ib_1:checked+._decorator_1l8ib_1,._root_1l8ib_1._--disabled_1l8ib_1:hover ._input_1l8ib_1+._decorator_1l8ib_1{background:var(--rs-color-background-disabled-faded);border-color:var(--rs-color-border-disabled)}._root_1l8ib_1._--disabled_1l8ib_1 ._input_1l8ib_1:checked+._decorator_1l8ib_1{border-color:transparent}._root_1l8ib_1._--disabled_1l8ib_1 ._input_1l8ib_1:checked+._decorator_1l8ib_1:after{background:var(--rs-color-border-disabled)}._container_1g6nd_1{display:block;opacity:0;position:relative;transition:var(--rs-duration-medium) ease-out;transition-property:transform,height,opacity;width:100%}._container--visible_1g6nd_1{opacity:1}._container--visible_1g6nd_1 ._wrapper_1g6nd_1{height:calc(100% - var(--rs-unit-x2))}._container--index-0_1g6nd_1{z-index:var(--rs-z-index-raised)}._container--index-1_1g6nd_1{height:var(--rs-unit-x2)!important}._container--index-1_1g6nd_1 ._wrapper_1g6nd_1{height:100%;transform:translateY(calc(var(--rs-unit-x1) * -1)) translateZ(0) scaleX(.9)}._container--index-2_1g6nd_1{height:var(--rs-unit-x2)!important}._container--index-2_1g6nd_1 ._wrapper_1g6nd_1{height:100%;transform:translateY(calc(var(--rs-unit-x2) * -1)) translateZ(0) scaleX(.8)}._container--index-overflow_1g6nd_1{height:0!important}._container--index-overflow_1g6nd_1 ._wrapper_1g6nd_1{height:100%;opacity:0;transform:translateY(calc(var(--rs-unit-x3) * -1)) translateZ(0) scaleX(.8)}._wrapper_1g6nd_1{border-radius:var(--rs-unit-radius-medium);box-shadow:var(--rs-shadow-overlay);height:100%;margin-top:var(--rs-unit-x2);overflow:hidden;transform-origin:50% 0;transition:var(--rs-duration-medium) ease-out;transition-property:height,transform,opacity}._region_1g6nd_1,._wrapper_1g6nd_1{display:flex;flex-direction:column}._region_1g6nd_1{max-width:100%;padding:var(--rs-unit-x4);position:fixed;width:100%;z-index:var(--rs-z-index-notification)}._region--position-top_1g6nd_1{align-items:center;left:50%;top:0;transform:translate(-50%)}._region--position-top-start_1g6nd_1{align-items:start;inset-inline-start:0;top:0}._region--position-top-end_1g6nd_1{inset-inline-end:0;top:0}._region--position-top-end_1g6nd_1,._region--position-top-start_1g6nd_1,._region--position-top_1g6nd_1{flex-direction:column-reverse}._region--position-top-end_1g6nd_1 ._wrapper_1g6nd_1,._region--position-top-start_1g6nd_1 ._wrapper_1g6nd_1,._region--position-top_1g6nd_1 ._wrapper_1g6nd_1{justify-content:flex-end;margin-bottom:var(--rs-unit-x2);margin-top:0;transform-origin:bottom}._region--position-top-end_1g6nd_1 ._container--index-2_1g6nd_1 ._wrapper_1g6nd_1,._region--position-top-start_1g6nd_1 ._container--index-2_1g6nd_1 ._wrapper_1g6nd_1,._region--position-top_1g6nd_1 ._container--index-2_1g6nd_1 ._wrapper_1g6nd_1{transform:translateY(0) translateZ(0) scaleX(.8)}._region--position-top-end_1g6nd_1 ._container--index-overflow_1g6nd_1 ._wrapper_1g6nd_1,._region--position-top-start_1g6nd_1 ._container--index-overflow_1g6nd_1 ._wrapper_1g6nd_1,._region--position-top_1g6nd_1 ._container--index-overflow_1g6nd_1 ._wrapper_1g6nd_1{transform:translateY(var(--rs-unit-x1)) translateZ(0) scaleX(.8)}._region--position-bottom_1g6nd_1{align-items:center;bottom:0;left:50%;transform:translate(-50%)}._region--position-bottom-start_1g6nd_1{align-items:start;bottom:0;inset-inline-start:0}._region--position-bottom-end_1g6nd_1{align-items:end;bottom:0;inset-inline-end:0}@media (min-width:660px){._region_1g6nd_1{width:360px}}:root{--rs-z-index-raised:5;--rs-z-index-flyout:80;--rs-z-index-fixed:90;--rs-z-index-overlay:100;--rs-z-index-notification:110}[data-rs-color-mode=light]{color-scheme:light}[data-rs-color-mode=dark]{color-scheme:dark}*{box-sizing:border-box}blockquote,body,dd,dl,figcaption,figure,h1,h2,h3,h4,h5,h6,li,ol,p,ul{margin:0;padding:0}ol[class],ul[class]{list-style:none}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}option{background:var(--rs-color-background-elevation-base)}label{cursor:pointer}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}[data-rs-no-transition] *,[data-rs-no-transition] :after,[data-rs-no-transition] :before{transition:none!important}input::-moz-placeholder{color:var(--rs-color-neutral-faded);opacity:.5}input::placeholder{color:var(--rs-color-neutral-faded);opacity:.5}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;touch-action:manipulation}body,html{height:100%}body{background:var(--rs-color-background-page);color:var(--rs-color-foreground-neutral);scroll-behavior:smooth;text-rendering:optimizespeed}[data-rs-theme],body{font-family:var(--rs-font-family-body);font-size:var(--rs-font-size-body-3);font-weight:var(--rs-font-weight-regular);line-height:var(--rs-line-height-body-3)}textarea{resize:vertical}table{border-collapse:collapse;border-spacing:0}fieldset{border:0;margin:0;padding:0}a{color:var(--rs-color-foreground-primary);text-decoration:underline}a:hover{text-decoration:none}._root_a8lj9_1{color:inherit;height:inherit}._root_1xcdq_1,._scrim_1xcdq_1{top:0;right:0;bottom:0;left:0;position:absolute}._root_1xcdq_1{--rs-overlay-gradient:rgba(var(--rs-color-rgb-black),0%),rgba(var(--rs-color-rgb-black),.52%),rgba(var(--rs-color-rgb-black),2.13%),rgba(var(--rs-color-rgb-black),4.9%),rgba(var(--rs-color-rgb-black),8.84%),rgba(var(--rs-color-rgb-black),13.91%),rgba(var(--rs-color-rgb-black),19.91%),rgba(var(--rs-color-rgb-black),26.56%),rgba(var(--rs-color-rgb-black),33.44%),rgba(var(--rs-color-rgb-black),40.09%),rgba(var(--rs-color-rgb-black),46.09%),rgba(var(--rs-color-rgb-black),51.16%),rgba(var(--rs-color-rgb-black),55.1%),rgba(var(--rs-color-rgb-black),57.87%),rgba(var(--rs-color-rgb-black),59.48%),rgba(var(--rs-color-rgb-black),60%);pointer-events:none}._scrim_1xcdq_1{color:var(--rs-color-white);padding:var(--rs-unit-x3) var(--rs-unit-x4);transform:translateZ(0)}._content_1xcdq_1{pointer-events:all;position:relative;z-index:5}._--position-cover_1xcdq_1 ._scrim_1xcdq_1{align-items:center;display:flex;justify-content:center}._--position-cover_1xcdq_1 ._scrim_1xcdq_1:after{background-color:var(--rs-color-black);content:"";top:0;right:0;bottom:0;left:0;opacity:.5;position:absolute}._--position-cover_1xcdq_1 ._content_1xcdq_1{text-align:center}._--position-bottom_1xcdq_1 ._content_1xcdq_1,._--position-cover_1xcdq_1 ._content_1xcdq_1,._--position-top_1xcdq_1 ._content_1xcdq_1{width:100%}._--position-end_1xcdq_1 ._content_1xcdq_1,._--position-start_1xcdq_1 ._content_1xcdq_1{height:100%}._--position-top_1xcdq_1 ._scrim_1xcdq_1{background:linear-gradient(to top,var(--rs-overlay-gradient));inset-block-end:auto;padding-block-end:calc(var(--rs-unit-x10) * 2)}._--position-bottom_1xcdq_1 ._scrim_1xcdq_1{background:linear-gradient(to bottom,var(--rs-overlay-gradient));inset-block-start:auto;padding-block-start:calc(var(--rs-unit-x10) * 2)}._--position-start_1xcdq_1 ._scrim_1xcdq_1{background:linear-gradient(to left,var(--rs-overlay-gradient));inset-inline-end:auto;padding-inline-end:calc(var(--rs-unit-x10) * 2);width:auto}._--position-end_1xcdq_1 ._scrim_1xcdq_1,[dir=rtl] ._--position-start_1xcdq_1 ._scrim_1xcdq_1{background:linear-gradient(to right,var(--rs-overlay-gradient))}._--position-end_1xcdq_1 ._scrim_1xcdq_1{inset-inline-start:auto;padding-inline-start:calc(var(--rs-unit-x10) * 2);width:auto}[dir=rtl] ._--position-end_1xcdq_1 ._scrim_1xcdq_1{background:linear-gradient(to left,var(--rs-overlay-gradient))}._--with-background_1xcdq_1{position:relative}._root_155r3_1{background:var(--rs-color-background-elevation-base);border:1px solid var(--rs-color-border-neutral);display:flex;overflow:hidden;padding:calc(var(--rs-unit-x1) - 1px) 0;position:relative;z-index:0}._root_155r3_1:focus-within{border-color:var(--rs-color-border-primary);box-shadow:0 0 0 1px var(--rs-color-border-primary)}._input_155r3_1{align-items:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:0;box-sizing:border-box;color:var(--rs-color-foreground-neutral);cursor:pointer;display:flex;flex-grow:1;font-family:var(--rs-font-family-body);font-weight:var(--rs-font-weight-regular);outline:none;padding-inline-end:calc(var(--rs-select-chevron-size) + var(--rs-select-gap) * 2 + var(--rs-unit-x1));padding-inline-start:var(--rs-select-gap);position:relative;width:100%;z-index:1}._input_155r3_1::-ms-expand{display:none}._slot_155r3_1{align-items:center;display:flex;flex-shrink:0;padding-inline-start:var(--rs-select-gap);position:relative;z-index:5}._input_155r3_1 ._slot_155r3_1{padding-inline-end:var(--rs-select-gap);padding-inline-start:0}._arrow_155r3_1{color:var(--rs-color-foreground-neutral-faded);display:flex;inset-block-start:50%;inset-inline-end:var(--rs-select-gap);pointer-events:none;position:absolute;transform:translateY(-50%);z-index:5}._--size-medium_155r3_1{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-unit-radius-small)}._--size-medium_155r3_1 ._input_155r3_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3);padding-bottom:var(--rs-unit-x1);padding-top:var(--rs-unit-x1)}._--size-large_155r3_1{--rs-select-gap:var(--rs-unit-x3);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-unit-radius-medium)}._--size-large_155r3_1 ._input_155r3_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2);padding-bottom:var(--rs-unit-x2);padding-top:var(--rs-unit-x2)}._--size-xlarge_155r3_1{--rs-select-gap:var(--rs-unit-x4);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-unit-radius-medium)}._--size-xlarge_155r3_1 ._input_155r3_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2);padding-bottom:var(--rs-unit-x3);padding-top:var(--rs-unit-x3)}._root_155r3_1._--variant-faded_155r3_1{background:var(--rs-color-background-neutral-faded);border-color:transparent}._root_155r3_1._--variant-faded_155r3_1:focus-within{border-color:var(--rs-color-border-primary)}._root_155r3_1._--variant-headless_155r3_1{background:transparent;border-color:transparent}._root_155r3_1._--variant-headless_155r3_1._--status-error_155r3_1,._root_155r3_1._--variant-headless_155r3_1._--status-error_155r3_1:focus-within,._root_155r3_1._--variant-headless_155r3_1:focus-within{border-color:transparent;box-shadow:none}._root_155r3_1._--status-error_155r3_1{border-color:var(--rs-color-border-critical)}._root_155r3_1._--status-error_155r3_1:focus-within{border-color:var(--rs-color-border-primary)}._root_155r3_1._--placeholder_155r3_1 ._input_155r3_1{color:var(--rs-color-foreground-neutral-faded)}._root_155r3_1._--disabled_155r3_1{background:var(--rs-color-background-disabled-faded);border-color:var(--rs-color-border-disabled)}._root_155r3_1._--disabled_155r3_1 ._arrow_155r3_1,._root_155r3_1._--disabled_155r3_1 ._input_155r3_1{color:var(--rs-color-foreground-disabled);cursor:not-allowed}@media (max-width:659px) and (hover:none){._input_155r3_1{font-size:var(--rs-font-size-body-2)!important}}@media (min-width:660px){._--size-medium--m_155r3_1{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-unit-radius-small)}._--size-medium--m_155r3_1 ._input_155r3_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3);padding-bottom:var(--rs-unit-x1);padding-top:var(--rs-unit-x1)}._--size-large--m_155r3_1{--rs-select-gap:var(--rs-unit-x3);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-unit-radius-medium)}._--size-large--m_155r3_1 ._input_155r3_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2);padding-bottom:var(--rs-unit-x2);padding-top:var(--rs-unit-x2)}._--size-xlarge--m_155r3_1{--rs-select-gap:var(--rs-unit-x4);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-unit-radius-medium)}._--size-xlarge--m_155r3_1 ._input_155r3_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2);padding-bottom:var(--rs-unit-x3);padding-top:var(--rs-unit-x3)}}@media (min-width:900px){._--size-medium--l_155r3_1{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-unit-radius-small)}._--size-medium--l_155r3_1 ._input_155r3_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3);padding-bottom:var(--rs-unit-x1);padding-top:var(--rs-unit-x1)}._--size-large--l_155r3_1{--rs-select-gap:var(--rs-unit-x3);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-unit-radius-medium)}._--size-large--l_155r3_1 ._input_155r3_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2);padding-bottom:var(--rs-unit-x2);padding-top:var(--rs-unit-x2)}._--size-xlarge--l_155r3_1{--rs-select-gap:var(--rs-unit-x4);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-unit-radius-medium)}._--size-xlarge--l_155r3_1 ._input_155r3_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2);padding-bottom:var(--rs-unit-x3);padding-top:var(--rs-unit-x3)}}@media (min-width:1280px){._--size-medium--xl_155r3_1{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-unit-radius-small)}._--size-medium--xl_155r3_1 ._input_155r3_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3);padding-bottom:var(--rs-unit-x1);padding-top:var(--rs-unit-x1)}._--size-large--xl_155r3_1{--rs-select-gap:var(--rs-unit-x3);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-unit-radius-medium)}._--size-large--xl_155r3_1 ._input_155r3_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2);padding-bottom:var(--rs-unit-x2);padding-top:var(--rs-unit-x2)}._--size-xlarge--xl_155r3_1{--rs-select-gap:var(--rs-unit-x4);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-unit-radius-medium)}._--size-xlarge--xl_155r3_1 ._input_155r3_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2);padding-bottom:var(--rs-unit-x3);padding-top:var(--rs-unit-x3)}}._root_1ifga_1{animation:_rs-skeleton-pulse_1ifga_1 2.4s ease-in-out infinite;min-height:var(--rs-unit-x5)}@media (prefers-reduced-motion){._root_1ifga_1{animation:none}}@keyframes _rs-skeleton-pulse_1ifga_1{0%{opacity:1}50%{opacity:.6}to{opacity:1}}._root_7e41r_1{align-items:center;cursor:pointer;display:flex;height:var(--rs-unit-x4);-webkit-user-select:none;-moz-user-select:none;user-select:none}._bar_7e41r_1,._root_7e41r_1{position:relative}._bar_7e41r_1{background:var(--rs-color-background-neutral);border-radius:var(--rs-unit-radius-small);height:var(--rs-unit-x1);width:100%}._bar_7e41r_1,._input_7e41r_1{overflow:hidden}._input_7e41r_1{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}._selection_7e41r_1{background:var(--rs-color-background-primary);height:100%;position:absolute}._tooltip_7e41r_1{background:var(--rs-color-background-elevation-overlay);border-radius:var(--rs-unit-radius-small);bottom:100%;box-shadow:var(--rs-shadow-overlay);color:var(--rs-color-foreground-neutral);left:50%;opacity:0;padding:calc(var(--rs-unit-x1) / 2) var(--rs-unit-x1);transform:translate(-50%);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:opacity,transform;-webkit-user-select:none;-moz-user-select:none;user-select:none}._thumb_7e41r_1,._tooltip_7e41r_1{position:absolute}._thumb_7e41r_1{height:100%;width:0}._thumb_7e41r_1:before{background:var(--rs-color-background-primary);border-radius:999px;box-shadow:0 0 0 2px var(--rs-color-background-elevation-base);box-sizing:border-box;height:var(--rs-unit-x4);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:box-shadow;width:var(--rs-unit-x4)}._thumb_7e41r_1:after,._thumb_7e41r_1:before{content:"";left:0;position:absolute;top:50%;transform:translate(-50%,-50%)}._thumb_7e41r_1:after{cursor:grab;height:var(--rs-unit-x9);width:var(--rs-unit-x9)}._thumb_7e41r_1:hover ._tooltip_7e41r_1{opacity:1;transform:translate(-50%,calc(var(--rs-unit-x1) * -1))}._input_7e41r_1:focus+._thumb_7e41r_1:after,._thumb--active_7e41r_1:after{cursor:grabbing}._input_7e41r_1:focus+._thumb_7e41r_1:before,._thumb--active_7e41r_1:before{box-shadow:0 0 0 1px var(--rs-color-background-elevation-base)}._input_7e41r_1:focus+._thumb_7e41r_1 ._tooltip_7e41r_1,._thumb--active_7e41r_1 ._tooltip_7e41r_1{opacity:1;transform:translate(-50%,calc(var(--rs-unit-x1) * -1)) scale(1.1)!important}._--disabled_7e41r_1{cursor:not-allowed}._--disabled_7e41r_1 ._bar_7e41r_1{background-color:var(--rs-color-background-disabled)}._--disabled_7e41r_1 ._selection_7e41r_1,._--disabled_7e41r_1 ._thumb_7e41r_1:before{background-color:var(--rs-color-foreground-disabled)}._--disabled_7e41r_1 ._thumb_7e41r_1:after{cursor:not-allowed}._--disabled_7e41r_1 ._thumb_7e41r_1:hover ._tooltip_7e41r_1{opacity:0}._verticalDivider_2k4g6_1{inset-inline-start:calc(var(--rs-unit-x4) - .5px);position:absolute}._root_jxz6z_1{-webkit-tap-highlight-color:transparent;align-items:center;display:inline-flex;gap:var(--rs-unit-x2);position:relative;vertical-align:top}._input_jxz6z_1{border:0;height:1px;left:0;opacity:0;outline:none;position:absolute;top:0;width:1px}._input_jxz6z_1:checked+._area_jxz6z_1{background:var(--rs-color-background-primary);border-color:transparent}._input_jxz6z_1:checked+._area_jxz6z_1 ._thumb_jxz6z_1{transform:translate(var(--rs-unit-x3))}[dir=rtl] ._input_jxz6z_1:checked+._area_jxz6z_1 ._thumb_jxz6z_1{transform:translate(calc(var(--rs-unit-x3) * -1))}[data-rs-keyboard] ._input_jxz6z_1:focus+._area_jxz6z_1{box-shadow:var(--rs-focus-shadow)}._input_jxz6z_1[disabled]+._area_jxz6z_1{background:var(--rs-color-background-disabled);cursor:not-allowed}._input_jxz6z_1[disabled]+._area_jxz6z_1 ._thumb_jxz6z_1{opacity:.8}._input_jxz6z_1[disabled]:checked+._area_jxz6z_1{background:var(--rs-color-background-primary);opacity:.4}._input_jxz6z_1[disabled]:checked+._area_jxz6z_1 ._thumb_jxz6z_1{opacity:1}._area_jxz6z_1{align-items:center;background:var(--rs-color-background-neutral);border:2px solid transparent;border-radius:calc(var(--rs-unit-x1) * 5 / 2);box-sizing:border-box;cursor:pointer;display:flex;height:calc(var(--rs-unit-x1) * 5);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:background,border;width:calc(var(--rs-unit-x1) * 8)}._thumb_jxz6z_1{background:var(--rs-color-white);border-radius:50%;box-shadow:var(--rs-shadow-raised);height:var(--rs-unit-x4);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:transform;width:var(--rs-unit-x4)}._root--size-small_jxz6z_1 ._area_jxz6z_1{height:calc(var(--rs-unit-x1) * 4);width:calc(var(--rs-unit-x1) * 6)}._root--size-small_jxz6z_1 ._thumb_jxz6z_1{height:var(--rs-unit-x3);width:var(--rs-unit-x3)}._root--size-small_jxz6z_1 ._input_jxz6z_1:checked+._area_jxz6z_1 ._thumb_jxz6z_1{transform:translate(var(--rs-unit-x2))}[dir=rtl] ._root--size-small_jxz6z_1 ._input_jxz6z_1:checked+._area_jxz6z_1 ._thumb_jxz6z_1{transform:translate(calc(var(--rs-unit-x2) * -1))}._root--reversed_jxz6z_1{flex-direction:row-reverse}._literal_vwe2z_1{min-width:var(--rs-min-w-s,auto)}._unit_vwe2z_1{min-width:calc(var(--rs-min-w-s) * var(--rs-unit-x1))}@media (min-width:660px){._literal--m_vwe2z_1{min-width:var(--rs-min-w-m)}._unit--m_vwe2z_1{min-width:calc(var(--rs-min-w-m) * var(--rs-unit-x1))}}@media (min-width:900px){._literal--l_vwe2z_1{min-width:var(--rs-min-w-l)}._unit--l_vwe2z_1{min-width:calc(var(--rs-min-w-l) * var(--rs-unit-x1))}}@media (min-width:1280px){._literal--xl_vwe2z_1{min-width:var(--rs-min-w-xl)}._unit--xl_vwe2z_1{min-width:calc(var(--rs-min-w-xl) * var(--rs-unit-x1))}}._root_e2srl_1{margin:0 calc(var(--rs-unit-x4) * -1);-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--rs-unit-x4),#000 calc(100% - var(--rs-unit-x4)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--rs-unit-x4),#000 calc(100% - var(--rs-unit-x4)),transparent 100%);overflow:auto;padding:0 var(--rs-unit-x4)}._table_e2srl_1{border-collapse:separate;border-radius:var(--rs-unit-radius-medium);min-width:100%;overflow:hidden}._row_e2srl_1{transition:background-color var(--rs-duration-fast) var(--rs-easing-standard)}._cell_e2srl_1{--rs-table-p-vertical-s:3;--rs-table-p-horizontal-s:4;padding:calc(var(--rs-unit-x1) * var(--rs-table-p-vertical-s)) calc(var(--rs-unit-x1) * var(--rs-table-p-horizontal-s));text-align:start;vertical-align:top}._cell_e2srl_1:first-child{padding-inline-end:0}._row_e2srl_1:not(:first-child) ._cell_e2srl_1{border-top:1px solid var(--rs-color-border-neutral-faded)}._cell--align-start_e2srl_1{text-align:start}._cell--align-center_e2srl_1{text-align:center}._cell--align-end_e2srl_1{text-align:end}._--row-highlighted_e2srl_1{background-color:rgba(var(--rs-color-rgb-background-neutral),40%)}._--border-outer_e2srl_1 ._table_e2srl_1{border:1px solid var(--rs-color-border-neutral-faded)}._--border-column_e2srl_1 ._cell_e2srl_1:not(:first-child){border-inline-start:1px solid var(--rs-color-border-neutral-faded)}._--border-column_e2srl_1 ._cell_e2srl_1:first-child{padding-inline-end:calc(var(--rs-unit-x1) * var(--rs-table-p-horizontal-s))}._root_l28uv_1{box-sizing:initial;max-width:100%}._list_l28uv_1,._root_l28uv_1{position:relative}._inner_l28uv_1:after{background-color:var(--rs-color-border-neutral-faded);content:"";position:absolute;z-index:2}._listItem_l28uv_1{--rs-tabs-gap:var(--rs-unit-x4);flex-shrink:0;position:relative}._button_l28uv_1{-webkit-tap-highlight-color:transparent;overflow:hidden;position:relative;z-index:1}._buttonContent_l28uv_1,._button_l28uv_1{border-radius:var(--rs-unit-radius-medium);width:100%}._buttonContent_l28uv_1{align-items:center;box-sizing:border-box;display:flex}._buttonContent_l28uv_1:hover{color:var(--rs-color-foreground-neutral-faded)}._buttonContent_l28uv_1,._icon_l28uv_1{color:inherit;transition:color var(--rs-duration-fast) var(--rs-easing-standard)}[data-rs-keyboard] ._radio_l28uv_1:focus+._buttonContent_l28uv_1{box-shadow:var(--rs-focus-inset-shadow)}._icon_l28uv_1:not(:last-child){margin-inline-end:var(--rs-unit-x2)}._--item-active_l28uv_1:after{content:""}._--item-active_l28uv_1:after,._selector_l28uv_1{background:var(--rs-color-border-primary);border-radius:calc(var(--rs-unit-radius-medium) - 1px);position:absolute;z-index:var(--rs-z-index-raised)}._selector_l28uv_1{--rs-tab-selection-x:0;--rs-tab-selection-y:0;--rs-tab-selection-scale-x:0;--rs-tab-selection-scale-y:0;transform:translate(calc(var(--rs-tab-selection-x) * 1px),calc(var(--rs-tab-selection-y) * 1px)) translateZ(0);transform-origin:0 0}._--selector-hidden_l28uv_1{visibility:hidden}._--selector-animated_l28uv_1{transition:var(--rs-duration-medium) var(--rs-easing-decelerate);transition-property:transform,height}._next_l28uv_1,._prev_l28uv_1{align-items:center;display:flex;inset-block:0;position:absolute;z-index:var(--rs-z-index-raised)}[dir=rtl] ._next_l28uv_1,[dir=rtl] ._prev_l28uv_1{transform:scaleX(-1)}._next_l28uv_1{inset-inline-end:var(--rs-unit-x1)}._prev_l28uv_1{inset-inline-start:var(--rs-unit-x1)}._panel_l28uv_1{outline:none}[data-rs-keyboard] ._panel_l28uv_1:focus{box-shadow:var(--rs-focus-shadow)}._--panel-hidden_l28uv_1{display:none}._--direction-row_l28uv_1{margin:0 calc(var(--rs-unit-x2) * -1);overflow:hidden;padding:0 var(--rs-unit-x2)}._--direction-row_l28uv_1 ._inner_l28uv_1{-ms-overflow-style:none;margin:0 calc(var(--rs-unit-x2) * -1) -40px;overflow:auto;overflow:-moz-scrollbars-none;padding:0 var(--rs-unit-x2) 40px;scrollbar-width:none;white-space:nowrap}._--direction-row_l28uv_1 ._inner_l28uv_1::-webkit-scrollbar{display:none}._--direction-row_l28uv_1 ._inner_l28uv_1:after{height:1px;inset-inline:var(--rs-unit-x2);bottom:0}._--direction-row_l28uv_1 ._list_l28uv_1{align-items:center;display:inline-flex;flex-wrap:nowrap;vertical-align:top}._--direction-row_l28uv_1 ._listItem_l28uv_1+._listItem_l28uv_1{margin-inline-start:var(--rs-tabs-gap)}._--direction-row_l28uv_1 ._--item-active_l28uv_1:after{height:2px;inset-inline:0;bottom:0}._--direction-row_l28uv_1 ._selector_l28uv_1{bottom:0;height:2px;left:0;width:calc(var(--rs-tab-selection-scale-x) * 1px)}._--direction-row_l28uv_1 ._button_l28uv_1{box-sizing:initial;margin:var(--rs-unit-x1) calc(var(--rs-unit-x2) * -1);padding:0 var(--rs-unit-x2)}._--direction-row_l28uv_1 ._buttonContent_l28uv_1{justify-content:center;padding:var(--rs-tabs-item-p-v) 0}._--direction-column_l28uv_1 ._inner_l28uv_1:after{bottom:0;height:100%;inset-inline-end:0;top:0;width:1px}._--direction-column_l28uv_1 ._list_l28uv_1{display:flex;flex-direction:column}._--direction-column_l28uv_1 ._listItem_l28uv_1{--rs-tabs-gap:var(--rs-unit-x1)}._--direction-column_l28uv_1 ._item_l28uv_1{padding-inline-end:var(--rs-unit-x1)}._--direction-column_l28uv_1 ._listItem_l28uv_1+._listItem_l28uv_1{margin-top:var(--rs-tabs-gap)}._--direction-column_l28uv_1 ._--item-active_l28uv_1:after{bottom:0}._--direction-column_l28uv_1 ._--item-active_l28uv_1:after,._--direction-column_l28uv_1 ._selector_l28uv_1{height:100%;inset-inline-end:0;width:2px}._--direction-column_l28uv_1 ._selector_l28uv_1{height:calc(var(--rs-tab-selection-scale-y) * 1px);top:0}._--direction-column_l28uv_1 ._button_l28uv_1{margin-inline-start:calc(var(--rs-unit-x2) * -1);padding:var(--rs-unit-x2);width:calc(100% + var(--rs-unit-x1))}._--direction-column_l28uv_1 ._buttonContent_l28uv_1{justify-content:flex-start}._--variant-borderless_l28uv_1 ._inner_l28uv_1:after,._--variant-pills-elevated_l28uv_1 ._inner_l28uv_1:after,._--variant-pills_l28uv_1 ._inner_l28uv_1:after{content:none}._--variant-pills-elevated_l28uv_1 ._button_l28uv_1,._--variant-pills_l28uv_1 ._button_l28uv_1{margin:0;padding:0}._--variant-pills-elevated_l28uv_1 ._buttonContent_l28uv_1,._--variant-pills_l28uv_1 ._buttonContent_l28uv_1{margin:0;padding:var(--rs-tabs-item-p-v) var(--rs-tabs-item-p-h)}._--variant-pills-elevated_l28uv_1 ._buttonContent_l28uv_1:hover,._--variant-pills_l28uv_1 ._buttonContent_l28uv_1:hover{background:none}._--variant-pills-elevated_l28uv_1 ._listItem_l28uv_1,._--variant-pills_l28uv_1 ._listItem_l28uv_1{--rs-tabs-gap:var(--rs-unit-x1)}._--variant-pills-elevated_l28uv_1 ._selector_l28uv_1,._--variant-pills_l28uv_1 ._selector_l28uv_1{background-color:var(--rs-color-background-neutral);height:calc(var(--rs-tab-selection-scale-y) * 1px);opacity:.6;width:calc(var(--rs-tab-selection-scale-x) * 1px);z-index:0}._--direction-column_l28uv_1._--variant-pills-elevated_l28uv_1 ._selector_l28uv_1,._--direction-column_l28uv_1._--variant-pills_l28uv_1 ._selector_l28uv_1{left:0}._--direction-row_l28uv_1._--variant-pills-elevated_l28uv_1 ._selector_l28uv_1,._--direction-row_l28uv_1._--variant-pills_l28uv_1 ._selector_l28uv_1{top:0}._--variant-pills-elevated_l28uv_1 ._--item-active_l28uv_1:after,._--variant-pills_l28uv_1 ._--item-active_l28uv_1:after{background-color:var(--rs-color-background-neutral);opacity:.6;z-index:0}._--direction-column_l28uv_1._--variant-pills-elevated_l28uv_1 ._--item-active_l28uv_1:after,._--direction-column_l28uv_1._--variant-pills_l28uv_1 ._--item-active_l28uv_1:after{width:100%}._--direction-row_l28uv_1._--variant-pills-elevated_l28uv_1 ._--item-active_l28uv_1:after,._--direction-row_l28uv_1._--variant-pills_l28uv_1 ._--item-active_l28uv_1:after{height:100%}._--variant-pills-elevated_l28uv_1 ._list_l28uv_1{background:var(--rs-color-background-neutral-faded);border:2px solid transparent;border-radius:var(--rs-unit-radius-medium)}._--variant-pills-elevated_l28uv_1 ._--item-active_l28uv_1:after,._--variant-pills-elevated_l28uv_1 ._selector_l28uv_1{background:var(--rs-color-background-elevation-raised);box-shadow:var(--rs-shadow-raised);box-sizing:border-box;opacity:1}._--size-medium_l28uv_1{--rs-tabs-item-p-v:var(--rs-unit-x2);--rs-tabs-item-p-h:var(--rs-unit-x3)}._--size-large_l28uv_1{--rs-tabs-item-p-v:var(--rs-unit-x3);--rs-tabs-item-p-h:var(--rs-unit-x4)}._--item-width-equal_l28uv_1{max-width:none}._--item-width-equal_l28uv_1 ._inner_l28uv_1{flex-wrap:wrap;overflow:hidden}._--item-width-equal_l28uv_1 ._list_l28uv_1{display:flex}._--item-width-equal_l28uv_1 ._listItem_l28uv_1{flex-basis:0;flex-grow:1;margin:0}._--cut-off-end_l28uv_1 ._inner_l28uv_1,[dir=rtl] ._--cut-off-start_l28uv_1 ._inner_l28uv_1{-webkit-mask-image:linear-gradient(to right,rgba(var(--rs-color-rgb-black),100%) 0,rgba(var(--rs-color-rgb-black),100%) 80%,rgba(var(--rs-color-rgb-black),10%) 95%,rgba(var(--rs-color-rgb-black),0) 100%);mask-image:linear-gradient(to right,rgba(var(--rs-color-rgb-black),100%) 0,rgba(var(--rs-color-rgb-black),100%) 80%,rgba(var(--rs-color-rgb-black),10%) 95%,rgba(var(--rs-color-rgb-black),0) 100%)}._--cut-off-start_l28uv_1 ._inner_l28uv_1,[dir=rtl] ._--cut-off-end_l28uv_1 ._inner_l28uv_1{-webkit-mask-image:linear-gradient(to left,rgba(var(--rs-color-rgb-black),100%) 0,rgba(var(--rs-color-rgb-black),100%) 80%,rgba(var(--rs-color-rgb-black),10%) 95%,rgba(var(--rs-color-rgb-black),0) 100%);mask-image:linear-gradient(to left,rgba(var(--rs-color-rgb-black),100%) 0,rgba(var(--rs-color-rgb-black),100%) 80%,rgba(var(--rs-color-rgb-black),10%) 95%,rgba(var(--rs-color-rgb-black),0) 100%)}._--cut-off-both_l28uv_1 ._inner_l28uv_1{-webkit-mask-image:linear-gradient(to right,rgba(var(--rs-color-rgb-black),0) 0,rgba(var(--rs-color-rgb-black),10%) 5%,rgba(var(--rs-color-rgb-black),100%) 20%,rgba(var(--rs-color-rgb-black),100%) 80%,rgba(var(--rs-color-rgb-black),10%) 95%,rgba(var(--rs-color-rgb-black),0) 100%);mask-image:linear-gradient(to right,rgba(var(--rs-color-rgb-black),0) 0,rgba(var(--rs-color-rgb-black),10%) 5%,rgba(var(--rs-color-rgb-black),100%) 20%,rgba(var(--rs-color-rgb-black),100%) 80%,rgba(var(--rs-color-rgb-black),10%) 95%,rgba(var(--rs-color-rgb-black),0) 100%)}@media (max-width:659px){._next_l28uv_1,._prev_l28uv_1{display:none}}._input_1fqg4_1,._root_1fqg4_1{position:relative}._input_1fqg4_1{background:var(--rs-color-background-elevation-base);border:1px solid var(--rs-color-border-neutral);border-radius:var(--rs-unit-radius-small);box-sizing:border-box;color:var(--rs-color-foreground-neutral);display:block;flex-grow:1;font-family:var(--rs-font-family-body);font-weight:var(--rs-font-weight-regular);outline:none;padding:calc(var(--rs-p) - 1px);width:100%;z-index:1}._input_1fqg4_1:focus{border-color:var(--rs-color-border-primary);box-shadow:0 0 0 1px var(--rs-color-border-primary)}._input_1fqg4_1[disabled]{background:var(--rs-color-background-disabled-faded);border-color:var(--rs-color-border-disabled);color:var(--rs-color-foreground-disabled);cursor:not-allowed}._--size-medium_1fqg4_1{--rs-p:var(--rs-unit-x2);border-radius:var(--rs-unit-radius-small)}._--size-medium_1fqg4_1 ._input_1fqg4_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3)}._--size-large_1fqg4_1{--rs-p:var(--rs-unit-x3);border-radius:var(--rs-unit-radius-medium)}._--size-large_1fqg4_1 ._input_1fqg4_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}._--size-xlarge_1fqg4_1{--rs-p:var(--rs-unit-x4);border-radius:var(--rs-unit-radius-medium)}._--size-xlarge_1fqg4_1 ._input_1fqg4_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}._root_1fqg4_1._--variant-faded_1fqg4_1 ._input_1fqg4_1{background:var(--rs-color-background-neutral-faded);border-color:transparent}._root_1fqg4_1._--variant-faded_1fqg4_1 ._input_1fqg4_1:focus{border-color:var(--rs-color-border-primary)}._root_1fqg4_1._--variant-headless_1fqg4_1 ._input_1fqg4_1{background:transparent;border-color:transparent}._root_1fqg4_1._--variant-headless_1fqg4_1 ._input_1fqg4_1:focus,._root_1fqg4_1._--variant-headless_1fqg4_1._--status-error_1fqg4_1 ._input_1fqg4_1,._root_1fqg4_1._--variant-headless_1fqg4_1._--status-error_1fqg4_1 ._input_1fqg4_1:focus{border-color:transparent;box-shadow:none}._root_1fqg4_1._--status-error_1fqg4_1 ._input_1fqg4_1{border-color:var(--rs-color-border-critical)}._root_1fqg4_1._--status-error_1fqg4_1 ._input_1fqg4_1:active,._root_1fqg4_1._--status-error_1fqg4_1 ._input_1fqg4_1:focus{border-color:var(--rs-color-border-primary);box-shadow:0 0 0 1px var(--rs-color-border-primary)}@media (max-width:659px) and (hover:none){._input_1fqg4_1{font-size:var(--rs-font-size-body-2)!important}}@media (min-width:660px){._--size-medium--m_1fqg4_1{--rs-p:var(--rs-unit-x2);border-radius:var(--rs-unit-radius-small)}._--size-medium--m_1fqg4_1 ._input_1fqg4_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3)}._--size-large--m_1fqg4_1{--rs-p:var(--rs-unit-x3);border-radius:var(--rs-unit-radius-medium)}._--size-large--m_1fqg4_1 ._input_1fqg4_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}._--size-xlarge--m_1fqg4_1{--rs-p:var(--rs-unit-x4);border-radius:var(--rs-unit-radius-medium)}._--size-xlarge--m_1fqg4_1 ._input_1fqg4_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}}@media (min-width:900px){._--size-medium--l_1fqg4_1{--rs-p:var(--rs-unit-x2);border-radius:var(--rs-unit-radius-small)}._--size-medium--l_1fqg4_1 ._input_1fqg4_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3)}._--size-large--l_1fqg4_1{--rs-p:var(--rs-unit-x3);border-radius:var(--rs-unit-radius-medium)}._--size-large--l_1fqg4_1 ._input_1fqg4_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}._--size-xlarge--l_1fqg4_1{--rs-p:var(--rs-unit-x4);border-radius:var(--rs-unit-radius-medium)}._--size-xlarge--l_1fqg4_1 ._input_1fqg4_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}}@media (min-width:1280px){._--size-medium--xl_1fqg4_1{--rs-p:var(--rs-unit-x2);border-radius:var(--rs-unit-radius-small)}._--size-medium--xl_1fqg4_1 ._input_1fqg4_1{font-size:var(--rs-font-size-body-3);line-height:var(--rs-line-height-body-3)}._--size-large--xl_1fqg4_1{--rs-p:var(--rs-unit-x3);border-radius:var(--rs-unit-radius-medium)}._--size-large--xl_1fqg4_1 ._input_1fqg4_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}._--size-xlarge--xl_1fqg4_1{--rs-p:var(--rs-unit-x4);border-radius:var(--rs-unit-radius-medium)}._--size-xlarge--xl_1fqg4_1 ._input_1fqg4_1{font-size:var(--rs-font-size-body-2);line-height:var(--rs-line-height-body-2)}}._item_jv9aq_1{margin-bottom:var(--rs-unit-x1);overflow:hidden;padding-bottom:var(--rs-unit-x3);position:relative}._item_jv9aq_1:last-child{margin-bottom:0;padding-bottom:0}._item--full-width_jv9aq_1{margin-bottom:0;padding-bottom:var(--rs-unit-x4)}._item--full-width_jv9aq_1:after{background:var(--rs-color-border-neutral);bottom:0;content:"";height:var(--rs-unit-x4);left:var(--rs-unit-x3);position:absolute;width:1px}._item--full-width_jv9aq_1:last-child{padding-bottom:0}._item--full-width_jv9aq_1:last-child:after{content:none}._marker_jv9aq_1{position:relative}._marker_jv9aq_1:empty:before{border-radius:50%;height:var(--rs-unit-x2);width:var(--rs-unit-x2)}._marker_jv9aq_1:after,._marker_jv9aq_1:empty:before{background:var(--rs-color-border-neutral);content:"";display:block}._marker_jv9aq_1:after{height:100%;left:50%;position:absolute;transform:translate(-50%,var(--rs-unit-x1));width:1px}._item_jv9aq_1:last-child ._marker_jv9aq_1:after{content:none}._root_kygcp_1{background:var(--rs-color-background-elevation-overlay);border-radius:var(--rs-unit-radius-small);box-shadow:var(--rs-shadow-overlay);color:var(--rs-color-foreground-neutral);max-width:360px;padding:var(--rs-unit-x1) var(--rs-unit-x2)}[data-rs-theme=reshaped]{--rs-font-family-title:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-family-body:Inter,BlinkMacSystemFont,-apple-system,Roboto,Helvetica,Arial,sans-serif;--rs-font-weight-regular:400;--rs-font-weight-medium:500;--rs-font-weight-semibold:600;--rs-font-weight-bold:700;--rs-font-weight-heavy:800;--rs-font-weight-black:900;--rs-font-size-title-1:96px;--rs-line-height-title-1:100px;--rs-font-family-title-1:var(--rs-font-family-title);--rs-font-weight-title-1:var(--rs-font-weight-heavy);--rs-font-size-title-2:80px;--rs-line-height-title-2:84px;--rs-font-family-title-2:var(--rs-font-family-title);--rs-font-weight-title-2:var(--rs-font-weight-heavy);--rs-font-size-title-3:64px;--rs-line-height-title-3:68px;--rs-font-family-title-3:var(--rs-font-family-title);--rs-font-weight-title-3:var(--rs-font-weight-heavy);--rs-font-size-title-4:56px;--rs-line-height-title-4:60px;--rs-font-family-title-4:var(--rs-font-family-title);--rs-font-weight-title-4:var(--rs-font-weight-bold);--rs-font-size-title-5:48px;--rs-line-height-title-5:52px;--rs-font-family-title-5:var(--rs-font-family-title);--rs-font-weight-title-5:var(--rs-font-weight-bold);--rs-font-size-title-6:36px;--rs-line-height-title-6:40px;--rs-font-family-title-6:var(--rs-font-family-title);--rs-font-weight-title-6:var(--rs-font-weight-bold);--rs-font-size-featured-1:32px;--rs-line-height-featured-1:40px;--rs-font-family-featured-1:var(--rs-font-family-body);--rs-font-size-featured-2:24px;--rs-line-height-featured-2:32px;--rs-font-family-featured-2:var(--rs-font-family-body);--rs-font-size-featured-3:20px;--rs-line-height-featured-3:28px;--rs-font-family-featured-3:var(--rs-font-family-body);--rs-font-size-body-1:18px;--rs-line-height-body-1:28px;--rs-font-family-body-1:var(--rs-font-family-body);--rs-font-size-body-2:16px;--rs-line-height-body-2:24px;--rs-font-family-body-2:var(--rs-font-family-body);--rs-font-size-body-3:14px;--rs-line-height-body-3:20px;--rs-font-family-body-3:var(--rs-font-family-body);--rs-font-size-caption-1:12px;--rs-line-height-caption-1:16px;--rs-font-family-caption-1:var(--rs-font-family-body);--rs-font-size-caption-2:10px;--rs-line-height-caption-2:12px;--rs-font-family-caption-2:var(--rs-font-family-body);--rs-unit-base:4px;--rs-unit-radius-small:4px;--rs-unit-radius-medium:8px;--rs-unit-radius-large:12px;--rs-unit-x1:4px;--rs-unit-x2:8px;--rs-unit-x3:12px;--rs-unit-x4:16px;--rs-unit-x5:20px;--rs-unit-x6:24px;--rs-unit-x7:28px;--rs-unit-x8:32px;--rs-unit-x9:36px;--rs-unit-x10:40px;--rs-color-white:#fff;--rs-color-black:#000;--rs-color-on-background-primary:#fff;--rs-color-on-background-critical:#fff;--rs-color-on-background-positive:#fff;--rs-color-rgb-white:255,255,255;--rs-color-rgb-black:0,0,0;--rs-duration-fast:.2s;--rs-duration-medium:.3s;--rs-duration-slow:.4s;--rs-easing-standard:cubic-bezier(.4,0,.2,1);--rs-easing-accelerate:cubic-bezier(.4,0,1,1);--rs-easing-decelerate:cubic-bezier(0,0,.2,1);--rs-shadow-raised:0px 2px 3px 0px rgba(0,0,0,.1),0px 1px 2px -1px rgba(0,0,0,.1);--rs-shadow-overlay:0px 5px 10px 0px rgba(0,0,0,.05),0px 15px 25px 0px rgba(0,0,0,.07)}[data-rs-theme=reshaped][data-rs-color-mode=light]{--rs-color-background-primary:#5a58f2;--rs-color-background-primary-faded:#f1f1fe;--rs-color-background-primary-highlighted:#4d4af0;--rs-color-border-primary:#3b38ed;--rs-color-border-primary-faded:#dcdcfb;--rs-color-foreground-primary:#4f4cf0;--rs-color-background-critical:#e22c2c;--rs-color-background-critical-faded:#fdf2f2;--rs-color-background-critical-highlighted:#d02828;--rs-color-border-critical:#bf2424;--rs-color-border-critical-faded:#f6dada;--rs-color-foreground-critical:#c42525;--rs-color-background-positive:#118850;--rs-color-background-positive-faded:#f1fdf8;--rs-color-background-positive-highlighted:#0f7d49;--rs-color-border-positive:#0c6e40;--rs-color-border-positive-faded:#cdede0;--rs-color-foreground-positive:#0d7544;--rs-color-background-neutral:#dfe2ea;--rs-color-background-neutral-faded:#f6f7f9;--rs-color-background-neutral-highlighted:#d2d7e2;--rs-color-border-neutral:#b3bbce;--rs-color-border-neutral-faded:#e2e3e4;--rs-color-foreground-neutral:#14181f;--rs-color-foreground-neutral-faded:#5b667e;--rs-color-background-disabled:#eceef2;--rs-color-background-disabled-faded:#f5f6f9;--rs-color-border-disabled:#dfe2ea;--rs-color-foreground-disabled:#c6ccda;--rs-color-background-elevation-base:#fff;--rs-color-background-elevation-raised:#fff;--rs-color-background-elevation-overlay:#fff;--rs-color-background-page:#fff;--rs-color-background-page-faded:#f9f9fb;--rs-color-rgb-background-primary:90,88,242;--rs-color-rgb-background-primary-faded:241,241,254;--rs-color-rgb-background-primary-highlighted:77,74,240;--rs-color-rgb-background-critical:226,44,44;--rs-color-rgb-background-critical-faded:253,242,242;--rs-color-rgb-background-critical-highlighted:208,40,40;--rs-color-rgb-background-positive:17,136,80;--rs-color-rgb-background-positive-faded:241,253,248;--rs-color-rgb-background-positive-highlighted:15,125,73;--rs-color-on-background-neutral:#000;--rs-color-rgb-background-neutral:223,226,234;--rs-color-rgb-background-neutral-faded:246,247,249;--rs-color-rgb-background-neutral-highlighted:210,215,226;--rs-color-rgb-background-disabled:236,238,242;--rs-color-rgb-background-disabled-faded:245,246,249;--rs-color-rgb-background-elevation-base:255,255,255;--rs-color-rgb-background-elevation-raised:255,255,255;--rs-color-rgb-background-elevation-overlay:255,255,255;--rs-color-rgb-background-page:255,255,255;--rs-color-rgb-background-page-faded:249,249,251}[data-rs-theme=reshaped][data-rs-color-mode=dark]{--rs-color-background-primary:#5350f2;--rs-color-background-primary-faded:#252544;--rs-color-background-primary-highlighted:#605ef4;--rs-color-border-primary:#8b8af7;--rs-color-border-primary-faded:#323164;--rs-color-foreground-primary:#8b8af7;--rs-color-background-critical:#c51b1b;--rs-color-background-critical-faded:#3e1f1f;--rs-color-background-critical-highlighted:#d71f1f;--rs-color-border-critical:#f86666;--rs-color-border-critical-faded:#582929;--rs-color-foreground-critical:#f36a6a;--rs-color-background-positive:#10844e;--rs-color-background-positive-faded:#1f2a23;--rs-color-background-positive-highlighted:#128f55;--rs-color-border-positive:#18ab67;--rs-color-border-positive-faded:#293b2f;--rs-color-foreground-positive:#18ab66;--rs-color-background-neutral:#3f4861;--rs-color-background-neutral-faded:#222835;--rs-color-background-neutral-highlighted:#47516d;--rs-color-border-neutral:#48526e;--rs-color-border-neutral-faded:#2d374c;--rs-color-foreground-neutral:#eff1f5;--rs-color-foreground-neutral-faded:#c0c6d6;--rs-color-background-disabled:#1c212f;--rs-color-background-disabled-faded:#151925;--rs-color-border-disabled:#242a3a;--rs-color-foreground-disabled:#3f4962;--rs-color-background-elevation-base:#131722;--rs-color-background-elevation-raised:#171b27;--rs-color-background-elevation-overlay:#1b1f2c;--rs-color-background-page:#0d111a;--rs-color-background-page-faded:#10131d;--rs-color-rgb-background-primary:83,80,242;--rs-color-rgb-background-primary-faded:37,37,68;--rs-color-rgb-background-primary-highlighted:96,94,244;--rs-color-rgb-background-critical:197,27,27;--rs-color-rgb-background-critical-faded:62,31,31;--rs-color-rgb-background-critical-highlighted:215,31,31;--rs-color-rgb-background-positive:16,132,78;--rs-color-rgb-background-positive-faded:31,42,35;--rs-color-rgb-background-positive-highlighted:18,143,85;--rs-color-on-background-neutral:#fff;--rs-color-rgb-background-neutral:63,72,97;--rs-color-rgb-background-neutral-faded:34,40,53;--rs-color-rgb-background-neutral-highlighted:71,81,109;--rs-color-rgb-background-disabled:28,33,47;--rs-color-rgb-background-disabled-faded:21,25,37;--rs-color-rgb-background-elevation-base:19,23,34;--rs-color-rgb-background-elevation-raised:23,27,39;--rs-color-rgb-background-elevation-overlay:27,31,44;--rs-color-rgb-background-page:13,17,26;--rs-color-rgb-background-page-faded:16,19,29} diff --git a/assets/index-ntB5UaDd.js b/assets/index-ntB5UaDd.js new file mode 100644 index 0000000..6377c32 --- /dev/null +++ b/assets/index-ntB5UaDd.js @@ -0,0 +1,165 @@ +var QP=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Aye=QP((ha,pa)=>{function BE(t,e){for(var r=0;rn[a]})}}}return Object.freeze(Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}))}(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const a of document.querySelectorAll('link[rel="modulepreload"]'))n(a);new MutationObserver(a=>{for(const i of a)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function r(a){const i={};return a.integrity&&(i.integrity=a.integrity),a.referrerPolicy&&(i.referrerPolicy=a.referrerPolicy),a.crossOrigin==="use-credentials"?i.credentials="include":a.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(a){if(a.ep)return;a.ep=!0;const i=r(a);fetch(a.href,i)}})();var B5={},ye=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof B5<"u"?B5:typeof self<"u"?self:{};function va(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}function $o(t){if(t.__esModule)return t;var e=t.default;if(typeof e=="function"){var r=function n(){return this instanceof n?Reflect.construct(e,arguments,this.constructor):e.apply(this,arguments)};r.prototype=e.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(t).forEach(function(n){var a=Object.getOwnPropertyDescriptor(t,n);Object.defineProperty(r,n,a.get?a:{enumerable:!0,get:function(){return t[n]}})}),r}var kE={exports:{}},H1={},FE={exports:{}},gt={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var M0=Symbol.for("react.element"),eD=Symbol.for("react.portal"),tD=Symbol.for("react.fragment"),rD=Symbol.for("react.strict_mode"),nD=Symbol.for("react.profiler"),aD=Symbol.for("react.provider"),iD=Symbol.for("react.context"),sD=Symbol.for("react.forward_ref"),oD=Symbol.for("react.suspense"),lD=Symbol.for("react.memo"),cD=Symbol.for("react.lazy"),k5=Symbol.iterator;function uD(t){return t===null||typeof t!="object"?null:(t=k5&&t[k5]||t["@@iterator"],typeof t=="function"?t:null)}var PE={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},DE=Object.assign,IE={};function zu(t,e,r){this.props=t,this.context=e,this.refs=IE,this.updater=r||PE}zu.prototype.isReactComponent={};zu.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};zu.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function OE(){}OE.prototype=zu.prototype;function R3(t,e,r){this.props=t,this.context=e,this.refs=IE,this.updater=r||PE}var N3=R3.prototype=new OE;N3.constructor=R3;DE(N3,zu.prototype);N3.isPureReactComponent=!0;var F5=Array.isArray,RE=Object.prototype.hasOwnProperty,$3={current:null},NE={key:!0,ref:!0,__self:!0,__source:!0};function $E(t,e,r){var n,a={},i=null,s=null;if(e!=null)for(n in e.ref!==void 0&&(s=e.ref),e.key!==void 0&&(i=""+e.key),e)RE.call(e,n)&&!NE.hasOwnProperty(n)&&(a[n]=e[n]);var o=arguments.length-2;if(o===1)a.children=r;else if(1>>1,x=g[w];if(0>>1;wa(L,m))Fa(G,L)?(g[w]=G,g[F]=m,w=F):(g[w]=L,g[R]=m,w=R);else if(Fa(G,m))g[w]=G,g[F]=m,w=F;else break e}}return f}function a(g,f){var m=g.sortIndex-f.sortIndex;return m!==0?m:g.id-f.id}if(typeof performance=="object"&&typeof performance.now=="function"){var i=performance;t.unstable_now=function(){return i.now()}}else{var s=Date,o=s.now();t.unstable_now=function(){return s.now()-o}}var u=[],y=[],b=1,_=null,A=3,T=!1,k=!1,C=!1,P=typeof setTimeout=="function"?setTimeout:null,B=typeof clearTimeout=="function"?clearTimeout:null,D=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function N(g){for(var f=r(y);f!==null;){if(f.callback===null)n(y);else if(f.startTime<=g)n(y),f.sortIndex=f.expirationTime,e(u,f);else break;f=r(y)}}function $(g){if(C=!1,N(g),!k)if(r(u)!==null)k=!0,v(j);else{var f=r(y);f!==null&&E($,f.startTime-g)}}function j(g,f){k=!1,C&&(C=!1,B(Y),Y=-1),T=!0;var m=A;try{for(N(f),_=r(u);_!==null&&(!(_.expirationTime>f)||g&&!l());){var w=_.callback;if(typeof w=="function"){_.callback=null,A=_.priorityLevel;var x=w(_.expirationTime<=f);f=t.unstable_now(),typeof x=="function"?_.callback=x:_===r(u)&&n(u),N(f)}else n(u);_=r(u)}if(_!==null)var S=!0;else{var R=r(y);R!==null&&E($,R.startTime-f),S=!1}return S}finally{_=null,A=m,T=!1}}var Z=!1,X=null,Y=-1,re=5,M=-1;function l(){return!(t.unstable_now()-Mg||125w?(g.sortIndex=m,e(y,g),r(u)===null&&g===r(y)&&(C?(B(Y),Y=-1):C=!0,E($,m-w))):(g.sortIndex=x,e(u,g),k||T||(k=!0,v(j))),g},t.unstable_shouldYield=l,t.unstable_wrapCallback=function(g){var f=A;return function(){var m=A;A=f;try{return g.apply(this,arguments)}finally{A=m}}}})(UE);zE.exports=UE;var _D=zE.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var HE=pe,ma=_D;function je(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Tv=Object.prototype.hasOwnProperty,ED=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,D5={},I5={};function AD(t){return Tv.call(I5,t)?!0:Tv.call(D5,t)?!1:ED.test(t)?I5[t]=!0:(D5[t]=!0,!1)}function SD(t,e,r,n){if(r!==null&&r.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function CD(t,e,r,n){if(e===null||typeof e>"u"||SD(t,e,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function Gn(t,e,r,n,a,i,s){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=n,this.attributeNamespace=a,this.mustUseProperty=r,this.propertyName=t,this.type=e,this.sanitizeURL=i,this.removeEmptyString=s}var un={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){un[t]=new Gn(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];un[e]=new Gn(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){un[t]=new Gn(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){un[t]=new Gn(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){un[t]=new Gn(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){un[t]=new Gn(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){un[t]=new Gn(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){un[t]=new Gn(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){un[t]=new Gn(t,5,!1,t.toLowerCase(),null,!1,!1)});var j3=/[\-:]([a-z])/g;function z3(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(j3,z3);un[e]=new Gn(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(j3,z3);un[e]=new Gn(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(j3,z3);un[e]=new Gn(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){un[t]=new Gn(t,1,!1,t.toLowerCase(),null,!1,!1)});un.xlinkHref=new Gn("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){un[t]=new Gn(t,1,!1,t.toLowerCase(),null,!0,!0)});function U3(t,e,r,n){var a=un.hasOwnProperty(e)?un[e]:null;(a!==null?a.type!==0:n||!(2o||a[s]!==i[o]){var u=` +`+a[s].replace(" at new "," at ");return t.displayName&&u.includes("")&&(u=u.replace("",t.displayName)),u}while(1<=s&&0<=o);break}}}finally{pb=!1,Error.prepareStackTrace=r}return(t=t?t.displayName||t.name:"")?ld(t):""}function TD(t){switch(t.tag){case 5:return ld(t.type);case 16:return ld("Lazy");case 13:return ld("Suspense");case 19:return ld("SuspenseList");case 0:case 2:case 15:return t=yb(t.type,!1),t;case 11:return t=yb(t.type.render,!1),t;case 1:return t=yb(t.type,!0),t;default:return""}}function Fv(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case Hc:return"Fragment";case Uc:return"Portal";case Mv:return"Profiler";case H3:return"StrictMode";case Bv:return"Suspense";case kv:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case VE:return(t.displayName||"Context")+".Consumer";case qE:return(t._context.displayName||"Context")+".Provider";case G3:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case q3:return e=t.displayName||null,e!==null?e:Fv(t.type)||"Memo";case to:e=t._payload,t=t._init;try{return Fv(t(e))}catch{}}return null}function MD(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return Fv(e);case 8:return e===H3?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function Bo(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function KE(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function BD(t){var e=KE(t)?"checked":"value",r=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),n=""+t[e];if(!t.hasOwnProperty(e)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var a=r.get,i=r.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return a.call(this)},set:function(s){n=""+s,i.call(this,s)}}),Object.defineProperty(t,e,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(s){n=""+s},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function ch(t){t._valueTracker||(t._valueTracker=BD(t))}function ZE(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var r=e.getValue(),n="";return t&&(n=KE(t)?t.checked?"true":"false":t.value),t=n,t!==r?(e.setValue(t),!0):!1}function zp(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Pv(t,e){var r=e.checked;return cr({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??t._wrapperState.initialChecked})}function R5(t,e){var r=e.defaultValue==null?"":e.defaultValue,n=e.checked!=null?e.checked:e.defaultChecked;r=Bo(e.value!=null?e.value:r),t._wrapperState={initialChecked:n,initialValue:r,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function JE(t,e){e=e.checked,e!=null&&U3(t,"checked",e,!1)}function Dv(t,e){JE(t,e);var r=Bo(e.value),n=e.type;if(r!=null)n==="number"?(r===0&&t.value===""||t.value!=r)&&(t.value=""+r):t.value!==""+r&&(t.value=""+r);else if(n==="submit"||n==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?Iv(t,e.type,r):e.hasOwnProperty("defaultValue")&&Iv(t,e.type,Bo(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function N5(t,e,r){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var n=e.type;if(!(n!=="submit"&&n!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,r||e===t.value||(t.value=e),t.defaultValue=e}r=t.name,r!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,r!==""&&(t.name=r)}function Iv(t,e,r){(e!=="number"||zp(t.ownerDocument)!==t)&&(r==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+r&&(t.defaultValue=""+r))}var cd=Array.isArray;function lu(t,e,r,n){if(t=t.options,e){e={};for(var a=0;a"+e.valueOf().toString()+"",e=uh.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function qd(t,e){if(e){var r=t.firstChild;if(r&&r===t.lastChild&&r.nodeType===3){r.nodeValue=e;return}}t.textContent=e}var wd={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},kD=["Webkit","ms","Moz","O"];Object.keys(wd).forEach(function(t){kD.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),wd[e]=wd[t]})});function eA(t,e,r){return e==null||typeof e=="boolean"||e===""?"":r||typeof e!="number"||e===0||wd.hasOwnProperty(t)&&wd[t]?(""+e).trim():e+"px"}function tA(t,e){t=t.style;for(var r in e)if(e.hasOwnProperty(r)){var n=r.indexOf("--")===0,a=eA(r,e[r],n);r==="float"&&(r="cssFloat"),n?t.setProperty(r,a):t[r]=a}}var FD=cr({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Nv(t,e){if(e){if(FD[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(je(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(je(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(je(61))}if(e.style!=null&&typeof e.style!="object")throw Error(je(62))}}function $v(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Lv=null;function V3(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var jv=null,cu=null,uu=null;function j5(t){if(t=F0(t)){if(typeof jv!="function")throw Error(je(280));var e=t.stateNode;e&&(e=K1(e),jv(t.stateNode,t.type,e))}}function rA(t){cu?uu?uu.push(t):uu=[t]:cu=t}function nA(){if(cu){var t=cu,e=uu;if(uu=cu=null,j5(t),e)for(t=0;t>>=0,t===0?32:31-(UD(t)/HD|0)|0}var fh=64,dh=4194304;function ud(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function qp(t,e){var r=t.pendingLanes;if(r===0)return 0;var n=0,a=t.suspendedLanes,i=t.pingedLanes,s=r&268435455;if(s!==0){var o=s&~a;o!==0?n=ud(o):(i&=s,i!==0&&(n=ud(i)))}else s=r&~a,s!==0?n=ud(s):i!==0&&(n=ud(i));if(n===0)return 0;if(e!==0&&e!==n&&!(e&a)&&(a=n&-n,i=e&-e,a>=i||a===16&&(i&4194240)!==0))return e;if(n&4&&(n|=r&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=n;0r;r++)e.push(t);return e}function B0(t,e,r){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-mi(e),t[e]=r}function WD(t,e){var r=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var n=t.eventTimes;for(t=t.expirationTimes;0=Ed),Z5=" ",J5=!1;function EA(t,e){switch(t){case"keyup":return wI.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function AA(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Gc=!1;function EI(t,e){switch(t){case"compositionend":return AA(e);case"keypress":return e.which!==32?null:(J5=!0,Z5);case"textInput":return t=e.data,t===Z5&&J5?null:t;default:return null}}function AI(t,e){if(Gc)return t==="compositionend"||!ex&&EA(t,e)?(t=wA(),op=Y3=co=null,Gc=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:r,offset:e-t};t=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=e4(r)}}function MA(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?MA(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function BA(){for(var t=window,e=zp();e instanceof t.HTMLIFrameElement;){try{var r=typeof e.contentWindow.location.href=="string"}catch{r=!1}if(r)t=e.contentWindow;else break;e=zp(t.document)}return e}function tx(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function DI(t){var e=BA(),r=t.focusedElem,n=t.selectionRange;if(e!==r&&r&&r.ownerDocument&&MA(r.ownerDocument.documentElement,r)){if(n!==null&&tx(r)){if(e=n.start,t=n.end,t===void 0&&(t=e),"selectionStart"in r)r.selectionStart=e,r.selectionEnd=Math.min(t,r.value.length);else if(t=(e=r.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var a=r.textContent.length,i=Math.min(n.start,a);n=n.end===void 0?i:Math.min(n.end,a),!t.extend&&i>n&&(a=n,n=i,i=a),a=t4(r,i);var s=t4(r,n);a&&s&&(t.rangeCount!==1||t.anchorNode!==a.node||t.anchorOffset!==a.offset||t.focusNode!==s.node||t.focusOffset!==s.offset)&&(e=e.createRange(),e.setStart(a.node,a.offset),t.removeAllRanges(),i>n?(t.addRange(e),t.extend(s.node,s.offset)):(e.setEnd(s.node,s.offset),t.addRange(e)))}}for(e=[],t=r;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,qc=null,Vv=null,Sd=null,Wv=!1;function r4(t,e,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Wv||qc==null||qc!==zp(n)||(n=qc,"selectionStart"in n&&tx(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),Sd&&Yd(Sd,n)||(Sd=n,n=Kp(Vv,"onSelect"),0Kc||(t.current=Qv[Kc],Qv[Kc]=null,Kc--)}function Zt(t,e){Kc++,Qv[Kc]=t.current,t.current=e}var ko={},Fn=jo(ko),Qn=jo(!1),Fl=ko;function _u(t,e){var r=t.type.contextTypes;if(!r)return ko;var n=t.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===e)return n.__reactInternalMemoizedMaskedChildContext;var a={},i;for(i in r)a[i]=e[i];return n&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=a),a}function ea(t){return t=t.childContextTypes,t!=null}function Jp(){tr(Qn),tr(Fn)}function c4(t,e,r){if(Fn.current!==ko)throw Error(je(168));Zt(Fn,e),Zt(Qn,r)}function $A(t,e,r){var n=t.stateNode;if(e=e.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var a in n)if(!(a in e))throw Error(je(108,MD(t)||"Unknown",a));return cr({},r,n)}function Yp(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||ko,Fl=Fn.current,Zt(Fn,t),Zt(Qn,Qn.current),!0}function u4(t,e,r){var n=t.stateNode;if(!n)throw Error(je(169));r?(t=$A(t,e,Fl),n.__reactInternalMemoizedMergedChildContext=t,tr(Qn),tr(Fn),Zt(Fn,t)):tr(Qn),Zt(Qn,r)}var xs=null,Z1=!1,Bb=!1;function LA(t){xs===null?xs=[t]:xs.push(t)}function qI(t){Z1=!0,LA(t)}function zo(){if(!Bb&&xs!==null){Bb=!0;var t=0,e=Rt;try{var r=xs;for(Rt=1;t>=s,a-=s,Es=1<<32-mi(e)+a|r<Y?(re=X,X=null):re=X.sibling;var M=A(B,X,N[Y],$);if(M===null){X===null&&(X=re);break}t&&X&&M.alternate===null&&e(B,X),D=i(M,D,Y),Z===null?j=M:Z.sibling=M,Z=M,X=re}if(Y===N.length)return r(B,X),ar&&ol(B,Y),j;if(X===null){for(;YY?(re=X,X=null):re=X.sibling;var l=A(B,X,M.value,$);if(l===null){X===null&&(X=re);break}t&&X&&l.alternate===null&&e(B,X),D=i(l,D,Y),Z===null?j=l:Z.sibling=l,Z=l,X=re}if(M.done)return r(B,X),ar&&ol(B,Y),j;if(X===null){for(;!M.done;Y++,M=N.next())M=_(B,M.value,$),M!==null&&(D=i(M,D,Y),Z===null?j=M:Z.sibling=M,Z=M);return ar&&ol(B,Y),j}for(X=n(B,X);!M.done;Y++,M=N.next())M=T(X,B,Y,M.value,$),M!==null&&(t&&M.alternate!==null&&X.delete(M.key===null?Y:M.key),D=i(M,D,Y),Z===null?j=M:Z.sibling=M,Z=M);return t&&X.forEach(function(d){return e(B,d)}),ar&&ol(B,Y),j}function P(B,D,N,$){if(typeof N=="object"&&N!==null&&N.type===Hc&&N.key===null&&(N=N.props.children),typeof N=="object"&&N!==null){switch(N.$$typeof){case lh:e:{for(var j=N.key,Z=D;Z!==null;){if(Z.key===j){if(j=N.type,j===Hc){if(Z.tag===7){r(B,Z.sibling),D=a(Z,N.props.children),D.return=B,B=D;break e}}else if(Z.elementType===j||typeof j=="object"&&j!==null&&j.$$typeof===to&&b4(j)===Z.type){r(B,Z.sibling),D=a(Z,N.props),D.ref=Sf(B,Z,N),D.return=B,B=D;break e}r(B,Z);break}else e(B,Z);Z=Z.sibling}N.type===Hc?(D=_l(N.props.children,B.mode,$,N.key),D.return=B,B=D):($=yp(N.type,N.key,N.props,null,B.mode,$),$.ref=Sf(B,D,N),$.return=B,B=$)}return s(B);case Uc:e:{for(Z=N.key;D!==null;){if(D.key===Z)if(D.tag===4&&D.stateNode.containerInfo===N.containerInfo&&D.stateNode.implementation===N.implementation){r(B,D.sibling),D=a(D,N.children||[]),D.return=B,B=D;break e}else{r(B,D);break}else e(B,D);D=D.sibling}D=Nb(N,B.mode,$),D.return=B,B=D}return s(B);case to:return Z=N._init,P(B,D,Z(N._payload),$)}if(cd(N))return k(B,D,N,$);if(xf(N))return C(B,D,N,$);gh(B,N)}return typeof N=="string"&&N!==""||typeof N=="number"?(N=""+N,D!==null&&D.tag===6?(r(B,D.sibling),D=a(D,N),D.return=B,B=D):(r(B,D),D=Rb(N,B.mode,$),D.return=B,B=D),s(B)):r(B,D)}return P}var Au=WA(!0),KA=WA(!1),P0={},Zi=jo(P0),t0=jo(P0),r0=jo(P0);function yl(t){if(t===P0)throw Error(je(174));return t}function ux(t,e){switch(Zt(r0,e),Zt(t0,t),Zt(Zi,P0),t=e.nodeType,t){case 9:case 11:e=(e=e.documentElement)?e.namespaceURI:Rv(null,"");break;default:t=t===8?e.parentNode:e,e=t.namespaceURI||null,t=t.tagName,e=Rv(e,t)}tr(Zi),Zt(Zi,e)}function Su(){tr(Zi),tr(t0),tr(r0)}function ZA(t){yl(r0.current);var e=yl(Zi.current),r=Rv(e,t.type);e!==r&&(Zt(t0,t),Zt(Zi,r))}function fx(t){t0.current===t&&(tr(Zi),tr(t0))}var or=jo(0);function n1(t){for(var e=t;e!==null;){if(e.tag===13){var r=e.memoizedState;if(r!==null&&(r=r.dehydrated,r===null||r.data==="$?"||r.data==="$!"))return e}else if(e.tag===19&&e.memoizedProps.revealOrder!==void 0){if(e.flags&128)return e}else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return null;e=e.return}e.sibling.return=e.return,e=e.sibling}return null}var kb=[];function dx(){for(var t=0;tr?r:4,t(!0);var n=Fb.transition;Fb.transition={};try{t(!1),e()}finally{Rt=r,Fb.transition=n}}function fS(){return Ua().memoizedState}function ZI(t,e,r){var n=_o(t);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},dS(t))hS(e,r);else if(r=HA(t,e,r,n),r!==null){var a=jn();bi(r,t,n,a),pS(r,e,n)}}function JI(t,e,r){var n=_o(t),a={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(dS(t))hS(e,a);else{var i=t.alternate;if(t.lanes===0&&(i===null||i.lanes===0)&&(i=e.lastRenderedReducer,i!==null))try{var s=e.lastRenderedState,o=i(s,r);if(a.hasEagerState=!0,a.eagerState=o,_i(o,s)){var u=e.interleaved;u===null?(a.next=a,lx(e)):(a.next=u.next,u.next=a),e.interleaved=a;return}}catch{}finally{}r=HA(t,e,a,n),r!==null&&(a=jn(),bi(r,t,n,a),pS(r,e,n))}}function dS(t){var e=t.alternate;return t===lr||e!==null&&e===lr}function hS(t,e){Cd=a1=!0;var r=t.pending;r===null?e.next=e:(e.next=r.next,r.next=e),t.pending=e}function pS(t,e,r){if(r&4194240){var n=e.lanes;n&=t.pendingLanes,r|=n,e.lanes=r,K3(t,r)}}var i1={readContext:za,useCallback:hn,useContext:hn,useEffect:hn,useImperativeHandle:hn,useInsertionEffect:hn,useLayoutEffect:hn,useMemo:hn,useReducer:hn,useRef:hn,useState:hn,useDebugValue:hn,useDeferredValue:hn,useTransition:hn,useMutableSource:hn,useSyncExternalStore:hn,useId:hn,unstable_isNewReconciler:!1},YI={readContext:za,useCallback:function(t,e){return Oi().memoizedState=[t,e===void 0?null:e],t},useContext:za,useEffect:g4,useImperativeHandle:function(t,e,r){return r=r!=null?r.concat([t]):null,fp(4194308,4,sS.bind(null,e,t),r)},useLayoutEffect:function(t,e){return fp(4194308,4,t,e)},useInsertionEffect:function(t,e){return fp(4,2,t,e)},useMemo:function(t,e){var r=Oi();return e=e===void 0?null:e,t=t(),r.memoizedState=[t,e],t},useReducer:function(t,e,r){var n=Oi();return e=r!==void 0?r(e):e,n.memoizedState=n.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},n.queue=t,t=t.dispatch=ZI.bind(null,lr,t),[n.memoizedState,t]},useRef:function(t){var e=Oi();return t={current:t},e.memoizedState=t},useState:v4,useDebugValue:bx,useDeferredValue:function(t){return Oi().memoizedState=t},useTransition:function(){var t=v4(!1),e=t[0];return t=KI.bind(null,t[1]),Oi().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,r){var n=lr,a=Oi();if(ar){if(r===void 0)throw Error(je(407));r=r()}else{if(r=e(),Kr===null)throw Error(je(349));Dl&30||XA(n,e,r)}a.memoizedState=r;var i={value:r,getSnapshot:e};return a.queue=i,g4(eS.bind(null,n,i,t),[t]),n.flags|=2048,i0(9,QA.bind(null,n,i,r,e),void 0,null),r},useId:function(){var t=Oi(),e=Kr.identifierPrefix;if(ar){var r=As,n=Es;r=(n&~(1<<32-mi(n)-1)).toString(32)+r,e=":"+e+"R"+r,r=n0++,0<\/script>",t=t.removeChild(t.firstChild)):typeof n.is=="string"?t=s.createElement(r,{is:n.is}):(t=s.createElement(r),r==="select"&&(s=t,n.multiple?s.multiple=!0:n.size&&(s.size=n.size))):t=s.createElementNS(t,r),t[Hi]=e,t[e0]=n,ES(t,e,!1,!1),e.stateNode=t;e:{switch(s=$v(r,n),r){case"dialog":Qt("cancel",t),Qt("close",t),a=n;break;case"iframe":case"object":case"embed":Qt("load",t),a=n;break;case"video":case"audio":for(a=0;aTu&&(e.flags|=128,n=!0,Cf(i,!1),e.lanes=4194304)}else{if(!n)if(t=n1(s),t!==null){if(e.flags|=128,n=!0,r=t.updateQueue,r!==null&&(e.updateQueue=r,e.flags|=4),Cf(i,!0),i.tail===null&&i.tailMode==="hidden"&&!s.alternate&&!ar)return pn(e),null}else 2*Ar()-i.renderingStartTime>Tu&&r!==1073741824&&(e.flags|=128,n=!0,Cf(i,!1),e.lanes=4194304);i.isBackwards?(s.sibling=e.child,e.child=s):(r=i.last,r!==null?r.sibling=s:e.child=s,i.last=s)}return i.tail!==null?(e=i.tail,i.rendering=e,i.tail=e.sibling,i.renderingStartTime=Ar(),e.sibling=null,r=or.current,Zt(or,n?r&1|2:r&1),e):(pn(e),null);case 22:case 23:return Ex(),n=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==n&&(e.flags|=8192),n&&e.mode&1?sa&1073741824&&(pn(e),e.subtreeFlags&6&&(e.flags|=8192)):pn(e),null;case 24:return null;case 25:return null}throw Error(je(156,e.tag))}function iO(t,e){switch(nx(e),e.tag){case 1:return ea(e.type)&&Jp(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return Su(),tr(Qn),tr(Fn),dx(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return fx(e),null;case 13:if(tr(or),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(je(340));Eu()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return tr(or),null;case 4:return Su(),null;case 10:return ox(e.type._context),null;case 22:case 23:return Ex(),null;case 24:return null;default:return null}}var wh=!1,Sn=!1,sO=typeof WeakSet=="function"?WeakSet:Set,Je=null;function Xc(t,e){var r=t.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){hr(t,e,n)}else r.current=null}function fg(t,e,r){try{r()}catch(n){hr(t,e,n)}}var M4=!1;function oO(t,e){if(Kv=Vp,t=BA(),tx(t)){if("selectionStart"in t)var r={start:t.selectionStart,end:t.selectionEnd};else e:{r=(r=t.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var a=n.anchorOffset,i=n.focusNode;n=n.focusOffset;try{r.nodeType,i.nodeType}catch{r=null;break e}var s=0,o=-1,u=-1,y=0,b=0,_=t,A=null;t:for(;;){for(var T;_!==r||a!==0&&_.nodeType!==3||(o=s+a),_!==i||n!==0&&_.nodeType!==3||(u=s+n),_.nodeType===3&&(s+=_.nodeValue.length),(T=_.firstChild)!==null;)A=_,_=T;for(;;){if(_===t)break t;if(A===r&&++y===a&&(o=s),A===i&&++b===n&&(u=s),(T=_.nextSibling)!==null)break;_=A,A=_.parentNode}_=T}r=o===-1||u===-1?null:{start:o,end:u}}else r=null}r=r||{start:0,end:0}}else r=null;for(Zv={focusedElem:t,selectionRange:r},Vp=!1,Je=e;Je!==null;)if(e=Je,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,Je=t;else for(;Je!==null;){e=Je;try{var k=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(k!==null){var C=k.memoizedProps,P=k.memoizedState,B=e.stateNode,D=B.getSnapshotBeforeUpdate(e.elementType===e.type?C:li(e.type,C),P);B.__reactInternalSnapshotBeforeUpdate=D}break;case 3:var N=e.stateNode.containerInfo;N.nodeType===1?N.textContent="":N.nodeType===9&&N.documentElement&&N.removeChild(N.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(je(163))}}catch($){hr(e,e.return,$)}if(t=e.sibling,t!==null){t.return=e.return,Je=t;break}Je=e.return}return k=M4,M4=!1,k}function Td(t,e,r){var n=e.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var a=n=n.next;do{if((a.tag&t)===t){var i=a.destroy;a.destroy=void 0,i!==void 0&&fg(e,r,i)}a=a.next}while(a!==n)}}function X1(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var r=e=e.next;do{if((r.tag&t)===t){var n=r.create;r.destroy=n()}r=r.next}while(r!==e)}}function dg(t){var e=t.ref;if(e!==null){var r=t.stateNode;switch(t.tag){case 5:t=r;break;default:t=r}typeof e=="function"?e(t):e.current=t}}function CS(t){var e=t.alternate;e!==null&&(t.alternate=null,CS(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Hi],delete e[e0],delete e[Xv],delete e[HI],delete e[GI])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function TS(t){return t.tag===5||t.tag===3||t.tag===4}function B4(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||TS(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function hg(t,e,r){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?r.nodeType===8?r.parentNode.insertBefore(t,e):r.insertBefore(t,e):(r.nodeType===8?(e=r.parentNode,e.insertBefore(t,r)):(e=r,e.appendChild(t)),r=r._reactRootContainer,r!=null||e.onclick!==null||(e.onclick=Zp));else if(n!==4&&(t=t.child,t!==null))for(hg(t,e,r),t=t.sibling;t!==null;)hg(t,e,r),t=t.sibling}function pg(t,e,r){var n=t.tag;if(n===5||n===6)t=t.stateNode,e?r.insertBefore(t,e):r.appendChild(t);else if(n!==4&&(t=t.child,t!==null))for(pg(t,e,r),t=t.sibling;t!==null;)pg(t,e,r),t=t.sibling}var nn=null,ci=!1;function Ws(t,e,r){for(r=r.child;r!==null;)MS(t,e,r),r=r.sibling}function MS(t,e,r){if(Ki&&typeof Ki.onCommitFiberUnmount=="function")try{Ki.onCommitFiberUnmount(G1,r)}catch{}switch(r.tag){case 5:Sn||Xc(r,e);case 6:var n=nn,a=ci;nn=null,Ws(t,e,r),nn=n,ci=a,nn!==null&&(ci?(t=nn,r=r.stateNode,t.nodeType===8?t.parentNode.removeChild(r):t.removeChild(r)):nn.removeChild(r.stateNode));break;case 18:nn!==null&&(ci?(t=nn,r=r.stateNode,t.nodeType===8?Mb(t.parentNode,r):t.nodeType===1&&Mb(t,r),Zd(t)):Mb(nn,r.stateNode));break;case 4:n=nn,a=ci,nn=r.stateNode.containerInfo,ci=!0,Ws(t,e,r),nn=n,ci=a;break;case 0:case 11:case 14:case 15:if(!Sn&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){a=n=n.next;do{var i=a,s=i.destroy;i=i.tag,s!==void 0&&(i&2||i&4)&&fg(r,e,s),a=a.next}while(a!==n)}Ws(t,e,r);break;case 1:if(!Sn&&(Xc(r,e),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(o){hr(r,e,o)}Ws(t,e,r);break;case 21:Ws(t,e,r);break;case 22:r.mode&1?(Sn=(n=Sn)||r.memoizedState!==null,Ws(t,e,r),Sn=n):Ws(t,e,r);break;default:Ws(t,e,r)}}function k4(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var r=t.stateNode;r===null&&(r=t.stateNode=new sO),e.forEach(function(n){var a=mO.bind(null,t,n);r.has(n)||(r.add(n),n.then(a,a))})}}function Xa(t,e){var r=e.deletions;if(r!==null)for(var n=0;na&&(a=s),n&=~i}if(n=a,n=Ar()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*cO(n/1960))-n,10t?16:t,uo===null)var n=!1;else{if(t=uo,uo=null,l1=0,Tt&6)throw Error(je(331));var a=Tt;for(Tt|=4,Je=t.current;Je!==null;){var i=Je,s=i.child;if(Je.flags&16){var o=i.deletions;if(o!==null){for(var u=0;uAr()-wx?wl(t,0):xx|=r),ta(t,e)}function RS(t,e){e===0&&(t.mode&1?(e=dh,dh<<=1,!(dh&130023424)&&(dh=4194304)):e=1);var r=jn();t=Fs(t,e),t!==null&&(B0(t,e,r),ta(t,r))}function yO(t){var e=t.memoizedState,r=0;e!==null&&(r=e.retryLane),RS(t,r)}function mO(t,e){var r=0;switch(t.tag){case 13:var n=t.stateNode,a=t.memoizedState;a!==null&&(r=a.retryLane);break;case 19:n=t.stateNode;break;default:throw Error(je(314))}n!==null&&n.delete(e),RS(t,r)}var NS;NS=function(t,e,r){if(t!==null)if(t.memoizedProps!==e.pendingProps||Qn.current)Yn=!0;else{if(!(t.lanes&r)&&!(e.flags&128))return Yn=!1,nO(t,e,r);Yn=!!(t.flags&131072)}else Yn=!1,ar&&e.flags&1048576&&jA(e,Qp,e.index);switch(e.lanes=0,e.tag){case 2:var n=e.type;dp(t,e),t=e.pendingProps;var a=_u(e,Fn.current);du(e,r),a=px(null,e,n,t,a,r);var i=yx();return e.flags|=1,typeof a=="object"&&a!==null&&typeof a.render=="function"&&a.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,ea(n)?(i=!0,Yp(e)):i=!1,e.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,cx(e),a.updater=J1,e.stateNode=a,a._reactInternals=e,ag(e,n,t,r),e=og(null,e,n,!0,i,r)):(e.tag=0,ar&&i&&rx(e),$n(null,e,a,r),e=e.child),e;case 16:n=e.elementType;e:{switch(dp(t,e),t=e.pendingProps,a=n._init,n=a(n._payload),e.type=n,a=e.tag=vO(n),t=li(n,t),a){case 0:e=sg(null,e,n,t,r);break e;case 1:e=S4(null,e,n,t,r);break e;case 11:e=E4(null,e,n,t,r);break e;case 14:e=A4(null,e,n,li(n.type,t),r);break e}throw Error(je(306,n,""))}return e;case 0:return n=e.type,a=e.pendingProps,a=e.elementType===n?a:li(n,a),sg(t,e,n,a,r);case 1:return n=e.type,a=e.pendingProps,a=e.elementType===n?a:li(n,a),S4(t,e,n,a,r);case 3:e:{if(xS(e),t===null)throw Error(je(387));n=e.pendingProps,i=e.memoizedState,a=i.element,GA(t,e),r1(e,n,null,r);var s=e.memoizedState;if(n=s.element,i.isDehydrated)if(i={element:n,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},e.updateQueue.baseState=i,e.memoizedState=i,e.flags&256){a=Cu(Error(je(423)),e),e=C4(t,e,n,r,a);break e}else if(n!==a){a=Cu(Error(je(424)),e),e=C4(t,e,n,r,a);break e}else for(fa=go(e.stateNode.containerInfo.firstChild),ya=e,ar=!0,fi=null,r=KA(e,null,n,r),e.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(Eu(),n===a){e=Ps(t,e,r);break e}$n(t,e,n,r)}e=e.child}return e;case 5:return ZA(e),t===null&&tg(e),n=e.type,a=e.pendingProps,i=t!==null?t.memoizedProps:null,s=a.children,Jv(n,a)?s=null:i!==null&&Jv(n,i)&&(e.flags|=32),gS(t,e),$n(t,e,s,r),e.child;case 6:return t===null&&tg(e),null;case 13:return wS(t,e,r);case 4:return ux(e,e.stateNode.containerInfo),n=e.pendingProps,t===null?e.child=Au(e,null,n,r):$n(t,e,n,r),e.child;case 11:return n=e.type,a=e.pendingProps,a=e.elementType===n?a:li(n,a),E4(t,e,n,a,r);case 7:return $n(t,e,e.pendingProps,r),e.child;case 8:return $n(t,e,e.pendingProps.children,r),e.child;case 12:return $n(t,e,e.pendingProps.children,r),e.child;case 10:e:{if(n=e.type._context,a=e.pendingProps,i=e.memoizedProps,s=a.value,Zt(e1,n._currentValue),n._currentValue=s,i!==null)if(_i(i.value,s)){if(i.children===a.children&&!Qn.current){e=Ps(t,e,r);break e}}else for(i=e.child,i!==null&&(i.return=e);i!==null;){var o=i.dependencies;if(o!==null){s=i.child;for(var u=o.firstContext;u!==null;){if(u.context===n){if(i.tag===1){u=Ts(-1,r&-r),u.tag=2;var y=i.updateQueue;if(y!==null){y=y.shared;var b=y.pending;b===null?u.next=u:(u.next=b.next,b.next=u),y.pending=u}}i.lanes|=r,u=i.alternate,u!==null&&(u.lanes|=r),rg(i.return,r,e),o.lanes|=r;break}u=u.next}}else if(i.tag===10)s=i.type===e.type?null:i.child;else if(i.tag===18){if(s=i.return,s===null)throw Error(je(341));s.lanes|=r,o=s.alternate,o!==null&&(o.lanes|=r),rg(s,r,e),s=i.sibling}else s=i.child;if(s!==null)s.return=i;else for(s=i;s!==null;){if(s===e){s=null;break}if(i=s.sibling,i!==null){i.return=s.return,s=i;break}s=s.return}i=s}$n(t,e,a.children,r),e=e.child}return e;case 9:return a=e.type,n=e.pendingProps.children,du(e,r),a=za(a),n=n(a),e.flags|=1,$n(t,e,n,r),e.child;case 14:return n=e.type,a=li(n,e.pendingProps),a=li(n.type,a),A4(t,e,n,a,r);case 15:return bS(t,e,e.type,e.pendingProps,r);case 17:return n=e.type,a=e.pendingProps,a=e.elementType===n?a:li(n,a),dp(t,e),e.tag=1,ea(n)?(t=!0,Yp(e)):t=!1,du(e,r),VA(e,n,a),ag(e,n,a,r),og(null,e,n,!0,t,r);case 19:return _S(t,e,r);case 22:return vS(t,e,r)}throw Error(je(156,e.tag))};function $S(t,e){return uA(t,e)}function bO(t,e,r,n){this.tag=t,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function $a(t,e,r,n){return new bO(t,e,r,n)}function Sx(t){return t=t.prototype,!(!t||!t.isReactComponent)}function vO(t){if(typeof t=="function")return Sx(t)?1:0;if(t!=null){if(t=t.$$typeof,t===G3)return 11;if(t===q3)return 14}return 2}function Eo(t,e){var r=t.alternate;return r===null?(r=$a(t.tag,e,t.key,t.mode),r.elementType=t.elementType,r.type=t.type,r.stateNode=t.stateNode,r.alternate=t,t.alternate=r):(r.pendingProps=e,r.type=t.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=t.flags&14680064,r.childLanes=t.childLanes,r.lanes=t.lanes,r.child=t.child,r.memoizedProps=t.memoizedProps,r.memoizedState=t.memoizedState,r.updateQueue=t.updateQueue,e=t.dependencies,r.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},r.sibling=t.sibling,r.index=t.index,r.ref=t.ref,r}function yp(t,e,r,n,a,i){var s=2;if(n=t,typeof t=="function")Sx(t)&&(s=1);else if(typeof t=="string")s=5;else e:switch(t){case Hc:return _l(r.children,a,i,e);case H3:s=8,a|=8;break;case Mv:return t=$a(12,r,e,a|2),t.elementType=Mv,t.lanes=i,t;case Bv:return t=$a(13,r,e,a),t.elementType=Bv,t.lanes=i,t;case kv:return t=$a(19,r,e,a),t.elementType=kv,t.lanes=i,t;case WE:return ey(r,a,i,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case qE:s=10;break e;case VE:s=9;break e;case G3:s=11;break e;case q3:s=14;break e;case to:s=16,n=null;break e}throw Error(je(130,t==null?t:typeof t,""))}return e=$a(s,r,e,a),e.elementType=t,e.type=n,e.lanes=i,e}function _l(t,e,r,n){return t=$a(7,t,n,e),t.lanes=r,t}function ey(t,e,r,n){return t=$a(22,t,n,e),t.elementType=WE,t.lanes=r,t.stateNode={isHidden:!1},t}function Rb(t,e,r){return t=$a(6,t,null,e),t.lanes=r,t}function Nb(t,e,r){return e=$a(4,t.children!==null?t.children:[],t.key,e),e.lanes=r,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function gO(t,e,r,n,a){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=bb(0),this.expirationTimes=bb(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=bb(0),this.identifierPrefix=n,this.onRecoverableError=a,this.mutableSourceEagerHydrationData=null}function Cx(t,e,r,n,a,i,s,o,u){return t=new gO(t,e,r,o,u),e===1?(e=1,i===!0&&(e|=8)):e=0,i=$a(3,null,null,e),t.current=i,i.stateNode=t,i.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},cx(i),t}function xO(t,e,r){var n=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(US)}catch(t){console.error(t)}}US(),jE.exports=ga;var kx=jE.exports;const HS=va(kx),SO=BE({__proto__:null,default:HS},[kx]);var GS,$4=kx;GS=$4.createRoot,$4.hydrateRoot;/** + * @remix-run/router v1.13.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function pr(){return pr=Object.assign?Object.assign.bind():function(t){for(var e=1;e"u")throw new Error(e)}function Fo(t,e){if(!t){typeof console<"u"&&console.warn(e);try{throw new Error(e)}catch{}}}function TO(){return Math.random().toString(36).substr(2,8)}function j4(t,e){return{usr:t.state,key:t.key,idx:e}}function o0(t,e,r,n){return r===void 0&&(r=null),pr({pathname:typeof t=="string"?t:t.pathname,search:"",hash:""},typeof e=="string"?os(e):e,{state:r,key:e&&e.key||n||TO()})}function D0(t){let{pathname:e="/",search:r="",hash:n=""}=t;return r&&r!=="?"&&(e+=r.charAt(0)==="?"?r:"?"+r),n&&n!=="#"&&(e+=n.charAt(0)==="#"?n:"#"+n),e}function os(t){let e={};if(t){let r=t.indexOf("#");r>=0&&(e.hash=t.substr(r),t=t.substr(0,r));let n=t.indexOf("?");n>=0&&(e.search=t.substr(n),t=t.substr(0,n)),t&&(e.pathname=t)}return e}function MO(t,e,r,n){n===void 0&&(n={});let{window:a=document.defaultView,v5Compat:i=!1}=n,s=a.history,o=xr.Pop,u=null,y=b();y==null&&(y=0,s.replaceState(pr({},s.state,{idx:y}),""));function b(){return(s.state||{idx:null}).idx}function _(){o=xr.Pop;let P=b(),B=P==null?null:P-y;y=P,u&&u({action:o,location:C.location,delta:B})}function A(P,B){o=xr.Push;let D=o0(C.location,P,B);r&&r(D,P),y=b()+1;let N=j4(D,y),$=C.createHref(D);try{s.pushState(N,"",$)}catch(j){if(j instanceof DOMException&&j.name==="DataCloneError")throw j;a.location.assign($)}i&&u&&u({action:o,location:C.location,delta:1})}function T(P,B){o=xr.Replace;let D=o0(C.location,P,B);r&&r(D,P),y=b();let N=j4(D,y),$=C.createHref(D);s.replaceState(N,"",$),i&&u&&u({action:o,location:C.location,delta:0})}function k(P){let B=a.location.origin!=="null"?a.location.origin:a.location.href,D=typeof P=="string"?P:D0(P);return vt(B,"No window.location.(origin|href) available to create URL for href: "+D),new URL(D,B)}let C={get action(){return o},get location(){return t(a,s)},listen(P){if(u)throw new Error("A history only accepts one active listener");return a.addEventListener(L4,_),u=P,()=>{a.removeEventListener(L4,_),u=null}},createHref(P){return e(a,P)},createURL:k,encodeLocation(P){let B=k(P);return{pathname:B.pathname,search:B.search,hash:B.hash}},push:A,replace:T,go(P){return s.go(P)}};return C}var _r;(function(t){t.data="data",t.deferred="deferred",t.redirect="redirect",t.error="error"})(_r||(_r={}));const BO=new Set(["lazy","caseSensitive","path","id","index","children"]);function kO(t){return t.index===!0}function gg(t,e,r,n){return r===void 0&&(r=[]),n===void 0&&(n={}),t.map((a,i)=>{let s=[...r,i],o=typeof a.id=="string"?a.id:s.join("-");if(vt(a.index!==!0||!a.children,"Cannot specify children on an index route"),vt(!n[o],'Found a route id collision on id "'+o+`". Route id's must be globally unique within Data Router usages`),kO(a)){let u=pr({},a,e(a),{id:o});return n[o]=u,u}else{let u=pr({},a,e(a),{id:o,children:void 0});return n[o]=u,a.children&&(u.children=gg(a.children,e,s,n)),u}})}function eu(t,e,r){r===void 0&&(r="/");let n=typeof e=="string"?os(e):e,a=I0(n.pathname||"/",r);if(a==null)return null;let i=qS(t);PO(i);let s=null;for(let o=0;s==null&&o{let u={relativePath:o===void 0?i.path||"":o,caseSensitive:i.caseSensitive===!0,childrenIndex:s,route:i};u.relativePath.startsWith("/")&&(vt(u.relativePath.startsWith(n),'Absolute route path "'+u.relativePath+'" nested under path '+('"'+n+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),u.relativePath=u.relativePath.slice(n.length));let y=Ao([n,u.relativePath]),b=r.concat(u);i.children&&i.children.length>0&&(vt(i.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+y+'".')),qS(i.children,e,b,y)),!(i.path==null&&!i.index)&&e.push({path:y,score:LO(y,i.index),routesMeta:b})};return t.forEach((i,s)=>{var o;if(i.path===""||!((o=i.path)!=null&&o.includes("?")))a(i,s);else for(let u of VS(i.path))a(i,s,u)}),e}function VS(t){let e=t.split("/");if(e.length===0)return[];let[r,...n]=e,a=r.endsWith("?"),i=r.replace(/\?$/,"");if(n.length===0)return a?[i,""]:[i];let s=VS(n.join("/")),o=[];return o.push(...s.map(u=>u===""?i:[i,u].join("/"))),a&&o.push(...s),o.map(u=>t.startsWith("/")&&u===""?"/":u)}function PO(t){t.sort((e,r)=>e.score!==r.score?r.score-e.score:jO(e.routesMeta.map(n=>n.childrenIndex),r.routesMeta.map(n=>n.childrenIndex)))}const DO=/^:\w+$/,IO=3,OO=2,RO=1,NO=10,$O=-2,z4=t=>t==="*";function LO(t,e){let r=t.split("/"),n=r.length;return r.some(z4)&&(n+=$O),e&&(n+=OO),r.filter(a=>!z4(a)).reduce((a,i)=>a+(DO.test(i)?IO:i===""?RO:NO),n)}function jO(t,e){return t.length===e.length&&t.slice(0,-1).every((n,a)=>n===e[a])?t[t.length-1]-e[e.length-1]:0}function zO(t,e){let{routesMeta:r}=t,n={},a="/",i=[];for(let s=0;s{let{paramName:A,isOptional:T}=b;if(A==="*"){let C=o[_]||"";s=i.slice(0,i.length-C.length).replace(/(.)\/+$/,"$1")}const k=o[_];return T&&!k?y[A]=void 0:y[A]=qO(k||"",A),y},{}),pathname:i,pathnameBase:s,pattern:t}}function HO(t,e,r){e===void 0&&(e=!1),r===void 0&&(r=!0),Fo(t==="*"||!t.endsWith("*")||t.endsWith("/*"),'Route path "'+t+'" will be treated as if it were '+('"'+t.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+t.replace(/\*$/,"/*")+'".'));let n=[],a="^"+t.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^${}|()[\]]/g,"\\$&").replace(/\/:(\w+)(\?)?/g,(s,o,u)=>(n.push({paramName:o,isOptional:u!=null}),u?"/?([^\\/]+)?":"/([^\\/]+)"));return t.endsWith("*")?(n.push({paramName:"*"}),a+=t==="*"||t==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):r?a+="\\/*$":t!==""&&t!=="/"&&(a+="(?:(?=\\/|$))"),[new RegExp(a,e?void 0:"i"),n]}function GO(t){try{return decodeURI(t)}catch(e){return Fo(!1,'The URL path "'+t+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+e+").")),t}}function qO(t,e){try{return decodeURIComponent(t)}catch(r){return Fo(!1,'The value for the URL param "'+e+'" will not be decoded because'+(' the string "'+t+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+r+").")),t}}function I0(t,e){if(e==="/")return t;if(!t.toLowerCase().startsWith(e.toLowerCase()))return null;let r=e.endsWith("/")?e.length-1:e.length,n=t.charAt(r);return n&&n!=="/"?null:t.slice(r)||"/"}function VO(t,e){e===void 0&&(e="/");let{pathname:r,search:n="",hash:a=""}=typeof t=="string"?os(t):t;return{pathname:r?r.startsWith("/")?r:WO(r,e):e,search:ZO(n),hash:JO(a)}}function WO(t,e){let r=e.replace(/\/+$/,"").split("/");return t.split("/").forEach(a=>{a===".."?r.length>1&&r.pop():a!=="."&&r.push(a)}),r.length>1?r.join("/"):"/"}function $b(t,e,r,n){return"Cannot include a '"+t+"' character in a manually specified "+("`to."+e+"` field ["+JSON.stringify(n)+"]. Please separate it out to the ")+("`to."+r+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function WS(t){return t.filter((e,r)=>r===0||e.route.path&&e.route.path.length>0)}function KS(t){return WS(t).map((e,r)=>r===t.length-1?e.pathname:e.pathnameBase)}function ZS(t,e,r,n){n===void 0&&(n=!1);let a;typeof t=="string"?a=os(t):(a=pr({},t),vt(!a.pathname||!a.pathname.includes("?"),$b("?","pathname","search",a)),vt(!a.pathname||!a.pathname.includes("#"),$b("#","pathname","hash",a)),vt(!a.search||!a.search.includes("#"),$b("#","search","hash",a)));let i=t===""||a.pathname==="",s=i?"/":a.pathname,o;if(s==null)o=r;else if(n){let _=e[e.length-1].replace(/^\//,"").split("/");if(s.startsWith("..")){let A=s.split("/");for(;A[0]==="..";)A.shift(),_.pop();a.pathname=A.join("/")}o="/"+_.join("/")}else{let _=e.length-1;if(s.startsWith("..")){let A=s.split("/");for(;A[0]==="..";)A.shift(),_-=1;a.pathname=A.join("/")}o=_>=0?e[_]:"/"}let u=VO(a,o),y=s&&s!=="/"&&s.endsWith("/"),b=(i||s===".")&&r.endsWith("/");return!u.pathname.endsWith("/")&&(y||b)&&(u.pathname+="/"),u}const Ao=t=>t.join("/").replace(/\/\/+/g,"/"),KO=t=>t.replace(/\/+$/,"").replace(/^\/*/,"/"),ZO=t=>!t||t==="?"?"":t.startsWith("?")?t:"?"+t,JO=t=>!t||t==="#"?"":t.startsWith("#")?t:"#"+t;class Fx{constructor(e,r,n,a){a===void 0&&(a=!1),this.status=e,this.statusText=r||"",this.internal=a,n instanceof Error?(this.data=n.toString(),this.error=n):this.data=n}}function JS(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.internal=="boolean"&&"data"in t}const YS=["post","put","patch","delete"],YO=new Set(YS),XO=["get",...YS],QO=new Set(XO),eR=new Set([301,302,303,307,308]),tR=new Set([307,308]),Lb={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},rR={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Mf={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},XS=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,nR=t=>({hasErrorBoundary:!!t.hasErrorBoundary}),QS="remix-router-transitions";function aR(t){const e=t.window?t.window:typeof window<"u"?window:void 0,r=typeof e<"u"&&typeof e.document<"u"&&typeof e.document.createElement<"u",n=!r;vt(t.routes.length>0,"You must provide a non-empty routes array to createRouter");let a;if(t.mapRouteProperties)a=t.mapRouteProperties;else if(t.detectErrorBoundary){let ne=t.detectErrorBoundary;a=ae=>({hasErrorBoundary:ne(ae)})}else a=nR;let i={},s=gg(t.routes,a,void 0,i),o,u=t.basename||"/",y=pr({v7_fetcherPersist:!1,v7_normalizeFormMethod:!1,v7_prependBasename:!1},t.future),b=null,_=new Set,A=null,T=null,k=null,C=t.hydrationData!=null,P=eu(s,t.history.location,u),B=null;if(P==null){let ne=Pa(404,{pathname:t.history.location.pathname}),{matches:ae,route:xe}=Z4(s);P=ae,B={[xe.id]:ne}}let D=!P.some(ne=>ne.route.lazy)&&(!P.some(ne=>ne.route.loader)||t.hydrationData!=null),N,$={historyAction:t.history.action,location:t.history.location,matches:P,initialized:D,navigation:Lb,restoreScrollPosition:t.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:t.hydrationData&&t.hydrationData.loaderData||{},actionData:t.hydrationData&&t.hydrationData.actionData||null,errors:t.hydrationData&&t.hydrationData.errors||B,fetchers:new Map,blockers:new Map},j=xr.Pop,Z=!1,X,Y=!1,re=new Map,M=null,l=!1,d=!1,h=[],c=[],p=new Map,v=0,E=-1,g=new Map,f=new Set,m=new Map,w=new Map,x=new Set,S=new Map,R=new Map,L=!1;function F(){if(b=t.history.listen(ne=>{let{action:ae,location:xe,delta:ge}=ne;if(L){L=!1;return}Fo(R.size===0||ge!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let ve=Qe({currentLocation:$.location,nextLocation:xe,historyAction:ae});if(ve&&ge!=null){L=!0,t.history.go(ge*-1),ke(ve,{state:"blocked",location:xe,proceed(){ke(ve,{state:"proceeding",proceed:void 0,reset:void 0,location:xe}),t.history.go(ge)},reset(){let Ve=new Map($.blockers);Ve.set(ve,Mf),V({blockers:Ve})}});return}return W(ae,xe)}),r){yR(e,re);let ne=()=>mR(e,re);e.addEventListener("pagehide",ne),M=()=>e.removeEventListener("pagehide",ne)}return $.initialized||W(xr.Pop,$.location),N}function G(){b&&b(),M&&M(),_.clear(),X&&X.abort(),$.fetchers.forEach((ne,ae)=>he(ae)),$.blockers.forEach((ne,ae)=>Ne(ae))}function z(ne){return _.add(ne),()=>_.delete(ne)}function V(ne,ae){ae===void 0&&(ae={}),$=pr({},$,ne);let xe=[],ge=[];y.v7_fetcherPersist&&$.fetchers.forEach((ve,Ve)=>{ve.state==="idle"&&(x.has(Ve)?ge.push(Ve):xe.push(Ve))}),[..._].forEach(ve=>ve($,{deletedFetchers:ge,unstable_viewTransitionOpts:ae.viewTransitionOpts,unstable_flushSync:ae.flushSync===!0})),y.v7_fetcherPersist&&(xe.forEach(ve=>$.fetchers.delete(ve)),ge.forEach(ve=>he(ve)))}function se(ne,ae,xe){var ge,ve;let{flushSync:Ve}=xe===void 0?{}:xe,Ce=$.actionData!=null&&$.navigation.formMethod!=null&&ui($.navigation.formMethod)&&$.navigation.state==="loading"&&((ge=ne.state)==null?void 0:ge._isRedirect)!==!0,_e;ae.actionData?Object.keys(ae.actionData).length>0?_e=ae.actionData:_e=null:Ce?_e=$.actionData:_e=null;let Le=ae.loaderData?K4($.loaderData,ae.loaderData,ae.matches||[],ae.errors):$.loaderData,Be=$.blockers;Be.size>0&&(Be=new Map(Be),Be.forEach((De,Te)=>Be.set(Te,Mf)));let Me=Z===!0||$.navigation.formMethod!=null&&ui($.navigation.formMethod)&&((ve=ne.state)==null?void 0:ve._isRedirect)!==!0;o&&(s=o,o=void 0),l||j===xr.Pop||(j===xr.Push?t.history.push(ne,ne.state):j===xr.Replace&&t.history.replace(ne,ne.state));let Ke;if(j===xr.Pop){let De=re.get($.location.pathname);De&&De.has(ne.pathname)?Ke={currentLocation:$.location,nextLocation:ne}:re.has(ne.pathname)&&(Ke={currentLocation:ne,nextLocation:$.location})}else if(Y){let De=re.get($.location.pathname);De?De.add(ne.pathname):(De=new Set([ne.pathname]),re.set($.location.pathname,De)),Ke={currentLocation:$.location,nextLocation:ne}}V(pr({},ae,{actionData:_e,loaderData:Le,historyAction:j,location:ne,initialized:!0,navigation:Lb,revalidation:"idle",restoreScrollPosition:$e(ne,ae.matches||$.matches),preventScrollReset:Me,blockers:Be}),{viewTransitionOpts:Ke,flushSync:Ve===!0}),j=xr.Pop,Z=!1,Y=!1,l=!1,d=!1,h=[],c=[]}async function ie(ne,ae){if(typeof ne=="number"){t.history.go(ne);return}let xe=xg($.location,$.matches,u,y.v7_prependBasename,ne,ae==null?void 0:ae.fromRouteId,ae==null?void 0:ae.relative),{path:ge,submission:ve,error:Ve}=U4(y.v7_normalizeFormMethod,!1,xe,ae),Ce=$.location,_e=o0($.location,ge,ae&&ae.state);_e=pr({},_e,t.history.encodeLocation(_e));let Le=ae&&ae.replace!=null?ae.replace:void 0,Be=xr.Push;Le===!0?Be=xr.Replace:Le===!1||ve!=null&&ui(ve.formMethod)&&ve.formAction===$.location.pathname+$.location.search&&(Be=xr.Replace);let Me=ae&&"preventScrollReset"in ae?ae.preventScrollReset===!0:void 0,Ke=(ae&&ae.unstable_flushSync)===!0,De=Qe({currentLocation:Ce,nextLocation:_e,historyAction:Be});if(De){ke(De,{state:"blocked",location:_e,proceed(){ke(De,{state:"proceeding",proceed:void 0,reset:void 0,location:_e}),ie(ne,ae)},reset(){let Te=new Map($.blockers);Te.set(De,Mf),V({blockers:Te})}});return}return await W(Be,_e,{submission:ve,pendingError:Ve,preventScrollReset:Me,replace:ae&&ae.replace,enableViewTransition:ae&&ae.unstable_viewTransition,flushSync:Ke})}function U(){if(fe(),V({revalidation:"loading"}),$.navigation.state!=="submitting"){if($.navigation.state==="idle"){W($.historyAction,$.location,{startUninterruptedRevalidation:!0});return}W(j||$.historyAction,$.navigation.location,{overrideNavigation:$.navigation})}}async function W(ne,ae,xe){X&&X.abort(),X=null,j=ne,l=(xe&&xe.startUninterruptedRevalidation)===!0,We($.location,$.matches),Z=(xe&&xe.preventScrollReset)===!0,Y=(xe&&xe.enableViewTransition)===!0;let ge=o||s,ve=xe&&xe.overrideNavigation,Ve=eu(ge,ae,u),Ce=(xe&&xe.flushSync)===!0;if(!Ve){let Te=Pa(404,{pathname:ae.pathname}),{matches:et,route:He}=Z4(ge);Ue(),se(ae,{matches:et,loaderData:{},errors:{[He.id]:Te}},{flushSync:Ce});return}if($.initialized&&!d&&cR($.location,ae)&&!(xe&&xe.submission&&ui(xe.submission.formMethod))){se(ae,{matches:Ve},{flushSync:Ce});return}X=new AbortController;let _e=kf(t.history,ae,X.signal,xe&&xe.submission),Le,Be;if(xe&&xe.pendingError)Be={[kd(Ve).route.id]:xe.pendingError};else if(xe&&xe.submission&&ui(xe.submission.formMethod)){let Te=await ce(_e,ae,xe.submission,Ve,{replace:xe.replace,flushSync:Ce});if(Te.shortCircuited)return;Le=Te.pendingActionData,Be=Te.pendingActionError,ve=jb(ae,xe.submission),Ce=!1,_e=new Request(_e.url,{signal:_e.signal})}let{shortCircuited:Me,loaderData:Ke,errors:De}=await oe(_e,ae,Ve,ve,xe&&xe.submission,xe&&xe.fetcherSubmission,xe&&xe.replace,Ce,Le,Be);Me||(X=null,se(ae,pr({matches:Ve},Le?{actionData:Le}:{},{loaderData:Ke,errors:De})))}async function ce(ne,ae,xe,ge,ve){ve===void 0&&(ve={}),fe();let Ve=hR(ae,xe);V({navigation:Ve},{flushSync:ve.flushSync===!0});let Ce,_e=_g(ge,ae);if(!_e.route.action&&!_e.route.lazy)Ce={type:_r.error,error:Pa(405,{method:ne.method,pathname:ae.pathname,routeId:_e.route.id})};else if(Ce=await Bf("action",ne,_e,ge,i,a,u),ne.signal.aborted)return{shortCircuited:!0};if(pu(Ce)){let Le;return ve&&ve.replace!=null?Le=ve.replace:Le=Ce.location===$.location.pathname+$.location.search,await q($,Ce,{submission:xe,replace:Le}),{shortCircuited:!0}}if(Fd(Ce)){let Le=kd(ge,_e.route.id);return(ve&&ve.replace)!==!0&&(j=xr.Push),{pendingActionData:{},pendingActionError:{[Le.route.id]:Ce.error}}}if(ml(Ce))throw Pa(400,{type:"defer-action"});return{pendingActionData:{[_e.route.id]:Ce.data}}}async function oe(ne,ae,xe,ge,ve,Ve,Ce,_e,Le,Be){let Me=ge||jb(ae,ve),Ke=ve||Ve||X4(Me),De=o||s,[Te,et]=H4(t.history,$,xe,Ke,ae,d,h,c,x,m,f,De,u,Le,Be);if(Ue(tt=>!(xe&&xe.some(yt=>yt.route.id===tt))||Te&&Te.some(yt=>yt.route.id===tt)),E=++v,Te.length===0&&et.length===0){let tt=Ae();return se(ae,pr({matches:xe,loaderData:{},errors:Be||null},Le?{actionData:Le}:{},tt?{fetchers:new Map($.fetchers)}:{}),{flushSync:_e}),{shortCircuited:!0}}if(!l){et.forEach(yt=>{let st=$.fetchers.get(yt.key),Bt=Ff(void 0,st?st.data:void 0);$.fetchers.set(yt.key,Bt)});let tt=Le||$.actionData;V(pr({navigation:Me},tt?Object.keys(tt).length===0?{actionData:null}:{actionData:tt}:{},et.length>0?{fetchers:new Map($.fetchers)}:{}),{flushSync:_e})}et.forEach(tt=>{p.has(tt.key)&&ue(tt.key),tt.controller&&p.set(tt.key,tt.controller)});let He=()=>et.forEach(tt=>ue(tt.key));X&&X.signal.addEventListener("abort",He);let{results:Ie,loaderResults:dt,fetcherResults:qe}=await te($.matches,xe,Te,et,ne);if(ne.signal.aborted)return{shortCircuited:!0};X&&X.signal.removeEventListener("abort",He),et.forEach(tt=>p.delete(tt.key));let Fe=J4(Ie);if(Fe){if(Fe.idx>=Te.length){let tt=et[Fe.idx-Te.length].key;f.add(tt)}return await q($,Fe.result,{replace:Ce}),{shortCircuited:!0}}let{loaderData:nt,errors:at}=W4($,xe,Te,dt,Be,et,qe,S);S.forEach((tt,yt)=>{tt.subscribe(st=>{(st||tt.done)&&S.delete(yt)})});let it=Ae(),$t=we(E),Pt=it||$t||et.length>0;return pr({loaderData:nt,errors:at},Pt?{fetchers:new Map($.fetchers)}:{})}function K(ne,ae,xe,ge){if(n)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");p.has(ne)&&ue(ne);let ve=(ge&&ge.unstable_flushSync)===!0,Ve=o||s,Ce=xg($.location,$.matches,u,y.v7_prependBasename,xe,ae,ge==null?void 0:ge.relative),_e=eu(Ve,Ce,u);if(!_e){J(ne,ae,Pa(404,{pathname:Ce}),{flushSync:ve});return}let{path:Le,submission:Be,error:Me}=U4(y.v7_normalizeFormMethod,!0,Ce,ge);if(Me){J(ne,ae,Me,{flushSync:ve});return}let Ke=_g(_e,Le);if(Z=(ge&&ge.preventScrollReset)===!0,Be&&ui(Be.formMethod)){I(ne,ae,Le,Ke,_e,ve,Be);return}m.set(ne,{routeId:ae,path:Le}),O(ne,ae,Le,Ke,_e,ve,Be)}async function I(ne,ae,xe,ge,ve,Ve,Ce){if(fe(),m.delete(ne),!ge.route.action&&!ge.route.lazy){let st=Pa(405,{method:Ce.formMethod,pathname:xe,routeId:ae});J(ne,ae,st,{flushSync:Ve});return}let _e=$.fetchers.get(ne);H(ne,pR(Ce,_e),{flushSync:Ve});let Le=new AbortController,Be=kf(t.history,xe,Le.signal,Ce);p.set(ne,Le);let Me=v,Ke=await Bf("action",Be,ge,ve,i,a,u);if(Be.signal.aborted){p.get(ne)===Le&&p.delete(ne);return}if(x.has(ne)){H(ne,Xs(void 0));return}if(pu(Ke))if(p.delete(ne),E>Me){H(ne,Xs(void 0));return}else return f.add(ne),H(ne,Ff(Ce)),q($,Ke,{fetcherSubmission:Ce});if(Fd(Ke)){J(ne,ae,Ke.error);return}if(ml(Ke))throw Pa(400,{type:"defer-action"});let De=$.navigation.location||$.location,Te=kf(t.history,De,Le.signal),et=o||s,He=$.navigation.state!=="idle"?eu(et,$.navigation.location,u):$.matches;vt(He,"Didn't find any matches after fetcher action");let Ie=++v;g.set(ne,Ie);let dt=Ff(Ce,Ke.data);$.fetchers.set(ne,dt);let[qe,Fe]=H4(t.history,$,He,Ce,De,d,h,c,x,m,f,et,u,{[ge.route.id]:Ke.data},void 0);Fe.filter(st=>st.key!==ne).forEach(st=>{let Bt=st.key,ur=$.fetchers.get(Bt),br=Ff(void 0,ur?ur.data:void 0);$.fetchers.set(Bt,br),p.has(Bt)&&ue(Bt),st.controller&&p.set(Bt,st.controller)}),V({fetchers:new Map($.fetchers)});let nt=()=>Fe.forEach(st=>ue(st.key));Le.signal.addEventListener("abort",nt);let{results:at,loaderResults:it,fetcherResults:$t}=await te($.matches,He,qe,Fe,Te);if(Le.signal.aborted)return;Le.signal.removeEventListener("abort",nt),g.delete(ne),p.delete(ne),Fe.forEach(st=>p.delete(st.key));let Pt=J4(at);if(Pt){if(Pt.idx>=qe.length){let st=Fe[Pt.idx-qe.length].key;f.add(st)}return q($,Pt.result)}let{loaderData:tt,errors:yt}=W4($,$.matches,qe,it,void 0,Fe,$t,S);if($.fetchers.has(ne)){let st=Xs(Ke.data);$.fetchers.set(ne,st)}we(Ie),$.navigation.state==="loading"&&Ie>E?(vt(j,"Expected pending action"),X&&X.abort(),se($.navigation.location,{matches:He,loaderData:tt,errors:yt,fetchers:new Map($.fetchers)})):(V({errors:yt,loaderData:K4($.loaderData,tt,He,yt),fetchers:new Map($.fetchers)}),d=!1)}async function O(ne,ae,xe,ge,ve,Ve,Ce){let _e=$.fetchers.get(ne);H(ne,Ff(Ce,_e?_e.data:void 0),{flushSync:Ve});let Le=new AbortController,Be=kf(t.history,xe,Le.signal);p.set(ne,Le);let Me=v,Ke=await Bf("loader",Be,ge,ve,i,a,u);if(ml(Ke)&&(Ke=await rC(Ke,Be.signal,!0)||Ke),p.get(ne)===Le&&p.delete(ne),!Be.signal.aborted){if(x.has(ne)){H(ne,Xs(void 0));return}if(pu(Ke))if(E>Me){H(ne,Xs(void 0));return}else{f.add(ne),await q($,Ke);return}if(Fd(Ke)){J(ne,ae,Ke.error);return}vt(!ml(Ke),"Unhandled fetcher deferred data"),H(ne,Xs(Ke.data))}}async function q(ne,ae,xe){let{submission:ge,fetcherSubmission:ve,replace:Ve}=xe===void 0?{}:xe;ae.revalidate&&(d=!0);let Ce=o0(ne.location,ae.location,{_isRedirect:!0});if(vt(Ce,"Expected a location on the redirect navigation"),r){let De=!1;if(ae.reloadDocument)De=!0;else if(XS.test(ae.location)){const Te=t.history.createURL(ae.location);De=Te.origin!==e.location.origin||I0(Te.pathname,u)==null}if(De){Ve?e.location.replace(ae.location):e.location.assign(ae.location);return}}X=null;let _e=Ve===!0?xr.Replace:xr.Push,{formMethod:Le,formAction:Be,formEncType:Me}=ne.navigation;!ge&&!ve&&Le&&Be&&Me&&(ge=X4(ne.navigation));let Ke=ge||ve;if(tR.has(ae.status)&&Ke&&ui(Ke.formMethod))await W(_e,Ce,{submission:pr({},Ke,{formAction:ae.location}),preventScrollReset:Z});else{let De=jb(Ce,ge);await W(_e,Ce,{overrideNavigation:De,fetcherSubmission:ve,preventScrollReset:Z})}}async function te(ne,ae,xe,ge,ve){let Ve=await Promise.all([...xe.map(Le=>Bf("loader",ve,Le,ae,i,a,u)),...ge.map(Le=>Le.matches&&Le.match&&Le.controller?Bf("loader",kf(t.history,Le.path,Le.controller.signal),Le.match,Le.matches,i,a,u):{type:_r.error,error:Pa(404,{pathname:Le.path})})]),Ce=Ve.slice(0,xe.length),_e=Ve.slice(xe.length);return await Promise.all([Y4(ne,xe,Ce,Ce.map(()=>ve.signal),!1,$.loaderData),Y4(ne,ge.map(Le=>Le.match),_e,ge.map(Le=>Le.controller?Le.controller.signal:null),!0)]),{results:Ve,loaderResults:Ce,fetcherResults:_e}}function fe(){d=!0,h.push(...Ue()),m.forEach((ne,ae)=>{p.has(ae)&&(c.push(ae),ue(ae))})}function H(ne,ae,xe){xe===void 0&&(xe={}),$.fetchers.set(ne,ae),V({fetchers:new Map($.fetchers)},{flushSync:(xe&&xe.flushSync)===!0})}function J(ne,ae,xe,ge){ge===void 0&&(ge={});let ve=kd($.matches,ae);he(ne),V({errors:{[ve.route.id]:xe},fetchers:new Map($.fetchers)},{flushSync:(ge&&ge.flushSync)===!0})}function ee(ne){return y.v7_fetcherPersist&&(w.set(ne,(w.get(ne)||0)+1),x.has(ne)&&x.delete(ne)),$.fetchers.get(ne)||rR}function he(ne){let ae=$.fetchers.get(ne);p.has(ne)&&!(ae&&ae.state==="loading"&&g.has(ne))&&ue(ne),m.delete(ne),g.delete(ne),f.delete(ne),x.delete(ne),$.fetchers.delete(ne)}function de(ne){if(y.v7_fetcherPersist){let ae=(w.get(ne)||0)-1;ae<=0?(w.delete(ne),x.add(ne)):w.set(ne,ae)}else he(ne);V({fetchers:new Map($.fetchers)})}function ue(ne){let ae=p.get(ne);vt(ae,"Expected fetch controller: "+ne),ae.abort(),p.delete(ne)}function Se(ne){for(let ae of ne){let xe=ee(ae),ge=Xs(xe.data);$.fetchers.set(ae,ge)}}function Ae(){let ne=[],ae=!1;for(let xe of f){let ge=$.fetchers.get(xe);vt(ge,"Expected fetcher: "+xe),ge.state==="loading"&&(f.delete(xe),ne.push(xe),ae=!0)}return Se(ne),ae}function we(ne){let ae=[];for(let[xe,ge]of g)if(ge0}function Ze(ne,ae){let xe=$.blockers.get(ne)||Mf;return R.get(ne)!==ae&&R.set(ne,ae),xe}function Ne(ne){$.blockers.delete(ne),R.delete(ne)}function ke(ne,ae){let xe=$.blockers.get(ne)||Mf;vt(xe.state==="unblocked"&&ae.state==="blocked"||xe.state==="blocked"&&ae.state==="blocked"||xe.state==="blocked"&&ae.state==="proceeding"||xe.state==="blocked"&&ae.state==="unblocked"||xe.state==="proceeding"&&ae.state==="unblocked","Invalid blocker state transition: "+xe.state+" -> "+ae.state);let ge=new Map($.blockers);ge.set(ne,ae),V({blockers:ge})}function Qe(ne){let{currentLocation:ae,nextLocation:xe,historyAction:ge}=ne;if(R.size===0)return;R.size>1&&Fo(!1,"A router only supports one blocker at a time");let ve=Array.from(R.entries()),[Ve,Ce]=ve[ve.length-1],_e=$.blockers.get(Ve);if(!(_e&&_e.state==="proceeding")&&Ce({currentLocation:ae,nextLocation:xe,historyAction:ge}))return Ve}function Ue(ne){let ae=[];return S.forEach((xe,ge)=>{(!ne||ne(ge))&&(xe.cancel(),ae.push(ge),S.delete(ge))}),ae}function Pe(ne,ae,xe){if(A=ne,k=ae,T=xe||null,!C&&$.navigation===Lb){C=!0;let ge=$e($.location,$.matches);ge!=null&&V({restoreScrollPosition:ge})}return()=>{A=null,k=null,T=null}}function ct(ne,ae){return T&&T(ne,ae.map(ge=>FO(ge,$.loaderData)))||ne.key}function We(ne,ae){if(A&&k){let xe=ct(ne,ae);A[xe]=k()}}function $e(ne,ae){if(A){let xe=ct(ne,ae),ge=A[xe];if(typeof ge=="number")return ge}return null}function ht(ne){i={},o=gg(ne,a,void 0,i)}return N={get basename(){return u},get state(){return $},get routes(){return s},get window(){return e},initialize:F,subscribe:z,enableScrollRestoration:Pe,navigate:ie,fetch:K,revalidate:U,createHref:ne=>t.history.createHref(ne),encodeLocation:ne=>t.history.encodeLocation(ne),getFetcher:ee,deleteFetcher:de,dispose:G,getBlocker:Ze,deleteBlocker:Ne,_internalFetchControllers:p,_internalActiveDeferreds:S,_internalSetRoutes:ht},N}function iR(t){return t!=null&&("formData"in t&&t.formData!=null||"body"in t&&t.body!==void 0)}function xg(t,e,r,n,a,i,s){let o,u;if(i){o=[];for(let b of e)if(o.push(b),b.route.id===i){u=b;break}}else o=e,u=e[e.length-1];let y=ZS(a||".",KS(o),I0(t.pathname,r)||t.pathname,s==="path");return a==null&&(y.search=t.search,y.hash=t.hash),(a==null||a===""||a===".")&&u&&u.route.index&&!Px(y.search)&&(y.search=y.search?y.search.replace(/^\?/,"?index&"):"?index"),n&&r!=="/"&&(y.pathname=y.pathname==="/"?r:Ao([r,y.pathname])),D0(y)}function U4(t,e,r,n){if(!n||!iR(n))return{path:r};if(n.formMethod&&!dR(n.formMethod))return{path:r,error:Pa(405,{method:n.formMethod})};let a=()=>({path:r,error:Pa(400,{type:"invalid-body"})}),i=n.formMethod||"get",s=t?i.toUpperCase():i.toLowerCase(),o=tC(r);if(n.body!==void 0){if(n.formEncType==="text/plain"){if(!ui(s))return a();let A=typeof n.body=="string"?n.body:n.body instanceof FormData||n.body instanceof URLSearchParams?Array.from(n.body.entries()).reduce((T,k)=>{let[C,P]=k;return""+T+C+"="+P+` +`},""):String(n.body);return{path:r,submission:{formMethod:s,formAction:o,formEncType:n.formEncType,formData:void 0,json:void 0,text:A}}}else if(n.formEncType==="application/json"){if(!ui(s))return a();try{let A=typeof n.body=="string"?JSON.parse(n.body):n.body;return{path:r,submission:{formMethod:s,formAction:o,formEncType:n.formEncType,formData:void 0,json:A,text:void 0}}}catch{return a()}}}vt(typeof FormData=="function","FormData is not available in this environment");let u,y;if(n.formData)u=wg(n.formData),y=n.formData;else if(n.body instanceof FormData)u=wg(n.body),y=n.body;else if(n.body instanceof URLSearchParams)u=n.body,y=V4(u);else if(n.body==null)u=new URLSearchParams,y=new FormData;else try{u=new URLSearchParams(n.body),y=V4(u)}catch{return a()}let b={formMethod:s,formAction:o,formEncType:n&&n.formEncType||"application/x-www-form-urlencoded",formData:y,json:void 0,text:void 0};if(ui(b.formMethod))return{path:r,submission:b};let _=os(r);return e&&_.search&&Px(_.search)&&u.append("index",""),_.search="?"+u,{path:D0(_),submission:b}}function sR(t,e){let r=t;if(e){let n=t.findIndex(a=>a.route.id===e);n>=0&&(r=t.slice(0,n))}return r}function H4(t,e,r,n,a,i,s,o,u,y,b,_,A,T,k){let C=k?Object.values(k)[0]:T?Object.values(T)[0]:void 0,P=t.createURL(e.location),B=t.createURL(a),D=k?Object.keys(k)[0]:void 0,$=sR(r,D).filter((Z,X)=>{if(Z.route.lazy)return!0;if(Z.route.loader==null)return!1;if(oR(e.loaderData,e.matches[X],Z)||s.some(M=>M===Z.route.id))return!0;let Y=e.matches[X],re=Z;return G4(Z,pr({currentUrl:P,currentParams:Y.params,nextUrl:B,nextParams:re.params},n,{actionResult:C,defaultShouldRevalidate:i||P.pathname+P.search===B.pathname+B.search||P.search!==B.search||eC(Y,re)}))}),j=[];return y.forEach((Z,X)=>{if(!r.some(d=>d.route.id===Z.routeId)||u.has(X))return;let Y=eu(_,Z.path,A);if(!Y){j.push({key:X,routeId:Z.routeId,path:Z.path,matches:null,match:null,controller:null});return}let re=e.fetchers.get(X),M=_g(Y,Z.path),l=!1;b.has(X)?l=!1:o.includes(X)?l=!0:re&&re.state!=="idle"&&re.data===void 0?l=i:l=G4(M,pr({currentUrl:P,currentParams:e.matches[e.matches.length-1].params,nextUrl:B,nextParams:r[r.length-1].params},n,{actionResult:C,defaultShouldRevalidate:i})),l&&j.push({key:X,routeId:Z.routeId,path:Z.path,matches:Y,match:M,controller:new AbortController})}),[$,j]}function oR(t,e,r){let n=!e||r.route.id!==e.route.id,a=t[r.route.id]===void 0;return n||a}function eC(t,e){let r=t.route.path;return t.pathname!==e.pathname||r!=null&&r.endsWith("*")&&t.params["*"]!==e.params["*"]}function G4(t,e){if(t.route.shouldRevalidate){let r=t.route.shouldRevalidate(e);if(typeof r=="boolean")return r}return e.defaultShouldRevalidate}async function q4(t,e,r){if(!t.lazy)return;let n=await t.lazy();if(!t.lazy)return;let a=r[t.id];vt(a,"No route found in manifest");let i={};for(let s in n){let u=a[s]!==void 0&&s!=="hasErrorBoundary";Fo(!u,'Route "'+a.id+'" has a static property "'+s+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+s+'" will be ignored.')),!u&&!BO.has(s)&&(i[s]=n[s])}Object.assign(a,i),Object.assign(a,pr({},e(a),{lazy:void 0}))}async function Bf(t,e,r,n,a,i,s,o){o===void 0&&(o={});let u,y,b,_=k=>{let C,P=new Promise((B,D)=>C=D);return b=()=>C(),e.signal.addEventListener("abort",b),Promise.race([k({request:e,params:r.params,context:o.requestContext}),P])};try{let k=r.route[t];if(r.route.lazy)if(k){let C,P=await Promise.all([_(k).catch(B=>{C=B}),q4(r.route,i,a)]);if(C)throw C;y=P[0]}else if(await q4(r.route,i,a),k=r.route[t],k)y=await _(k);else if(t==="action"){let C=new URL(e.url),P=C.pathname+C.search;throw Pa(405,{method:e.method,pathname:P,routeId:r.route.id})}else return{type:_r.data,data:void 0};else if(k)y=await _(k);else{let C=new URL(e.url),P=C.pathname+C.search;throw Pa(404,{pathname:P})}vt(y!==void 0,"You defined "+(t==="action"?"an action":"a loader")+" for route "+('"'+r.route.id+"\" but didn't return anything from your `"+t+"` ")+"function. Please return a value or `null`.")}catch(k){u=_r.error,y=k}finally{b&&e.signal.removeEventListener("abort",b)}if(fR(y)){let k=y.status;if(eR.has(k)){let B=y.headers.get("Location");if(vt(B,"Redirects returned/thrown from loaders/actions must have a Location header"),!XS.test(B))B=xg(new URL(e.url),n.slice(0,n.indexOf(r)+1),s,!0,B);else if(!o.isStaticRequest){let D=new URL(e.url),N=B.startsWith("//")?new URL(D.protocol+B):new URL(B),$=I0(N.pathname,s)!=null;N.origin===D.origin&&$&&(B=N.pathname+N.search+N.hash)}if(o.isStaticRequest)throw y.headers.set("Location",B),y;return{type:_r.redirect,status:k,location:B,revalidate:y.headers.get("X-Remix-Revalidate")!==null,reloadDocument:y.headers.get("X-Remix-Reload-Document")!==null}}if(o.isRouteRequest)throw{type:u===_r.error?_r.error:_r.data,response:y};let C,P=y.headers.get("Content-Type");return P&&/\bapplication\/json\b/.test(P)?C=await y.json():C=await y.text(),u===_r.error?{type:u,error:new Fx(k,y.statusText,C),headers:y.headers}:{type:_r.data,data:C,statusCode:y.status,headers:y.headers}}if(u===_r.error)return{type:u,error:y};if(uR(y)){var A,T;return{type:_r.deferred,deferredData:y,statusCode:(A=y.init)==null?void 0:A.status,headers:((T=y.init)==null?void 0:T.headers)&&new Headers(y.init.headers)}}return{type:_r.data,data:y}}function kf(t,e,r,n){let a=t.createURL(tC(e)).toString(),i={signal:r};if(n&&ui(n.formMethod)){let{formMethod:s,formEncType:o}=n;i.method=s.toUpperCase(),o==="application/json"?(i.headers=new Headers({"Content-Type":o}),i.body=JSON.stringify(n.json)):o==="text/plain"?i.body=n.text:o==="application/x-www-form-urlencoded"&&n.formData?i.body=wg(n.formData):i.body=n.formData}return new Request(a,i)}function wg(t){let e=new URLSearchParams;for(let[r,n]of t.entries())e.append(r,typeof n=="string"?n:n.name);return e}function V4(t){let e=new FormData;for(let[r,n]of t.entries())e.append(r,n);return e}function lR(t,e,r,n,a){let i={},s=null,o,u=!1,y={};return r.forEach((b,_)=>{let A=e[_].route.id;if(vt(!pu(b),"Cannot handle redirect results in processLoaderData"),Fd(b)){let T=kd(t,A),k=b.error;n&&(k=Object.values(n)[0],n=void 0),s=s||{},s[T.route.id]==null&&(s[T.route.id]=k),i[A]=void 0,u||(u=!0,o=JS(b.error)?b.error.status:500),b.headers&&(y[A]=b.headers)}else ml(b)?(a.set(A,b.deferredData),i[A]=b.deferredData.data):i[A]=b.data,b.statusCode!=null&&b.statusCode!==200&&!u&&(o=b.statusCode),b.headers&&(y[A]=b.headers)}),n&&(s=n,i[Object.keys(n)[0]]=void 0),{loaderData:i,errors:s,statusCode:o||200,loaderHeaders:y}}function W4(t,e,r,n,a,i,s,o){let{loaderData:u,errors:y}=lR(e,r,n,a,o);for(let b=0;bn.route.id===e)+1):[...t]).reverse().find(n=>n.route.hasErrorBoundary===!0)||t[0]}function Z4(t){let e=t.length===1?t[0]:t.find(r=>r.index||!r.path||r.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:e}],route:e}}function Pa(t,e){let{pathname:r,routeId:n,method:a,type:i}=e===void 0?{}:e,s="Unknown Server Error",o="Unknown @remix-run/router error";return t===400?(s="Bad Request",a&&r&&n?o="You made a "+a+' request to "'+r+'" but '+('did not provide a `loader` for route "'+n+'", ')+"so there is no way to handle the request.":i==="defer-action"?o="defer() is not supported in actions":i==="invalid-body"&&(o="Unable to encode submission body")):t===403?(s="Forbidden",o='Route "'+n+'" does not match URL "'+r+'"'):t===404?(s="Not Found",o='No route matches URL "'+r+'"'):t===405&&(s="Method Not Allowed",a&&r&&n?o="You made a "+a.toUpperCase()+' request to "'+r+'" but '+('did not provide an `action` for route "'+n+'", ')+"so there is no way to handle the request.":a&&(o='Invalid request method "'+a.toUpperCase()+'"')),new Fx(t||500,s,new Error(o),!0)}function J4(t){for(let e=t.length-1;e>=0;e--){let r=t[e];if(pu(r))return{result:r,idx:e}}}function tC(t){let e=typeof t=="string"?os(t):t;return D0(pr({},e,{hash:""}))}function cR(t,e){return t.pathname!==e.pathname||t.search!==e.search?!1:t.hash===""?e.hash!=="":t.hash===e.hash?!0:e.hash!==""}function ml(t){return t.type===_r.deferred}function Fd(t){return t.type===_r.error}function pu(t){return(t&&t.type)===_r.redirect}function uR(t){let e=t;return e&&typeof e=="object"&&typeof e.data=="object"&&typeof e.subscribe=="function"&&typeof e.cancel=="function"&&typeof e.resolveData=="function"}function fR(t){return t!=null&&typeof t.status=="number"&&typeof t.statusText=="string"&&typeof t.headers=="object"&&typeof t.body<"u"}function dR(t){return QO.has(t.toLowerCase())}function ui(t){return YO.has(t.toLowerCase())}async function Y4(t,e,r,n,a,i){for(let s=0;s_.route.id===u.route.id),b=y!=null&&!eC(y,u)&&(i&&i[u.route.id])!==void 0;if(ml(o)&&(a||b)){let _=n[s];vt(_,"Expected an AbortSignal for revalidating fetcher deferred result"),await rC(o,_,a).then(A=>{A&&(r[s]=A||r[s])})}}}async function rC(t,e,r){if(r===void 0&&(r=!1),!await t.deferredData.resolveData(e)){if(r)try{return{type:_r.data,data:t.deferredData.unwrappedData}}catch(a){return{type:_r.error,error:a}}return{type:_r.data,data:t.deferredData.data}}}function Px(t){return new URLSearchParams(t).getAll("index").some(e=>e==="")}function _g(t,e){let r=typeof e=="string"?os(e).search:e.search;if(t[t.length-1].route.index&&Px(r||""))return t[t.length-1];let n=WS(t);return n[n.length-1]}function X4(t){let{formMethod:e,formAction:r,formEncType:n,text:a,formData:i,json:s}=t;if(!(!e||!r||!n)){if(a!=null)return{formMethod:e,formAction:r,formEncType:n,formData:void 0,json:void 0,text:a};if(i!=null)return{formMethod:e,formAction:r,formEncType:n,formData:i,json:void 0,text:void 0};if(s!==void 0)return{formMethod:e,formAction:r,formEncType:n,formData:void 0,json:s,text:void 0}}}function jb(t,e){return e?{state:"loading",location:t,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}:{state:"loading",location:t,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function hR(t,e){return{state:"submitting",location:t,formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text}}function Ff(t,e){return t?{state:"loading",formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text,data:e}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e}}function pR(t,e){return{state:"submitting",formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text,data:e?e.data:void 0}}function Xs(t){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t}}function yR(t,e){try{let r=t.sessionStorage.getItem(QS);if(r){let n=JSON.parse(r);for(let[a,i]of Object.entries(n||{}))i&&Array.isArray(i)&&e.set(a,new Set(i||[]))}}catch{}}function mR(t,e){if(e.size>0){let r={};for(let[n,a]of e)r[n]=[...a];try{t.sessionStorage.setItem(QS,JSON.stringify(r))}catch(n){Fo(!1,"Failed to save applied view transitions in sessionStorage ("+n+").")}}}/** + * React Router v6.20.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function f1(){return f1=Object.assign?Object.assign.bind():function(t){for(var e=1;e{s.current=!0}),pe.useCallback(function(u,y){if(y===void 0&&(y={}),!s.current)return;if(typeof u=="number"){r.go(u);return}let b=ZS(u,JSON.parse(i),a,y.relative==="path");t==null&&e!=="/"&&(b.pathname=b.pathname==="/"?e:Ao([e,b.pathname])),(y.replace?r.replace:r.push)(b,y.state,y)},[e,r,i,a,t])}const vR=pe.createContext(null);function gR(t){let e=pe.useContext(Uo).outlet;return e&&pe.createElement(vR.Provider,{value:t},e)}function xR(){let{matches:t}=pe.useContext(Uo),e=t[t.length-1];return e?e.params:{}}function wR(t,e,r){ly()||vt(!1);let{navigator:n}=pe.useContext(sy),{matches:a}=pe.useContext(Uo),i=a[a.length-1],s=i?i.params:{};i&&i.pathname;let o=i?i.pathnameBase:"/";i&&i.route;let u=Dx(),y;if(e){var b;let C=typeof e=="string"?os(e):e;o==="/"||(b=C.pathname)!=null&&b.startsWith(o)||vt(!1),y=C}else y=u;let _=y.pathname||"/",A=o==="/"?_:_.slice(o.length)||"/",T=eu(t,{pathname:A}),k=CR(T&&T.map(C=>Object.assign({},C,{params:Object.assign({},s,C.params),pathname:Ao([o,n.encodeLocation?n.encodeLocation(C.pathname).pathname:C.pathname]),pathnameBase:C.pathnameBase==="/"?o:Ao([o,n.encodeLocation?n.encodeLocation(C.pathnameBase).pathname:C.pathnameBase])})),a,r);return e&&k?pe.createElement(oy.Provider,{value:{location:f1({pathname:"/",search:"",hash:"",state:null,key:"default"},y),navigationType:xr.Pop}},k):k}function _R(){let t=kR(),e=JS(t)?t.status+" "+t.statusText:t instanceof Error?t.message:JSON.stringify(t),r=t instanceof Error?t.stack:null,a={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"},i=null;return pe.createElement(pe.Fragment,null,pe.createElement("h2",null,"Unexpected Application Error!"),pe.createElement("h3",{style:{fontStyle:"italic"}},e),r?pe.createElement("pre",{style:a},r):null,i)}const ER=pe.createElement(_R,null);class AR extends pe.Component{constructor(e){super(e),this.state={location:e.location,revalidation:e.revalidation,error:e.error}}static getDerivedStateFromError(e){return{error:e}}static getDerivedStateFromProps(e,r){return r.location!==e.location||r.revalidation!=="idle"&&e.revalidation==="idle"?{error:e.error,location:e.location,revalidation:e.revalidation}:{error:e.error||r.error,location:r.location,revalidation:e.revalidation||r.revalidation}}componentDidCatch(e,r){console.error("React Router caught the following error during render",e,r)}render(){return this.state.error?pe.createElement(Uo.Provider,{value:this.props.routeContext},pe.createElement(aC.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function SR(t){let{routeContext:e,match:r,children:n}=t,a=pe.useContext(iy);return a&&a.static&&a.staticContext&&(r.route.errorElement||r.route.ErrorBoundary)&&(a.staticContext._deepestRenderedBoundaryId=r.route.id),pe.createElement(Uo.Provider,{value:e},n)}function CR(t,e,r){var n;if(e===void 0&&(e=[]),r===void 0&&(r=null),t==null){var a;if((a=r)!=null&&a.errors)t=r.matches;else return null}let i=t,s=(n=r)==null?void 0:n.errors;if(s!=null){let o=i.findIndex(u=>u.route.id&&(s==null?void 0:s[u.route.id]));o>=0||vt(!1),i=i.slice(0,Math.min(i.length,o+1))}return i.reduceRight((o,u,y)=>{let b=u.route.id?s==null?void 0:s[u.route.id]:null,_=null;r&&(_=u.route.errorElement||ER);let A=e.concat(i.slice(0,y+1)),T=()=>{let k;return b?k=_:u.route.Component?k=pe.createElement(u.route.Component,null):u.route.element?k=u.route.element:k=o,pe.createElement(SR,{match:u,routeContext:{outlet:o,matches:A,isDataRoute:r!=null},children:k})};return r&&(u.route.ErrorBoundary||u.route.errorElement||y===0)?pe.createElement(AR,{location:r.location,revalidation:r.revalidation,component:_,error:b,children:T(),routeContext:{outlet:null,matches:A,isDataRoute:!0}}):T()},null)}var sC=function(t){return t.UseBlocker="useBlocker",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t}(sC||{}),d1=function(t){return t.UseBlocker="useBlocker",t.UseLoaderData="useLoaderData",t.UseActionData="useActionData",t.UseRouteError="useRouteError",t.UseNavigation="useNavigation",t.UseRouteLoaderData="useRouteLoaderData",t.UseMatches="useMatches",t.UseRevalidator="useRevalidator",t.UseNavigateStable="useNavigate",t.UseRouteId="useRouteId",t}(d1||{});function TR(t){let e=pe.useContext(iy);return e||vt(!1),e}function MR(t){let e=pe.useContext(nC);return e||vt(!1),e}function BR(t){let e=pe.useContext(Uo);return e||vt(!1),e}function oC(t){let e=BR(),r=e.matches[e.matches.length-1];return r.route.id||vt(!1),r.route.id}function kR(){var t;let e=pe.useContext(aC),r=MR(d1.UseRouteError),n=oC(d1.UseRouteError);return e||((t=r.errors)==null?void 0:t[n])}function FR(){let{router:t}=TR(sC.UseNavigateStable),e=oC(d1.UseNavigateStable),r=pe.useRef(!1);return iC(()=>{r.current=!0}),pe.useCallback(function(a,i){i===void 0&&(i={}),r.current&&(typeof a=="number"?t.navigate(a):t.navigate(a,f1({fromRouteId:e},i)))},[t,e])}function lC(t){return gR(t.context)}function PR(t){let{basename:e="/",children:r=null,location:n,navigationType:a=xr.Pop,navigator:i,static:s=!1}=t;ly()&&vt(!1);let o=e.replace(/^\/*/,"/"),u=pe.useMemo(()=>({basename:o,navigator:i,static:s}),[o,i,s]);typeof n=="string"&&(n=os(n));let{pathname:y="/",search:b="",hash:_="",state:A=null,key:T="default"}=n,k=pe.useMemo(()=>{let C=I0(y,o);return C==null?null:{location:{pathname:C,search:b,hash:_,state:A,key:T},navigationType:a}},[o,y,b,_,A,T,a]);return k==null?null:pe.createElement(sy.Provider,{value:u},pe.createElement(oy.Provider,{children:r,value:k}))}new Promise(()=>{});function DR(t){let e={hasErrorBoundary:t.ErrorBoundary!=null||t.errorElement!=null};return t.Component&&Object.assign(e,{element:pe.createElement(t.Component),Component:void 0}),t.ErrorBoundary&&Object.assign(e,{errorElement:pe.createElement(t.ErrorBoundary),ErrorBoundary:void 0}),e}/** + * React Router DOM v6.20.0 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function h1(){return h1=Object.assign?Object.assign.bind():function(t){for(var e=1;e{let n=t[r];return e.concat(Array.isArray(n)?n.map(a=>[r,a]):[[r,n]])},[]))}function IR(t,e){let r=Eg(t);return e&&e.forEach((n,a)=>{r.has(a)||e.getAll(a).forEach(i=>{r.append(a,i)})}),r}function OR(t,e){return aR({basename:e==null?void 0:e.basename,future:h1({},e==null?void 0:e.future,{v7_prependBasename:!0}),history:CO({window:e==null?void 0:e.window}),hydrationData:(e==null?void 0:e.hydrationData)||RR(),routes:t,mapRouteProperties:DR,window:e==null?void 0:e.window}).initialize()}function RR(){var t;let e=(t=window)==null?void 0:t.__staticRouterHydrationData;return e&&e.errors&&(e=h1({},e,{errors:NR(e.errors)})),e}function NR(t){if(!t)return null;let e=Object.entries(t),r={};for(let[n,a]of e)if(a&&a.__type==="RouteErrorResponse")r[n]=new Fx(a.status,a.statusText,a.data,a.internal===!0);else if(a&&a.__type==="Error"){if(a.__subType){let i=window[a.__subType];if(typeof i=="function")try{let s=new i(a.message);s.stack="",r[n]=s}catch{}}if(r[n]==null){let i=new Error(a.message);i.stack="",r[n]=i}}else r[n]=a;return r}const $R=pe.createContext({isTransitioning:!1}),LR=pe.createContext(new Map),jR="startTransition",Q4=yD[jR],zR="flushSync",ew=SO[zR];function UR(t){Q4?Q4(t):t()}function Pf(t){ew?ew(t):t()}class HR{constructor(){this.status="pending",this.promise=new Promise((e,r)=>{this.resolve=n=>{this.status==="pending"&&(this.status="resolved",e(n))},this.reject=n=>{this.status==="pending"&&(this.status="rejected",r(n))}})}}function GR(t){let{fallbackElement:e,router:r,future:n}=t,[a,i]=pe.useState(r.state),[s,o]=pe.useState(),[u,y]=pe.useState({isTransitioning:!1}),[b,_]=pe.useState(),[A,T]=pe.useState(),[k,C]=pe.useState(),P=pe.useRef(new Map),{v7_startTransition:B}=n||{},D=pe.useCallback(X=>{B?UR(X):X()},[B]),N=pe.useCallback((X,Y)=>{let{deletedFetchers:re,unstable_flushSync:M,unstable_viewTransitionOpts:l}=Y;re.forEach(h=>P.current.delete(h)),X.fetchers.forEach((h,c)=>{h.data!==void 0&&P.current.set(c,h.data)});let d=r.window==null||typeof r.window.document.startViewTransition!="function";if(!l||d){M?Pf(()=>i(X)):D(()=>i(X));return}if(M){Pf(()=>{A&&(b&&b.resolve(),A.skipTransition()),y({isTransitioning:!0,flushSync:!0,currentLocation:l.currentLocation,nextLocation:l.nextLocation})});let h=r.window.document.startViewTransition(()=>{Pf(()=>i(X))});h.finished.finally(()=>{Pf(()=>{_(void 0),T(void 0),o(void 0),y({isTransitioning:!1})})}),Pf(()=>T(h));return}A?(b&&b.resolve(),A.skipTransition(),C({state:X,currentLocation:l.currentLocation,nextLocation:l.nextLocation})):(o(X),y({isTransitioning:!0,flushSync:!1,currentLocation:l.currentLocation,nextLocation:l.nextLocation}))},[r.window,A,b,P,D]);pe.useLayoutEffect(()=>r.subscribe(N),[r,N]),pe.useEffect(()=>{u.isTransitioning&&!u.flushSync&&_(new HR)},[u]),pe.useEffect(()=>{if(b&&s&&r.window){let X=s,Y=b.promise,re=r.window.document.startViewTransition(async()=>{D(()=>i(X)),await Y});re.finished.finally(()=>{_(void 0),T(void 0),o(void 0),y({isTransitioning:!1})}),T(re)}},[D,s,b,r.window]),pe.useEffect(()=>{b&&s&&a.location.key===s.location.key&&b.resolve()},[b,A,a.location,s]),pe.useEffect(()=>{!u.isTransitioning&&k&&(o(k.state),y({isTransitioning:!0,flushSync:!1,currentLocation:k.currentLocation,nextLocation:k.nextLocation}),C(void 0))},[u.isTransitioning,k]);let $=pe.useMemo(()=>({createHref:r.createHref,encodeLocation:r.encodeLocation,go:X=>r.navigate(X),push:(X,Y,re)=>r.navigate(X,{state:Y,preventScrollReset:re==null?void 0:re.preventScrollReset}),replace:(X,Y,re)=>r.navigate(X,{replace:!0,state:Y,preventScrollReset:re==null?void 0:re.preventScrollReset})}),[r]),j=r.basename||"/",Z=pe.useMemo(()=>({router:r,navigator:$,static:!1,basename:j}),[r,$,j]);return pe.createElement(pe.Fragment,null,pe.createElement(iy.Provider,{value:Z},pe.createElement(nC.Provider,{value:a},pe.createElement(LR.Provider,{value:P.current},pe.createElement($R.Provider,{value:u},pe.createElement(PR,{basename:j,location:a.location,navigationType:a.historyAction,navigator:$},a.initialized?pe.createElement(qR,{routes:r.routes,state:a}):e))))),null)}function qR(t){let{routes:e,state:r}=t;return wR(e,void 0,r)}var tw;(function(t){t.UseScrollRestoration="useScrollRestoration",t.UseSubmit="useSubmit",t.UseSubmitFetcher="useSubmitFetcher",t.UseFetcher="useFetcher",t.useViewTransitionState="useViewTransitionState"})(tw||(tw={}));var rw;(function(t){t.UseFetcher="useFetcher",t.UseFetchers="useFetchers",t.UseScrollRestoration="useScrollRestoration"})(rw||(rw={}));function Ix(t){let e=pe.useRef(Eg(t)),r=pe.useRef(!1),n=Dx(),a=pe.useMemo(()=>IR(n.search,r.current?null:e.current),[n.search]),i=cy(),s=pe.useCallback((o,u)=>{const y=Eg(typeof o=="function"?o(a):o);r.current=!0,i("?"+y,u)},[i,a]);return[a,s]}const VR=(t,e=20)=>{let r;return(...a)=>{clearTimeout(r),r=setTimeout(()=>t(...a),e)}},Mt=(...t)=>t.reduce((e,r)=>{if(Array.isArray(r)){const n=Mt(...r);return n?`${e} ${n}`:e}return r?`${e} ${r}`:e},""),nw=(t,e,r)=>{const{base:n,excludeValueFromClassName:a}=r||{},i=typeof t=="string"?t:t(e);return e===!0&&n||a?i:e===!0&&!n?`${i}-true`:e===!1&&!n?`${i}-false`:e!==void 0?`${i}-${e}`:null},zt=(t,e,r,n)=>{if(typeof r!="object"){const a=nw(e,r,{base:!0,excludeValueFromClassName:n==null?void 0:n.excludeValueFromClassName});return a?[t[a]]:[]}return Object.keys(r).reduce((a,i)=>{const s=i==="s",o=nw(e,r[i],{base:s,excludeValueFromClassName:n==null?void 0:n.excludeValueFromClassName}),u=s?"":`--${i}`;return[...a,t[`${o}${u}`]]},[])},Wr=(t,e)=>e===void 0?{}:typeof e!="object"?{[`${t}-s`]:e}:Object.keys(e).reduce((r,n)=>{const a=e[n];return a===void 0||a===!1?r:Object.assign(Object.assign({},r),{[`${t}-${n}`]:a})},{}),WR=t=>t===null?!1:typeof t=="object"&&t!==null&&"s"in t,Rl=(t,e)=>WR(t)?Object.keys(t).reduce((n,a)=>{const i=t[a];return i==null?n:Object.assign(Object.assign({},n),{[a]:e(i,a)})},{}):e(t,"s"),Gu=t=>{const e=Q.useId();return t||e};Q.createContext({active:!1,onToggle:()=>{},triggerId:"",contentId:""});const KR="_root_6m4f4_1",Df={root:KR,"--disabled":"_--disabled_6m4f4_1","--full-width":"_--full-width_6m4f4_1","--inset":"_--inset_6m4f4_1","--radius-inherit":"_--radius-inherit_6m4f4_1"},ZR=(t,e)=>{const{children:r,href:n,onClick:a,type:i,disabled:s,insetFocus:o,borderRadius:u,as:y,fullWidth:b,className:_,attributes:A}=t,T=Mt(Df.root,_,s&&Df["--disabled"],u&&Df[`--radius-${u}`],o&&Df["--inset"],b&&Df["--full-width"]),k=Object.assign({},A),C=Q.useRef(!1),P=a||(A==null?void 0:A.onClick),B=(A==null?void 0:A.onFocus)||(A==null?void 0:A.onBlur),D=!!(n||A!=null&&A.href),N=!!(P||B||i);let $;if(D)k.href=s?void 0:n||(A==null?void 0:A.href),$="a";else if(N&&(!y||y==="button"))$="button",k.type=i||(A==null?void 0:A.type)||"button",k.disabled=s||(A==null?void 0:A.disabled);else if(N){const Y=!(y==="label")||P||B;$=y||"span",k.role=Y?"button":void 0,k.tabIndex=Y?0:void 0}else $=y||"span";const j=X=>{var Y;s||C.current||(a==null||a(X),(Y=A==null?void 0:A.onClick)===null||Y===void 0||Y.call(A,X))},Z=X=>{if(k.role==="button"||D)return;const re=X.key===" ",M=X.key==="Enter";!re&&!M||(X.preventDefault(),j(X),C.current=!0,requestAnimationFrame(()=>{C.current=!1}))};return Q.createElement($,Object.assign({ref:e},k,{className:T,onClick:j,onKeyDown:Z}),r)},qu=Q.forwardRef(ZR),JR="_root_qpaoy_1",zb={root:JR,"--blank":"_--blank_qpaoy_1","--vertical":"_--vertical_qpaoy_1","--vertical-true--m":"_--vertical-true--m_qpaoy_1","--vertical-false--m":"_--vertical-false--m_qpaoy_1","--vertical-true--l":"_--vertical-true--l_qpaoy_1","--vertical-false--l":"_--vertical-false--l_qpaoy_1","--vertical-true--xl":"_--vertical-true--xl_qpaoy_1","--vertical-false--xl":"_--vertical-false--xl_qpaoy_1"},cC=t=>{const{vertical:e,blank:r,className:n,attributes:a}=t,i=Mt(zb.root,n,r&&zb["--blank"],...zt(zb,"--vertical",e));let s;return(typeof e=="boolean"||e===void 0)&&(s=e?"vertical":"horizontal"),Q.createElement("div",Object.assign({},a,{role:"separator","aria-orientation":s,className:i}))},YR="_root_14fj3_1",Ah={root:YR,"--display-inline":"_--display-inline_14fj3_1","--display-flex":"_--display-flex_14fj3_1","--hidden":"_--hidden_14fj3_1","--visibility":"_--visibility_14fj3_1","--hidden-true--m":"_--hidden-true--m_14fj3_1","--hidden-false--m":"_--hidden-false--m_14fj3_1","--hidden-true--l":"_--hidden-true--l_14fj3_1","--hidden-false--l":"_--hidden-false--l_14fj3_1","--hidden-true--xl":"_--hidden-true--xl_14fj3_1","--hidden-false--xl":"_--hidden-false--xl_14fj3_1"},aw=t=>{const{as:e="div",children:r,visibility:n,hide:a,displayStyle:i}=t,s=Mt(Ah.root,...zt(Ah,"--hidden",a),n&&Ah["--visibility"],i&&Ah[`--display-${i}`]);return typeof r=="function"?Q.createElement(Q.Fragment,null,r(s)):Q.createElement(e,{className:s},r)},XR="_root_mi21y_1",QR="_item_mi21y_1",eN="_divider_mi21y_1",Lt={root:XR,item:QR,"--padding":"_--padding_mi21y_1","--padding-top":"_--padding-top_mi21y_1","--padding-bottom":"_--padding-bottom_mi21y_1","--padding-start":"_--padding-start_mi21y_1","--padding-end":"_--padding-end_mi21y_1","--animated":"_--animated_mi21y_1","--align-text-start":"_--align-text-start_mi21y_1","--align-text-center":"_--align-text-center_mi21y_1","--align-text-end":"_--align-text-end_mi21y_1","--bg-neutral":"_--bg-neutral_mi21y_1","--bg-positive":"_--bg-positive_mi21y_1","--bg-critical":"_--bg-critical_mi21y_1","--bg-primary":"_--bg-primary_mi21y_1","--bg-neutral-faded":"_--bg-neutral-faded_mi21y_1","--bg-positive-faded":"_--bg-positive-faded_mi21y_1","--bg-critical-faded":"_--bg-critical-faded_mi21y_1","--bg-primary-faded":"_--bg-primary-faded_mi21y_1","--bg-page":"_--bg-page_mi21y_1","--bg-page-faded":"_--bg-page-faded_mi21y_1","--bg-disabled":"_--bg-disabled_mi21y_1","--bg-disabled-faded":"_--bg-disabled-faded_mi21y_1","--bg-elevation-base":"_--bg-elevation-base_mi21y_1","--bg-elevation-raised":"_--bg-elevation-raised_mi21y_1","--bg-elevation-overlay":"_--bg-elevation-overlay_mi21y_1","--bg-white":"_--bg-white_mi21y_1","--bg-black":"_--bg-black_mi21y_1","--shadow-raised":"_--shadow-raised_mi21y_1","--shadow-overlay":"_--shadow-overlay_mi21y_1","--bd":"_--bd_mi21y_1","--bd-neutral-faded":"_--bd-neutral-faded_mi21y_1","--bd-neutral":"_--bd-neutral_mi21y_1","--bd-positive":"_--bd-positive_mi21y_1","--bd-positive-faded":"_--bd-positive-faded_mi21y_1","--bd-critical":"_--bd-critical_mi21y_1","--bd-critical-faded":"_--bd-critical-faded_mi21y_1","--bd-primary":"_--bd-primary_mi21y_1","--bd-primary-faded":"_--bd-primary-faded_mi21y_1","--bd-disabled":"_--bd-disabled_mi21y_1","--bd-transparent":"_--bd-transparent_mi21y_1","--overflow-hidden":"_--overflow-hidden_mi21y_1","--divided":"_--divided_mi21y_1","--flex":"_--flex_mi21y_1","--direction-column":"_--direction-column_mi21y_1","item--gap-before":"_item--gap-before_mi21y_1","item--gap-auto":"_item--gap-auto_mi21y_1","--direction-column-reverse":"_--direction-column-reverse_mi21y_1","--direction-row":"_--direction-row_mi21y_1","--direction-row-reverse":"_--direction-row-reverse_mi21y_1","--nowrap":"_--nowrap_mi21y_1","--wrap":"_--wrap_mi21y_1","--nowrap-false--m":"_--nowrap-false--m_mi21y_1","--wrap-true--m":"_--wrap-true--m_mi21y_1","--nowrap-true--m":"_--nowrap-true--m_mi21y_1","--wrap-false--m":"_--wrap-false--m_mi21y_1","--nowrap-false--l":"_--nowrap-false--l_mi21y_1","--wrap-true--l":"_--wrap-true--l_mi21y_1","--nowrap-true--l":"_--nowrap-true--l_mi21y_1","--wrap-false--l":"_--wrap-false--l_mi21y_1","--nowrap-false--xl":"_--nowrap-false--xl_mi21y_1","--wrap-true--xl":"_--wrap-true--xl_mi21y_1","--nowrap-true--xl":"_--nowrap-true--xl_mi21y_1","--wrap-false--xl":"_--wrap-false--xl_mi21y_1","--align-start":"_--align-start_mi21y_1","--align-end":"_--align-end_mi21y_1","--align-center":"_--align-center_mi21y_1","--align-stretch":"_--align-stretch_mi21y_1","--align-baseline":"_--align-baseline_mi21y_1","--justify-start":"_--justify-start_mi21y_1","--justify-end":"_--justify-end_mi21y_1","--justify-center":"_--justify-center_mi21y_1","--justify-space-between":"_--justify-space-between_mi21y_1",divider:eN,"item--grow":"_item--grow_mi21y_1","item--columns":"_item--columns_mi21y_1","item--columns-1":"_item--columns-1_mi21y_1","item--columns-2":"_item--columns-2_mi21y_1","item--columns-3":"_item--columns-3_mi21y_1","item--columns-4":"_item--columns-4_mi21y_1","item--columns-5":"_item--columns-5_mi21y_1","item--columns-6":"_item--columns-6_mi21y_1","item--columns-7":"_item--columns-7_mi21y_1","item--columns-8":"_item--columns-8_mi21y_1","item--columns-9":"_item--columns-9_mi21y_1","item--columns-10":"_item--columns-10_mi21y_1","item--columns-11":"_item--columns-11_mi21y_1","item--columns-12":"_item--columns-12_mi21y_1","item--columns-auto":"_item--columns-auto_mi21y_1","item--columns-1--m":"_item--columns-1--m_mi21y_1","item--columns-2--m":"_item--columns-2--m_mi21y_1","item--columns-3--m":"_item--columns-3--m_mi21y_1","item--columns-4--m":"_item--columns-4--m_mi21y_1","item--columns-5--m":"_item--columns-5--m_mi21y_1","item--columns-6--m":"_item--columns-6--m_mi21y_1","item--columns-7--m":"_item--columns-7--m_mi21y_1","item--columns-8--m":"_item--columns-8--m_mi21y_1","item--columns-9--m":"_item--columns-9--m_mi21y_1","item--columns-10--m":"_item--columns-10--m_mi21y_1","item--columns-11--m":"_item--columns-11--m_mi21y_1","item--columns-12--m":"_item--columns-12--m_mi21y_1","item--columns-auto--m":"_item--columns-auto--m_mi21y_1","item--columns-1--l":"_item--columns-1--l_mi21y_1","item--columns-2--l":"_item--columns-2--l_mi21y_1","item--columns-3--l":"_item--columns-3--l_mi21y_1","item--columns-4--l":"_item--columns-4--l_mi21y_1","item--columns-5--l":"_item--columns-5--l_mi21y_1","item--columns-6--l":"_item--columns-6--l_mi21y_1","item--columns-7--l":"_item--columns-7--l_mi21y_1","item--columns-8--l":"_item--columns-8--l_mi21y_1","item--columns-9--l":"_item--columns-9--l_mi21y_1","item--columns-10--l":"_item--columns-10--l_mi21y_1","item--columns-11--l":"_item--columns-11--l_mi21y_1","item--columns-12--l":"_item--columns-12--l_mi21y_1","item--columns-auto--l":"_item--columns-auto--l_mi21y_1","item--columns-1--xl":"_item--columns-1--xl_mi21y_1","item--columns-2--xl":"_item--columns-2--xl_mi21y_1","item--columns-3--xl":"_item--columns-3--xl_mi21y_1","item--columns-4--xl":"_item--columns-4--xl_mi21y_1","item--columns-5--xl":"_item--columns-5--xl_mi21y_1","item--columns-6--xl":"_item--columns-6--xl_mi21y_1","item--columns-7--xl":"_item--columns-7--xl_mi21y_1","item--columns-8--xl":"_item--columns-8--xl_mi21y_1","item--columns-9--xl":"_item--columns-9--xl_mi21y_1","item--columns-10--xl":"_item--columns-10--xl_mi21y_1","item--columns-11--xl":"_item--columns-11--xl_mi21y_1","item--columns-12--xl":"_item--columns-12--xl_mi21y_1","item--columns-auto--xl":"_item--columns-auto--xl_mi21y_1","--direction-column--m":"_--direction-column--m_mi21y_1","--direction-column-reverse--m":"_--direction-column-reverse--m_mi21y_1","--direction-row--m":"_--direction-row--m_mi21y_1","--direction-row-reverse--m":"_--direction-row-reverse--m_mi21y_1","--align-start--m":"_--align-start--m_mi21y_1","--align-end--m":"_--align-end--m_mi21y_1","--align-center--m":"_--align-center--m_mi21y_1","--align-stretch--m":"_--align-stretch--m_mi21y_1","--align-baseline--m":"_--align-baseline--m_mi21y_1","--justify-start--m":"_--justify-start--m_mi21y_1","--justify-end--m":"_--justify-end--m_mi21y_1","--justify-center--m":"_--justify-center--m_mi21y_1","--justify-space-between--m":"_--justify-space-between--m_mi21y_1","item--grow-true--m":"_item--grow-true--m_mi21y_1","item--grow-false--m":"_item--grow-false--m_mi21y_1","--direction-column--l":"_--direction-column--l_mi21y_1","--direction-column-reverse--l":"_--direction-column-reverse--l_mi21y_1","--direction-row--l":"_--direction-row--l_mi21y_1","--direction-row-reverse--l":"_--direction-row-reverse--l_mi21y_1","--align-start--l":"_--align-start--l_mi21y_1","--align-end--l":"_--align-end--l_mi21y_1","--align-center--l":"_--align-center--l_mi21y_1","--align-stretch--l":"_--align-stretch--l_mi21y_1","--align-baseline--l":"_--align-baseline--l_mi21y_1","--justify-start--l":"_--justify-start--l_mi21y_1","--justify-end--l":"_--justify-end--l_mi21y_1","--justify-center--l":"_--justify-center--l_mi21y_1","--justify-space-between--l":"_--justify-space-between--l_mi21y_1","item--grow-true--l":"_item--grow-true--l_mi21y_1","item--grow-false--l":"_item--grow-false--l_mi21y_1","--direction-column--xl":"_--direction-column--xl_mi21y_1","--direction-column-reverse--xl":"_--direction-column-reverse--xl_mi21y_1","--direction-row--xl":"_--direction-row--xl_mi21y_1","--direction-row-reverse--xl":"_--direction-row-reverse--xl_mi21y_1","--align-start--xl":"_--align-start--xl_mi21y_1","--align-end--xl":"_--align-end--xl_mi21y_1","--align-center--xl":"_--align-center--xl_mi21y_1","--align-stretch--xl":"_--align-stretch--xl_mi21y_1","--align-baseline--xl":"_--align-baseline--xl_mi21y_1","--justify-start--xl":"_--justify-start--xl_mi21y_1","--justify-end--xl":"_--justify-end--xl_mi21y_1","--justify-center--xl":"_--justify-center--xl_mi21y_1","--justify-space-between--xl":"_--justify-space-between--xl_mi21y_1","item--grow-true--xl":"_item--grow-true--xl_mi21y_1","item--grow-false--xl":"_item--grow-false--xl_mi21y_1"},tN="_root_10063_1",iw={root:tN,"--radius-none":"_--radius-none_10063_1","--radius-small":"_--radius-small_10063_1","--radius-medium":"_--radius-medium_10063_1","--radius-large":"_--radius-large_10063_1","--radius-circular":"_--radius-circular_10063_1","--radius-none--m":"_--radius-none--m_10063_1","--radius-small--m":"_--radius-small--m_10063_1","--radius-medium--m":"_--radius-medium--m_10063_1","--radius-large--m":"_--radius-large--m_10063_1","--radius-circular--m":"_--radius-circular--m_10063_1","--radius-none--l":"_--radius-none--l_10063_1","--radius-small--l":"_--radius-small--l_10063_1","--radius-medium--l":"_--radius-medium--l_10063_1","--radius-large--l":"_--radius-large--l_10063_1","--radius-circular--l":"_--radius-circular--l_10063_1","--radius-none--xl":"_--radius-none--xl_10063_1","--radius-small--xl":"_--radius-small--xl_10063_1","--radius-medium--xl":"_--radius-medium--xl_10063_1","--radius-large--xl":"_--radius-large--xl_10063_1","--radius-circular--xl":"_--radius-circular--xl_10063_1"},uC=t=>t?{classNames:[iw.root,...zt(iw,"--radius",t)]}:null,rN="_root_g5jwk_1",sw={root:rN,"--bleed":"_--bleed_g5jwk_1","--bleed-true--m":"_--bleed-true--m_g5jwk_1","--bleed-false--m":"_--bleed-false--m_g5jwk_1","--bleed-true--l":"_--bleed-true--l_g5jwk_1","--bleed-false--l":"_--bleed-false--l_g5jwk_1","--bleed-true--xl":"_--bleed-true--xl_g5jwk_1","--bleed-false--xl":"_--bleed-false--xl_g5jwk_1"},fC=t=>{if(t===void 0)return null;const e=[sw.root,...zt(sw,"--bleed",Rl(t,n=>typeof n=="number"&&n>0))],r=Wr("--rs-bleed",t);return{classNames:e,variables:r}},nN="_literal_feq05_1",aN="_unit_feq05_1",iN={literal:nN,unit:aN,"literal--m":"_literal--m_feq05_1","unit--m":"_unit--m_feq05_1","literal--l":"_literal--l_feq05_1","unit--l":"_unit--l_feq05_1","literal--xl":"_literal--xl_feq05_1","unit--xl":"_unit--xl_feq05_1"},sN=t=>{if(!t)return null;const e=Wr("--rs-w",t);return{classNames:zt(iN,n=>typeof n=="number"?"unit":"literal",t,{excludeValueFromClassName:!0}),variables:e}},oN="_literal_vx5jt_1",lN="_unit_vx5jt_1",cN={literal:oN,unit:lN,"literal--m":"_literal--m_vx5jt_1","unit--m":"_unit--m_vx5jt_1","literal--l":"_literal--l_vx5jt_1","unit--l":"_unit--l_vx5jt_1","literal--xl":"_literal--xl_vx5jt_1","unit--xl":"_unit--xl_vx5jt_1"},Ox=t=>{if(!t)return null;const e=Wr("--rs-h",t);return{classNames:zt(cN,n=>typeof n=="number"?"unit":"literal",t,{excludeValueFromClassName:!0}),variables:e}},uN="_literal_7zdst_1",fN="_unit_7zdst_1",dN={literal:uN,unit:fN,"literal--m":"_literal--m_7zdst_1","unit--m":"_unit--m_7zdst_1","literal--l":"_literal--l_7zdst_1","unit--l":"_unit--l_7zdst_1","literal--xl":"_literal--xl_7zdst_1","unit--xl":"_unit--xl_7zdst_1"},hN=t=>{if(!t)return null;const e=Wr("--rs-max-w",t);return{classNames:zt(dN,n=>typeof n=="number"?"unit":"literal",t,{excludeValueFromClassName:!0}),variables:e}},pN="_literal_yqjjt_1",yN="_unit_yqjjt_1",mN={literal:pN,unit:yN,"literal--m":"_literal--m_yqjjt_1","unit--m":"_unit--m_yqjjt_1","literal--l":"_literal--l_yqjjt_1","unit--l":"_unit--l_yqjjt_1","literal--xl":"_literal--xl_yqjjt_1","unit--xl":"_unit--xl_yqjjt_1"},bN=t=>{if(!t)return null;const e=Wr("--rs-max-h",t);return{classNames:zt(mN,n=>typeof n=="number"?"unit":"literal",t,{excludeValueFromClassName:!0}),variables:e}},vN={"--position-static":"_--position-static_j0cdp_1","--position-relative":"_--position-relative_j0cdp_1","--position-absolute":"_--position-absolute_j0cdp_1","--position-fixed":"_--position-fixed_j0cdp_1","--position-sticky":"_--position-sticky_j0cdp_1","--position-static--m":"_--position-static--m_j0cdp_1","--position-relative--m":"_--position-relative--m_j0cdp_1","--position-absolute--m":"_--position-absolute--m_j0cdp_1","--position-fixed--m":"_--position-fixed--m_j0cdp_1","--position-sticky--m":"_--position-sticky--m_j0cdp_1","--position-static--l":"_--position-static--l_j0cdp_1","--position-relative--l":"_--position-relative--l_j0cdp_1","--position-absolute--l":"_--position-absolute--l_j0cdp_1","--position-fixed--l":"_--position-fixed--l_j0cdp_1","--position-sticky--l":"_--position-sticky--l_j0cdp_1","--position-static--xl":"_--position-static--xl_j0cdp_1","--position-relative--xl":"_--position-relative--xl_j0cdp_1","--position-absolute--xl":"_--position-absolute--xl_j0cdp_1","--position-fixed--xl":"_--position-fixed--xl_j0cdp_1","--position-sticky--xl":"_--position-sticky--xl_j0cdp_1"},gN=t=>t?{classNames:zt(vN,"--position",t)}:null,xN={"--inset":"_--inset_3h9cu_1","--inset-end":"_--inset-end_3h9cu_1","--inset-start":"_--inset-start_3h9cu_1","--inset-top":"_--inset-top_3h9cu_1","--inset-bottom":"_--inset-bottom_3h9cu_1","--inset-end--m":"_--inset-end--m_3h9cu_1","--inset-start--m":"_--inset-start--m_3h9cu_1","--inset-top--m":"_--inset-top--m_3h9cu_1","--inset-bottom--m":"_--inset-bottom--m_3h9cu_1","--inset-end--l":"_--inset-end--l_3h9cu_1","--inset-start--l":"_--inset-start--l_3h9cu_1","--inset-top--l":"_--inset-top--l_3h9cu_1","--inset-bottom--l":"_--inset-bottom--l_3h9cu_1","--inset-end--xl":"_--inset-end--xl_3h9cu_1","--inset-start--xl":"_--inset-start--xl_3h9cu_1","--inset-top--xl":"_--inset-top--xl_3h9cu_1","--inset-bottom--xl":"_--inset-bottom--xl_3h9cu_1"},If=(t,e)=>{if(t===void 0)return null;const r=e?`-${e}`:"",n=`--rs-inset${r}`,a=Wr(n,t);return{classNames:zt(xN,`--inset${r}`,t,{excludeValueFromClassName:!0}),variables:a}},wN="_root_1hagr_1",_N={root:wN},EN=t=>{if(!t)return null;const e=Wr("--rs-ratio",t);return{classNames:_N.root,variables:e}};var AN=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(t);a{const{columns:e,grow:r,gapBefore:n,as:a="div",order:i,children:s,className:o,attributes:u}=t,y=Mt(Lt.item,o,n==="auto"&&Lt["item--gap-auto"],n!==void 0&&Lt["item--gap-before"],e&&Lt["item--columns"],...zt(Lt,"item--grow",r),...zt(Lt,"item--columns",e)),b=Object.assign(Object.assign({},Wr("--rs-view-item-order",i)),Wr("--rs-view-item-gap-before",n));return Q.createElement(a,Object.assign({},u,{style:Object.assign(Object.assign({},u==null?void 0:u.style),b),className:y}),s)},Xe=t=>{const{align:e,justify:r,wrap:n,gap:a,height:i,width:s,aspectRatio:o,maxHeight:u,maxWidth:y,padding:b,paddingInline:_,paddingBlock:A,paddingBottom:T,paddingEnd:k,paddingStart:C,paddingTop:P,bleed:B,animated:D,backgroundColor:N,borderColor:$,borderRadius:j,shadow:Z,textAlign:X,overflow:Y,position:re="relative",inset:M,insetTop:l,insetBottom:d,insetStart:h,insetEnd:c,zIndex:p,grow:v,as:E="div",children:g,divided:f,className:m,attributes:w}=t;let x=!!e||!!r||!!a||!!t.direction;const S=t.direction||(x?"column":void 0),R=uC(j),L=fC(B),F=sN(s),G=Ox(i),z=hN(y),V=bN(u),se=gN(re),ie=If(M),U=If(l,"top"),W=If(d,"bottom"),ce=If(h,"start"),oe=If(c,"end"),K=EN(o);let I=0,O;const q=({className:ee,key:he})=>{const de=Mt(Lt.divider,ee);let ue=!1;return typeof S=="string"&&S.startsWith("row")?ue=!0:S&&(ue=Object.keys(S).reduce((Ae,we)=>{const Ze=S[we];return Ze?Object.assign(Object.assign({},Ae),{[we]:Ze.startsWith("row")}):Ae},{})),Q.createElement("div",{className:de,key:`${he}-divider`},Q.createElement(cC,{vertical:ue,blank:!0}))},te=({className:ee,child:he,index:de})=>{var ue,Se,Ae;const we=he.type===dC,Ze=he.type===Xe,Ne=he.key||de,ke=!!de&&f&&q({className:ee,key:Ne});let Qe;return we?Qe=Q.cloneElement(he,{className:Mt(ee,he.props.className)}):ee||!Q.isValidElement(he)?Qe=Q.createElement("div",{className:ee,key:Ne},he):Qe=he,we&&(!((ue=he.props)===null||ue===void 0)&&ue.grow)&&(O=he.props.grow),we&&((Se=he.props)===null||Se===void 0?void 0:Se.gap)==="auto"&&(O=!0),(we||Ze)&&(!((Ae=he.props)===null||Ae===void 0)&&Ae.grow)&&(x=!0),[ke,Qe]},fe=Q.Children.map(g,(ee,he)=>{if(!ee)return null;const de=I;if(I+=1,ee.type===aw&&typeof ee.props.children!="function"){const ue=ee.props,{children:Se}=ue,Ae=AN(ue,["children"]),we=ee.key||he;return Q.createElement(aw,Object.assign({},Ae,{key:we}),Ze=>te({className:Ze,child:Se,index:de}))}return te({child:ee,index:de})}),H=Mt(Lt.root,m,R==null?void 0:R.classNames,se==null?void 0:se.classNames,L==null?void 0:L.classNames,F==null?void 0:F.classNames,G==null?void 0:G.classNames,K==null?void 0:K.classNames,z==null?void 0:z.classNames,V==null?void 0:V.classNames,ie==null?void 0:ie.classNames,U==null?void 0:U.classNames,W==null?void 0:W.classNames,ce==null?void 0:ce.classNames,oe==null?void 0:oe.classNames,X&&Lt[`--align-text-${X}`],N&&Lt[`--bg-${N}`],$&&Lt[`--bd-${$}`],$&&Lt["--bd"],Z&&Lt[`--shadow-${Z}`],Y&&Lt[`--overflow-${Y}`],D&&Lt["--animated"],f&&Lt["--divided"],(b!==void 0||_!==void 0||A!==void 0)&&Lt["--padding"],T!==void 0&&Lt["--padding-bottom"],k!==void 0&&Lt["--padding-end"],C!==void 0&&Lt["--padding-start"],P!==void 0&&Lt["--padding-top"],(x||O)&&Lt["--flex"],...zt(Lt,"--direction",S),...zt(Lt,"--align",e),...zt(Lt,"--justify",r),...zt(Lt,"--nowrap",O||n===!1),...zt(Lt,"--wrap",n),...zt(Lt,"item--grow",v)),J=Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},w==null?void 0:w.style),Wr("--rs-view-gap",a)),Wr("--rs-view-p-vertical",A||b)),Wr("--rs-view-p-horizontal",_||b)),Wr("--rs-view-p-bottom",T)),Wr("--rs-view-p-top",P)),Wr("--rs-view-p-start",C)),Wr("--rs-view-p-end",k)),L==null?void 0:L.variables),F==null?void 0:F.variables),G==null?void 0:G.variables),K==null?void 0:K.variables),z==null?void 0:z.variables),V==null?void 0:V.variables),ie==null?void 0:ie.variables),U==null?void 0:U.variables),W==null?void 0:W.variables),ce==null?void 0:ce.variables),oe==null?void 0:oe.variables),p?{"--rs-view-z":p}:{});return Q.createElement(E,Object.assign({},w,{className:H,style:J}),fe)};Xe.Item=dC;const SN="_root_p4nta_1",Ub={root:SN,"--auto":"_--auto_p4nta_1","--color-neutral":"_--color-neutral_p4nta_1","--color-neutral-faded":"_--color-neutral-faded_p4nta_1","--color-primary":"_--color-primary_p4nta_1","--color-positive":"_--color-positive_p4nta_1","--color-critical":"_--color-critical_p4nta_1","--color-disabled":"_--color-disabled_p4nta_1"},Ds=t=>{const{svg:e,className:r,color:n,size:a="1em",autoWidth:i,attributes:s}=t,o=Ox(a),u=Mt(Ub.root,r,o==null?void 0:o.classNames,n&&Ub[`--color-${n}`],i&&Ub["--auto"]),y=typeof e=="object"?e:Q.createElement(e,null),b=Object.assign(Object.assign({},s==null?void 0:s.style),o==null?void 0:o.variables);return Q.createElement("span",Object.assign({},s,{"aria-hidden":"true",className:u,style:b}),Q.cloneElement(y,{focusable:!1}))},uy=t=>{requestAnimationFrame(()=>{requestAnimationFrame(()=>t())})},Rx="data-rs-no-transition",CN=()=>{document.documentElement.setAttribute(Rx,"true")},TN=()=>{document.documentElement.removeAttribute(Rx)},MN=()=>!document.documentElement.hasAttribute(Rx),BN="_root_79hj7_1",Qo={root:BN,"--clamp":"_--clamp_79hj7_1","--align-start":"_--align-start_79hj7_1","--align-center":"_--align-center_79hj7_1","--align-end":"_--align-end_79hj7_1","--variant-title-1":"_--variant-title-1_79hj7_1","--variant-title-2":"_--variant-title-2_79hj7_1","--variant-title-3":"_--variant-title-3_79hj7_1","--variant-title-4":"_--variant-title-4_79hj7_1","--variant-title-5":"_--variant-title-5_79hj7_1","--variant-title-6":"_--variant-title-6_79hj7_1","--variant-featured-1":"_--variant-featured-1_79hj7_1","--variant-featured-2":"_--variant-featured-2_79hj7_1","--variant-featured-3":"_--variant-featured-3_79hj7_1","--variant-body-1":"_--variant-body-1_79hj7_1","--variant-body-2":"_--variant-body-2_79hj7_1","--variant-body-3":"_--variant-body-3_79hj7_1","--variant-caption-1":"_--variant-caption-1_79hj7_1","--variant-caption-2":"_--variant-caption-2_79hj7_1","--weight-regular":"_--weight-regular_79hj7_1","--weight-medium":"_--weight-medium_79hj7_1","--weight-bold":"_--weight-bold_79hj7_1","--color-neutral":"_--color-neutral_79hj7_1","--color-neutral-faded":"_--color-neutral-faded_79hj7_1","--color-primary":"_--color-primary_79hj7_1","--color-positive":"_--color-positive_79hj7_1","--color-critical":"_--color-critical_79hj7_1","--color-disabled":"_--color-disabled_79hj7_1","--decoration-line-through":"_--decoration-line-through_79hj7_1","--align-start--m":"_--align-start--m_79hj7_1","--align-center--m":"_--align-center--m_79hj7_1","--align-end--m":"_--align-end--m_79hj7_1","--variant-title-1--m":"_--variant-title-1--m_79hj7_1","--variant-title-2--m":"_--variant-title-2--m_79hj7_1","--variant-title-3--m":"_--variant-title-3--m_79hj7_1","--variant-title-4--m":"_--variant-title-4--m_79hj7_1","--variant-title-5--m":"_--variant-title-5--m_79hj7_1","--variant-title-6--m":"_--variant-title-6--m_79hj7_1","--variant-featured-1--m":"_--variant-featured-1--m_79hj7_1","--variant-featured-2--m":"_--variant-featured-2--m_79hj7_1","--variant-featured-3--m":"_--variant-featured-3--m_79hj7_1","--variant-body-1--m":"_--variant-body-1--m_79hj7_1","--variant-body-2--m":"_--variant-body-2--m_79hj7_1","--variant-body-3--m":"_--variant-body-3--m_79hj7_1","--variant-caption-1--m":"_--variant-caption-1--m_79hj7_1","--variant-caption-2--m":"_--variant-caption-2--m_79hj7_1","--align-start--l":"_--align-start--l_79hj7_1","--align-center--l":"_--align-center--l_79hj7_1","--align-end--l":"_--align-end--l_79hj7_1","--variant-title-1--l":"_--variant-title-1--l_79hj7_1","--variant-title-2--l":"_--variant-title-2--l_79hj7_1","--variant-title-3--l":"_--variant-title-3--l_79hj7_1","--variant-title-4--l":"_--variant-title-4--l_79hj7_1","--variant-title-5--l":"_--variant-title-5--l_79hj7_1","--variant-title-6--l":"_--variant-title-6--l_79hj7_1","--variant-featured-1--l":"_--variant-featured-1--l_79hj7_1","--variant-featured-2--l":"_--variant-featured-2--l_79hj7_1","--variant-featured-3--l":"_--variant-featured-3--l_79hj7_1","--variant-body-1--l":"_--variant-body-1--l_79hj7_1","--variant-body-2--l":"_--variant-body-2--l_79hj7_1","--variant-body-3--l":"_--variant-body-3--l_79hj7_1","--variant-caption-1--l":"_--variant-caption-1--l_79hj7_1","--variant-caption-2--l":"_--variant-caption-2--l_79hj7_1","--align-start--xl":"_--align-start--xl_79hj7_1","--align-center--xl":"_--align-center--xl_79hj7_1","--align-end--xl":"_--align-end--xl_79hj7_1","--variant-title-1--xl":"_--variant-title-1--xl_79hj7_1","--variant-title-2--xl":"_--variant-title-2--xl_79hj7_1","--variant-title-3--xl":"_--variant-title-3--xl_79hj7_1","--variant-title-4--xl":"_--variant-title-4--xl_79hj7_1","--variant-title-5--xl":"_--variant-title-5--xl_79hj7_1","--variant-title-6--xl":"_--variant-title-6--xl_79hj7_1","--variant-featured-1--xl":"_--variant-featured-1--xl_79hj7_1","--variant-featured-2--xl":"_--variant-featured-2--xl_79hj7_1","--variant-featured-3--xl":"_--variant-featured-3--xl_79hj7_1","--variant-body-1--xl":"_--variant-body-1--xl_79hj7_1","--variant-body-2--xl":"_--variant-body-2--xl_79hj7_1","--variant-body-3--xl":"_--variant-body-3--xl_79hj7_1","--variant-caption-1--xl":"_--variant-caption-1--xl_79hj7_1","--variant-caption-2--xl":"_--variant-caption-2--xl_79hj7_1"},kN={"title-1":"h1","title-2":"h2","title-3":"h3","title-4":"h4","title-5":"h5","title-6":"h6"},rr=t=>{const{variant:e,color:r,weight:n,align:a,decoration:i,maxLines:s,children:o,className:u,attributes:y}=t,b=typeof e=="string"?e:(e==null?void 0:e.xl)||(e==null?void 0:e.l)||(e==null?void 0:e.m)||(e==null?void 0:e.s),_=t.as||b&&kN[b]||"div",A=Mt(Qo.root,r&&Qo[`--color-${r}`],...zt(Qo,"--variant",e),...zt(Qo,"--align",a),n&&Qo[`--weight-${n}`],i&&Qo[`--decoration-${i}`],s!==void 0&&Qo["--clamp"],u),T=Object.assign(Object.assign({},y==null?void 0:y.style),{"--rs-text-lines":s});return Q.createElement(_,Object.assign({},y,{className:A,style:T}),o)},hC=Q.createContext({attributes:{id:"","aria-describedby":""},required:void 0,hasError:!1,errorRef:()=>{},helperRef:()=>{}}),FN=hC.Provider,O0=()=>Q.useContext(hC),pC=()=>{const{attributes:t,required:e,hasError:r,disabled:n}=O0();return{attributes:t,required:e,hasError:r,disabled:n}},PN="_root_1i3ho_1",DN="_label_1i3ho_1",IN="_caption_1i3ho_1",yC={root:PN,label:DN,caption:IN},Ag=(t,e)=>`${t}-${e||"caption"}`,zr=t=>{const{children:e,id:r,required:n,hasError:a,group:i,disabled:s,size:o}=t,u=Gu(r),y=i?"fieldset":"div",[b,_]=Q.useState(!1),[A,T]=Q.useState(!1),k=[b&&Ag(u),A&&Ag(u,"error")].filter(Boolean).join(" "),C={id:u,"aria-describedby":k},P=()=>{T(!0)},B=()=>{_(!0)};return Q.createElement(y,null,Q.createElement(FN,{value:{required:n,hasError:a,errorRef:P,helperRef:B,attributes:C,group:i,disabled:s,size:o}},e))},ON=t=>{const{children:e}=t,{attributes:r,required:n,group:a,disabled:i,size:s}=O0(),o=`${r.id}-label`,u=a?{as:"legend",attributes:{id:o}}:{as:"label",attributes:{id:o,htmlFor:r.id}};return Q.createElement(rr,Object.assign({},u,{variant:s==="large"?"body-2":"body-3",weight:"medium",className:yC.label,color:i?"disabled":void 0}),e,n&&Q.createElement(rr,{color:i?"disabled":"critical",as:"span"},"*"))},mC=t=>{const{children:e,variant:r,disabled:n}=t,{attributes:a,size:i,helperRef:s,errorRef:o}=O0(),u=Ag(a.id,r),y=r==="error"?"critical":"neutral-faded",b=r==="error"?o:s;return Q.createElement(rr,{as:"span",variant:i==="large"?"body-3":"caption-1",color:n&&!r?"disabled":y,attributes:{id:u,role:y?"alert":void 0,ref:b},className:yC.caption},e)},RN=t=>{const{children:e}=t,{disabled:r}=O0();return Q.createElement(mC,{disabled:r},e)},NN=t=>{const{children:e}=t,{hasError:r}=O0();return r?Q.createElement(mC,{variant:"error"},e):null};zr.Label=ON;zr.Helper=RN;zr.Error=NN;const $N="_root_ovu5c_1",ow={root:$N,"--side-all":"_--side-all_ovu5c_1","--side-inline":"_--side-inline_ovu5c_1","--side-start":"_--side-start_ovu5c_1","--side-end":"_--side-end_ovu5c_1","--side-block":"_--side-block_ovu5c_1","--side-top":"_--side-top_ovu5c_1","--side-bottom":"_--side-bottom_ovu5c_1"},Nx=t=>{const{side:e="all",children:r,className:n,attributes:a}=t,i=typeof e=="string"?[e]:e,s=Mt(ow.root,i.map(o=>ow[`--side-${o}`]),n);return Q.createElement("div",Object.assign({},a,{className:s}),r)},LN="_root_1iu93_1",jN="_input_1iu93_1",zN="_affix_1iu93_1",UN="_icon_1iu93_1",HN="_slot_1iu93_1",GN="_attachment_1iu93_1",di={root:LN,input:jN,affix:zN,icon:UN,slot:HN,attachment:GN,"attachment--position-start":"_attachment--position-start_1iu93_1","attachment--position-end":"_attachment--position-end_1iu93_1","--disabled":"_--disabled_1iu93_1","--size-medium":"_--size-medium_1iu93_1","--size-large":"_--size-large_1iu93_1","--size-xlarge":"_--size-xlarge_1iu93_1","--variant-faded":"_--variant-faded_1iu93_1","--variant-headless":"_--variant-headless_1iu93_1","--status-error":"_--status-error_1iu93_1","--size-medium--m":"_--size-medium--m_1iu93_1","--size-large--m":"_--size-large--m_1iu93_1","--size-xlarge--m":"_--size-xlarge--m_1iu93_1","--size-medium--l":"_--size-medium--l_1iu93_1","--size-large--l":"_--size-large--l_1iu93_1","--size-xlarge--l":"_--size-xlarge--l_1iu93_1","--size-medium--xl":"_--size-medium--xl_1iu93_1","--size-large--xl":"_--size-large--xl_1iu93_1","--size-xlarge--xl":"_--size-xlarge--xl_1iu93_1"},lw=t=>{const{slot:e,icon:r,size:n,affix:a,position:i}=t;if(!r&&!e&&!a)return null;const s=Mt(di.attachment,di[`attachment--position-${i}`]),o=[e&&Q.createElement("div",{className:di.slot,key:"slot"},e),r&&Q.createElement("div",{className:di.icon,key:"icon"},Q.createElement(Ds,{size:Rl(n,u=>u==="large"?5:u==="xlarge"?6:4),svg:r})),a&&Q.createElement("div",{className:di.affix,key:"affix"},a)].filter(Boolean);return Q.createElement("span",{className:s},i==="end"?o.reverse():o)},l0=t=>{var e;const{onChange:r,onFocus:n,onBlur:a,name:i,value:s,defaultValue:o,placeholder:u,icon:y,endIcon:b,startSlot:_,endSlot:A,prefix:T,suffix:k,size:C="medium",variant:P="outline",className:B,attributes:D}=t,N=pC(),$=Gu(t.id),j=(N==null?void 0:N.attributes.id)||((e=t.inputAttributes)===null||e===void 0?void 0:e.id)||$,Z=(N==null?void 0:N.disabled)||t.disabled,X=(N==null?void 0:N.hasError)||t.hasError,Y=Object.assign(Object.assign({},t.inputAttributes),N==null?void 0:N.attributes),re=Mt(di.root,B,C&&zt(di,"--size",C),X&&di["--status-error"],Z&&di["--disabled"],P&&di[`--variant-${P}`]),M=l=>{r&&r({name:i,value:l.target.value,event:l})};return Q.createElement("div",Object.assign({},D,{"data-rs-aligner-target":!0,className:re}),Q.createElement(lw,{position:"start",icon:y,slot:_,size:C,affix:T}),Q.createElement("input",Object.assign({},Y,{className:di.input,disabled:Z,name:i,placeholder:u,value:s,defaultValue:o,onChange:M,onFocus:n||(Y==null?void 0:Y.onFocus),onBlur:a||(Y==null?void 0:Y.onBlur),id:j})),Q.createElement(lw,{position:"end",icon:b,slot:A,size:C,affix:k}))};l0.Aligner=Nx;const qN="Tab",VN="ArrowUp",WN="ArrowDown",Sg="data-rs-keyboard",mp="data-rs-focus";class KN{constructor(){this.chain={},this.tailId=null,this.idCounter=0}generateId(){return this.idCounter+=1,this.idCounter}getAll(){return this.chain}get(e){return this.chain[e]}isLast(e){return this.tailId!==null&&e===this.tailId}isEmpty(){return typeof this.tailId!="number"}add(e){const r=this.tailId,n=r&&this.get(r),a=this.generateId();return this.chain[a]={previousId:r,data:e},n&&(n.nextId=a),this.tailId=a,a}remove(e){var r,n;const a=this.chain[e];if(!a)return;const i=a.previousId,s=i&&this.get(i),o=a.nextId,u=o&&this.get(o);s&&(s.nextId=(r=a.nextId)!==null&&r!==void 0?r:null),u&&(u.previousId=(n=a.previousId)!==null&&n!==void 0?n:null),o||(this.tailId=i??null);const y=this.get(e).data;return delete this.chain[e],y}removePreviousTill(e,r){const n=this.get(e),a=this.remove(e);return!n||!n.previousId||r(n)?a:this.removePreviousTill(n.previousId,r)}}const bC=()=>document.documentElement.hasAttribute(Sg),vC='a,button,input:not([type="hidden"]),textarea,select,details,[tabindex]:not([tabindex="-1"])',Cg=()=>document.querySelector(`[${mp}]`)||document.activeElement,Tg=(t,e)=>{const n=Array.from(t.querySelectorAll(vC)).filter(a=>!a.hasAttribute("disabled")&&a.clientHeight>0);return e&&n.length&&n.unshift(e),n},ZN=t=>{const{root:e,extraElement:r,target:n,mode:a}=t,i=Tg(e,r),s=i.length-1,o=Cg(),u=i.indexOf(o),y={next:u+1,prev:u-1,first:0,last:s};let b=y[n];const _=b>s||b<0;return _&&(a==="action-menu"?b=n==="prev"?y.first:y.last:b=n==="prev"?y.last:y.first),{overflow:_,el:i[b]}},Hb=(t,e)=>{var r;(r=document.querySelector(`[${mp}]`))===null||r===void 0||r.removeAttribute(mp),e==="selection-menu"?t.setAttribute(mp,"true"):t.focus()},JN=(()=>{let t=[];const e=n=>{let a=n.parentNode&&n.parentNode.firstChild;for(;a;){const i=a!==n,s=a.nodeType===1&&!a.hasAttribute("aria-hidden");i&&s&&(a.setAttribute("aria-hidden","true"),t.push(a)),a=a.nextSibling}},r=()=>{t.forEach(n=>{n.removeAttribute("aria-hidden")}),t=[]};return n=>{let a=n;for(t.length&&r();a!==document.body;)e(a),a=a.parentElement;return{release:r}}})(),fy=(()=>{let t=null,e=null;const r=new KN;return(n,a={})=>{const{mode:i="dialog",onNavigateOutside:s,includeTrigger:o}=a,u=Cg(),y=i==="dialog",b=i==="content-menu",_=i==="selection-menu",A=y||b,T=i==="action-menu"||_,k=Tg(n,o?u:void 0);let C;const P=new MutationObserver(()=>{if(n.contains(document.activeElement))return;const $=Tg(n,o?u:void 0);$.length&&Hb($[0],i)}),B=($={})=>{const{withoutFocusReturn:j}=$;r.removePreviousTill(C,X=>document.body.contains(X.data.trigger)),P.disconnect(),u&&u.focus({preventScroll:j||!bC()}),t&&(t(),e&&e.release(),t=null,e=null);const Z=r.tailId&&r.get(r.tailId);Z&&fy(Z.data.root,Z.data.options)},D=$=>{const j=$.key,Z=j===qN,X=Z&&!$.shiftKey,Y=Z&&$.shiftKey,re=T&&j===VN,M=T&&j===WN,l=Y&&A||re,d=X&&A||M,h=Cg()===u,c=ZN({root:n,target:l?"prev":"next",extraElement:o?u:void 0,mode:i});if(Z&&T||b&&Z&&c.overflow){Y&&!h&&$.preventDefault(),B(),s==null||s();return}!l&&!d||($.preventDefault(),c.el&&Hb(c.el,i))};if(t&&t(),y&&(e=JN(n)),P.observe(n,{childList:!0,subtree:!0}),!k.length)return null;document.addEventListener("keydown",D),t=()=>document.removeEventListener("keydown",D);const N=r.tailId&&r.get(r.tailId);return(!N||n!==N.data.root)&&(C=r.add({root:n,trigger:u,options:a}),Hb(k[0],i)),B}})(),YN=100,XN=150;let tu={},Li=null;const gC=t=>{tu[t]&&(t===Li&&(Li=tu[t].parentId),delete tu[t],Li===null&&(tu={}))},QN=(t,e,r)=>{var n;const a=Li?tu[Li]:void 0;!((r==null?void 0:r.current)&&a&&((n=a.contentRef.current)===null||n===void 0?void 0:n.contains(r.current)))&&r&&Li&&gC(Li),tu[t]={parentId:Li,triggerRef:r,contentRef:e},Li=t},xC=(t=!1,e,r)=>{const n=Gu(),a=Q.useCallback(()=>Li===n,[n]);return Q.useEffect(()=>{t?QN(n,e,r):gC(n)},[t,n,e,r]),a},ts=typeof window<"u"?Q.useLayoutEffect:Q.useEffect,Mu="+",Qa={},Gb=[],wC=t=>t===" "?t:t.replace(/\s/g,"").toLowerCase(),$x=t=>wC(t).split(Mu).sort().join(Mu),cw=t=>{if(t.key)return t.altKey&&t.key!=="Alt"?t.code.toLowerCase().replace(/key|digit|numpad/,""):t.key.toLowerCase()},e$=t=>{const e=[],r=t.join(Mu),a=$x(r).split(Mu),i=(s,o)=>{o.forEach((u,y)=>{const b=s?`${s}+${u}`:u;e.push(b),i(b,o.slice(y+1))})};return i("",a),e},t$=(t,e)=>{const r=Object.keys(t);r.length&&e$(r).forEach(n=>{e(n)})},qb=(t,e)=>{Object.keys(t).forEach(r=>{r.split(",").forEach(n=>{const a=t[r];a&&e($x(n),a)})})};class r${constructor(){this.hotkeyMap={},this.getSize=()=>Object.keys(this.hotkeyMap).length,this.bindHotkeys=(e,r)=>{qb(e,(n,a)=>{a&&(this.hotkeyMap[n]||(this.hotkeyMap[n]={data:new Set,used:!1}),this.hotkeyMap[n].data.add({callback:a,ref:r}))})},this.unbindHotkeys=e=>{qb(e,(r,n)=>{var a,i;n&&((a=this.hotkeyMap[r])===null||a===void 0||a.data.forEach(s=>{s.callback===n&&this.hotkeyMap[r].data.delete(s)}),!((i=this.hotkeyMap[r])===null||i===void 0)&&i.data.size||delete this.hotkeyMap[r])})},this.handleKeyDown=(e,r)=>{t$(e,n=>{const a=this.hotkeyMap[n];!a||a.used||a!=null&&a.data.size&&a.data.forEach(i=>{var s;!((s=i.ref)===null||s===void 0)&&s.current&&!(r.target===i.ref.current||i.ref.current.contains(r.target))||(i.callback(e[n]),this.hotkeyMap[n].used=!0)})})},this.handleKeyUp=e=>{const r=$x(e.key);qb(this.hotkeyMap,(n,a)=>{n.split(Mu).includes(r)&&(a.used=!1)})}}}const Sh=new r$,_C=Q.createContext({}),n$=t=>{const{children:e}=t,[r,n]=Q.useState(0),[a,i]=Q.useState(0),s=Q.useCallback(A=>{if(A.repeat||a===0)return;const T=cw(A);T&&(Qa[T]=A,(T==="meta"||T==="control")&&(Qa.mod=A),n(Object.keys(Qa).length),T==="meta"&&Gb.push(...Object.keys(Qa)),Qa.Meta&&Gb.push(T))},[a]),o=Q.useCallback(A=>{if(a===0)return;const T=cw(A);T&&(delete Qa[T],(T==="meta"||T==="control")&&delete Qa.mod,T==="meta"&&Gb.forEach(k=>{delete Qa[k]}),n(Object.keys(Qa).length))},[a]),u=A=>!wC(A).split(Mu).some(k=>!Qa[k]),y=Q.useCallback((A,T)=>(i(k=>k+1),Sh.bindHotkeys(A,T),()=>{i(k=>k-1),Sh.unbindHotkeys(A)}),[]),b=Q.useCallback(A=>{A.key&&(s(A),Sh.handleKeyDown(Qa,A))},[s]),_=Q.useCallback(A=>{A.key&&(o(A),Sh.handleKeyUp(A))},[o]);return Q.useEffect(()=>(window.addEventListener("keydown",b),window.addEventListener("keyup",_),()=>{window.removeEventListener("keydown",b),window.removeEventListener("keyup",_)}),[b,_]),Q.createElement(_C.Provider,{value:{addHotkeys:y,isPressed:u}},e)},a$=()=>Q.useContext(_C),EC=(t,e=[],r)=>{const{addHotkeys:n,isPressed:a}=a$(),i=Q.useRef(null),s=(r==null?void 0:r.ref)||i;return Q.useEffect(()=>{const o=n(t,s);return()=>o==null?void 0:o()},[n,Object.keys(t).join(","),...e]),{ref:s,checkHotkeyState:a}},AC=Q.createContext({rtl:[!1,()=>{}],defaultViewport:"s"}),i$=t=>{const e=Q.useState(t||!1),[r,n]=e;return ts(()=>{const a=new MutationObserver(i=>{i.forEach(s=>{if(s.attributeName!=="dir")return;const o=s.target.dir==="rtl";r!==o&&n(o)})});return a.observe(document.documentElement,{attributes:!0}),()=>a.disconnect()},[r]),ts(()=>{document.documentElement.setAttribute("dir",r?"rtl":"ltr")},[r]),e},SC=()=>Q.useContext(AC).rtl,Lx=t=>{const e=t&&window.getComputedStyle(t),r=e==null?void 0:e.overflowY,n=e==null?void 0:e.position,a=r==null?void 0:r.includes("scroll"),i=n==="fixed";return t===document.body||!t?document.body:a&&t.scrollHeight>t.clientHeight||i?t:Lx(t.parentElement)},uw=16,Ch=["top-start","top","top-end"],Th=["bottom-start","bottom","bottom-end"],Mh=["start","start-bottom","start-top"],Bh=["end","end-bottom","end-top"],s$={top:[...Ch,...Th,...Bh,...Mh],bottom:[...Th,...Ch,...Bh,...Mh],start:[...Mh,...Bh,...Ch,...Th],end:[...Bh,...Mh,...Ch,...Th]},o$=t=>t.includes("start")?t.replace("start","end"):t.includes("end")?t.replace("end","start"):t,fw=(t,e)=>Math.floor(t/2-e/2),l$=t=>{const r=["top","bottom","start","end"].find(n=>t.startsWith(n))||"bottom";return s$[r]},Vb=t=>{const e=document.documentElement,r=e.scrollLeft,n=r+e.clientWidth,a=e.scrollTop,i=a+e.clientHeight;return t.left>=r&&t.left+t.width<=n&&t.top>=a&&t.top+t.height<=i},dw=(t,e,r,n)=>{const{position:a,rtl:i,width:s}=n;let o=0,u=0,y=a;switch(i&&(y=o$(y)),(s==="full"||s==="trigger")&&(y=y.includes("top")?"top":"bottom"),y){case"bottom":case"top":o=fw(t.width,e.width)+t.left;break;case"start":case"start-top":case"start-bottom":o=t.left-e.width;break;case"end":case"end-top":case"end-bottom":o=t.right;break;case"top-start":case"bottom-start":o=t.left;break;case"top-end":case"bottom-end":o=t.right-e.width;break}switch(y){case"top":case"top-start":case"top-end":u=t.top-e.height;break;case"bottom":case"bottom-start":case"bottom-end":u=t.bottom;break;case"start":case"end":u=fw(t.height,e.height)+t.top;break;case"start-top":case"end-top":u=t.top;break;case"start-bottom":case"end-bottom":u=t.bottom-e.height;break}if(u===void 0||o===void 0)throw Error(`[Reshaped, flyout]: ${y} position is not valid`);u=Math.round(u+(window.scrollY||0)-r.top),o=Math.round(o+(window.scrollX||0)-r.left);let b=Math.ceil(e.width);const _=Math.ceil(e.height);return s==="full"?(o=uw,b=window.innerWidth-uw*2):s==="trigger"&&(b=t.width),{styles:{left:o,top:u,width:b,height:_},position:y}},CC={left:0,top:0,width:"auto",height:"auto",zIndex:"var(--rs-z-index-flyout)"},p1={left:0,top:0,position:"fixed",visibility:"hidden",animation:"none",transition:"none",zIndex:"var(--rs-z-index-tooltip)"},c$=(t,e,r)=>{const{position:n,forcePosition:a,width:i}=r,s=e.cloneNode(!0),o=t.getBoundingClientRect();s.style="",Object.keys(p1).forEach(T=>{const k=p1[T];s.style[T]=k.toString()}),i&&(i==="trigger"?s.style.width=`${o.width}px`:i!=="full"&&(s.style.width=i)),document.body.appendChild(s);const u=s.getBoundingClientRect(),y=Lx(t),b=y.getBoundingClientRect(),_={top:b.top+document.documentElement.scrollTop-y.scrollTop,left:b.left+document.documentElement.scrollLeft-y.scrollLeft};let A=dw(o,u,_,r);if(!Vb(A.styles)&&!a){const T=l$(n),k=T.filter(P=>P==="top"||P==="bottom"),C=(P,B={})=>{const{fullWidth:D}=B;P.some(N=>{const $=Object.assign(Object.assign({},r),{width:D?"full":r.width,position:N}),j=dw(o,u,_,$);return Vb(j.styles)?(A=j,!0):!1})};C(T),Vb(A.styles)||C(k,{fullWidth:!0})}return s.parentNode.removeChild(s),A},u$=(t,e)=>{switch(e.type){case"render":return Object.assign(Object.assign({},t),{status:"rendered",styles:Object.assign({pointerEvents:"none"},p1)});case"position":return Object.assign(Object.assign({},t),{status:t.status==="visible"?"visible":"positioned",position:e.payload.position,styles:Object.assign(Object.assign({},CC),e.payload.styles)});case"show":return Object.assign(Object.assign({},t),{status:"visible"});case"hide":return Object.assign(Object.assign({},t),{status:t.status==="idle"?"idle":"hidden"});case"remove":return Object.assign(Object.assign({},t),{status:"idle",styles:p1});default:throw new Error("Invalid reducer type")}},f$=(t,e,r)=>{const{position:n="bottom",forcePosition:a,width:i}=r,[s]=SC(),[o,u]=Q.useReducer(u$,{position:n,styles:CC,status:"idle"}),y=Q.useCallback(()=>{u({type:"render"})},[]),b=Q.useCallback(()=>{u({type:"show"})},[]),_=Q.useCallback(()=>{u({type:"hide"})},[]),A=Q.useCallback(()=>{u({type:"remove"})},[]),T=Q.useCallback(()=>{if(!t.current||!e.current)return;const k=c$(t.current,e.current,{width:i,position:n,forcePosition:a,rtl:s});u({type:"position",payload:k})},[t,e,n,s,a,i]);return Q.useEffect(()=>{o.status==="rendered"&&T(),o.status==="positioned"&&uy(()=>b())},[o.status,T,b]),Q.useMemo(()=>({position:o.position,styles:o.styles,status:o.status,updatePosition:T,render:y,hide:_,remove:A}),[y,T,_,A,o.position,o.styles,o.status])},d$=(t,e)=>{Q.useEffect(()=>{if(!e)return;const r=n=>{let a=!1;t.forEach(i=>{(!i.current||i.current===n.target||i.current.contains(n.target))&&(a=!0)}),!a&&e(n)};return document.addEventListener("mousedown",r),document.addEventListener("touchstart",r),()=>{document.removeEventListener("mousedown",r),document.removeEventListener("touchstart",r)}},[e,...t])},TC=Q.createContext({}),jx=()=>Q.useContext(TC),h$=TC.Provider,MC=t=>{const{triggerType:e="click",onOpen:r,onClose:n,children:a,forcePosition:i,trapFocusMode:s,width:o,disableHideAnimation:u,contentGap:y,contentClassName:b,contentAttributes:_,position:A,active:T,id:k,instanceRef:C}=t,[P]=SC(),B=Q.useRef(null),D=Q.useRef(null),N=Gu(k),$=Q.useRef(),j=Q.useRef(null),Z=Q.useRef(!1),X=Q.useRef(!1),Y=Q.useRef(!0),re=f$(B,D,{width:o,position:A,defaultActive:T,forcePosition:i}),M=jx(),{status:l,updatePosition:d,render:h,hide:c,remove:p}=re,v=xC(e!=="hover"&&l!=="idle",D,B),E=Q.useCallback(()=>{$.current&&clearTimeout($.current)},[$]),g=Q.useCallback(()=>{!Z.current&&l==="idle"&&(r==null||r())},[l]),f=Q.useCallback(z=>{var V;!(e==="click"&&!v())&&l!=="idle"&&(n==null||n(),z!=null&&z.closeParents&&((V=M==null?void 0:M.handleClose)===null||V===void 0||V.call(M)))},[l,v,e]),m=Q.useCallback(z=>{var V;!((V=D.current)===null||V===void 0)&&V.contains(z.relatedTarget)||e==="hover"&&s==="content-menu"||X.current||f()},[f,e,s]),w=Q.useCallback(()=>{g()},[g]),x=Q.useCallback(()=>{E(),$.current=setTimeout(g,YN)},[E,$,g]),S=Q.useCallback(()=>{E(),$.current=setTimeout(()=>f(),XN)},[E,$,f]),R=Q.useCallback(()=>{l==="idle"?g():f()},[l,g,f]),L=()=>X.current=!0,F=()=>X.current=!1;ts(()=>{if(T){h();return}MN()&&!u?c():p()},[T,h,c,u]);const G=Q.useCallback(z=>{D.current!==z.currentTarget||z.propertyName!=="transform"||l==="hidden"&&p()},[p,l]);return ts(()=>{l!=="visible"||!D.current||(j.current=fy(D.current,{mode:s,includeTrigger:e==="hover"&&s==="content-menu",onNavigateOutside:()=>{j.current=null,f()}}))},[l,e,f,s]),Q.useEffect(()=>{!u&&l!=="hidden"||u&&l!=="idle"||j.current&&(e==="hover"&&(Z.current=!0,setTimeout(()=>{Z.current=!1},100)),j.current({withoutFocusReturn:!Y.current}),j.current=null,Y.current=!0)},[l,e,u]),Q.useEffect(()=>()=>{j.current&&j.current(),j.current=null},[]),Q.useEffect(()=>{const z=VR(d,10);return window.addEventListener("resize",z),()=>window.removeEventListener("resize",z)},[d]),Q.useEffect(()=>{d()},[P,d]),Q.useImperativeHandle(C,()=>({open:g,close:f}),[g,f]),EC({Escape:()=>f()},[f]),d$([D,B],()=>{Y.current=!1,f()}),Q.createElement(h$,{value:{id:N,flyout:re,width:o,triggerElRef:B,flyoutElRef:D,handleClose:f,handleOpen:g,handleFocus:w,handleBlur:m,handleMouseEnter:x,handleMouseLeave:S,handleTransitionEnd:G,handleClick:R,handleContentMouseDown:L,handleContentMouseUp:F,triggerType:e,trapFocusMode:s,contentGap:y,contentClassName:b,contentAttributes:_}},a)},p$=t=>{const{defaultActive:e,onClose:r,onOpen:n}=t,[a,i]=Q.useState(e||!1),s=()=>{i(!1),r&&r()},o=()=>{i(!0),n&&n()};return Q.createElement(MC,Object.assign({},t,{defaultActive:void 0,active:a,onClose:s,onOpen:o}))},y$=t=>{const{children:e}=t,{id:r,triggerElRef:n,triggerType:a,flyout:i,handleFocus:s,handleBlur:o,handleMouseEnter:u,handleMouseLeave:y,handleClick:b,trapFocusMode:_}=jx();let A={onBlur:o,ref:n};return(a==="click"||_==="action-menu")&&(A.onClick=b),a==="hover"&&(A.onMouseEnter=u,A.onMouseLeave=y),(a==="hover"&&_!=="action-menu"||a==="focus")&&(A.onFocus=s,A["aria-describedby"]=r),(a==="click"||a==="focus"||_==="action-menu")&&(_==="dialog"?A["aria-haspopup"]="dialog":_==="selection-menu"?(A["aria-haspopup"]="listbox",A["aria-autocomplete"]="list"):A["aria-haspopup"]="menu",A["aria-expanded"]=i.status!=="idle",A["aria-controls"]=i.status!=="idle"?r:void 0),Q.createElement(Q.Fragment,null,e(A))},BC=Q.createContext({theme:"",colorMode:"light",setTheme:()=>{}}),zx=Q.createContext({mode:"light",setMode:()=>{},invertMode:()=>{}}),m$=()=>{const{mode:t}=Q.useContext(zx);return t},b$=()=>{const{colorMode:t,theme:e,setTheme:r}=Q.useContext(BC),{mode:n,setMode:a,invertMode:i}=Q.useContext(zx);return Q.useMemo(()=>({theme:e,setTheme:r,colorMode:t||n,setColorMode:a,invertColorMode:i}),[t,n,a,i,e,r])},v$="_root_1j8c4_1",g$={root:v$},R0=t=>{const{name:e,defaultName:r,colorMode:n,children:a,className:i}=t,[s,o]=Q.useState(!1),[u,y]=Q.useState(r),b=m$(),_=b$(),A=!_.theme,T=e||u||_.theme,k=A?b:_.colorMode,P=n==="inverted"?k==="light"?"dark":"light":n||k,B=Mt(g$.root,i),D=N=>{y(N)};return ts(()=>{o(!0)},[]),ts(()=>{if(!document||!A)return;const N=document.documentElement.getAttribute("data-rs-color-mode");return document.documentElement.setAttribute("data-rs-theme",T),N||document.documentElement.setAttribute("data-rs-color-mode",P),()=>{document.documentElement.removeAttribute("data-rs-theme"),N||document.documentElement.removeAttribute("data-rs-color-mode")}},[T,P,A]),Q.createElement(BC.Provider,{value:{theme:T,colorMode:P,setTheme:D}},Q.createElement("div",{className:B,"data-rs-theme":A?void 0:T,"data-rs-color-mode":A||!n&&!s?void 0:P},a))},x$=t=>{const{defaultMode:e,children:r}=t,[n,a]=Q.useState(e||"light"),i=Q.useCallback(o=>{document.documentElement.setAttribute("data-rs-color-mode",o),a(u=>(u!==o&&CN(),o))},[]);ts(()=>{uy(()=>{TN()})},[n]),ts(()=>{const o=document.documentElement.getAttribute("data-rs-color-mode");o&&i(o)},[]);const s=Q.useMemo(()=>({mode:n,setMode:i,invertMode:()=>{i(n==="light"?"dark":"light")}}),[n,i]);return Q.createElement(zx.Provider,{value:s},r)},kC=Q.createContext({}),w$=()=>Q.useContext(kC),y1=t=>{const{children:e,targetRef:r}=t,n=w$(),a=r||n.scopeRef;return HS.createPortal(Q.createElement(R0,null,e),(a==null?void 0:a.current)||document.body)};function _$(t){const{children:e}=t,r=Q.useRef(null);return Q.createElement(kC.Provider,{value:{scopeRef:r}},e(r))}y1.Scope=_$;const E$="_content_2oj3i_1",A$="_inner_2oj3i_1",vc={content:E$,inner:A$,"--width-trigger":"_--width-trigger_2oj3i_1","--position-top":"_--position-top_2oj3i_1","--position-top-end":"_--position-top-end_2oj3i_1","--position-top-start":"_--position-top-start_2oj3i_1","--position-bottom":"_--position-bottom_2oj3i_1","--position-bottom-end":"_--position-bottom-end_2oj3i_1","--position-bottom-start":"_--position-bottom-start_2oj3i_1","--position-start":"_--position-start_2oj3i_1","--position-start-bottom":"_--position-start-bottom_2oj3i_1","--position-start-top":"_--position-start-top_2oj3i_1","--position-end":"_--position-end_2oj3i_1","--position-end-bottom":"_--position-end-bottom_2oj3i_1","--position-end-top":"_--position-end-top_2oj3i_1","--visible":"_--visible_2oj3i_1","--animated":"_--animated_2oj3i_1"},S$=t=>{const{children:e,className:r,attributes:n}=t,{flyout:a,id:i,flyoutElRef:s,triggerElRef:o,handleTransitionEnd:u,triggerType:y,handleMouseEnter:b,handleMouseLeave:_,handleContentMouseDown:A,handleContentMouseUp:T,contentGap:k,contentClassName:C,contentAttributes:P,trapFocusMode:B,width:D}=jx(),{styles:N,status:$,position:j}=a,[Z,X]=Q.useState(!1);if(ts(()=>{X(!0)},[]),$==="idle"||!Z)return null;const Y=Mt(vc.content,$==="visible"&&vc["--visible"],["visible","hidden"].includes($)&&vc["--animated"],j&&vc[`--position-${j}`],D==="trigger"&&vc["--width-trigger"]),re=Mt(vc.inner,r,C);let M;y==="hover"?M="tooltip":B==="dialog"?M="dialog":B==="selection-menu"?M="listbox":B==="action-menu"&&(M="menu");const l=Q.createElement("div",{className:Y,style:Object.assign(Object.assign({},N),{"--rs-flyout-gap":k}),ref:s,onTransitionEnd:u,onMouseEnter:y==="hover"?b:void 0,onMouseLeave:y==="hover"?_:void 0,onMouseDown:A,onTouchStart:A,onMouseUp:T,onTouchEnd:T},Q.createElement("div",Object.assign({role:M},n,{id:i,"aria-modal":y==="click",style:P==null?void 0:P.style,className:re}),e)),d=Lx(o.current);return Q.createElement(y1,{targetRef:d===document.body?void 0:{current:d}},l)},El=t=>{const{active:e}=t;return typeof e=="boolean"?Q.createElement(MC,Object.assign({},t)):Q.createElement(p$,Object.assign({},t))};El.Trigger=y$;El.Content=S$;const C$="_root_dn36s_1",T$={root:C$},FC=t=>{if(!t)return null;const e=Wr("--rs-p",t);return{classNames:T$.root,variables:e}};El.Trigger;El.Content;const M$="_root_13n2x_1",B$="_icon_13n2x_1",k$="_content_13n2x_1",F$="_aligner_13n2x_1",ys={root:M$,icon:B$,content:k$,"--rounded-corners":"_--rounded-corners_13n2x_1","--size-small":"_--size-small_13n2x_1","--size-medium":"_--size-medium_13n2x_1","--size-large":"_--size-large_13n2x_1","--color-neutral":"_--color-neutral_13n2x_1","--selected":"_--selected_13n2x_1","--color-critical":"_--color-critical_13n2x_1","--color-primary":"_--color-primary_13n2x_1","--disabled":"_--disabled_13n2x_1",aligner:F$,"--rounded-corners-true--m":"_--rounded-corners-true--m_13n2x_1","--rounded-corners-false--m":"_--rounded-corners-false--m_13n2x_1","--size-small--m":"_--size-small--m_13n2x_1","--size-medium--m":"_--size-medium--m_13n2x_1","--size-large--m":"_--size-large--m_13n2x_1","--rounded-corners-true--l":"_--rounded-corners-true--l_13n2x_1","--rounded-corners-false--l":"_--rounded-corners-false--l_13n2x_1","--size-small--l":"_--size-small--l_13n2x_1","--size-medium--l":"_--size-medium--l_13n2x_1","--size-large--l":"_--size-large--l_13n2x_1","--rounded-corners-true--xl":"_--rounded-corners-true--xl_13n2x_1","--rounded-corners-false--xl":"_--rounded-corners-false--xl_13n2x_1","--size-small--xl":"_--size-small--xl_13n2x_1","--size-medium--xl":"_--size-medium--xl_13n2x_1","--size-large--xl":"_--size-large--xl_13n2x_1"},P$=t=>Q.createElement(Nx,Object.assign({},t,{side:t.side||"inline",className:[ys.aligner,t.className]})),D$=(t,e)=>{const{icon:r,startSlot:n,endSlot:a,children:i,color:s="primary",selected:o,disabled:u,onClick:y,href:b,size:_="medium",roundedCorners:A,className:T,attributes:k}=t,C=Mt(ys.root,T,zt(ys,"--size",_),zt(ys,"--rounded-corners",A),s&&ys[`--color-${s}`],o&&ys["--selected"],u&&ys["--disabled"]),P=Rl(_,D=>D==="large"?3:2),B=Rl(_,D=>D==="large"?5:4);return Q.createElement(qu,{disabled:u,className:C,attributes:Object.assign(Object.assign({},k),{"data-rs-aligner-target":!0}),onClick:y,href:b,ref:e},Q.createElement(Xe,{direction:"row",gap:P,align:"center"},r&&Q.createElement(Ds,{svg:r,className:ys.icon,size:B}),!r&&n,i&&Q.createElement(Xe.Item,{grow:!0,className:ys.content},i),a))},I$=Q.forwardRef(D$);I$.Aligner=P$;Q.createContext(null);Q.createContext({});const O$="_root_1j37c_1",R$="_inner_1j37c_1",kh={root:O$,"rs-reshaped-loader":"_rs-reshaped-loader_1j37c_1",inner:R$,"--color-inherit":"_--color-inherit_1j37c_1","--color-primary":"_--color-primary_1j37c_1","--color-positive":"_--color-positive_1j37c_1","--color-critical":"_--color-critical_1j37c_1","--size-small":"_--size-small_1j37c_1","--size-medium":"_--size-medium_1j37c_1","--size-small--m":"_--size-small--m_1j37c_1","--size-medium--m":"_--size-medium--m_1j37c_1","--size-small--l":"_--size-small--l_1j37c_1","--size-medium--l":"_--size-medium--l_1j37c_1","--size-small--xl":"_--size-small--xl_1j37c_1","--size-medium--xl":"_--size-medium--xl_1j37c_1"},N$=t=>{const{size:e="small",color:r="primary",className:n,attributes:a}=t,i=a==null?void 0:a["aria-label"],s=Mt(kh.root,n,zt(kh,"--size",e),r&&kh[`--color-${r}`]);return Q.createElement("span",Object.assign({},a,{role:"progressbar","aria-live":i?"assertive":void 0,"aria-label":i,className:s}),Q.createElement("span",{className:kh.inner}))},$$="_root_1pr7i_1",L$="_loader_1pr7i_1",j$="_icon_1pr7i_1",z$="_text_1pr7i_1",U$="_group_1pr7i_1",H$="_aligner_1pr7i_1",rn={root:$$,loader:L$,icon:j$,"--icon-position-end":"_--icon-position-end_1pr7i_1",text:z$,"--loading":"_--loading_1pr7i_1","--elevated":"_--elevated_1pr7i_1","--icon-only":"_--icon-only_1pr7i_1","--rounded":"_--rounded_1pr7i_1","--size-small":"_--size-small_1pr7i_1","--size-medium":"_--size-medium_1pr7i_1","--size-large":"_--size-large_1pr7i_1","--size-xlarge":"_--size-xlarge_1pr7i_1","--full-width":"_--full-width_1pr7i_1","--variant-faded":"_--variant-faded_1pr7i_1","--color-critical":"_--color-critical_1pr7i_1","--color-inherit":"_--color-inherit_1pr7i_1","--color-neutral":"_--color-neutral_1pr7i_1","--color-positive":"_--color-positive_1pr7i_1","--color-primary":"_--color-primary_1pr7i_1","--variant-ghost":"_--variant-ghost_1pr7i_1","--variant-outline":"_--variant-outline_1pr7i_1","--variant-solid":"_--variant-solid_1pr7i_1","--color-black":"_--color-black_1pr7i_1","--color-white":"_--color-white_1pr7i_1","--highlighted":"_--highlighted_1pr7i_1","--disabled":"_--disabled_1pr7i_1",group:U$,aligner:H$,"--size-small--m":"_--size-small--m_1pr7i_1","--size-medium--m":"_--size-medium--m_1pr7i_1","--size-large--m":"_--size-large--m_1pr7i_1","--size-xlarge--m":"_--size-xlarge--m_1pr7i_1","--full-width-true--m":"_--full-width-true--m_1pr7i_1","--full-width-false--m":"_--full-width-false--m_1pr7i_1","--size-small--l":"_--size-small--l_1pr7i_1","--size-medium--l":"_--size-medium--l_1pr7i_1","--size-large--l":"_--size-large--l_1pr7i_1","--size-xlarge--l":"_--size-xlarge--l_1pr7i_1","--full-width-true--l":"_--full-width-true--l_1pr7i_1","--full-width-false--l":"_--full-width-false--l_1pr7i_1","--size-small--xl":"_--size-small--xl_1pr7i_1","--size-medium--xl":"_--size-medium--xl_1pr7i_1","--size-large--xl":"_--size-large--xl_1pr7i_1","--size-xlarge--xl":"_--size-xlarge--xl_1pr7i_1","--full-width-true--xl":"_--full-width-true--xl_1pr7i_1","--full-width-false--xl":"_--full-width-false--xl_1pr7i_1"},G$=t=>{const{children:e,className:r,attributes:n}=t,a=Mt(rn.group,r);return Q.createElement("div",Object.assign({},n,{className:a,role:"group"}),e)},q$=t=>Q.createElement(Nx,Object.assign({},t,{side:t.side||t.position,className:[rn.aligner,t.className]})),V$=(t,e)=>{const{variant:r="solid",color:n="neutral",elevated:a,highlighted:i,fullWidth:s,loading:o,disabled:u,type:y,href:b,size:_="medium",className:A,children:T,rounded:k,attributes:C,onClick:P,icon:B,endIcon:D}=t,N=(B||D)&&!T,$=Mt(rn.root,A,n&&rn[`--color-${n}`],r&&rn[`--variant-${r}`],zt(rn,"--size",_),zt(rn,"--full-width",s),a&&r!=="ghost"&&rn["--elevated"],k&&rn["--rounded"],u&&rn["--disabled"],o&&rn["--loading"],i&&rn["--highlighted"],N&&rn["--icon-only"]),j=Z=>{if(!(Z==="start"&&B||Z==="end"&&D))return null;const M=Mt(rn.icon,Z==="end"&&rn["--icon-position-end"]),l=Rl(_,d=>d==="large"?5:d==="xlarge"?6:4);return Q.createElement(Ds,{className:M,svg:Z==="start"?B:D,size:l,autoWidth:!0})};return Q.createElement(qu,{disabled:u||o,className:$,attributes:Object.assign(Object.assign({},C),{"data-rs-aligner-target":!0}),type:y,onClick:P,href:b,ref:e},o&&Q.createElement("div",{className:rn.loader},Q.createElement(N$,{size:"small",color:"inherit"})),j("start"),T&&Q.createElement("span",{className:rn.text},T),j("end"))},Sr=Q.forwardRef(V$);Sr.Group=G$;Sr.Aligner=q$;const W$="_root_pscqv_1",Of={root:W$,"--color-primary":"_--color-primary_pscqv_1","--color-critical":"_--color-critical_pscqv_1","--color-positive":"_--color-positive_pscqv_1","--color-inherit":"_--color-inherit_pscqv_1","--variant-plain":"_--variant-plain_pscqv_1","--disabled":"_--disabled_pscqv_1","--variant-underline":"_--variant-underline_pscqv_1","--with-icon":"_--with-icon_pscqv_1"},K$=(t,e)=>{const{icon:r,disabled:n,href:a,color:i="primary",variant:s="underline",className:o,children:u,attributes:y,type:b,onClick:_}=t,A=Mt(Of.root,o,n&&Of["--disabled"],s&&Of[`--variant-${s}`],i&&Of[`--color-${i}`],r&&Of["--with-icon"]);return Q.createElement(qu,{href:a,disabled:n,className:A,attributes:y,type:b,onClick:_,ref:e},r&&Q.createElement(Ds,{svg:r}),u)};Q.forwardRef(K$);const Z$="_root_1uhu3_1",J$="_content_1uhu3_1",gc={root:Z$,content:J$,"--selected":"_--selected_1uhu3_1","--elevated":"_--elevated_1uhu3_1","--actionable":"_--actionable_1uhu3_1"},Y$=(t,e)=>{const{padding:r=4}=t,{selected:n,elevated:a,bleed:i,height:s,onClick:o,href:u,children:y,className:b,attributes:_,as:A="div"}=t,T=!!u||!!o,k=uC("medium"),C=fC(i),P=FC(r),B=Ox(s),D=Mt(gc.root,k==null?void 0:k.classNames,C==null?void 0:C.classNames,P==null?void 0:P.classNames,B==null?void 0:B.classNames,T&&gc["--actionable"],a&&gc["--elevated"],n&&gc["--selected"],b),N=Object.assign(Object.assign(Object.assign(Object.assign({},_==null?void 0:_.style),C==null?void 0:C.variables),P==null?void 0:P.variables),B==null?void 0:B.variables);return T?Q.createElement(qu,{className:D,attributes:Object.assign(Object.assign({},_),{style:N}),href:u,as:A,onClick:o,ref:e},Q.createElement("span",{className:gc.content},y)):Q.createElement(A,Object.assign({},_,{onClick:o,href:u,ref:e,className:D,style:N}),Q.createElement("span",{className:gc.content},y))},Ux=Q.forwardRef(Y$);var hw;(function(t){t.back="back",t.forward="forward"})(hw||(hw={}));const X$="_root_1e26k_1",Q$={root:X$},eL=t=>{const{name:e,value:r,type:n,onChange:a,onFocus:i,onBlur:s,checked:o,defaultChecked:u,disabled:y,className:b,attributes:_}=t,A=Mt(Q$.root,b);return Q.createElement("input",Object.assign({},_,{className:A,type:n,name:e,value:r,checked:o,defaultChecked:u,disabled:y,onChange:a,onFocus:i||(_==null?void 0:_.onFocus),onBlur:s||(_==null?void 0:_.onBlur)}))};Q.createContext(null);const tL="_root_2d6rt_1",rL={root:tL},nL=t=>{const{children:e,padding:r=4,width:n,className:a,attributes:i}=t,s=Mt(rL.root,a);return Q.createElement(Xe,{attributes:i,className:s,paddingInline:r,width:n,maxWidth:"100%"},e)},pw=t=>{const[e,r]=Q.useState(t||!1),n=Q.useCallback(()=>{r(!0)},[]),a=Q.useCallback(()=>{r(!1)},[]),i=Q.useCallback(()=>{r(s=>!s)},[]);return{active:e,activate:n,deactivate:a,toggle:i}},aL=(()=>{let t;return()=>{if(t)return t;const e=document.createElement("div");return e.style.position="absolute",e.style.top="-9999px",e.style.width="50px",e.style.height="50px",e.style.overflow="scroll",document.body.appendChild(e),t=e.getBoundingClientRect().width-e.clientWidth,document.body.removeChild(e),t}})(),iL=()=>{const[t,e]=Q.useState(!1),r=Q.useRef(),n=Q.useRef(!1),a=Q.useCallback(()=>{const{body:s}=document,o=s.getBoundingClientRect();if(n.current=o.left+o.right{document.body.style.overflow=r.current||"",n.current&&(document.body.style.paddingRight=""),e(!1)},[e,n,r]);return{scrollLocked:t,lockScroll:a,unlockScroll:i}},sL="_root_1x20z_1",oL="_wrapper_1x20z_1",lL="_inner_1x20z_1",cL="_content_1x20z_1",xc={root:sL,wrapper:oL,inner:lL,content:cL,"--visible":"_--visible_1x20z_1","--transparent":"_--transparent_1x20z_1"},uL=t=>{const{active:e,children:r,transparent:n,onClose:a,className:i,attributes:s}=t,[o,u]=Q.useState(!1),y=Q.useRef(null),b=Q.useRef(!1),_=Q.useRef(null),{lockScroll:A,unlockScroll:T}=iL(),{active:k,activate:C,deactivate:P}=pw(e||!1),{active:B,activate:D,deactivate:N}=pw(e||!1),$=xC(e,y),j=Mt(xc.root,B&&xc["--visible"],n&&xc["--transparent"],i),Z=h=>{if(!y.current)return;const c=y.current.firstChild;if(c)return c.contains(h)},X=()=>{y.current&&(_.current=fy(y.current))},Y=()=>{_.current&&(_.current(),_.current=null)},re=Q.useCallback(()=>{!B||!$()||a&&a()},[B,$]),M=h=>{b.current=!Z(h.target)},l=h=>{const c=!Z(h.target);b.current&&c&&!n&&re()},d=h=>{h.propertyName!=="opacity"||h.target!==h.currentTarget||B||(n||T(),P())};return EC({Escape:re},[re]),Q.useEffect(()=>{e&&!k&&C(),!e&&k&&N()},[e,C,N,k]),Q.useEffect(()=>{k&&(n||A(),uy(()=>D()))},[k,D,A,n]),Q.useEffect(()=>{if(k)return X(),()=>Y()},[k]),Q.useEffect(()=>()=>{n||T()},[T,n]),ts(()=>{u(!0)},[]),!k||!o?null:Q.createElement(y1,null,Q.createElement(y1.Scope,null,h=>Q.createElement("div",Object.assign({},s,{ref:h,role:"button",tabIndex:-1,className:j,onMouseDown:M,onMouseUp:l,onTransitionEnd:d}),Q.createElement("div",{className:xc.wrapper},Q.createElement("div",{className:xc.inner},Q.createElement("div",{className:xc.content,ref:y},typeof r=="function"?r({active:B}):r))))))},fL="_root_cz0if_1",Wb={root:fL,"--position-center":"_--position-center_cz0if_1","--position-bottom":"_--position-bottom_cz0if_1","--position-start":"_--position-start_cz0if_1","--position-end":"_--position-end_cz0if_1","--active":"_--active_cz0if_1","--position-center--m":"_--position-center--m_cz0if_1","--position-bottom--m":"_--position-bottom--m_cz0if_1","--position-start--m":"_--position-start--m_cz0if_1","--position-end--m":"_--position-end--m_cz0if_1","--position-center--l":"_--position-center--l_cz0if_1","--position-bottom--l":"_--position-bottom--l_cz0if_1","--position-start--l":"_--position-start--l_cz0if_1","--position-end--l":"_--position-end--l_cz0if_1","--position-center--xl":"_--position-center--xl_cz0if_1","--position-bottom--xl":"_--position-bottom--xl_cz0if_1","--position-start--xl":"_--position-start--xl_cz0if_1","--position-end--xl":"_--position-end--xl_cz0if_1"},PC=Q.createContext({id:"",titleMounted:!1,setTitleMounted:()=>{},subtitleMounted:!1,setSubtitleMounted:()=>{}}),DC=()=>Q.useContext(PC),dL=t=>{const{children:e}=t,{id:r,setTitleMounted:n}=DC();return Q.useEffect(()=>(n(!0),()=>n(!1)),[n]),Q.createElement(rr,{variant:"featured-3",weight:"bold",attributes:{id:`${r}-title`}},e)},hL=t=>{const{children:e}=t,{id:r,setSubtitleMounted:n}=DC();return Q.useEffect(()=>(n(!0),()=>n(!1)),[n]),Q.createElement(rr,{variant:"body-3",color:"neutral-faded",attributes:{id:`${r}-subtitle`}},e)},Hx=t=>{const{children:e,onClose:r,active:n,size:a,padding:i=4,position:s="center",transparentOverlay:o,className:u,attributes:y}=t,b=Gu(),[_,A]=Q.useState(!1),[T,k]=Q.useState(!1),C=FC(i),P=Q.useMemo(()=>({titleMounted:_,setTitleMounted:A,subtitleMounted:T,setSubtitleMounted:k,id:b}),[b,T,_]);return Q.createElement(uL,{onClose:r,active:n,transparent:o},({active:B})=>{const D=Mt(Wb.root,u,C==null?void 0:C.classNames,B&&Wb["--active"],zt(Wb,"--position",s));return Q.createElement(PC.Provider,{value:P},Q.createElement("div",Object.assign({},y,{style:Object.assign(Object.assign({},C==null?void 0:C.variables),Wr("--rs-modal-size",a)),"aria-labelledby":_?`${b}-title`:void 0,"aria-describedby":T?`${b}-subtitle`:void 0,className:D,"aria-modal":"true",role:"dialog"}),e))})};Hx.Title=dL;Hx.Subtitle=hL;Q.createContext(null);const yw={short:4e3,long:8e3},Pd=["top-start","top","top-end","bottom-start","bottom","bottom-end"],pL=Pd.reduce((t,e)=>Object.assign({[e]:[]},t),{}),IC={queues:pL,show:()=>{},hide:()=>{},remove:()=>{},add:()=>""},dy=Q.createContext(IC),OC=()=>{const{add:t,hide:e}=Q.useContext(dy);return Q.useMemo(()=>({show:t,hide:e}),[t,e])},yL="_container_1g6nd_1",mL="_wrapper_1g6nd_1",bL="_region_1g6nd_1",ji={container:yL,"container--visible":"_container--visible_1g6nd_1",wrapper:mL,"container--index-0":"_container--index-0_1g6nd_1","container--index-1":"_container--index-1_1g6nd_1","container--index-2":"_container--index-2_1g6nd_1","container--index-overflow":"_container--index-overflow_1g6nd_1",region:bL,"region--position-top":"_region--position-top_1g6nd_1","region--position-top-start":"_region--position-top-start_1g6nd_1","region--position-top-end":"_region--position-top-end_1g6nd_1","region--position-bottom":"_region--position-bottom_1g6nd_1","region--position-bottom-start":"_region--position-bottom-start_1g6nd_1","region--position-bottom-end":"_region--position-bottom-end_1g6nd_1"},vL=t=>{const{size:e="small",text:r,children:n,color:a="inverted",icon:i,title:s,actionsSlot:o,startSlot:u,collapsed:y,attributes:b}=t;let _=a==="inverted"||a==="neutral"?"elevation-overlay":a;a==="neutral"&&(_=y?"neutral":"elevation-overlay");const A=a==="neutral"?"neutral-faded":"transparent",T=e==="small"?"span":"div",k=e==="large";let C=[];o&&(C=Array.isArray(o)?o:[o]);const P=(s||r)&&Q.createElement(Q.Fragment,null,s&&Q.createElement(rr,{variant:"body-3",weight:"bold",as:T},s," "),Q.createElement(rr,{variant:"body-3",as:T},r)),B=Q.createElement(Xe,{backgroundColor:_,borderColor:A,padding:4,borderRadius:"medium",animated:!0,direction:"row",gap:3,align:k?"start":"center",className:ji.toast,attributes:b},i&&Q.createElement(Ds,{size:5,svg:i,className:ji.icon}),u&&!i&&Q.createElement(Xe.Item,null,u),Q.createElement(Xe.Item,{grow:!0},Q.createElement(Xe,{direction:k?"column":"row",align:k?"start":"center",gap:3},Q.createElement(Xe.Item,{grow:!0},P&&n||e!=="small"?Q.createElement(Xe,{gap:.5},P,n&&Q.createElement(Xe,{gap:3},n)):P||n),C.length&&Q.createElement(Xe,{direction:"row",align:"center",gap:2},C.map((D,N)=>{const $=e==="large"?N===0:N===C.length-1,Z={variant:$?"solid":"ghost",size:"small",color:$?a==="neutral"||a==="inverted"?"neutral":"white":"inherit",elevated:a!=="neutral"};return D.type===Sr?Q.createElement(Sr,Object.assign({},Z,D.props,{key:N})):D})))));return a==="inverted"?Q.createElement(R0,{colorMode:"inverted"},B):B},gL=t=>{const{toastProps:e,id:r,status:n,inspected:a,index:i}=t,{timeout:s="short"}=e,{show:o,hide:u,remove:y}=Q.useContext(dy),[b,_]=Q.useState(),A=Q.useRef(),T=Q.useRef(!1),k=Q.useRef(null),C=Q.useRef(null),P=n==="entered",B=Mt(ji.container,P&&ji["container--visible"],i===0&&ji[`container--index-${i}`],!a&&(i===1||i===2)&&ji[`container--index-${i}`],!a&&i>=3&&ji["container--index-overflow"]),D=Q.useCallback(()=>{A.current&&clearTimeout(A.current)},[]),N=Q.useCallback(()=>{D();const j=typeof s=="string"?yw[s]:s;s!==0&&(A.current=setTimeout(()=>{u(r)},j??yw.short))},[u,r,s,D]),$=j=>{j.propertyName==="height"&&(P||y(r))};return Q.useEffect(()=>{P&&(a?D():N())},[a,N,D,P]),Q.useEffect(()=>{C.current&&_(C.current.clientHeight),o(r),N()},[o,r,N]),Q.useEffect(()=>{C.current&&(P?k.current=fy(C.current,{includeTrigger:!0,mode:"content-menu"}):k.current&&bC()&&(k.current(),k.current=null))},[P]),Q.useEffect(()=>{if(!P||i>0)return;const j=()=>{T.current=!0,uy(()=>{T.current=!1}),C.current&&_(C.current.clientHeight)};return window.addEventListener("resize",j),()=>window.removeEventListener("resize",j)},[P,i]),Q.createElement("li",{className:B,style:{height:n==="entered"?`calc(${b}px + var(--rs-unit-x2) + 2px)`:0,transitionDuration:T.current?"0s":void 0},onTransitionEnd:$,onFocus:D,onBlur:N},Q.createElement("span",{className:ji.wrapper},Q.createElement(vL,Object.assign({},e,{collapsed:i>0&&!a,attributes:{ref:C}}))))},xL=t=>{const{position:e}=t,{queues:r,options:n}=Q.useContext(dy),[a,i]=Q.useState(!1),s=Q.useRef(!1),o=Q.useRef(null),u=r[e],{width:y,expanded:b}=(n==null?void 0:n[e])||{},_=Mt(ji.region,ji[`region--position-${e}`]),A=u.filter(D=>D.status==="entered").length;let T=0;const k=()=>{s.current=!0},C=D=>{let N=D.target,$=!1;for(;N&&N!==o.current&&!$;)$=N.matches(vC),N=N.parentElement;$||i(j=>!j),s.current=!1},P=()=>{s.current||i(!0)},B=()=>{s.current||i(!1)};return Q.useEffect(()=>{u.length===0&&i(!1)},[u.length]),u.length?Q.createElement("ul",{role:"region","aria-live":"polite",className:_,ref:o,onTouchStart:k,onClick:C,onMouseEnter:P,onMouseLeave:B,style:{width:y}},u.map((D,N)=>{const $=A-N+T-1;return D.status!=="entered"&&(T+=1),Q.createElement(gL,Object.assign({key:D.id},D,{index:$,inspected:a||!!b}))})):null};var wL=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(t);a`__rs-toast-${_L++}`,AL=(t,e)=>{let r;switch(e.type){case"add":const n=e.payload.toastProps||{},{position:a="bottom-end"}=n,i=wL(n,["position"]);return Object.assign(Object.assign({},t),{[a]:[...t[a],{id:e.payload.id,toastProps:i,status:"entering"}]});case"show":const{id:s}=e.payload;return r=Object.assign({},t),Pd.forEach(y=>{r[y]=r[y].map(b=>b.status!=="entering"?b:b.id===s?Object.assign(Object.assign({},b),{status:"entered"}):b)}),r;case"hide":const{id:o}=e.payload;return r=Object.assign({},t),Pd.forEach(y=>{r[y]=r[y].map(b=>b.id===o?Object.assign(Object.assign({},b),{status:"exiting"}):b)}),r;case"remove":const{id:u}=e.payload;return r=Object.assign({},t),Pd.forEach(y=>{r[y]=r[y].filter(b=>b.id!==u)}),r}},SL=t=>{const{children:e,options:r}=t,[n,a]=Q.useReducer(AL,IC.queues),i=Q.useCallback(b=>{const _=EL();return a({type:"add",payload:{toastProps:b,id:_}}),_},[]),s=Q.useCallback(b=>{a({type:"show",payload:{id:b}})},[]),o=Q.useCallback(b=>{a({type:"hide",payload:{id:b}})},[]),u=Q.useCallback(b=>{a({type:"remove",payload:{id:b}})},[]),y=Q.useMemo(()=>({queues:n,add:i,show:s,hide:o,remove:u,inspecting:!1,options:r}),[n,s,o,i,u,r]);return Q.createElement(dy.Provider,{value:y},e,Pd.map(b=>Q.createElement(xL,{position:b,key:b})))},CL=()=>{Q.useEffect(()=>{const t=r=>{r.metaKey||r.altKey||r.ctrlKey||document.documentElement.setAttribute(Sg,"true")},e=()=>{document.documentElement.removeAttribute(Sg)};return window.addEventListener("keydown",t),window.addEventListener("mousedown",e),()=>{window.removeEventListener("keydown",t),window.removeEventListener("mousedown",e)}},[])},TL="_root_a8lj9_1",ML={root:TL},BL=t=>{const{children:e,defaultRTL:r,defaultViewport:n="s",toastOptions:a}=t,i=i$(r);return CL(),Q.createElement(AC.Provider,{value:{rtl:i,defaultViewport:n}},Q.createElement(n$,null,Q.createElement(SL,{options:a},e)))},kL=t=>{const{theme:e,defaultTheme:r="reshaped",defaultColorMode:n,className:a}=t,i=Mt(ML.root,a);return Q.createElement(x$,{defaultMode:n},Q.createElement(R0,{name:e,defaultName:r,className:i},Q.createElement(BL,Object.assign({},t),t.children)))},FL=()=>Q.createElement("svg",{viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg"},Q.createElement("path",{d:"M7 16L12 21L17 16",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"}),Q.createElement("path",{d:"M17 8L12 3L7 8",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"})),PL="_root_155r3_1",DL="_input_155r3_1",IL="_slot_155r3_1",OL="_arrow_155r3_1",Ti={root:PL,input:DL,slot:IL,arrow:OL,"--size-medium":"_--size-medium_155r3_1","--size-large":"_--size-large_155r3_1","--size-xlarge":"_--size-xlarge_155r3_1","--variant-faded":"_--variant-faded_155r3_1","--variant-headless":"_--variant-headless_155r3_1","--status-error":"_--status-error_155r3_1","--placeholder":"_--placeholder_155r3_1","--disabled":"_--disabled_155r3_1","--size-medium--m":"_--size-medium--m_155r3_1","--size-large--m":"_--size-large--m_155r3_1","--size-xlarge--m":"_--size-xlarge--m_155r3_1","--size-medium--l":"_--size-medium--l_155r3_1","--size-large--l":"_--size-large--l_155r3_1","--size-xlarge--l":"_--size-xlarge--l_155r3_1","--size-medium--xl":"_--size-medium--xl_155r3_1","--size-large--xl":"_--size-large--xl_155r3_1","--size-xlarge--xl":"_--size-xlarge--xl_155r3_1"},RL=t=>{var e,r;const{onChange:n,onClick:a,onFocus:i,onBlur:s,name:o,value:u,defaultValue:y,placeholder:b,options:_,children:A,icon:T,startSlot:k,size:C="medium",variant:P="outline",className:B,attributes:D}=t,[N,$]=Q.useState(u===void 0?!y:!u),j=pC(),Z=Gu(t.id),X=((e=j==null?void 0:j.attributes)===null||e===void 0?void 0:e.id)||((r=t.inputAttributes)===null||r===void 0?void 0:r.id)||Z,Y=(j==null?void 0:j.disabled)||t.disabled,re=(j==null?void 0:j.hasError)||t.hasError,M=Object.assign(Object.assign({},t.inputAttributes),j==null?void 0:j.attributes),l=Mt(Ti.root,B,C&&zt(Ti,"--size",C),re&&Ti["--status-error"],Y&&Ti["--disabled"],N&&_&&Ti["--placeholder"],P&&Ti[`--variant-${P}`]),d=c=>{const p=c.target.value;u===void 0&&$(!p),n&&n({name:o,value:p,event:c})};Q.useEffect(()=>{u!==void 0&&$(!u)},[u]);const h=(k||T)&&Q.createElement("div",{className:Ti.slot},T?Q.createElement(Ds,{size:Rl(C,c=>c==="large"?5:c==="xlarge"?6:4),svg:T}):k);return Q.createElement("div",Object.assign({},D,{className:l}),_?Q.createElement(Q.Fragment,null,h,Q.createElement("select",Object.assign({},M,{className:Ti.input,disabled:Y,name:o,value:u,defaultValue:y,onChange:d,onFocus:i||(M==null?void 0:M.onFocus),onBlur:s||(M==null?void 0:M.onBlur),id:X}),b&&Q.createElement("option",{value:""},b),_.map(c=>Q.createElement("option",{key:c.value,value:c.value,disabled:c.disabled},c.label)))):Q.createElement(Q.Fragment,null,Q.createElement(qu,{className:Ti.input,disabled:Y,onClick:a,attributes:Object.assign(Object.assign({},M),{onFocus:i||(M==null?void 0:M.onFocus),onBlur:s||(M==null?void 0:M.onBlur)})},h,A||(b?Q.createElement(rr,{color:"neutral-faded"},b):null)),Q.createElement("input",{type:"hidden",value:u,name:o})),Q.createElement("div",{className:Ti.arrow},Q.createElement(Ds,{svg:FL,color:Y?"disabled":"neutral-faded",size:Rl(C,c=>c==="large"||c==="xlarge"?5:4)})))},NL="_root_7e41r_1",$L="_bar_7e41r_1",LL="_input_7e41r_1",jL="_selection_7e41r_1",zL="_tooltip_7e41r_1",UL="_thumb_7e41r_1",Fh={root:NL,bar:$L,input:LL,selection:jL,tooltip:zL,thumb:UL,"thumb--active":"_thumb--active_7e41r_1","--disabled":"_--disabled_7e41r_1"},HL=(t,e)=>{const{name:r,value:n,disabled:a,active:i,position:s,max:o,min:u,onChange:y,onDragStart:b,renderValue:_}=t,A=Q.useId(),T=Mt(Fh.thumb,i&&Fh["thumb--active"]),k=_?_({value:n}):n,C=P=>{y(+P.target.value)};return Q.createElement(Q.Fragment,null,Q.createElement("input",{className:Fh.input,type:"range",name:r,value:n,onChange:C,disabled:a,max:o,min:u,"aria-labelledby":A}),Q.createElement("div",{ref:e,className:T,onMouseDown:b,onTouchStart:b,style:{insetInlineStart:`${s}%`},id:A,"aria-hidden":"true"},Q.createElement(R0,{className:Fh.tooltip,colorMode:"inverted"},Q.createElement(rr,{variant:"caption-1",weight:"medium"},k))))};Q.forwardRef(HL);var GL=function(t,e){var r={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(r[n]=t[n]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var a=0,n=Object.getOwnPropertySymbols(t);a{const e=Q.useContext(RC),{id:r}=e,n=GL(e,["id"]);return Object.assign(Object.assign({},n),{panelId:t!==void 0?`${r}-tabs-panel-${t}`:void 0,buttonId:t!==void 0?`${r}-tabs-button-${t}`:void 0})},VL="_root_l28uv_1",WL="_list_l28uv_1",KL="_inner_l28uv_1",ZL="_listItem_l28uv_1",JL="_button_l28uv_1",YL="_buttonContent_l28uv_1",XL="_icon_l28uv_1",QL="_radio_l28uv_1",ej="_selector_l28uv_1",tj="_next_l28uv_1",rj="_prev_l28uv_1",nj="_panel_l28uv_1",aj="_item_l28uv_1",wc={root:VL,list:WL,inner:KL,listItem:ZL,button:JL,buttonContent:YL,icon:XL,radio:QL,"--item-active":"_--item-active_l28uv_1",selector:ej,"--selector-hidden":"_--selector-hidden_l28uv_1","--selector-animated":"_--selector-animated_l28uv_1",next:tj,prev:rj,panel:nj,"--panel-hidden":"_--panel-hidden_l28uv_1","--direction-row":"_--direction-row_l28uv_1","--direction-column":"_--direction-column_l28uv_1",item:aj,"--variant-borderless":"_--variant-borderless_l28uv_1","--variant-pills":"_--variant-pills_l28uv_1","--variant-pills-elevated":"_--variant-pills-elevated_l28uv_1","--size-medium":"_--size-medium_l28uv_1","--size-large":"_--size-large_l28uv_1","--item-width-equal":"_--item-width-equal_l28uv_1","--cut-off-end":"_--cut-off-end_l28uv_1","--cut-off-start":"_--cut-off-start_l28uv_1","--cut-off-both":"_--cut-off-both_l28uv_1"},ij=(t,e)=>{const{value:r,children:n,icon:a,href:i,attributes:s}=t,{onChange:o,panelId:u,name:y,size:b,value:_,selection:A,elActiveRef:T,elPrevActiveRef:k,elScrollableRef:C}=qL(r),P=Q.useRef(null),B=_===r,D=B&&A.status==="idle",N=Mt(wc.item,D&&wc["--item-active"]),$=!!y,j={role:"tab",tabIndex:B?0:-1,"aria-selected":B},Z=Q.useCallback(()=>{if(!("current"in P))throw new Error("Reshaped, Tabs: TabItem is expecting an object ref format but received a function ref");k.current=T.current,T.current=P.current},[T,k]),X=()=>{var Y,re,M;if(i&&!o)return;const l=C.current,d=(Y=P.current)===null||Y===void 0?void 0:Y.parentElement,h=(re=T.current)===null||re===void 0?void 0:re.parentElement;if(Z(),o&&o({value:r,name:y}),!l||!d||!h||l.scrollWidth===l.clientWidth)return;const c=d.offsetLeft.5)&&((M=P.current)===null||M===void 0||M.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))};return Q.useEffect(()=>{B&&Z()},[B,Z]),Q.createElement("div",Object.assign({},s,{className:N,ref:P,role:"presentation"}),Q.createElement(qu,{ref:e,href:i,insetFocus:!0,onClick:y?void 0:X,className:wc.button,as:y?"label":void 0,attributes:Object.assign(Object.assign({},!$&&j),{"aria-controls":u})},y&&Q.createElement(eL,{type:"radio",name:y,value:r,checked:D,onChange:X,className:wc.radio}),Q.createElement("span",{className:wc.buttonContent},a&&Q.createElement(Ds,{svg:a,className:wc.icon,size:4}),n&&Q.createElement(rr,{variant:b==="large"?"body-2":"body-3"},n))))};Q.forwardRef(ij);const sj="_root_kygcp_1",oj={root:sj},lj=t=>{const{id:e,text:r,children:n,onOpen:a,onClose:i,position:s="bottom",active:o}=t;return Q.createElement(El,{id:e,active:o,position:s,onOpen:a,onClose:i,triggerType:"hover"},Q.createElement(El.Trigger,null,n),Q.createElement(El.Content,null,Q.createElement(R0,{colorMode:"inverted"},Q.createElement(rr,{variant:"caption-1",className:oj.root},r))))};var cj=function(e){return uj(e)&&!fj(e)};function uj(t){return!!t&&typeof t=="object"}function fj(t){var e=Object.prototype.toString.call(t);return e==="[object RegExp]"||e==="[object Date]"||pj(t)}var dj=typeof Symbol=="function"&&Symbol.for,hj=dj?Symbol.for("react.element"):60103;function pj(t){return t.$$typeof===hj}function yj(t){return Array.isArray(t)?[]:{}}function m1(t,e){return e.clone!==!1&&e.isMergeableObject(t)?c0(yj(t),t,e):t}function mj(t,e,r){return t.concat(e).map(function(n){return m1(n,r)})}function bj(t,e,r){var n={};return r.isMergeableObject(t)&&Object.keys(t).forEach(function(a){n[a]=m1(t[a],r)}),Object.keys(e).forEach(function(a){!r.isMergeableObject(e[a])||!t[a]?n[a]=m1(e[a],r):n[a]=c0(t[a],e[a],r)}),n}function c0(t,e,r){r=r||{},r.arrayMerge=r.arrayMerge||mj,r.isMergeableObject=r.isMergeableObject||cj;var n=Array.isArray(e),a=Array.isArray(t),i=n===a;return i?n?r.arrayMerge(t,e,r):bj(t,e,r):m1(e,r)}c0.all=function(e,r){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce(function(n,a){return c0(n,a,r)},{})};var Mg=c0,Ph={},vj=typeof Ph=="object"&&Ph&&Ph.Object===Object&&Ph;const NC=vj;var gj=typeof self=="object"&&self&&self.Object===Object&&self,xj=NC||gj||Function("return this")();const ls=xj;var wj=ls.Symbol;const Po=wj;var $C=Object.prototype,_j=$C.hasOwnProperty,Ej=$C.toString,Rf=Po?Po.toStringTag:void 0;function Aj(t){var e=_j.call(t,Rf),r=t[Rf];try{t[Rf]=void 0;var n=!0}catch{}var a=Ej.call(t);return n&&(e?t[Rf]=r:delete t[Rf]),a}var Sj=Object.prototype,Cj=Sj.toString;function Tj(t){return Cj.call(t)}var Mj="[object Null]",Bj="[object Undefined]",mw=Po?Po.toStringTag:void 0;function Zl(t){return t==null?t===void 0?Bj:Mj:mw&&mw in Object(t)?Aj(t):Tj(t)}function LC(t,e){return function(r){return t(e(r))}}var kj=LC(Object.getPrototypeOf,Object);const Gx=kj;function Jl(t){return t!=null&&typeof t=="object"}var Fj="[object Object]",Pj=Function.prototype,Dj=Object.prototype,jC=Pj.toString,Ij=Dj.hasOwnProperty,Oj=jC.call(Object);function bw(t){if(!Jl(t)||Zl(t)!=Fj)return!1;var e=Gx(t);if(e===null)return!0;var r=Ij.call(e,"constructor")&&e.constructor;return typeof r=="function"&&r instanceof r&&jC.call(r)==Oj}var vw=Array.isArray,gw=Object.keys,Rj=Object.prototype.hasOwnProperty,Nj=typeof Element<"u";function Bg(t,e){if(t===e)return!0;if(t&&e&&typeof t=="object"&&typeof e=="object"){var r=vw(t),n=vw(e),a,i,s;if(r&&n){if(i=t.length,i!=e.length)return!1;for(a=i;a--!==0;)if(!Bg(t[a],e[a]))return!1;return!0}if(r!=n)return!1;var o=t instanceof Date,u=e instanceof Date;if(o!=u)return!1;if(o&&u)return t.getTime()==e.getTime();var y=t instanceof RegExp,b=e instanceof RegExp;if(y!=b)return!1;if(y&&b)return t.toString()==e.toString();var _=gw(t);if(i=_.length,i!==gw(e).length)return!1;for(a=i;a--!==0;)if(!Rj.call(e,_[a]))return!1;if(Nj&&t instanceof Element&&e instanceof Element)return t===e;for(a=i;a--!==0;)if(s=_[a],!(s==="_owner"&&t.$$typeof)&&!Bg(t[s],e[s]))return!1;return!0}return t!==t&&e!==e}var $j=function(e,r){try{return Bg(e,r)}catch(n){if(n.message&&n.message.match(/stack|recursion/i)||n.number===-2146828260)return console.warn("Warning: react-fast-compare does not handle circular references.",n.name,n.message),!1;throw n}};const no=va($j);var Lj=!0;function zC(t,e){if(!Lj){if(t)return;var r="Warning: "+e;typeof console<"u"&&console.warn(r);try{throw Error(r)}catch{}}}function jj(){this.__data__=[],this.size=0}function UC(t,e){return t===e||t!==t&&e!==e}function hy(t,e){for(var r=t.length;r--;)if(UC(t[r][0],e))return r;return-1}var zj=Array.prototype,Uj=zj.splice;function Hj(t){var e=this.__data__,r=hy(e,t);if(r<0)return!1;var n=e.length-1;return r==n?e.pop():Uj.call(e,r,1),--this.size,!0}function Gj(t){var e=this.__data__,r=hy(e,t);return r<0?void 0:e[r][1]}function qj(t){return hy(this.__data__,t)>-1}function Vj(t,e){var r=this.__data__,n=hy(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this}function Ls(t){var e=-1,r=t==null?0:t.length;for(this.clear();++e-1&&t%1==0&&t-1&&t%1==0&&t<=Qz}var eU="[object Arguments]",tU="[object Array]",rU="[object Boolean]",nU="[object Date]",aU="[object Error]",iU="[object Function]",sU="[object Map]",oU="[object Number]",lU="[object Object]",cU="[object RegExp]",uU="[object Set]",fU="[object String]",dU="[object WeakMap]",hU="[object ArrayBuffer]",pU="[object DataView]",yU="[object Float32Array]",mU="[object Float64Array]",bU="[object Int8Array]",vU="[object Int16Array]",gU="[object Int32Array]",xU="[object Uint8Array]",wU="[object Uint8ClampedArray]",_U="[object Uint16Array]",EU="[object Uint32Array]",er={};er[yU]=er[mU]=er[bU]=er[vU]=er[gU]=er[xU]=er[wU]=er[_U]=er[EU]=!0;er[eU]=er[tU]=er[hU]=er[rU]=er[pU]=er[nU]=er[aU]=er[iU]=er[sU]=er[oU]=er[lU]=er[cU]=er[uU]=er[fU]=er[dU]=!1;function AU(t){return Jl(t)&&ZC(t.length)&&!!er[Zl(t)]}function qx(t){return function(e){return t(e)}}var JC=typeof ha=="object"&&ha&&!ha.nodeType&&ha,Dd=JC&&typeof pa=="object"&&pa&&!pa.nodeType&&pa,SU=Dd&&Dd.exports===JC,Zb=SU&&NC.process,CU=function(){try{var t=Dd&&Dd.require&&Dd.require("util").types;return t||Zb&&Zb.binding&&Zb.binding("util")}catch{}}();const Bu=CU;var Sw=Bu&&Bu.isTypedArray,TU=Sw?qx(Sw):AU;const MU=TU;var BU=Object.prototype,kU=BU.hasOwnProperty;function YC(t,e){var r=$0(t),n=!r&&Gz(t),a=!r&&!n&&KC(t),i=!r&&!n&&!a&&MU(t),s=r||n||a||i,o=s?Lz(t.length,String):[],u=o.length;for(var y in t)(e||kU.call(t,y))&&!(s&&(y=="length"||a&&(y=="offset"||y=="parent")||i&&(y=="buffer"||y=="byteLength"||y=="byteOffset")||Xz(y,u)))&&o.push(y);return o}var FU=Object.prototype;function Vx(t){var e=t&&t.constructor,r=typeof e=="function"&&e.prototype||FU;return t===r}var PU=LC(Object.keys,Object);const DU=PU;var IU=Object.prototype,OU=IU.hasOwnProperty;function RU(t){if(!Vx(t))return DU(t);var e=[];for(var r in Object(t))OU.call(t,r)&&r!="constructor"&&e.push(r);return e}function XC(t){return t!=null&&ZC(t.length)&&!HC(t)}function Wx(t){return XC(t)?YC(t):RU(t)}function NU(t,e){return t&&yy(e,Wx(e),t)}function $U(t){var e=[];if(t!=null)for(var r in Object(t))e.push(r);return e}var LU=Object.prototype,jU=LU.hasOwnProperty;function zU(t){if(!N0(t))return $U(t);var e=Vx(t),r=[];for(var n in t)n=="constructor"&&(e||!jU.call(t,n))||r.push(n);return r}function Kx(t){return XC(t)?YC(t,!0):zU(t)}function UU(t,e){return t&&yy(e,Kx(e),t)}var QC=typeof ha=="object"&&ha&&!ha.nodeType&&ha,Cw=QC&&typeof pa=="object"&&pa&&!pa.nodeType&&pa,HU=Cw&&Cw.exports===QC,Tw=HU?ls.Buffer:void 0,Mw=Tw?Tw.allocUnsafe:void 0;function GU(t,e){if(e)return t.slice();var r=t.length,n=Mw?Mw(r):new t.constructor(r);return t.copy(n),n}function eT(t,e){var r=-1,n=t.length;for(e||(e=Array(n));++r=0)&&(r[a]=t[a]);return r}function Ww(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}var Cy=pe.createContext(void 0);Cy.displayName="FormikContext";var tq=Cy.Provider,rq=Cy.Consumer;function yT(){var t=pe.useContext(Cy);return t||zC(!1),t}var Kw=function(e){return Array.isArray(e)&&e.length===0},Nn=function(e){return typeof e=="function"},L0=function(e){return e!==null&&typeof e=="object"},nq=function(e){return String(Math.floor(Number(e)))===e},Jb=function(e){return Object.prototype.toString.call(e)==="[object String]"},mT=function(e){return pe.Children.count(e)===0},Yb=function(e){return L0(e)&&Nn(e.then)};function qr(t,e,r,n){n===void 0&&(n=0);for(var a=uT(e);t&&n=0?[]:{}}}return(i===0?t:a)[s[i]]===r?t:(r===void 0?delete a[s[i]]:a[s[i]]=r,i===0&&r===void 0&&delete n[s[i]],n)}function bT(t,e,r,n){r===void 0&&(r=new WeakMap),n===void 0&&(n={});for(var a=0,i=Object.keys(t);a0?J.map(function(he){return M(he,qr(H,he))}):[Promise.resolve("DO_NOT_DELETE_YOU_WILL_BE_FIRED")];return Promise.all(ee).then(function(he){return he.reduce(function(de,ue,Se){return ue==="DO_NOT_DELETE_YOU_WILL_BE_FIRED"||ue&&(de=Ji(de,J[Se],ue)),de},{})})},[M]),d=pe.useCallback(function(H){return Promise.all([l(H),A.validationSchema?re(H):{},A.validate?Y(H):{}]).then(function(J){var ee=J[0],he=J[1],de=J[2],ue=Mg.all([ee,he,de],{arrayMerge:oq});return ue})},[A.validate,A.validationSchema,l,Y,re]),h=Ta(function(H){return H===void 0&&(H=Z.values),X({type:"SET_ISVALIDATING",payload:!0}),d(H).then(function(J){return B.current&&(X({type:"SET_ISVALIDATING",payload:!1}),X({type:"SET_ERRORS",payload:J})),J})});pe.useEffect(function(){s&&B.current===!0&&no(T.current,A.initialValues)&&h(T.current)},[s,h]);var c=pe.useCallback(function(H){var J=H&&H.values?H.values:T.current,ee=H&&H.errors?H.errors:k.current?k.current:A.initialErrors||{},he=H&&H.touched?H.touched:C.current?C.current:A.initialTouched||{},de=H&&H.status?H.status:P.current?P.current:A.initialStatus;T.current=J,k.current=ee,C.current=he,P.current=de;var ue=function(){X({type:"RESET_FORM",payload:{isSubmitting:!!H&&!!H.isSubmitting,errors:ee,touched:he,status:de,values:J,isValidating:!!H&&!!H.isValidating,submitCount:H&&H.submitCount&&typeof H.submitCount=="number"?H.submitCount:0}})};if(A.onReset){var Se=A.onReset(Z.values,W);Yb(Se)?Se.then(ue):ue()}else ue()},[A.initialErrors,A.initialStatus,A.initialTouched,A.onReset]);pe.useEffect(function(){B.current===!0&&!no(T.current,A.initialValues)&&y&&(T.current=A.initialValues,c(),s&&h(T.current))},[y,A.initialValues,c,s,h]),pe.useEffect(function(){y&&B.current===!0&&!no(k.current,A.initialErrors)&&(k.current=A.initialErrors||el,X({type:"SET_ERRORS",payload:A.initialErrors||el}))},[y,A.initialErrors]),pe.useEffect(function(){y&&B.current===!0&&!no(C.current,A.initialTouched)&&(C.current=A.initialTouched||Dh,X({type:"SET_TOUCHED",payload:A.initialTouched||Dh}))},[y,A.initialTouched]),pe.useEffect(function(){y&&B.current===!0&&!no(P.current,A.initialStatus)&&(P.current=A.initialStatus,X({type:"SET_STATUS",payload:A.initialStatus}))},[y,A.initialStatus,A.initialTouched]);var p=Ta(function(H){if(D.current[H]&&Nn(D.current[H].validate)){var J=qr(Z.values,H),ee=D.current[H].validate(J);return Yb(ee)?(X({type:"SET_ISVALIDATING",payload:!0}),ee.then(function(he){return he}).then(function(he){X({type:"SET_FIELD_ERROR",payload:{field:H,value:he}}),X({type:"SET_ISVALIDATING",payload:!1})})):(X({type:"SET_FIELD_ERROR",payload:{field:H,value:ee}}),Promise.resolve(ee))}else if(A.validationSchema)return X({type:"SET_ISVALIDATING",payload:!0}),re(Z.values,H).then(function(he){return he}).then(function(he){X({type:"SET_FIELD_ERROR",payload:{field:H,value:qr(he,H)}}),X({type:"SET_ISVALIDATING",payload:!1})});return Promise.resolve()}),v=pe.useCallback(function(H,J){var ee=J.validate;D.current[H]={validate:ee}},[]),E=pe.useCallback(function(H){delete D.current[H]},[]),g=Ta(function(H,J){X({type:"SET_TOUCHED",payload:H});var ee=J===void 0?a:J;return ee?h(Z.values):Promise.resolve()}),f=pe.useCallback(function(H){X({type:"SET_ERRORS",payload:H})},[]),m=Ta(function(H,J){var ee=Nn(H)?H(Z.values):H;X({type:"SET_VALUES",payload:ee});var he=J===void 0?r:J;return he?h(ee):Promise.resolve()}),w=pe.useCallback(function(H,J){X({type:"SET_FIELD_ERROR",payload:{field:H,value:J}})},[]),x=Ta(function(H,J,ee){X({type:"SET_FIELD_VALUE",payload:{field:H,value:J}});var he=ee===void 0?r:ee;return he?h(Ji(Z.values,H,J)):Promise.resolve()}),S=pe.useCallback(function(H,J){var ee=J,he=H,de;if(!Jb(H)){H.persist&&H.persist();var ue=H.target?H.target:H.currentTarget,Se=ue.type,Ae=ue.name,we=ue.id,Ze=ue.value,Ne=ue.checked,ke=ue.outerHTML,Qe=ue.options,Ue=ue.multiple;ee=J||Ae||we,he=/number|range/.test(Se)?(de=parseFloat(Ze),isNaN(de)?"":de):/checkbox/.test(Se)?cq(qr(Z.values,ee),Ne,Ze):Qe&&Ue?lq(Qe):Ze}ee&&x(ee,he)},[x,Z.values]),R=Ta(function(H){if(Jb(H))return function(J){return S(J,H)};S(H)}),L=Ta(function(H,J,ee){J===void 0&&(J=!0),X({type:"SET_FIELD_TOUCHED",payload:{field:H,value:J}});var he=ee===void 0?a:ee;return he?h(Z.values):Promise.resolve()}),F=pe.useCallback(function(H,J){H.persist&&H.persist();var ee=H.target,he=ee.name,de=ee.id,ue=ee.outerHTML,Se=J||he||de;L(Se,!0)},[L]),G=Ta(function(H){if(Jb(H))return function(J){return F(J,H)};F(H)}),z=pe.useCallback(function(H){Nn(H)?X({type:"SET_FORMIK_STATE",payload:H}):X({type:"SET_FORMIK_STATE",payload:function(){return H}})},[]),V=pe.useCallback(function(H){X({type:"SET_STATUS",payload:H})},[]),se=pe.useCallback(function(H){X({type:"SET_ISSUBMITTING",payload:H})},[]),ie=Ta(function(){return X({type:"SUBMIT_ATTEMPT"}),h().then(function(H){var J=H instanceof Error,ee=!J&&Object.keys(H).length===0;if(ee){var he;try{if(he=ce(),he===void 0)return}catch(de){throw de}return Promise.resolve(he).then(function(de){return B.current&&X({type:"SUBMIT_SUCCESS"}),de}).catch(function(de){if(B.current)throw X({type:"SUBMIT_FAILURE"}),de})}else if(B.current&&(X({type:"SUBMIT_FAILURE"}),J))throw H})}),U=Ta(function(H){H&&H.preventDefault&&Nn(H.preventDefault)&&H.preventDefault(),H&&H.stopPropagation&&Nn(H.stopPropagation)&&H.stopPropagation(),ie().catch(function(J){console.warn("Warning: An unhandled error was caught from submitForm()",J)})}),W={resetForm:c,validateForm:h,validateField:p,setErrors:f,setFieldError:w,setFieldTouched:L,setFieldValue:x,setStatus:V,setSubmitting:se,setTouched:g,setValues:m,setFormikState:z,submitForm:ie},ce=Ta(function(){return b(Z.values,W)}),oe=Ta(function(H){H&&H.preventDefault&&Nn(H.preventDefault)&&H.preventDefault(),H&&H.stopPropagation&&Nn(H.stopPropagation)&&H.stopPropagation(),c()}),K=pe.useCallback(function(H){return{value:qr(Z.values,H),error:qr(Z.errors,H),touched:!!qr(Z.touched,H),initialValue:qr(T.current,H),initialTouched:!!qr(C.current,H),initialError:qr(k.current,H)}},[Z.errors,Z.touched,Z.values]),I=pe.useCallback(function(H){return{setValue:function(ee,he){return x(H,ee,he)},setTouched:function(ee,he){return L(H,ee,he)},setError:function(ee){return w(H,ee)}}},[x,L,w]),O=pe.useCallback(function(H){var J=L0(H),ee=J?H.name:H,he=qr(Z.values,ee),de={name:ee,value:he,onChange:R,onBlur:G};if(J){var ue=H.type,Se=H.value,Ae=H.as,we=H.multiple;ue==="checkbox"?Se===void 0?de.checked=!!he:(de.checked=!!(Array.isArray(he)&&~he.indexOf(Se)),de.value=Se):ue==="radio"?(de.checked=he===Se,de.value=Se):Ae==="select"&&we&&(de.value=de.value||[],de.multiple=!0)}return de},[G,R,Z.values]),q=pe.useMemo(function(){return!no(T.current,Z.values)},[T.current,Z.values]),te=pe.useMemo(function(){return typeof o<"u"?q?Z.errors&&Object.keys(Z.errors).length===0:o!==!1&&Nn(o)?o(A):o:Z.errors&&Object.keys(Z.errors).length===0},[o,q,Z.errors,A]),fe=Ot({},Z,{initialValues:T.current,initialErrors:k.current,initialTouched:C.current,initialStatus:P.current,handleBlur:G,handleChange:R,handleReset:oe,handleSubmit:U,resetForm:c,setErrors:f,setFormikState:z,setFieldTouched:L,setFieldValue:x,setFieldError:w,setStatus:V,setSubmitting:se,setTouched:g,setValues:m,submitForm:ie,validateForm:h,validateField:p,isValid:te,dirty:q,unregisterField:E,registerField:v,getFieldProps:O,getFieldMeta:K,getFieldHelpers:I,validateOnBlur:a,validateOnChange:r,validateOnMount:s});return fe}function Ty(t){var e=vT(t),r=t.component,n=t.children,a=t.render,i=t.innerRef;return pe.useImperativeHandle(i,function(){return e}),pe.createElement(tq,{value:e},r?pe.createElement(r,e):a?a(e):n?Nn(n)?n(e):mT(n)?null:pe.Children.only(n):null)}function iq(t){var e={};if(t.inner){if(t.inner.length===0)return Ji(e,t.path,t.message);for(var a=t.inner,r=Array.isArray(a),n=0,a=r?a:a[Symbol.iterator]();;){var i;if(r){if(n>=a.length)break;i=a[n++]}else{if(n=a.next(),n.done)break;i=n.value}var s=i;qr(e,s.path)||(e=Ji(e,s.path,s.message))}}return e}function sq(t,e,r,n){r===void 0&&(r=!1);var a=Ig(t);return e[r?"validateSync":"validate"](a,{abortEarly:!1,context:n||a})}function Ig(t){var e=Array.isArray(t)?[]:{};for(var r in t)if(Object.prototype.hasOwnProperty.call(t,r)){var n=String(r);Array.isArray(t[n])===!0?e[n]=t[n].map(function(a){return Array.isArray(a)===!0||bw(a)?Ig(a):a!==""?a:void 0}):bw(t[n])?e[n]=Ig(t[n]):e[n]=t[n]!==""?t[n]:void 0}return e}function oq(t,e,r){var n=t.slice();return e.forEach(function(i,s){if(typeof n[s]>"u"){var o=r.clone!==!1,u=o&&r.isMergeableObject(i);n[s]=u?Mg(Array.isArray(i)?[]:{},i,r):i}else r.isMergeableObject(i)?n[s]=Mg(t[s],i,r):t.indexOf(i)===-1&&n.push(i)}),n}function lq(t){return Array.from(t).filter(function(e){return e.selected}).map(function(e){return e.value})}function cq(t,e,r){if(typeof t=="boolean")return!!e;var n=[],a=!1,i=-1;if(Array.isArray(t))n=t,i=t.indexOf(r),a=i>=0;else if(!r||r=="true"||r=="false")return!!e;return e&&r&&!a?n.concat(r):a?n.slice(0,i).concat(n.slice(i+1)):n}var uq=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?pe.useLayoutEffect:pe.useEffect;function Ta(t){var e=pe.useRef(t);return uq(function(){e.current=t}),pe.useCallback(function(){for(var r=arguments.length,n=new Array(r),a=0;an?a:n},0);return Array.from(Ot({},e,{length:r+1}))}else return[]},Zw=function(e,r){var n=typeof e=="function"?e:r;return function(a){if(Array.isArray(a)||L0(a)){var i=$l(a);return n(i)}return a}},gT=function(t){eq(e,t);function e(n){var a;return a=t.call(this,n)||this,a.updateArrayField=function(i,s,o){var u=a.props,y=u.name,b=u.formik.setFormikState;b(function(_){var A=Zw(o,i),T=Zw(s,i),k=Ji(_.values,y,i(qr(_.values,y))),C=o?A(qr(_.errors,y)):void 0,P=s?T(qr(_.touched,y)):void 0;return Kw(C)&&(C=void 0),Kw(P)&&(P=void 0),Ot({},_,{values:k,errors:o?Ji(_.errors,y,C):_.errors,touched:s?Ji(_.touched,y,P):_.touched})})},a.push=function(i){return a.updateArrayField(function(s){return[].concat($l(s),[QG(i)])},!1,!1)},a.handlePush=function(i){return function(){return a.push(i)}},a.swap=function(i,s){return a.updateArrayField(function(o){return hq(o,i,s)},!0,!0)},a.handleSwap=function(i,s){return function(){return a.swap(i,s)}},a.move=function(i,s){return a.updateArrayField(function(o){return dq(o,i,s)},!0,!0)},a.handleMove=function(i,s){return function(){return a.move(i,s)}},a.insert=function(i,s){return a.updateArrayField(function(o){return Xb(o,i,s)},function(o){return Xb(o,i,null)},function(o){return Xb(o,i,null)})},a.handleInsert=function(i,s){return function(){return a.insert(i,s)}},a.replace=function(i,s){return a.updateArrayField(function(o){return pq(o,i,s)},!1,!1)},a.handleReplace=function(i,s){return function(){return a.replace(i,s)}},a.unshift=function(i){var s=-1;return a.updateArrayField(function(o){var u=o?[i].concat(o):[i];return s=u.length,u},function(o){return o?[null].concat(o):[null]},function(o){return o?[null].concat(o):[null]}),s},a.handleUnshift=function(i){return function(){return a.unshift(i)}},a.handleRemove=function(i){return function(){return a.remove(i)}},a.handlePop=function(){return function(){return a.pop()}},a.remove=a.remove.bind(Ww(a)),a.pop=a.pop.bind(Ww(a)),a}var r=e.prototype;return r.componentDidUpdate=function(a){this.props.validateOnChange&&this.props.formik.validateOnChange&&!no(qr(a.formik.values,a.name),qr(this.props.formik.values,this.props.name))&&this.props.formik.validateForm(this.props.formik.values)},r.remove=function(a){var i;return this.updateArrayField(function(s){var o=s?$l(s):[];return i||(i=o[a]),Nn(o.splice)&&o.splice(a,1),Nn(o.every)&&o.every(function(u){return u===void 0})?[]:o},!0,!0),i},r.pop=function(){var a;return this.updateArrayField(function(i){var s=i.slice();return a||(a=s&&s.pop&&s.pop()),s},!0,!0),a},r.render=function(){var a={push:this.push,pop:this.pop,swap:this.swap,move:this.move,insert:this.insert,replace:this.replace,unshift:this.unshift,remove:this.remove,handlePush:this.handlePush,handlePop:this.handlePop,handleSwap:this.handleSwap,handleMove:this.handleMove,handleInsert:this.handleInsert,handleReplace:this.handleReplace,handleUnshift:this.handleUnshift,handleRemove:this.handleRemove},i=this.props,s=i.component,o=i.render,u=i.children,y=i.name,b=i.formik,_=bl(b,["validate","validationSchema"]),A=Ot({},a,{form:_,name:y});return s?pe.createElement(s,A):o?o(A):u?typeof u=="function"?u(A):mT(u)?null:pe.Children.only(u):null},e}(pe.Component);gT.defaultProps={validateOnChange:!0};var xT=fq(gT);function yq(t,{strict:e=!0}={}){return!t||typeof t!="string"?!1:e?/^0x[0-9a-fA-F]*$/.test(t):t.startsWith("0x")}function Jw(t){return yq(t,{strict:!1})?Math.ceil((t.length-2)/2):t.length}const mq="1.19.2",bq=()=>`viem@${mq}`;class Dt extends Error{constructor(e,r={}){var i;super(),Object.defineProperty(this,"details",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"docsPath",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"metaMessages",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"shortMessage",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"ViemError"}),Object.defineProperty(this,"version",{enumerable:!0,configurable:!0,writable:!0,value:bq()});const n=r.cause instanceof Dt?r.cause.details:(i=r.cause)!=null&&i.message?r.cause.message:r.details,a=r.cause instanceof Dt&&r.cause.docsPath||r.docsPath;this.message=[e||"An error occurred.","",...r.metaMessages?[...r.metaMessages,""]:[],...a?[`Docs: https://viem.sh${a}.html${r.docsSlug?`#${r.docsSlug}`:""}`]:[],...n?[`Details: ${n}`]:[],`Version: ${this.version}`].join(` +`),r.cause&&(this.cause=r.cause),this.details=n,this.docsPath=a,this.metaMessages=r.metaMessages,this.shortMessage=e}walk(e){return wT(this,e)}}function wT(t,e){return e!=null&&e(t)?t:t&&typeof t=="object"&&"cause"in t?wT(t.cause,e):e?null:t}class _T extends Dt{constructor({size:e,targetSize:r,type:n}){super(`${n.charAt(0).toUpperCase()}${n.slice(1).toLowerCase()} size (${e}) exceeds padding size (${r}).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"SizeExceedsPaddingSizeError"})}}function My(t,{dir:e,size:r=32}={}){return typeof t=="string"?vq(t,{dir:e,size:r}):gq(t,{dir:e,size:r})}function vq(t,{dir:e,size:r=32}={}){if(r===null)return t;const n=t.replace("0x","");if(n.length>r*2)throw new _T({size:Math.ceil(n.length/2),targetSize:r,type:"hex"});return`0x${n[e==="right"?"padEnd":"padStart"](r*2,"0")}`}function gq(t,{dir:e,size:r=32}={}){if(r===null)return t;if(t.length>r)throw new _T({size:t.length,targetSize:r,type:"bytes"});const n=new Uint8Array(r);for(let a=0;ae)throw new wq({givenSize:Jw(t),maxSize:e})}function wr(t,e={}){const{signed:r}=e;e.size&&By(t,{size:e.size});const n=BigInt(t);if(!r)return n;const a=(t.length-2)/2,i=(1n<e.toString(16).padStart(2,"0"));function rt(t,e={}){return typeof t=="number"||typeof t=="bigint"?ao(t,e):typeof t=="string"?Sq(t,e):typeof t=="boolean"?Eq(t,e):s6(t,e)}function Eq(t,e={}){const r=`0x${Number(t)}`;return typeof e.size=="number"?(By(r,{size:e.size}),My(r,{size:e.size})):r}function s6(t,e={}){let r="";for(let a=0;ai||a=ds.zero&&t<=ds.nine)return t-ds.zero;if(t>=ds.A&&t<=ds.F)return t-(ds.A-10);if(t>=ds.a&&t<=ds.f)return t-(ds.a-10)}function ET(t,e={}){let r=t;e.size&&(By(r,{size:e.size}),r=My(r,{dir:"right",size:e.size}));let n=r.slice(2);n.length%2&&(n=`0${n}`);const a=n.length/2,i=new Uint8Array(a);for(let s=0,o=0;se+r.replace("0x",""),"")}`}const Tq={gwei:9,wei:18},Mq={ether:-9,wei:9};function Bq(t,e){let r=t.toString();const n=r.startsWith("-");n&&(r=r.slice(1)),r=r.padStart(e,"0");let[a,i]=[r.slice(0,r.length-e),r.slice(r.length-e)];return i=i.replace(/(0+)$/,""),`${n?"-":""}${a||"0"}${i?`.${i}`:""}`}function Og(t,e="wei"){return Bq(t,Mq[e])}function kq(t){const e=Object.entries(t).map(([n,a])=>a===void 0||a===!1?null:[n,a]).filter(Boolean),r=e.reduce((n,[a])=>Math.max(n,a.length),0);return e.map(([n,a])=>` ${`${n}:`.padEnd(r+1)} ${a}`).join(` +`)}class Fq extends Dt{constructor({v:e}){super(`Invalid \`v\` value "${e}". Expected 27 or 28.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidLegacyVError"})}}class Pq extends Dt{constructor({transaction:e}){super("Cannot infer a transaction type from provided transaction.",{metaMessages:["Provided Transaction:","{",kq(e),"}","","To infer the type, either provide:","- a `type` to the Transaction, or","- an EIP-1559 Transaction with `maxFeePerGas`, or","- an EIP-2930 Transaction with `gasPrice` & `accessList`, or","- a Legacy Transaction with `gasPrice`"]}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidSerializableTransactionError"})}}class Dq extends Dt{constructor({storageKey:e}){super(`Size for storage key "${e}" is invalid. Expected 32 bytes. Got ${Math.floor((e.length-2)/2)} bytes.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidStorageKeySizeError"})}}class Wu extends Dt{constructor({cause:e,maxFeePerGas:r}={}){super(`The fee cap (\`maxFeePerGas\`${r?` = ${Og(r)} gwei`:""}) cannot be higher than the maximum allowed value (2^256-1).`,{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"FeeCapTooHigh"})}}Object.defineProperty(Wu,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max fee per gas higher than 2\^256-1|fee cap higher than 2\^256-1/});class ky extends Dt{constructor({cause:e,maxPriorityFeePerGas:r,maxFeePerGas:n}={}){super([`The provided tip (\`maxPriorityFeePerGas\`${r?` = ${Og(r)} gwei`:""}) cannot be higher than the fee cap (\`maxFeePerGas\`${n?` = ${Og(n)} gwei`:""}).`].join(` +`),{cause:e}),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"TipAboveFeeCapError"})}}Object.defineProperty(ky,"nodeMessage",{enumerable:!0,configurable:!0,writable:!0,value:/max priority fee per gas higher than max fee per gas|tip higher than fee cap/});function Fy(t,e){return({exclude:r,format:n})=>({exclude:r,format:a=>{const i=e(a);if(r)for(const s of r)delete i[s];return{...i,...n(a)}},type:t})}const Iq={legacy:"0x0",eip2930:"0x1",eip1559:"0x2"};function Oq(t){return{...t,gas:typeof t.gas<"u"?ao(t.gas):void 0,gasPrice:typeof t.gasPrice<"u"?ao(t.gasPrice):void 0,maxFeePerGas:typeof t.maxFeePerGas<"u"?ao(t.maxFeePerGas):void 0,maxPriorityFeePerGas:typeof t.maxPriorityFeePerGas<"u"?ao(t.maxPriorityFeePerGas):void 0,nonce:typeof t.nonce<"u"?ao(t.nonce):void 0,type:typeof t.type<"u"?Iq[t.type]:void 0,value:typeof t.value<"u"?ao(t.value):void 0}}const AT=Fy("transactionRequest",Oq),ST={"0x0":"legacy","0x1":"eip2930","0x2":"eip1559"};function Py(t){const e={...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,chainId:t.chainId?b1(t.chainId):void 0,gas:t.gas?BigInt(t.gas):void 0,gasPrice:t.gasPrice?BigInt(t.gasPrice):void 0,maxFeePerGas:t.maxFeePerGas?BigInt(t.maxFeePerGas):void 0,maxPriorityFeePerGas:t.maxPriorityFeePerGas?BigInt(t.maxPriorityFeePerGas):void 0,nonce:t.nonce?b1(t.nonce):void 0,to:t.to?t.to:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,type:t.type?ST[t.type]:void 0,typeHex:t.type?t.type:void 0,value:t.value?BigInt(t.value):void 0,v:t.v?BigInt(t.v):void 0};return e.yParity=(()=>{if(t.yParity)return Number(t.yParity);if(typeof e.v=="bigint"){if(e.v===0n||e.v===27n)return 0;if(e.v===1n||e.v===28n)return 1;if(e.v>=35n)return e.v%2n===0n?1:0}})(),e.type==="legacy"&&(delete e.accessList,delete e.maxFeePerGas,delete e.maxPriorityFeePerGas,delete e.yParity),e.type==="eip2930"&&(delete e.maxFeePerGas,delete e.maxPriorityFeePerGas),e}const o6=Fy("transaction",Py);function Rq(t){var r;const e=(r=t.transactions)==null?void 0:r.map(n=>typeof n=="string"?n:Py(n));return{...t,baseFeePerGas:t.baseFeePerGas?BigInt(t.baseFeePerGas):null,difficulty:t.difficulty?BigInt(t.difficulty):void 0,gasLimit:t.gasLimit?BigInt(t.gasLimit):void 0,gasUsed:t.gasUsed?BigInt(t.gasUsed):void 0,hash:t.hash?t.hash:null,logsBloom:t.logsBloom?t.logsBloom:null,nonce:t.nonce?t.nonce:null,number:t.number?BigInt(t.number):null,size:t.size?BigInt(t.size):void 0,timestamp:t.timestamp?BigInt(t.timestamp):void 0,transactions:e,totalDifficulty:t.totalDifficulty?BigInt(t.totalDifficulty):null}}const l6=Fy("block",Rq);function Nq(t){if(t.type)return t.type;if(typeof t.maxFeePerGas<"u"||typeof t.maxPriorityFeePerGas<"u")return"eip1559";if(typeof t.gasPrice<"u")return typeof t.accessList<"u"?"eip2930":"legacy";throw new Pq({transaction:t})}function CT(t,{args:e,eventName:r}={}){return{...t,blockHash:t.blockHash?t.blockHash:null,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,logIndex:t.logIndex?Number(t.logIndex):null,transactionHash:t.transactionHash?t.transactionHash:null,transactionIndex:t.transactionIndex?Number(t.transactionIndex):null,...r?{args:e,eventName:r}:{}}}class Ku extends Dt{constructor({chainId:e}){super(`Chain ID "${e}" is invalid.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"InvalidChainIdError"})}}function be(t,e={}){const{fees:r=t.fees,formatters:n=t.formatters,serializers:a=t.serializers}=e;return{...t,fees:r,formatters:n,serializers:a}}class Xw extends Dt{constructor({offset:e}){super(`Offset \`${e}\` cannot be negative.`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"NegativeOffsetError"})}}class $q extends Dt{constructor({length:e,position:r}){super(`Position \`${r}\` is out of bounds (\`0 < position < ${e}\`).`),Object.defineProperty(this,"name",{enumerable:!0,configurable:!0,writable:!0,value:"PositionOutOfBoundsError"})}}const Lq={bytes:new Uint8Array,dataView:new DataView(new ArrayBuffer(0)),position:0,assertPosition(t){if(t<0||t>this.bytes.length-1)throw new $q({length:this.bytes.length,position:t})},decrementPosition(t){if(t<0)throw new Xw({offset:t});const e=this.position-t;this.assertPosition(e),this.position=e},incrementPosition(t){if(t<0)throw new Xw({offset:t});const e=this.position+t;this.assertPosition(e),this.position=e},inspectByte(t){const e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectBytes(t,e){const r=e??this.position;return this.assertPosition(r+t-1),this.bytes.subarray(r,r+t)},inspectUint8(t){const e=t??this.position;return this.assertPosition(e),this.bytes[e]},inspectUint16(t){const e=t??this.position;return this.assertPosition(e+1),this.dataView.getUint16(e)},inspectUint24(t){const e=t??this.position;return this.assertPosition(e+2),(this.dataView.getUint16(e)<<8)+this.dataView.getUint8(e+2)},inspectUint32(t){const e=t??this.position;return this.assertPosition(e+3),this.dataView.getUint32(e)},pushByte(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushBytes(t){this.assertPosition(this.position+t.length-1),this.bytes.set(t,this.position),this.position+=t.length},pushUint8(t){this.assertPosition(this.position),this.bytes[this.position]=t,this.position++},pushUint16(t){this.assertPosition(this.position+1),this.dataView.setUint16(this.position,t),this.position+=2},pushUint24(t){this.assertPosition(this.position+2),this.dataView.setUint16(this.position,t>>8),this.dataView.setUint8(this.position+2,t&255),this.position+=3},pushUint32(t){this.assertPosition(this.position+3),this.dataView.setUint32(this.position,t),this.position+=4},readByte(){const t=this.inspectByte();return this.position++,t},readBytes(t){const e=this.inspectBytes(t);return this.position+=t,e},readUint8(){const t=this.inspectUint8();return this.position+=1,t},readUint16(){const t=this.inspectUint16();return this.position+=2,t},readUint24(){const t=this.inspectUint24();return this.position+=3,t},readUint32(){const t=this.inspectUint32();return this.position+=4,t},setPosition(t){this.assertPosition(t),this.position=t}};function jq(t){const e=Object.create(Lq);return e.bytes=t,e.dataView=new DataView(t.buffer,t.byteOffset,t.byteLength),e}function Zu(t,e="hex"){const r=TT(t),n=jq(new Uint8Array(r.length));return r.encode(n),e==="hex"?s6(n.bytes):n.bytes}function TT(t){return Array.isArray(t)?zq(t.map(e=>TT(e))):Uq(t)}function zq(t){const e=t.reduce((a,i)=>a+i.length,0),r=MT(e);return{length:e<=55?1+e:1+r+e,encode(a){e<=55?a.pushByte(192+e):(a.pushByte(247+r),r===1?a.pushUint8(e):r===2?a.pushUint16(e):r===3?a.pushUint24(e):a.pushUint32(e));for(const{encode:i}of t)i(a)}}}function Uq(t){const e=typeof t=="string"?ET(t):t,r=MT(e.length);return{length:e.length===1&&e[0]<128?1:e.length<=55?1+e.length:1+r+e.length,encode(a){e.length===1&&e[0]<128?a.pushBytes(e):e.length<=55?(a.pushByte(128+e.length),a.pushBytes(e)):(a.pushByte(183+r),r===1?a.pushUint8(e.length):r===2?a.pushUint16(e.length):r===3?a.pushUint24(e.length):a.pushUint32(e.length),a.pushBytes(e))}}}function MT(t){if(t<2**8)return 1;if(t<2**16)return 2;if(t<2**24)return 3;if(t<2**32)return 4;throw new Dt("Length is too large.")}const Hq={"0x0":"reverted","0x1":"success"};function Gq(t){return{...t,blockNumber:t.blockNumber?BigInt(t.blockNumber):null,contractAddress:t.contractAddress?t.contractAddress:null,cumulativeGasUsed:t.cumulativeGasUsed?BigInt(t.cumulativeGasUsed):null,effectiveGasPrice:t.effectiveGasPrice?BigInt(t.effectiveGasPrice):null,gasUsed:t.gasUsed?BigInt(t.gasUsed):null,logs:t.logs?t.logs.map(e=>CT(e)):null,to:t.to?t.to:null,transactionIndex:t.transactionIndex?b1(t.transactionIndex):null,status:t.status?Hq[t.status]:null,type:t.type?ST[t.type]||t.type:null}}const c6=Fy("transactionReceipt",Gq);function qq(t){const{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:a,to:i}=t;if(e<=0)throw new Ku({chainId:e});if(i&&!zn(i))throw new Yi({address:i});if(n)throw new Dt("`gasPrice` is not a valid EIP-1559 Transaction attribute.");if(a&&a>2n**256n-1n)throw new Wu({maxFeePerGas:a});if(r&&a&&r>a)throw new ky({maxFeePerGas:a,maxPriorityFeePerGas:r})}function Vq(t){const{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:a,to:i}=t;if(e<=0)throw new Ku({chainId:e});if(i&&!zn(i))throw new Yi({address:i});if(r||a)throw new Dt("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid EIP-2930 Transaction attribute.");if(n&&n>2n**256n-1n)throw new Wu({maxFeePerGas:n})}function Wq(t){const{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:a,to:i,accessList:s}=t;if(i&&!zn(i))throw new Yi({address:i});if(typeof e<"u"&&e<=0)throw new Ku({chainId:e});if(r||a)throw new Dt("`maxFeePerGas`/`maxPriorityFeePerGas` is not a valid Legacy Transaction attribute.");if(n&&n>2n**256n-1n)throw new Wu({maxFeePerGas:n});if(s)throw new Dt("`accessList` is not a valid Legacy Transaction attribute.")}function Dy(t){if(!t||t.length===0)return[];const e=[];for(let r=0;r{if(r>0)return BigInt(r*2)+BigInt(35n+e.v-27n);if(e.v>=35n)return(e.v-35n)/2n>0?e.v:27n+(e.v===35n?0n:1n);const _=27n+(e.v===27n?0n:1n);if(e.v!==_)throw new Fq({v:e.v});return _})();y=[...y,rt(b),e.r,e.s]}else r>0&&(y=[...y,rt(r),"0x","0x"]);return Zu(y)}function Yq(t,e){let[r,n="0"]=t.split(".");const a=r.startsWith("-");if(a&&(r=r.slice(1)),n=n.replace(/(0+)$/,""),e===0)Math.round(+`.${n}`)===1&&(r=`${BigInt(r)+1n}`),n="";else if(n.length>e){const[i,s,o]=[n.slice(0,e-1),n.slice(e-1,e),n.slice(e)],u=Math.round(+`${s}.${o}`);u>9?n=`${BigInt(i)+BigInt(1)}0`.padStart(i.length+1,"0"):n=`${i}${u}`,n.length>e&&(n=n.slice(1),r=`${BigInt(r)+1n}`),n=n.slice(0,e)}else n=n.padEnd(e,"0");return BigInt(`${a?"-":""}${r}${n}`)}function Xq(t,e="wei"){return Yq(t,Tq[e])}var u6={exports:{}};const Qq={},eV=Object.freeze(Object.defineProperty({__proto__:null,default:Qq},Symbol.toStringTag,{value:"Module"})),Ju=$o(eV);u6.exports;(function(t){(function(e,r){function n(h,c){if(!h)throw new Error(c||"Assertion failed")}function a(h,c){h.super_=c;var p=function(){};p.prototype=c.prototype,h.prototype=new p,h.prototype.constructor=h}function i(h,c,p){if(i.isBN(h))return h;this.negative=0,this.words=null,this.length=0,this.red=null,h!==null&&((c==="le"||c==="be")&&(p=c,c=10),this._init(h||0,c||10,p||"be"))}typeof e=="object"?e.exports=i:r.BN=i,i.BN=i,i.wordSize=26;var s;try{typeof window<"u"&&typeof window.Buffer<"u"?s=window.Buffer:s=Ju.Buffer}catch{}i.isBN=function(c){return c instanceof i?!0:c!==null&&typeof c=="object"&&c.constructor.wordSize===i.wordSize&&Array.isArray(c.words)},i.max=function(c,p){return c.cmp(p)>0?c:p},i.min=function(c,p){return c.cmp(p)<0?c:p},i.prototype._init=function(c,p,v){if(typeof c=="number")return this._initNumber(c,p,v);if(typeof c=="object")return this._initArray(c,p,v);p==="hex"&&(p=16),n(p===(p|0)&&p>=2&&p<=36),c=c.toString().replace(/\s+/g,"");var E=0;c[0]==="-"&&(E++,this.negative=1),E=0;E-=3)f=c[E]|c[E-1]<<8|c[E-2]<<16,this.words[g]|=f<>>26-m&67108863,m+=24,m>=26&&(m-=26,g++);else if(v==="le")for(E=0,g=0;E>>26-m&67108863,m+=24,m>=26&&(m-=26,g++);return this._strip()};function o(h,c){var p=h.charCodeAt(c);if(p>=48&&p<=57)return p-48;if(p>=65&&p<=70)return p-55;if(p>=97&&p<=102)return p-87;n(!1,"Invalid character in "+h)}function u(h,c,p){var v=o(h,p);return p-1>=c&&(v|=o(h,p-1)<<4),v}i.prototype._parseHex=function(c,p,v){this.length=Math.ceil((c.length-p)/6),this.words=new Array(this.length);for(var E=0;E=p;E-=2)m=u(c,p,E)<=18?(g-=18,f+=1,this.words[f]|=m>>>26):g+=8;else{var w=c.length-p;for(E=w%2===0?p+1:p;E=18?(g-=18,f+=1,this.words[f]|=m>>>26):g+=8}this._strip()};function y(h,c,p,v){for(var E=0,g=0,f=Math.min(h.length,p),m=c;m=49?g=w-49+10:w>=17?g=w-17+10:g=w,n(w>=0&&g1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},i.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},typeof Symbol<"u"&&typeof Symbol.for=="function")try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=_}catch{i.prototype.inspect=_}else i.prototype.inspect=_;function _(){return(this.red?""}var A=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],T=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],k=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(c,p){c=c||10,p=p|0||1;var v;if(c===16||c==="hex"){v="";for(var E=0,g=0,f=0;f>>24-E&16777215,E+=2,E>=26&&(E-=26,f--),g!==0||f!==this.length-1?v=A[6-w.length]+w+v:v=w+v}for(g!==0&&(v=g.toString(16)+v);v.length%p!==0;)v="0"+v;return this.negative!==0&&(v="-"+v),v}if(c===(c|0)&&c>=2&&c<=36){var x=T[c],S=k[c];v="";var R=this.clone();for(R.negative=0;!R.isZero();){var L=R.modrn(S).toString(c);R=R.idivn(S),R.isZero()?v=L+v:v=A[x-L.length]+L+v}for(this.isZero()&&(v="0"+v);v.length%p!==0;)v="0"+v;return this.negative!==0&&(v="-"+v),v}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var c=this.words[0];return this.length===2?c+=this.words[1]*67108864:this.length===3&&this.words[2]===1?c+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-c:c},i.prototype.toJSON=function(){return this.toString(16,2)},s&&(i.prototype.toBuffer=function(c,p){return this.toArrayLike(s,c,p)}),i.prototype.toArray=function(c,p){return this.toArrayLike(Array,c,p)};var C=function(c,p){return c.allocUnsafe?c.allocUnsafe(p):new c(p)};i.prototype.toArrayLike=function(c,p,v){this._strip();var E=this.byteLength(),g=v||Math.max(1,E);n(E<=g,"byte array longer than desired length"),n(g>0,"Requested array length <= 0");var f=C(c,g),m=p==="le"?"LE":"BE";return this["_toArrayLike"+m](f,E),f},i.prototype._toArrayLikeLE=function(c,p){for(var v=0,E=0,g=0,f=0;g>8&255),v>16&255),f===6?(v>24&255),E=0,f=0):(E=m>>>24,f+=2)}if(v=0&&(c[v--]=m>>8&255),v>=0&&(c[v--]=m>>16&255),f===6?(v>=0&&(c[v--]=m>>24&255),E=0,f=0):(E=m>>>24,f+=2)}if(v>=0)for(c[v--]=E;v>=0;)c[v--]=0},Math.clz32?i.prototype._countBits=function(c){return 32-Math.clz32(c)}:i.prototype._countBits=function(c){var p=c,v=0;return p>=4096&&(v+=13,p>>>=13),p>=64&&(v+=7,p>>>=7),p>=8&&(v+=4,p>>>=4),p>=2&&(v+=2,p>>>=2),v+p},i.prototype._zeroBits=function(c){if(c===0)return 26;var p=c,v=0;return p&8191||(v+=13,p>>>=13),p&127||(v+=7,p>>>=7),p&15||(v+=4,p>>>=4),p&3||(v+=2,p>>>=2),p&1||v++,v},i.prototype.bitLength=function(){var c=this.words[this.length-1],p=this._countBits(c);return(this.length-1)*26+p};function P(h){for(var c=new Array(h.bitLength()),p=0;p>>E&1}return c}i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var c=0,p=0;pc.length?this.clone().ior(c):c.clone().ior(this)},i.prototype.uor=function(c){return this.length>c.length?this.clone().iuor(c):c.clone().iuor(this)},i.prototype.iuand=function(c){var p;this.length>c.length?p=c:p=this;for(var v=0;vc.length?this.clone().iand(c):c.clone().iand(this)},i.prototype.uand=function(c){return this.length>c.length?this.clone().iuand(c):c.clone().iuand(this)},i.prototype.iuxor=function(c){var p,v;this.length>c.length?(p=this,v=c):(p=c,v=this);for(var E=0;Ec.length?this.clone().ixor(c):c.clone().ixor(this)},i.prototype.uxor=function(c){return this.length>c.length?this.clone().iuxor(c):c.clone().iuxor(this)},i.prototype.inotn=function(c){n(typeof c=="number"&&c>=0);var p=Math.ceil(c/26)|0,v=c%26;this._expand(p),v>0&&p--;for(var E=0;E0&&(this.words[E]=~this.words[E]&67108863>>26-v),this._strip()},i.prototype.notn=function(c){return this.clone().inotn(c)},i.prototype.setn=function(c,p){n(typeof c=="number"&&c>=0);var v=c/26|0,E=c%26;return this._expand(v+1),p?this.words[v]=this.words[v]|1<c.length?(v=this,E=c):(v=c,E=this);for(var g=0,f=0;f>>26;for(;g!==0&&f>>26;if(this.length=v.length,g!==0)this.words[this.length]=g,this.length++;else if(v!==this)for(;fc.length?this.clone().iadd(c):c.clone().iadd(this)},i.prototype.isub=function(c){if(c.negative!==0){c.negative=0;var p=this.iadd(c);return c.negative=1,p._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(c),this.negative=1,this._normSign();var v=this.cmp(c);if(v===0)return this.negative=0,this.length=1,this.words[0]=0,this;var E,g;v>0?(E=this,g=c):(E=c,g=this);for(var f=0,m=0;m>26,this.words[m]=p&67108863;for(;f!==0&&m>26,this.words[m]=p&67108863;if(f===0&&m>>26,R=w&67108863,L=Math.min(x,c.length-1),F=Math.max(0,x-h.length+1);F<=L;F++){var G=x-F|0;E=h.words[G]|0,g=c.words[F]|0,f=E*g+R,S+=f/67108864|0,R=f&67108863}p.words[x]=R|0,w=S|0}return w!==0?p.words[x]=w|0:p.length--,p._strip()}var D=function(c,p,v){var E=c.words,g=p.words,f=v.words,m=0,w,x,S,R=E[0]|0,L=R&8191,F=R>>>13,G=E[1]|0,z=G&8191,V=G>>>13,se=E[2]|0,ie=se&8191,U=se>>>13,W=E[3]|0,ce=W&8191,oe=W>>>13,K=E[4]|0,I=K&8191,O=K>>>13,q=E[5]|0,te=q&8191,fe=q>>>13,H=E[6]|0,J=H&8191,ee=H>>>13,he=E[7]|0,de=he&8191,ue=he>>>13,Se=E[8]|0,Ae=Se&8191,we=Se>>>13,Ze=E[9]|0,Ne=Ze&8191,ke=Ze>>>13,Qe=g[0]|0,Ue=Qe&8191,Pe=Qe>>>13,ct=g[1]|0,We=ct&8191,$e=ct>>>13,ht=g[2]|0,ne=ht&8191,ae=ht>>>13,xe=g[3]|0,ge=xe&8191,ve=xe>>>13,Ve=g[4]|0,Ce=Ve&8191,_e=Ve>>>13,Le=g[5]|0,Be=Le&8191,Me=Le>>>13,Ke=g[6]|0,De=Ke&8191,Te=Ke>>>13,et=g[7]|0,He=et&8191,Ie=et>>>13,dt=g[8]|0,qe=dt&8191,Fe=dt>>>13,nt=g[9]|0,at=nt&8191,it=nt>>>13;v.negative=c.negative^p.negative,v.length=19,w=Math.imul(L,Ue),x=Math.imul(L,Pe),x=x+Math.imul(F,Ue)|0,S=Math.imul(F,Pe);var $t=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+($t>>>26)|0,$t&=67108863,w=Math.imul(z,Ue),x=Math.imul(z,Pe),x=x+Math.imul(V,Ue)|0,S=Math.imul(V,Pe),w=w+Math.imul(L,We)|0,x=x+Math.imul(L,$e)|0,x=x+Math.imul(F,We)|0,S=S+Math.imul(F,$e)|0;var Pt=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,w=Math.imul(ie,Ue),x=Math.imul(ie,Pe),x=x+Math.imul(U,Ue)|0,S=Math.imul(U,Pe),w=w+Math.imul(z,We)|0,x=x+Math.imul(z,$e)|0,x=x+Math.imul(V,We)|0,S=S+Math.imul(V,$e)|0,w=w+Math.imul(L,ne)|0,x=x+Math.imul(L,ae)|0,x=x+Math.imul(F,ne)|0,S=S+Math.imul(F,ae)|0;var tt=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(tt>>>26)|0,tt&=67108863,w=Math.imul(ce,Ue),x=Math.imul(ce,Pe),x=x+Math.imul(oe,Ue)|0,S=Math.imul(oe,Pe),w=w+Math.imul(ie,We)|0,x=x+Math.imul(ie,$e)|0,x=x+Math.imul(U,We)|0,S=S+Math.imul(U,$e)|0,w=w+Math.imul(z,ne)|0,x=x+Math.imul(z,ae)|0,x=x+Math.imul(V,ne)|0,S=S+Math.imul(V,ae)|0,w=w+Math.imul(L,ge)|0,x=x+Math.imul(L,ve)|0,x=x+Math.imul(F,ge)|0,S=S+Math.imul(F,ve)|0;var yt=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(yt>>>26)|0,yt&=67108863,w=Math.imul(I,Ue),x=Math.imul(I,Pe),x=x+Math.imul(O,Ue)|0,S=Math.imul(O,Pe),w=w+Math.imul(ce,We)|0,x=x+Math.imul(ce,$e)|0,x=x+Math.imul(oe,We)|0,S=S+Math.imul(oe,$e)|0,w=w+Math.imul(ie,ne)|0,x=x+Math.imul(ie,ae)|0,x=x+Math.imul(U,ne)|0,S=S+Math.imul(U,ae)|0,w=w+Math.imul(z,ge)|0,x=x+Math.imul(z,ve)|0,x=x+Math.imul(V,ge)|0,S=S+Math.imul(V,ve)|0,w=w+Math.imul(L,Ce)|0,x=x+Math.imul(L,_e)|0,x=x+Math.imul(F,Ce)|0,S=S+Math.imul(F,_e)|0;var st=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(st>>>26)|0,st&=67108863,w=Math.imul(te,Ue),x=Math.imul(te,Pe),x=x+Math.imul(fe,Ue)|0,S=Math.imul(fe,Pe),w=w+Math.imul(I,We)|0,x=x+Math.imul(I,$e)|0,x=x+Math.imul(O,We)|0,S=S+Math.imul(O,$e)|0,w=w+Math.imul(ce,ne)|0,x=x+Math.imul(ce,ae)|0,x=x+Math.imul(oe,ne)|0,S=S+Math.imul(oe,ae)|0,w=w+Math.imul(ie,ge)|0,x=x+Math.imul(ie,ve)|0,x=x+Math.imul(U,ge)|0,S=S+Math.imul(U,ve)|0,w=w+Math.imul(z,Ce)|0,x=x+Math.imul(z,_e)|0,x=x+Math.imul(V,Ce)|0,S=S+Math.imul(V,_e)|0,w=w+Math.imul(L,Be)|0,x=x+Math.imul(L,Me)|0,x=x+Math.imul(F,Be)|0,S=S+Math.imul(F,Me)|0;var Bt=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,w=Math.imul(J,Ue),x=Math.imul(J,Pe),x=x+Math.imul(ee,Ue)|0,S=Math.imul(ee,Pe),w=w+Math.imul(te,We)|0,x=x+Math.imul(te,$e)|0,x=x+Math.imul(fe,We)|0,S=S+Math.imul(fe,$e)|0,w=w+Math.imul(I,ne)|0,x=x+Math.imul(I,ae)|0,x=x+Math.imul(O,ne)|0,S=S+Math.imul(O,ae)|0,w=w+Math.imul(ce,ge)|0,x=x+Math.imul(ce,ve)|0,x=x+Math.imul(oe,ge)|0,S=S+Math.imul(oe,ve)|0,w=w+Math.imul(ie,Ce)|0,x=x+Math.imul(ie,_e)|0,x=x+Math.imul(U,Ce)|0,S=S+Math.imul(U,_e)|0,w=w+Math.imul(z,Be)|0,x=x+Math.imul(z,Me)|0,x=x+Math.imul(V,Be)|0,S=S+Math.imul(V,Me)|0,w=w+Math.imul(L,De)|0,x=x+Math.imul(L,Te)|0,x=x+Math.imul(F,De)|0,S=S+Math.imul(F,Te)|0;var ur=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(ur>>>26)|0,ur&=67108863,w=Math.imul(de,Ue),x=Math.imul(de,Pe),x=x+Math.imul(ue,Ue)|0,S=Math.imul(ue,Pe),w=w+Math.imul(J,We)|0,x=x+Math.imul(J,$e)|0,x=x+Math.imul(ee,We)|0,S=S+Math.imul(ee,$e)|0,w=w+Math.imul(te,ne)|0,x=x+Math.imul(te,ae)|0,x=x+Math.imul(fe,ne)|0,S=S+Math.imul(fe,ae)|0,w=w+Math.imul(I,ge)|0,x=x+Math.imul(I,ve)|0,x=x+Math.imul(O,ge)|0,S=S+Math.imul(O,ve)|0,w=w+Math.imul(ce,Ce)|0,x=x+Math.imul(ce,_e)|0,x=x+Math.imul(oe,Ce)|0,S=S+Math.imul(oe,_e)|0,w=w+Math.imul(ie,Be)|0,x=x+Math.imul(ie,Me)|0,x=x+Math.imul(U,Be)|0,S=S+Math.imul(U,Me)|0,w=w+Math.imul(z,De)|0,x=x+Math.imul(z,Te)|0,x=x+Math.imul(V,De)|0,S=S+Math.imul(V,Te)|0,w=w+Math.imul(L,He)|0,x=x+Math.imul(L,Ie)|0,x=x+Math.imul(F,He)|0,S=S+Math.imul(F,Ie)|0;var br=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(br>>>26)|0,br&=67108863,w=Math.imul(Ae,Ue),x=Math.imul(Ae,Pe),x=x+Math.imul(we,Ue)|0,S=Math.imul(we,Pe),w=w+Math.imul(de,We)|0,x=x+Math.imul(de,$e)|0,x=x+Math.imul(ue,We)|0,S=S+Math.imul(ue,$e)|0,w=w+Math.imul(J,ne)|0,x=x+Math.imul(J,ae)|0,x=x+Math.imul(ee,ne)|0,S=S+Math.imul(ee,ae)|0,w=w+Math.imul(te,ge)|0,x=x+Math.imul(te,ve)|0,x=x+Math.imul(fe,ge)|0,S=S+Math.imul(fe,ve)|0,w=w+Math.imul(I,Ce)|0,x=x+Math.imul(I,_e)|0,x=x+Math.imul(O,Ce)|0,S=S+Math.imul(O,_e)|0,w=w+Math.imul(ce,Be)|0,x=x+Math.imul(ce,Me)|0,x=x+Math.imul(oe,Be)|0,S=S+Math.imul(oe,Me)|0,w=w+Math.imul(ie,De)|0,x=x+Math.imul(ie,Te)|0,x=x+Math.imul(U,De)|0,S=S+Math.imul(U,Te)|0,w=w+Math.imul(z,He)|0,x=x+Math.imul(z,Ie)|0,x=x+Math.imul(V,He)|0,S=S+Math.imul(V,Ie)|0,w=w+Math.imul(L,qe)|0,x=x+Math.imul(L,Fe)|0,x=x+Math.imul(F,qe)|0,S=S+Math.imul(F,Fe)|0;var Dr=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,w=Math.imul(Ne,Ue),x=Math.imul(Ne,Pe),x=x+Math.imul(ke,Ue)|0,S=Math.imul(ke,Pe),w=w+Math.imul(Ae,We)|0,x=x+Math.imul(Ae,$e)|0,x=x+Math.imul(we,We)|0,S=S+Math.imul(we,$e)|0,w=w+Math.imul(de,ne)|0,x=x+Math.imul(de,ae)|0,x=x+Math.imul(ue,ne)|0,S=S+Math.imul(ue,ae)|0,w=w+Math.imul(J,ge)|0,x=x+Math.imul(J,ve)|0,x=x+Math.imul(ee,ge)|0,S=S+Math.imul(ee,ve)|0,w=w+Math.imul(te,Ce)|0,x=x+Math.imul(te,_e)|0,x=x+Math.imul(fe,Ce)|0,S=S+Math.imul(fe,_e)|0,w=w+Math.imul(I,Be)|0,x=x+Math.imul(I,Me)|0,x=x+Math.imul(O,Be)|0,S=S+Math.imul(O,Me)|0,w=w+Math.imul(ce,De)|0,x=x+Math.imul(ce,Te)|0,x=x+Math.imul(oe,De)|0,S=S+Math.imul(oe,Te)|0,w=w+Math.imul(ie,He)|0,x=x+Math.imul(ie,Ie)|0,x=x+Math.imul(U,He)|0,S=S+Math.imul(U,Ie)|0,w=w+Math.imul(z,qe)|0,x=x+Math.imul(z,Fe)|0,x=x+Math.imul(V,qe)|0,S=S+Math.imul(V,Fe)|0,w=w+Math.imul(L,at)|0,x=x+Math.imul(L,it)|0,x=x+Math.imul(F,at)|0,S=S+Math.imul(F,it)|0;var Ir=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(Ir>>>26)|0,Ir&=67108863,w=Math.imul(Ne,We),x=Math.imul(Ne,$e),x=x+Math.imul(ke,We)|0,S=Math.imul(ke,$e),w=w+Math.imul(Ae,ne)|0,x=x+Math.imul(Ae,ae)|0,x=x+Math.imul(we,ne)|0,S=S+Math.imul(we,ae)|0,w=w+Math.imul(de,ge)|0,x=x+Math.imul(de,ve)|0,x=x+Math.imul(ue,ge)|0,S=S+Math.imul(ue,ve)|0,w=w+Math.imul(J,Ce)|0,x=x+Math.imul(J,_e)|0,x=x+Math.imul(ee,Ce)|0,S=S+Math.imul(ee,_e)|0,w=w+Math.imul(te,Be)|0,x=x+Math.imul(te,Me)|0,x=x+Math.imul(fe,Be)|0,S=S+Math.imul(fe,Me)|0,w=w+Math.imul(I,De)|0,x=x+Math.imul(I,Te)|0,x=x+Math.imul(O,De)|0,S=S+Math.imul(O,Te)|0,w=w+Math.imul(ce,He)|0,x=x+Math.imul(ce,Ie)|0,x=x+Math.imul(oe,He)|0,S=S+Math.imul(oe,Ie)|0,w=w+Math.imul(ie,qe)|0,x=x+Math.imul(ie,Fe)|0,x=x+Math.imul(U,qe)|0,S=S+Math.imul(U,Fe)|0,w=w+Math.imul(z,at)|0,x=x+Math.imul(z,it)|0,x=x+Math.imul(V,at)|0,S=S+Math.imul(V,it)|0;var Or=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(Or>>>26)|0,Or&=67108863,w=Math.imul(Ne,ne),x=Math.imul(Ne,ae),x=x+Math.imul(ke,ne)|0,S=Math.imul(ke,ae),w=w+Math.imul(Ae,ge)|0,x=x+Math.imul(Ae,ve)|0,x=x+Math.imul(we,ge)|0,S=S+Math.imul(we,ve)|0,w=w+Math.imul(de,Ce)|0,x=x+Math.imul(de,_e)|0,x=x+Math.imul(ue,Ce)|0,S=S+Math.imul(ue,_e)|0,w=w+Math.imul(J,Be)|0,x=x+Math.imul(J,Me)|0,x=x+Math.imul(ee,Be)|0,S=S+Math.imul(ee,Me)|0,w=w+Math.imul(te,De)|0,x=x+Math.imul(te,Te)|0,x=x+Math.imul(fe,De)|0,S=S+Math.imul(fe,Te)|0,w=w+Math.imul(I,He)|0,x=x+Math.imul(I,Ie)|0,x=x+Math.imul(O,He)|0,S=S+Math.imul(O,Ie)|0,w=w+Math.imul(ce,qe)|0,x=x+Math.imul(ce,Fe)|0,x=x+Math.imul(oe,qe)|0,S=S+Math.imul(oe,Fe)|0,w=w+Math.imul(ie,at)|0,x=x+Math.imul(ie,it)|0,x=x+Math.imul(U,at)|0,S=S+Math.imul(U,it)|0;var Rr=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,w=Math.imul(Ne,ge),x=Math.imul(Ne,ve),x=x+Math.imul(ke,ge)|0,S=Math.imul(ke,ve),w=w+Math.imul(Ae,Ce)|0,x=x+Math.imul(Ae,_e)|0,x=x+Math.imul(we,Ce)|0,S=S+Math.imul(we,_e)|0,w=w+Math.imul(de,Be)|0,x=x+Math.imul(de,Me)|0,x=x+Math.imul(ue,Be)|0,S=S+Math.imul(ue,Me)|0,w=w+Math.imul(J,De)|0,x=x+Math.imul(J,Te)|0,x=x+Math.imul(ee,De)|0,S=S+Math.imul(ee,Te)|0,w=w+Math.imul(te,He)|0,x=x+Math.imul(te,Ie)|0,x=x+Math.imul(fe,He)|0,S=S+Math.imul(fe,Ie)|0,w=w+Math.imul(I,qe)|0,x=x+Math.imul(I,Fe)|0,x=x+Math.imul(O,qe)|0,S=S+Math.imul(O,Fe)|0,w=w+Math.imul(ce,at)|0,x=x+Math.imul(ce,it)|0,x=x+Math.imul(oe,at)|0,S=S+Math.imul(oe,it)|0;var Nr=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(Nr>>>26)|0,Nr&=67108863,w=Math.imul(Ne,Ce),x=Math.imul(Ne,_e),x=x+Math.imul(ke,Ce)|0,S=Math.imul(ke,_e),w=w+Math.imul(Ae,Be)|0,x=x+Math.imul(Ae,Me)|0,x=x+Math.imul(we,Be)|0,S=S+Math.imul(we,Me)|0,w=w+Math.imul(de,De)|0,x=x+Math.imul(de,Te)|0,x=x+Math.imul(ue,De)|0,S=S+Math.imul(ue,Te)|0,w=w+Math.imul(J,He)|0,x=x+Math.imul(J,Ie)|0,x=x+Math.imul(ee,He)|0,S=S+Math.imul(ee,Ie)|0,w=w+Math.imul(te,qe)|0,x=x+Math.imul(te,Fe)|0,x=x+Math.imul(fe,qe)|0,S=S+Math.imul(fe,Fe)|0,w=w+Math.imul(I,at)|0,x=x+Math.imul(I,it)|0,x=x+Math.imul(O,at)|0,S=S+Math.imul(O,it)|0;var $r=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+($r>>>26)|0,$r&=67108863,w=Math.imul(Ne,Be),x=Math.imul(Ne,Me),x=x+Math.imul(ke,Be)|0,S=Math.imul(ke,Me),w=w+Math.imul(Ae,De)|0,x=x+Math.imul(Ae,Te)|0,x=x+Math.imul(we,De)|0,S=S+Math.imul(we,Te)|0,w=w+Math.imul(de,He)|0,x=x+Math.imul(de,Ie)|0,x=x+Math.imul(ue,He)|0,S=S+Math.imul(ue,Ie)|0,w=w+Math.imul(J,qe)|0,x=x+Math.imul(J,Fe)|0,x=x+Math.imul(ee,qe)|0,S=S+Math.imul(ee,Fe)|0,w=w+Math.imul(te,at)|0,x=x+Math.imul(te,it)|0,x=x+Math.imul(fe,at)|0,S=S+Math.imul(fe,it)|0;var Dn=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(Dn>>>26)|0,Dn&=67108863,w=Math.imul(Ne,De),x=Math.imul(Ne,Te),x=x+Math.imul(ke,De)|0,S=Math.imul(ke,Te),w=w+Math.imul(Ae,He)|0,x=x+Math.imul(Ae,Ie)|0,x=x+Math.imul(we,He)|0,S=S+Math.imul(we,Ie)|0,w=w+Math.imul(de,qe)|0,x=x+Math.imul(de,Fe)|0,x=x+Math.imul(ue,qe)|0,S=S+Math.imul(ue,Fe)|0,w=w+Math.imul(J,at)|0,x=x+Math.imul(J,it)|0,x=x+Math.imul(ee,at)|0,S=S+Math.imul(ee,it)|0;var In=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(In>>>26)|0,In&=67108863,w=Math.imul(Ne,He),x=Math.imul(Ne,Ie),x=x+Math.imul(ke,He)|0,S=Math.imul(ke,Ie),w=w+Math.imul(Ae,qe)|0,x=x+Math.imul(Ae,Fe)|0,x=x+Math.imul(we,qe)|0,S=S+Math.imul(we,Fe)|0,w=w+Math.imul(de,at)|0,x=x+Math.imul(de,it)|0,x=x+Math.imul(ue,at)|0,S=S+Math.imul(ue,it)|0;var Xo=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(Xo>>>26)|0,Xo&=67108863,w=Math.imul(Ne,qe),x=Math.imul(Ne,Fe),x=x+Math.imul(ke,qe)|0,S=Math.imul(ke,Fe),w=w+Math.imul(Ae,at)|0,x=x+Math.imul(Ae,it)|0,x=x+Math.imul(we,at)|0,S=S+Math.imul(we,it)|0;var ub=(m+w|0)+((x&8191)<<13)|0;m=(S+(x>>>13)|0)+(ub>>>26)|0,ub&=67108863,w=Math.imul(Ne,at),x=Math.imul(Ne,it),x=x+Math.imul(ke,at)|0,S=Math.imul(ke,it);var fb=(m+w|0)+((x&8191)<<13)|0;return m=(S+(x>>>13)|0)+(fb>>>26)|0,fb&=67108863,f[0]=$t,f[1]=Pt,f[2]=tt,f[3]=yt,f[4]=st,f[5]=Bt,f[6]=ur,f[7]=br,f[8]=Dr,f[9]=Ir,f[10]=Or,f[11]=Rr,f[12]=Nr,f[13]=$r,f[14]=Dn,f[15]=In,f[16]=Xo,f[17]=ub,f[18]=fb,m!==0&&(f[19]=m,v.length++),v};Math.imul||(D=B);function N(h,c,p){p.negative=c.negative^h.negative,p.length=h.length+c.length;for(var v=0,E=0,g=0;g>>26)|0,E+=f>>>26,f&=67108863}p.words[g]=m,v=f,f=E}return v!==0?p.words[g]=v:p.length--,p._strip()}function $(h,c,p){return N(h,c,p)}i.prototype.mulTo=function(c,p){var v,E=this.length+c.length;return this.length===10&&c.length===10?v=D(this,c,p):E<63?v=B(this,c,p):E<1024?v=N(this,c,p):v=$(this,c,p),v},i.prototype.mul=function(c){var p=new i(null);return p.words=new Array(this.length+c.length),this.mulTo(c,p)},i.prototype.mulf=function(c){var p=new i(null);return p.words=new Array(this.length+c.length),$(this,c,p)},i.prototype.imul=function(c){return this.clone().mulTo(c,this)},i.prototype.imuln=function(c){var p=c<0;p&&(c=-c),n(typeof c=="number"),n(c<67108864);for(var v=0,E=0;E>=26,v+=g/67108864|0,v+=f>>>26,this.words[E]=f&67108863}return v!==0&&(this.words[E]=v,this.length++),p?this.ineg():this},i.prototype.muln=function(c){return this.clone().imuln(c)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(c){var p=P(c);if(p.length===0)return new i(1);for(var v=this,E=0;E=0);var p=c%26,v=(c-p)/26,E=67108863>>>26-p<<26-p,g;if(p!==0){var f=0;for(g=0;g>>26-p}f&&(this.words[g]=f,this.length++)}if(v!==0){for(g=this.length-1;g>=0;g--)this.words[g+v]=this.words[g];for(g=0;g=0);var E;p?E=(p-p%26)/26:E=0;var g=c%26,f=Math.min((c-g)/26,this.length),m=67108863^67108863>>>g<f)for(this.length-=f,x=0;x=0&&(S!==0||x>=E);x--){var R=this.words[x]|0;this.words[x]=S<<26-g|R>>>g,S=R&m}return w&&S!==0&&(w.words[w.length++]=S),this.length===0&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(c,p,v){return n(this.negative===0),this.iushrn(c,p,v)},i.prototype.shln=function(c){return this.clone().ishln(c)},i.prototype.ushln=function(c){return this.clone().iushln(c)},i.prototype.shrn=function(c){return this.clone().ishrn(c)},i.prototype.ushrn=function(c){return this.clone().iushrn(c)},i.prototype.testn=function(c){n(typeof c=="number"&&c>=0);var p=c%26,v=(c-p)/26,E=1<=0);var p=c%26,v=(c-p)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=v)return this;if(p!==0&&v++,this.length=Math.min(v,this.length),p!==0){var E=67108863^67108863>>>p<=67108864;p++)this.words[p]-=67108864,p===this.length-1?this.words[p+1]=1:this.words[p+1]++;return this.length=Math.max(this.length,p+1),this},i.prototype.isubn=function(c){if(n(typeof c=="number"),n(c<67108864),c<0)return this.iaddn(-c);if(this.negative!==0)return this.negative=0,this.iaddn(c),this.negative=1,this;if(this.words[0]-=c,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var p=0;p>26)-(w/67108864|0),this.words[g+v]=f&67108863}for(;g>26,this.words[g+v]=f&67108863;if(m===0)return this._strip();for(n(m===-1),m=0,g=0;g>26,this.words[g]=f&67108863;return this.negative=1,this._strip()},i.prototype._wordDiv=function(c,p){var v=this.length-c.length,E=this.clone(),g=c,f=g.words[g.length-1]|0,m=this._countBits(f);v=26-m,v!==0&&(g=g.ushln(v),E.iushln(v),f=g.words[g.length-1]|0);var w=E.length-g.length,x;if(p!=="mod"){x=new i(null),x.length=w+1,x.words=new Array(x.length);for(var S=0;S=0;L--){var F=(E.words[g.length+L]|0)*67108864+(E.words[g.length+L-1]|0);for(F=Math.min(F/f|0,67108863),E._ishlnsubmul(g,F,L);E.negative!==0;)F--,E.negative=0,E._ishlnsubmul(g,1,L),E.isZero()||(E.negative^=1);x&&(x.words[L]=F)}return x&&x._strip(),E._strip(),p!=="div"&&v!==0&&E.iushrn(v),{div:x||null,mod:E}},i.prototype.divmod=function(c,p,v){if(n(!c.isZero()),this.isZero())return{div:new i(0),mod:new i(0)};var E,g,f;return this.negative!==0&&c.negative===0?(f=this.neg().divmod(c,p),p!=="mod"&&(E=f.div.neg()),p!=="div"&&(g=f.mod.neg(),v&&g.negative!==0&&g.iadd(c)),{div:E,mod:g}):this.negative===0&&c.negative!==0?(f=this.divmod(c.neg(),p),p!=="mod"&&(E=f.div.neg()),{div:E,mod:f.mod}):this.negative&c.negative?(f=this.neg().divmod(c.neg(),p),p!=="div"&&(g=f.mod.neg(),v&&g.negative!==0&&g.isub(c)),{div:f.div,mod:g}):c.length>this.length||this.cmp(c)<0?{div:new i(0),mod:this}:c.length===1?p==="div"?{div:this.divn(c.words[0]),mod:null}:p==="mod"?{div:null,mod:new i(this.modrn(c.words[0]))}:{div:this.divn(c.words[0]),mod:new i(this.modrn(c.words[0]))}:this._wordDiv(c,p)},i.prototype.div=function(c){return this.divmod(c,"div",!1).div},i.prototype.mod=function(c){return this.divmod(c,"mod",!1).mod},i.prototype.umod=function(c){return this.divmod(c,"mod",!0).mod},i.prototype.divRound=function(c){var p=this.divmod(c);if(p.mod.isZero())return p.div;var v=p.div.negative!==0?p.mod.isub(c):p.mod,E=c.ushrn(1),g=c.andln(1),f=v.cmp(E);return f<0||g===1&&f===0?p.div:p.div.negative!==0?p.div.isubn(1):p.div.iaddn(1)},i.prototype.modrn=function(c){var p=c<0;p&&(c=-c),n(c<=67108863);for(var v=(1<<26)%c,E=0,g=this.length-1;g>=0;g--)E=(v*E+(this.words[g]|0))%c;return p?-E:E},i.prototype.modn=function(c){return this.modrn(c)},i.prototype.idivn=function(c){var p=c<0;p&&(c=-c),n(c<=67108863);for(var v=0,E=this.length-1;E>=0;E--){var g=(this.words[E]|0)+v*67108864;this.words[E]=g/c|0,v=g%c}return this._strip(),p?this.ineg():this},i.prototype.divn=function(c){return this.clone().idivn(c)},i.prototype.egcd=function(c){n(c.negative===0),n(!c.isZero());var p=this,v=c.clone();p.negative!==0?p=p.umod(c):p=p.clone();for(var E=new i(1),g=new i(0),f=new i(0),m=new i(1),w=0;p.isEven()&&v.isEven();)p.iushrn(1),v.iushrn(1),++w;for(var x=v.clone(),S=p.clone();!p.isZero();){for(var R=0,L=1;!(p.words[0]&L)&&R<26;++R,L<<=1);if(R>0)for(p.iushrn(R);R-- >0;)(E.isOdd()||g.isOdd())&&(E.iadd(x),g.isub(S)),E.iushrn(1),g.iushrn(1);for(var F=0,G=1;!(v.words[0]&G)&&F<26;++F,G<<=1);if(F>0)for(v.iushrn(F);F-- >0;)(f.isOdd()||m.isOdd())&&(f.iadd(x),m.isub(S)),f.iushrn(1),m.iushrn(1);p.cmp(v)>=0?(p.isub(v),E.isub(f),g.isub(m)):(v.isub(p),f.isub(E),m.isub(g))}return{a:f,b:m,gcd:v.iushln(w)}},i.prototype._invmp=function(c){n(c.negative===0),n(!c.isZero());var p=this,v=c.clone();p.negative!==0?p=p.umod(c):p=p.clone();for(var E=new i(1),g=new i(0),f=v.clone();p.cmpn(1)>0&&v.cmpn(1)>0;){for(var m=0,w=1;!(p.words[0]&w)&&m<26;++m,w<<=1);if(m>0)for(p.iushrn(m);m-- >0;)E.isOdd()&&E.iadd(f),E.iushrn(1);for(var x=0,S=1;!(v.words[0]&S)&&x<26;++x,S<<=1);if(x>0)for(v.iushrn(x);x-- >0;)g.isOdd()&&g.iadd(f),g.iushrn(1);p.cmp(v)>=0?(p.isub(v),E.isub(g)):(v.isub(p),g.isub(E))}var R;return p.cmpn(1)===0?R=E:R=g,R.cmpn(0)<0&&R.iadd(c),R},i.prototype.gcd=function(c){if(this.isZero())return c.abs();if(c.isZero())return this.abs();var p=this.clone(),v=c.clone();p.negative=0,v.negative=0;for(var E=0;p.isEven()&&v.isEven();E++)p.iushrn(1),v.iushrn(1);do{for(;p.isEven();)p.iushrn(1);for(;v.isEven();)v.iushrn(1);var g=p.cmp(v);if(g<0){var f=p;p=v,v=f}else if(g===0||v.cmpn(1)===0)break;p.isub(v)}while(!0);return v.iushln(E)},i.prototype.invm=function(c){return this.egcd(c).a.umod(c)},i.prototype.isEven=function(){return(this.words[0]&1)===0},i.prototype.isOdd=function(){return(this.words[0]&1)===1},i.prototype.andln=function(c){return this.words[0]&c},i.prototype.bincn=function(c){n(typeof c=="number");var p=c%26,v=(c-p)/26,E=1<>>26,m&=67108863,this.words[f]=m}return g!==0&&(this.words[f]=g,this.length++),this},i.prototype.isZero=function(){return this.length===1&&this.words[0]===0},i.prototype.cmpn=function(c){var p=c<0;if(this.negative!==0&&!p)return-1;if(this.negative===0&&p)return 1;this._strip();var v;if(this.length>1)v=1;else{p&&(c=-c),n(c<=67108863,"Number is too big");var E=this.words[0]|0;v=E===c?0:Ec.length)return 1;if(this.length=0;v--){var E=this.words[v]|0,g=c.words[v]|0;if(E!==g){Eg&&(p=1);break}}return p},i.prototype.gtn=function(c){return this.cmpn(c)===1},i.prototype.gt=function(c){return this.cmp(c)===1},i.prototype.gten=function(c){return this.cmpn(c)>=0},i.prototype.gte=function(c){return this.cmp(c)>=0},i.prototype.ltn=function(c){return this.cmpn(c)===-1},i.prototype.lt=function(c){return this.cmp(c)===-1},i.prototype.lten=function(c){return this.cmpn(c)<=0},i.prototype.lte=function(c){return this.cmp(c)<=0},i.prototype.eqn=function(c){return this.cmpn(c)===0},i.prototype.eq=function(c){return this.cmp(c)===0},i.red=function(c){return new l(c)},i.prototype.toRed=function(c){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),c.convertTo(this)._forceRed(c)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(c){return this.red=c,this},i.prototype.forceRed=function(c){return n(!this.red,"Already a number in reduction context"),this._forceRed(c)},i.prototype.redAdd=function(c){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,c)},i.prototype.redIAdd=function(c){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,c)},i.prototype.redSub=function(c){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,c)},i.prototype.redISub=function(c){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,c)},i.prototype.redShl=function(c){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,c)},i.prototype.redMul=function(c){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,c),this.red.mul(this,c)},i.prototype.redIMul=function(c){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,c),this.red.imul(this,c)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(c){return n(this.red&&!c.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,c)};var j={k256:null,p224:null,p192:null,p25519:null};function Z(h,c){this.name=h,this.p=new i(c,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}Z.prototype._tmp=function(){var c=new i(null);return c.words=new Array(Math.ceil(this.n/13)),c},Z.prototype.ireduce=function(c){var p=c,v;do this.split(p,this.tmp),p=this.imulK(p),p=p.iadd(this.tmp),v=p.bitLength();while(v>this.n);var E=v0?p.isub(this.p):p.strip!==void 0?p.strip():p._strip(),p},Z.prototype.split=function(c,p){c.iushrn(this.n,0,p)},Z.prototype.imulK=function(c){return c.imul(this.k)};function X(){Z.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}a(X,Z),X.prototype.split=function(c,p){for(var v=4194303,E=Math.min(c.length,9),g=0;g>>22,f=m}f>>>=22,c.words[g-10]=f,f===0&&c.length>10?c.length-=10:c.length-=9},X.prototype.imulK=function(c){c.words[c.length]=0,c.words[c.length+1]=0,c.length+=2;for(var p=0,v=0;v>>=26,c.words[v]=g,p=E}return p!==0&&(c.words[c.length++]=p),c},i._prime=function(c){if(j[c])return j[c];var p;if(c==="k256")p=new X;else if(c==="p224")p=new Y;else if(c==="p192")p=new re;else if(c==="p25519")p=new M;else throw new Error("Unknown prime "+c);return j[c]=p,p};function l(h){if(typeof h=="string"){var c=i._prime(h);this.m=c.p,this.prime=c}else n(h.gtn(1),"modulus must be greater than 1"),this.m=h,this.prime=null}l.prototype._verify1=function(c){n(c.negative===0,"red works only with positives"),n(c.red,"red works only with red numbers")},l.prototype._verify2=function(c,p){n((c.negative|p.negative)===0,"red works only with positives"),n(c.red&&c.red===p.red,"red works only with red numbers")},l.prototype.imod=function(c){return this.prime?this.prime.ireduce(c)._forceRed(this):(b(c,c.umod(this.m)._forceRed(this)),c)},l.prototype.neg=function(c){return c.isZero()?c.clone():this.m.sub(c)._forceRed(this)},l.prototype.add=function(c,p){this._verify2(c,p);var v=c.add(p);return v.cmp(this.m)>=0&&v.isub(this.m),v._forceRed(this)},l.prototype.iadd=function(c,p){this._verify2(c,p);var v=c.iadd(p);return v.cmp(this.m)>=0&&v.isub(this.m),v},l.prototype.sub=function(c,p){this._verify2(c,p);var v=c.sub(p);return v.cmpn(0)<0&&v.iadd(this.m),v._forceRed(this)},l.prototype.isub=function(c,p){this._verify2(c,p);var v=c.isub(p);return v.cmpn(0)<0&&v.iadd(this.m),v},l.prototype.shl=function(c,p){return this._verify1(c),this.imod(c.ushln(p))},l.prototype.imul=function(c,p){return this._verify2(c,p),this.imod(c.imul(p))},l.prototype.mul=function(c,p){return this._verify2(c,p),this.imod(c.mul(p))},l.prototype.isqr=function(c){return this.imul(c,c.clone())},l.prototype.sqr=function(c){return this.mul(c,c)},l.prototype.sqrt=function(c){if(c.isZero())return c.clone();var p=this.m.andln(3);if(n(p%2===1),p===3){var v=this.m.add(new i(1)).iushrn(2);return this.pow(c,v)}for(var E=this.m.subn(1),g=0;!E.isZero()&&E.andln(1)===0;)g++,E.iushrn(1);n(!E.isZero());var f=new i(1).toRed(this),m=f.redNeg(),w=this.m.subn(1).iushrn(1),x=this.m.bitLength();for(x=new i(2*x*x).toRed(this);this.pow(x,w).cmp(m)!==0;)x.redIAdd(m);for(var S=this.pow(x,E),R=this.pow(c,E.addn(1).iushrn(1)),L=this.pow(c,E),F=g;L.cmp(f)!==0;){for(var G=L,z=0;G.cmp(f)!==0;z++)G=G.redSqr();n(z=0;g--){for(var S=p.words[g],R=x-1;R>=0;R--){var L=S>>R&1;if(f!==E[0]&&(f=this.sqr(f)),L===0&&m===0){w=0;continue}m<<=1,m|=L,w++,!(w!==v&&(g!==0||R!==0))&&(f=this.mul(f,E[m]),w=0,m=0)}x=26}return f},l.prototype.convertTo=function(c){var p=c.umod(this.m);return p===c?p.clone():p},l.prototype.convertFrom=function(c){var p=c.clone();return p.red=null,p},i.mont=function(c){return new d(c)};function d(h){l.call(this,h),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}a(d,l),d.prototype.convertTo=function(c){return this.imod(c.ushln(this.shift))},d.prototype.convertFrom=function(c){var p=this.imod(c.mul(this.rinv));return p.red=null,p},d.prototype.imul=function(c,p){if(c.isZero()||p.isZero())return c.words[0]=0,c.length=1,c;var v=c.imul(p),E=v.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=v.isub(E).iushrn(this.shift),f=g;return g.cmp(this.m)>=0?f=g.isub(this.m):g.cmpn(0)<0&&(f=g.iadd(this.m)),f._forceRed(this)},d.prototype.mul=function(c,p){if(c.isZero()||p.isZero())return new i(0)._forceRed(this);var v=c.mul(p),E=v.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),g=v.isub(E).iushrn(this.shift),f=g;return g.cmp(this.m)>=0?f=g.isub(this.m):g.cmpn(0)<0&&(f=g.iadd(this.m)),f._forceRed(this)},d.prototype.invm=function(c){var p=this.imod(c._invmp(this.m).mul(this.r2));return p._forceRed(this)}})(t,ye)})(u6);var Yu=u6.exports;const ut=va(Yu),tV="logger/5.7.0";let Qw=!1,e7=!1;const bp={debug:1,default:2,info:2,warning:3,error:4,off:5};let t7=bp.default,Qb=null;function rV(){try{const t=[];if(["NFD","NFC","NFKD","NFKC"].forEach(e=>{try{if("test".normalize(e)!=="test")throw new Error("bad normalize")}catch{t.push(e)}}),t.length)throw new Error("missing "+t.join(", "));if("é".normalize("NFD")!=="é")throw new Error("broken implementation")}catch(t){return t.message}return null}const r7=rV();var Rg;(function(t){t.DEBUG="DEBUG",t.INFO="INFO",t.WARNING="WARNING",t.ERROR="ERROR",t.OFF="OFF"})(Rg||(Rg={}));var oa;(function(t){t.UNKNOWN_ERROR="UNKNOWN_ERROR",t.NOT_IMPLEMENTED="NOT_IMPLEMENTED",t.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",t.NETWORK_ERROR="NETWORK_ERROR",t.SERVER_ERROR="SERVER_ERROR",t.TIMEOUT="TIMEOUT",t.BUFFER_OVERRUN="BUFFER_OVERRUN",t.NUMERIC_FAULT="NUMERIC_FAULT",t.MISSING_NEW="MISSING_NEW",t.INVALID_ARGUMENT="INVALID_ARGUMENT",t.MISSING_ARGUMENT="MISSING_ARGUMENT",t.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",t.CALL_EXCEPTION="CALL_EXCEPTION",t.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",t.NONCE_EXPIRED="NONCE_EXPIRED",t.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",t.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",t.TRANSACTION_REPLACED="TRANSACTION_REPLACED",t.ACTION_REJECTED="ACTION_REJECTED"})(oa||(oa={}));const n7="0123456789abcdef";class le{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,r){const n=e.toLowerCase();bp[n]==null&&this.throwArgumentError("invalid log level name","logLevel",e),!(t7>bp[n])&&console.log.apply(console,r)}debug(...e){this._log(le.levels.DEBUG,e)}info(...e){this._log(le.levels.INFO,e)}warn(...e){this._log(le.levels.WARNING,e)}makeError(e,r,n){if(e7)return this.makeError("censored error",r,{});r||(r=le.errors.UNKNOWN_ERROR),n||(n={});const a=[];Object.keys(n).forEach(u=>{const y=n[u];try{if(y instanceof Uint8Array){let b="";for(let _=0;_>4],b+=n7[y[_]&15];a.push(u+"=Uint8Array(0x"+b+")")}else a.push(u+"="+JSON.stringify(y))}catch{a.push(u+"="+JSON.stringify(n[u].toString()))}}),a.push(`code=${r}`),a.push(`version=${this.version}`);const i=e;let s="";switch(r){case oa.NUMERIC_FAULT:{s="NUMERIC_FAULT";const u=e;switch(u){case"overflow":case"underflow":case"division-by-zero":s+="-"+u;break;case"negative-power":case"negative-width":s+="-unsupported";break;case"unbound-bitwise-result":s+="-unbound-result";break}break}case oa.CALL_EXCEPTION:case oa.INSUFFICIENT_FUNDS:case oa.MISSING_NEW:case oa.NONCE_EXPIRED:case oa.REPLACEMENT_UNDERPRICED:case oa.TRANSACTION_REPLACED:case oa.UNPREDICTABLE_GAS_LIMIT:s=r;break}s&&(e+=" [ See: https://links.ethers.org/v5-errors-"+s+" ]"),a.length&&(e+=" ("+a.join(", ")+")");const o=new Error(e);return o.reason=i,o.code=r,Object.keys(n).forEach(function(u){o[u]=n[u]}),o}throwError(e,r,n){throw this.makeError(e,r,n)}throwArgumentError(e,r,n){return this.throwError(e,le.errors.INVALID_ARGUMENT,{argument:r,value:n})}assert(e,r,n,a){e||this.throwError(r,n,a)}assertArgument(e,r,n,a){e||this.throwArgumentError(r,n,a)}checkNormalize(e){r7&&this.throwError("platform missing String.prototype.normalize",le.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:r7})}checkSafeUint53(e,r){typeof e=="number"&&(r==null&&(r="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(r,le.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(r,le.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,r,n){n?n=": "+n:n="",er&&this.throwError("too many arguments"+n,le.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:r})}checkNew(e,r){(e===Object||e==null)&&this.throwError("missing new",le.errors.MISSING_NEW,{name:r.name})}checkAbstract(e,r){e===r?this.throwError("cannot instantiate abstract class "+JSON.stringify(r.name)+" directly; use a sub-class",le.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||e==null)&&this.throwError("missing new",le.errors.MISSING_NEW,{name:r.name})}static globalLogger(){return Qb||(Qb=new le(tV)),Qb}static setCensorship(e,r){if(!e&&r&&this.globalLogger().throwError("cannot permanently disable censorship",le.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),Qw){if(!e)return;this.globalLogger().throwError("error censorship permanent",le.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}e7=!!e,Qw=!!r}static setLogLevel(e){const r=bp[e.toLowerCase()];if(r==null){le.globalLogger().warn("invalid log level - "+e);return}t7=r}static from(e){return new le(e)}}le.errors=oa;le.levels=Rg;const nV="bytes/5.7.0",fr=new le(nV);function kT(t){return!!t.toHexString}function yu(t){return t.slice||(t.slice=function(){const e=Array.prototype.slice.call(arguments);return yu(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}function Xu(t){return ft(t)&&!(t.length%2)||js(t)}function a7(t){return typeof t=="number"&&t==t&&t%1===0}function js(t){if(t==null)return!1;if(t.constructor===Uint8Array)return!0;if(typeof t=="string"||!a7(t.length)||t.length<0)return!1;for(let e=0;e=256)return!1}return!0}function Re(t,e){if(e||(e={}),typeof t=="number"){fr.checkSafeUint53(t,"invalid arrayify value");const r=[];for(;t;)r.unshift(t&255),t=parseInt(String(t/256));return r.length===0&&r.push(0),yu(new Uint8Array(r))}if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),kT(t)&&(t=t.toHexString()),ft(t)){let r=t.substring(2);r.length%2&&(e.hexPad==="left"?r="0"+r:e.hexPad==="right"?r+="0":fr.throwArgumentError("hex data is odd-length","value",t));const n=[];for(let a=0;aRe(a)),r=e.reduce((a,i)=>a+i.length,0),n=new Uint8Array(r);return e.reduce((a,i)=>(n.set(i,a),a+i.length),0),yu(n)}function vi(t){let e=Re(t);if(e.length===0)return e;let r=0;for(;re&&fr.throwArgumentError("value out of range","value",arguments[0]);const r=new Uint8Array(e);return r.set(t,e-t.length),yu(r)}function ft(t,e){return!(typeof t!="string"||!t.match(/^0x[0-9A-Fa-f]*$/)||e&&t.length!==2+2*e)}const e2="0123456789abcdef";function ze(t,e){if(e||(e={}),typeof t=="number"){fr.checkSafeUint53(t,"invalid hexlify value");let r="";for(;t;)r=e2[t&15]+r,t=Math.floor(t/16);return r.length?(r.length%2&&(r="0"+r),"0x"+r):"0x00"}if(typeof t=="bigint")return t=t.toString(16),t.length%2?"0x0"+t:"0x"+t;if(e.allowMissingPrefix&&typeof t=="string"&&t.substring(0,2)!=="0x"&&(t="0x"+t),kT(t))return t.toHexString();if(ft(t))return t.length%2&&(e.hexPad==="left"?t="0x0"+t.substring(2):e.hexPad==="right"?t+="0":fr.throwArgumentError("hex data is odd-length","value",t)),t.toLowerCase();if(js(t)){let r="0x";for(let n=0;n>4]+e2[a&15]}return r}return fr.throwArgumentError("invalid hexlify value","value",t)}function Ei(t){if(typeof t!="string")t=ze(t);else if(!ft(t)||t.length%2)return null;return(t.length-2)/2}function yr(t,e,r){return typeof t!="string"?t=ze(t):(!ft(t)||t.length%2)&&fr.throwArgumentError("invalid hexData","value",t),e=2+2*e,r!=null?"0x"+t.substring(e,2+2*r):"0x"+t.substring(e)}function Tn(t){let e="0x";return t.forEach(r=>{e+=ze(r).substring(2)}),e}function Qu(t){const e=f6(ze(t,{hexPad:"left"}));return e==="0x"?"0x0":e}function f6(t){typeof t!="string"&&(t=ze(t)),ft(t)||fr.throwArgumentError("invalid hex string","value",t),t=t.substring(2);let e=0;for(;e2*e+2&&fr.throwArgumentError("value out of range","value",arguments[1]);t.length<2*e+2;)t="0x0"+t.substring(2);return t}function Go(t){const e={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(Xu(t)){let r=Re(t);r.length===64?(e.v=27+(r[32]>>7),r[32]&=127,e.r=ze(r.slice(0,32)),e.s=ze(r.slice(32,64))):r.length===65?(e.r=ze(r.slice(0,32)),e.s=ze(r.slice(32,64)),e.v=r[64]):fr.throwArgumentError("invalid signature string","signature",t),e.v<27&&(e.v===0||e.v===1?e.v+=27:fr.throwArgumentError("signature invalid v byte","signature",t)),e.recoveryParam=1-e.v%2,e.recoveryParam&&(r[32]|=128),e._vs=ze(r.slice(32,64))}else{if(e.r=t.r,e.s=t.s,e.v=t.v,e.recoveryParam=t.recoveryParam,e._vs=t._vs,e._vs!=null){const a=mu(Re(e._vs),32);e._vs=ze(a);const i=a[0]>=128?1:0;e.recoveryParam==null?e.recoveryParam=i:e.recoveryParam!==i&&fr.throwArgumentError("signature recoveryParam mismatch _vs","signature",t),a[0]&=127;const s=ze(a);e.s==null?e.s=s:e.s!==s&&fr.throwArgumentError("signature v mismatch _vs","signature",t)}if(e.recoveryParam==null)e.v==null?fr.throwArgumentError("signature missing v and recoveryParam","signature",t):e.v===0||e.v===1?e.recoveryParam=e.v:e.recoveryParam=1-e.v%2;else if(e.v==null)e.v=27+e.recoveryParam;else{const a=e.v===0||e.v===1?e.v:1-e.v%2;e.recoveryParam!==a&&fr.throwArgumentError("signature recoveryParam mismatch v","signature",t)}e.r==null||!ft(e.r)?fr.throwArgumentError("signature missing or invalid r","signature",t):e.r=Gt(e.r,32),e.s==null||!ft(e.s)?fr.throwArgumentError("signature missing or invalid s","signature",t):e.s=Gt(e.s,32);const r=Re(e.s);r[0]>=128&&fr.throwArgumentError("signature s out of range","signature",t),e.recoveryParam&&(r[0]|=128);const n=ze(r);e._vs&&(ft(e._vs)||fr.throwArgumentError("signature invalid _vs","signature",t),e._vs=Gt(e._vs,32)),e._vs==null?e._vs=n:e._vs!==n&&fr.throwArgumentError("signature _vs mismatch v and s","signature",t)}return e.yParityAndS=e._vs,e.compact=e.r+e.yParityAndS.substring(2),e}function v1(t){return t=Go(t),ze(Ht([t.r,t.s,t.recoveryParam?"0x1c":"0x1b"]))}const aV=Object.freeze(Object.defineProperty({__proto__:null,arrayify:Re,concat:Ht,hexConcat:Tn,hexDataLength:Ei,hexDataSlice:yr,hexStripZeros:f6,hexValue:Qu,hexZeroPad:Gt,hexlify:ze,isBytes:js,isBytesLike:Xu,isHexString:ft,joinSignature:v1,splitSignature:Go,stripZeros:vi,zeroPad:mu},Symbol.toStringTag,{value:"Module"})),FT="bignumber/5.7.0";var d0=ut.BN;const bs=new le(FT),t2={},i7=9007199254740991;function iV(t){return t!=null&&(Oe.isBigNumber(t)||typeof t=="number"&&t%1===0||typeof t=="string"&&!!t.match(/^-?[0-9]+$/)||ft(t)||typeof t=="bigint"||js(t))}let s7=!1;class Oe{constructor(e,r){e!==t2&&bs.throwError("cannot call constructor directly; use BigNumber.from",le.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=r,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return qn(mt(this).fromTwos(e))}toTwos(e){return qn(mt(this).toTwos(e))}abs(){return this._hex[0]==="-"?Oe.from(this._hex.substring(1)):this}add(e){return qn(mt(this).add(mt(e)))}sub(e){return qn(mt(this).sub(mt(e)))}div(e){return Oe.from(e).isZero()&&Ma("division-by-zero","div"),qn(mt(this).div(mt(e)))}mul(e){return qn(mt(this).mul(mt(e)))}mod(e){const r=mt(e);return r.isNeg()&&Ma("division-by-zero","mod"),qn(mt(this).umod(r))}pow(e){const r=mt(e);return r.isNeg()&&Ma("negative-power","pow"),qn(mt(this).pow(r))}and(e){const r=mt(e);return(this.isNegative()||r.isNeg())&&Ma("unbound-bitwise-result","and"),qn(mt(this).and(r))}or(e){const r=mt(e);return(this.isNegative()||r.isNeg())&&Ma("unbound-bitwise-result","or"),qn(mt(this).or(r))}xor(e){const r=mt(e);return(this.isNegative()||r.isNeg())&&Ma("unbound-bitwise-result","xor"),qn(mt(this).xor(r))}mask(e){return(this.isNegative()||e<0)&&Ma("negative-width","mask"),qn(mt(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&Ma("negative-width","shl"),qn(mt(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&Ma("negative-width","shr"),qn(mt(this).shrn(e))}eq(e){return mt(this).eq(mt(e))}lt(e){return mt(this).lt(mt(e))}lte(e){return mt(this).lte(mt(e))}gt(e){return mt(this).gt(mt(e))}gte(e){return mt(this).gte(mt(e))}isNegative(){return this._hex[0]==="-"}isZero(){return mt(this).isZero()}toNumber(){try{return mt(this).toNumber()}catch{Ma("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch{}return bs.throwError("this platform does not support BigInt",le.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(arguments[0]===10?s7||(s7=!0,bs.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):arguments[0]===16?bs.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",le.errors.UNEXPECTED_ARGUMENT,{}):bs.throwError("BigNumber.toString does not accept parameters",le.errors.UNEXPECTED_ARGUMENT,{})),mt(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof Oe)return e;if(typeof e=="string")return e.match(/^-?0x[0-9a-f]+$/i)?new Oe(t2,h0(e)):e.match(/^-?[0-9]+$/)?new Oe(t2,h0(new d0(e))):bs.throwArgumentError("invalid BigNumber string","value",e);if(typeof e=="number")return e%1&&Ma("underflow","BigNumber.from",e),(e>=i7||e<=-i7)&&Ma("overflow","BigNumber.from",e),Oe.from(String(e));const r=e;if(typeof r=="bigint")return Oe.from(r.toString());if(js(r))return Oe.from(ze(r));if(r)if(r.toHexString){const n=r.toHexString();if(typeof n=="string")return Oe.from(n)}else{let n=r._hex;if(n==null&&r.type==="BigNumber"&&(n=r.hex),typeof n=="string"&&(ft(n)||n[0]==="-"&&ft(n.substring(1))))return Oe.from(n)}return bs.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}}function h0(t){if(typeof t!="string")return h0(t.toString(16));if(t[0]==="-")return t=t.substring(1),t[0]==="-"&&bs.throwArgumentError("invalid hex","value",t),t=h0(t),t==="0x00"?t:"-"+t;if(t.substring(0,2)!=="0x"&&(t="0x"+t),t==="0x")return"0x00";for(t.length%2&&(t="0x0"+t.substring(2));t.length>4&&t.substring(0,4)==="0x00";)t="0x"+t.substring(4);return t}function qn(t){return Oe.from(h0(t))}function mt(t){const e=Oe.from(t).toHexString();return e[0]==="-"?new d0("-"+e.substring(3),16):new d0(e.substring(2),16)}function Ma(t,e,r){const n={fault:t,operation:e};return r!=null&&(n.value=r),bs.throwError(t,le.errors.NUMERIC_FAULT,n)}function PT(t){return new d0(t,36).toString(16)}function DT(t){return new d0(t,16).toString(36)}const Ln=new le(FT),Od={},IT=Oe.from(0),OT=Oe.from(-1);function RT(t,e,r,n){const a={fault:e,operation:r};return n!==void 0&&(a.value=n),Ln.throwError(t,le.errors.NUMERIC_FAULT,a)}let Rd="0";for(;Rd.length<256;)Rd+=Rd;function d6(t){if(typeof t!="number")try{t=Oe.from(t).toNumber()}catch{}return typeof t=="number"&&t>=0&&t<=256&&!(t%1)?"1"+Rd.substring(0,t):Ln.throwArgumentError("invalid decimal size","decimals",t)}function Nd(t,e){e==null&&(e=0);const r=d6(e);t=Oe.from(t);const n=t.lt(IT);n&&(t=t.mul(OT));let a=t.mod(r).toString();for(;a.length2&&Ln.throwArgumentError("too many decimal points","value",t);let i=a[0],s=a[1];for(i||(i="0"),s||(s="0");s[s.length-1]==="0";)s=s.substring(0,s.length-1);for(s.length>r.length-1&&RT("fractional component exceeds decimals","underflow","parseFixed"),s===""&&(s="0");s.lengthe[s]==null?u:(typeof e[s]!==o&&Ln.throwArgumentError("invalid fixed format ("+s+" not "+o+")","format."+s,e[s]),e[s]);r=i("signed","boolean",r),n=i("width","number",n),a=i("decimals","number",a)}return n%8&&Ln.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",n),a>80&&Ln.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",a),new Al(Od,r,n,a)}}class Br{constructor(e,r,n,a){e!==Od&&Ln.throwError("cannot use FixedNumber constructor; use FixedNumber.from",le.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=a,this._hex=r,this._value=n,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&Ln.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);const r=si(this._value,this.format.decimals),n=si(e._value,e.format.decimals);return Br.fromValue(r.add(n),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);const r=si(this._value,this.format.decimals),n=si(e._value,e.format.decimals);return Br.fromValue(r.sub(n),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);const r=si(this._value,this.format.decimals),n=si(e._value,e.format.decimals);return Br.fromValue(r.mul(n).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);const r=si(this._value,this.format.decimals),n=si(e._value,e.format.decimals);return Br.fromValue(r.mul(this.format._multiplier).div(n),this.format.decimals,this.format)}floor(){const e=this.toString().split(".");e.length===1&&e.push("0");let r=Br.from(e[0],this.format);const n=!e[1].match(/^(0*)$/);return this.isNegative()&&n&&(r=r.subUnsafe(o7.toFormat(r.format))),r}ceiling(){const e=this.toString().split(".");e.length===1&&e.push("0");let r=Br.from(e[0],this.format);const n=!e[1].match(/^(0*)$/);return!this.isNegative()&&n&&(r=r.addUnsafe(o7.toFormat(r.format))),r}round(e){e==null&&(e=0);const r=this.toString().split(".");if(r.length===1&&r.push("0"),(e<0||e>80||e%1)&&Ln.throwArgumentError("invalid decimal count","decimals",e),r[1].length<=e)return this;const n=Br.from("1"+Rd.substring(0,e),this.format),a=sV.toFormat(this.format);return this.mulUnsafe(n).addUnsafe(a).floor().divUnsafe(n)}isZero(){return this._value==="0.0"||this._value==="0"}isNegative(){return this._value[0]==="-"}toString(){return this._value}toHexString(e){if(e==null)return this._hex;e%8&&Ln.throwArgumentError("invalid byte width","width",e);const r=Oe.from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return Gt(r,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return Br.fromString(this._value,e)}static fromValue(e,r,n){return n==null&&r!=null&&!iV(r)&&(n=r,r=null),r==null&&(r=0),n==null&&(n="fixed"),Br.fromString(Nd(e,r),Al.from(n))}static fromString(e,r){r==null&&(r="fixed");const n=Al.from(r),a=si(e,n.decimals);!n.signed&&a.lt(IT)&&RT("unsigned value cannot be negative","overflow","value",e);let i=null;n.signed?i=a.toTwos(n.width).toHexString():(i=a.toHexString(),i=Gt(i,n.width/8));const s=Nd(a,n.decimals);return new Br(Od,i,s,n)}static fromBytes(e,r){r==null&&(r="fixed");const n=Al.from(r);if(Re(e).length>n.width/8)throw new Error("overflow");let a=Oe.from(e);n.signed&&(a=a.fromTwos(n.width));const i=a.toTwos((n.signed?0:1)+n.width).toHexString(),s=Nd(a,n.decimals);return new Br(Od,i,s,n)}static from(e,r){if(typeof e=="string")return Br.fromString(e,r);if(js(e))return Br.fromBytes(e,r);try{return Br.fromValue(e,0,r)}catch(n){if(n.code!==le.errors.INVALID_ARGUMENT)throw n}return Ln.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!!(e&&e._isFixedNumber)}}const o7=Br.from(1),sV=Br.from("0.5"),oV=Object.freeze(Object.defineProperty({__proto__:null,BigNumber:Oe,FixedFormat:Al,FixedNumber:Br,_base16To36:DT,_base36To16:PT,formatFixed:Nd,parseFixed:si},Symbol.toStringTag,{value:"Module"})),lV="properties/5.7.0";var cV=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const g1=new le(lV);function Ee(t,e,r){Object.defineProperty(t,e,{enumerable:!0,value:r,writable:!1})}function on(t,e){for(let r=0;r<32;r++){if(t[e])return t[e];if(!t.prototype||typeof t.prototype!="object")break;t=Object.getPrototypeOf(t.prototype).constructor}return null}function dr(t){return cV(this,void 0,void 0,function*(){const e=Object.keys(t).map(n=>{const a=t[n];return Promise.resolve(a).then(i=>({key:n,value:i}))});return(yield Promise.all(e)).reduce((n,a)=>(n[a.key]=a.value,n),{})})}function h6(t,e){(!t||typeof t!="object")&&g1.throwArgumentError("invalid object","object",t),Object.keys(t).forEach(r=>{e[r]||g1.throwArgumentError("invalid object key - "+r,"transaction:"+r,t)})}function Jt(t){const e={};for(const r in t)e[r]=t[r];return e}const uV={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function NT(t){if(t==null||uV[typeof t])return!0;if(Array.isArray(t)||typeof t=="object"){if(!Object.isFrozen(t))return!1;const e=Object.keys(t);for(let r=0;rUn(e)));if(typeof t=="object"){const e={};for(const r in t){const n=t[r];n!==void 0&&Ee(e,r,Un(n))}return e}return g1.throwArgumentError(`Cannot deepCopy ${typeof t}`,"object",t)}function Un(t){return fV(t)}class Ql{constructor(e){for(const r in e)this[r]=Un(e[r])}}const z0="abi/5.7.0",_t=new le(z0),Ll={};let l7={calldata:!0,memory:!0,storage:!0},dV={calldata:!0,memory:!0};function Ih(t,e){if(t==="bytes"||t==="string"){if(l7[e])return!0}else if(t==="address"){if(e==="payable")return!0}else if((t.indexOf("[")>=0||t==="tuple")&&dV[e])return!0;return(l7[e]||e==="payable")&&_t.throwArgumentError("invalid modifier","name",e),!1}function hV(t,e){let r=t;function n(o){_t.throwArgumentError(`unexpected character at position ${o}`,"param",t)}t=t.replace(/\s/g," ");function a(o){let u={type:"",name:"",parent:o,state:{allowType:!0}};return e&&(u.indexed=!1),u}let i={type:"",name:"",state:{allowType:!0}},s=i;for(let o=0;oJSON.parse(a.format(e)))),JSON.stringify(n)}let r="";return this.baseType==="array"?(r+=this.arrayChildren.format(e),r+="["+(this.arrayLength<0?"":String(this.arrayLength))+"]"):this.baseType==="tuple"?(e!==St.sighash&&(r+=this.type),r+="("+this.components.map(n=>n.format(e)).join(e===St.full?", ":",")+")"):r+=this.type,e!==St.sighash&&(this.indexed===!0&&(r+=" indexed"),e===St.full&&this.name&&(r+=" "+this.name)),r}static from(e,r){return typeof e=="string"?Fr.fromString(e,r):Fr.fromObject(e)}static fromObject(e){return Fr.isParamType(e)?e:new Fr(Ll,{name:e.name||null,type:Ic(e.type),indexed:e.indexed==null?null:!!e.indexed,components:e.components?e.components.map(Fr.fromObject):null})}static fromString(e,r){function n(a){return Fr.fromObject({name:a.name,type:a.type,indexed:a.indexed,components:a.components})}return n(hV(e,!!r))}static isParamType(e){return!!(e!=null&&e._isParamType)}}function p0(t,e){return mV(t).map(r=>Fr.fromString(r,e))}class pi{constructor(e,r){e!==Ll&&_t.throwError("use a static from method",le.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),vp(this,r),this._isFragment=!0,Object.freeze(this)}static from(e){return pi.isFragment(e)?e:typeof e=="string"?pi.fromString(e):pi.fromObject(e)}static fromObject(e){if(pi.isFragment(e))return e;switch(e.type){case"function":return Na.fromObject(e);case"event":return hi.fromObject(e);case"constructor":return Ra.fromObject(e);case"error":return Gi.fromObject(e);case"fallback":case"receive":return null}return _t.throwArgumentError("invalid fragment object","value",e)}static fromString(e){return e=e.replace(/\s/g," "),e=e.replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," "),e=e.trim(),e.split(" ")[0]==="event"?hi.fromString(e.substring(5).trim()):e.split(" ")[0]==="function"?Na.fromString(e.substring(8).trim()):e.split("(")[0].trim()==="constructor"?Ra.fromString(e.trim()):e.split(" ")[0]==="error"?Gi.fromString(e.substring(5).trim()):_t.throwArgumentError("unsupported fragment","value",e)}static isFragment(e){return!!(e&&e._isFragment)}}class hi extends pi{format(e){if(e||(e=St.sighash),St[e]||_t.throwArgumentError("invalid format type","format",e),e===St.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==St.sighash&&(r+="event "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===St.full?", ":",")+") ",e!==St.sighash&&this.anonymous&&(r+="anonymous "),r.trim()}static from(e){return typeof e=="string"?hi.fromString(e):hi.fromObject(e)}static fromObject(e){if(hi.isEventFragment(e))return e;e.type!=="event"&&_t.throwArgumentError("invalid event object","value",e);const r={name:y0(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(Fr.fromObject):[],type:"event"};return new hi(Ll,r)}static fromString(e){let r=e.match(m0);r||_t.throwArgumentError("invalid event string","value",e);let n=!1;return r[3].split(" ").forEach(a=>{switch(a.trim()){case"anonymous":n=!0;break;case"":break;default:_t.warn("unknown modifier: "+a)}}),hi.fromObject({name:r[1].trim(),anonymous:n,inputs:p0(r[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&e.type==="event"}}function $T(t,e){e.gas=null;let r=t.split("@");return r.length!==1?(r.length>2&&_t.throwArgumentError("invalid human-readable ABI signature","value",t),r[1].match(/^[0-9]+$/)||_t.throwArgumentError("invalid human-readable ABI signature gas","value",t),e.gas=Oe.from(r[1]),r[0]):t}function LT(t,e){e.constant=!1,e.payable=!1,e.stateMutability="nonpayable",t.split(" ").forEach(r=>{switch(r.trim()){case"constant":e.constant=!0;break;case"payable":e.payable=!0,e.stateMutability="payable";break;case"nonpayable":e.payable=!1,e.stateMutability="nonpayable";break;case"pure":e.constant=!0,e.stateMutability="pure";break;case"view":e.constant=!0,e.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+r)}})}function jT(t){let e={constant:!1,payable:!0,stateMutability:"payable"};return t.stateMutability!=null?(e.stateMutability=t.stateMutability,e.constant=e.stateMutability==="view"||e.stateMutability==="pure",t.constant!=null&&!!t.constant!==e.constant&&_t.throwArgumentError("cannot have constant function with mutability "+e.stateMutability,"value",t),e.payable=e.stateMutability==="payable",t.payable!=null&&!!t.payable!==e.payable&&_t.throwArgumentError("cannot have payable function with mutability "+e.stateMutability,"value",t)):t.payable!=null?(e.payable=!!t.payable,t.constant==null&&!e.payable&&t.type!=="constructor"&&_t.throwArgumentError("unable to determine stateMutability","value",t),e.constant=!!t.constant,e.constant?e.stateMutability="view":e.stateMutability=e.payable?"payable":"nonpayable",e.payable&&e.constant&&_t.throwArgumentError("cannot have constant payable function","value",t)):t.constant!=null?(e.constant=!!t.constant,e.payable=!e.constant,e.stateMutability=e.constant?"view":"payable"):t.type!=="constructor"&&_t.throwArgumentError("unable to determine stateMutability","value",t),e}class Ra extends pi{format(e){if(e||(e=St.sighash),St[e]||_t.throwArgumentError("invalid format type","format",e),e===St.json)return JSON.stringify({type:"constructor",stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});e===St.sighash&&_t.throwError("cannot format a constructor for sighash",le.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let r="constructor("+this.inputs.map(n=>n.format(e)).join(e===St.full?", ":",")+") ";return this.stateMutability&&this.stateMutability!=="nonpayable"&&(r+=this.stateMutability+" "),r.trim()}static from(e){return typeof e=="string"?Ra.fromString(e):Ra.fromObject(e)}static fromObject(e){if(Ra.isConstructorFragment(e))return e;e.type!=="constructor"&&_t.throwArgumentError("invalid constructor object","value",e);let r=jT(e);r.constant&&_t.throwArgumentError("constructor cannot be constant","value",e);const n={name:null,type:e.type,inputs:e.inputs?e.inputs.map(Fr.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?Oe.from(e.gas):null};return new Ra(Ll,n)}static fromString(e){let r={type:"constructor"};e=$T(e,r);let n=e.match(m0);return(!n||n[1].trim()!=="constructor")&&_t.throwArgumentError("invalid constructor string","value",e),r.inputs=p0(n[2].trim(),!1),LT(n[3].trim(),r),Ra.fromObject(r)}static isConstructorFragment(e){return e&&e._isFragment&&e.type==="constructor"}}class Na extends Ra{format(e){if(e||(e=St.sighash),St[e]||_t.throwArgumentError("invalid format type","format",e),e===St.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:this.stateMutability!=="nonpayable"?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(n=>JSON.parse(n.format(e))),outputs:this.outputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==St.sighash&&(r+="function "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===St.full?", ":",")+") ",e!==St.sighash&&(this.stateMutability?this.stateMutability!=="nonpayable"&&(r+=this.stateMutability+" "):this.constant&&(r+="view "),this.outputs&&this.outputs.length&&(r+="returns ("+this.outputs.map(n=>n.format(e)).join(", ")+") "),this.gas!=null&&(r+="@"+this.gas.toString()+" ")),r.trim()}static from(e){return typeof e=="string"?Na.fromString(e):Na.fromObject(e)}static fromObject(e){if(Na.isFunctionFragment(e))return e;e.type!=="function"&&_t.throwArgumentError("invalid function object","value",e);let r=jT(e);const n={type:e.type,name:y0(e.name),constant:r.constant,inputs:e.inputs?e.inputs.map(Fr.fromObject):[],outputs:e.outputs?e.outputs.map(Fr.fromObject):[],payable:r.payable,stateMutability:r.stateMutability,gas:e.gas?Oe.from(e.gas):null};return new Na(Ll,n)}static fromString(e){let r={type:"function"};e=$T(e,r);let n=e.split(" returns ");n.length>2&&_t.throwArgumentError("invalid function string","value",e);let a=n[0].match(m0);if(a||_t.throwArgumentError("invalid function signature","value",e),r.name=a[1].trim(),r.name&&y0(r.name),r.inputs=p0(a[2],!1),LT(a[3].trim(),r),n.length>1){let i=n[1].match(m0);(i[1].trim()!=""||i[3].trim()!="")&&_t.throwArgumentError("unexpected tokens","value",e),r.outputs=p0(i[2],!1)}else r.outputs=[];return Na.fromObject(r)}static isFunctionFragment(e){return e&&e._isFragment&&e.type==="function"}}function c7(t){const e=t.format();return(e==="Error(string)"||e==="Panic(uint256)")&&_t.throwArgumentError(`cannot specify user defined ${e} error`,"fragment",t),t}class Gi extends pi{format(e){if(e||(e=St.sighash),St[e]||_t.throwArgumentError("invalid format type","format",e),e===St.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(n=>JSON.parse(n.format(e)))});let r="";return e!==St.sighash&&(r+="error "),r+=this.name+"("+this.inputs.map(n=>n.format(e)).join(e===St.full?", ":",")+") ",r.trim()}static from(e){return typeof e=="string"?Gi.fromString(e):Gi.fromObject(e)}static fromObject(e){if(Gi.isErrorFragment(e))return e;e.type!=="error"&&_t.throwArgumentError("invalid error object","value",e);const r={type:e.type,name:y0(e.name),inputs:e.inputs?e.inputs.map(Fr.fromObject):[]};return c7(new Gi(Ll,r))}static fromString(e){let r={type:"error"},n=e.match(m0);return n||_t.throwArgumentError("invalid error signature","value",e),r.name=n[1].trim(),r.name&&y0(r.name),r.inputs=p0(n[2],!1),c7(Gi.fromObject(r))}static isErrorFragment(e){return e&&e._isFragment&&e.type==="error"}}function Ic(t){return t.match(/^uint($|[^1-9])/)?t="uint256"+t.substring(4):t.match(/^int($|[^1-9])/)&&(t="int256"+t.substring(3)),t}const yV=new RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function y0(t){return(!t||!t.match(yV))&&_t.throwArgumentError(`invalid identifier "${t}"`,"value",t),t}const m0=new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");function mV(t){t=t.trim();let e=[],r="",n=0;for(let a=0;athis.wordSize&&p6.throwError("value out-of-bounds",le.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:r.length}),r.length%this.wordSize&&(r=Ht([this._padding.slice(r.length%this.wordSize),r])),r}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){const e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,r=>{this._data[e]=this._getValue(r)}}}class x1{constructor(e,r,n,a){Ee(this,"_data",Re(e)),Ee(this,"wordSize",r||32),Ee(this,"_coerceFunc",n),Ee(this,"allowLoose",a),this._offset=0}get data(){return ze(this._data)}get consumed(){return this._offset}static coerce(e,r){let n=e.match("^u?int([0-9]+)$");return n&&parseInt(n[1])<=48&&(r=r.toNumber()),r}coerce(e,r){return this._coerceFunc?this._coerceFunc(e,r):x1.coerce(e,r)}_peekBytes(e,r,n){let a=Math.ceil(r/this.wordSize)*this.wordSize;return this._offset+a>this._data.length&&(this.allowLoose&&n&&this._offset+r<=this._data.length?a=r:p6.throwError("data out-of-bounds",le.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+a})),this._data.slice(this._offset,this._offset+a)}subReader(e){return new x1(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,r){let n=this._peekBytes(0,e,!!r);return this._offset+=n.length,n.slice(0,e)}readValue(){return Oe.from(this.readBytes(this.wordSize))}}var zT={exports:{}};(function(t){var e={};/** + * [js-sha3]{@link https://github.com/emn178/js-sha3} + * + * @version 0.8.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2015-2018 + * @license MIT + */(function(){var r="input is invalid type",n="finalize already called",a=typeof window=="object",i=a?window:{};i.JS_SHA3_NO_WINDOW&&(a=!1);var s=!a&&typeof self=="object",o=!i.JS_SHA3_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;o?i=e:s&&(i=self);var u=!i.JS_SHA3_NO_COMMON_JS&&!0&&t.exports,y=!i.JS_SHA3_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",b="0123456789abcdef".split(""),_=[31,7936,2031616,520093696],A=[4,1024,262144,67108864],T=[1,256,65536,16777216],k=[6,1536,393216,100663296],C=[0,8,16,24],P=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],B=[224,256,384,512],D=[128,256],N=["hex","buffer","arrayBuffer","array","digest"],$={128:168,256:136};(i.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(F){return Object.prototype.toString.call(F)==="[object Array]"}),y&&(i.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(F){return typeof F=="object"&&F.buffer&&F.buffer.constructor===ArrayBuffer});for(var j=function(F,G,z){return function(V){return new S(F,G,F).update(V)[z]()}},Z=function(F,G,z){return function(V,se){return new S(F,G,se).update(V)[z]()}},X=function(F,G,z){return function(V,se,ie,U){return p["cshake"+F].update(V,se,ie,U)[z]()}},Y=function(F,G,z){return function(V,se,ie,U){return p["kmac"+F].update(V,se,ie,U)[z]()}},re=function(F,G,z,V){for(var se=0;se>5,this.byteCount=this.blockCount<<2,this.outputBlocks=z>>5,this.extraBytes=(z&31)>>3;for(var V=0;V<50;++V)this.s[V]=0}S.prototype.update=function(F){if(this.finalized)throw new Error(n);var G,z=typeof F;if(z!=="string"){if(z==="object"){if(F===null)throw new Error(r);if(y&&F.constructor===ArrayBuffer)F=new Uint8Array(F);else if(!Array.isArray(F)&&(!y||!ArrayBuffer.isView(F)))throw new Error(r)}else throw new Error(r);G=!0}for(var V=this.blocks,se=this.byteCount,ie=F.length,U=this.blockCount,W=0,ce=this.s,oe,K;W>2]|=F[W]<>2]|=K<>2]|=(192|K>>6)<>2]|=(128|K&63)<=57344?(V[oe>>2]|=(224|K>>12)<>2]|=(128|K>>6&63)<>2]|=(128|K&63)<>2]|=(240|K>>18)<>2]|=(128|K>>12&63)<>2]|=(128|K>>6&63)<>2]|=(128|K&63)<=se){for(this.start=oe-se,this.block=V[U],oe=0;oe>8,z=F&255;z>0;)se.unshift(z),F=F>>8,z=F&255,++V;return G?se.push(V):se.unshift(V),this.update(se),se.length},S.prototype.encodeString=function(F){var G,z=typeof F;if(z!=="string"){if(z==="object"){if(F===null)throw new Error(r);if(y&&F.constructor===ArrayBuffer)F=new Uint8Array(F);else if(!Array.isArray(F)&&(!y||!ArrayBuffer.isView(F)))throw new Error(r)}else throw new Error(r);G=!0}var V=0,se=F.length;if(G)V=se;else for(var ie=0;ie=57344?V+=3:(U=65536+((U&1023)<<10|F.charCodeAt(++ie)&1023),V+=4)}return V+=this.encode(V*8),this.update(F),V},S.prototype.bytepad=function(F,G){for(var z=this.encode(G),V=0;V>2]|=this.padding[G&3],this.lastByteIndex===this.byteCount)for(F[0]=F[z],G=1;G>4&15]+b[W&15]+b[W>>12&15]+b[W>>8&15]+b[W>>20&15]+b[W>>16&15]+b[W>>28&15]+b[W>>24&15];ie%F===0&&(L(G),se=0)}return V&&(W=G[se],U+=b[W>>4&15]+b[W&15],V>1&&(U+=b[W>>12&15]+b[W>>8&15]),V>2&&(U+=b[W>>20&15]+b[W>>16&15])),U},S.prototype.arrayBuffer=function(){this.finalize();var F=this.blockCount,G=this.s,z=this.outputBlocks,V=this.extraBytes,se=0,ie=0,U=this.outputBits>>3,W;V?W=new ArrayBuffer(z+1<<2):W=new ArrayBuffer(U);for(var ce=new Uint32Array(W);ie>8&255,U[W+2]=ce>>16&255,U[W+3]=ce>>24&255;ie%F===0&&L(G)}return V&&(W=ie<<2,ce=G[se],U[W]=ce&255,V>1&&(U[W+1]=ce>>8&255),V>2&&(U[W+2]=ce>>16&255)),U};function R(F,G,z){S.call(this,F,G,z)}R.prototype=new S,R.prototype.finalize=function(){return this.encode(this.outputBits,!0),S.prototype.finalize.call(this)};var L=function(F){var G,z,V,se,ie,U,W,ce,oe,K,I,O,q,te,fe,H,J,ee,he,de,ue,Se,Ae,we,Ze,Ne,ke,Qe,Ue,Pe,ct,We,$e,ht,ne,ae,xe,ge,ve,Ve,Ce,_e,Le,Be,Me,Ke,De,Te,et,He,Ie,dt,qe,Fe,nt,at,it,$t,Pt,tt,yt,st,Bt;for(V=0;V<48;V+=2)se=F[0]^F[10]^F[20]^F[30]^F[40],ie=F[1]^F[11]^F[21]^F[31]^F[41],U=F[2]^F[12]^F[22]^F[32]^F[42],W=F[3]^F[13]^F[23]^F[33]^F[43],ce=F[4]^F[14]^F[24]^F[34]^F[44],oe=F[5]^F[15]^F[25]^F[35]^F[45],K=F[6]^F[16]^F[26]^F[36]^F[46],I=F[7]^F[17]^F[27]^F[37]^F[47],O=F[8]^F[18]^F[28]^F[38]^F[48],q=F[9]^F[19]^F[29]^F[39]^F[49],G=O^(U<<1|W>>>31),z=q^(W<<1|U>>>31),F[0]^=G,F[1]^=z,F[10]^=G,F[11]^=z,F[20]^=G,F[21]^=z,F[30]^=G,F[31]^=z,F[40]^=G,F[41]^=z,G=se^(ce<<1|oe>>>31),z=ie^(oe<<1|ce>>>31),F[2]^=G,F[3]^=z,F[12]^=G,F[13]^=z,F[22]^=G,F[23]^=z,F[32]^=G,F[33]^=z,F[42]^=G,F[43]^=z,G=U^(K<<1|I>>>31),z=W^(I<<1|K>>>31),F[4]^=G,F[5]^=z,F[14]^=G,F[15]^=z,F[24]^=G,F[25]^=z,F[34]^=G,F[35]^=z,F[44]^=G,F[45]^=z,G=ce^(O<<1|q>>>31),z=oe^(q<<1|O>>>31),F[6]^=G,F[7]^=z,F[16]^=G,F[17]^=z,F[26]^=G,F[27]^=z,F[36]^=G,F[37]^=z,F[46]^=G,F[47]^=z,G=K^(se<<1|ie>>>31),z=I^(ie<<1|se>>>31),F[8]^=G,F[9]^=z,F[18]^=G,F[19]^=z,F[28]^=G,F[29]^=z,F[38]^=G,F[39]^=z,F[48]^=G,F[49]^=z,te=F[0],fe=F[1],Ke=F[11]<<4|F[10]>>>28,De=F[10]<<4|F[11]>>>28,Qe=F[20]<<3|F[21]>>>29,Ue=F[21]<<3|F[20]>>>29,tt=F[31]<<9|F[30]>>>23,yt=F[30]<<9|F[31]>>>23,_e=F[40]<<18|F[41]>>>14,Le=F[41]<<18|F[40]>>>14,ht=F[2]<<1|F[3]>>>31,ne=F[3]<<1|F[2]>>>31,H=F[13]<<12|F[12]>>>20,J=F[12]<<12|F[13]>>>20,Te=F[22]<<10|F[23]>>>22,et=F[23]<<10|F[22]>>>22,Pe=F[33]<<13|F[32]>>>19,ct=F[32]<<13|F[33]>>>19,st=F[42]<<2|F[43]>>>30,Bt=F[43]<<2|F[42]>>>30,Fe=F[5]<<30|F[4]>>>2,nt=F[4]<<30|F[5]>>>2,ae=F[14]<<6|F[15]>>>26,xe=F[15]<<6|F[14]>>>26,ee=F[25]<<11|F[24]>>>21,he=F[24]<<11|F[25]>>>21,He=F[34]<<15|F[35]>>>17,Ie=F[35]<<15|F[34]>>>17,We=F[45]<<29|F[44]>>>3,$e=F[44]<<29|F[45]>>>3,we=F[6]<<28|F[7]>>>4,Ze=F[7]<<28|F[6]>>>4,at=F[17]<<23|F[16]>>>9,it=F[16]<<23|F[17]>>>9,ge=F[26]<<25|F[27]>>>7,ve=F[27]<<25|F[26]>>>7,de=F[36]<<21|F[37]>>>11,ue=F[37]<<21|F[36]>>>11,dt=F[47]<<24|F[46]>>>8,qe=F[46]<<24|F[47]>>>8,Be=F[8]<<27|F[9]>>>5,Me=F[9]<<27|F[8]>>>5,Ne=F[18]<<20|F[19]>>>12,ke=F[19]<<20|F[18]>>>12,$t=F[29]<<7|F[28]>>>25,Pt=F[28]<<7|F[29]>>>25,Ve=F[38]<<8|F[39]>>>24,Ce=F[39]<<8|F[38]>>>24,Se=F[48]<<14|F[49]>>>18,Ae=F[49]<<14|F[48]>>>18,F[0]=te^~H&ee,F[1]=fe^~J&he,F[10]=we^~Ne&Qe,F[11]=Ze^~ke&Ue,F[20]=ht^~ae&ge,F[21]=ne^~xe&ve,F[30]=Be^~Ke&Te,F[31]=Me^~De&et,F[40]=Fe^~at&$t,F[41]=nt^~it&Pt,F[2]=H^~ee&de,F[3]=J^~he&ue,F[12]=Ne^~Qe&Pe,F[13]=ke^~Ue&ct,F[22]=ae^~ge&Ve,F[23]=xe^~ve&Ce,F[32]=Ke^~Te&He,F[33]=De^~et&Ie,F[42]=at^~$t&tt,F[43]=it^~Pt&yt,F[4]=ee^~de&Se,F[5]=he^~ue&Ae,F[14]=Qe^~Pe&We,F[15]=Ue^~ct&$e,F[24]=ge^~Ve&_e,F[25]=ve^~Ce&Le,F[34]=Te^~He&dt,F[35]=et^~Ie&qe,F[44]=$t^~tt&st,F[45]=Pt^~yt&Bt,F[6]=de^~Se&te,F[7]=ue^~Ae&fe,F[16]=Pe^~We&we,F[17]=ct^~$e&Ze,F[26]=Ve^~_e&ht,F[27]=Ce^~Le&ne,F[36]=He^~dt&Be,F[37]=Ie^~qe&Me,F[46]=tt^~st&Fe,F[47]=yt^~Bt&nt,F[8]=Se^~te&H,F[9]=Ae^~fe&J,F[18]=We^~we&Ne,F[19]=$e^~Ze&ke,F[28]=_e^~ht&ae,F[29]=Le^~ne&xe,F[38]=dt^~Be&Ke,F[39]=qe^~Me&De,F[48]=st^~Fe&at,F[49]=Bt^~nt&it,F[0]^=P[V],F[1]^=P[V+1]};if(u)t.exports=p;else for(E=0;E>=8;return e}function f7(t,e,r){let n=0;for(let a=0;ae+1+n&&Ri.throwError("child data too short",le.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:a}}function GT(t,e){if(t.length===0&&Ri.throwError("data too short",le.errors.BUFFER_OVERRUN,{}),t[e]>=248){const r=t[e]-247;e+1+r>t.length&&Ri.throwError("data short segment too short",le.errors.BUFFER_OVERRUN,{});const n=f7(t,e+1,r);return e+1+r+n>t.length&&Ri.throwError("data long segment too short",le.errors.BUFFER_OVERRUN,{}),d7(t,e,e+1+r,r+n)}else if(t[e]>=192){const r=t[e]-192;return e+1+r>t.length&&Ri.throwError("data array too short",le.errors.BUFFER_OVERRUN,{}),d7(t,e,e+1,r)}else if(t[e]>=184){const r=t[e]-183;e+1+r>t.length&&Ri.throwError("data array too short",le.errors.BUFFER_OVERRUN,{});const n=f7(t,e+1,r);e+1+r+n>t.length&&Ri.throwError("data array too short",le.errors.BUFFER_OVERRUN,{});const a=ze(t.slice(e+1+r,e+1+r+n));return{consumed:1+r+n,result:a}}else if(t[e]>=128){const r=t[e]-128;e+1+r>t.length&&Ri.throwError("data too short",le.errors.BUFFER_OVERRUN,{});const n=ze(t.slice(e+1,e+1+r));return{consumed:1+r,result:n}}return{consumed:1,result:ze(t[e])}}function Iy(t){const e=Re(t),r=GT(e,0);return r.consumed!==e.length&&Ri.throwArgumentError("invalid rlp data","data",t),r.result}const gV=Object.freeze(Object.defineProperty({__proto__:null,decode:Iy,encode:jl},Symbol.toStringTag,{value:"Module"})),xV="address/5.7.0",fo=new le(xV);function h7(t){ft(t,20)||fo.throwArgumentError("invalid address","address",t),t=t.toLowerCase();const e=t.substring(2).split(""),r=new Uint8Array(40);for(let a=0;a<40;a++)r[a]=e[a].charCodeAt(0);const n=Re(Ut(r));for(let a=0;a<40;a+=2)n[a>>1]>>4>=8&&(e[a]=e[a].toUpperCase()),(n[a>>1]&15)>=8&&(e[a+1]=e[a+1].toUpperCase());return"0x"+e.join("")}const wV=9007199254740991;function _V(t){return Math.log10?Math.log10(t):Math.log(t)/Math.LN10}const m6={};for(let t=0;t<10;t++)m6[String(t)]=String(t);for(let t=0;t<26;t++)m6[String.fromCharCode(65+t)]=String(10+t);const p7=Math.floor(_V(wV));function qT(t){t=t.toUpperCase(),t=t.substring(4)+t.substring(0,2)+"00";let e=t.split("").map(n=>m6[n]).join("");for(;e.length>=p7;){let n=e.substring(0,p7);e=parseInt(n,10)%97+e.substring(n.length)}let r=String(98-parseInt(e,10)%97);for(;r.length<2;)r="0"+r;return r}function It(t){let e=null;if(typeof t!="string"&&fo.throwArgumentError("invalid address","address",t),t.match(/^(0x)?[0-9a-fA-F]{40}$/))t.substring(0,2)!=="0x"&&(t="0x"+t),e=h7(t),t.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&e!==t&&fo.throwArgumentError("bad address checksum","address",t);else if(t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(t.substring(2,4)!==qT(t)&&fo.throwArgumentError("bad icap checksum","address",t),e=PT(t.substring(4));e.length<40;)e="0"+e;e=h7("0x"+e)}else fo.throwArgumentError("invalid address","address",t);return e}function VT(t){try{return It(t),!0}catch{}return!1}function WT(t){let e=DT(It(t).substring(2)).toUpperCase();for(;e.length<30;)e="0"+e;return"XE"+qT("XE00"+e)+e}function U0(t){let e=null;try{e=It(t.from)}catch{fo.throwArgumentError("missing from address","transaction",t)}const r=vi(Re(Oe.from(t.nonce).toHexString()));return It(yr(Ut(jl([e,r])),12))}function KT(t,e,r){return Ei(e)!==32&&fo.throwArgumentError("salt must be 32 bytes","salt",e),Ei(r)!==32&&fo.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",r),It(yr(Ut(Ht(["0xff",It(t),e,r])),12))}const EV=Object.freeze(Object.defineProperty({__proto__:null,getAddress:It,getContractAddress:U0,getCreate2Address:KT,getIcapAddress:WT,isAddress:VT},Symbol.toStringTag,{value:"Module"}));class AV extends zs{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,r){try{r=It(r)}catch(n){this._throwError(n.message,r)}return e.writeValue(r)}decode(e){return It(Gt(e.readValue().toHexString(),20))}}class SV extends zs{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,r){return this.coder.encode(e,r)}decode(e){return this.coder.decode(e)}}const ru=new le(z0);function ZT(t,e,r){let n=null;if(Array.isArray(r))n=r;else if(r&&typeof r=="object"){let u={};n=e.map(y=>{const b=y.localName;return b||ru.throwError("cannot encode object for signature with missing names",le.errors.INVALID_ARGUMENT,{argument:"values",coder:y,value:r}),u[b]&&ru.throwError("cannot encode object for signature with duplicate names",le.errors.INVALID_ARGUMENT,{argument:"values",coder:y,value:r}),u[b]=!0,r[b]})}else ru.throwArgumentError("invalid tuple value","tuple",r);e.length!==n.length&&ru.throwArgumentError("types/value length mismatch","tuple",r);let a=new Ng(t.wordSize),i=new Ng(t.wordSize),s=[];e.forEach((u,y)=>{let b=n[y];if(u.dynamic){let _=i.length;u.encode(i,b);let A=a.writeUpdatableValue();s.push(T=>{A(T+_)})}else u.encode(a,b)}),s.forEach(u=>{u(a.length)});let o=t.appendWriter(a);return o+=t.appendWriter(i),o}function JT(t,e){let r=[],n=t.subReader(0);e.forEach(i=>{let s=null;if(i.dynamic){let o=t.readValue(),u=n.subReader(o.toNumber());try{s=i.decode(u)}catch(y){if(y.code===le.errors.BUFFER_OVERRUN)throw y;s=y,s.baseType=i.name,s.name=i.localName,s.type=i.type}}else try{s=i.decode(t)}catch(o){if(o.code===le.errors.BUFFER_OVERRUN)throw o;s=o,s.baseType=i.name,s.name=i.localName,s.type=i.type}s!=null&&r.push(s)});const a=e.reduce((i,s)=>{const o=s.localName;return o&&(i[o]||(i[o]=0),i[o]++),i},{});e.forEach((i,s)=>{let o=i.localName;if(!o||a[o]!==1||(o==="length"&&(o="_length"),r[o]!=null))return;const u=r[s];u instanceof Error?Object.defineProperty(r,o,{enumerable:!0,get:()=>{throw u}}):r[o]=u});for(let i=0;i{throw s}})}return Object.freeze(r)}class CV extends zs{constructor(e,r,n){const a=e.type+"["+(r>=0?r:"")+"]",i=r===-1||e.dynamic;super("array",a,n,i),this.coder=e,this.length=r}defaultValue(){const e=this.coder.defaultValue(),r=[];for(let n=0;ne._data.length&&ru.throwError("insufficient data length",le.errors.BUFFER_OVERRUN,{length:e._data.length,count:r}));let n=[];for(let a=0;a>6===2;s++)i++;return i}return t===Wn.OVERRUN?r.length-e-1:0}function LV(t,e,r,n,a){return t===Wn.OVERLONG?(n.push(a),0):(n.push(65533),aM(t,e,r))}const iM=Object.freeze({error:$V,ignore:aM,replace:LV});function g6(t,e){e==null&&(e=iM.error),t=Re(t);const r=[];let n=0;for(;n>7)){r.push(a);continue}let i=null,s=null;if((a&224)===192)i=1,s=127;else if((a&240)===224)i=2,s=2047;else if((a&248)===240)i=3,s=65535;else{(a&192)===128?n+=e(Wn.UNEXPECTED_CONTINUE,n-1,t,r):n+=e(Wn.BAD_PREFIX,n-1,t,r);continue}if(n-1+i>=t.length){n+=e(Wn.OVERRUN,n-1,t,r);continue}let o=a&(1<<8-i-1)-1;for(let u=0;u1114111){n+=e(Wn.OUT_OF_RANGE,n-1-i,t,r,o);continue}if(o>=55296&&o<=57343){n+=e(Wn.UTF16_SURROGATE,n-1-i,t,r,o);continue}if(o<=s){n+=e(Wn.OVERLONG,n-1-i,t,r,o);continue}r.push(o)}}return r}function Cr(t,e=ns.current){e!=ns.current&&(nM.checkNormalize(),t=t.normalize(e));let r=[];for(let n=0;n>6|192),r.push(a&63|128);else if((a&64512)==55296){n++;const i=t.charCodeAt(n);if(n>=t.length||(i&64512)!==56320)throw new Error("invalid utf-8 string");const s=65536+((a&1023)<<10)+(i&1023);r.push(s>>18|240),r.push(s>>12&63|128),r.push(s>>6&63|128),r.push(s&63|128)}else r.push(a>>12|224),r.push(a>>6&63|128),r.push(a&63|128)}return Re(r)}function r2(t){const e="0000"+t.toString(16);return"\\u"+e.substring(e.length-4)}function jV(t,e){return'"'+g6(t,e).map(r=>{if(r<256){switch(r){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(r>=32&&r<127)return String.fromCharCode(r)}return r<=65535?r2(r):(r-=65536,r2((r>>10&1023)+55296)+r2((r&1023)+56320))}).join("")+'"'}function $g(t){return t.map(e=>e<=65535?String.fromCharCode(e):(e-=65536,String.fromCharCode((e>>10&1023)+55296,(e&1023)+56320))).join("")}function ec(t,e){return $g(g6(t,e))}function w1(t,e=ns.current){return g6(Cr(t,e))}function zV(t){const e=Cr(t);if(e.length>31)throw new Error("bytes32 string must be less than 32 bytes");return ze(Ht([e,v6]).slice(0,32))}function UV(t){const e=Re(t);if(e.length!==32)throw new Error("invalid bytes32 - not 32 bytes long");if(e[31]!==0)throw new Error("invalid bytes32 string - no null terminator");let r=31;for(;e[r-1]===0;)r--;return ec(e.slice(0,r))}function HV(t){if(t.length%4!==0)throw new Error("bad data");let e=[];for(let r=0;r{let i=a.split(":");r+=parseInt(i[0],16),n[r]=e(i[1])}),n}function sM(t){let e=0;return t.split(",").map(r=>{let n=r.split("-");n.length===1?n[1]="0":n[1]===""&&(n[1]="1");let a=e+parseInt(n[0],16);return e=parseInt(n[1],16),{l:a,h:e}})}function w6(t,e){let r=0;for(let n=0;n=r&&t<=r+a.h&&(t-r)%(a.d||1)===0){if(a.e&&a.e.indexOf(t-r)!==-1)continue;return a}}return null}const GV=sM("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),qV="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(t=>parseInt(t,16)),VV=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],WV=x6("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),KV=x6("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),ZV=x6("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",HV),JV=sM("80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001");function YV(t){return t.reduce((e,r)=>(r.forEach(n=>{e.push(n)}),e),[])}function XV(t){return!!w6(t,GV)}function QV(t){let e=w6(t,VV);if(e)return[t+e.s];let r=WV[t];if(r)return r;let n=KV[t];if(n)return[t+n[0]];let a=ZV[t];return a||null}function eW(t){return!!w6(t,JV)}function tW(t){if(t.match(/^[a-z0-9-]*$/i)&&t.length<=59)return t.toLowerCase();let e=w1(t);e=YV(e.map(n=>{if(qV.indexOf(n)>=0)return[];if(n>=65024&&n<=65039)return[];let a=QV(n);return a||[n]})),e=w1($g(e),ns.NFKC),e.forEach(n=>{if(eW(n))throw new Error("STRINGPREP_CONTAINS_PROHIBITED")}),e.forEach(n=>{if(XV(n))throw new Error("STRINGPREP_CONTAINS_UNASSIGNED")});let r=$g(e);if(r.substring(0,1)==="-"||r.substring(2,4)==="--"||r.substring(r.length-1)==="-")throw new Error("invalid hyphen");return r}class rW extends YT{constructor(e){super("string",e)}defaultValue(){return""}encode(e,r){return super.encode(e,Cr(r))}decode(e){return ec(super.decode(e))}}class Oh extends zs{constructor(e,r){let n=!1;const a=[];e.forEach(s=>{s.dynamic&&(n=!0),a.push(s.type)});const i="tuple("+a.join(",")+")";super("tuple",i,r,n),this.coders=e}defaultValue(){const e=[];this.coders.forEach(n=>{e.push(n.defaultValue())});const r=this.coders.reduce((n,a)=>{const i=a.localName;return i&&(n[i]||(n[i]=0),n[i]++),n},{});return this.coders.forEach((n,a)=>{let i=n.localName;!i||r[i]!==1||(i==="length"&&(i="_length"),e[i]==null&&(e[i]=e[a]))}),Object.freeze(e)}encode(e,r){return ZT(e,this.coders,r)}decode(e){return e.coerce(this.name,JT(e,this.coders))}}const Rh=new le(z0),nW=new RegExp(/^bytes([0-9]*)$/),aW=new RegExp(/^(u?int)([0-9]*)$/);class _6{constructor(e){Ee(this,"coerceFunc",e||null)}_getCoder(e){switch(e.baseType){case"address":return new AV(e.name);case"bool":return new TV(e.name);case"string":return new rW(e.name);case"bytes":return new MV(e.name);case"array":return new CV(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new Oh((e.components||[]).map(n=>this._getCoder(n)),e.name);case"":return new kV(e.name)}let r=e.type.match(aW);if(r){let n=parseInt(r[2]||"256");return(n===0||n>256||n%8!==0)&&Rh.throwArgumentError("invalid "+r[1]+" bit length","param",e),new RV(n/8,r[1]==="int",e.name)}if(r=e.type.match(nW),r){let n=parseInt(r[1]);return(n===0||n>32)&&Rh.throwArgumentError("invalid bytes length","param",e),new BV(n,e.name)}return Rh.throwArgumentError("invalid type","type",e.type)}_getWordSize(){return 32}_getReader(e,r){return new x1(e,this._getWordSize(),this.coerceFunc,r)}_getWriter(){return new Ng(this._getWordSize())}getDefaultValue(e){const r=e.map(a=>this._getCoder(Fr.from(a)));return new Oh(r,"_").defaultValue()}encode(e,r){e.length!==r.length&&Rh.throwError("types/values length mismatch",le.errors.INVALID_ARGUMENT,{count:{types:e.length,values:r.length},value:{types:e,values:r}});const n=e.map(s=>this._getCoder(Fr.from(s))),a=new Oh(n,"_"),i=this._getWriter();return a.encode(i,r),i.data}decode(e,r,n){const a=e.map(s=>this._getCoder(Fr.from(s)));return new Oh(a,"_").decode(this._getReader(Re(r),n))}}const E6=new _6;function ho(t){return Ut(Cr(t))}const oM="hash/5.7.0";function A6(t){t=atob(t);const e=[];for(let r=0;r0&&Array.isArray(o)?a(o,s-1):r.push(o)})};return a(t,e),r}function sW(t){const e={};for(let r=0;r>--u&1}const _=31,A=Math.pow(2,_),T=A>>>1,k=T>>1,C=A-1;let P=0;for(let j=0;j<_;j++)P=P<<1|b();let B=[],D=0,N=A;for(;;){let j=Math.floor(((P-D+1)*a-1)/N),Z=0,X=n;for(;X-Z>1;){let M=Z+X>>>1;j>>1|b(),Y=Y<<1^T,re=(re^T)<<1|T|1;D=Y,N=1+re-Y}let $=n-4;return B.map(j=>{switch(j-$){case 3:return $+65792+(t[o++]<<16|t[o++]<<8|t[o++]);case 2:return $+256+(t[o++]<<8|t[o++]);case 1:return $+t[o++];default:return j-1}})}function lW(t){let e=0;return()=>t[e++]}function cW(t){return lW(oW(t))}function uW(t){return t&1?~t>>1:t>>1}function fW(t,e){let r=Array(t);for(let n=0;ne[s]):r}function hW(t){let e=[];for(;;){let r=t();if(r==0)break;e.push(yW(r,t))}for(;;){let r=t()-1;if(r<0)break;e.push(mW(r,t))}return sW(lM(e))}function pW(t){let e=[];for(;;){let r=t();if(r==0)break;e.push(r)}return e}function cM(t,e,r){let n=Array(t).fill(void 0).map(()=>[]);for(let a=0;an[s].push(i));return n}function yW(t,e){let r=1+e(),n=e(),a=pW(e),i=cM(a.length,1+t,e);return lM(i.map((s,o)=>{const u=s[0],y=s.slice(1);return Array(a[o]).fill(void 0).map((b,_)=>{let A=_*n;return[u+_*r,y.map(T=>T+A)]})}))}function mW(t,e){let r=1+e();return cM(r,1+t,e).map(a=>[a[0],a.slice(1)])}function bW(t){let e=_1(t).sort((n,a)=>n-a);return r();function r(){let n=[];for(;;){let y=_1(t,e);if(y.length==0)break;n.push({set:new Set(y),node:r()})}n.sort((y,b)=>b.set.size-y.set.size);let a=t(),i=a%3;a=a/3|0;let s=!!(a&1);a>>=1;let o=a==1,u=a==2;return{branches:n,valid:i,fe0f:s,save:o,check:u}}}function vW(){return cW(A6("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"))}const Oy=vW(),gW=new Set(_1(Oy)),xW=new Set(_1(Oy)),wW=hW(Oy),_W=bW(Oy),m7=45,b7=95;function uM(t){return w1(t)}function EW(t){return t.filter(e=>e!=65039)}function fM(t){for(let e of t.split(".")){let r=uM(e);try{for(let n=r.lastIndexOf(b7)-1;n>=0;n--)if(r[n]!==b7)throw new Error("underscore only allowed at start");if(r.length>=4&&r.every(n=>n<128)&&r[2]===m7&&r[3]===m7)throw new Error("invalid label extension")}catch(n){throw new Error(`Invalid label "${e}": ${n.message}`)}}return t}function AW(t){return fM(SW(t,EW))}function SW(t,e){let r=uM(t).reverse(),n=[];for(;r.length;){let a=TW(r);if(a){n.push(...e(a));continue}let i=r.pop();if(gW.has(i)){n.push(i);continue}if(xW.has(i))continue;let s=wW[i];if(s){n.push(...s);continue}throw new Error(`Disallowed codepoint: 0x${i.toString(16).toUpperCase()}`)}return fM(CW(String.fromCodePoint(...n)))}function CW(t){return t.normalize("NFC")}function TW(t,e){var r;let n=_W,a,i,s=[],o=t.length;for(e&&(e.length=0);o;){let u=t[--o];if(n=(r=n.branches.find(y=>y.set.has(u)))===null||r===void 0?void 0:r.node,!n)break;if(n.save)i=u;else if(n.check&&u===i)break;s.push(u),n.fe0f&&(s.push(65039),o>0&&t[o-1]==65039&&o--),n.valid&&(a=s.slice(),n.valid==2&&a.splice(1,1),e&&e.push(...t.slice(o).reverse()),t.length=o)}return a}const MW=new le(oM),dM=new Uint8Array(32);dM.fill(0);function v7(t){if(t.length===0)throw new Error("invalid ENS name; empty component");return t}function C6(t){const e=Cr(AW(t)),r=[];if(t.length===0)return r;let n=0;for(let a=0;a=e.length)throw new Error("invalid ENS name; empty component");return r.push(v7(e.slice(n))),r}function BW(t){try{return C6(t).length!==0}catch{}return!1}function $d(t){typeof t!="string"&&MW.throwArgumentError("invalid ENS name; not a string","name",t);let e=dM;const r=C6(t);for(;r.length;)e=Ut(Ht([e,Ut(r.pop())]));return ze(e)}function hM(t){return ze(Ht(C6(t).map(e=>{if(e.length>63)throw new Error("invalid DNS encoded entry; length exceeds 63 bytes");const r=new Uint8Array(e.length+1);return r.set(e,1),r[0]=r.length-1,r})))+"00"}const kW=`Ethereum Signed Message: +`;function T6(t){return typeof t=="string"&&(t=Cr(t)),Ut(Ht([Cr(kW),Cr(String(t.length)),t]))}var FW=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const sr=new le(oM),pM=new Uint8Array(32);pM.fill(0);const PW=Oe.from(-1),yM=Oe.from(0),mM=Oe.from(1),DW=Oe.from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function IW(t){const e=Re(t),r=e.length%32;return r?Tn([e,pM.slice(r)]):ze(e)}const OW=Gt(mM.toHexString(),32),RW=Gt(yM.toHexString(),32),g7={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},n2=["name","version","chainId","verifyingContract","salt"];function x7(t){return function(e){return typeof e!="string"&&sr.throwArgumentError(`invalid domain value for ${JSON.stringify(t)}`,`domain.${t}`,e),e}}const NW={name:x7("name"),version:x7("version"),chainId:function(t){try{return Oe.from(t).toString()}catch{}return sr.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",t)},verifyingContract:function(t){try{return It(t).toLowerCase()}catch{}return sr.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",t)},salt:function(t){try{const e=Re(t);if(e.length!==32)throw new Error("bad length");return ze(e)}catch{}return sr.throwArgumentError('invalid domain value "salt"',"domain.salt",t)}};function a2(t){{const e=t.match(/^(u?)int(\d*)$/);if(e){const r=e[1]==="",n=parseInt(e[2]||"256");(n%8!==0||n>256||e[2]&&e[2]!==String(n))&&sr.throwArgumentError("invalid numeric width","type",t);const a=DW.mask(r?n-1:n),i=r?a.add(mM).mul(PW):yM;return function(s){const o=Oe.from(s);return(o.lt(i)||o.gt(a))&&sr.throwArgumentError(`value out-of-bounds for ${t}`,"value",s),Gt(o.toTwos(256).toHexString(),32)}}}{const e=t.match(/^bytes(\d+)$/);if(e){const r=parseInt(e[1]);return(r===0||r>32||e[1]!==String(r))&&sr.throwArgumentError("invalid bytes width","type",t),function(n){return Re(n).length!==r&&sr.throwArgumentError(`invalid length for ${t}`,"value",n),IW(n)}}}switch(t){case"address":return function(e){return Gt(It(e),32)};case"bool":return function(e){return e?OW:RW};case"bytes":return function(e){return Ut(e)};case"string":return function(e){return ho(e)}}return null}function w7(t,e){return`${t}(${e.map(({name:r,type:n})=>n+" "+r).join(",")})`}class an{constructor(e){Ee(this,"types",Object.freeze(Un(e))),Ee(this,"_encoderCache",{}),Ee(this,"_types",{});const r={},n={},a={};Object.keys(e).forEach(o=>{r[o]={},n[o]=[],a[o]={}});for(const o in e){const u={};e[o].forEach(y=>{u[y.name]&&sr.throwArgumentError(`duplicate variable name ${JSON.stringify(y.name)} in ${JSON.stringify(o)}`,"types",e),u[y.name]=!0;const b=y.type.match(/^([^\x5b]*)(\x5b|$)/)[1];b===o&&sr.throwArgumentError(`circular type reference to ${JSON.stringify(b)}`,"types",e),!a2(b)&&(n[b]||sr.throwArgumentError(`unknown type ${JSON.stringify(b)}`,"types",e),n[b].push(o),r[o][b]=!0)})}const i=Object.keys(n).filter(o=>n[o].length===0);i.length===0?sr.throwArgumentError("missing primary type","types",e):i.length>1&&sr.throwArgumentError(`ambiguous primary types or unused types: ${i.map(o=>JSON.stringify(o)).join(", ")}`,"types",e),Ee(this,"primaryType",i[0]);function s(o,u){u[o]&&sr.throwArgumentError(`circular type reference to ${JSON.stringify(o)}`,"types",e),u[o]=!0,Object.keys(r[o]).forEach(y=>{n[y]&&(s(y,u),Object.keys(u).forEach(b=>{a[b][y]=!0}))}),delete u[o]}s(this.primaryType,{});for(const o in a){const u=Object.keys(a[o]);u.sort(),this._types[o]=w7(o,e[o])+u.map(y=>w7(y,e[y])).join("")}}getEncoder(e){let r=this._encoderCache[e];return r||(r=this._encoderCache[e]=this._getEncoder(e)),r}_getEncoder(e){{const a=a2(e);if(a)return a}const r=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(r){const a=r[1],i=this.getEncoder(a),s=parseInt(r[3]);return o=>{s>=0&&o.length!==s&&sr.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",o);let u=o.map(i);return this._types[a]&&(u=u.map(Ut)),Ut(Tn(u))}}const n=this.types[e];if(n){const a=ho(this._types[e]);return i=>{const s=n.map(({name:o,type:u})=>{const y=this.getEncoder(u)(i[o]);return this._types[u]?Ut(y):y});return s.unshift(a),Tn(s)}}return sr.throwArgumentError(`unknown type: ${e}`,"type",e)}encodeType(e){const r=this._types[e];return r||sr.throwArgumentError(`unknown type: ${JSON.stringify(e)}`,"name",e),r}encodeData(e,r){return this.getEncoder(e)(r)}hashStruct(e,r){return Ut(this.encodeData(e,r))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,r,n){if(a2(e))return n(e,r);const a=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(a){const s=a[1],o=parseInt(a[3]);return o>=0&&r.length!==o&&sr.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",r),r.map(u=>this._visit(s,u,n))}const i=this.types[e];return i?i.reduce((s,{name:o,type:u})=>(s[o]=this._visit(u,r[o],n),s),{}):sr.throwArgumentError(`unknown type: ${e}`,"type",e)}visit(e,r){return this._visit(this.primaryType,e,r)}static from(e){return new an(e)}static getPrimaryType(e){return an.from(e).primaryType}static hashStruct(e,r,n){return an.from(r).hashStruct(e,n)}static hashDomain(e){const r=[];for(const n in e){const a=g7[n];a||sr.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(n)}`,"domain",e),r.push({name:n,type:a})}return r.sort((n,a)=>n2.indexOf(n.name)-n2.indexOf(a.name)),an.hashStruct("EIP712Domain",{EIP712Domain:r},e)}static encode(e,r,n){return Tn(["0x1901",an.hashDomain(e),an.from(r).hash(n)])}static hash(e,r,n){return Ut(an.encode(e,r,n))}static resolveNames(e,r,n,a){return FW(this,void 0,void 0,function*(){e=Jt(e);const i={};e.verifyingContract&&!ft(e.verifyingContract,20)&&(i[e.verifyingContract]="0x");const s=an.from(r);s.visit(n,(o,u)=>(o==="address"&&!ft(u,20)&&(i[u]="0x"),u));for(const o in i)i[o]=yield a(o);return e.verifyingContract&&i[e.verifyingContract]&&(e.verifyingContract=i[e.verifyingContract]),n=s.visit(n,(o,u)=>o==="address"&&i[u]?i[u]:u),{domain:e,value:n}})}static getPayload(e,r,n){an.hashDomain(e);const a={},i=[];n2.forEach(u=>{const y=e[u];y!=null&&(a[u]=NW[u](y),i.push({name:u,type:g7[u]}))});const s=an.from(r),o=Jt(r);return o.EIP712Domain?sr.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",r):o.EIP712Domain=i,s.encode(n),{types:o,domain:a,primaryType:s.primaryType,message:s.visit(n,(u,y)=>{if(u.match(/^bytes(\d*)/))return ze(Re(y));if(u.match(/^u?int/))return Oe.from(y).toString();switch(u){case"address":return y.toLowerCase();case"bool":return!!y;case"string":return typeof y!="string"&&sr.throwArgumentError("invalid string","value",y),y}return sr.throwArgumentError("unsupported type","type",u)})}}}const ir=new le(z0);class M6 extends Ql{}class B6 extends Ql{}class $W extends Ql{}class b0 extends Ql{static isIndexed(e){return!!(e&&e._isIndexed)}}const LW={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function _7(t,e){const r=new Error(`deferred error during ABI decoding triggered accessing ${t}`);return r.error=e,r}class E1{constructor(e){let r=[];typeof e=="string"?r=JSON.parse(e):r=e,Ee(this,"fragments",r.map(n=>pi.from(n)).filter(n=>n!=null)),Ee(this,"_abiCoder",on(new.target,"getAbiCoder")()),Ee(this,"functions",{}),Ee(this,"errors",{}),Ee(this,"events",{}),Ee(this,"structs",{}),this.fragments.forEach(n=>{let a=null;switch(n.type){case"constructor":if(this.deploy){ir.warn("duplicate definition - constructor");return}Ee(this,"deploy",n);return;case"function":a=this.functions;break;case"event":a=this.events;break;case"error":a=this.errors;break;default:return}let i=n.format();if(a[i]){ir.warn("duplicate definition - "+i);return}a[i]=n}),this.deploy||Ee(this,"deploy",Ra.from({payable:!1,type:"constructor"})),Ee(this,"_isInterface",!0)}format(e){e||(e=St.full),e===St.sighash&&ir.throwArgumentError("interface does not support formatting sighash","format",e);const r=this.fragments.map(n=>n.format(e));return e===St.json?JSON.stringify(r.map(n=>JSON.parse(n))):r}static getAbiCoder(){return E6}static getAddress(e){return It(e)}static getSighash(e){return yr(ho(e.format()),0,4)}static getEventTopic(e){return ho(e.format())}getFunction(e){if(ft(e)){for(const n in this.functions)if(e===this.getSighash(n))return this.functions[n];ir.throwArgumentError("no matching function","sighash",e)}if(e.indexOf("(")===-1){const n=e.trim(),a=Object.keys(this.functions).filter(i=>i.split("(")[0]===n);return a.length===0?ir.throwArgumentError("no matching function","name",n):a.length>1&&ir.throwArgumentError("multiple matching functions","name",n),this.functions[a[0]]}const r=this.functions[Na.fromString(e).format()];return r||ir.throwArgumentError("no matching function","signature",e),r}getEvent(e){if(ft(e)){const n=e.toLowerCase();for(const a in this.events)if(n===this.getEventTopic(a))return this.events[a];ir.throwArgumentError("no matching event","topichash",n)}if(e.indexOf("(")===-1){const n=e.trim(),a=Object.keys(this.events).filter(i=>i.split("(")[0]===n);return a.length===0?ir.throwArgumentError("no matching event","name",n):a.length>1&&ir.throwArgumentError("multiple matching events","name",n),this.events[a[0]]}const r=this.events[hi.fromString(e).format()];return r||ir.throwArgumentError("no matching event","signature",e),r}getError(e){if(ft(e)){const n=on(this.constructor,"getSighash");for(const a in this.errors){const i=this.errors[a];if(e===n(i))return this.errors[a]}ir.throwArgumentError("no matching error","sighash",e)}if(e.indexOf("(")===-1){const n=e.trim(),a=Object.keys(this.errors).filter(i=>i.split("(")[0]===n);return a.length===0?ir.throwArgumentError("no matching error","name",n):a.length>1&&ir.throwArgumentError("multiple matching errors","name",n),this.errors[a[0]]}const r=this.errors[Na.fromString(e).format()];return r||ir.throwArgumentError("no matching error","signature",e),r}getSighash(e){if(typeof e=="string")try{e=this.getFunction(e)}catch(r){try{e=this.getError(e)}catch{throw r}}return on(this.constructor,"getSighash")(e)}getEventTopic(e){return typeof e=="string"&&(e=this.getEvent(e)),on(this.constructor,"getEventTopic")(e)}_decodeParams(e,r){return this._abiCoder.decode(e,r)}_encodeParams(e,r){return this._abiCoder.encode(e,r)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,r){typeof e=="string"&&(e=this.getError(e));const n=Re(r);return ze(n.slice(0,4))!==this.getSighash(e)&&ir.throwArgumentError(`data signature does not match error ${e.name}.`,"data",ze(n)),this._decodeParams(e.inputs,n.slice(4))}encodeErrorResult(e,r){return typeof e=="string"&&(e=this.getError(e)),ze(Ht([this.getSighash(e),this._encodeParams(e.inputs,r||[])]))}decodeFunctionData(e,r){typeof e=="string"&&(e=this.getFunction(e));const n=Re(r);return ze(n.slice(0,4))!==this.getSighash(e)&&ir.throwArgumentError(`data signature does not match function ${e.name}.`,"data",ze(n)),this._decodeParams(e.inputs,n.slice(4))}encodeFunctionData(e,r){return typeof e=="string"&&(e=this.getFunction(e)),ze(Ht([this.getSighash(e),this._encodeParams(e.inputs,r||[])]))}decodeFunctionResult(e,r){typeof e=="string"&&(e=this.getFunction(e));let n=Re(r),a=null,i="",s=null,o=null,u=null;switch(n.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,n)}catch{}break;case 4:{const y=ze(n.slice(0,4)),b=LW[y];if(b)s=this._abiCoder.decode(b.inputs,n.slice(4)),o=b.name,u=b.signature,b.reason&&(a=s[0]),o==="Error"?i=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(s[0])}`:o==="Panic"&&(i=`; VM Exception while processing transaction: reverted with panic code ${s[0]}`);else try{const _=this.getError(y);s=this._abiCoder.decode(_.inputs,n.slice(4)),o=_.name,u=_.format()}catch{}break}}return ir.throwError("call revert exception"+i,le.errors.CALL_EXCEPTION,{method:e.format(),data:ze(r),errorArgs:s,errorName:o,errorSignature:u,reason:a})}encodeFunctionResult(e,r){return typeof e=="string"&&(e=this.getFunction(e)),ze(this._abiCoder.encode(e.outputs,r||[]))}encodeFilterTopics(e,r){typeof e=="string"&&(e=this.getEvent(e)),r.length>e.inputs.length&&ir.throwError("too many arguments for "+e.format(),le.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:r});let n=[];e.anonymous||n.push(this.getEventTopic(e));const a=(i,s)=>i.type==="string"?ho(s):i.type==="bytes"?Ut(ze(s)):(i.type==="bool"&&typeof s=="boolean"&&(s=s?"0x01":"0x00"),i.type.match(/^u?int/)&&(s=Oe.from(s).toHexString()),i.type==="address"&&this._abiCoder.encode(["address"],[s]),Gt(ze(s),32));for(r.forEach((i,s)=>{let o=e.inputs[s];if(!o.indexed){i!=null&&ir.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+o.name,i);return}i==null?n.push(null):o.baseType==="array"||o.baseType==="tuple"?ir.throwArgumentError("filtering with tuples or arrays not supported","contract."+o.name,i):Array.isArray(i)?n.push(i.map(u=>a(o,u))):n.push(a(o,i))});n.length&&n[n.length-1]===null;)n.pop();return n}encodeEventLog(e,r){typeof e=="string"&&(e=this.getEvent(e));const n=[],a=[],i=[];return e.anonymous||n.push(this.getEventTopic(e)),r.length!==e.inputs.length&&ir.throwArgumentError("event arguments/values mismatch","values",r),e.inputs.forEach((s,o)=>{const u=r[o];if(s.indexed)if(s.type==="string")n.push(ho(u));else if(s.type==="bytes")n.push(Ut(u));else{if(s.baseType==="tuple"||s.baseType==="array")throw new Error("not implemented");n.push(this._abiCoder.encode([s.type],[u]))}else a.push(s),i.push(u)}),{data:this._abiCoder.encode(a,i),topics:n}}decodeEventLog(e,r,n){if(typeof e=="string"&&(e=this.getEvent(e)),n!=null&&!e.anonymous){let A=this.getEventTopic(e);(!ft(n[0],32)||n[0].toLowerCase()!==A)&&ir.throwError("fragment/topic mismatch",le.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:A,value:n[0]}),n=n.slice(1)}let a=[],i=[],s=[];e.inputs.forEach((A,T)=>{A.indexed?A.type==="string"||A.type==="bytes"||A.baseType==="tuple"||A.baseType==="array"?(a.push(Fr.fromObject({type:"bytes32",name:A.name})),s.push(!0)):(a.push(A),s.push(!1)):(i.push(A),s.push(!1))});let o=n!=null?this._abiCoder.decode(a,Ht(n)):null,u=this._abiCoder.decode(i,r,!0),y=[],b=0,_=0;e.inputs.forEach((A,T)=>{if(A.indexed)if(o==null)y[T]=new b0({_isIndexed:!0,hash:null});else if(s[T])y[T]=new b0({_isIndexed:!0,hash:o[_++]});else try{y[T]=o[_++]}catch(k){y[T]=k}else try{y[T]=u[b++]}catch(k){y[T]=k}if(A.name&&y[A.name]==null){const k=y[T];k instanceof Error?Object.defineProperty(y,A.name,{enumerable:!0,get:()=>{throw _7(`property ${JSON.stringify(A.name)}`,k)}}):y[A.name]=k}});for(let A=0;A{throw _7(`index ${A}`,T)}})}return Object.freeze(y)}parseTransaction(e){let r=this.getFunction(e.data.substring(0,10).toLowerCase());return r?new B6({args:this._abiCoder.decode(r.inputs,"0x"+e.data.substring(10)),functionFragment:r,name:r.name,signature:r.format(),sighash:this.getSighash(r),value:Oe.from(e.value||"0")}):null}parseLog(e){let r=this.getEvent(e.topics[0]);return!r||r.anonymous?null:new M6({eventFragment:r,name:r.name,signature:r.format(),topic:this.getEventTopic(r),args:this.decodeEventLog(r,e.data,e.topics)})}parseError(e){const r=ze(e);let n=this.getError(r.substring(0,10).toLowerCase());return n?new $W({args:this._abiCoder.decode(n.inputs,"0x"+r.substring(10)),errorFragment:n,name:n.name,signature:n.format(),sighash:this.getSighash(n)}):null}static isInterface(e){return!!(e&&e._isInterface)}}const jW=Object.freeze(Object.defineProperty({__proto__:null,AbiCoder:_6,ConstructorFragment:Ra,ErrorFragment:Gi,EventFragment:hi,FormatTypes:St,Fragment:pi,FunctionFragment:Na,Indexed:b0,Interface:E1,LogDescription:M6,ParamType:Fr,TransactionDescription:B6,checkResultErrors:y6,defaultAbiCoder:E6},Symbol.toStringTag,{value:"Module"})),zW="abstract-provider/5.7.0";var UW=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const HW=new le(zW);class GW extends Ql{static isForkEvent(e){return!!(e&&e._isForkEvent)}}class tc{constructor(){HW.checkAbstract(new.target,tc),Ee(this,"_isProvider",!0)}getFeeData(){return UW(this,void 0,void 0,function*(){const{block:e,gasPrice:r}=yield dr({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch(s=>null)});let n=null,a=null,i=null;return e&&e.baseFeePerGas&&(n=e.baseFeePerGas,i=Oe.from("1500000000"),a=e.baseFeePerGas.mul(2).add(i)),{lastBaseFeePerGas:n,maxFeePerGas:a,maxPriorityFeePerGas:i,gasPrice:r}})}addListener(e,r){return this.on(e,r)}removeListener(e,r){return this.off(e,r)}static isProvider(e){return!!(e&&e._isProvider)}}const qW="abstract-signer/5.7.0";var ei=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const Ba=new le(qW),VW=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],WW=[le.errors.INSUFFICIENT_FUNDS,le.errors.NONCE_EXPIRED,le.errors.REPLACEMENT_UNDERPRICED];class cs{constructor(){Ba.checkAbstract(new.target,cs),Ee(this,"_isSigner",!0)}getBalance(e){return ei(this,void 0,void 0,function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),e)})}getTransactionCount(e){return ei(this,void 0,void 0,function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),e)})}estimateGas(e){return ei(this,void 0,void 0,function*(){this._checkProvider("estimateGas");const r=yield dr(this.checkTransaction(e));return yield this.provider.estimateGas(r)})}call(e,r){return ei(this,void 0,void 0,function*(){this._checkProvider("call");const n=yield dr(this.checkTransaction(e));return yield this.provider.call(n,r)})}sendTransaction(e){return ei(this,void 0,void 0,function*(){this._checkProvider("sendTransaction");const r=yield this.populateTransaction(e),n=yield this.signTransaction(r);return yield this.provider.sendTransaction(n)})}getChainId(){return ei(this,void 0,void 0,function*(){return this._checkProvider("getChainId"),(yield this.provider.getNetwork()).chainId})}getGasPrice(){return ei(this,void 0,void 0,function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()})}getFeeData(){return ei(this,void 0,void 0,function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()})}resolveName(e){return ei(this,void 0,void 0,function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(e)})}checkTransaction(e){for(const n in e)VW.indexOf(n)===-1&&Ba.throwArgumentError("invalid transaction key: "+n,"transaction",e);const r=Jt(e);return r.from==null?r.from=this.getAddress():r.from=Promise.all([Promise.resolve(r.from),this.getAddress()]).then(n=>(n[0].toLowerCase()!==n[1].toLowerCase()&&Ba.throwArgumentError("from address mismatch","transaction",e),n[0])),r}populateTransaction(e){return ei(this,void 0,void 0,function*(){const r=yield dr(this.checkTransaction(e));r.to!=null&&(r.to=Promise.resolve(r.to).then(a=>ei(this,void 0,void 0,function*(){if(a==null)return null;const i=yield this.resolveName(a);return i==null&&Ba.throwArgumentError("provided ENS name resolves to null","tx.to",a),i})),r.to.catch(a=>{}));const n=r.maxFeePerGas!=null||r.maxPriorityFeePerGas!=null;if(r.gasPrice!=null&&(r.type===2||n)?Ba.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",e):(r.type===0||r.type===1)&&n&&Ba.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",e),(r.type===2||r.type==null)&&r.maxFeePerGas!=null&&r.maxPriorityFeePerGas!=null)r.type=2;else if(r.type===0||r.type===1)r.gasPrice==null&&(r.gasPrice=this.getGasPrice());else{const a=yield this.getFeeData();if(r.type==null)if(a.maxFeePerGas!=null&&a.maxPriorityFeePerGas!=null)if(r.type=2,r.gasPrice!=null){const i=r.gasPrice;delete r.gasPrice,r.maxFeePerGas=i,r.maxPriorityFeePerGas=i}else r.maxFeePerGas==null&&(r.maxFeePerGas=a.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=a.maxPriorityFeePerGas);else a.gasPrice!=null?(n&&Ba.throwError("network does not support EIP-1559",le.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),r.gasPrice==null&&(r.gasPrice=a.gasPrice),r.type=0):Ba.throwError("failed to get consistent fee data",le.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"});else r.type===2&&(r.maxFeePerGas==null&&(r.maxFeePerGas=a.maxFeePerGas),r.maxPriorityFeePerGas==null&&(r.maxPriorityFeePerGas=a.maxPriorityFeePerGas))}return r.nonce==null&&(r.nonce=this.getTransactionCount("pending")),r.gasLimit==null&&(r.gasLimit=this.estimateGas(r).catch(a=>{if(WW.indexOf(a.code)>=0)throw a;return Ba.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",le.errors.UNPREDICTABLE_GAS_LIMIT,{error:a,tx:r})})),r.chainId==null?r.chainId=this.getChainId():r.chainId=Promise.all([Promise.resolve(r.chainId),this.getChainId()]).then(a=>(a[1]!==0&&a[0]!==a[1]&&Ba.throwArgumentError("chainId address mismatch","transaction",e),a[0])),yield dr(r)})}_checkProvider(e){this.provider||Ba.throwError("missing provider",le.errors.UNSUPPORTED_OPERATION,{operation:e||"_checkProvider"})}static isSigner(e){return!!(e&&e._isSigner)}}class ef extends cs{constructor(e,r){super(),Ee(this,"address",e),Ee(this,"provider",r||null)}getAddress(){return Promise.resolve(this.address)}_fail(e,r){return Promise.resolve().then(()=>{Ba.throwError(e,le.errors.UNSUPPORTED_OPERATION,{operation:r})})}signMessage(e){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(e){return this._fail("VoidSigner cannot sign transactions","signTransaction")}_signTypedData(e,r,n){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(e){return new ef(this.address,e)}}const KW=Object.freeze(Object.defineProperty({__proto__:null,Signer:cs,VoidSigner:ef},Symbol.toStringTag,{value:"Module"}));var H0={},xt={},rc=bM;function bM(t,e){if(!t)throw new Error(e||"Assertion failed")}bM.equal=function(e,r,n){if(e!=r)throw new Error(n||"Assertion failed: "+e+" != "+r)};var Lg={exports:{}};typeof Object.create=="function"?Lg.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:Lg.exports=function(e,r){if(r){e.super_=r;var n=function(){};n.prototype=r.prototype,e.prototype=new n,e.prototype.constructor=e}};var Tr=Lg.exports,ZW=rc,JW=Tr;xt.inherits=JW;function YW(t,e){return(t.charCodeAt(e)&64512)!==55296||e<0||e+1>=t.length?!1:(t.charCodeAt(e+1)&64512)===56320}function XW(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if(typeof t=="string")if(e){if(e==="hex")for(t=t.replace(/[^a-z0-9]+/ig,""),t.length%2!==0&&(t="0"+t),a=0;a>6|192,r[n++]=i&63|128):YW(t,a)?(i=65536+((i&1023)<<10)+(t.charCodeAt(++a)&1023),r[n++]=i>>18|240,r[n++]=i>>12&63|128,r[n++]=i>>6&63|128,r[n++]=i&63|128):(r[n++]=i>>12|224,r[n++]=i>>6&63|128,r[n++]=i&63|128)}else for(a=0;a>>24|t>>>8&65280|t<<8&16711680|(t&255)<<24;return e>>>0}xt.htonl=vM;function eK(t,e){for(var r="",n=0;n>>0}return i}xt.join32=tK;function rK(t,e){for(var r=new Array(t.length*4),n=0,a=0;n>>24,r[a+1]=i>>>16&255,r[a+2]=i>>>8&255,r[a+3]=i&255):(r[a+3]=i>>>24,r[a+2]=i>>>16&255,r[a+1]=i>>>8&255,r[a]=i&255)}return r}xt.split32=rK;function nK(t,e){return t>>>e|t<<32-e}xt.rotr32=nK;function aK(t,e){return t<>>32-e}xt.rotl32=aK;function iK(t,e){return t+e>>>0}xt.sum32=iK;function sK(t,e,r){return t+e+r>>>0}xt.sum32_3=sK;function oK(t,e,r,n){return t+e+r+n>>>0}xt.sum32_4=oK;function lK(t,e,r,n,a){return t+e+r+n+a>>>0}xt.sum32_5=lK;function cK(t,e,r,n){var a=t[e],i=t[e+1],s=n+i>>>0,o=(s>>0,t[e+1]=s}xt.sum64=cK;function uK(t,e,r,n){var a=e+n>>>0,i=(a>>0}xt.sum64_hi=uK;function fK(t,e,r,n){var a=e+n;return a>>>0}xt.sum64_lo=fK;function dK(t,e,r,n,a,i,s,o){var u=0,y=e;y=y+n>>>0,u+=y>>0,u+=y>>0,u+=y>>0}xt.sum64_4_hi=dK;function hK(t,e,r,n,a,i,s,o){var u=e+n+i+o;return u>>>0}xt.sum64_4_lo=hK;function pK(t,e,r,n,a,i,s,o,u,y){var b=0,_=e;_=_+n>>>0,b+=_>>0,b+=_>>0,b+=_>>0,b+=_>>0}xt.sum64_5_hi=pK;function yK(t,e,r,n,a,i,s,o,u,y){var b=e+n+i+o+y;return b>>>0}xt.sum64_5_lo=yK;function mK(t,e,r){var n=e<<32-r|t>>>r;return n>>>0}xt.rotr64_hi=mK;function bK(t,e,r){var n=t<<32-r|e>>>r;return n>>>0}xt.rotr64_lo=bK;function vK(t,e,r){return t>>>r}xt.shr64_hi=vK;function gK(t,e,r){var n=t<<32-r|e>>>r;return n>>>0}xt.shr64_lo=gK;var tf={},E7=xt,xK=rc;function Ry(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}tf.BlockHash=Ry;Ry.prototype.update=function(e,r){if(e=E7.toArray(e,r),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){e=this.pending;var n=e.length%this._delta8;this.pending=e.slice(e.length-n,e.length),this.pending.length===0&&(this.pending=null),e=E7.join32(e,0,e.length-n,this.endian);for(var a=0;a>>24&255,a[i++]=e>>>16&255,a[i++]=e>>>8&255,a[i++]=e&255}else for(a[i++]=e&255,a[i++]=e>>>8&255,a[i++]=e>>>16&255,a[i++]=e>>>24&255,a[i++]=0,a[i++]=0,a[i++]=0,a[i++]=0,s=8;s>>3}us.g0_256=SK;function CK(t){return Xi(t,17)^Xi(t,19)^t>>>10}us.g1_256=CK;var ku=xt,TK=tf,MK=us,i2=ku.rotl32,Nf=ku.sum32,BK=ku.sum32_5,kK=MK.ft_1,AM=TK.BlockHash,FK=[1518500249,1859775393,2400959708,3395469782];function as(){if(!(this instanceof as))return new as;AM.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}ku.inherits(as,AM);var PK=as;as.blockSize=512;as.outSize=160;as.hmacStrength=80;as.padLength=64;as.prototype._update=function(e,r){for(var n=this.W,a=0;a<16;a++)n[a]=e[r+a];for(;athis.blockSize&&(e=new this.Hash().update(e).digest()),gZ(e.length<=this.blockSize);for(var r=e.length;r>8,A=b&255;_?u.push(_,A):u.push(A)}return u}r.toArray=n;function a(s){return s.length===1?"0"+s:s}r.zero2=a;function i(s){for(var o="",u=0;u(A>>1)-1?C=(A>>1)-P:C=P,T.isubn(C)):C=0,_[k]=C,T.iushrn(1)}return _}r.getNAF=n;function a(u,y){var b=[[],[]];u=u.clone(),y=y.clone();for(var _=0,A=0,T;u.cmpn(-_)>0||y.cmpn(-A)>0;){var k=u.andln(3)+_&3,C=y.andln(3)+A&3;k===3&&(k=-1),C===3&&(C=-1);var P;k&1?(T=u.andln(7)+_&7,(T===3||T===5)&&C===2?P=-k:P=k):P=0,b[0].push(P);var B;C&1?(T=y.andln(7)+A&7,(T===3||T===5)&&k===2?B=-C:B=C):B=0,b[1].push(B),2*_===P+1&&(_=1-_),2*A===B+1&&(A=1-A),u.iushrn(1),y.iushrn(1)}return b}r.getJSF=a;function i(u,y,b){var _="_"+y;u.prototype[y]=function(){return this[_]!==void 0?this[_]:this[_]=b.call(this)}}r.cachedProperty=i;function s(u){return typeof u=="string"?r.toArray(u,"hex"):u}r.parseBytes=s;function o(u){return new ut(u,"hex","le")}r.intFromLE=o}),A1=_a.getNAF,_Z=_a.getJSF,S1=_a.assert;function qo(t,e){this.type=t,this.p=new ut(e.p,16),this.red=e.prime?ut.red(e.prime):ut.mont(this.p),this.zero=new ut(0).toRed(this.red),this.one=new ut(1).toRed(this.red),this.two=new ut(2).toRed(this.red),this.n=e.n&&new ut(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var nc=qo;qo.prototype.point=function(){throw new Error("Not implemented")};qo.prototype.validate=function(){throw new Error("Not implemented")};qo.prototype._fixedNafMul=function(e,r){S1(e.precomputed);var n=e._getDoubles(),a=A1(r,1,this._bitLength),i=(1<=o;y--)u=(u<<1)+a[y];s.push(u)}for(var b=this.jpoint(null,null,null),_=this.jpoint(null,null,null),A=i;A>0;A--){for(o=0;o=0;u--){for(var y=0;u>=0&&s[u]===0;u--)y++;if(u>=0&&y++,o=o.dblp(y),u<0)break;var b=s[u];S1(b!==0),e.type==="affine"?b>0?o=o.mixedAdd(i[b-1>>1]):o=o.mixedAdd(i[-b-1>>1].neg()):b>0?o=o.add(i[b-1>>1]):o=o.add(i[-b-1>>1].neg())}return e.type==="affine"?o.toP():o};qo.prototype._wnafMulAdd=function(e,r,n,a,i){var s=this._wnafT1,o=this._wnafT2,u=this._wnafT3,y=0,b,_,A;for(b=0;b=1;b-=2){var k=b-1,C=b;if(s[k]!==1||s[C]!==1){u[k]=A1(n[k],s[k],this._bitLength),u[C]=A1(n[C],s[C],this._bitLength),y=Math.max(u[k].length,y),y=Math.max(u[C].length,y);continue}var P=[r[k],null,null,r[C]];r[k].y.cmp(r[C].y)===0?(P[1]=r[k].add(r[C]),P[2]=r[k].toJ().mixedAdd(r[C].neg())):r[k].y.cmp(r[C].y.redNeg())===0?(P[1]=r[k].toJ().mixedAdd(r[C]),P[2]=r[k].add(r[C].neg())):(P[1]=r[k].toJ().mixedAdd(r[C]),P[2]=r[k].toJ().mixedAdd(r[C].neg()));var B=[-3,-1,-5,-7,0,7,5,1,3],D=_Z(n[k],n[C]);for(y=Math.max(D[0].length,y),u[k]=new Array(y),u[C]=new Array(y),_=0;_=0;b--){for(var X=0;b>=0;){var Y=!0;for(_=0;_=0&&X++,j=j.dblp(X),b<0)break;for(_=0;_0?A=o[_][re-1>>1]:re<0&&(A=o[_][-re-1>>1].neg()),A.type==="affine"?j=j.mixedAdd(A):j=j.add(A))}}for(b=0;b=Math.ceil((e.bitLength()+1)/r.step):!1};Va.prototype._getDoubles=function(e,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],a=this,i=0;i=0&&(T=y,k=b),_.negative&&(_=_.neg(),A=A.neg()),T.negative&&(T=T.neg(),k=k.neg()),[{a:_,b:A},{a:T,b:k}]};Wa.prototype._endoSplit=function(e){var r=this.endo.basis,n=r[0],a=r[1],i=a.b.mul(e).divRound(this.n),s=n.b.neg().mul(e).divRound(this.n),o=i.mul(n.a),u=s.mul(a.a),y=i.mul(n.b),b=s.mul(a.b),_=e.sub(o).sub(u),A=y.add(b).neg();return{k1:_,k2:A}};Wa.prototype.pointFromX=function(e,r){e=new ut(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),a=n.redSqrt();if(a.redSqr().redSub(n).cmp(this.zero)!==0)throw new Error("invalid point");var i=a.fromRed().isOdd();return(r&&!i||!r&&i)&&(a=a.redNeg()),this.point(e,a)};Wa.prototype.validate=function(e){if(e.inf)return!0;var r=e.x,n=e.y,a=this.a.redMul(r),i=r.redSqr().redMul(r).redIAdd(a).redIAdd(this.b);return n.redSqr().redISub(i).cmpn(0)===0};Wa.prototype._endoWnafMulAdd=function(e,r,n){for(var a=this._endoWnafT1,i=this._endoWnafT2,s=0;s":""};Xr.prototype.isInfinity=function(){return this.inf};Xr.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var r=this.y.redSub(e.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(e.x).redInvm()));var n=r.redSqr().redISub(this.x).redISub(e.x),a=r.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,a)};Xr.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var r=this.curve.a,n=this.x.redSqr(),a=e.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(r).redMul(a),s=i.redSqr().redISub(this.x.redAdd(this.x)),o=i.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,o)};Xr.prototype.getX=function(){return this.x.fromRed()};Xr.prototype.getY=function(){return this.y.fromRed()};Xr.prototype.mul=function(e){return e=new ut(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)};Xr.prototype.mulAdd=function(e,r,n){var a=[this,r],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(a,i):this.curve._wnafMulAdd(1,a,i,2)};Xr.prototype.jmulAdd=function(e,r,n){var a=[this,r],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(a,i,!0):this.curve._wnafMulAdd(1,a,i,2,!0)};Xr.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)};Xr.prototype.neg=function(e){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,a=function(i){return i.neg()};r.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(a)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(a)}}}return r};Xr.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function fn(t,e,r,n){nc.BasePoint.call(this,t,"jacobian"),e===null&&r===null&&n===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new ut(0)):(this.x=new ut(e,16),this.y=new ut(r,16),this.z=new ut(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}F6(fn,nc.BasePoint);Wa.prototype.jpoint=function(e,r,n){return new fn(this,e,r,n)};fn.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),r=e.redSqr(),n=this.x.redMul(r),a=this.y.redMul(r).redMul(e);return this.curve.point(n,a)};fn.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};fn.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var r=e.z.redSqr(),n=this.z.redSqr(),a=this.x.redMul(r),i=e.x.redMul(n),s=this.y.redMul(r.redMul(e.z)),o=e.y.redMul(n.redMul(this.z)),u=a.redSub(i),y=s.redSub(o);if(u.cmpn(0)===0)return y.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var b=u.redSqr(),_=b.redMul(u),A=a.redMul(b),T=y.redSqr().redIAdd(_).redISub(A).redISub(A),k=y.redMul(A.redISub(T)).redISub(s.redMul(_)),C=this.z.redMul(e.z).redMul(u);return this.curve.jpoint(T,k,C)};fn.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var r=this.z.redSqr(),n=this.x,a=e.x.redMul(r),i=this.y,s=e.y.redMul(r).redMul(this.z),o=n.redSub(a),u=i.redSub(s);if(o.cmpn(0)===0)return u.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var y=o.redSqr(),b=y.redMul(o),_=n.redMul(y),A=u.redSqr().redIAdd(b).redISub(_).redISub(_),T=u.redMul(_.redISub(A)).redISub(i.redMul(b)),k=this.z.redMul(o);return this.curve.jpoint(A,T,k)};fn.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var n=this;for(r=0;r=0)return!1;if(n.redIAdd(i),this.x.cmp(n)===0)return!0}};fn.prototype.inspect=function(){return this.isInfinity()?"":""};fn.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var gp=af(function(t,e){var r=e;r.base=nc,r.short=AZ,r.mont=null,r.edwards=null}),xp=af(function(t,e){var r=e,n=_a.assert;function a(o){o.type==="short"?this.curve=new gp.short(o):o.type==="edwards"?this.curve=new gp.edwards(o):this.curve=new gp.mont(o),this.g=this.curve.g,this.n=this.curve.n,this.hash=o.hash,n(this.g.validate(),"Invalid curve"),n(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}r.PresetCurve=a;function i(o,u){Object.defineProperty(r,o,{configurable:!0,enumerable:!0,get:function(){var y=new a(u);return Object.defineProperty(r,o,{configurable:!0,enumerable:!0,value:y}),y}})}i("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:Vn.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),i("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:Vn.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),i("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:Vn.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),i("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:Vn.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),i("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:Vn.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),i("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Vn.sha256,gRed:!1,g:["9"]}),i("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:Vn.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var s;try{s=null.crash()}catch{s=void 0}i("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:Vn.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",s]})});function Do(t){if(!(this instanceof Do))return new Do(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=yi.toArray(t.entropy,t.entropyEnc||"hex"),r=yi.toArray(t.nonce,t.nonceEnc||"hex"),n=yi.toArray(t.pers,t.persEnc||"hex");k6(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}var RM=Do;Do.prototype._init=function(e,r,n){var a=e.concat(r).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1};Do.prototype.generate=function(e,r,n,a){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof r!="string"&&(a=n,n=r,r=null),n&&(n=yi.toArray(n,a||"hex"),this._update(n));for(var i=[];i.length"};var SZ=_a.assert;function Ny(t,e){if(t instanceof Ny)return t;this._importDER(t,e)||(SZ(t.r&&t.s,"Signature without r or s"),this.r=new ut(t.r,16),this.s=new ut(t.s,16),t.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var $y=Ny;function CZ(){this.place=0}function l2(t,e){var r=t[e.place++];if(!(r&128))return r;var n=r&15;if(n===0||n>4)return!1;for(var a=0,i=0,s=e.place;i>>=0;return a<=127?!1:(e.place=s,a)}function T7(t){for(var e=0,r=t.length-1;!t[e]&&!(t[e+1]&128)&&e>>3);for(t.push(r|128);--r;)t.push(e>>>(r<<3)&255);t.push(e)}Ny.prototype.toDER=function(e){var r=this.r.toArray(),n=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),n[0]&128&&(n=[0].concat(n)),r=T7(r),n=T7(n);!n[0]&&!(n[1]&128);)n=n.slice(1);var a=[2];c2(a,r.length),a=a.concat(r),a.push(2),c2(a,n.length);var i=a.concat(n),s=[48];return c2(s,i.length),s=s.concat(i),_a.encode(s,e)};var TZ=function(){throw new Error("unsupported")},NM=_a.assert;function Ha(t){if(!(this instanceof Ha))return new Ha(t);typeof t=="string"&&(NM(Object.prototype.hasOwnProperty.call(xp,t),"Unknown curve "+t),t=xp[t]),t instanceof xp.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var MZ=Ha;Ha.prototype.keyPair=function(e){return new P6(this,e)};Ha.prototype.keyFromPrivate=function(e,r){return P6.fromPrivate(this,e,r)};Ha.prototype.keyFromPublic=function(e,r){return P6.fromPublic(this,e,r)};Ha.prototype.genKeyPair=function(e){e||(e={});for(var r=new RM({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||TZ(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),a=this.n.sub(new ut(2));;){var i=new ut(r.generate(n));if(!(i.cmp(a)>0))return i.iaddn(1),this.keyFromPrivate(i)}};Ha.prototype._truncateToN=function(e,r){var n=e.byteLength()*8-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!r&&e.cmp(this.n)>=0?e.sub(this.n):e};Ha.prototype.sign=function(e,r,n,a){typeof n=="object"&&(a=n,n=null),a||(a={}),r=this.keyFromPrivate(r,n),e=this._truncateToN(new ut(e,16));for(var i=this.n.byteLength(),s=r.getPrivate().toArray("be",i),o=e.toArray("be",i),u=new RM({hash:this.hash,entropy:s,nonce:o,pers:a.pers,persEnc:a.persEnc||"utf8"}),y=this.n.sub(new ut(1)),b=0;;b++){var _=a.k?a.k(b):new ut(u.generate(this.n.byteLength()));if(_=this._truncateToN(_,!0),!(_.cmpn(1)<=0||_.cmp(y)>=0)){var A=this.g.mul(_);if(!A.isInfinity()){var T=A.getX(),k=T.umod(this.n);if(k.cmpn(0)!==0){var C=_.invm(this.n).mul(k.mul(r.getPrivate()).iadd(e));if(C=C.umod(this.n),C.cmpn(0)!==0){var P=(A.getY().isOdd()?1:0)|(T.cmp(k)!==0?2:0);return a.canonical&&C.cmp(this.nh)>0&&(C=this.n.sub(C),P^=1),new $y({r:k,s:C,recoveryParam:P})}}}}}};Ha.prototype.verify=function(e,r,n,a){e=this._truncateToN(new ut(e,16)),n=this.keyFromPublic(n,a),r=new $y(r,"hex");var i=r.r,s=r.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0||s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var o=s.invm(this.n),u=o.mul(e).umod(this.n),y=o.mul(i).umod(this.n),b;return this.curve._maxwellTrick?(b=this.g.jmulAdd(u,n.getPublic(),y),b.isInfinity()?!1:b.eqXToP(i)):(b=this.g.mulAdd(u,n.getPublic(),y),b.isInfinity()?!1:b.getX().umod(this.n).cmp(i)===0)};Ha.prototype.recoverPubKey=function(t,e,r,n){NM((3&r)===r,"The recovery param is more than two bits"),e=new $y(e,n);var a=this.n,i=new ut(t),s=e.r,o=e.s,u=r&1,y=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&y)throw new Error("Unable to find sencond key candinate");y?s=this.curve.pointFromX(s.add(this.curve.n),u):s=this.curve.pointFromX(s,u);var b=e.r.invm(a),_=a.sub(i).mul(b).umod(a),A=o.mul(b).umod(a);return this.g.mulAdd(_,s,A)};Ha.prototype.getKeyRecoveryParam=function(t,e,r,n){if(e=new $y(e,n),e.recoveryParam!==null)return e.recoveryParam;for(var a=0;a<4;a++){var i;try{i=this.recoverPubKey(t,e,a)}catch{continue}if(i.eq(r))return a}throw new Error("Unable to find valid recovery factor")};var BZ=af(function(t,e){var r=e;r.version="6.5.4",r.utils=_a,r.rand=function(){throw new Error("unsupported")},r.curve=gp,r.curves=xp,r.ec=MZ,r.eddsa=null}),kZ=BZ.ec;const FZ="signing-key/5.7.0",Hg=new le(FZ);let u2=null;function zi(){return u2||(u2=new kZ("secp256k1")),u2}class Sl{constructor(e){Ee(this,"curve","secp256k1"),Ee(this,"privateKey",ze(e)),Ei(this.privateKey)!==32&&Hg.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");const r=zi().keyFromPrivate(Re(this.privateKey));Ee(this,"publicKey","0x"+r.getPublic(!1,"hex")),Ee(this,"compressedPublicKey","0x"+r.getPublic(!0,"hex")),Ee(this,"_isSigningKey",!0)}_addPoint(e){const r=zi().keyFromPublic(Re(this.publicKey)),n=zi().keyFromPublic(Re(e));return"0x"+r.pub.add(n.pub).encodeCompressed("hex")}signDigest(e){const r=zi().keyFromPrivate(Re(this.privateKey)),n=Re(e);n.length!==32&&Hg.throwArgumentError("bad digest length","digest",e);const a=r.sign(n,{canonical:!0});return Go({recoveryParam:a.recoveryParam,r:Gt("0x"+a.r.toString(16),32),s:Gt("0x"+a.s.toString(16),32)})}computeSharedSecret(e){const r=zi().keyFromPrivate(Re(this.privateKey)),n=zi().keyFromPublic(Re(D6(e)));return Gt("0x"+r.derive(n.getPublic()).toString(16),32)}static isSigningKey(e){return!!(e&&e._isSigningKey)}}function $M(t,e){const r=Go(e),n={r:Re(r.r),s:Re(r.s)};return"0x"+zi().recoverPubKey(Re(t),n,r.recoveryParam).encode("hex",!1)}function D6(t,e){const r=Re(t);if(r.length===32){const n=new Sl(r);return e?"0x"+zi().keyFromPrivate(r).getPublic(!0,"hex"):n.publicKey}else{if(r.length===33)return e?ze(r):"0x"+zi().keyFromPublic(r).getPublic(!1,"hex");if(r.length===65)return e?"0x"+zi().keyFromPublic(r).getPublic(!0,"hex"):ze(r)}return Hg.throwArgumentError("invalid public or private key","key","[REDACTED]")}const PZ="transactions/5.7.0",Mn=new le(PZ);var Gg;(function(t){t[t.legacy=0]="legacy",t[t.eip2930=1]="eip2930",t[t.eip1559=2]="eip1559"})(Gg||(Gg={}));function I6(t){return t==="0x"?null:It(t)}function Cn(t){return t==="0x"?b6:Oe.from(t)}const DZ=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],IZ={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function Co(t){const e=D6(t);return It(yr(Ut(yr(e,1)),12))}function G0(t,e){return Co($M(Re(t),e))}function la(t,e){const r=vi(Oe.from(t).toHexString());return r.length>32&&Mn.throwArgumentError("invalid length for "+e,"transaction:"+e,t),r}function f2(t,e){return{address:It(t),storageKeys:(e||[]).map((r,n)=>(Ei(r)!==32&&Mn.throwArgumentError("invalid access list storageKey",`accessList[${t}:${n}]`,r),r.toLowerCase()))}}function Vo(t){if(Array.isArray(t))return t.map((r,n)=>Array.isArray(r)?(r.length>2&&Mn.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${n}]`,r),f2(r[0],r[1])):f2(r.address,r.storageKeys));const e=Object.keys(t).map(r=>{const n=t[r].reduce((a,i)=>(a[i]=!0,a),{});return f2(r,Object.keys(n).sort())});return e.sort((r,n)=>r.address.localeCompare(n.address)),e}function LM(t){return Vo(t).map(e=>[e.address,e.storageKeys])}function jM(t,e){if(t.gasPrice!=null){const n=Oe.from(t.gasPrice),a=Oe.from(t.maxFeePerGas||0);n.eq(a)||Mn.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:n,maxFeePerGas:a})}const r=[la(t.chainId||0,"chainId"),la(t.nonce||0,"nonce"),la(t.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),la(t.maxFeePerGas||0,"maxFeePerGas"),la(t.gasLimit||0,"gasLimit"),t.to!=null?It(t.to):"0x",la(t.value||0,"value"),t.data||"0x",LM(t.accessList||[])];if(e){const n=Go(e);r.push(la(n.recoveryParam,"recoveryParam")),r.push(vi(n.r)),r.push(vi(n.s))}return Tn(["0x02",jl(r)])}function zM(t,e){const r=[la(t.chainId||0,"chainId"),la(t.nonce||0,"nonce"),la(t.gasPrice||0,"gasPrice"),la(t.gasLimit||0,"gasLimit"),t.to!=null?It(t.to):"0x",la(t.value||0,"value"),t.data||"0x",LM(t.accessList||[])];if(e){const n=Go(e);r.push(la(n.recoveryParam,"recoveryParam")),r.push(vi(n.r)),r.push(vi(n.s))}return Tn(["0x01",jl(r)])}function OZ(t,e){h6(t,IZ);const r=[];DZ.forEach(function(s){let o=t[s.name]||[];const u={};s.numeric&&(u.hexPad="left"),o=Re(ze(o,u)),s.length&&o.length!==s.length&&o.length>0&&Mn.throwArgumentError("invalid length for "+s.name,"transaction:"+s.name,o),s.maxLength&&(o=vi(o),o.length>s.maxLength&&Mn.throwArgumentError("invalid length for "+s.name,"transaction:"+s.name,o)),r.push(ze(o))});let n=0;if(t.chainId!=null?(n=t.chainId,typeof n!="number"&&Mn.throwArgumentError("invalid transaction.chainId","transaction",t)):e&&!Xu(e)&&e.v>28&&(n=Math.floor((e.v-35)/2)),n!==0&&(r.push(ze(n)),r.push("0x"),r.push("0x")),!e)return jl(r);const a=Go(e);let i=27+a.recoveryParam;return n!==0?(r.pop(),r.pop(),r.pop(),i+=n*2+8,a.v>28&&a.v!==i&&Mn.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e)):a.v!==i&&Mn.throwArgumentError("transaction.chainId/signature.v mismatch","signature",e),r.push(ze(i)),r.push(vi(Re(a.r))),r.push(vi(Re(a.s))),jl(r)}function qg(t,e){if(t.type==null||t.type===0)return t.accessList!=null&&Mn.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",t),OZ(t,e);switch(t.type){case 1:return zM(t,e);case 2:return jM(t,e)}return Mn.throwError(`unsupported transaction type: ${t.type}`,le.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:t.type})}function UM(t,e,r){try{const n=Cn(e[0]).toNumber();if(n!==0&&n!==1)throw new Error("bad recid");t.v=n}catch{Mn.throwArgumentError("invalid v for transaction type: 1","v",e[0])}t.r=Gt(e[1],32),t.s=Gt(e[2],32);try{const n=Ut(r(t));t.from=G0(n,{r:t.r,s:t.s,recoveryParam:t.v})}catch{}}function RZ(t){const e=Iy(t.slice(1));e.length!==9&&e.length!==12&&Mn.throwArgumentError("invalid component count for transaction type: 2","payload",ze(t));const r=Cn(e[2]),n=Cn(e[3]),a={type:2,chainId:Cn(e[0]).toNumber(),nonce:Cn(e[1]).toNumber(),maxPriorityFeePerGas:r,maxFeePerGas:n,gasPrice:null,gasLimit:Cn(e[4]),to:I6(e[5]),value:Cn(e[6]),data:e[7],accessList:Vo(e[8])};return e.length===9||(a.hash=Ut(t),UM(a,e.slice(9),jM)),a}function NZ(t){const e=Iy(t.slice(1));e.length!==8&&e.length!==11&&Mn.throwArgumentError("invalid component count for transaction type: 1","payload",ze(t));const r={type:1,chainId:Cn(e[0]).toNumber(),nonce:Cn(e[1]).toNumber(),gasPrice:Cn(e[2]),gasLimit:Cn(e[3]),to:I6(e[4]),value:Cn(e[5]),data:e[6],accessList:Vo(e[7])};return e.length===8||(r.hash=Ut(t),UM(r,e.slice(8),zM)),r}function $Z(t){const e=Iy(t);e.length!==9&&e.length!==6&&Mn.throwArgumentError("invalid raw transaction","rawTransaction",t);const r={nonce:Cn(e[0]).toNumber(),gasPrice:Cn(e[1]),gasLimit:Cn(e[2]),to:I6(e[3]),value:Cn(e[4]),data:e[5],chainId:0};if(e.length===6)return r;try{r.v=Oe.from(e[6]).toNumber()}catch{return r}if(r.r=Gt(e[7],32),r.s=Gt(e[8],32),Oe.from(r.r).isZero()&&Oe.from(r.s).isZero())r.chainId=r.v,r.v=0;else{r.chainId=Math.floor((r.v-35)/2),r.chainId<0&&(r.chainId=0);let n=r.v-27;const a=e.slice(0,6);r.chainId!==0&&(a.push(ze(r.chainId)),a.push("0x"),a.push("0x"),n-=r.chainId*2+8);const i=Ut(jl(a));try{r.from=G0(i,{r:ze(r.r),s:ze(r.s),recoveryParam:n})}catch{}r.hash=Ut(t)}return r.type=null,r}function HM(t){const e=Re(t);if(e[0]>127)return $Z(e);switch(e[0]){case 1:return NZ(e);case 2:return RZ(e)}return Mn.throwError(`unsupported transaction type: ${e[0]}`,le.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:e[0]})}const LZ="contracts/5.7.0";var Io=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const jt=new le(LZ),jZ={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0,customData:!0,ccipReadEnabled:!0};function C1(t,e){return Io(this,void 0,void 0,function*(){const r=yield e;typeof r!="string"&&jt.throwArgumentError("invalid address or ENS name","name",r);try{return It(r)}catch{}t||jt.throwError("a provider or signer is needed to resolve ENS names",le.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});const n=yield t.resolveName(r);return n==null&&jt.throwArgumentError("resolver or addr is not configured for ENS name","name",r),n})}function Ld(t,e,r){return Io(this,void 0,void 0,function*(){return Array.isArray(r)?yield Promise.all(r.map((n,a)=>Ld(t,Array.isArray(e)?e[a]:e[n.name],n))):r.type==="address"?yield C1(t,e):r.type==="tuple"?yield Ld(t,e,r.components):r.baseType==="array"?Array.isArray(e)?yield Promise.all(e.map(n=>Ld(t,n,r.arrayChildren))):Promise.reject(jt.makeError("invalid value for array",le.errors.INVALID_ARGUMENT,{argument:"value",value:e})):e})}function Ly(t,e,r){return Io(this,void 0,void 0,function*(){let n={};r.length===e.inputs.length+1&&typeof r[r.length-1]=="object"&&(n=Jt(r.pop())),jt.checkArgumentCount(r.length,e.inputs.length,"passed to contract"),t.signer?n.from?n.from=dr({override:C1(t.signer,n.from),signer:t.signer.getAddress()}).then(y=>Io(this,void 0,void 0,function*(){return It(y.signer)!==y.override&&jt.throwError("Contract with a Signer cannot override from",le.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),y.override})):n.from=t.signer.getAddress():n.from&&(n.from=C1(t.provider,n.from));const a=yield dr({args:Ld(t.signer||t.provider,r,e.inputs),address:t.resolvedAddress,overrides:dr(n)||{}}),i=t.interface.encodeFunctionData(e,a.args),s={data:i,to:a.address},o=a.overrides;if(o.nonce!=null&&(s.nonce=Oe.from(o.nonce).toNumber()),o.gasLimit!=null&&(s.gasLimit=Oe.from(o.gasLimit)),o.gasPrice!=null&&(s.gasPrice=Oe.from(o.gasPrice)),o.maxFeePerGas!=null&&(s.maxFeePerGas=Oe.from(o.maxFeePerGas)),o.maxPriorityFeePerGas!=null&&(s.maxPriorityFeePerGas=Oe.from(o.maxPriorityFeePerGas)),o.from!=null&&(s.from=o.from),o.type!=null&&(s.type=o.type),o.accessList!=null&&(s.accessList=Vo(o.accessList)),s.gasLimit==null&&e.gas!=null){let y=21e3;const b=Re(i);for(let _=0;_n[y]!=null);return u.length&&jt.throwError(`cannot override ${u.map(y=>JSON.stringify(y)).join(",")}`,le.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:u}),s})}function zZ(t,e){return function(...r){return Ly(t,e,r)}}function UZ(t,e){const r=t.signer||t.provider;return function(...n){return Io(this,void 0,void 0,function*(){r||jt.throwError("estimate require a provider or signer",le.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});const a=yield Ly(t,e,n);return yield r.estimateGas(a)})}}function GM(t,e){const r=e.wait.bind(e);e.wait=n=>r(n).then(a=>(a.events=a.logs.map(i=>{let s=Un(i),o=null;try{o=t.interface.parseLog(i)}catch{}return o&&(s.args=o.args,s.decode=(u,y)=>t.interface.decodeEventLog(o.eventFragment,u,y),s.event=o.name,s.eventSignature=o.signature),s.removeListener=()=>t.provider,s.getBlock=()=>t.provider.getBlock(a.blockHash),s.getTransaction=()=>t.provider.getTransaction(a.transactionHash),s.getTransactionReceipt=()=>Promise.resolve(a),s}),a))}function qM(t,e,r){const n=t.signer||t.provider;return function(...a){return Io(this,void 0,void 0,function*(){let i;if(a.length===e.inputs.length+1&&typeof a[a.length-1]=="object"){const u=Jt(a.pop());u.blockTag!=null&&(i=yield u.blockTag),delete u.blockTag,a.push(u)}t.deployTransaction!=null&&(yield t._deployed(i));const s=yield Ly(t,e,a),o=yield n.call(s,i);try{let u=t.interface.decodeFunctionResult(e,o);return r&&e.outputs.length===1&&(u=u[0]),u}catch(u){throw u.code===le.errors.CALL_EXCEPTION&&(u.address=t.address,u.args=a,u.transaction=s),u}})}}function HZ(t,e){return function(...r){return Io(this,void 0,void 0,function*(){t.signer||jt.throwError("sending a transaction requires a signer",le.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),t.deployTransaction!=null&&(yield t._deployed());const n=yield Ly(t,e,r),a=yield t.signer.sendTransaction(n);return GM(t,a),a})}}function M7(t,e,r){return e.constant?qM(t,e,r):HZ(t,e)}function VM(t){return t.address&&(t.topics==null||t.topics.length===0)?"*":(t.address||"*")+"@"+(t.topics?t.topics.map(e=>Array.isArray(e)?e.join("|"):e).join(":"):"")}class v0{constructor(e,r){Ee(this,"tag",e),Ee(this,"filter",r),this._listeners=[]}addListener(e,r){this._listeners.push({listener:e,once:r})}removeListener(e){let r=!1;this._listeners=this._listeners.filter(n=>r||n.listener!==e?!0:(r=!0,!1))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(e=>e.listener)}listenerCount(){return this._listeners.length}run(e){const r=this.listenerCount();return this._listeners=this._listeners.filter(n=>{const a=e.slice();return setTimeout(()=>{n.listener.apply(this,a)},0),!n.once}),r}prepareEvent(e){}getEmit(e){return[e]}}class GZ extends v0{constructor(){super("error",null)}}class B7 extends v0{constructor(e,r,n,a){const i={address:e};let s=r.getEventTopic(n);a?(s!==a[0]&&jt.throwArgumentError("topic mismatch","topics",a),i.topics=a.slice()):i.topics=[s],super(VM(i),i),Ee(this,"address",e),Ee(this,"interface",r),Ee(this,"fragment",n)}prepareEvent(e){super.prepareEvent(e),e.event=this.fragment.name,e.eventSignature=this.fragment.format(),e.decode=(r,n)=>this.interface.decodeEventLog(this.fragment,r,n);try{e.args=this.interface.decodeEventLog(this.fragment,e.data,e.topics)}catch(r){e.args=null,e.decodeError=r}}getEmit(e){const r=y6(e.args);if(r.length)throw r[0].error;const n=(e.args||[]).slice();return n.push(e),n}}class k7 extends v0{constructor(e,r){super("*",{address:e}),Ee(this,"address",e),Ee(this,"interface",r)}prepareEvent(e){super.prepareEvent(e);try{const r=this.interface.parseLog(e);e.event=r.name,e.eventSignature=r.signature,e.decode=(n,a)=>this.interface.decodeEventLog(r.eventFragment,n,a),e.args=r.args}catch{}}}class O6{constructor(e,r,n){Ee(this,"interface",on(new.target,"getInterface")(r)),n==null?(Ee(this,"provider",null),Ee(this,"signer",null)):cs.isSigner(n)?(Ee(this,"provider",n.provider||null),Ee(this,"signer",n)):tc.isProvider(n)?(Ee(this,"provider",n),Ee(this,"signer",null)):jt.throwArgumentError("invalid signer or provider","signerOrProvider",n),Ee(this,"callStatic",{}),Ee(this,"estimateGas",{}),Ee(this,"functions",{}),Ee(this,"populateTransaction",{}),Ee(this,"filters",{});{const s={};Object.keys(this.interface.events).forEach(o=>{const u=this.interface.events[o];Ee(this.filters,o,(...y)=>({address:this.address,topics:this.interface.encodeFilterTopics(u,y)})),s[u.name]||(s[u.name]=[]),s[u.name].push(o)}),Object.keys(s).forEach(o=>{const u=s[o];u.length===1?Ee(this.filters,o,this.filters[u[0]]):jt.warn(`Duplicate definition of ${o} (${u.join(", ")})`)})}if(Ee(this,"_runningEvents",{}),Ee(this,"_wrappedEmits",{}),e==null&&jt.throwArgumentError("invalid contract address or ENS name","addressOrName",e),Ee(this,"address",e),this.provider)Ee(this,"resolvedAddress",C1(this.provider,e));else try{Ee(this,"resolvedAddress",Promise.resolve(It(e)))}catch{jt.throwError("provider is required to use ENS name as contract address",le.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}this.resolvedAddress.catch(s=>{});const a={},i={};Object.keys(this.interface.functions).forEach(s=>{const o=this.interface.functions[s];if(i[s]){jt.warn(`Duplicate ABI entry for ${JSON.stringify(s)}`);return}i[s]=!0;{const u=o.name;a[`%${u}`]||(a[`%${u}`]=[]),a[`%${u}`].push(s)}this[s]==null&&Ee(this,s,M7(this,o,!0)),this.functions[s]==null&&Ee(this.functions,s,M7(this,o,!1)),this.callStatic[s]==null&&Ee(this.callStatic,s,qM(this,o,!0)),this.populateTransaction[s]==null&&Ee(this.populateTransaction,s,zZ(this,o)),this.estimateGas[s]==null&&Ee(this.estimateGas,s,UZ(this,o))}),Object.keys(a).forEach(s=>{const o=a[s];if(o.length>1)return;s=s.substring(1);const u=o[0];try{this[s]==null&&Ee(this,s,this[u])}catch{}this.functions[s]==null&&Ee(this.functions,s,this.functions[u]),this.callStatic[s]==null&&Ee(this.callStatic,s,this.callStatic[u]),this.populateTransaction[s]==null&&Ee(this.populateTransaction,s,this.populateTransaction[u]),this.estimateGas[s]==null&&Ee(this.estimateGas,s,this.estimateGas[u])})}static getContractAddress(e){return U0(e)}static getInterface(e){return E1.isInterface(e)?e:new E1(e)}deployed(){return this._deployed()}_deployed(e){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then(()=>this):this._deployedPromise=this.provider.getCode(this.address,e).then(r=>(r==="0x"&&jt.throwError("contract not deployed",le.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this))),this._deployedPromise}fallback(e){this.signer||jt.throwError("sending a transactions require a signer",le.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});const r=Jt(e||{});return["from","to"].forEach(function(n){r[n]!=null&&jt.throwError("cannot override "+n,le.errors.UNSUPPORTED_OPERATION,{operation:n})}),r.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(r))}connect(e){typeof e=="string"&&(e=new ef(e,this.provider));const r=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&Ee(r,"deployTransaction",this.deployTransaction),r}attach(e){return new this.constructor(e,this.interface,this.signer||this.provider)}static isIndexed(e){return b0.isIndexed(e)}_normalizeRunningEvent(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e}_getRunningEvent(e){if(typeof e=="string"){if(e==="error")return this._normalizeRunningEvent(new GZ);if(e==="event")return this._normalizeRunningEvent(new v0("event",null));if(e==="*")return this._normalizeRunningEvent(new k7(this.address,this.interface));const r=this.interface.getEvent(e);return this._normalizeRunningEvent(new B7(this.address,this.interface,r))}if(e.topics&&e.topics.length>0){try{const n=e.topics[0];if(typeof n!="string")throw new Error("invalid topic");const a=this.interface.getEvent(n);return this._normalizeRunningEvent(new B7(this.address,this.interface,a,e.topics))}catch{}const r={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new v0(VM(r),r))}return this._normalizeRunningEvent(new k7(this.address,this.interface))}_checkRunningEvents(e){if(e.listenerCount()===0){delete this._runningEvents[e.tag];const r=this._wrappedEmits[e.tag];r&&e.filter&&(this.provider.off(e.filter,r),delete this._wrappedEmits[e.tag])}}_wrapEvent(e,r,n){const a=Un(r);return a.removeListener=()=>{n&&(e.removeListener(n),this._checkRunningEvents(e))},a.getBlock=()=>this.provider.getBlock(r.blockHash),a.getTransaction=()=>this.provider.getTransaction(r.transactionHash),a.getTransactionReceipt=()=>this.provider.getTransactionReceipt(r.transactionHash),e.prepareEvent(a),a}_addEventListener(e,r,n){if(this.provider||jt.throwError("events require a provider or a signer with a provider",le.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(r,n),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){const a=i=>{let s=this._wrapEvent(e,i,r);if(s.decodeError==null)try{const o=e.getEmit(s);this.emit(e.filter,...o)}catch(o){s.decodeError=o.error}e.filter!=null&&this.emit("event",s),s.decodeError!=null&&this.emit("error",s.decodeError,s)};this._wrappedEmits[e.tag]=a,e.filter!=null&&this.provider.on(e.filter,a)}}queryFilter(e,r,n){const a=this._getRunningEvent(e),i=Jt(a.filter);return typeof r=="string"&&ft(r,32)?(n!=null&&jt.throwArgumentError("cannot specify toBlock with blockhash","toBlock",n),i.blockHash=r):(i.fromBlock=r??0,i.toBlock=n??"latest"),this.provider.getLogs(i).then(s=>s.map(o=>this._wrapEvent(a,o,null)))}on(e,r){return this._addEventListener(this._getRunningEvent(e),r,!1),this}once(e,r){return this._addEventListener(this._getRunningEvent(e),r,!0),this}emit(e,...r){if(!this.provider)return!1;const n=this._getRunningEvent(e),a=n.run(r)>0;return this._checkRunningEvents(n),a}listenerCount(e){return this.provider?e==null?Object.keys(this._runningEvents).reduce((r,n)=>r+this._runningEvents[n].listenerCount(),0):this._getRunningEvent(e).listenerCount():0}listeners(e){if(!this.provider)return[];if(e==null){const r=[];for(let n in this._runningEvents)this._runningEvents[n].listeners().forEach(a=>{r.push(a)});return r}return this._getRunningEvent(e).listeners()}removeAllListeners(e){if(!this.provider)return this;if(e==null){for(const n in this._runningEvents){const a=this._runningEvents[n];a.removeAllListeners(),this._checkRunningEvents(a)}return this}const r=this._getRunningEvent(e);return r.removeAllListeners(),this._checkRunningEvents(r),this}off(e,r){if(!this.provider)return this;const n=this._getRunningEvent(e);return n.removeListener(r),this._checkRunningEvents(n),this}removeListener(e,r){return this.off(e,r)}}class T1 extends O6{}class WM{constructor(e,r,n){let a=null;typeof r=="string"?a=r:js(r)?a=ze(r):r&&typeof r.object=="string"?a=r.object:a="!",a.substring(0,2)!=="0x"&&(a="0x"+a),(!ft(a)||a.length%2)&&jt.throwArgumentError("invalid bytecode","bytecode",r),n&&!cs.isSigner(n)&&jt.throwArgumentError("invalid signer","signer",n),Ee(this,"bytecode",a),Ee(this,"interface",on(new.target,"getInterface")(e)),Ee(this,"signer",n||null)}getDeployTransaction(...e){let r={};if(e.length===this.interface.deploy.inputs.length+1&&typeof e[e.length-1]=="object"){r=Jt(e.pop());for(const n in r)if(!jZ[n])throw new Error("unknown transaction override "+n)}return["data","from","to"].forEach(n=>{r[n]!=null&&jt.throwError("cannot override "+n,le.errors.UNSUPPORTED_OPERATION,{operation:n})}),r.value&&!Oe.from(r.value).isZero()&&!this.interface.deploy.payable&&jt.throwError("non-payable constructor cannot override value",le.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:r.value}),jt.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor"),r.data=ze(Ht([this.bytecode,this.interface.encodeDeploy(e)])),r}deploy(...e){return Io(this,void 0,void 0,function*(){let r={};e.length===this.interface.deploy.inputs.length+1&&(r=e.pop()),jt.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor");const n=yield Ld(this.signer,e,this.interface.deploy.inputs);n.push(r);const a=this.getDeployTransaction(...n),i=yield this.signer.sendTransaction(a),s=on(this.constructor,"getContractAddress")(i),o=on(this.constructor,"getContract")(s,this.interface,this.signer);return GM(o,i),Ee(o,"deployTransaction",i),o})}attach(e){return this.constructor.getContract(e,this.interface,this.signer)}connect(e){return new this.constructor(this.interface,this.bytecode,e)}static fromSolidity(e,r){e==null&&jt.throwError("missing compiler output",le.errors.MISSING_ARGUMENT,{argument:"compilerOutput"}),typeof e=="string"&&(e=JSON.parse(e));const n=e.abi;let a=null;return e.bytecode?a=e.bytecode:e.evm&&e.evm.bytecode&&(a=e.evm.bytecode),new this(n,a,r)}static getInterface(e){return T1.getInterface(e)}static getContractAddress(e){return U0(e)}static getContract(e,r,n){return new T1(e,r,n)}}class KM{constructor(e){Ee(this,"alphabet",e),Ee(this,"base",e.length),Ee(this,"_alphabetMap",{}),Ee(this,"_leader",e.charAt(0));for(let r=0;r0;)n.push(s%this.base),s=s/this.base|0}let a="";for(let i=0;r[i]===0&&i=0;--i)a+=this.alphabet[n[i]];return a}decode(e){if(typeof e!="string")throw new TypeError("Expected String");let r=[];if(e.length===0)return new Uint8Array(r);r.push(0);for(let n=0;n>=8;for(;i>0;)r.push(i&255),i>>=8}for(let n=0;e[n]===this._leader&&n>24&255,u[e.length+1]=_>>16&255,u[e.length+2]=_>>8&255,u[e.length+3]=_&255;let A=Re(g0(a,t,u));i||(i=A.length,b=new Uint8Array(i),s=Math.ceil(n/i),y=n-(s-1)*i),b.set(A);for(let C=1;C=256)throw new Error("Depth too large!");return P7(Ht([this.privateKey!=null?"0x0488ADE4":"0x0488B21E",ze(this.depth),this.parentFingerprint,Gt(ze(this.index),4),this.chainCode,this.privateKey!=null?Ht(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new ca(_c,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(e){if(e>4294967295)throw new Error("invalid index - "+String(e));let r=this.path;r&&(r+="/"+(e&~Oc));const n=new Uint8Array(37);if(e&Oc){if(!this.privateKey)throw new Error("cannot derive child of neutered node");n.set(Re(this.privateKey),1),r&&(r+="'")}else n.set(Re(this.publicKey));for(let _=24;_>=0;_-=8)n[33+(_>>3)]=e>>24-_&255;const a=Re(g0(Iu.sha512,this.chainCode,n)),i=a.slice(0,32),s=a.slice(32);let o=null,u=null;this.privateKey?o=$h(Oe.from(i).add(this.privateKey).mod(QZ)):u=new Sl(ze(i))._addPoint(this.publicKey);let y=r;const b=this.mnemonic;return b&&(y=Object.freeze({phrase:b.phrase,path:r,locale:b.locale||"en"})),new ca(_c,o,u,this.fingerprint,$h(s),e,this.depth+1,y)}derivePath(e){const r=e.split("/");if(r.length===0||r[0]==="m"&&this.depth!==0)throw new Error("invalid path - "+e);r[0]==="m"&&r.shift();let n=this;for(let a=0;a=Oc)throw new Error("invalid path index - "+i);n=n._derive(Oc+s)}else if(i.match(/^[0-9]+$/)){const s=parseInt(i);if(s>=Oc)throw new Error("invalid path index - "+i);n=n._derive(s)}else throw new Error("invalid path component - "+i)}return n}static _fromSeed(e,r){const n=Re(e);if(n.length<16||n.length>64)throw new Error("invalid seed");const a=Re(g0(Iu.sha512,eJ,n));return new ca(_c,$h(a.slice(0,32)),null,"0x00000000",$h(a.slice(32)),0,0,r)}static fromMnemonic(e,r,n){return n=N6(n),e=zy(jy(e,n),n),ca._fromSeed(XM(e,r),{phrase:e,path:"m",locale:n.locale})}static fromSeed(e){return ca._fromSeed(e,null)}static fromExtendedKey(e){const r=Du.decode(e);(r.length!==82||P7(r.slice(0,78))!==e)&&x0.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");const n=r[4],a=ze(r.slice(5,9)),i=parseInt(ze(r.slice(9,13)).substring(2),16),s=ze(r.slice(13,45)),o=r.slice(45,78);switch(ze(r.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new ca(_c,null,ze(o),a,s,i,n,null);case"0x0488ade4":case"0x04358394 ":if(o[0]!==0)break;return new ca(_c,ze(o.slice(1)),null,a,s,i,n,null)}return x0.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function XM(t,e){e||(e="");const r=Cr("mnemonic"+e,ns.NFKD);return R6(Cr(t,ns.NFKD),r,2048,64,"sha512")}function jy(t,e){e=N6(e),x0.checkNormalize();const r=e.split(t);if(r.length%3!==0)throw new Error("invalid mnemonic");const n=Re(new Uint8Array(Math.ceil(11*r.length/8)));let a=0;for(let y=0;y>3]|=1<<7-a%8),a++}const i=32*r.length/3,s=r.length/3,o=YM(s);if((Re(Rs(n.slice(0,i/8)))[0]&o)!==(n[n.length-1]&o))throw new Error("invalid checksum");return ze(n.slice(0,i/8))}function zy(t,e){if(e=N6(e),t=Re(t),t.length%4!==0||t.length<16||t.length>32)throw new Error("invalid entropy");const r=[0];let n=11;for(let s=0;s8?(r[r.length-1]<<=8,r[r.length-1]|=t[s],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=t[s]>>8-n,r.push(t[s]&tJ(8-n)),n+=3);const a=t.length/4,i=Re(Rs(t))[0]&YM(a);return r[r.length-1]<<=a,r[r.length-1]|=i>>8-a,e.join(r.map(s=>e.getWord(s)))}function rJ(t,e){try{return jy(t,e),!0}catch{}return!1}function nJ(t){return(typeof t!="number"||t<0||t>=Oc||t%1)&&x0.throwArgumentError("invalid account index","index",t),`m/44'/60'/${t}'/0/0`}const aJ="random/5.7.0";var D7={};const Vg=new le(aJ);function iJ(){if(typeof self<"u")return self;if(typeof window<"u")return window;if(typeof D7<"u")return D7;throw new Error("unable to locate global object")}const I7=iJ();let wp=I7.crypto||I7.msCrypto;(!wp||!wp.getRandomValues)&&(Vg.warn("WARNING: Missing strong random number source"),wp={getRandomValues:function(t){return Vg.throwError("no secure random source avaialble",le.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}});function nu(t){(t<=0||t>1024||t%1||t!=t)&&Vg.throwArgumentError("invalid length","length",t);const e=new Uint8Array(t);return wp.getRandomValues(e),Re(e)}function QM(t){t=t.slice();for(let e=t.length-1;e>0;e--){const r=Math.floor(Math.random()*(e+1)),n=t[e];t[e]=t[r],t[r]=n}return t}var eB={exports:{}};(function(t,e){(function(r){function n(w){return parseInt(w)===w}function a(w){if(!n(w.length))return!1;for(var x=0;x255)return!1;return!0}function i(w,x){if(w.buffer&&ArrayBuffer.isView(w)&&w.name==="Uint8Array")return x&&(w.slice?w=w.slice():w=Array.prototype.slice.call(w)),w;if(Array.isArray(w)){if(!a(w))throw new Error("Array contains invalid value: "+w);return new Uint8Array(w)}if(n(w.length)&&a(w))return new Uint8Array(w);throw new Error("unsupported array-like object")}function s(w){return new Uint8Array(w)}function o(w,x,S,R,L){(R!=null||L!=null)&&(w.slice?w=w.slice(R,L):w=Array.prototype.slice.call(w,R,L)),x.set(w,S)}var u=function(){function w(S){var R=[],L=0;for(S=encodeURI(S);L191&&F<224?(R.push(String.fromCharCode((F&31)<<6|S[L+1]&63)),L+=2):(R.push(String.fromCharCode((F&15)<<12|(S[L+1]&63)<<6|S[L+2]&63)),L+=3)}return R.join("")}return{toBytes:w,fromBytes:x}}(),y=function(){function w(R){for(var L=[],F=0;F>4]+x[G&15])}return L.join("")}return{toBytes:w,fromBytes:S}}(),b={16:10,24:12,32:14},_=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],A=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],T=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],k=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],C=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],P=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],B=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],D=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],N=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],$=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],j=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],Z=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],X=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],Y=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],re=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function M(w){for(var x=[],S=0;S>2,this._Ke[F][x%4]=L[x],this._Kd[w-F][x%4]=L[x];for(var G=0,z=R,V;z>16&255]<<24^A[V>>8&255]<<16^A[V&255]<<8^A[V>>24&255]^_[G]<<24,G+=1,R!=8)for(var x=1;x>8&255]<<8^A[V>>16&255]<<16^A[V>>24&255]<<24;for(var x=R/2+1;x>2,ie=z%4,this._Ke[se][ie]=L[x],this._Kd[w-se][ie]=L[x++],z++}for(var se=1;se>24&255]^X[V>>16&255]^Y[V>>8&255]^re[V&255]},l.prototype.encrypt=function(w){if(w.length!=16)throw new Error("invalid plaintext size (must be 16 bytes)");for(var x=this._Ke.length-1,S=[0,0,0,0],R=M(w),L=0;L<4;L++)R[L]^=this._Ke[0][L];for(var F=1;F>24&255]^C[R[(L+1)%4]>>16&255]^P[R[(L+2)%4]>>8&255]^B[R[(L+3)%4]&255]^this._Ke[F][L];R=S.slice()}for(var G=s(16),z,L=0;L<4;L++)z=this._Ke[x][L],G[4*L]=(A[R[L]>>24&255]^z>>24)&255,G[4*L+1]=(A[R[(L+1)%4]>>16&255]^z>>16)&255,G[4*L+2]=(A[R[(L+2)%4]>>8&255]^z>>8)&255,G[4*L+3]=(A[R[(L+3)%4]&255]^z)&255;return G},l.prototype.decrypt=function(w){if(w.length!=16)throw new Error("invalid ciphertext size (must be 16 bytes)");for(var x=this._Kd.length-1,S=[0,0,0,0],R=M(w),L=0;L<4;L++)R[L]^=this._Kd[0][L];for(var F=1;F>24&255]^N[R[(L+3)%4]>>16&255]^$[R[(L+2)%4]>>8&255]^j[R[(L+1)%4]&255]^this._Kd[F][L];R=S.slice()}for(var G=s(16),z,L=0;L<4;L++)z=this._Kd[x][L],G[4*L]=(T[R[L]>>24&255]^z>>24)&255,G[4*L+1]=(T[R[(L+3)%4]>>16&255]^z>>16)&255,G[4*L+2]=(T[R[(L+2)%4]>>8&255]^z>>8)&255,G[4*L+3]=(T[R[(L+1)%4]&255]^z)&255;return G};var d=function(w){if(!(this instanceof d))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new l(w)};d.prototype.encrypt=function(w){if(w=i(w),w.length%16!==0)throw new Error("invalid plaintext size (must be multiple of 16 bytes)");for(var x=s(w.length),S=s(16),R=0;R=0;--x)this._counter[x]=w%256,w=w>>8},v.prototype.setBytes=function(w){if(w=i(w,!0),w.length!=16)throw new Error("invalid counter bytes size (must be 16 bytes)");this._counter=w},v.prototype.increment=function(){for(var w=15;w>=0;w--)if(this._counter[w]===255)this._counter[w]=0;else{this._counter[w]++;break}};var E=function(w,x){if(!(this instanceof E))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",x instanceof v||(x=new v(x)),this._counter=x,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new l(w)};E.prototype.encrypt=function(w){for(var x=i(w,!0),S=0;S16)throw new Error("PKCS#7 padding byte out of range");for(var S=w.length-x,R=0;R=64;){let m=B,w=D,x=N,S=$,R=j,L=Z,F=X,G=Y,z,V,se,ie,U;for(V=0;V<16;V++)se=g+V*4,re[V]=(E[se]&255)<<24|(E[se+1]&255)<<16|(E[se+2]&255)<<8|E[se+3]&255;for(V=16;V<64;V++)z=re[V-2],ie=(z>>>17|z<<15)^(z>>>19|z<<13)^z>>>10,z=re[V-15],U=(z>>>7|z<<25)^(z>>>18|z<<14)^z>>>3,re[V]=(ie+re[V-7]|0)+(U+re[V-16]|0)|0;for(V=0;V<64;V++)ie=(((R>>>6|R<<26)^(R>>>11|R<<21)^(R>>>25|R<<7))+(R&L^~R&F)|0)+(G+(P[V]+re[V]|0)|0)|0,U=((m>>>2|m<<30)^(m>>>13|m<<19)^(m>>>22|m<<10))+(m&w^m&x^w&x)|0,G=F,F=L,L=R,R=S+ie|0,S=x,x=w,w=m,m=ie+U|0;B=B+m|0,D=D+w|0,N=N+x|0,$=$+S|0,j=j+R|0,Z=Z+L|0,X=X+F|0,Y=Y+G|0,g+=64,f-=64}}M(C);let l,d=C.length%64,h=C.length/536870912|0,c=C.length<<3,p=d<56?56:120,v=C.slice(C.length-d,C.length);for(v.push(128),l=d+1;l>>24&255),v.push(h>>>16&255),v.push(h>>>8&255),v.push(h>>>0&255),v.push(c>>>24&255),v.push(c>>>16&255),v.push(c>>>8&255),v.push(c>>>0&255),M(v),[B>>>24&255,B>>>16&255,B>>>8&255,B>>>0&255,D>>>24&255,D>>>16&255,D>>>8&255,D>>>0&255,N>>>24&255,N>>>16&255,N>>>8&255,N>>>0&255,$>>>24&255,$>>>16&255,$>>>8&255,$>>>0&255,j>>>24&255,j>>>16&255,j>>>8&255,j>>>0&255,Z>>>24&255,Z>>>16&255,Z>>>8&255,Z>>>0&255,X>>>24&255,X>>>16&255,X>>>8&255,X>>>0&255,Y>>>24&255,Y>>>16&255,Y>>>8&255,Y>>>0&255]}function i(C,P,B){C=C.length<=64?C:a(C);const D=64+P.length+4,N=new Array(D),$=new Array(64);let j,Z=[];for(j=0;j<64;j++)N[j]=54;for(j=0;j=D-4;Y--){if(N[Y]++,N[Y]<=255)return;N[Y]=0}}for(;B>=32;)X(),Z=Z.concat(a($.concat(a(N)))),B-=32;return B>0&&(X(),Z=Z.concat(a($.concat(a(N))).slice(0,B))),Z}function s(C,P,B,D,N){let $;for(b(C,(2*B-1)*16,N,0,16),$=0;$<2*B;$++)y(C,$*16,N,16),u(N,D),b(N,0,C,P+$*16,16);for($=0;$>>32-P}function u(C,P){b(C,0,P,0,16);for(let B=8;B>0;B-=2)P[4]^=o(P[0]+P[12],7),P[8]^=o(P[4]+P[0],9),P[12]^=o(P[8]+P[4],13),P[0]^=o(P[12]+P[8],18),P[9]^=o(P[5]+P[1],7),P[13]^=o(P[9]+P[5],9),P[1]^=o(P[13]+P[9],13),P[5]^=o(P[1]+P[13],18),P[14]^=o(P[10]+P[6],7),P[2]^=o(P[14]+P[10],9),P[6]^=o(P[2]+P[14],13),P[10]^=o(P[6]+P[2],18),P[3]^=o(P[15]+P[11],7),P[7]^=o(P[3]+P[15],9),P[11]^=o(P[7]+P[3],13),P[15]^=o(P[11]+P[7],18),P[1]^=o(P[0]+P[3],7),P[2]^=o(P[1]+P[0],9),P[3]^=o(P[2]+P[1],13),P[0]^=o(P[3]+P[2],18),P[6]^=o(P[5]+P[4],7),P[7]^=o(P[6]+P[5],9),P[4]^=o(P[7]+P[6],13),P[5]^=o(P[4]+P[7],18),P[11]^=o(P[10]+P[9],7),P[8]^=o(P[11]+P[10],9),P[9]^=o(P[8]+P[11],13),P[10]^=o(P[9]+P[8],18),P[12]^=o(P[15]+P[14],7),P[13]^=o(P[12]+P[15],9),P[14]^=o(P[13]+P[12],13),P[15]^=o(P[14]+P[13],18);for(let B=0;B<16;++B)C[B]+=P[B]}function y(C,P,B,D){for(let N=0;N=256)return!1}return!0}function A(C,P){if(typeof C!="number"||C%1)throw new Error("invalid "+P);return C}function T(C,P,B,D,N,$,j){if(B=A(B,"N"),D=A(D,"r"),N=A(N,"p"),$=A($,"dkLen"),B===0||B&B-1)throw new Error("N must be power of 2");if(B>2147483647/128/D)throw new Error("N too large");if(D>2147483647/128/N)throw new Error("r too large");if(!_(C))throw new Error("password must be an array or buffer");if(C=Array.prototype.slice.call(C),!_(P))throw new Error("salt must be an array or buffer");P=Array.prototype.slice.call(P);let Z=i(C,P,N*128*D);const X=new Uint32Array(N*32*D);for(let R=0;Rw&&(R=w);for(let F=0;Fw&&(R=w);for(let F=0;F>0&255),Z.push(X[F]>>8&255),Z.push(X[F]>>16&255),Z.push(X[F]>>24&255);const L=i(C,Z,$);return j&&j(null,1,L),L}j&&x(S)};if(!j)for(;;){const R=S();if(R!=null)return R}S()}const k={scrypt:function(C,P,B,D,N,$,j){return new Promise(function(Z,X){let Y=0;j&&j(0),T(C,P,B,D,N,$,function(re,M,l){if(re)X(re);else if(l)j&&Y!==1&&j(1),Z(new Uint8Array(l));else if(j&&M!==Y)return Y=M,j(M)})})},syncScrypt:function(C,P,B,D,N,$){return new Uint8Array(T(C,P,B,D,N,$))}};t.exports=k})()})(nB);var fJ=nB.exports;const z6=va(fJ);var dJ=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const Wg=new le(tB);function O7(t){return t!=null&&t.mnemonic&&t.mnemonic.phrase}class hJ extends Ql{isKeystoreAccount(e){return!!(e&&e._isKeystoreAccount)}}function pJ(t,e,r){if(Er(t,"crypto/cipher")==="aes-128-ctr"){const a=Cl(Er(t,"crypto/cipherparams/iv")),i=new Vi.Counter(a),s=new Vi.ModeOfOperation.ctr(e,i);return Re(s.decrypt(r))}return null}function aB(t,e){const r=Cl(Er(t,"crypto/ciphertext"));if(ze(Ut(Ht([e.slice(16,32),r]))).substring(2)!==Er(t,"crypto/mac").toLowerCase())throw new Error("invalid password");const a=pJ(t,e.slice(0,16),r);a||Wg.throwError("unsupported cipher",le.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});const i=e.slice(32,64),s=Co(a);if(t.address){let u=t.address.toLowerCase();if(u.substring(0,2)!=="0x"&&(u="0x"+u),It(u)!==s)throw new Error("address mismatch")}const o={_isKeystoreAccount:!0,address:s,privateKey:ze(a)};if(Er(t,"x-ethers/version")==="0.1"){const u=Cl(Er(t,"x-ethers/mnemonicCiphertext")),y=Cl(Er(t,"x-ethers/mnemonicCounter")),b=new Vi.Counter(y),_=new Vi.ModeOfOperation.ctr(i,b),A=Er(t,"x-ethers/path")||Ou,T=Er(t,"x-ethers/locale")||"en",k=Re(_.decrypt(u));try{const C=zy(k,T),P=ca.fromMnemonic(C,null,T).derivePath(A);if(P.privateKey!=o.privateKey)throw new Error("mnemonic mismatch");o.mnemonic=P.mnemonic}catch(C){if(C.code!==le.errors.INVALID_ARGUMENT||C.argument!=="wordlist")throw C}}return new hJ(o)}function iB(t,e,r,n,a){return Re(R6(t,e,r,n,a))}function yJ(t,e,r,n,a){return Promise.resolve(iB(t,e,r,n,a))}function sB(t,e,r,n,a){const i=$6(e),s=Er(t,"crypto/kdf");if(s&&typeof s=="string"){const o=function(u,y){return Wg.throwArgumentError("invalid key-derivation function parameters",u,y)};if(s.toLowerCase()==="scrypt"){const u=Cl(Er(t,"crypto/kdfparams/salt")),y=parseInt(Er(t,"crypto/kdfparams/n")),b=parseInt(Er(t,"crypto/kdfparams/r")),_=parseInt(Er(t,"crypto/kdfparams/p"));(!y||!b||!_)&&o("kdf",s),y&y-1&&o("N",y);const A=parseInt(Er(t,"crypto/kdfparams/dklen"));return A!==32&&o("dklen",A),n(i,u,y,b,_,64,a)}else if(s.toLowerCase()==="pbkdf2"){const u=Cl(Er(t,"crypto/kdfparams/salt"));let y=null;const b=Er(t,"crypto/kdfparams/prf");b==="hmac-sha256"?y="sha256":b==="hmac-sha512"?y="sha512":o("prf",b);const _=parseInt(Er(t,"crypto/kdfparams/c")),A=parseInt(Er(t,"crypto/kdfparams/dklen"));return A!==32&&o("dklen",A),r(i,u,_,A,y)}}return Wg.throwArgumentError("unsupported key-derivation function","kdf",s)}function mJ(t,e){const r=JSON.parse(t),n=sB(r,e,iB,z6.syncScrypt);return aB(r,n)}function bJ(t,e,r){return dJ(this,void 0,void 0,function*(){const n=JSON.parse(t),a=yield sB(n,e,yJ,z6.scrypt,r);return aB(n,a)})}function vJ(t,e,r,n){try{if(It(t.address)!==Co(t.privateKey))throw new Error("address/privateKey mismatch");if(O7(t)){const P=t.mnemonic;if(ca.fromMnemonic(P.phrase,null,P.locale).derivePath(P.path||Ou).privateKey!=t.privateKey)throw new Error("mnemonic mismatch")}}catch(P){return Promise.reject(P)}typeof r=="function"&&!n&&(n=r,r={}),r||(r={});const a=Re(t.privateKey),i=$6(e);let s=null,o=null,u=null;if(O7(t)){const P=t.mnemonic;s=Re(jy(P.phrase,P.locale||"en")),o=P.path||Ou,u=P.locale||"en"}let y=r.client;y||(y="ethers.js");let b=null;r.salt?b=Re(r.salt):b=nu(32);let _=null;if(r.iv){if(_=Re(r.iv),_.length!==16)throw new Error("invalid iv")}else _=nu(16);let A=null;if(r.uuid){if(A=Re(r.uuid),A.length!==16)throw new Error("invalid uuid")}else A=nu(16);let T=1<<17,k=8,C=1;return r.scrypt&&(r.scrypt.N&&(T=r.scrypt.N),r.scrypt.r&&(k=r.scrypt.r),r.scrypt.p&&(C=r.scrypt.p)),z6.scrypt(i,b,T,k,C,64,n).then(P=>{P=Re(P);const B=P.slice(0,16),D=P.slice(16,32),N=P.slice(32,64),$=new Vi.Counter(_),j=new Vi.ModeOfOperation.ctr(B,$),Z=Re(j.encrypt(a)),X=Ut(Ht([D,Z])),Y={address:t.address.substring(2).toLowerCase(),id:oJ(A),version:3,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:ze(_).substring(2)},ciphertext:ze(Z).substring(2),kdf:"scrypt",kdfparams:{salt:ze(b).substring(2),n:T,dklen:32,p:C,r:k},mac:X.substring(2)}};if(s){const re=nu(16),M=new Vi.Counter(re),l=new Vi.ModeOfOperation.ctr(N,M),d=Re(l.encrypt(s)),h=new Date,c=h.getUTCFullYear()+"-"+Lf(h.getUTCMonth()+1,2)+"-"+Lf(h.getUTCDate(),2)+"T"+Lf(h.getUTCHours(),2)+"-"+Lf(h.getUTCMinutes(),2)+"-"+Lf(h.getUTCSeconds(),2)+".0Z";Y["x-ethers"]={client:y,gethFilename:"UTC--"+c+"--"+Y.address,mnemonicCounter:ze(re).substring(2),mnemonicCiphertext:ze(d).substring(2),path:o,locale:u,version:"0.1"}}return JSON.stringify(Y)})}function gJ(t,e,r){if(L6(t)){r&&r(0);const n=rB(t,e);return r&&r(1),Promise.resolve(n)}return j6(t)?bJ(t,e,r):Promise.reject(new Error("invalid JSON wallet"))}function xJ(t,e){if(L6(t))return rB(t,e);if(j6(t))return mJ(t,e);throw new Error("invalid JSON wallet")}const wJ="wallet/5.7.0";var R7=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const Ec=new le(wJ);function _J(t){return t!=null&&ft(t.privateKey,32)&&t.address!=null}function EJ(t){const e=t.mnemonic;return e&&e.phrase}class oo extends cs{constructor(e,r){if(super(),_J(e)){const n=new Sl(e.privateKey);if(Ee(this,"_signingKey",()=>n),Ee(this,"address",Co(this.publicKey)),this.address!==It(e.address)&&Ec.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),EJ(e)){const a=e.mnemonic;Ee(this,"_mnemonic",()=>({phrase:a.phrase,path:a.path||Ou,locale:a.locale||"en"}));const i=this.mnemonic,s=ca.fromMnemonic(i.phrase,null,i.locale).derivePath(i.path);Co(s.privateKey)!==this.address&&Ec.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else Ee(this,"_mnemonic",()=>null)}else{if(Sl.isSigningKey(e))e.curve!=="secp256k1"&&Ec.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),Ee(this,"_signingKey",()=>e);else{typeof e=="string"&&e.match(/^[0-9a-f]*$/i)&&e.length===64&&(e="0x"+e);const n=new Sl(e);Ee(this,"_signingKey",()=>n)}Ee(this,"_mnemonic",()=>null),Ee(this,"address",Co(this.publicKey))}r&&!tc.isProvider(r)&&Ec.throwArgumentError("invalid provider","provider",r),Ee(this,"provider",r||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(e){return new oo(this,e)}signTransaction(e){return dr(e).then(r=>{r.from!=null&&(It(r.from)!==this.address&&Ec.throwArgumentError("transaction from address mismatch","transaction.from",e.from),delete r.from);const n=this._signingKey().signDigest(Ut(qg(r)));return qg(r,n)})}signMessage(e){return R7(this,void 0,void 0,function*(){return v1(this._signingKey().signDigest(T6(e)))})}_signTypedData(e,r,n){return R7(this,void 0,void 0,function*(){const a=yield an.resolveNames(e,r,n,i=>(this.provider==null&&Ec.throwError("cannot resolve ENS names without a provider",le.errors.UNSUPPORTED_OPERATION,{operation:"resolveName",value:i}),this.provider.resolveName(i)));return v1(this._signingKey().signDigest(an.hash(a.domain,r,a.value)))})}encrypt(e,r,n){if(typeof r=="function"&&!n&&(n=r,r={}),n&&typeof n!="function")throw new Error("invalid callback");return r||(r={}),vJ(this,e,r,n)}static createRandom(e){let r=nu(16);e||(e={}),e.extraEntropy&&(r=Re(yr(Ut(Ht([r,e.extraEntropy])),0,16)));const n=zy(r,e.locale);return oo.fromMnemonic(n,e.path,e.locale)}static fromEncryptedJson(e,r,n){return gJ(e,r,n).then(a=>new oo(a))}static fromEncryptedJsonSync(e,r){return new oo(xJ(e,r))}static fromMnemonic(e,r,n){return r||(r=Ou),new oo(ca.fromMnemonic(e,null,n).derivePath(r))}}function AJ(t,e){return G0(T6(t),e)}function SJ(t,e,r,n){return G0(an.hash(t,e,r),n)}const CJ="networks/5.7.1",N7=new le(CJ);function TJ(t){return t&&typeof t.renetwork=="function"}function ws(t){const e=function(r,n){n==null&&(n={});const a=[];if(r.InfuraProvider&&n.infura!=="-")try{a.push(new r.InfuraProvider(t,n.infura))}catch{}if(r.EtherscanProvider&&n.etherscan!=="-")try{a.push(new r.EtherscanProvider(t,n.etherscan))}catch{}if(r.AlchemyProvider&&n.alchemy!=="-")try{a.push(new r.AlchemyProvider(t,n.alchemy))}catch{}if(r.PocketProvider&&n.pocket!=="-"){const i=["goerli","ropsten","rinkeby","sepolia"];try{const s=new r.PocketProvider(t,n.pocket);s.network&&i.indexOf(s.network.name)===-1&&a.push(s)}catch{}}if(r.CloudflareProvider&&n.cloudflare!=="-")try{a.push(new r.CloudflareProvider(t))}catch{}if(r.AnkrProvider&&n.ankr!=="-")try{const i=["ropsten"],s=new r.AnkrProvider(t,n.ankr);s.network&&i.indexOf(s.network.name)===-1&&a.push(s)}catch{}if(a.length===0)return null;if(r.FallbackProvider){let i=1;return n.quorum!=null?i=n.quorum:t==="homestead"&&(i=2),new r.FallbackProvider(a,i)}return a[0]};return e.renetwork=function(r){return ws(r)},e}function B1(t,e){const r=function(n,a){return n.JsonRpcProvider?new n.JsonRpcProvider(t,e):null};return r.renetwork=function(n){return B1(t,n)},r}const $7={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:ws("homestead")},L7={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:ws("ropsten")},j7={chainId:63,name:"classicMordor",_defaultProvider:B1("https://www.ethercluster.com/mordor","classicMordor")},Lh={unspecified:{chainId:0,name:"unspecified"},homestead:$7,mainnet:$7,morden:{chainId:2,name:"morden"},ropsten:L7,testnet:L7,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:ws("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:ws("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:ws("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,name:"sepolia",_defaultProvider:ws("sepolia")},classic:{chainId:61,name:"classic",_defaultProvider:B1("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:j7,classicTestnet:j7,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:B1("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:ws("matic")},maticmum:{chainId:80001,name:"maticmum"},optimism:{chainId:10,name:"optimism",_defaultProvider:ws("optimism")},"optimism-kovan":{chainId:69,name:"optimism-kovan"},"optimism-goerli":{chainId:420,name:"optimism-goerli"},arbitrum:{chainId:42161,name:"arbitrum"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-goerli":{chainId:421613,name:"arbitrum-goerli"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};function U6(t){if(t==null)return null;if(typeof t=="number"){for(const n in Lh){const a=Lh[n];if(a.chainId===t)return{name:a.name,chainId:a.chainId,ensAddress:a.ensAddress||null,_defaultProvider:a._defaultProvider||null}}return{chainId:t,name:"unknown"}}if(typeof t=="string"){const n=Lh[t];return n==null?null:{name:n.name,chainId:n.chainId,ensAddress:n.ensAddress,_defaultProvider:n._defaultProvider||null}}const e=Lh[t.name];if(!e)return typeof t.chainId!="number"&&N7.throwArgumentError("invalid network chainId","network",t),t;t.chainId!==0&&t.chainId!==e.chainId&&N7.throwArgumentError("network chainId mismatch","network",t);let r=t._defaultProvider||null;return r==null&&e._defaultProvider&&(TJ(e._defaultProvider)?r=e._defaultProvider.renetwork(t):r=e._defaultProvider),{name:t.name,chainId:e.chainId,ensAddress:t.ensAddress||e.ensAddress||null,_defaultProvider:r}}const MJ="web/5.7.1";var BJ=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};function kJ(t,e){return BJ(this,void 0,void 0,function*(){e==null&&(e={});const r={method:e.method||"GET",headers:e.headers||{},body:e.body||void 0};if(e.skipFetchSetup!==!0&&(r.mode="cors",r.cache="no-cache",r.credentials="same-origin",r.redirect="follow",r.referrer="client"),e.fetchOptions!=null){const s=e.fetchOptions;s.mode&&(r.mode=s.mode),s.cache&&(r.cache=s.cache),s.credentials&&(r.credentials=s.credentials),s.redirect&&(r.redirect=s.redirect),s.referrer&&(r.referrer=s.referrer)}const n=yield fetch(t,r),a=yield n.arrayBuffer(),i={};return n.headers.forEach?n.headers.forEach((s,o)=>{i[o.toLowerCase()]=s}):n.headers.keys().forEach(s=>{i[s.toLowerCase()]=n.headers.get(s)}),{headers:i,statusCode:n.status,statusMessage:n.statusText,body:Re(new Uint8Array(a))}})}var FJ=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const ni=new le(MJ);function z7(t){return new Promise(e=>{setTimeout(e,t)})}function Zs(t,e){if(t==null)return null;if(typeof t=="string")return t;if(Xu(t)){if(e&&(e.split("/")[0]==="text"||e.split(";")[0].trim()==="application/json"))try{return ec(t)}catch{}return ze(t)}return t}function PJ(t){return Cr(t.replace(/%([0-9a-f][0-9a-f])/gi,(e,r)=>String.fromCharCode(parseInt(r,16))))}function oB(t,e,r){const n=typeof t=="object"&&t.throttleLimit!=null?t.throttleLimit:12;ni.assertArgument(n>0&&n%1===0,"invalid connection throttle limit","connection.throttleLimit",n);const a=typeof t=="object"?t.throttleCallback:null,i=typeof t=="object"&&typeof t.throttleSlotInterval=="number"?t.throttleSlotInterval:100;ni.assertArgument(i>0&&i%1===0,"invalid connection throttle slot interval","connection.throttleSlotInterval",i);const s=typeof t=="object"?!!t.errorPassThrough:!1,o={};let u=null;const y={method:"GET"};let b=!1,_=2*60*1e3;if(typeof t=="string")u=t;else if(typeof t=="object"){if((t==null||t.url==null)&&ni.throwArgumentError("missing URL","connection.url",t),u=t.url,typeof t.timeout=="number"&&t.timeout>0&&(_=t.timeout),t.headers)for(const B in t.headers)o[B.toLowerCase()]={key:B,value:String(t.headers[B])},["if-none-match","if-modified-since"].indexOf(B.toLowerCase())>=0&&(b=!0);if(y.allowGzip=!!t.allowGzip,t.user!=null&&t.password!=null){u.substring(0,6)!=="https:"&&t.allowInsecureAuthentication!==!0&&ni.throwError("basic authentication requires a secure https url",le.errors.INVALID_ARGUMENT,{argument:"url",url:u,user:t.user,password:"[REDACTED]"});const B=t.user+":"+t.password;o.authorization={key:"Authorization",value:"Basic "+S6(Cr(B))}}t.skipFetchSetup!=null&&(y.skipFetchSetup=!!t.skipFetchSetup),t.fetchOptions!=null&&(y.fetchOptions=Jt(t.fetchOptions))}const A=new RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),T=u?u.match(A):null;if(T)try{const B={statusCode:200,statusMessage:"OK",headers:{"content-type":T[1]||"text/plain"},body:T[2]?A6(T[3]):PJ(T[3])};let D=B.body;return r&&(D=r(B.body,B)),Promise.resolve(D)}catch(B){ni.throwError("processing response error",le.errors.SERVER_ERROR,{body:Zs(T[1],T[2]),error:B,requestBody:null,requestMethod:"GET",url:u})}e&&(y.method="POST",y.body=e,o["content-type"]==null&&(o["content-type"]={key:"Content-Type",value:"application/octet-stream"}),o["content-length"]==null&&(o["content-length"]={key:"Content-Length",value:String(e.length)}));const k={};Object.keys(o).forEach(B=>{const D=o[B];k[D.key]=D.value}),y.headers=k;const C=function(){let B=null;return{promise:new Promise(function($,j){_&&(B=setTimeout(()=>{B!=null&&(B=null,j(ni.makeError("timeout",le.errors.TIMEOUT,{requestBody:Zs(y.body,k["content-type"]),requestMethod:y.method,timeout:_,url:u})))},_))}),cancel:function(){B!=null&&(clearTimeout(B),B=null)}}}(),P=function(){return FJ(this,void 0,void 0,function*(){for(let B=0;B=300)&&(C.cancel(),ni.throwError("bad response",le.errors.SERVER_ERROR,{status:D.statusCode,headers:D.headers,body:Zs(N,D.headers?D.headers["content-type"]:null),requestBody:Zs(y.body,k["content-type"]),requestMethod:y.method,url:u})),r)try{const $=yield r(N,D);return C.cancel(),$}catch($){if($.throttleRetry&&B{let o=null;if(i!=null)try{o=JSON.parse(ec(i))}catch(u){ni.throwError("invalid JSON",le.errors.SERVER_ERROR,{body:i,error:u})}return r&&(o=r(o,s)),o},a=null;if(e!=null){a=Cr(e);const i=typeof t=="string"?{url:t}:Jt(t);i.headers?Object.keys(i.headers).filter(o=>o.toLowerCase()==="content-type").length!==0||(i.headers=Jt(i.headers),i.headers["content-type"]="application/json"):i.headers={"content-type":"application/json"},t=i}return oB(t,a,n)}function vl(t,e){return e||(e={}),e=Jt(e),e.floor==null&&(e.floor=0),e.ceiling==null&&(e.ceiling=1e4),e.interval==null&&(e.interval=250),new Promise(function(r,n){let a=null,i=!1;const s=()=>i?!1:(i=!0,a&&clearTimeout(a),!0);e.timeout&&(a=setTimeout(()=>{s()&&n(new Error("timeout"))},e.timeout));const o=e.retryLimit;let u=0;function y(){return t().then(function(b){if(b!==void 0)s()&&r(b);else if(e.oncePoll)e.oncePoll.once("poll",y);else if(e.onceBlock)e.onceBlock.once("block",y);else if(!i){if(u++,u>o){s()&&n(new Error("retry limit reached"));return}let _=e.interval*parseInt(String(Math.random()*Math.pow(2,u)));_e.ceiling&&(_=e.ceiling),setTimeout(y,_)}return null},function(b){s()&&n(b)})}y()})}var k1="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Kg={};for(var jh=0;jh>25;return(t&33554431)<<5^-(e>>0&1)&996825010^-(e>>1&1)&642813549^-(e>>2&1)&513874426^-(e>>3&1)&1027748829^-(e>>4&1)&705979059}function lB(t){for(var e=1,r=0;r126)return"Invalid prefix ("+t+")";e=bu(e)^n>>5}for(e=bu(e),r=0;rr)throw new TypeError("Exceeds length limit");t=t.toLowerCase();var n=lB(t);if(typeof n=="string")throw new Error(n);for(var a=t+"1",i=0;i>5)throw new Error("Non 5-bit word");n=bu(n)^s,a+=k1.charAt(s)}for(i=0;i<6;++i)n=bu(n);for(n^=1,i=0;i<6;++i){var o=n>>(5-i)*5&31;a+=k1.charAt(o)}return a}function cB(t,e){if(e=e||90,t.length<8)return t+" too short";if(t.length>e)return"Exceeds length limit";var r=t.toLowerCase(),n=t.toUpperCase();if(t!==r&&t!==n)return"Mixed-case string "+t;t=r;var a=t.lastIndexOf("1");if(a===-1)return"No separator character for "+t;if(a===0)return"Missing prefix for "+t;var i=t.slice(0,a),s=t.slice(a+1);if(s.length<6)return"Data too short";var o=lB(i);if(typeof o=="string")return o;for(var u=[],y=0;y=s.length)&&u.push(_)}return o!==1?"Invalid checksum for "+t:{prefix:i,words:u}}function IJ(){var t=cB.apply(null,arguments);if(typeof t=="object")return t}function OJ(t){var e=cB.apply(null,arguments);if(typeof e=="object")return e;throw new Error(e)}function Uy(t,e,r,n){for(var a=0,i=0,s=(1<=r;)i-=r,o.push(a>>i&s);if(n)i>0&&o.push(a<=e)return"Excess padding";if(a<this.data(_,!0);return e.transaction={hash:s,type:y,accessList:Ye.allowNull(this.accessList.bind(this),null),blockHash:Ye.allowNull(s,null),blockNumber:Ye.allowNull(u,null),transactionIndex:Ye.allowNull(u,null),confirmations:Ye.allowNull(u,null),from:r,gasPrice:Ye.allowNull(n),maxPriorityFeePerGas:Ye.allowNull(n),maxFeePerGas:Ye.allowNull(n),gasLimit:n,to:Ye.allowNull(r,null),value:n,nonce:u,data:i,r:Ye.allowNull(this.uint256),s:Ye.allowNull(this.uint256),v:Ye.allowNull(u),creates:Ye.allowNull(r,null),raw:Ye.allowNull(i)},e.transactionRequest={from:Ye.allowNull(r),nonce:Ye.allowNull(u),gasLimit:Ye.allowNull(n),gasPrice:Ye.allowNull(n),maxPriorityFeePerGas:Ye.allowNull(n),maxFeePerGas:Ye.allowNull(n),to:Ye.allowNull(r),value:Ye.allowNull(n),data:Ye.allowNull(b),type:Ye.allowNull(u),accessList:Ye.allowNull(this.accessList.bind(this),null)},e.receiptLog={transactionIndex:u,blockNumber:u,transactionHash:s,address:r,topics:Ye.arrayOf(s),data:i,logIndex:u,blockHash:s},e.receipt={to:Ye.allowNull(this.address,null),from:Ye.allowNull(this.address,null),contractAddress:Ye.allowNull(r,null),transactionIndex:u,root:Ye.allowNull(o),gasUsed:n,logsBloom:Ye.allowNull(i),blockHash:s,transactionHash:s,logs:Ye.arrayOf(this.receiptLog.bind(this)),blockNumber:u,confirmations:Ye.allowNull(u,null),cumulativeGasUsed:n,effectiveGasPrice:Ye.allowNull(n),status:Ye.allowNull(u),type:y},e.block={hash:Ye.allowNull(s),parentHash:s,number:u,timestamp:u,nonce:Ye.allowNull(o),difficulty:this.difficulty.bind(this),gasLimit:n,gasUsed:n,miner:Ye.allowNull(r),extraData:i,transactions:Ye.allowNull(Ye.arrayOf(s)),baseFeePerGas:Ye.allowNull(n)},e.blockWithTransactions=Jt(e.block),e.blockWithTransactions.transactions=Ye.allowNull(Ye.arrayOf(this.transactionResponse.bind(this))),e.filter={fromBlock:Ye.allowNull(a,void 0),toBlock:Ye.allowNull(a,void 0),blockHash:Ye.allowNull(s,void 0),address:Ye.allowNull(r,void 0),topics:Ye.allowNull(this.topics.bind(this),void 0)},e.filterLog={blockNumber:Ye.allowNull(u),blockHash:Ye.allowNull(s),transactionIndex:u,removed:Ye.allowNull(this.boolean.bind(this)),address:r,data:Ye.allowFalsish(i,"0x"),topics:Ye.arrayOf(s),transactionHash:s,logIndex:u},e}accessList(e){return Vo(e||[])}number(e){return e==="0x"?0:Oe.from(e).toNumber()}type(e){return e==="0x"||e==null?0:Oe.from(e).toNumber()}bigNumber(e){return Oe.from(e)}boolean(e){if(typeof e=="boolean")return e;if(typeof e=="string"){if(e=e.toLowerCase(),e==="true")return!0;if(e==="false")return!1}throw new Error("invalid boolean - "+e)}hex(e,r){return typeof e=="string"&&(!r&&e.substring(0,2)!=="0x"&&(e="0x"+e),ft(e))?e.toLowerCase():jf.throwArgumentError("invalid hash","value",e)}data(e,r){const n=this.hex(e,r);if(n.length%2!==0)throw new Error("invalid data; odd-length - "+e);return n}address(e){return It(e)}callAddress(e){if(!ft(e,32))return null;const r=It(yr(e,12));return r===XT?null:r}contractAddress(e){return U0(e)}blockTag(e){if(e==null)return"latest";if(e==="earliest")return"0x0";switch(e){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return e}if(typeof e=="number"||ft(e))return Qu(e);throw new Error("invalid blockTag")}hash(e,r){const n=this.hex(e,r);return Ei(n)!==32?jf.throwArgumentError("invalid hash","value",e):n}difficulty(e){if(e==null)return null;const r=Oe.from(e);try{return r.toNumber()}catch{}return null}uint256(e){if(!ft(e))throw new Error("invalid uint256");return Gt(e,32)}_block(e,r){e.author!=null&&e.miner==null&&(e.miner=e.author);const n=e._difficulty!=null?e._difficulty:e.difficulty,a=Ye.check(r,e);return a._difficulty=n==null?null:Oe.from(n),a}block(e){return this._block(e,this.formats.block)}blockWithTransactions(e){return this._block(e,this.formats.blockWithTransactions)}transactionRequest(e){return Ye.check(this.formats.transactionRequest,e)}transactionResponse(e){e.gas!=null&&e.gasLimit==null&&(e.gasLimit=e.gas),e.to&&Oe.from(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),e.input!=null&&e.data==null&&(e.data=e.input),e.to==null&&e.creates==null&&(e.creates=this.contractAddress(e)),(e.type===1||e.type===2)&&e.accessList==null&&(e.accessList=[]);const r=Ye.check(this.formats.transaction,e);if(e.chainId!=null){let n=e.chainId;ft(n)&&(n=Oe.from(n).toNumber()),r.chainId=n}else{let n=e.networkId;n==null&&r.v==null&&(n=e.chainId),ft(n)&&(n=Oe.from(n).toNumber()),typeof n!="number"&&r.v!=null&&(n=(r.v-35)/2,n<0&&(n=0),n=parseInt(n)),typeof n!="number"&&(n=0),r.chainId=n}return r.blockHash&&r.blockHash.replace(/0/g,"")==="x"&&(r.blockHash=null),r}transaction(e){return HM(e)}receiptLog(e){return Ye.check(this.formats.receiptLog,e)}receipt(e){const r=Ye.check(this.formats.receipt,e);if(r.root!=null)if(r.root.length<=4){const n=Oe.from(r.root).toNumber();n===0||n===1?(r.status!=null&&r.status!==n&&jf.throwArgumentError("alt-root-status/status mismatch","value",{root:r.root,status:r.status}),r.status=n,delete r.root):jf.throwArgumentError("invalid alt-root-status","value.root",r.root)}else r.root.length!==66&&jf.throwArgumentError("invalid root hash","value.root",r.root);return r.status!=null&&(r.byzantium=!0),r}topics(e){return Array.isArray(e)?e.map(r=>this.topics(r)):e!=null?this.hash(e,!0):null}filter(e){return Ye.check(this.formats.filter,e)}filterLog(e){return Ye.check(this.formats.filterLog,e)}static check(e,r){const n={};for(const a in e)try{const i=e[a](r[a]);i!==void 0&&(n[a]=i)}catch(i){throw i.checkKey=a,i.checkValue=r[a],i}return n}static allowNull(e,r){return function(n){return n==null?r:e(n)}}static allowFalsish(e,r){return function(n){return n?e(n):r}}static arrayOf(e){return function(r){if(!Array.isArray(r))throw new Error("not an array");const n=[];return r.forEach(function(a){n.push(e(a))}),n}}}function uB(t){return t&&typeof t.isCommunityResource=="function"}function Zg(t){return uB(t)&&t.isCommunityResource()}let H7=!1;function q0(){H7||(H7=!0,console.log("========= NOTICE ========="),console.log("Request-Rate Exceeded (this message will not be repeated)"),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.io/api-keys/"),console.log("=========================="))}var ot=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const pt=new le(Pn),zJ=10;function G7(t){return t==null?"null":(Ei(t)!==32&&pt.throwArgumentError("invalid topic","topic",t),t.toLowerCase())}function q7(t){for(t=t.slice();t.length>0&&t[t.length-1]==null;)t.pop();return t.map(e=>{if(Array.isArray(e)){const r={};e.forEach(a=>{r[G7(a)]=!0});const n=Object.keys(r);return n.sort(),n.join("|")}else return G7(e)}).join("&")}function UJ(t){return t===""?[]:t.split(/&/g).map(e=>{if(e==="")return[];const r=e.split("|").map(n=>n==="null"?null:n);return r.length===1?r[0]:r})}function Ac(t){if(typeof t=="string"){if(t=t.toLowerCase(),Ei(t)===32)return"tx:"+t;if(t.indexOf(":")===-1)return t}else{if(Array.isArray(t))return"filter:*:"+q7(t);if(GW.isForkEvent(t))throw pt.warn("not implemented"),new Error("not implemented");if(t&&typeof t=="object")return"filter:"+(t.address||"*")+":"+q7(t.topics||[])}throw new Error("invalid event - "+t)}function zf(){return new Date().getTime()}function V7(t){return new Promise(e=>{setTimeout(e,t)})}const HJ=["block","network","pending","poll"];class GJ{constructor(e,r,n){Ee(this,"tag",e),Ee(this,"listener",r),Ee(this,"once",n),this._lastBlockNumber=-2,this._inflight=!1}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){const e=this.tag.split(":");return e[0]!=="tx"?null:e[1]}get filter(){const e=this.tag.split(":");if(e[0]!=="filter")return null;const r=e[1],n=UJ(e[2]),a={};return n.length>0&&(a.topics=n),r&&r!=="*"&&(a.address=r),a}pollable(){return this.tag.indexOf(":")>=0||HJ.indexOf(this.tag)>=0}}const qJ={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function h2(t){return Gt(Oe.from(t).toHexString(),32)}function W7(t){return Du.encode(Ht([t,yr(Rs(Rs(t)),0,4)]))}const fB=new RegExp("^(ipfs)://(.*)$","i"),K7=[new RegExp("^(https)://(.*)$","i"),new RegExp("^(data):(.*)$","i"),fB,new RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function _p(t,e){try{return ec(w0(t,e))}catch{}return null}function w0(t,e){if(t==="0x")return null;const r=Oe.from(yr(t,e,e+32)).toNumber(),n=Oe.from(yr(t,r,r+32)).toNumber();return yr(t,r+32,r+32+n)}function p2(t){return t.match(/^ipfs:\/\/ipfs\//i)?t=t.substring(12):t.match(/^ipfs:\/\//i)?t=t.substring(7):pt.throwArgumentError("unsupported IPFS format","link",t),`https://gateway.ipfs.io/ipfs/${t}`}function Z7(t){const e=Re(t);if(e.length>32)throw new Error("internal; should not happen");const r=new Uint8Array(32);return r.set(e,32-e.length),r}function VJ(t){if(t.length%32===0)return t;const e=new Uint8Array(Math.ceil(t.length/32)*32);return e.set(t),e}function dB(t){const e=[];let r=0;for(let n=0;nOe.from(e).eq(1)).catch(e=>{if(e.code===le.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,e})),this._supportsEip2544}_fetch(e,r){return ot(this,void 0,void 0,function*(){const n={to:this.address,ccipReadEnabled:!0,data:Tn([e,$d(this.name),r||"0x"])};let a=!1;(yield this.supportsWildcard())&&(a=!0,n.data=Tn(["0x9061b923",dB([hM(this.name),n.data])]));try{let i=yield this.provider.call(n);return Re(i).length%32===4&&pt.throwError("resolver threw error",le.errors.CALL_EXCEPTION,{transaction:n,data:i}),a&&(i=w0(i,0)),i}catch(i){if(i.code===le.errors.CALL_EXCEPTION)return null;throw i}})}_fetchBytes(e,r){return ot(this,void 0,void 0,function*(){const n=yield this._fetch(e,r);return n!=null?w0(n,0):null})}_getAddress(e,r){const n=qJ[String(e)];if(n==null&&pt.throwError(`unsupported coin type: ${e}`,le.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`}),n.ilk==="eth")return this.provider.formatter.address(r);const a=Re(r);if(n.p2pkh!=null){const i=r.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(i){const s=parseInt(i[1],16);if(i[2].length===s*2&&s>=1&&s<=75)return W7(Ht([[n.p2pkh],"0x"+i[2]]))}}if(n.p2sh!=null){const i=r.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(i){const s=parseInt(i[1],16);if(i[2].length===s*2&&s>=1&&s<=75)return W7(Ht([[n.p2sh],"0x"+i[2]]))}}if(n.prefix!=null){const i=a[1];let s=a[0];if(s===0?i!==20&&i!==32&&(s=-1):s=-1,s>=0&&a.length===2+i&&i>=1&&i<=75){const o=U7.toWords(a.slice(2));return o.unshift(s),U7.encode(n.prefix,o)}}return null}getAddress(e){return ot(this,void 0,void 0,function*(){if(e==null&&(e=60),e===60)try{const a=yield this._fetch("0x3b3b57de");return a==="0x"||a===v6?null:this.provider.formatter.callAddress(a)}catch(a){if(a.code===le.errors.CALL_EXCEPTION)return null;throw a}const r=yield this._fetchBytes("0xf1cb7e06",h2(e));if(r==null||r==="0x")return null;const n=this._getAddress(e,r);return n==null&&pt.throwError("invalid or unsupported coin data",le.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`,coinType:e,data:r}),n})}getAvatar(){return ot(this,void 0,void 0,function*(){const e=[{type:"name",content:this.name}];try{const r=yield this.getText("avatar");if(r==null)return null;for(let n=0;ns[u])}return pt.throwError("invalid or unsupported content hash data",le.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:e})})}getText(e){return ot(this,void 0,void 0,function*(){let r=Cr(e);r=Ht([h2(64),h2(r.length),r]),r.length%32!==0&&(r=Ht([r,Gt("0x",32-e.length%32)]));const n=yield this._fetchBytes("0x59d1d43c",ze(r));return n==null||n==="0x"?null:ec(n)})}}let y2=null,WJ=1;class Hy extends tc{constructor(e){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),Ee(this,"anyNetwork",e==="any"),this.anyNetwork&&(e=this.detectNetwork()),e instanceof Promise)this._networkPromise=e,e.catch(r=>{}),this._ready().catch(r=>{});else{const r=on(new.target,"getNetwork")(e);r?(Ee(this,"_network",r),this.emit("network",r,null)):pt.throwArgumentError("invalid network","network",e)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return ot(this,void 0,void 0,function*(){if(this._network==null){let e=null;if(this._networkPromise)try{e=yield this._networkPromise}catch{}e==null&&(e=yield this.detectNetwork()),e||pt.throwError("no network detected",le.errors.UNKNOWN_ERROR,{}),this._network==null&&(this.anyNetwork?this._network=e:Ee(this,"_network",e),this.emit("network",e,null))}return this._network})}get ready(){return vl(()=>this._ready().then(e=>e,e=>{if(!(e.code===le.errors.NETWORK_ERROR&&e.event==="noNetwork"))throw e}))}static getFormatter(){return y2==null&&(y2=new Ye),y2}static getNetwork(e){return U6(e??"homestead")}ccipReadFetch(e,r,n){return ot(this,void 0,void 0,function*(){if(this.disableCcipRead||n.length===0)return null;const a=e.to.toLowerCase(),i=r.toLowerCase(),s=[];for(let o=0;o=0?null:JSON.stringify({data:i,sender:a}),_=yield sf({url:y,errorPassThrough:!0},b,(T,k)=>(T.status=k.statusCode,T));if(_.data)return _.data;const A=_.message||"unknown error";if(_.status>=400&&_.status<500)return pt.throwError(`response not found during CCIP fetch: ${A}`,le.errors.SERVER_ERROR,{url:u,errorMessage:A});s.push(A)}return pt.throwError(`error encountered during CCIP fetch: ${s.map(o=>JSON.stringify(o)).join(", ")}`,le.errors.SERVER_ERROR,{urls:n,errorMessages:s})})}_getInternalBlockNumber(e){return ot(this,void 0,void 0,function*(){if(yield this._ready(),e>0)for(;this._internalBlockNumber;){const a=this._internalBlockNumber;try{const i=yield a;if(zf()-i.respTime<=e)return i.blockNumber;break}catch{if(this._internalBlockNumber===a)break}}const r=zf(),n=dr({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then(a=>null,a=>a)}).then(({blockNumber:a,networkError:i})=>{if(i)throw this._internalBlockNumber===n&&(this._internalBlockNumber=null),i;const s=zf();return a=Oe.from(a).toNumber(),a{this._internalBlockNumber===n&&(this._internalBlockNumber=null)}),(yield n).blockNumber})}poll(){return ot(this,void 0,void 0,function*(){const e=WJ++,r=[];let n=null;try{n=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(a){this.emit("error",a);return}if(this._setFastBlockNumber(n),this.emit("poll",e,n),n===this._lastBlockNumber){this.emit("didPoll",e);return}if(this._emitted.block===-2&&(this._emitted.block=n-1),Math.abs(this._emitted.block-n)>1e3)pt.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${n})`),this.emit("error",pt.makeError("network block skew detected",le.errors.NETWORK_ERROR,{blockNumber:n,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",n);else for(let a=this._emitted.block+1;a<=n;a++)this.emit("block",a);this._emitted.block!==n&&(this._emitted.block=n,Object.keys(this._emitted).forEach(a=>{if(a==="block")return;const i=this._emitted[a];i!=="pending"&&n-i>12&&delete this._emitted[a]})),this._lastBlockNumber===-2&&(this._lastBlockNumber=n-1),this._events.forEach(a=>{switch(a.type){case"tx":{const i=a.hash;let s=this.getTransactionReceipt(i).then(o=>(!o||o.blockNumber==null||(this._emitted["t:"+i]=o.blockNumber,this.emit(i,o)),null)).catch(o=>{this.emit("error",o)});r.push(s);break}case"filter":{if(!a._inflight){a._inflight=!0,a._lastBlockNumber===-2&&(a._lastBlockNumber=n-1);const i=a.filter;i.fromBlock=a._lastBlockNumber+1,i.toBlock=n;const s=i.toBlock-this._maxFilterBlockRange;s>i.fromBlock&&(i.fromBlock=s),i.fromBlock<0&&(i.fromBlock=0);const o=this.getLogs(i).then(u=>{a._inflight=!1,u.length!==0&&u.forEach(y=>{y.blockNumber>a._lastBlockNumber&&(a._lastBlockNumber=y.blockNumber),this._emitted["b:"+y.blockHash]=y.blockNumber,this._emitted["t:"+y.transactionHash]=y.blockNumber,this.emit(i,y)})}).catch(u=>{this.emit("error",u),a._inflight=!1});r.push(o)}break}}}),this._lastBlockNumber=n,Promise.all(r).then(()=>{this.emit("didPoll",e)}).catch(a=>{this.emit("error",a)})})}resetEventsBlock(e){this._lastBlockNumber=e-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return ot(this,void 0,void 0,function*(){return pt.throwError("provider does not support network detection",le.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})})}getNetwork(){return ot(this,void 0,void 0,function*(){const e=yield this._ready(),r=yield this.detectNetwork();if(e.chainId!==r.chainId){if(this.anyNetwork)return this._network=r,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",r,e),yield V7(0),this._network;const n=pt.makeError("underlying network changed",le.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:r});throw this.emit("error",n),n}return e})}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then(e=>{this._setFastBlockNumber(e)},e=>{}),this._fastBlockNumber!=null?this._fastBlockNumber:-1}get polling(){return this._poller!=null}set polling(e){e&&!this._poller?(this._poller=setInterval(()=>{this.poll()},this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout(()=>{this.poll(),this._bootstrapPoll=setTimeout(()=>{this._poller||this.poll(),this._bootstrapPoll=null},this.pollingInterval)},0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(e){if(typeof e!="number"||e<=0||parseInt(String(e))!=e)throw new Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval(()=>{this.poll()},this._pollingInterval))}_getFastBlockNumber(){const e=zf();return e-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=e,this._fastBlockNumberPromise=this.getBlockNumber().then(r=>((this._fastBlockNumber==null||r>this._fastBlockNumber)&&(this._fastBlockNumber=r),this._fastBlockNumber))),this._fastBlockNumberPromise}_setFastBlockNumber(e){this._fastBlockNumber!=null&&ethis._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))}waitForTransaction(e,r,n){return ot(this,void 0,void 0,function*(){return this._waitForTransaction(e,r??1,n||0,null)})}_waitForTransaction(e,r,n,a){return ot(this,void 0,void 0,function*(){const i=yield this.getTransactionReceipt(e);return(i?i.confirmations:0)>=r?i:new Promise((s,o)=>{const u=[];let y=!1;const b=function(){return y?!0:(y=!0,u.forEach(A=>{A()}),!1)},_=A=>{A.confirmations{this.removeListener(e,_)}),a){let A=a.startBlock,T=null;const k=C=>ot(this,void 0,void 0,function*(){y||(yield V7(1e3),this.getTransactionCount(a.from).then(P=>ot(this,void 0,void 0,function*(){if(!y){if(P<=a.nonce)A=C;else{{const B=yield this.getTransaction(e);if(B&&B.blockNumber!=null)return}for(T==null&&(T=A-3,T{y||this.once("block",k)}))});if(y)return;this.once("block",k),u.push(()=>{this.removeListener("block",k)})}if(typeof n=="number"&&n>0){const A=setTimeout(()=>{b()||o(pt.makeError("timeout exceeded",le.errors.TIMEOUT,{timeout:n}))},n);A.unref&&A.unref(),u.push(()=>{clearTimeout(A)})}})})}getBlockNumber(){return ot(this,void 0,void 0,function*(){return this._getInternalBlockNumber(0)})}getGasPrice(){return ot(this,void 0,void 0,function*(){yield this.getNetwork();const e=yield this.perform("getGasPrice",{});try{return Oe.from(e)}catch(r){return pt.throwError("bad result from backend",le.errors.SERVER_ERROR,{method:"getGasPrice",result:e,error:r})}})}getBalance(e,r){return ot(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield dr({address:this._getAddress(e),blockTag:this._getBlockTag(r)}),a=yield this.perform("getBalance",n);try{return Oe.from(a)}catch(i){return pt.throwError("bad result from backend",le.errors.SERVER_ERROR,{method:"getBalance",params:n,result:a,error:i})}})}getTransactionCount(e,r){return ot(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield dr({address:this._getAddress(e),blockTag:this._getBlockTag(r)}),a=yield this.perform("getTransactionCount",n);try{return Oe.from(a).toNumber()}catch(i){return pt.throwError("bad result from backend",le.errors.SERVER_ERROR,{method:"getTransactionCount",params:n,result:a,error:i})}})}getCode(e,r){return ot(this,void 0,void 0,function*(){yield this.getNetwork();const n=yield dr({address:this._getAddress(e),blockTag:this._getBlockTag(r)}),a=yield this.perform("getCode",n);try{return ze(a)}catch(i){return pt.throwError("bad result from backend",le.errors.SERVER_ERROR,{method:"getCode",params:n,result:a,error:i})}})}getStorageAt(e,r,n){return ot(this,void 0,void 0,function*(){yield this.getNetwork();const a=yield dr({address:this._getAddress(e),blockTag:this._getBlockTag(n),position:Promise.resolve(r).then(s=>Qu(s))}),i=yield this.perform("getStorageAt",a);try{return ze(i)}catch(s){return pt.throwError("bad result from backend",le.errors.SERVER_ERROR,{method:"getStorageAt",params:a,result:i,error:s})}})}_wrapTransaction(e,r,n){if(r!=null&&Ei(r)!==32)throw new Error("invalid response - sendTransaction");const a=e;return r!=null&&e.hash!==r&&pt.throwError("Transaction hash mismatch from Provider.sendTransaction.",le.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:r}),a.wait=(i,s)=>ot(this,void 0,void 0,function*(){i==null&&(i=1),s==null&&(s=0);let o;i!==0&&n!=null&&(o={data:e.data,from:e.from,nonce:e.nonce,to:e.to,value:e.value,startBlock:n});const u=yield this._waitForTransaction(e.hash,i,s,o);return u==null&&i===0?null:(this._emitted["t:"+e.hash]=u.blockNumber,u.status===0&&pt.throwError("transaction failed",le.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:u}),u)}),a}sendTransaction(e){return ot(this,void 0,void 0,function*(){yield this.getNetwork();const r=yield Promise.resolve(e).then(i=>ze(i)),n=this.formatter.transaction(e);n.confirmations==null&&(n.confirmations=0);const a=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{const i=yield this.perform("sendTransaction",{signedTransaction:r});return this._wrapTransaction(n,i,a)}catch(i){throw i.transaction=n,i.transactionHash=n.hash,i}})}_getTransactionRequest(e){return ot(this,void 0,void 0,function*(){const r=yield e,n={};return["from","to"].forEach(a=>{r[a]!=null&&(n[a]=Promise.resolve(r[a]).then(i=>i?this._getAddress(i):null))}),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach(a=>{r[a]!=null&&(n[a]=Promise.resolve(r[a]).then(i=>i?Oe.from(i):null))}),["type"].forEach(a=>{r[a]!=null&&(n[a]=Promise.resolve(r[a]).then(i=>i??null))}),r.accessList&&(n.accessList=this.formatter.accessList(r.accessList)),["data"].forEach(a=>{r[a]!=null&&(n[a]=Promise.resolve(r[a]).then(i=>i?ze(i):null))}),this.formatter.transactionRequest(yield dr(n))})}_getFilter(e){return ot(this,void 0,void 0,function*(){e=yield e;const r={};return e.address!=null&&(r.address=this._getAddress(e.address)),["blockHash","topics"].forEach(n=>{e[n]!=null&&(r[n]=e[n])}),["fromBlock","toBlock"].forEach(n=>{e[n]!=null&&(r[n]=this._getBlockTag(e[n]))}),this.formatter.filter(yield dr(r))})}_call(e,r,n){return ot(this,void 0,void 0,function*(){n>=zJ&&pt.throwError("CCIP read exceeded maximum redirections",le.errors.SERVER_ERROR,{redirects:n,transaction:e});const a=e.to,i=yield this.perform("call",{transaction:e,blockTag:r});if(n>=0&&r==="latest"&&a!=null&&i.substring(0,10)==="0x556f1830"&&Ei(i)%32===4)try{const s=yr(i,4),o=yr(s,0,32);Oe.from(o).eq(a)||pt.throwError("CCIP Read sender did not match",le.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});const u=[],y=Oe.from(yr(s,32,64)).toNumber(),b=Oe.from(yr(s,y,y+32)).toNumber(),_=yr(s,y+32);for(let B=0;Bot(this,void 0,void 0,function*(){const i=yield this.perform("getBlock",a);if(i==null)return a.blockHash!=null&&this._emitted["b:"+a.blockHash]==null||a.blockTag!=null&&n>this._emitted.block?null:void 0;if(r){let s=null;for(let u=0;uthis._wrapTransaction(u)),o}return this.formatter.block(i)}),{oncePoll:this})})}getBlock(e){return this._getBlock(e,!1)}getBlockWithTransactions(e){return this._getBlock(e,!0)}getTransaction(e){return ot(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;const r={transactionHash:this.formatter.hash(e,!0)};return vl(()=>ot(this,void 0,void 0,function*(){const n=yield this.perform("getTransaction",r);if(n==null)return this._emitted["t:"+e]==null?null:void 0;const a=this.formatter.transactionResponse(n);if(a.blockNumber==null)a.confirmations=0;else if(a.confirmations==null){let s=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-a.blockNumber+1;s<=0&&(s=1),a.confirmations=s}return this._wrapTransaction(a)}),{oncePoll:this})})}getTransactionReceipt(e){return ot(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;const r={transactionHash:this.formatter.hash(e,!0)};return vl(()=>ot(this,void 0,void 0,function*(){const n=yield this.perform("getTransactionReceipt",r);if(n==null)return this._emitted["t:"+e]==null?null:void 0;if(n.blockHash==null)return;const a=this.formatter.receipt(n);if(a.blockNumber==null)a.confirmations=0;else if(a.confirmations==null){let s=(yield this._getInternalBlockNumber(100+2*this.pollingInterval))-a.blockNumber+1;s<=0&&(s=1),a.confirmations=s}return a}),{oncePoll:this})})}getLogs(e){return ot(this,void 0,void 0,function*(){yield this.getNetwork();const r=yield dr({filter:this._getFilter(e)}),n=yield this.perform("getLogs",r);return n.forEach(a=>{a.removed==null&&(a.removed=!1)}),Ye.arrayOf(this.formatter.filterLog.bind(this.formatter))(n)})}getEtherPrice(){return ot(this,void 0,void 0,function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})})}_getBlockTag(e){return ot(this,void 0,void 0,function*(){if(e=yield e,typeof e=="number"&&e<0){e%1&&pt.throwArgumentError("invalid BlockTag","blockTag",e);let r=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return r+=e,r<0&&(r=0),this.formatter.blockTag(r)}return this.formatter.blockTag(e)})}getResolver(e){return ot(this,void 0,void 0,function*(){let r=e;for(;;){if(r===""||r==="."||e!=="eth"&&r==="eth")return null;const n=yield this._getResolver(r,"getResolver");if(n!=null){const a=new Jg(this,n,e);return r!==e&&!(yield a.supportsWildcard())?null:a}r=r.split(".").slice(1).join(".")}})}_getResolver(e,r){return ot(this,void 0,void 0,function*(){r==null&&(r="ENS");const n=yield this.getNetwork();n.ensAddress||pt.throwError("network does not support ENS",le.errors.UNSUPPORTED_OPERATION,{operation:r,network:n.name});try{const a=yield this.call({to:n.ensAddress,data:"0x0178b8bf"+$d(e).substring(2)});return this.formatter.callAddress(a)}catch{}return null})}resolveName(e){return ot(this,void 0,void 0,function*(){e=yield e;try{return Promise.resolve(this.formatter.address(e))}catch(n){if(ft(e))throw n}typeof e!="string"&&pt.throwArgumentError("invalid ENS name","name",e);const r=yield this.getResolver(e);return r?yield r.getAddress():null})}lookupAddress(e){return ot(this,void 0,void 0,function*(){e=yield e,e=this.formatter.address(e);const r=e.substring(2).toLowerCase()+".addr.reverse",n=yield this._getResolver(r,"lookupAddress");if(n==null)return null;const a=_p(yield this.call({to:n,data:"0x691f3431"+$d(r).substring(2)}),0);return(yield this.resolveName(a))!=e?null:a})}getAvatar(e){return ot(this,void 0,void 0,function*(){let r=null;if(ft(e)){const i=this.formatter.address(e).substring(2).toLowerCase()+".addr.reverse",s=yield this._getResolver(i,"getAvatar");if(!s)return null;r=new Jg(this,s,i);try{const o=yield r.getAvatar();if(o)return o.url}catch(o){if(o.code!==le.errors.CALL_EXCEPTION)throw o}try{const o=_p(yield this.call({to:s,data:"0x691f3431"+$d(i).substring(2)}),0);r=yield this.getResolver(o)}catch(o){if(o.code!==le.errors.CALL_EXCEPTION)throw o;return null}}else if(r=yield this.getResolver(e),!r)return null;const n=yield r.getAvatar();return n==null?null:n.url})}perform(e,r){return pt.throwError(e+" not implemented",le.errors.NOT_IMPLEMENTED,{operation:e})}_startEvent(e){this.polling=this._events.filter(r=>r.pollable()).length>0}_stopEvent(e){this.polling=this._events.filter(r=>r.pollable()).length>0}_addEventListener(e,r,n){const a=new GJ(Ac(e),r,n);return this._events.push(a),this._startEvent(a),this}on(e,r){return this._addEventListener(e,r,!1)}once(e,r){return this._addEventListener(e,r,!0)}emit(e,...r){let n=!1,a=[],i=Ac(e);return this._events=this._events.filter(s=>s.tag!==i?!0:(setTimeout(()=>{s.listener.apply(this,r)},0),n=!0,s.once?(a.push(s),!1):!0)),a.forEach(s=>{this._stopEvent(s)}),n}listenerCount(e){if(!e)return this._events.length;let r=Ac(e);return this._events.filter(n=>n.tag===r).length}listeners(e){if(e==null)return this._events.map(n=>n.listener);let r=Ac(e);return this._events.filter(n=>n.tag===r).map(n=>n.listener)}off(e,r){if(r==null)return this.removeAllListeners(e);const n=[];let a=!1,i=Ac(e);return this._events=this._events.filter(s=>s.tag!==i||s.listener!=r||a?!0:(a=!0,n.push(s),!1)),n.forEach(s=>{this._stopEvent(s)}),this}removeAllListeners(e){let r=[];if(e==null)r=this._events,this._events=[];else{const n=Ac(e);this._events=this._events.filter(a=>a.tag!==n?!0:(r.push(a),!1))}return r.forEach(n=>{this._stopEvent(n)}),this}}var vs=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const kr=new le(Pn),KJ=["call","estimateGas"];function zd(t,e){if(t==null)return null;if(typeof t.message=="string"&&t.message.match("reverted")){const r=ft(t.data)?t.data:null;if(!e||r)return{message:t.message,data:r}}if(typeof t=="object"){for(const r in t){const n=zd(t[r],e);if(n)return n}return null}if(typeof t=="string")try{return zd(JSON.parse(t),e)}catch{}return null}function hB(t,e,r){const n=r.transaction||r.signedTransaction;if(t==="call"){const i=zd(e,!0);if(i)return i.data;kr.throwError("missing revert data in call exception; Transaction reverted without a reason string",le.errors.CALL_EXCEPTION,{data:"0x",transaction:n,error:e})}if(t==="estimateGas"){let i=zd(e.body,!1);i==null&&(i=zd(e,!1)),i&&kr.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",le.errors.UNPREDICTABLE_GAS_LIMIT,{reason:i.message,method:t,transaction:n,error:e})}let a=e.message;throw e.code===le.errors.SERVER_ERROR&&e.error&&typeof e.error.message=="string"?a=e.error.message:typeof e.body=="string"?a=e.body:typeof e.responseText=="string"&&(a=e.responseText),a=(a||"").toLowerCase(),a.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)&&kr.throwError("insufficient funds for intrinsic transaction cost",le.errors.INSUFFICIENT_FUNDS,{error:e,method:t,transaction:n}),a.match(/nonce (is )?too low/i)&&kr.throwError("nonce has already been used",le.errors.NONCE_EXPIRED,{error:e,method:t,transaction:n}),a.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&kr.throwError("replacement fee too low",le.errors.REPLACEMENT_UNDERPRICED,{error:e,method:t,transaction:n}),a.match(/only replay-protected/i)&&kr.throwError("legacy pre-eip-155 transactions not supported",le.errors.UNSUPPORTED_OPERATION,{error:e,method:t,transaction:n}),KJ.indexOf(t)>=0&&a.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&kr.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",le.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,method:t,transaction:n}),e}function J7(t){return new Promise(function(e){setTimeout(e,t)})}function ZJ(t){if(t.error){const e=new Error(t.error.message);throw e.code=t.error.code,e.data=t.error.data,e}return t.result}function Uf(t){return t&&t.toLowerCase()}const Yg={};class H6 extends cs{constructor(e,r,n){if(super(),e!==Yg)throw new Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");Ee(this,"provider",r),n==null&&(n=0),typeof n=="string"?(Ee(this,"_address",this.provider.formatter.address(n)),Ee(this,"_index",null)):typeof n=="number"?(Ee(this,"_index",n),Ee(this,"_address",null)):kr.throwArgumentError("invalid address or index","addressOrIndex",n)}connect(e){return kr.throwError("cannot alter JSON-RPC Signer connection",le.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new JJ(Yg,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then(e=>(e.length<=this._index&&kr.throwError("unknown account #"+this._index,le.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(e[this._index])))}sendUncheckedTransaction(e){e=Jt(e);const r=this.getAddress().then(n=>(n&&(n=n.toLowerCase()),n));if(e.gasLimit==null){const n=Jt(e);n.from=r,e.gasLimit=this.provider.estimateGas(n)}return e.to!=null&&(e.to=Promise.resolve(e.to).then(n=>vs(this,void 0,void 0,function*(){if(n==null)return null;const a=yield this.provider.resolveName(n);return a==null&&kr.throwArgumentError("provided ENS name resolves to null","tx.to",n),a}))),dr({tx:dr(e),sender:r}).then(({tx:n,sender:a})=>{n.from!=null?n.from.toLowerCase()!==a&&kr.throwArgumentError("from address mismatch","transaction",e):n.from=a;const i=this.provider.constructor.hexlifyTransaction(n,{from:!0});return this.provider.send("eth_sendTransaction",[i]).then(s=>s,s=>(typeof s.message=="string"&&s.message.match(/user denied/i)&&kr.throwError("user rejected transaction",le.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:n}),hB("sendTransaction",s,i)))})}signTransaction(e){return kr.throwError("signing transactions is unsupported",le.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(e){return vs(this,void 0,void 0,function*(){const r=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),n=yield this.sendUncheckedTransaction(e);try{return yield vl(()=>vs(this,void 0,void 0,function*(){const a=yield this.provider.getTransaction(n);if(a!==null)return this.provider._wrapTransaction(a,n,r)}),{oncePoll:this.provider})}catch(a){throw a.transactionHash=n,a}})}signMessage(e){return vs(this,void 0,void 0,function*(){const r=typeof e=="string"?Cr(e):e,n=yield this.getAddress();try{return yield this.provider.send("personal_sign",[ze(r),n.toLowerCase()])}catch(a){throw typeof a.message=="string"&&a.message.match(/user denied/i)&&kr.throwError("user rejected signing",le.errors.ACTION_REJECTED,{action:"signMessage",from:n,messageData:e}),a}})}_legacySignMessage(e){return vs(this,void 0,void 0,function*(){const r=typeof e=="string"?Cr(e):e,n=yield this.getAddress();try{return yield this.provider.send("eth_sign",[n.toLowerCase(),ze(r)])}catch(a){throw typeof a.message=="string"&&a.message.match(/user denied/i)&&kr.throwError("user rejected signing",le.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:n,messageData:e}),a}})}_signTypedData(e,r,n){return vs(this,void 0,void 0,function*(){const a=yield an.resolveNames(e,r,n,s=>this.provider.resolveName(s)),i=yield this.getAddress();try{return yield this.provider.send("eth_signTypedData_v4",[i.toLowerCase(),JSON.stringify(an.getPayload(a.domain,r,a.value))])}catch(s){throw typeof s.message=="string"&&s.message.match(/user denied/i)&&kr.throwError("user rejected signing",le.errors.ACTION_REJECTED,{action:"_signTypedData",from:i,messageData:{domain:a.domain,types:r,value:a.value}}),s}})}unlock(e){return vs(this,void 0,void 0,function*(){const r=this.provider,n=yield this.getAddress();return r.send("personal_unlockAccount",[n.toLowerCase(),e,null])})}}class JJ extends H6{sendTransaction(e){return this.sendUncheckedTransaction(e).then(r=>({hash:r,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:n=>this.provider.waitForTransaction(r,n)}))}}const YJ={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};class Ul extends Hy{constructor(e,r){let n=r;n==null&&(n=new Promise((a,i)=>{setTimeout(()=>{this.detectNetwork().then(s=>{a(s)},s=>{i(s)})},0)})),super(n),e||(e=on(this.constructor,"defaultUrl")()),typeof e=="string"?Ee(this,"connection",Object.freeze({url:e})):Ee(this,"connection",Object.freeze(Jt(e))),this._nextId=42}get _cache(){return this._eventLoopCache==null&&(this._eventLoopCache={}),this._eventLoopCache}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return this._cache.detectNetwork||(this._cache.detectNetwork=this._uncachedDetectNetwork(),setTimeout(()=>{this._cache.detectNetwork=null},0)),this._cache.detectNetwork}_uncachedDetectNetwork(){return vs(this,void 0,void 0,function*(){yield J7(0);let e=null;try{e=yield this.send("eth_chainId",[])}catch{try{e=yield this.send("net_version",[])}catch{}}if(e!=null){const r=on(this.constructor,"getNetwork");try{return r(Oe.from(e).toNumber())}catch(n){return kr.throwError("could not detect network",le.errors.NETWORK_ERROR,{chainId:e,event:"invalidNetwork",serverError:n})}}return kr.throwError("could not detect network",le.errors.NETWORK_ERROR,{event:"noNetwork"})})}getSigner(e){return new H6(Yg,this,e)}getUncheckedSigner(e){return this.getSigner(e).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then(e=>e.map(r=>this.formatter.address(r)))}send(e,r){const n={method:e,params:r,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:Un(n),provider:this});const a=["eth_chainId","eth_blockNumber"].indexOf(e)>=0;if(a&&this._cache[e])return this._cache[e];const i=sf(this.connection,JSON.stringify(n),ZJ).then(s=>(this.emit("debug",{action:"response",request:n,response:s,provider:this}),s),s=>{throw this.emit("debug",{action:"response",error:s,request:n,provider:this}),s});return a&&(this._cache[e]=i,setTimeout(()=>{this._cache[e]=null},0)),i}prepareRequest(e,r){switch(e){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[Uf(r.address),r.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[Uf(r.address),r.blockTag]];case"getCode":return["eth_getCode",[Uf(r.address),r.blockTag]];case"getStorageAt":return["eth_getStorageAt",[Uf(r.address),Gt(r.position,32),r.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[r.signedTransaction]];case"getBlock":return r.blockTag?["eth_getBlockByNumber",[r.blockTag,!!r.includeTransactions]]:r.blockHash?["eth_getBlockByHash",[r.blockHash,!!r.includeTransactions]]:null;case"getTransaction":return["eth_getTransactionByHash",[r.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[r.transactionHash]];case"call":return["eth_call",[on(this.constructor,"hexlifyTransaction")(r.transaction,{from:!0}),r.blockTag]];case"estimateGas":return["eth_estimateGas",[on(this.constructor,"hexlifyTransaction")(r.transaction,{from:!0})]];case"getLogs":return r.filter&&r.filter.address!=null&&(r.filter.address=Uf(r.filter.address)),["eth_getLogs",[r.filter]]}return null}perform(e,r){return vs(this,void 0,void 0,function*(){if(e==="call"||e==="estimateGas"){const a=r.transaction;if(a&&a.type!=null&&Oe.from(a.type).isZero()&&a.maxFeePerGas==null&&a.maxPriorityFeePerGas==null){const i=yield this.getFeeData();i.maxFeePerGas==null&&i.maxPriorityFeePerGas==null&&(r=Jt(r),r.transaction=Jt(a),delete r.transaction.type)}}const n=this.prepareRequest(e,r);n==null&&kr.throwError(e+" not implemented",le.errors.NOT_IMPLEMENTED,{operation:e});try{return yield this.send(n[0],n[1])}catch(a){return hB(e,a,r)}})}_startEvent(e){e.tag==="pending"&&this._startPending(),super._startEvent(e)}_startPending(){if(this._pendingFilter!=null)return;const e=this,r=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=r,r.then(function(n){function a(){e.send("eth_getFilterChanges",[n]).then(function(i){if(e._pendingFilter!=r)return null;let s=Promise.resolve();return i.forEach(function(o){e._emitted["t:"+o.toLowerCase()]="pending",s=s.then(function(){return e.getTransaction(o).then(function(u){return e.emit("pending",u),null})})}),s.then(function(){return J7(1e3)})}).then(function(){if(e._pendingFilter!=r){e.send("eth_uninstallFilter",[n]);return}return setTimeout(function(){a()},0),null}).catch(i=>{})}return a(),n}).catch(n=>{})}_stopEvent(e){e.tag==="pending"&&this.listenerCount("pending")===0&&(this._pendingFilter=null),super._stopEvent(e)}static hexlifyTransaction(e,r){const n=Jt(YJ);if(r)for(const i in r)r[i]&&(n[i]=!0);h6(e,n);const a={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(function(i){if(e[i]==null)return;const s=Qu(Oe.from(e[i]));i==="gasLimit"&&(i="gas"),a[i]=s}),["from","to","data"].forEach(function(i){e[i]!=null&&(a[i]=ze(e[i]))}),e.accessList&&(a.accessList=Vo(e.accessList)),a}}let Ud=null;try{if(Ud=WebSocket,Ud==null)throw new Error("inject please")}catch{const e=new le(Pn);Ud=function(){e.throwError("WebSockets not supported in this environment",le.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}var m2=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const zh=new le(Pn);let XJ=1;class Gy extends Ul{constructor(e,r){r==="any"&&zh.throwError("WebSocketProvider does not support 'any' network yet",le.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),typeof e=="string"?super(e,r):super("_websocket",r),this._pollingInterval=-1,this._wsReady=!1,typeof e=="string"?Ee(this,"_websocket",new Ud(this.connection.url)):Ee(this,"_websocket",e),Ee(this,"_requests",{}),Ee(this,"_subs",{}),Ee(this,"_subIds",{}),Ee(this,"_detectNetwork",super.detectNetwork()),this.websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach(a=>{this.websocket.send(this._requests[a].payload)})},this.websocket.onmessage=a=>{const i=a.data,s=JSON.parse(i);if(s.id!=null){const o=String(s.id),u=this._requests[o];if(delete this._requests[o],s.result!==void 0)u.callback(null,s.result),this.emit("debug",{action:"response",request:JSON.parse(u.payload),response:s.result,provider:this});else{let y=null;s.error?(y=new Error(s.error.message||"unknown error"),Ee(y,"code",s.error.code||null),Ee(y,"response",i)):y=new Error("unknown error"),u.callback(y,void 0),this.emit("debug",{action:"response",error:y,request:JSON.parse(u.payload),provider:this})}}else if(s.method==="eth_subscription"){const o=this._subs[s.params.subscription];o&&o.processFunc(s.params.result)}else console.warn("this should not happen")};const n=setInterval(()=>{this.emit("poll")},1e3);n.unref&&n.unref()}get websocket(){return this._websocket}detectNetwork(){return this._detectNetwork}get pollingInterval(){return 0}resetEventsBlock(e){zh.throwError("cannot reset events block on WebSocketProvider",le.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})}set pollingInterval(e){zh.throwError("cannot set polling interval on WebSocketProvider",le.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})}poll(){return m2(this,void 0,void 0,function*(){return null})}set polling(e){e&&zh.throwError("cannot set polling on WebSocketProvider",le.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})}send(e,r){const n=XJ++;return new Promise((a,i)=>{function s(u,y){return u?i(u):a(y)}const o=JSON.stringify({method:e,params:r,id:n,jsonrpc:"2.0"});this.emit("debug",{action:"request",request:JSON.parse(o),provider:this}),this._requests[String(n)]={callback:s,payload:o},this._wsReady&&this.websocket.send(o)})}static defaultUrl(){return"ws://localhost:8546"}_subscribe(e,r,n){return m2(this,void 0,void 0,function*(){let a=this._subIds[e];a==null&&(a=Promise.all(r).then(s=>this.send("eth_subscribe",s)),this._subIds[e]=a);const i=yield a;this._subs[i]={tag:e,processFunc:n}})}_startEvent(e){switch(e.type){case"block":this._subscribe("block",["newHeads"],r=>{const n=Oe.from(r.number).toNumber();this._emitted.block=n,this.emit("block",n)});break;case"pending":this._subscribe("pending",["newPendingTransactions"],r=>{this.emit("pending",r)});break;case"filter":this._subscribe(e.tag,["logs",this._getFilter(e.filter)],r=>{r.removed==null&&(r.removed=!1),this.emit(e.filter,this.formatter.filterLog(r))});break;case"tx":{const r=n=>{const a=n.hash;this.getTransactionReceipt(a).then(i=>{i&&this.emit(a,i)})};r(e),this._subscribe("tx",["newHeads"],n=>{this._events.filter(a=>a.type==="tx").forEach(r)});break}case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",e);break}}_stopEvent(e){let r=e.tag;if(e.type==="tx"){if(this._events.filter(a=>a.type==="tx").length)return;r="tx"}else if(this.listenerCount(e.event))return;const n=this._subIds[r];n&&(delete this._subIds[r],n.then(a=>{this._subs[a]&&(delete this._subs[a],this.send("eth_unsubscribe",[a]))}))}destroy(){return m2(this,void 0,void 0,function*(){this.websocket.readyState===Ud.CONNECTING&&(yield new Promise(e=>{this.websocket.onopen=function(){e(!0)},this.websocket.onerror=function(){e(!1)}})),this.websocket.close(1e3)})}}var QJ=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const dd=new le(Pn);class pB extends Ul{detectNetwork(){const e=Object.create(null,{detectNetwork:{get:()=>super.detectNetwork}});return QJ(this,void 0,void 0,function*(){let r=this.network;return r==null&&(r=yield e.detectNetwork.call(this),r||dd.throwError("no network detected",le.errors.UNKNOWN_ERROR,{}),this._network==null&&(Ee(this,"_network",r),this.emit("network",r,null))),r})}}class Us extends pB{constructor(e,r){dd.checkAbstract(new.target,Us),e=on(new.target,"getNetwork")(e),r=on(new.target,"getApiKey")(r);const n=on(new.target,"getUrl")(e,r);super(n,e),typeof r=="string"?Ee(this,"apiKey",r):r!=null&&Object.keys(r).forEach(a=>{Ee(this,a,r[a])})}_startPending(){dd.warn("WARNING: API provider does not support pending filters")}isCommunityResource(){return!1}getSigner(e){return dd.throwError("API provider does not support signing",le.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})}listAccounts(){return Promise.resolve([])}static getApiKey(e){return e}static getUrl(e,r){return dd.throwError("not implemented; sub-classes must override getUrl",le.errors.NOT_IMPLEMENTED,{operation:"getUrl"})}}const Y7=new le(Pn),Ep="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";class yB extends Gy{constructor(e,r){const n=new G6(e,r),a=n.connection.url.replace(/^http/i,"ws").replace(".alchemyapi.",".ws.alchemyapi.");super(a,n.network),Ee(this,"apiKey",n.apiKey)}isCommunityResource(){return this.apiKey===Ep}}class G6 extends Us{static getWebSocketProvider(e,r){return new yB(e,r)}static getApiKey(e){return e==null?Ep:(e&&typeof e!="string"&&Y7.throwArgumentError("invalid apiKey","apiKey",e),e)}static getUrl(e,r){let n=null;switch(e.name){case"homestead":n="eth-mainnet.alchemyapi.io/v2/";break;case"goerli":n="eth-goerli.g.alchemy.com/v2/";break;case"matic":n="polygon-mainnet.g.alchemy.com/v2/";break;case"maticmum":n="polygon-mumbai.g.alchemy.com/v2/";break;case"arbitrum":n="arb-mainnet.g.alchemy.com/v2/";break;case"arbitrum-goerli":n="arb-goerli.g.alchemy.com/v2/";break;case"optimism":n="opt-mainnet.g.alchemy.com/v2/";break;case"optimism-goerli":n="opt-goerli.g.alchemy.com/v2/";break;default:Y7.throwArgumentError("unsupported network","network",arguments[0])}return{allowGzip:!0,url:"https://"+n+r,throttleCallback:(a,i)=>(r===Ep&&q0(),Promise.resolve(!0))}}isCommunityResource(){return this.apiKey===Ep}}const eY=new le(Pn),Uh="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";function tY(t){switch(t){case"homestead":return"rpc.ankr.com/eth/";case"ropsten":return"rpc.ankr.com/eth_ropsten/";case"rinkeby":return"rpc.ankr.com/eth_rinkeby/";case"goerli":return"rpc.ankr.com/eth_goerli/";case"matic":return"rpc.ankr.com/polygon/";case"arbitrum":return"rpc.ankr.com/arbitrum/"}return eY.throwArgumentError("unsupported network","name",t)}class mB extends Us{isCommunityResource(){return this.apiKey===Uh}static getApiKey(e){return e??Uh}static getUrl(e,r){r==null&&(r=Uh);const n={allowGzip:!0,url:"https://"+tY(e.name)+r,throttleCallback:(a,i)=>(r.apiKey===Uh&&q0(),Promise.resolve(!0))};return r.projectSecret!=null&&(n.user="",n.password=r.projectSecret),n}}var rY=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const X7=new le(Pn);class bB extends Us{static getApiKey(e){return e!=null&&X7.throwArgumentError("apiKey not supported for cloudflare","apiKey",e),null}static getUrl(e,r){let n=null;switch(e.name){case"homestead":n="https://cloudflare-eth.com/";break;default:X7.throwArgumentError("unsupported network","network",arguments[0])}return n}perform(e,r){const n=Object.create(null,{perform:{get:()=>super.perform}});return rY(this,void 0,void 0,function*(){return e==="getBlockNumber"?(yield n.perform.call(this,"getBlock",{blockTag:"latest"})).number:n.perform.call(this,e,r)})}}var Hh=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const lo=new le(Pn);function Q7(t){const e={};for(let r in t){if(t[r]==null)continue;let n=t[r];r==="type"&&n===0||({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0}[r]?n=Qu(ze(n)):r==="accessList"?n="["+Vo(n).map(a=>`{address:"${a.address}",storageKeys:["${a.storageKeys.join('","')}"]}`).join(",")+"]":n=ze(n),e[r]=n)}return e}function nY(t){if(t.status==0&&(t.message==="No records found"||t.message==="No transactions found"))return t.result;if(t.status!=1||typeof t.message!="string"||!t.message.match(/^OK/)){const e=new Error("invalid response");throw e.result=JSON.stringify(t),(t.result||"").toLowerCase().indexOf("rate limit")>=0&&(e.throttleRetry=!0),e}return t.result}function e9(t){if(t&&t.status==0&&t.message=="NOTOK"&&(t.result||"").toLowerCase().indexOf("rate limit")>=0){const e=new Error("throttled response");throw e.result=JSON.stringify(t),e.throttleRetry=!0,e}if(t.jsonrpc!="2.0"){const e=new Error("invalid response");throw e.result=JSON.stringify(t),e}if(t.error){const e=new Error(t.error.message||"unknown error");throw t.error.code&&(e.code=t.error.code),t.error.data&&(e.data=t.error.data),e}return t.result}function t9(t){if(t==="pending")throw new Error("pending not supported");return t==="latest"?t:parseInt(t.substring(2),16)}function b2(t,e,r){if(t==="call"&&e.code===le.errors.SERVER_ERROR){const a=e.error;if(a&&(a.message.match(/reverted/i)||a.message.match(/VM execution error/i))){let i=a.data;if(i&&(i="0x"+i.replace(/^.*0x/i,"")),ft(i))return i;lo.throwError("missing revert data in call exception",le.errors.CALL_EXCEPTION,{error:e,data:"0x"})}}let n=e.message;throw e.code===le.errors.SERVER_ERROR&&(e.error&&typeof e.error.message=="string"?n=e.error.message:typeof e.body=="string"?n=e.body:typeof e.responseText=="string"&&(n=e.responseText)),n=(n||"").toLowerCase(),n.match(/insufficient funds/)&&lo.throwError("insufficient funds for intrinsic transaction cost",le.errors.INSUFFICIENT_FUNDS,{error:e,method:t,transaction:r}),n.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&lo.throwError("nonce has already been used",le.errors.NONCE_EXPIRED,{error:e,method:t,transaction:r}),n.match(/another transaction with same nonce/)&&lo.throwError("replacement fee too low",le.errors.REPLACEMENT_UNDERPRICED,{error:e,method:t,transaction:r}),n.match(/execution failed due to an exception|execution reverted/)&&lo.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",le.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,method:t,transaction:r}),e}class vB extends Hy{constructor(e,r){super(e),Ee(this,"baseUrl",this.getBaseUrl()),Ee(this,"apiKey",r||null)}getBaseUrl(){switch(this.network?this.network.name:"invalid"){case"homestead":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"matic":return"https://api.polygonscan.com";case"maticmum":return"https://api-testnet.polygonscan.com";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io"}return lo.throwArgumentError("unsupported network","network",this.network.name)}getUrl(e,r){const n=Object.keys(r).reduce((i,s)=>{const o=r[s];return o!=null&&(i+=`&${s}=${o}`),i},""),a=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.baseUrl}/api?module=${e}${n}${a}`}getPostUrl(){return`${this.baseUrl}/api`}getPostData(e,r){return r.module=e,r.apikey=this.apiKey,r}fetch(e,r,n){return Hh(this,void 0,void 0,function*(){const a=n?this.getPostUrl():this.getUrl(e,r),i=n?this.getPostData(e,r):null,s=e==="proxy"?e9:nY;this.emit("debug",{action:"request",request:a,provider:this});const o={url:a,throttleSlotInterval:1e3,throttleCallback:(b,_)=>(this.isCommunityResource()&&q0(),Promise.resolve(!0))};let u=null;i&&(o.headers={"content-type":"application/x-www-form-urlencoded; charset=UTF-8"},u=Object.keys(i).map(b=>`${b}=${i[b]}`).join("&"));const y=yield sf(o,u,s||e9);return this.emit("debug",{action:"response",request:a,response:Un(y),provider:this}),y})}detectNetwork(){return Hh(this,void 0,void 0,function*(){return this.network})}perform(e,r){const n=Object.create(null,{perform:{get:()=>super.perform}});return Hh(this,void 0,void 0,function*(){switch(e){case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getBalance":return this.fetch("account",{action:"balance",address:r.address,tag:r.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:r.address,tag:r.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:r.address,tag:r.blockTag});case"getStorageAt":return this.fetch("proxy",{action:"eth_getStorageAt",address:r.address,position:r.position,tag:r.blockTag});case"sendTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:r.signedTransaction},!0).catch(a=>b2("sendTransaction",a,r.signedTransaction));case"getBlock":if(r.blockTag)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:r.blockTag,boolean:r.includeTransactions?"true":"false"});throw new Error("getBlock by blockHash not implemented");case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:r.transactionHash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:r.transactionHash});case"call":{if(r.blockTag!=="latest")throw new Error("EtherscanProvider does not support blockTag for call");const a=Q7(r.transaction);a.module="proxy",a.action="eth_call";try{return yield this.fetch("proxy",a,!0)}catch(i){return b2("call",i,r.transaction)}}case"estimateGas":{const a=Q7(r.transaction);a.module="proxy",a.action="eth_estimateGas";try{return yield this.fetch("proxy",a,!0)}catch(i){return b2("estimateGas",i,r.transaction)}}case"getLogs":{const a={action:"getLogs"};if(r.filter.fromBlock&&(a.fromBlock=t9(r.filter.fromBlock)),r.filter.toBlock&&(a.toBlock=t9(r.filter.toBlock)),r.filter.address&&(a.address=r.filter.address),r.filter.topics&&r.filter.topics.length>0&&(r.filter.topics.length>1&&lo.throwError("unsupported topic count",le.errors.UNSUPPORTED_OPERATION,{topics:r.filter.topics}),r.filter.topics.length===1)){const o=r.filter.topics[0];(typeof o!="string"||o.length!==66)&&lo.throwError("unsupported topic format",le.errors.UNSUPPORTED_OPERATION,{topic0:o}),a.topic0=o}const i=yield this.fetch("logs",a);let s={};for(let o=0;o{["contractAddress","to"].forEach(function(u){s[u]==""&&delete s[u]}),s.creates==null&&s.contractAddress!=null&&(s.creates=s.contractAddress);const o=this.formatter.transactionResponse(s);return s.timeStamp&&(o.timestamp=parseInt(s.timeStamp)),o})})}isCommunityResource(){return this.apiKey==null}}var F1=function(t,e,r,n){function a(i){return i instanceof r?i:new r(function(s){s(i)})}return new(r||(r=Promise))(function(i,s){function o(b){try{y(n.next(b))}catch(_){s(_)}}function u(b){try{y(n.throw(b))}catch(_){s(_)}}function y(b){b.done?i(b.value):a(b.value).then(o,u)}y((n=n.apply(t,e||[])).next())})};const fl=new le(Pn);function Gh(){return new Date().getTime()}function r9(t){let e=null;for(let r=0;re?null:(n+a)/2}function au(t){if(t===null)return"null";if(typeof t=="number"||typeof t=="boolean")return JSON.stringify(t);if(typeof t=="string")return t;if(Oe.isBigNumber(t))return t.toString();if(Array.isArray(t))return JSON.stringify(t.map(e=>au(e)));if(typeof t=="object"){const e=Object.keys(t);return e.sort(),"{"+e.map(r=>{let n=t[r];return typeof n=="function"?n="[function]":n=au(n),JSON.stringify(r)+":"+n}).join(",")+"}"}throw new Error("unknown value type: "+typeof t)}let aY=1;function a9(t){let e=null,r=null,n=new Promise(s=>{e=function(){r&&(clearTimeout(r),r=null),s()},r=setTimeout(e,t)});const a=s=>(n=n.then(s),n);function i(){return n}return{cancel:e,getPromise:i,wait:a}}const iY=[le.errors.CALL_EXCEPTION,le.errors.INSUFFICIENT_FUNDS,le.errors.NONCE_EXPIRED,le.errors.REPLACEMENT_UNDERPRICED,le.errors.UNPREDICTABLE_GAS_LIMIT],sY=["address","args","errorArgs","errorSignature","method","transaction"];function qh(t,e){const r={weight:t.weight};return Object.defineProperty(r,"provider",{get:()=>t.provider}),t.start&&(r.start=t.start),e&&(r.duration=e-t.start),t.done&&(t.error?r.error=t.error:r.result=t.result||null),r}function oY(t,e){return function(r){const n={};r.forEach(i=>{const s=t(i.result);n[s]||(n[s]={count:0,result:i.result}),n[s].count++});const a=Object.keys(n);for(let i=0;i=e)return s.result}}}function lY(t,e,r){let n=au;switch(e){case"getBlockNumber":return function(a){const i=a.map(o=>o.result);let s=n9(a.map(o=>o.result),2);if(s!=null)return s=Math.ceil(s),i.indexOf(s+1)>=0&&s++,s>=t._highestBlockNumber&&(t._highestBlockNumber=s),t._highestBlockNumber};case"getGasPrice":return function(a){const i=a.map(s=>s.result);return i.sort(),i[Math.floor(i.length/2)]};case"getEtherPrice":return function(a){return n9(a.map(i=>i.result))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":n=function(a){return a==null?null:(a=Jt(a),a.confirmations=-1,au(a))};break;case"getBlock":r.includeTransactions?n=function(a){return a==null?null:(a=Jt(a),a.transactions=a.transactions.map(i=>(i=Jt(i),i.confirmations=-1,i)),au(a))}:n=function(a){return a==null?null:au(a)};break;default:throw new Error("unknown method: "+e)}return oY(n,t.quorum)}function Hf(t,e){return F1(this,void 0,void 0,function*(){const r=t.provider;return r.blockNumber!=null&&r.blockNumber>=e||e===-1?r:vl(()=>new Promise((n,a)=>{setTimeout(function(){return r.blockNumber>=e?n(r):t.cancelled?n(null):n(void 0)},0)}),{oncePoll:r})})}function cY(t,e,r,n){return F1(this,void 0,void 0,function*(){let a=t.provider;switch(r){case"getBlockNumber":case"getGasPrice":return a[r]();case"getEtherPrice":if(a.getEtherPrice)return a.getEtherPrice();break;case"getBalance":case"getTransactionCount":case"getCode":return n.blockTag&&ft(n.blockTag)&&(a=yield Hf(t,e)),a[r](n.address,n.blockTag||"latest");case"getStorageAt":return n.blockTag&&ft(n.blockTag)&&(a=yield Hf(t,e)),a.getStorageAt(n.address,n.position,n.blockTag||"latest");case"getBlock":return n.blockTag&&ft(n.blockTag)&&(a=yield Hf(t,e)),a[n.includeTransactions?"getBlockWithTransactions":"getBlock"](n.blockTag||n.blockHash);case"call":case"estimateGas":return n.blockTag&&ft(n.blockTag)&&(a=yield Hf(t,e)),r==="call"&&n.blockTag?a[r](n.transaction,n.blockTag):a[r](n.transaction);case"getTransaction":case"getTransactionReceipt":return a[r](n.transactionHash);case"getLogs":{let i=n.filter;return(i.fromBlock&&ft(i.fromBlock)||i.toBlock&&ft(i.toBlock))&&(a=yield Hf(t,e)),a.getLogs(i)}}return fl.throwError("unknown method error",le.errors.UNKNOWN_ERROR,{method:r,params:n})})}class gB extends Hy{constructor(e,r){e.length===0&&fl.throwArgumentError("missing providers","providers",e);const n=e.map((s,o)=>{if(tc.isProvider(s)){const b=Zg(s)?2e3:750;return Object.freeze({provider:s,weight:1,stallTimeout:b,priority:1})}const u=Jt(s);u.priority==null&&(u.priority=1),u.stallTimeout==null&&(u.stallTimeout=Zg(s)?2e3:750),u.weight==null&&(u.weight=1);const y=u.weight;return(y%1||y>512||y<1)&&fl.throwArgumentError("invalid weight; must be integer in [1, 512]",`providers[${o}].weight`,y),Object.freeze(u)}),a=n.reduce((s,o)=>s+o.weight,0);r==null?r=a/2:r>a&&fl.throwArgumentError("quorum will always fail; larger than total weight","quorum",r);let i=r9(n.map(s=>s.provider.network));i==null&&(i=new Promise((s,o)=>{setTimeout(()=>{this.detectNetwork().then(s,o)},0)})),super(i),Ee(this,"providerConfigs",Object.freeze(n)),Ee(this,"quorum",r),this._highestBlockNumber=-1}detectNetwork(){return F1(this,void 0,void 0,function*(){const e=yield Promise.all(this.providerConfigs.map(r=>r.provider.getNetwork()));return r9(e)})}perform(e,r){return F1(this,void 0,void 0,function*(){if(e==="sendTransaction"){const u=yield Promise.all(this.providerConfigs.map(y=>y.provider.sendTransaction(r.signedTransaction).then(b=>b.hash,b=>b)));for(let y=0;yu.priority-y.priority);const i=this._highestBlockNumber;let s=0,o=!0;for(;;){const u=Gh();let y=a.filter(T=>T.runner&&u-T.startT+k.weight,0);for(;y{T.staller=null}),T.runner=cY(T,i,e,r).then(C=>{T.done=!0,T.result=C,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:k,backend:qh(T,Gh()),request:{method:e,params:Un(r)},provider:this})},C=>{T.done=!0,T.error=C,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:k,backend:qh(T,Gh()),request:{method:e,params:Un(r)},provider:this})}),this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:k,backend:qh(T,null),request:{method:e,params:Un(r)},provider:this}),y+=T.weight}const b=[];a.forEach(T=>{T.done||!T.runner||(b.push(T.runner),T.staller&&b.push(T.staller.getPromise()))}),b.length&&(yield Promise.race(b));const _=a.filter(T=>T.done&&T.error==null);if(_.length>=this.quorum){const T=n(_);if(T!==void 0)return a.forEach(k=>{k.staller&&k.staller.cancel(),k.cancelled=!0}),T;o||(yield a9(100).getPromise()),o=!1}const A=a.reduce((T,k)=>{if(!k.done||k.error==null)return T;const C=k.error.code;return iY.indexOf(C)>=0&&(T[C]||(T[C]={error:k.error,weight:0}),T[C].weight+=k.weight),T},{});if(Object.keys(A).forEach(T=>{const k=A[T];if(k.weight{B.staller&&B.staller.cancel(),B.cancelled=!0});const C=k.error,P={};sY.forEach(B=>{C[B]!=null&&(P[B]=C[B])}),fl.throwError(C.reason||C.message,T,P)}),a.filter(T=>!T.done).length===0)break}return a.forEach(u=>{u.staller&&u.staller.cancel(),u.cancelled=!0}),fl.throwError("failed to meet quorum",le.errors.SERVER_ERROR,{method:e,params:r,results:a.map(u=>qh(u)),provider:this})})}}const xB=null,Ap=new le(Pn),hd="84842078b09946638c03157f83405213";class wB extends Gy{constructor(e,r){const n=new q6(e,r),a=n.connection;a.password&&Ap.throwError("INFURA WebSocket project secrets unsupported",le.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});const i=a.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");super(i,e),Ee(this,"apiKey",n.projectId),Ee(this,"projectId",n.projectId),Ee(this,"projectSecret",n.projectSecret)}isCommunityResource(){return this.projectId===hd}}class q6 extends Us{static getWebSocketProvider(e,r){return new wB(e,r)}static getApiKey(e){const r={apiKey:hd,projectId:hd,projectSecret:null};return e==null||(typeof e=="string"?r.projectId=e:e.projectSecret!=null?(Ap.assertArgument(typeof e.projectId=="string","projectSecret requires a projectId","projectId",e.projectId),Ap.assertArgument(typeof e.projectSecret=="string","invalid projectSecret","projectSecret","[REDACTED]"),r.projectId=e.projectId,r.projectSecret=e.projectSecret):e.projectId&&(r.projectId=e.projectId),r.apiKey=r.projectId),r}static getUrl(e,r){let n=null;switch(e?e.name:"unknown"){case"homestead":n="mainnet.infura.io";break;case"goerli":n="goerli.infura.io";break;case"sepolia":n="sepolia.infura.io";break;case"matic":n="polygon-mainnet.infura.io";break;case"maticmum":n="polygon-mumbai.infura.io";break;case"optimism":n="optimism-mainnet.infura.io";break;case"optimism-goerli":n="optimism-goerli.infura.io";break;case"arbitrum":n="arbitrum-mainnet.infura.io";break;case"arbitrum-goerli":n="arbitrum-goerli.infura.io";break;default:Ap.throwError("unsupported network",le.errors.INVALID_ARGUMENT,{argument:"network",value:e})}const a={allowGzip:!0,url:"https://"+n+"/v3/"+r.projectId,throttleCallback:(i,s)=>(r.projectId===hd&&q0(),Promise.resolve(!0))};return r.projectSecret!=null&&(a.user="",a.password=r.projectSecret),a}isCommunityResource(){return this.projectId===hd}}class uY extends Ul{send(e,r){const n={method:e,params:r,id:this._nextId++,jsonrpc:"2.0"};this._pendingBatch==null&&(this._pendingBatch=[]);const a={request:n,resolve:null,reject:null},i=new Promise((s,o)=>{a.resolve=s,a.reject=o});return this._pendingBatch.push(a),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout(()=>{const s=this._pendingBatch;this._pendingBatch=null,this._pendingBatchAggregator=null;const o=s.map(u=>u.request);return this.emit("debug",{action:"requestBatch",request:Un(o),provider:this}),sf(this.connection,JSON.stringify(o)).then(u=>{this.emit("debug",{action:"response",request:o,response:u,provider:this}),s.forEach((y,b)=>{const _=u[b];if(_.error){const A=new Error(_.error.message);A.code=_.error.code,A.data=_.error.data,y.reject(A)}else y.resolve(_.result)})},u=>{this.emit("debug",{action:"response",error:u,request:o,provider:this}),s.forEach(y=>{y.reject(u)})})},10)),i}}const v2=new le(Pn),fY="ETHERS_JS_SHARED";class _B extends Us{static getApiKey(e){return e&&typeof e!="string"&&v2.throwArgumentError("invalid apiKey","apiKey",e),e||fY}static getUrl(e,r){v2.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");let n=null;switch(e.name){case"homestead":n="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":n="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":n="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":n="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":n="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:v2.throwArgumentError("unsupported network","network",arguments[0])}return n+"?apiKey="+r}}const i9=new le(Pn),s9="62e1ad51b37b8e00394bda3b";class EB extends Us{static getApiKey(e){const r={applicationId:null,loadBalancer:!0,applicationSecretKey:null};return e==null?r.applicationId=s9:typeof e=="string"?r.applicationId=e:e.applicationSecretKey!=null?(r.applicationId=e.applicationId,r.applicationSecretKey=e.applicationSecretKey):e.applicationId?r.applicationId=e.applicationId:i9.throwArgumentError("unsupported PocketProvider apiKey","apiKey",e),r}static getUrl(e,r){let n=null;switch(e?e.name:"unknown"){case"goerli":n="eth-goerli.gateway.pokt.network";break;case"homestead":n="eth-mainnet.gateway.pokt.network";break;case"kovan":n="poa-kovan.gateway.pokt.network";break;case"matic":n="poly-mainnet.gateway.pokt.network";break;case"maticmum":n="polygon-mumbai-rpc.gateway.pokt.network";break;case"rinkeby":n="eth-rinkeby.gateway.pokt.network";break;case"ropsten":n="eth-ropsten.gateway.pokt.network";break;default:i9.throwError("unsupported network",le.errors.INVALID_ARGUMENT,{argument:"network",value:e})}const a=`https://${n}/v1/lb/${r.applicationId}`,i={headers:{},url:a};return r.applicationSecretKey!=null&&(i.user="",i.password=r.applicationSecretKey),i}isCommunityResource(){return this.applicationId===s9}}const o9=new le(Pn);let dY=1;function l9(t,e){const r="Web3LegacyFetcher";return function(n,a){const i={method:n,params:a,id:dY++,jsonrpc:"2.0"};return new Promise((s,o)=>{this.emit("debug",{action:"request",fetcher:r,request:Un(i),provider:this}),e(i,(u,y)=>{if(u)return this.emit("debug",{action:"response",fetcher:r,error:u,request:i,provider:this}),o(u);if(this.emit("debug",{action:"response",fetcher:r,request:i,response:y,provider:this}),y.error){const b=new Error(y.error.message);return b.code=y.error.code,b.data=y.error.data,o(b)}s(y.result)})})}}function hY(t){return function(e,r){r==null&&(r=[]);const n={method:e,params:r};return this.emit("debug",{action:"request",fetcher:"Eip1193Fetcher",request:Un(n),provider:this}),t.request(n).then(a=>(this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:n,response:a,provider:this}),a),a=>{throw this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:n,error:a,provider:this}),a})}}class V6 extends Ul{constructor(e,r){e==null&&o9.throwArgumentError("missing provider","provider",e);let n=null,a=null,i=null;typeof e=="function"?(n="unknown:",a=e):(n=e.host||e.path||"",!n&&e.isMetaMask&&(n="metamask"),i=e,e.request?(n===""&&(n="eip-1193:"),a=hY(e)):e.sendAsync?a=l9(e,e.sendAsync.bind(e)):e.send?a=l9(e,e.send.bind(e)):o9.throwArgumentError("unsupported provider","provider",e),n||(n="unknown:")),super(n,r),Ee(this,"jsonRpcFetchFunc",a),Ee(this,"provider",i)}send(e,r){return this.jsonRpcFetchFunc(e,r)}}const c9=new le(Pn);function W6(t,e){if(t==null&&(t="homestead"),typeof t=="string"){const n=t.match(/^(ws|http)s?:/i);if(n)switch(n[1].toLowerCase()){case"http":case"https":return new Ul(t);case"ws":case"wss":return new Gy(t);default:c9.throwArgumentError("unsupported URL scheme","network",t)}}const r=U6(t);return(!r||!r._defaultProvider)&&c9.throwError("unsupported getDefaultProvider network",le.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:t}),r._defaultProvider({FallbackProvider:gB,AlchemyProvider:G6,AnkrProvider:mB,CloudflareProvider:bB,EtherscanProvider:vB,InfuraProvider:q6,JsonRpcProvider:Ul,NodesmithProvider:_B,PocketProvider:EB,Web3Provider:V6,IpcProvider:xB},e)}const AB=Object.freeze(Object.defineProperty({__proto__:null,AlchemyProvider:G6,AlchemyWebSocketProvider:yB,AnkrProvider:mB,BaseProvider:Hy,CloudflareProvider:bB,EtherscanProvider:vB,FallbackProvider:gB,Formatter:Ye,InfuraProvider:q6,InfuraWebSocketProvider:wB,IpcProvider:xB,JsonRpcBatchProvider:uY,JsonRpcProvider:Ul,JsonRpcSigner:H6,NodesmithProvider:_B,PocketProvider:EB,Provider:tc,Resolver:Jg,StaticJsonRpcProvider:pB,UrlJsonRpcProvider:Us,Web3Provider:V6,WebSocketProvider:Gy,getDefaultProvider:W6,getNetwork:U6,isCommunityResourcable:uB,isCommunityResource:Zg,showThrottleMessage:q0},Symbol.toStringTag,{value:"Module"})),pY="solidity/5.7.0",yY=new RegExp("^bytes([0-9]+)$"),mY=new RegExp("^(u?int)([0-9]*)$"),bY=new RegExp("^(.*)\\[([0-9]*)\\]$"),vY="0000000000000000000000000000000000000000000000000000000000000000",Rc=new le(pY);function SB(t,e,r){switch(t){case"address":return r?mu(e,32):Re(e);case"string":return Cr(e);case"bytes":return Re(e);case"bool":return e=e?"0x01":"0x00",r?mu(e,32):Re(e)}let n=t.match(mY);if(n){let a=parseInt(n[2]||"256");return(n[2]&&String(a)!==n[2]||a%8!==0||a===0||a>256)&&Rc.throwArgumentError("invalid number type","type",t),r&&(a=256),e=Oe.from(e).toTwos(a),mu(e,a/8)}if(n=t.match(yY),n){const a=parseInt(n[1]);return(String(a)!==n[1]||a===0||a>32)&&Rc.throwArgumentError("invalid bytes type","type",t),Re(e).byteLength!==a&&Rc.throwArgumentError(`invalid value for ${t}`,"value",e),r?Re((e+vY).substring(0,66)):e}if(n=t.match(bY),n&&Array.isArray(e)){const a=n[1];parseInt(n[2]||String(e.length))!=e.length&&Rc.throwArgumentError(`invalid array length for ${t}`,"value",e);const s=[];return e.forEach(function(o){s.push(SB(a,o,!0))}),Ht(s)}return Rc.throwArgumentError("invalid type","type",t)}function qy(t,e){t.length!=e.length&&Rc.throwArgumentError("wrong number of values; expected ${ types.length }","values",e);const r=[];return t.forEach(function(n,a){r.push(SB(n,e[a]))}),ze(Ht(r))}function CB(t,e){return Ut(qy(t,e))}function TB(t,e){return Rs(qy(t,e))}const gY=Object.freeze(Object.defineProperty({__proto__:null,keccak256:CB,pack:qy,sha256:TB},Symbol.toStringTag,{value:"Module"})),xY="units/5.7.0",MB=new le(xY),BB=["wei","kwei","mwei","gwei","szabo","finney","ether"];function wY(t){const e=String(t).split(".");(e.length>2||!e[0].match(/^-?[0-9]*$/)||e[1]&&!e[1].match(/^[0-9]*$/)||t==="."||t==="-.")&&MB.throwArgumentError("invalid value","value",t);let r=e[0],n="";for(r.substring(0,1)==="-"&&(n="-",r=r.substring(1));r.substring(0,1)==="0";)r=r.substring(1);r===""&&(r="0");let a="";for(e.length===2&&(a="."+(e[1]||"0"));a.length>2&&a[a.length-1]==="0";)a=a.substring(0,a.length-1);const i=[];for(;r.length;)if(r.length<=3){i.unshift(r);break}else{const s=r.length-3;i.unshift(r.substring(s)),r=r.substring(0,s)}return n+i.join(",")+a}function kB(t,e){if(typeof e=="string"){const r=BB.indexOf(e);r!==-1&&(e=3*r)}return Nd(t,e??18)}function FB(t,e){if(typeof t!="string"&&MB.throwArgumentError("value must be a string","value",t),typeof e=="string"){const r=BB.indexOf(e);r!==-1&&(e=3*r)}return si(t,e??18)}function _Y(t){return kB(t,18)}function EY(t){return FB(t,18)}const PB=Object.freeze(Object.defineProperty({__proto__:null,AbiCoder:_6,ConstructorFragment:Ra,ErrorFragment:Gi,EventFragment:hi,FormatTypes:St,Fragment:pi,FunctionFragment:Na,HDNode:ca,Indexed:b0,Interface:E1,LogDescription:M6,Logger:le,ParamType:Fr,RLP:gV,SigningKey:Sl,get SupportedAlgorithm(){return Iu},TransactionDescription:B6,get TransactionTypes(){return Gg},get UnicodeNormalizationForm(){return ns},Utf8ErrorFuncs:iM,get Utf8ErrorReason(){return Wn},_TypedDataEncoder:an,_fetchData:oB,_toEscapedUtf8String:jV,accessListify:Vo,arrayify:Re,base58:Du,base64:iW,checkProperties:h6,checkResultErrors:y6,commify:wY,computeAddress:Co,computeHmac:g0,computePublicKey:D6,concat:Ht,deepCopy:Un,defaultAbiCoder:E6,defaultPath:Ou,defineReadOnly:Ee,dnsEncode:hM,entropyToMnemonic:zy,fetchJson:sf,formatBytes32String:zV,formatEther:_Y,formatUnits:kB,getAccountPath:nJ,getAddress:It,getContractAddress:U0,getCreate2Address:KT,getIcapAddress:WT,getJsonWalletAddress:uJ,getStatic:on,hashMessage:T6,hexConcat:Tn,hexDataLength:Ei,hexDataSlice:yr,hexStripZeros:f6,hexValue:Qu,hexZeroPad:Gt,hexlify:ze,id:ho,isAddress:VT,isBytes:js,isBytesLike:Xu,isHexString:ft,isValidMnemonic:rJ,isValidName:BW,joinSignature:v1,keccak256:Ut,mnemonicToEntropy:jy,mnemonicToSeed:XM,namehash:$d,nameprep:tW,parseBytes32String:UV,parseEther:EY,parseTransaction:HM,parseUnits:FB,poll:vl,randomBytes:nu,recoverAddress:G0,recoverPublicKey:$M,resolveProperties:dr,ripemd160:ZM,serializeTransaction:qg,sha256:Rs,sha512:WZ,shallowCopy:Jt,shuffled:QM,solidityKeccak256:CB,solidityPack:qy,soliditySha256:TB,splitSignature:Go,stripZeros:vi,toUtf8Bytes:Cr,toUtf8CodePoints:w1,toUtf8String:ec,verifyMessage:AJ,verifyTypedData:SJ,zeroPad:mu},Symbol.toStringTag,{value:"Module"})),K6="ethers/5.7.2",DB=new le(K6),Ru=Object.freeze(Object.defineProperty({__proto__:null,BaseContract:O6,BigNumber:Oe,Contract:T1,ContractFactory:WM,FixedNumber:Br,Signer:cs,VoidSigner:ef,Wallet:oo,Wordlist:ac,constants:rM,get errors(){return oa},getDefaultProvider:W6,logger:DB,providers:AB,utils:PB,version:K6,wordlists:M1},Symbol.toStringTag,{value:"Module"}));try{const t=window;t._ethers==null&&(t._ethers=Ru)}catch{}const AY=Object.freeze(Object.defineProperty({__proto__:null,BaseContract:O6,BigNumber:Oe,Contract:T1,ContractFactory:WM,FixedNumber:Br,Signer:cs,VoidSigner:ef,Wallet:oo,Wordlist:ac,constants:rM,get errors(){return oa},ethers:Ru,getDefaultProvider:W6,logger:DB,providers:AB,utils:PB,version:K6,wordlists:M1},Symbol.toStringTag,{value:"Module"})),SY=be({id:42161,name:"Arbitrum One",network:"arbitrum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://arb-mainnet.g.alchemy.com/v2"],webSocket:["wss://arb-mainnet.g.alchemy.com/v2"]},infura:{http:["https://arbitrum-mainnet.infura.io/v3"],webSocket:["wss://arbitrum-mainnet.infura.io/ws/v3"]},default:{http:["https://arb1.arbitrum.io/rpc"]},public:{http:["https://arb1.arbitrum.io/rpc"]}},blockExplorers:{etherscan:{name:"Arbiscan",url:"https://arbiscan.io"},default:{name:"Arbiscan",url:"https://arbiscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7654707}}}),CY=be({id:421613,name:"Arbitrum Goerli",network:"arbitrum-goerli",nativeCurrency:{name:"Arbitrum Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://arb-goerli.g.alchemy.com/v2"],webSocket:["wss://arb-goerli.g.alchemy.com/v2"]},infura:{http:["https://arbitrum-goerli.infura.io/v3"],webSocket:["wss://arbitrum-goerli.infura.io/ws/v3"]},default:{http:["https://goerli-rollup.arbitrum.io/rpc"]},public:{http:["https://goerli-rollup.arbitrum.io/rpc"]}},blockExplorers:{etherscan:{name:"Arbiscan",url:"https://goerli.arbiscan.io"},default:{name:"Arbiscan",url:"https://goerli.arbiscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:88114}},testnet:!0}),TY=be({id:42170,name:"Arbitrum Nova",network:"arbitrum-nova",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{blast:{http:["https://arbitrum-nova.public.blastapi.io"],webSocket:["wss://arbitrum-nova.public.blastapi.io"]},default:{http:["https://nova.arbitrum.io/rpc"]},public:{http:["https://nova.arbitrum.io/rpc"]}},blockExplorers:{etherscan:{name:"Arbiscan",url:"https://nova.arbiscan.io"},blockScout:{name:"BlockScout",url:"https://nova-explorer.arbitrum.io/"},default:{name:"Arbiscan",url:"https://nova.arbiscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1746963}}}),MY=be({id:592,name:"Astar",network:"astar-mainnet",nativeCurrency:{name:"Astar",symbol:"ASTR",decimals:18},rpcUrls:{public:{http:["https://astar.api.onfinality.io/public"]},default:{http:["https://astar.api.onfinality.io/public"]}},blockExplorers:{default:{name:"Astar Subscan",url:"https://astar.subscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:761794}},testnet:!1}),BY=be({id:421614,name:"Arbitrum Sepolia",network:"arbitrum-sepolia",nativeCurrency:{name:"Arbitrum Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia-rollup.arbitrum.io/rpc"]},public:{http:["https://sepolia-rollup.arbitrum.io/rpc"]}},blockExplorers:{default:{name:"Blockscout",url:"https://sepolia-explorer.arbitrum.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:81930}},testnet:!0}),kY=be({id:1261120,name:"Astar zkEVM Testnet zKatana",network:"zKatana",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.zkatana.gelato.digital","https://rpc.startale.com/zkatana"]},public:{http:["https://rpc.zkatana.gelato.digital","https://rpc.startale.com/zkatana"]}},blockExplorers:{blockscout:{name:"Blockscout zKatana chain explorer",url:"https://zkatana.blockscout.com"},default:{name:"zKatana Explorer",url:"https://zkatana.explorer.startale.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:31317}},testnet:!0}),FY=be({id:1313161554,name:"Aurora",network:"aurora",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{infura:{http:["https://aurora-mainnet.infura.io/v3"]},default:{http:["https://mainnet.aurora.dev"]},public:{http:["https://mainnet.aurora.dev"]}},blockExplorers:{etherscan:{name:"Aurorascan",url:"https://aurorascan.dev"},default:{name:"Aurorascan",url:"https://aurorascan.dev"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:62907816}}}),PY=be({id:1313161555,name:"Aurora Testnet",network:"aurora-testnet",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{infura:{http:["https://aurora-testnet.infura.io/v3"]},default:{http:["https://testnet.aurora.dev"]},public:{http:["https://testnet.aurora.dev"]}},blockExplorers:{etherscan:{name:"Aurorascan",url:"https://testnet.aurorascan.dev"},default:{name:"Aurorascan",url:"https://testnet.aurorascan.dev"}},testnet:!0}),DY=be({id:43114,name:"Avalanche",network:"avalanche",nativeCurrency:{decimals:18,name:"Avalanche",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax.network/ext/bc/C/rpc"]},public:{http:["https://api.avax.network/ext/bc/C/rpc"]}},blockExplorers:{etherscan:{name:"SnowTrace",url:"https://snowtrace.io"},default:{name:"SnowTrace",url:"https://snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:11907934}}}),IY=be({id:43113,name:"Avalanche Fuji",network:"avalanche-fuji",nativeCurrency:{decimals:18,name:"Avalanche Fuji",symbol:"AVAX"},rpcUrls:{default:{http:["https://api.avax-test.network/ext/bc/C/rpc"]},public:{http:["https://api.avax-test.network/ext/bc/C/rpc"]}},blockExplorers:{etherscan:{name:"SnowTrace",url:"https://testnet.snowtrace.io"},default:{name:"SnowTrace",url:"https://testnet.snowtrace.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7096959}},testnet:!0}),Hs={block:l6({format(t){var r;return{transactions:(r=t.transactions)==null?void 0:r.map(n=>{if(typeof n=="string")return n;const a=Py(n);return a.typeHex==="0x7e"&&(a.isSystemTx=n.isSystemTx,a.mint=n.mint?wr(n.mint):void 0,a.sourceHash=n.sourceHash,a.type="deposit"),a}),stateRoot:t.stateRoot}}}),transaction:o6({format(t){const e={};return t.type==="0x7e"&&(e.isSystemTx=t.isSystemTx,e.mint=t.mint?wr(t.mint):void 0,e.sourceHash=t.sourceHash,e.type="deposit"),e}}),transactionReceipt:c6({format(t){return{l1GasPrice:t.l1GasPrice?wr(t.l1GasPrice):null,l1GasUsed:t.l1GasUsed?wr(t.l1GasUsed):null,l1Fee:t.l1Fee?wr(t.l1Fee):null,l1FeeScalar:t.l1FeeScalar?Number(t.l1FeeScalar):null}}})},IB=be({id:8453,network:"base",name:"Base",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://base-mainnet.g.alchemy.com/v2"],webSocket:["wss://base-mainnet.g.alchemy.com/v2"]},infura:{http:["https://base-mainnet.infura.io/v3"],webSocket:["wss://base-mainnet.infura.io/ws/v3"]},default:{http:["https://mainnet.base.org"]},public:{http:["https://mainnet.base.org"]}},blockExplorers:{blockscout:{name:"Basescout",url:"https://base.blockscout.com"},default:{name:"Basescan",url:"https://basescan.org"},etherscan:{name:"Basescan",url:"https://basescan.org"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:5022}}},{formatters:Hs}),OB=be({id:84531,network:"base-goerli",name:"Base Goerli",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://base-goerli.g.alchemy.com/v2"],webSocket:["wss://base-goerli.g.alchemy.com/v2"]},default:{http:["https://goerli.base.org"]},public:{http:["https://goerli.base.org"]}},blockExplorers:{etherscan:{name:"Basescan",url:"https://goerli.basescan.org"},default:{name:"Basescan",url:"https://goerli.basescan.org"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1376988}},testnet:!0,sourceId:5},{formatters:Hs}),OY=be({id:84532,network:"base-sepolia",name:"Base Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.base.org"]},public:{http:["https://sepolia.base.org"]}},blockExplorers:{blockscout:{name:"Blockscout",url:"https://base-sepolia.blockscout.com"},default:{name:"Blockscout",url:"https://base-sepolia.blockscout.com"}},testnet:!0,sourceId:11155111},{formatters:Hs}),RY=be({id:641230,name:"Bear Network Chain Mainnet",network:"BearNetworkChainMainnet",nativeCurrency:{decimals:18,name:"BearNetworkChain",symbol:"BRNKC"},rpcUrls:{public:{http:["https://brnkc-mainnet.bearnetwork.net"]},default:{http:["https://brnkc-mainnet.bearnetwork.net"]}},blockExplorers:{default:{name:"BrnkScan",url:"https://brnkscan.bearnetwork.net"}}}),NY=be({id:751230,name:"Bear Network Chain Testnet",network:"BearNetworkChainTestnet",nativeCurrency:{decimals:18,name:"tBRNKC",symbol:"tBRNKC"},rpcUrls:{public:{http:["https://brnkc-test.bearnetwork.net"]},default:{http:["https://brnkc-test.bearnetwork.net"]}},blockExplorers:{default:{name:"BrnkTestScan",url:"https://brnktest-scan.bearnetwork.net"}},testnet:!0}),$Y=be({id:288,name:"Boba Network",network:"boba",nativeCurrency:{decimals:18,name:"Boba",symbol:"BOBA"},rpcUrls:{default:{http:["https://mainnet.boba.network"]},public:{http:["https://mainnet.boba.network"]}},blockExplorers:{etherscan:{name:"BOBAScan",url:"https://bobascan.com"},default:{name:"BOBAScan",url:"https://bobascan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:446859}}}),LY=be({id:1039,name:"Bronos",network:"bronos",nativeCurrency:{decimals:18,name:"BRO",symbol:"BRO"},rpcUrls:{default:{http:["https://evm.bronos.org"]},public:{http:["https://evm.bronos.org"]}},blockExplorers:{default:{name:"BronoScan",url:"https://broscan.bronos.org"}}}),jY=be({id:1038,name:"Bronos Testnet",network:"bronos-testnet",nativeCurrency:{decimals:18,name:"Bronos Coin",symbol:"tBRO"},rpcUrls:{default:{http:["https://evm-testnet.bronos.org"]},public:{http:["https://evm-testnet.bronos.org"]}},blockExplorers:{default:{name:"BronoScan",url:"https://tbroscan.bronos.org"}},testnet:!0}),zY=be({id:56,name:"BNB Smart Chain",network:"bsc",nativeCurrency:{decimals:18,name:"BNB",symbol:"BNB"},rpcUrls:{default:{http:["https://rpc.ankr.com/bsc"]},public:{http:["https://rpc.ankr.com/bsc"]}},blockExplorers:{etherscan:{name:"BscScan",url:"https://bscscan.com"},default:{name:"BscScan",url:"https://bscscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:15921452}}}),UY=be({id:97,name:"Binance Smart Chain Testnet",network:"bsc-testnet",nativeCurrency:{decimals:18,name:"BNB",symbol:"tBNB"},rpcUrls:{default:{http:["https://data-seed-prebsc-1-s1.bnbchain.org:8545"]},public:{http:["https://data-seed-prebsc-1-s1.bnbchain.org:8545"]}},blockExplorers:{etherscan:{name:"BscScan",url:"https://testnet.bscscan.com"},default:{name:"BscScan",url:"https://testnet.bscscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:17422483}},testnet:!0}),HY=be({id:4999,name:"BlackFort Exchange Network",network:"bxn",nativeCurrency:{name:"BlackFort Token",symbol:"BXN",decimals:18},rpcUrls:{default:{http:["https://mainnet.blackfort.network/rpc"]},public:{http:["https://mainnet.blackfort.network/rpc"]}},blockExplorers:{default:{name:"Blockscout",url:"https://explorer.blackfort.network"}}}),GY=be({id:4777,name:"BlackFort Exchange Network Testnet",network:"bxnTestnet",nativeCurrency:{name:"BlackFort Testnet Token",symbol:"TBXN",decimals:18},rpcUrls:{default:{http:["https://testnet.blackfort.network/rpc"]},public:{http:["https://testnet.blackfort.network/rpc"]}},blockExplorers:{default:{name:"Blockscout",url:"https://testnet-explorer.blackfort.network"}}}),qY=be({id:7700,name:"Canto",network:"canto",nativeCurrency:{decimals:18,name:"Canto",symbol:"CANTO"},rpcUrls:{default:{http:["https://canto.gravitychain.io"]},public:{http:["https://canto.gravitychain.io"]}},blockExplorers:{default:{name:"Tuber.Build (Blockscout)",url:"https://tuber.build"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:2905789}}});function po(t){return t===0||t===0n||t===void 0||t===null||t==="0"||t===""||typeof t=="string"&&(rs(t).toLowerCase()==="0x"||rs(t).toLowerCase()==="0x00")}function sn(t){return!po(t)}function RB(t){return sn(t.maxFeePerGas)&&sn(t.maxPriorityFeePerGas)}function NB(t){return t.type==="cip42"?!0:RB(t)&&(sn(t.feeCurrency)||sn(t.gatewayFeeRecipient)||sn(t.gatewayFee))}function $B(t){return t.type==="cip64"?!0:RB(t)&&sn(t.feeCurrency)&&po(t.gatewayFee)&&po(t.gatewayFeeRecipient)}const Z6={block:l6({exclude:["difficulty","gasLimit","mixHash","nonce","uncles"],format(t){var r;const e=(r=t.transactions)==null?void 0:r.map(n=>typeof n=="string"?n:{...Py(n),feeCurrency:n.feeCurrency,...n.type!=="0x7b"?{gatewayFee:n.gatewayFee?wr(n.gatewayFee):null,gatewayFeeRecipient:n.gatewayFeeRecipient||null}:{}});return{randomness:t.randomness,transactions:e}}}),transaction:o6({format(t){const e={feeCurrency:t.feeCurrency};return t.type==="0x7b"?e.type="cip64":(t.type==="0x7c"&&(e.type="cip42"),e.gatewayFee=t.gatewayFee?wr(t.gatewayFee):null,e.gatewayFeeRecipient=t.gatewayFeeRecipient),e}}),transactionReceipt:c6({format(t){return{feeCurrency:t.feeCurrency,gatewayFee:t.gatewayFee?wr(t.gatewayFee):null,gatewayFeeRecipient:t.gatewayFeeRecipient}}}),transactionRequest:AT({format(t){const e={feeCurrency:t.feeCurrency};return $B(t)?e.type="0x7b":(NB(t)&&(e.type="0x7c"),e.gatewayFee=typeof t.gatewayFee<"u"?ao(t.gatewayFee):void 0,e.gatewayFeeRecipient=t.gatewayFeeRecipient),e}})},VY=(t,e)=>$B(t)?KY(t,e):NB(t)?WY(t,e):BT(t,e),J6={transaction:VY};function WY(t,e){ZY(t);const{chainId:r,gas:n,nonce:a,to:i,value:s,maxFeePerGas:o,maxPriorityFeePerGas:u,accessList:y,feeCurrency:b,gatewayFeeRecipient:_,gatewayFee:A,data:T}=t,k=[rt(r),a?rt(a):"0x",u?rt(u):"0x",o?rt(o):"0x",n?rt(n):"0x",b??"0x",_??"0x",A?rt(A):"0x",i??"0x",s?rt(s):"0x",T??"0x",Dy(y)];return e&&k.push(e.v===27n?"0x":rt(1),rs(e.r),rs(e.s)),j0(["0x7c",Zu(k)])}function KY(t,e){JY(t);const{chainId:r,gas:n,nonce:a,to:i,value:s,maxFeePerGas:o,maxPriorityFeePerGas:u,accessList:y,feeCurrency:b,data:_}=t,A=[rt(r),a?rt(a):"0x",u?rt(u):"0x",o?rt(o):"0x",n?rt(n):"0x",i??"0x",s?rt(s):"0x",_??"0x",Dy(y),b];return e&&A.push(e.v===27n?"0x":rt(1),rs(e.r),rs(e.s)),j0(["0x7b",Zu(A)])}const LB=2n**256n-1n;function ZY(t){const{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:a,to:i,feeCurrency:s,gatewayFee:o,gatewayFeeRecipient:u}=t;if(e<=0)throw new Ku({chainId:e});if(i&&!zn(i))throw new Yi({address:i});if(n)throw new Dt("`gasPrice` is not a valid CIP-42 Transaction attribute.");if(sn(a)&&a>LB)throw new Wu({maxFeePerGas:a});if(sn(r)&&sn(a)&&r>a)throw new ky({maxFeePerGas:a,maxPriorityFeePerGas:r});if(sn(o)&&po(u)||sn(u)&&po(o))throw new Dt("`gatewayFee` and `gatewayFeeRecipient` must be provided together.");if(sn(s)&&!zn(s))throw new Dt("`feeCurrency` MUST be a token address for CIP-42 transactions.");if(sn(u)&&!zn(u))throw new Yi(u);if(po(s)&&po(u))throw new Dt("Either `feeCurrency` or `gatewayFeeRecipient` must be provided for CIP-42 transactions.")}function JY(t){const{chainId:e,maxPriorityFeePerGas:r,gasPrice:n,maxFeePerGas:a,to:i,feeCurrency:s}=t;if(e<=0)throw new Ku({chainId:e});if(i&&!zn(i))throw new Yi({address:i});if(n)throw new Dt("`gasPrice` is not a valid CIP-64 Transaction attribute.");if(sn(a)&&a>LB)throw new Wu({maxFeePerGas:a});if(sn(r)&&sn(a)&&r>a)throw new ky({maxFeePerGas:a,maxPriorityFeePerGas:r});if(sn(s)&&!zn(s))throw new Dt("`feeCurrency` MUST be a token address for CIP-64 transactions.");if(po(s))throw new Dt("`feeCurrency` must be provided for CIP-64 transactions.")}const YY=be({id:42220,name:"Celo",network:"celo",nativeCurrency:{decimals:18,name:"CELO",symbol:"CELO"},rpcUrls:{default:{http:["https://forno.celo.org"]},infura:{http:["https://celo-mainnet.infura.io/v3"]},public:{http:["https://forno.celo.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/mainnet"},etherscan:{name:"CeloScan",url:"https://celoscan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:13112599}},testnet:!1},{formatters:Z6,serializers:J6}),XY=be({id:44787,name:"Alfajores",network:"celo-alfajores",nativeCurrency:{decimals:18,name:"CELO",symbol:"A-CELO"},rpcUrls:{default:{http:["https://alfajores-forno.celo-testnet.org"]},infura:{http:["https://celo-alfajores.infura.io/v3"]},public:{http:["https://alfajores-forno.celo-testnet.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/alfajores"},etherscan:{name:"CeloScan",url:"https://alfajores.celoscan.io/"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:14569001}},testnet:!0},{formatters:Z6,serializers:J6}),QY=be({id:88888,name:"Chiliz Chain",network:"chiliz-chain",nativeCurrency:{decimals:18,name:"CHZ",symbol:"CHZ"},rpcUrls:{default:{http:["https://rpc.ankr.com/chiliz","https://chiliz.publicnode.com"]},public:{http:["https://rpc.ankr.com/chiliz","https://chiliz.publicnode.com"]}},blockExplorers:{default:{name:"Chiliz Explorer",url:"https://scan.chiliz.com"}}}),eX=be({id:17323,name:"Cannoli",network:"celo-cannoli",nativeCurrency:{decimals:18,name:"CELO",symbol:"C-CELO"},rpcUrls:{default:{http:["https://forno.cannoli.celo-testnet.org"]},public:{http:["https://forno.cannoli.celo-testnet.org"]}},blockExplorers:{default:{name:"Celo Explorer",url:"https://explorer.celo.org/cannoli"}},contracts:{multicall3:{address:"0x5Acb0aa8BF4E8Ff0d882Ee187140713C12BF9718",blockCreated:87429}},testnet:!0},{formatters:Z6,serializers:J6}),tX=be({id:61,name:"Ethereum Classic",network:"classic",nativeCurrency:{decimals:18,name:"ETC",symbol:"ETC"},rpcUrls:{default:{http:["https://etc.rivet.link"]},public:{http:["https://etc.rivet.link"]}},blockExplorers:{default:{name:"Blockscout",url:"https://blockscout.com/etc/mainnet"}}}),rX=be({id:1030,name:"Conflux eSpace",network:"cfx-espace",nativeCurrency:{name:"Conflux",symbol:"CFX",decimals:18},rpcUrls:{default:{http:["https://evm.confluxrpc.org"]},public:{http:["https://evm.confluxrpc.org"]}},blockExplorers:{default:{name:"ConfluxScan",url:"https://evm.confluxscan.io"}},contracts:{multicall3:{address:"0xEFf0078910f638cd81996cc117bccD3eDf2B072F",blockCreated:68602935}}}),nX=be({id:1116,name:"Core Dao",network:"coreDao",nativeCurrency:{decimals:18,name:"Core",symbol:"CORE"},rpcUrls:{public:{http:["https://rpc.coredao.org"]},default:{http:["https://rpc.coredao.org"]}},blockExplorers:{default:{name:"CoreDao",url:"https://scan.coredao.org"},etherscan:{name:"CoreDao",url:"https://scan.coredao.org"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:11907934}},testnet:!1}),aX=be({id:25,name:"Cronos Mainnet",network:"cronos",nativeCurrency:{decimals:18,name:"Cronos",symbol:"CRO"},rpcUrls:{default:{http:["https://evm.cronos.org"]},public:{http:["https://evm.cronos.org"]}},blockExplorers:{default:{name:"Cronoscan",url:"https://cronoscan.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1963112}}}),iX=be({id:338,name:"Cronos Testnet",network:"cronos-testnet",nativeCurrency:{decimals:18,name:"CRO",symbol:"tCRO"},rpcUrls:{default:{http:["https://evm-t3.cronos.org"]},public:{http:["https://evm-t3.cronos.org"]}},blockExplorers:{default:{name:"Cronos Explorer",url:"https://cronos.org/explorer/testnet3"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:10191251}},testnet:!0}),sX=be({id:3737,network:"crossbell",name:"Crossbell",nativeCurrency:{decimals:18,name:"CSB",symbol:"CSB"},rpcUrls:{default:{http:["https://rpc.crossbell.io"]},public:{http:["https://rpc.crossbell.io"]}},blockExplorers:{default:{name:"CrossScan",url:"https://scan.crossbell.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:38246031}}}),oX=be({id:53935,name:"DFK Chain",network:"dfk",nativeCurrency:{decimals:18,name:"Jewel",symbol:"JEWEL"},rpcUrls:{default:{http:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"]},public:{http:["https://subnets.avax.network/defi-kingdoms/dfk-chain/rpc"]}},blockExplorers:{etherscan:{name:"DFKSubnetScan",url:"https://subnets.avax.network/defi-kingdoms"},default:{name:"DFKSubnetScan",url:"https://subnets.avax.network/defi-kingdoms"}}}),lX=be({id:2e3,name:"Dogechain",network:"dogechain",nativeCurrency:{decimals:18,name:"Dogechain",symbol:"DC"},rpcUrls:{default:{http:["https://rpc.dogechain.dog"]},public:{http:["https://rpc.dogechain.dog"]}},blockExplorers:{etherscan:{name:"DogeChainExplorer",url:"https://explorer.dogechain.dog"},default:{name:"DogeChainExplorer",url:"https://explorer.dogechain.dog"}}}),cX=be({id:2021,name:"Edgeware EdgeEVM Mainnet",network:"edgeware",nativeCurrency:{decimals:18,name:"Edgeware",symbol:"EDG"},rpcUrls:{default:{http:["https://edgeware-evm.jelliedowl.net"]},public:{http:["https://edgeware-evm.jelliedowl.net"]}},blockExplorers:{etherscan:{name:"Edgscan by Bharathcoorg",url:"https://edgscan.live"},default:{name:"Edgscan by Bharathcoorg",url:"https://edgscan.live"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:18117872}}}),uX=be({id:2022,name:"Beresheet BereEVM Testnet",network:"edgewareTestnet",nativeCurrency:{decimals:18,name:"Testnet EDG",symbol:"tEDG"},rpcUrls:{default:{http:["https://beresheet-evm.jelliedowl.net"]},public:{http:["https://beresheet-evm.jelliedowl.net"]}},blockExplorers:{etherscan:{name:"Edgscan by Bharathcoorg",url:"https://testnet.edgscan.live"},default:{name:"Edgscan by Bharathcoorg",url:"https://testnet.edgscan.live"}}}),fX=be({id:17777,name:"EOS EVM",network:"eos",nativeCurrency:{decimals:18,name:"EOS",symbol:"EOS"},rpcUrls:{default:{http:["https://api.evm.eosnetwork.com"]},public:{http:["https://api.evm.eosnetwork.com"]}},blockExplorers:{etherscan:{name:"EOS EVM Explorer",url:"https://explorer.evm.eosnetwork.com"},default:{name:"EOS EVM Explorer",url:"https://explorer.evm.eosnetwork.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:7943933}}}),dX=be({id:15557,name:"EOS EVM Testnet",network:"eos",nativeCurrency:{decimals:18,name:"EOS",symbol:"EOS"},rpcUrls:{default:{http:["https://api.testnet.evm.eosnetwork.com"]},public:{http:["https://api.testnet.evm.eosnetwork.com"]}},blockExplorers:{etherscan:{name:"EOS EVM Testnet Explorer",url:"https://explorer.testnet.evm.eosnetwork.com"},default:{name:"EOS EVM Testnet Explorer",url:"https://explorer.testnet.evm.eosnetwork.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:9067940}},testnet:!0}),hX=be({id:9001,name:"Evmos",network:"evmos",nativeCurrency:{decimals:18,name:"Evmos",symbol:"EVMOS"},rpcUrls:{default:{http:["https://eth.bd.evmos.org:8545"]},public:{http:["https://eth.bd.evmos.org:8545"]}},blockExplorers:{default:{name:"Evmos Block Explorer",url:"https://escan.live"}}}),pX=be({id:9e3,name:"Evmos Testnet",network:"evmos-testnet",nativeCurrency:{decimals:18,name:"Evmos",symbol:"EVMOS"},rpcUrls:{default:{http:["https://eth.bd.evmos.dev:8545"]},public:{http:["https://eth.bd.evmos.dev:8545"]}},blockExplorers:{default:{name:"Evmos Testnet Block Explorer",url:"https://evm.evmos.dev/"}}}),yX=be({id:1994,name:"Ekta",network:"ekta",nativeCurrency:{decimals:18,name:"EKTA",symbol:"EKTA"},rpcUrls:{public:{http:["https://main.ekta.io"]},default:{http:["https://main.ekta.io"]}},blockExplorers:{default:{name:"Ektascan",url:"https://ektascan.io"}}}),mX=be({id:1004,name:"Ekta Testnet",network:"ekta-testnet",nativeCurrency:{decimals:18,name:"EKTA",symbol:"EKTA"},rpcUrls:{public:{http:["https://test.ekta.io:8545"]},default:{http:["https://test.ekta.io:8545"]}},blockExplorers:{default:{name:"Test Ektascan",url:"https://test.ektascan.io"}},testnet:!0}),bX=be({id:250,name:"Fantom",network:"fantom",nativeCurrency:{decimals:18,name:"Fantom",symbol:"FTM"},rpcUrls:{default:{http:["https://rpc.ankr.com/fantom"]},public:{http:["https://rpc.ankr.com/fantom"]}},blockExplorers:{etherscan:{name:"FTMScan",url:"https://ftmscan.com"},default:{name:"FTMScan",url:"https://ftmscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:33001987}}}),vX=be({id:4002,name:"Fantom Testnet",network:"fantom-testnet",nativeCurrency:{decimals:18,name:"Fantom",symbol:"FTM"},rpcUrls:{default:{http:["https://rpc.testnet.fantom.network"]},public:{http:["https://rpc.testnet.fantom.network"]}},blockExplorers:{etherscan:{name:"FTMScan",url:"https://testnet.ftmscan.com"},default:{name:"FTMScan",url:"https://testnet.ftmscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:8328688}}}),gX=be({id:12306,name:"Fibo Chain",network:"fibochain",nativeCurrency:{decimals:18,name:"fibo",symbol:"FIBO"},rpcUrls:{default:{http:["https://network.hzroc.art"]},public:{http:["https://network.hzroc.art"]}},blockExplorers:{default:{name:"FiboScan",url:"https://scan.fibochain.org"}}}),xX=be({id:314,name:"Filecoin Mainnet",network:"filecoin-mainnet",nativeCurrency:{decimals:18,name:"filecoin",symbol:"FIL"},rpcUrls:{default:{http:["https://api.node.glif.io/rpc/v1"]},public:{http:["https://api.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filfox",url:"https://filfox.info/en"},filscan:{name:"Filscan",url:"https://filscan.io"},filscout:{name:"Filscout",url:"https://filscout.io/en"},glif:{name:"Glif",url:"https://explorer.glif.io"}}}),wX=be({id:314159,name:"Filecoin Calibration",network:"filecoin-calibration",nativeCurrency:{decimals:18,name:"testnet filecoin",symbol:"tFIL"},rpcUrls:{default:{http:["https://api.calibration.node.glif.io/rpc/v1"]},public:{http:["https://api.calibration.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filscan",url:"https://calibration.filscan.io"}}}),_X=be({id:3141,name:"Filecoin Hyperspace",network:"filecoin-hyperspace",nativeCurrency:{decimals:18,name:"testnet filecoin",symbol:"tFIL"},rpcUrls:{default:{http:["https://api.hyperspace.node.glif.io/rpc/v1"]},public:{http:["https://api.hyperspace.node.glif.io/rpc/v1"]}},blockExplorers:{default:{name:"Filfox",url:"https://hyperspace.filfox.info/en"},filscan:{name:"Filscan",url:"https://hyperspace.filscan.io"}}}),EX=be({id:14,name:"Flare Mainnet",network:"flare-mainnet",nativeCurrency:{decimals:18,name:"flare",symbol:"FLR"},rpcUrls:{default:{http:["https://flare-api.flare.network/ext/C/rpc"]},public:{http:["https://flare-api.flare.network/ext/C/rpc"]}},blockExplorers:{default:{name:"Flare Explorer",url:"https://flare-explorer.flare.network"}}}),AX=be({id:114,name:"Coston2",network:"coston2",nativeCurrency:{decimals:18,name:"coston2flare",symbol:"C2FLR"},rpcUrls:{default:{http:["https://coston2-api.flare.network/ext/C/rpc"]},public:{http:["https://coston2-api.flare.network/ext/C/rpc"]}},blockExplorers:{default:{name:"Coston2 Explorer",url:"https://coston2-explorer.flare.network"}},testnet:!0}),SX=be({id:31337,name:"Foundry",network:"foundry",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["http://127.0.0.1:8545"],webSocket:["ws://127.0.0.1:8545"]},public:{http:["http://127.0.0.1:8545"],webSocket:["ws://127.0.0.1:8545"]}}}),CX=be({id:122,name:"Fuse",network:"fuse",nativeCurrency:{name:"Fuse",symbol:"FUSE",decimals:18},rpcUrls:{default:{http:["https://rpc.fuse.io"]},public:{http:["https://rpc.fuse.io"]}},blockExplorers:{default:{name:"Fuse Explorer",url:"https://explorer.fuse.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:16146628}}}),TX=be({id:123,name:"Fuse Sparknet",network:"fuse",nativeCurrency:{name:"Spark",symbol:"SPARK",decimals:18},rpcUrls:{default:{http:["https://rpc.fusespark.io"]},public:{http:["https://rpc.fusespark.io"]}},blockExplorers:{default:{name:"Sparkent Explorer",url:"https://explorer.fusespark.io"}}}),MX=be({id:4689,name:"IoTeX",network:"iotex",nativeCurrency:{decimals:18,name:"IoTeX",symbol:"IOTX"},rpcUrls:{default:{http:["https://babel-api.mainnet.iotex.io"],webSocket:["wss://babel-api.mainnet.iotex.io"]},public:{http:["https://babel-api.mainnet.iotex.io"],webSocket:["wss://babel-api.mainnet.iotex.io"]}},blockExplorers:{default:{name:"IoTeXScan",url:"https://iotexscan.io"}}}),BX=be({id:4690,name:"IoTeX Testnet",network:"iotex-testnet",nativeCurrency:{decimals:18,name:"IoTeX",symbol:"IOTX"},rpcUrls:{default:{http:["https://babel-api.testnet.iotex.io"],webSocket:["wss://babel-api.testnet.iotex.io"]},public:{http:["https://babel-api.testnet.iotex.io"],webSocket:["wss://babel-api.testnet.iotex.io"]}},blockExplorers:{default:{name:"IoTeXScan",url:"https://testnet.iotexscan.io"}}}),kX=be({id:1663,name:"Horizen Gobi Testnet",network:"gobi",nativeCurrency:{decimals:18,name:"Test ZEN",symbol:"tZEN"},rpcUrls:{public:{http:["https://gobi-testnet.horizenlabs.io/ethv1"]},default:{http:["https://gobi-testnet.horizenlabs.io/ethv1"]}},blockExplorers:{default:{name:"Gobi Explorer",url:"https://gobi-explorer.horizen.io"}},contracts:{},testnet:!0}),Y6=be({id:5,network:"goerli",name:"Goerli",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://eth-goerli.g.alchemy.com/v2"],webSocket:["wss://eth-goerli.g.alchemy.com/v2"]},infura:{http:["https://goerli.infura.io/v3"],webSocket:["wss://goerli.infura.io/ws/v3"]},default:{http:["https://rpc.ankr.com/eth_goerli"]},public:{http:["https://rpc.ankr.com/eth_goerli"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://goerli.etherscan.io"},default:{name:"Etherscan",url:"https://goerli.etherscan.io"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0x56522D00C410a43BFfDF00a9A569489297385790",blockCreated:8765204},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:6507670}},testnet:!0}),FX=be({id:100,name:"Gnosis",network:"gnosis",nativeCurrency:{decimals:18,name:"Gnosis",symbol:"xDAI"},rpcUrls:{default:{http:["https://rpc.gnosischain.com"],webSocket:["wss://rpc.gnosischain.com/wss"]},public:{http:["https://rpc.gnosischain.com"],webSocket:["wss://rpc.gnosischain.com/wss"]}},blockExplorers:{etherscan:{name:"Gnosisscan",url:"https://gnosisscan.io"},default:{name:"Gnosis Chain Explorer",url:"https://blockscout.com/xdai/mainnet"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:21022491}}}),PX=be({id:10200,name:"Gnosis Chiado",network:"chiado",nativeCurrency:{decimals:18,name:"Gnosis",symbol:"xDAI"},rpcUrls:{default:{http:["https://rpc.chiadochain.net"],webSocket:["wss://rpc.chiadochain.net/wss"]},public:{http:["https://rpc.chiadochain.net"],webSocket:["wss://rpc.chiadochain.net/wss"]}},blockExplorers:{default:{name:"Blockscout",url:"https://blockscout.chiadochain.net"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:4967313}},testnet:!0}),DX=be({id:31337,name:"Hardhat",network:"hardhat",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["http://127.0.0.1:8545"]},public:{http:["http://127.0.0.1:8545"]}}}),IX=be({id:16666e5,name:"Harmony One",network:"harmony",nativeCurrency:{name:"Harmony",symbol:"ONE",decimals:18},rpcUrls:{public:{http:["https://rpc.ankr.com/harmony"]},default:{http:["https://rpc.ankr.com/harmony"]}},blockExplorers:{default:{name:"Harmony Explorer",url:"https://explorer.harmony.one"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:24185753}}}),OX=be({id:11235,name:"HAQQ Mainnet",network:"haqq-mainnet",nativeCurrency:{decimals:18,name:"Islamic Coin",symbol:"ISLM"},rpcUrls:{default:{http:["https://rpc.eth.haqq.network"]},public:{http:["https://rpc.eth.haqq.network"]}},blockExplorers:{default:{name:"HAQQ Explorer",url:"https://explorer.haqq.network"}}}),RX=be({id:54211,name:"HAQQ Testedge 2",network:"haqq-testedge-2",nativeCurrency:{decimals:18,name:"Islamic Coin",symbol:"ISLMT"},rpcUrls:{default:{http:["https://rpc.eth.testedge2.haqq.network"]},public:{http:["https://rpc.eth.testedge2.haqq.network"]}},blockExplorers:{default:{name:"HAQQ Explorer",url:"https://explorer.testedge2.haqq.network"}}}),NX=be({id:17e3,network:"holesky",name:"Holesky",nativeCurrency:{name:"Holesky Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://ethereum-holesky.publicnode.com"]},public:{http:["https://ethereum-holesky.publicnode.com"]}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:77}},testnet:!0}),$X=be({id:2222,name:"Kava EVM",network:"kava-mainnet",nativeCurrency:{name:"Kava",symbol:"KAVA",decimals:18},rpcUrls:{public:{http:["https://evm.kava.io"]},default:{http:["https://evm.kava.io"]}},blockExplorers:{default:{name:"Kava EVM Explorer",url:"https://kavascan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:3661165}},testnet:!1}),LX=be({id:2221,name:"Kava EVM Testnet",network:"kava-testnet",nativeCurrency:{name:"Kava",symbol:"KAVA",decimals:18},rpcUrls:{public:{http:["https://evm.testnet.kava.io"]},default:{http:["https://evm.testnet.kava.io"]}},blockExplorers:{default:{name:"Kava EVM Testnet Explorer",url:"https://testnet.kavascan.com/"}},contracts:{multicall3:{address:"0xDf1D724A7166261eEB015418fe8c7679BBEa7fd6",blockCreated:7242179}},testnet:!0}),jX=be({id:8217,name:"Klaytn",network:"klaytn",nativeCurrency:{decimals:18,name:"Klaytn",symbol:"KLAY"},rpcUrls:{default:{http:["https://klaytn.drpc.org"]},public:{http:["https://klaytn.drpc.org"]}},blockExplorers:{etherscan:{name:"KlaytnScope",url:"https://scope.klaytn.com"},default:{name:"KlaytnScope",url:"https://scope.klaytn.com"}}}),zX=be({id:255,network:"kroma",name:"Kroma",nativeCurrency:{name:"ETH",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://api.kroma.network"]},public:{http:["https://api.kroma.network"]}},blockExplorers:{default:{name:"Kroma Explorer",url:"https://blockscout.kroma.network"}},testnet:!1}),UX=be({id:2358,network:"kroma-sepolia",name:"Kroma Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://api.sepolia.kroma.network"]},public:{http:["https://api.sepolia.kroma.network"]}},blockExplorers:{default:{name:"Kroma Sepolia Explorer",url:"https://blockscout.sepolia.kroma.network"}},testnet:!0}),HX=be({id:59144,name:"Linea Mainnet",network:"linea-mainnet",nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{infura:{http:["https://linea-mainnet.infura.io/v3"],webSocket:["wss://linea-mainnet.infura.io/ws/v3"]},default:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]},public:{http:["https://rpc.linea.build"],webSocket:["wss://rpc.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://lineascan.build"},etherscan:{name:"Etherscan",url:"https://lineascan.build"},blockscout:{name:"Blockscout",url:"https://explorer.linea.build"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:42}},testnet:!1}),GX=be({id:59140,name:"Linea Goerli Testnet",network:"linea-testnet",nativeCurrency:{name:"Linea Ether",symbol:"ETH",decimals:18},rpcUrls:{infura:{http:["https://linea-goerli.infura.io/v3"],webSocket:["wss://linea-goerli.infura.io/ws/v3"]},default:{http:["https://rpc.goerli.linea.build"],webSocket:["wss://rpc.goerli.linea.build"]},public:{http:["https://rpc.goerli.linea.build"],webSocket:["wss://rpc.goerli.linea.build"]}},blockExplorers:{default:{name:"Etherscan",url:"https://goerli.lineascan.build"},etherscan:{name:"Etherscan",url:"https://goerli.lineascan.build"},blockscout:{name:"Blockscout",url:"https://explorer.goerli.linea.build"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:498623}},testnet:!0}),qX=be({id:1337,name:"Localhost",network:"localhost",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["http://127.0.0.1:8545"]},public:{http:["http://127.0.0.1:8545"]}}}),VX=be({id:42,network:"lukso",name:"LUKSO",nativeCurrency:{name:"LUKSO",symbol:"LYX",decimals:18},rpcUrls:{default:{http:["https://rpc.mainnet.lukso.network"],webSocket:["wss://ws-rpc.mainnet.lukso.network"]},public:{http:["https://rpc.mainnet.lukso.network"],webSocket:["wss://ws-rpc.mainnet.lukso.network"]}},blockExplorers:{default:{name:"LUKSO Mainnet Explorer",url:"https://explorer.execution.mainnet.lukso.network"}}}),X6=be({id:1,network:"homestead",name:"Ethereum",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://eth-mainnet.g.alchemy.com/v2"],webSocket:["wss://eth-mainnet.g.alchemy.com/v2"]},infura:{http:["https://mainnet.infura.io/v3"],webSocket:["wss://mainnet.infura.io/ws/v3"]},default:{http:["https://cloudflare-eth.com"]},public:{http:["https://cloudflare-eth.com"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://etherscan.io"},default:{name:"Etherscan",url:"https://etherscan.io"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0xc0497E381f536Be9ce14B0dD3817cBcAe57d2F62",blockCreated:16966585},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),WX=be({id:169,name:"Manta Pacific Mainnet",network:"manta",nativeCurrency:{decimals:18,name:"ETH",symbol:"ETH"},rpcUrls:{default:{http:["https://pacific-rpc.manta.network/http"]},public:{http:["https://pacific-rpc.manta.network/http"]}},blockExplorers:{etherscan:{name:"Manta Explorer",url:"https://pacific-explorer.manta.network"},default:{name:"Manta Explorer",url:"https://pacific-explorer.manta.network"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:332890}}}),KX=be({id:3441005,name:"Manta Pacific Testnet",network:"manta-testnet",nativeCurrency:{decimals:18,name:"ETH",symbol:"ETH"},rpcUrls:{default:{http:["https://manta-testnet.calderachain.xyz/http"]},public:{http:["https://manta-testnet.calderachain.xyz/http"]}},blockExplorers:{etherscan:{name:"Manta Testnet Explorer",url:"https://pacific-explorer.testnet.manta.network"},default:{name:"Manta Testnet Explorer",url:"https://pacific-explorer.testnet.manta.network"}},contracts:{multicall3:{address:"0x211B1643b95Fe76f11eD8880EE810ABD9A4cf56C",blockCreated:419915}},testnet:!0}),ZX=be({id:5e3,name:"Mantle",network:"mantle",nativeCurrency:{decimals:18,name:"MNT",symbol:"MNT"},rpcUrls:{default:{http:["https://rpc.mantle.xyz"]},public:{http:["https://rpc.mantle.xyz"]}},blockExplorers:{etherscan:{name:"Mantle Explorer",url:"https://explorer.mantle.xyz"},default:{name:"Mantle Explorer",url:"https://explorer.mantle.xyz"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:304717}}}),JX=be({id:5001,name:"Mantle Testnet",network:"mantle",nativeCurrency:{decimals:18,name:"MNT",symbol:"MNT"},rpcUrls:{default:{http:["https://rpc.testnet.mantle.xyz"]},public:{http:["https://rpc.testnet.mantle.xyz"]}},blockExplorers:{etherscan:{name:"Mantle Testnet Explorer",url:"https://explorer.testnet.mantle.xyz"},default:{name:"Mantle Testnet Explorer",url:"https://explorer.testnet.mantle.xyz"}},testnet:!0}),YX=be({id:82,name:"Meter",network:"meter",nativeCurrency:{decimals:18,name:"MTR",symbol:"MTR"},rpcUrls:{default:{http:["https://rpc.meter.io"]},public:{http:["https://rpc.meter.io"]}},blockExplorers:{default:{name:"MeterScan",url:"https://scan.meter.io"}}}),XX=be({id:83,name:"Meter Testnet",network:"meter-testnet",nativeCurrency:{decimals:18,name:"MTR",symbol:"MTR"},rpcUrls:{default:{http:["https://rpctest.meter.io"]},public:{http:["https://rpctest.meter.io"]}},blockExplorers:{default:{name:"MeterTestnetScan",url:"https://scan-warringstakes.meter.io"}}}),QX=be({id:1088,name:"Metis",network:"andromeda",nativeCurrency:{decimals:18,name:"Metis",symbol:"METIS"},rpcUrls:{default:{http:["https://andromeda.metis.io/?owner=1088"]},public:{http:["https://andromeda.metis.io/?owner=1088"]}},blockExplorers:{default:{name:"Andromeda Explorer",url:"https://andromeda-explorer.metis.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:2338552}}}),eQ=be({id:599,name:"Metis Goerli",network:"metis-goerli",nativeCurrency:{decimals:18,name:"Metis Goerli",symbol:"METIS"},rpcUrls:{default:{http:["https://goerli.gateway.metisdevops.link"]},public:{http:["https://goerli.gateway.metisdevops.link"]}},blockExplorers:{default:{name:"Metis Goerli Explorer",url:"https://goerli.explorer.metisdevops.link"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1006207}}}),tQ=be({id:7518,network:"MEVerse",name:"MEVerse Chain Mainnet",nativeCurrency:{decimals:18,name:"MEVerse",symbol:"MEV"},rpcUrls:{default:{http:["https://rpc.meversemainnet.io"]},public:{http:["https://rpc.meversemainnet.io"]}},blockExplorers:{default:{name:"Explorer",url:"https://www.meversescan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:86881340}}}),rQ=be({id:4759,network:"MEVerse Testnet",name:"MEVerse Chain Testnet",nativeCurrency:{decimals:18,name:"MEVerse",symbol:"MEV"},rpcUrls:{default:{http:["https://rpc.meversetestnet.io"]},public:{http:["https://rpc.meversetestnet.io"]}},blockExplorers:{default:{name:"Explorer",url:"https://testnet.meversescan.io/"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:64371115}},testnet:!0}),nQ=be({id:919,name:"Mode Testnet",network:"mode-testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.mode.network"]},public:{http:["https://sepolia.mode.network"]}},blockExplorers:{default:{name:"Blockscout",url:"https://sepolia.explorer.mode.network"}},contracts:{multicall3:{address:"0xBAba8373113Fb7a68f195deF18732e01aF8eDfCF",blockCreated:3019007}},testnet:!0}),aQ=be({id:1287,name:"Moonbase Alpha",network:"moonbase-alpha",nativeCurrency:{decimals:18,name:"DEV",symbol:"DEV"},rpcUrls:{default:{http:["https://rpc.api.moonbase.moonbeam.network"],webSocket:["wss://wss.api.moonbase.moonbeam.network"]},public:{http:["https://rpc.api.moonbase.moonbeam.network"],webSocket:["wss://wss.api.moonbase.moonbeam.network"]}},blockExplorers:{default:{name:"Moonscan",url:"https://moonbase.moonscan.io"},etherscan:{name:"Moonscan",url:"https://moonbase.moonscan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1850686}},testnet:!0}),iQ=be({id:1284,name:"Moonbeam",network:"moonbeam",nativeCurrency:{decimals:18,name:"GLMR",symbol:"GLMR"},rpcUrls:{public:{http:["https://moonbeam.public.blastapi.io"],webSocket:["wss://moonbeam.public.blastapi.io"]},default:{http:["https://moonbeam.public.blastapi.io"],webSocket:["wss://moonbeam.public.blastapi.io"]}},blockExplorers:{default:{name:"Moonscan",url:"https://moonscan.io"},etherscan:{name:"Moonscan",url:"https://moonscan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:609002}},testnet:!1}),sQ=be({id:1281,name:"Moonbeam Development Node",network:"development",nativeCurrency:{decimals:18,name:"DEV",symbol:"DEV"},rpcUrls:{default:{http:["http://127.0.0.1:9944"],webSocket:["wss://127.0.0.1:9944"]},public:{http:["http://127.0.0.1:9944"],webSocket:["wss://127.0.0.1:9944"]}}}),oQ=be({id:1285,name:"Moonriver",network:"moonriver",nativeCurrency:{decimals:18,name:"MOVR",symbol:"MOVR"},rpcUrls:{public:{http:["https://moonriver.public.blastapi.io"],webSocket:["wss://moonriver.public.blastapi.io"]},default:{http:["https://moonriver.public.blastapi.io"],webSocket:["wss://moonriver.public.blastapi.io"]}},blockExplorers:{default:{name:"Moonscan",url:"https://moonriver.moonscan.io"},etherscan:{name:"Moonscan",url:"https://moonriver.moonscan.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1597904}},testnet:!1}),lQ=be({id:245022926,network:"neonDevnet",name:"Neon EVM DevNet",nativeCurrency:{name:"NEON",symbol:"NEON",decimals:18},rpcUrls:{default:{http:["https://devnet.neonevm.org"]},public:{http:["https://devnet.neonevm.org"]}},blockExplorers:{default:{name:"Neonscan",url:"https://devnet.neonscan.org"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:205206112}},testnet:!0}),cQ=be({id:245022934,network:"neonMainnet",name:"Neon EVM MainNet",nativeCurrency:{name:"NEON",symbol:"NEON",decimals:18},rpcUrls:{default:{http:["https://neon-proxy-mainnet.solana.p2p.org"]},public:{http:["https://neon-proxy-mainnet.solana.p2p.org"]}},blockExplorers:{default:{name:"Neonscan",url:"https://neonscan.org"}},contracts:{},testnet:!1}),uQ=be({id:4242,name:"Nexi",network:"nexi",nativeCurrency:{name:"Nexi",symbol:"NEXI",decimals:18},rpcUrls:{default:{http:["https://rpc.chain.nexi.technology"]},public:{http:["https://rpc.chain.nexi.technology"]}},blockExplorers:{etherscan:{name:"NexiScan",url:"https://www.nexiscan.com"},default:{name:"NexiScan",url:"https://www.nexiscan.com"}},contracts:{multicall3:{address:"0x0277A46Cc69A57eE3A6C8c158bA874832F718B8E",blockCreated:25770160}}}),fQ=be({id:240,name:"Nexilix Smart Chain",network:"nexilix",nativeCurrency:{decimals:18,name:"Nexilix",symbol:"NEXILIX"},rpcUrls:{default:{http:["https://rpcurl.pos.nexilix.com"]},public:{http:["https://rpcurl.pos.nexilix.com"]}},blockExplorers:{etherscan:{name:"NexilixScan",url:"https://scan.nexilix.com"},default:{name:"NexilixScan",url:"https://scan.nexilix.com"}},contracts:{multicall3:{address:"0x58381c8e2BF9d0C2C4259cA14BdA9Afe02831244",blockCreated:74448}}}),dQ=be({id:248,name:"Oasys",network:"oasys",nativeCurrency:{name:"Oasys",symbol:"OAS",decimals:18},rpcUrls:{default:{http:["https://rpc.mainnet.oasys.games"]},public:{http:["https://rpc.mainnet.oasys.games"]}},blockExplorers:{default:{name:"OasysScan",url:"https://scan.oasys.games"}}}),hQ=be({id:66,name:"OKC",network:"okc",nativeCurrency:{decimals:18,name:"OKT",symbol:"OKT"},rpcUrls:{default:{http:["https://exchainrpc.okex.org"]},public:{http:["https://exchainrpc.okex.org"]}},blockExplorers:{default:{name:"oklink",url:"https://www.oklink.com/okc"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:10364792}}}),Q6=be({id:10,name:"OP Mainnet",network:"optimism",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://opt-mainnet.g.alchemy.com/v2"],webSocket:["wss://opt-mainnet.g.alchemy.com/v2"]},infura:{http:["https://optimism-mainnet.infura.io/v3"],webSocket:["wss://optimism-mainnet.infura.io/ws/v3"]},default:{http:["https://mainnet.optimism.io"]},public:{http:["https://mainnet.optimism.io"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://optimistic.etherscan.io"},default:{name:"Optimism Explorer",url:"https://explorer.optimism.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:4286263}}},{formatters:Hs}),pQ=be({id:420,name:"Optimism Goerli",network:"optimism-goerli",nativeCurrency:{name:"Goerli Ether",symbol:"ETH",decimals:18},rpcUrls:{alchemy:{http:["https://opt-goerli.g.alchemy.com/v2"],webSocket:["wss://opt-goerli.g.alchemy.com/v2"]},infura:{http:["https://optimism-goerli.infura.io/v3"],webSocket:["wss://optimism-goerli.infura.io/ws/v3"]},default:{http:["https://goerli.optimism.io"]},public:{http:["https://goerli.optimism.io"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://goerli-optimism.etherscan.io"},default:{name:"Etherscan",url:"https://goerli-optimism.etherscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:49461}},testnet:!0},{formatters:Hs}),yQ=be({id:11155420,name:"Optimism Sepolia",network:"optimism-sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia.optimism.io"]},public:{http:["https://sepolia.optimism.io"]}},blockExplorers:{blockscout:{name:"Blockscout",url:"https://optimism-sepolia.blockscout.com"},default:{name:"Blockscout",url:"https://optimism-sepolia.blockscout.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:1620204}},testnet:!0},{formatters:Hs}),mQ=be({id:204,name:"opBNB",network:"opBNB Mainnet",nativeCurrency:{name:"BNB",symbol:"BNB",decimals:18},rpcUrls:{public:{http:["https://opbnb-mainnet-rpc.bnbchain.org"]},default:{http:["https://opbnb-mainnet-rpc.bnbchain.org"]}},blockExplorers:{default:{name:"opbnbscan",url:"https://mainnet.opbnbscan.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:512881}}}),bQ=be({id:5611,name:"opBNB Testnet",network:"opBNB Testnet",nativeCurrency:{decimals:18,name:"tBNB",symbol:"tBNB"},rpcUrls:{public:{http:["https://opbnb-testnet-rpc.bnbchain.org"]},default:{http:["https://opbnb-testnet-rpc.bnbchain.org"]}},blockExplorers:{default:{name:"opbnbscan",url:"https://opbnbscan.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:3705108}},testnet:!0}),vQ=be({id:242,name:"Plinga",network:"plinga",nativeCurrency:{name:"Plinga",symbol:"PLINGA",decimals:18},rpcUrls:{default:{http:["https://rpcurl.mainnet.plgchain.com"]},public:{http:["https://rpcurl.mainnet.plgchain.com"]}},blockExplorers:{default:{name:"Plgscan",url:"https://www.plgscan.com"}},contracts:{multicall3:{address:"0x0989576160f2e7092908BB9479631b901060b6e4",blockCreated:204489}}}),gQ=be({id:137,name:"Polygon",network:"matic",nativeCurrency:{name:"MATIC",symbol:"MATIC",decimals:18},rpcUrls:{alchemy:{http:["https://polygon-mainnet.g.alchemy.com/v2"],webSocket:["wss://polygon-mainnet.g.alchemy.com/v2"]},infura:{http:["https://polygon-mainnet.infura.io/v3"],webSocket:["wss://polygon-mainnet.infura.io/ws/v3"]},default:{http:["https://polygon-rpc.com"]},public:{http:["https://polygon-rpc.com"]}},blockExplorers:{etherscan:{name:"PolygonScan",url:"https://polygonscan.com"},default:{name:"PolygonScan",url:"https://polygonscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}}}),xQ=be({id:80001,name:"Polygon Mumbai",network:"maticmum",nativeCurrency:{name:"MATIC",symbol:"MATIC",decimals:18},rpcUrls:{alchemy:{http:["https://polygon-mumbai.g.alchemy.com/v2"],webSocket:["wss://polygon-mumbai.g.alchemy.com/v2"]},infura:{http:["https://polygon-mumbai.infura.io/v3"],webSocket:["wss://polygon-mumbai.infura.io/ws/v3"]},default:{http:["https://rpc.ankr.com/polygon_mumbai"]},public:{http:["https://rpc.ankr.com/polygon_mumbai"]}},blockExplorers:{etherscan:{name:"PolygonScan",url:"https://mumbai.polygonscan.com"},default:{name:"PolygonScan",url:"https://mumbai.polygonscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:25770160}},testnet:!0}),wQ=be({id:1442,name:"Polygon zkEVM Testnet",network:"polygon-zkevm-testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.public.zkevm-test.net"]},public:{http:["https://rpc.public.zkevm-test.net"]}},blockExplorers:{blockscout:{name:"Blockscout",url:"https://explorer.public.zkevm-test.net"},default:{name:"PolygonScan",url:"https://testnet-zkevm.polygonscan.com"}},testnet:!0,contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:525686}}}),_Q=be({id:1101,name:"Polygon zkEVM",network:"polygon-zkevm",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://zkevm-rpc.com"]},public:{http:["https://zkevm-rpc.com"]}},blockExplorers:{default:{name:"PolygonScan",url:"https://zkevm.polygonscan.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:57746}}}),EQ=be({id:369,network:"pulsechain",name:"PulseChain",nativeCurrency:{name:"Pulse",symbol:"PLS",decimals:18},testnet:!1,rpcUrls:{default:{http:["https://rpc.pulsechain.com"],webSocket:["wss://ws.pulsechain.com"]},public:{http:["https://rpc.pulsechain.com"],webSocket:["wss://ws.pulsechain.com"]}},blockExplorers:{default:{name:"PulseScan",url:"https://scan.pulsechain.com"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),AQ=be({id:943,network:"pulsechainV4",name:"PulseChain V4",testnet:!0,nativeCurrency:{name:"V4 Pulse",symbol:"v4PLS",decimals:18},rpcUrls:{default:{http:["https://rpc.v4.testnet.pulsechain.com"],webSocket:["wss://ws.v4.testnet.pulsechain.com"]},public:{http:["https://rpc.v4.testnet.pulsechain.com"],webSocket:["wss://ws.v4.testnet.pulsechain.com"]}},blockExplorers:{default:{name:"PulseScan",url:"https://scan.v4.testnet.pulsechain.com"}},contracts:{ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14353601}}}),SQ=be({id:35441,name:"Q Mainnet",network:"q-mainnet",nativeCurrency:{decimals:18,name:"Q",symbol:"Q"},rpcUrls:{default:{http:["https://rpc.q.org"]},public:{http:["https://rpc.q.org"]}},blockExplorers:{default:{name:"Q Mainnet Explorer",url:"https://explorer.q.org"}}}),CQ=be({id:35443,name:"Q Testnet",network:"q-testnet",nativeCurrency:{decimals:18,name:"Q",symbol:"Q"},rpcUrls:{default:{http:["https://rpc.qtestnet.org"]},public:{http:["https://rpc.qtestnet.org"]}},blockExplorers:{default:{name:"Q Testnet Explorer",url:"https://explorer.qtestnet.org"}},testnet:!0}),TQ=be({id:570,name:"Rollux Mainnet",network:"rollux",nativeCurrency:{decimals:18,name:"Syscoin",symbol:"SYS"},rpcUrls:{default:{http:["https://rpc.rollux.com"],webSocket:["wss://rpc.rollux.com/wss"]},public:{http:["https://rollux.public-rpc.com"]}},blockExplorers:{default:{name:"RolluxExplorer",url:"https://explorer.rollux.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:119222}}}),MQ=be({id:57e3,name:"Rollux Testnet",network:"rollux-testnet",nativeCurrency:{decimals:18,name:"Syscoin",symbol:"SYS"},rpcUrls:{default:{http:["https://rpc-tanenbaum.rollux.com/"],webSocket:["wss://rpc-tanenbaum.rollux.com/wss"]},public:{http:["https://rpc-tanenbaum.rollux.com/"]}},blockExplorers:{default:{name:"RolluxTestnetExplorer",url:"https://rollux.tanenbaum.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1813675}}}),BQ=be({id:2020,name:"Ronin",network:"ronin",nativeCurrency:{name:"RON",symbol:"RON",decimals:18},rpcUrls:{default:{http:["https://api.roninchain.com/rpc"]},public:{http:["https://api.roninchain.com/rpc"]}},blockExplorers:{default:{name:"Ronin Explorer",url:"https://app.roninchain.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:26023535}}}),kQ=be({id:2021,name:"Saigon Testnet",network:"saigon",nativeCurrency:{name:"RON",symbol:"RON",decimals:18},rpcUrls:{default:{http:["https://saigon-testnet.roninchain.com/rpc"]},public:{http:["https://saigon-testnet.roninchain.com/rpc"]}},blockExplorers:{default:{name:"Saigon Explorer",url:"https://saigon-explorer.roninchain.com"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:18736871}},testnet:!0}),FQ=be({id:534352,name:"Scroll",network:"scroll",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.scroll.io"],webSocket:["wss://wss-rpc.scroll.io/ws"]},public:{http:["https://rpc.scroll.io"],webSocket:["wss://wss-rpc.scroll.io/ws"]}},blockExplorers:{default:{name:"Scrollscan",url:"https://scrollscan.com"},blockscout:{name:"Blockscout",url:"https://blockscout.scroll.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:14}},testnet:!1}),PQ=be({id:534351,name:"Scroll Sepolia",network:"scroll-sepolia",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://sepolia-rpc.scroll.io"]},public:{http:["https://sepolia-rpc.scroll.io"]}},blockExplorers:{default:{name:"Blockscout",url:"https://sepolia-blockscout.scroll.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:9473}},testnet:!0}),DQ=be({id:534353,name:"Scroll Testnet",network:"scroll-testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://alpha-rpc.scroll.io/l2"],webSocket:["wss://alpha-rpc.scroll.io/l2/ws"]},public:{http:["https://alpha-rpc.scroll.io/l2"],webSocket:["wss://alpha-rpc.scroll.io/l2/ws"]}},blockExplorers:{default:{name:"Blockscout",url:"https://blockscout.scroll.io"}},testnet:!0}),IQ=be({id:11155111,network:"sepolia",name:"Sepolia",nativeCurrency:{name:"Sepolia Ether",symbol:"SEP",decimals:18},rpcUrls:{alchemy:{http:["https://eth-sepolia.g.alchemy.com/v2"],webSocket:["wss://eth-sepolia.g.alchemy.com/v2"]},infura:{http:["https://sepolia.infura.io/v3"],webSocket:["wss://sepolia.infura.io/ws/v3"]},default:{http:["https://rpc.sepolia.org"]},public:{http:["https://rpc.sepolia.org"]}},blockExplorers:{etherscan:{name:"Etherscan",url:"https://sepolia.etherscan.io"},default:{name:"Etherscan",url:"https://sepolia.etherscan.io"}},contracts:{multicall3:{address:"0xca11bde05977b3631167028862be2a173976ca11",blockCreated:751532},ensRegistry:{address:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e"},ensUniversalResolver:{address:"0x21B000Fd62a880b2125A61e36a284BB757b76025",blockCreated:3914906}},testnet:!0}),OQ=be({id:391845894,name:"SKALE | Block Brawlers",network:"skale-brawl",nativeCurrency:{name:"BRAWL",symbol:"BRAWL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/frayed-decent-antares"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares"]},public:{http:["https://mainnet.skalenodes.com/v1/frayed-decent-antares"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/frayed-decent-antares"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://frayed-decent-antares.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://frayed-decent-antares.explorer.mainnet.skalenodes.com"}},contracts:{}}),RQ=be({id:1564830818,name:"SKALE | Calypso NFT Hub",network:"skale-calypso",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague"]},public:{http:["https://mainnet.skalenodes.com/v1/honorable-steel-rasalhague"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/honorable-steel-rasalhague"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:3107626}}}),NQ=be({id:344106930,name:"SKALE | Calypso NFT Hub Testnet",network:"skale-calypso-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-utter-unripe-menkar"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-utter-unripe-menkar"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-utter-unripe-menkar.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2131424}},testnet:!0}),$Q=be({id:1351057110,name:"SKALE | Chaos Testnet",network:"skale-chaos-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-fast-active-bellatrix"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-fast-active-bellatrix"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:1192202}},testnet:!0}),LQ=be({id:1026062157,name:"SKALE | CryptoBlades",network:"skale-cryptoblades",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux"]},public:{http:["https://mainnet.skalenodes.com/v1/affectionate-immediate-pollux"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/affectionate-immediate-pollux"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com"}},contracts:{}}),jQ=be({id:2046399126,name:"SKALE | Crypto Colosseum",network:"skale-crypto-coloseeum",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/haunting-devoted-deneb"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb"]},public:{http:["https://mainnet.skalenodes.com/v1/haunting-devoted-deneb"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/haunting-devoted-deneb"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com"}},contracts:{}}),zQ=be({id:2046399126,name:"SKALE | Europa Liquidity Hub",network:"skale-europa",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/elated-tan-skat"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat"]},public:{http:["https://mainnet.skalenodes.com/v1/elated-tan-skat"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/elated-tan-skat"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://elated-tan-skat.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://elated-tan-skat.explorer.mainnet.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:3113495}}}),UQ=be({id:476158412,name:"SKALE | Europa Liquidity Hub Testnet",network:"skale-europa-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-legal-crazy-castor"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-legal-crazy-castor"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-legal-crazy-castor.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2071911}},testnet:!0}),HQ=be({id:2139927552,name:"SKALE | Exorde",network:"skale-exorde",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/light-vast-diphda"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda"]},public:{http:["https://mainnet.skalenodes.com/v1/light-vast-diphda"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/light-vast-diphda"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://light-vast-diphda.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://light-vast-diphda.explorer.mainnet.skalenodes.com"}},contracts:{}}),GQ=be({id:1273227453,name:"SKALE | Human Protocol",network:"skale-human-protocol",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/wan-red-ain"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/wan-red-ain"]},public:{http:["https://mainnet.skalenodes.com/v1/wan-red-ain"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/wan-red-ain"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://wan-red-ain.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://wan-red-ain.explorer.mainnet.skalenodes.com"}},contracts:{}}),qQ=be({id:1482601649,name:"SKALE | Nebula Gaming Hub",network:"skale-nebula",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/green-giddy-denebola"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola"]},public:{http:["https://mainnet.skalenodes.com/v1/green-giddy-denebola"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/green-giddy-denebola"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://green-giddy-denebola.explorer.mainnet.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2372986}}}),VQ=be({id:503129905,name:"SKALE | Nebula Gaming Hub Testnet",network:"skale-nebula-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-faint-slimy-achird"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-faint-slimy-achird"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-faint-slimy-achird.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2205882}},testnet:!0}),WQ=be({id:278611351,name:"SKALE | Razor Network",network:"skale-razor",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/turbulent-unique-scheat"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat"]},public:{http:["https://mainnet.skalenodes.com/v1/turbulent-unique-scheat"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/turbulent-unique-scheat"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com"}},contracts:{}}),KQ=be({id:1350216234,name:"SKALE | Titan Community Hub",network:"skale-titan",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://mainnet.skalenodes.com/v1/parallel-stormy-spica"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica"]},public:{http:["https://mainnet.skalenodes.com/v1/parallel-stormy-spica"],webSocket:["wss://mainnet.skalenodes.com/v1/ws/parallel-stormy-spica"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://parallel-stormy-spica.explorer.mainnet.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2076458}}}),ZQ=be({id:1517929550,name:"SKALE | Titan Community Hub Testnet",network:"skale-titan-testnet",nativeCurrency:{name:"sFUEL",symbol:"sFUEL",decimals:18},rpcUrls:{default:{http:["https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar"]},public:{http:["https://staging-v3.skalenodes.com/v1/staging-aware-chief-gianfar"],webSocket:["wss://staging-v3.skalenodes.com/v1/ws/staging-aware-chief-gianfar"]}},blockExplorers:{blockscout:{name:"SKALE Explorer",url:"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com"},default:{name:"SKALE Explorer",url:"https://staging-aware-chief-gianfar.explorer.staging-v3.skalenodes.com"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:2085155}},testnet:!0}),JQ=be({id:19,name:"Songbird Mainnet",network:"songbird-mainnet",nativeCurrency:{decimals:18,name:"songbird",symbol:"SGB"},rpcUrls:{default:{http:["https://songbird-api.flare.network/ext/C/rpc"]},public:{http:["https://songbird-api.flare.network/ext/C/rpc"]}},blockExplorers:{default:{name:"Songbird Explorer",url:"https://songbird-explorer.flare.network"}}}),YQ=be({id:16,name:"Coston",network:"coston",nativeCurrency:{decimals:18,name:"costonflare",symbol:"CFLR"},rpcUrls:{default:{http:["https://coston-api.flare.network/ext/C/rpc"]},public:{http:["https://coston-api.flare.network/ext/C/rpc"]}},blockExplorers:{default:{name:"Coston Explorer",url:"https://coston-explorer.flare.network"}},testnet:!0}),XQ=be({id:88882,name:"Chiliz Spicy Testnet",network:"chiliz-spicy-Testnet",nativeCurrency:{decimals:18,name:"CHZ",symbol:"CHZ"},rpcUrls:{default:{http:["https://spicy-rpc.chiliz.com","https://chiliz-spicy.publicnode.com"],webSocket:["wss://spicy-rpc-ws.chiliz.com","wss://chiliz-spicy.publicnode.com"]},public:{http:["https://spicy-rpc.chiliz.com","https://chiliz-spicy.publicnode.com"],webSocket:["wss://spicy-rpc-ws.chiliz.com","wss://chiliz-spicy.publicnode.com"]}},blockExplorers:{default:{name:"Chiliz Explorer",url:"http://spicy-explorer.chiliz.com"}},testnet:!0}),QQ=be({id:8082,name:"Shardeum Sphinx",network:"shmSphinx",nativeCurrency:{name:"SHARDEUM",symbol:"SHM",decimals:18},rpcUrls:{default:{http:["https://sphinx.shardeum.org"]},public:{http:["https://sphinx.shardeum.org"]}},blockExplorers:{default:{name:"Shardeum Explorer",url:"https://explorer-sphinx.shardeum.org"}},testnet:!0}),eee=be({id:109,name:"Shibarium",network:"shibarium",nativeCurrency:{name:"Bone",symbol:"BONE",decimals:18},rpcUrls:{default:{http:["https://rpc.shibrpc.com"]},public:{http:["https://rpc.shibrpc.com"]}},blockExplorers:{etherscan:{name:"Blockscout",url:"https://shibariumscan.io"},default:{name:"Blockscout",url:"https://shibariumscan.io"}},contracts:{multicall3:{address:"0x864Bf681ADD6052395188A89101A1B37d3B4C961",blockCreated:265900}}}),tee=be({id:57,name:"Syscoin Mainnet",network:"syscoin",nativeCurrency:{decimals:18,name:"Syscoin",symbol:"SYS"},rpcUrls:{default:{http:["https://rpc.syscoin.org"],webSocket:["wss://rpc.syscoin.org/wss"]},public:{http:["https://rpc.syscoin.org"],webSocket:["wss://rpc.syscoin.org/wss"]}},blockExplorers:{default:{name:"SyscoinExplorer",url:"https://explorer.syscoin.org"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:287139}}}),ree=be({id:5700,name:"Syscoin Tanenbaum Testnet",network:"syscoin-testnet",nativeCurrency:{decimals:18,name:"Syscoin",symbol:"SYS"},rpcUrls:{default:{http:["https://rpc.tanenbaum.io"],webSocket:["wss://rpc.tanenbaum.io/wss"]},public:{http:["https://rpc.tanenbaum.io"],webSocket:["wss://rpc.tanenbaum.io/wss"]}},blockExplorers:{default:{name:"SyscoinTestnetExplorer",url:"https://tanenbaum.io"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:271288}}}),nee=be({id:841,name:"Taraxa Mainnet",network:"taraxa",nativeCurrency:{name:"Tara",symbol:"TARA",decimals:18},rpcUrls:{default:{http:["https://rpc.mainnet.taraxa.io"]},public:{http:["https://rpc.mainnet.taraxa.io"]}},blockExplorers:{default:{name:"Taraxa Explorer",url:"https://explorer.mainnet.taraxa.io"}}}),aee=be({id:167007,name:"Taiko Jolnir L2",network:"tko-jolnir",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://jolnir.taiko.xyz"]},public:{http:["https://jolnir.taiko.xyz"]}},blockExplorers:{default:{name:"blockscout",url:"https://explorer.jolnir.taiko.xyz"}}}),iee=be({id:167005,name:"Taiko (Alpha-3 Testnet)",network:"taiko-sepolia",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://rpc.test.taiko.xyz"]},public:{http:["https://rpc.test.taiko.xyz"]}},blockExplorers:{default:{name:"blockscout",url:"https://explorer.test.taiko.xyz"}}}),see=be({id:842,name:"Taraxa Testnet",network:"taraxa-testnet",nativeCurrency:{name:"Tara",symbol:"TARA",decimals:18},rpcUrls:{default:{http:["https://rpc.testnet.taraxa.io"]},public:{http:["https://rpc.testnet.taraxa.io"]}},blockExplorers:{default:{name:"Taraxa Explorer",url:"https://explorer.testnet.taraxa.io"}},testnet:!0}),oee=be({id:40,name:"Telos",network:"telos",nativeCurrency:{decimals:18,name:"Telos",symbol:"TLOS"},rpcUrls:{default:{http:["https://mainnet.telos.net/evm"]},public:{http:["https://mainnet.telos.net/evm"]}},blockExplorers:{default:{name:"Teloscan",url:"https://www.teloscan.io/"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:246530709}}}),lee=be({id:41,name:"Telos",network:"telosTestnet",nativeCurrency:{decimals:18,name:"Telos",symbol:"TLOS"},rpcUrls:{default:{http:["https://testnet.telos.net/evm"]},public:{http:["https://testnet.telos.net/evm"]}},blockExplorers:{default:{name:"Teloscan (testnet)",url:"https://testnet.teloscan.io/"}},testnet:!0}),cee=be({id:1559,name:"Tenet",network:"tenet-mainnet",nativeCurrency:{name:"TENET",symbol:"TENET",decimals:18},rpcUrls:{public:{http:["https://rpc.tenet.org"]},default:{http:["https://rpc.tenet.org"]}},blockExplorers:{default:{name:"TenetScan Mainnet",url:"https://tenetscan.io"}},testnet:!1}),uee=be({id:997,name:"5ireChain Thunder Testnet",network:"5ireChain",nativeCurrency:{name:"5ire Token",symbol:"5IRE",decimals:18},rpcUrls:{default:{http:["https://rpc-testnet.5ire.network"]},public:{http:["https://rpc-testnet.5ire.network"]}},blockExplorers:{default:{name:"5ireChain Explorer",url:"https://explorer.5ire.network"}},testnet:!0}),fee=be({id:100009,name:"Vechain",network:"vechain",nativeCurrency:{name:"VeChain",symbol:"VET",decimals:18},rpcUrls:{default:{http:["https://mainnet.vechain.org"]},public:{http:["https://mainnet.vechain.org"]}},blockExplorers:{default:{name:"Vechain Explorer",url:"https://explore.vechain.org"},vechainStats:{name:"Vechain Stats",url:"https://vechainstats.com"}}}),dee=be({id:888,name:"Wanchain",network:"wanchain",nativeCurrency:{name:"WANCHAIN",symbol:"WAN",decimals:18},rpcUrls:{default:{http:["https://gwan-ssl.wandevs.org:56891","https://gwan2-ssl.wandevs.org"]},public:{http:["https://gwan-ssl.wandevs.org:56891","https://gwan2-ssl.wandevs.org"]}},blockExplorers:{etherscan:{name:"WanScan",url:"https://wanscan.org"},default:{name:"WanScan",url:"https://wanscan.org"}},contracts:{multicall3:{address:"0xcDF6A1566e78EB4594c86Fe73Fcdc82429e97fbB",blockCreated:25312390}}}),hee=be({id:999,name:"Wanchain Testnet",network:"wanchainTestnet",nativeCurrency:{name:"WANCHAIN",symbol:"WANt",decimals:18},rpcUrls:{default:{http:["https://gwan-ssl.wandevs.org:46891"]},public:{http:["https://gwan-ssl.wandevs.org:46891"]}},blockExplorers:{etherscan:{name:"WanScanTest",url:"https://wanscan.org"},default:{name:"WanScanTest",url:"https://wanscan.org"}},contracts:{multicall3:{address:"0x11c89bF4496c39FB80535Ffb4c92715839CC5324",blockCreated:24743448}},testnet:!0}),pee=be({id:50,name:"XinFin Network",network:"xdc",nativeCurrency:{decimals:18,name:"XDC",symbol:"XDC"},rpcUrls:{default:{http:["https://rpc.xinfin.network"]},public:{http:["https://rpc.xinfin.network"]}},blockExplorers:{xinfin:{name:"XinFin",url:"https://explorer.xinfin.network"},default:{name:"Blocksscan",url:"https://xdc.blocksscan.io"}}}),yee=be({id:51,name:"Apothem Network",network:"xdc-testnet",nativeCurrency:{decimals:18,name:"TXDC",symbol:"TXDC"},rpcUrls:{default:{http:["https://erpc.apothem.network"]},public:{http:["https://erpc.apothem.network"]}},blockExplorers:{xinfin:{name:"XinFin",url:"https://explorer.apothem.network"},default:{name:"Blocksscan",url:"https://apothem.blocksscan.io"}}}),mee=be({id:1337803,network:"zhejiang",name:"Zhejiang",nativeCurrency:{name:"Zhejiang Ether",symbol:"ZhejETH",decimals:18},rpcUrls:{default:{http:["https://rpc.zhejiang.ethpandaops.io"]},public:{http:["https://rpc.zhejiang.ethpandaops.io"]}},blockExplorers:{beaconchain:{name:"Etherscan",url:"https://zhejiang.beaconcha.in"},blockscout:{name:"Blockscout",url:"https://blockscout.com/eth/zhejiang-testnet"},default:{name:"Beaconchain",url:"https://zhejiang.beaconcha.in"}},testnet:!0}),e8={block:l6({format(t){var r;const e=(r=t.transactions)==null?void 0:r.map(n=>{if(typeof n=="string")return n;const a=e8.transaction.format(n);return a.typeHex==="0x71"?a.type="eip712":a.typeHex==="0xff"&&(a.type="priority"),a});return{l1BatchNumber:t.l1BatchNumber?wr(t.l1BatchNumber):null,l1BatchTimestamp:t.l1BatchTimestamp?wr(t.l1BatchTimestamp):null,transactions:e}}}),transaction:o6({format(t){const e={};return t.type==="0x71"?e.type="eip712":t.type==="0xff"&&(e.type="priority"),{...e,l1BatchNumber:t.l1BatchNumber?wr(t.l1BatchNumber):null,l1BatchTxIndex:t.l1BatchTxIndex?wr(t.l1BatchTxIndex):null}}}),transactionReceipt:c6({format(t){return{l1BatchNumber:t.l1BatchNumber?wr(t.l1BatchNumber):null,l1BatchTxIndex:t.l1BatchTxIndex?wr(t.l1BatchTxIndex):null,logs:t.logs.map(e=>({...CT(e),l1BatchNumber:e.l1BatchNumber?wr(e.l1BatchNumber):null,transactionLogIndex:b1(e.transactionLogIndex),logType:e.logType})),l2ToL1Logs:t.l2ToL1Logs.map(e=>({blockNumber:wr(e.blockHash),blockHash:e.blockHash,l1BatchNumber:wr(e.l1BatchNumber),transactionIndex:wr(e.transactionIndex),shardId:wr(e.shardId),isService:e.isService,sender:e.sender,key:e.key,value:e.value,transactionHash:e.transactionHash,logIndex:wr(e.logIndex)}))}}}),transactionRequest:AT({exclude:["customSignature","factoryDeps","gasPerPubdata","paymaster","paymasterInput"],format(t){return t.gasPerPubdata||t.paymaster&&t.paymasterInput||t.factoryDeps||t.customSignature?{eip712Meta:{...t.gasPerPubdata?{gasPerPubdata:rt(t.gasPerPubdata)}:{},...t.paymaster&&t.paymasterInput?{paymasterParams:{paymaster:t.paymaster,paymasterInput:Array.from(ET(t.paymasterInput))}}:{},...t.factoryDeps?{factoryDeps:t.factoryDeps}:{},...t.customSignature?{customSignature:t.customSignature}:{}},type:t.type==="eip712"?"0x71":"0xff"}:{}}})},bee=(t,e)=>gee(t)?vee(t):BT(t,e),jB={transaction:bee};function vee(t){const{chainId:e,gas:r,nonce:n,to:a,from:i,value:s,maxFeePerGas:o,maxPriorityFeePerGas:u,customSignature:y,factoryDeps:b,paymaster:_,paymasterInput:A,gasPerPubdata:T,data:k}=t;xee(t);const C=[n?rt(n):"0x",u?rt(u):"0x",o?rt(o):"0x",r?rt(r):"0x",a??"0x",s?rt(s):"0x",k??"0x",rt(e),rt(""),rt(""),rt(e),i??"0x",T?rt(T):"0x",b??[],y??"0x",_&&A?[_,A]:[]];return j0(["0x71",Zu(C)])}function gee(t){return"customSignature"in t||"paymaster"in t||"paymasterInput"in t||"gasPerPubdata"in t||"factoryDeps"in t}function xee(t){const{chainId:e,to:r,from:n,paymaster:a,paymasterInput:i}=t;if(e<=0)throw new Ku({chainId:e});if(r&&!zn(r))throw new Yi({address:r});if(n&&!zn(n))throw new Yi({address:n});if(a&&!zn(a))throw new Yi({address:a});if(a&&!i)throw new Dt("`paymasterInput` must be provided when `paymaster` is defined");if(!a&&i)throw new Dt("`paymaster` must be provided when `paymasterInput` is defined")}const wee=be({id:324,name:"zkSync Era",network:"zksync-era",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://mainnet.era.zksync.io"],webSocket:["wss://mainnet.era.zksync.io/ws"]},public:{http:["https://mainnet.era.zksync.io"],webSocket:["wss://mainnet.era.zksync.io/ws"]}},blockExplorers:{default:{name:"zkExplorer",url:"https://explorer.zksync.io"}},contracts:{multicall3:{address:"0xF9cda624FBC7e059355ce98a31693d299FACd963"}}},{serializers:jB,formatters:e8}),_ee=be({id:280,name:"zkSync Era Testnet",network:"zksync-era-testnet",nativeCurrency:{name:"Ether",symbol:"ETH",decimals:18},rpcUrls:{default:{http:["https://testnet.era.zksync.dev"],webSocket:["wss://testnet.era.zksync.dev/ws"]},public:{http:["https://testnet.era.zksync.dev"],webSocket:["wss://testnet.era.zksync.dev/ws"]}},blockExplorers:{default:{name:"zkExplorer",url:"https://goerli.explorer.zksync.io"}},contracts:{multicall3:{address:"0xF9cda624FBC7e059355ce98a31693d299FACd963"}},testnet:!0},{serializers:jB,formatters:e8}),Eee=be({id:7001,name:"ZetaChain Athens Testnet",network:"zetachain-athens-testnet",nativeCurrency:{decimals:18,name:"Zeta",symbol:"aZETA"},rpcUrls:{public:{http:["https://zetachain-athens-evm.blockpi.network/v1/rpc/public"]},default:{http:["https://zetachain-athens-evm.blockpi.network/v1/rpc/public"]}},blockExplorers:{default:{name:"ZetaScan",url:"https://athens3.explorer.zetachain.com"}},testnet:!0}),t8=be({id:7777777,name:"Zora",network:"zora",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.zora.energy"],webSocket:["wss://rpc.zora.energy"]},public:{http:["https://rpc.zora.energy"],webSocket:["wss://rpc.zora.energy"]}},blockExplorers:{default:{name:"Explorer",url:"https://explorer.zora.energy"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:5882}}},{formatters:Hs}),zB=be({id:999999999,name:"Zora Sepolia",network:"zora-sepolia",nativeCurrency:{decimals:18,name:"Zora Sepolia",symbol:"ETH"},rpcUrls:{default:{http:["https://sepolia.rpc.zora.energy"],webSocket:["wss://sepolia.rpc.zora.energy"]},public:{http:["https://sepolia.rpc.zora.energy"],webSocket:["wss://sepolia.rpc.zora.energy"]}},blockExplorers:{default:{name:"Zora Sepolia Explorer",url:"https://sepolia.explorer.zora.energy/"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:83160}},testnet:!0},{formatters:Hs}),Vy=be({id:999,name:"Zora Goerli Testnet",network:"zora-testnet",nativeCurrency:{decimals:18,name:"Zora Goerli",symbol:"ETH"},rpcUrls:{default:{http:["https://testnet.rpc.zora.energy"],webSocket:["wss://testnet.rpc.zora.energy"]},public:{http:["https://testnet.rpc.zora.energy"],webSocket:["wss://testnet.rpc.zora.energy"]}},blockExplorers:{default:{name:"Explorer",url:"https://testnet.explorer.zora.energy"}},contracts:{multicall3:{address:"0xcA11bde05977b3631167028862bE2a173976CA11",blockCreated:189123}},testnet:!0},{formatters:Hs}),Aee=Object.freeze(Object.defineProperty({__proto__:null,arbitrum:SY,arbitrumGoerli:CY,arbitrumNova:TY,arbitrumSepolia:BY,astar:MY,astarZkatana:kY,aurora:FY,auroraTestnet:PY,avalanche:DY,avalancheFuji:IY,base:IB,baseGoerli:OB,baseSepolia:OY,bearNetworkChainMainnet:RY,bearNetworkChainTestnet:NY,boba:$Y,bronos:LY,bronosTestnet:jY,bsc:zY,bscTestnet:UY,bxn:HY,bxnTestnet:GY,canto:qY,celo:YY,celoAlfajores:XY,celoCannoli:eX,chiliz:QY,classic:tX,confluxESpace:rX,coreDao:nX,cronos:aX,cronosTestnet:iX,crossbell:sX,dfk:oX,dogechain:lX,edgeware:cX,edgewareTestnet:uX,ekta:yX,ektaTestnet:mX,eos:fX,eosTestnet:dX,evmos:hX,evmosTestnet:pX,fantom:bX,fantomTestnet:vX,fibo:gX,filecoin:xX,filecoinCalibration:wX,filecoinHyperspace:_X,flare:EX,flareTestnet:AX,foundry:SX,fuse:CX,fuseSparknet:TX,gnosis:FX,gnosisChiado:PX,gobi:kX,goerli:Y6,haqqMainnet:OX,haqqTestedge2:RX,hardhat:DX,harmonyOne:IX,holesky:NX,iotex:MX,iotexTestnet:BX,kava:$X,kavaTestnet:LX,klaytn:jX,kroma:zX,kromaSepolia:UX,linea:HX,lineaTestnet:GX,localhost:qX,lukso:VX,mainnet:X6,manta:WX,mantaTestnet:KX,mantle:ZX,mantleTestnet:JX,meter:YX,meterTestnet:XX,metis:QX,metisGoerli:eQ,mev:tQ,mevTestnet:rQ,modeTestnet:nQ,moonbaseAlpha:aQ,moonbeam:iQ,moonbeamDev:sQ,moonriver:oQ,neonDevnet:lQ,neonMainnet:cQ,nexi:uQ,nexilix:fQ,oasys:dQ,okc:hQ,opBNB:mQ,opBNBTestnet:bQ,optimism:Q6,optimismGoerli:pQ,optimismSepolia:yQ,plinga:vQ,polygon:gQ,polygonMumbai:xQ,polygonZkEvm:_Q,polygonZkEvmTestnet:wQ,pulsechain:EQ,pulsechainV4:AQ,qMainnet:SQ,qTestnet:CQ,rollux:TQ,rolluxTestnet:MQ,ronin:BQ,saigon:kQ,scroll:FQ,scrollSepolia:PQ,scrollTestnet:DQ,sepolia:IQ,shardeumSphinx:QQ,shibarium:eee,skaleBlockBrawlers:OQ,skaleCalypso:RQ,skaleCalypsoTestnet:NQ,skaleChaosTestnet:$Q,skaleCryptoBlades:LQ,skaleCryptoColosseum:jQ,skaleEuropa:zQ,skaleEuropaTestnet:UQ,skaleExorde:HQ,skaleHumanProtocol:GQ,skaleNebula:qQ,skaleNebulaTestnet:VQ,skaleRazor:WQ,skaleTitan:KQ,skaleTitanTestnet:ZQ,songbird:JQ,songbirdTestnet:YQ,spicy:XQ,syscoin:tee,syscoinTestnet:ree,taikoJolnir:aee,taikoTestnetSepolia:iee,taraxa:nee,taraxaTestnet:see,telos:oee,telosTestnet:lee,tenet:cee,thunderTestnet:uee,vechain:fee,wanchain:dee,wanchainTestnet:hee,xdc:pee,xdcTestnet:yee,zetachainAthensTestnet:Eee,zhejiang:mee,zkSync:wee,zkSyncTestnet:_ee,zora:t8,zoraSepolia:zB,zoraTestnet:Vy},Symbol.toStringTag,{value:"Module"})),Gf={multiSendAddress:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",safeMasterCopyAddress:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",safeProxyFactoryAddress:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",multiSendCallOnlyAddress:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",fallbackHandlerAddress:"0x1AC114C2099aFAf5261731655Dc6c306bFcd4Dbd",createCallAddress:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",signMessageLibAddress:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2"},Xg={multiSendAddress:"0x998739BFdAAdde7C933B942a68053933098f9EDa",safeMasterCopyAddress:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",safeProxyFactoryAddress:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",multiSendCallOnlyAddress:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",fallbackHandlerAddress:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",createCallAddress:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",signMessageLibAddress:"0x98FFBBF51bb33A056B08ddf711f289936AafF717"},See=Xg,_0={999:Gf,999999999:Gf,7777777:Gf,84531:Xg,8453:Xg,58008:Gf,424:Gf,11155111:See},Cee={id:424,name:"PGN",network:"pgn",nativeCurrency:{decimals:18,name:"Ether",symbol:"ETH"},rpcUrls:{default:{http:["https://rpc.publicgoods.network"],webSocket:["wss://rpc.publicgoods.network"]},public:{http:["https://rpc.publicgoods.network"],webSocket:["wss://rpc.publicgoods.network"]}},blockExplorers:{etherscan:{name:"Explorer",url:"https://explorer.publicgoods.network"},default:{name:"Explorer",url:"https://explorer.publicgoods.network"}}},E0={999:Vy,999999999:zB,424:Cee};Object.keys(_0).map(t=>{if(E0[+t])return;const e=Object.values(Aee).find(r=>r.id.toString()===t);e&&(E0[+t]=e)});const Tee=({currentNetwork:t,setCurrentNetwork:e,provider:r})=>{const n=pe.useCallback(({value:a})=>{r==null||r.send("wallet_switchEthereumChain",[{chainId:`0x${parseInt(a).toString(16)}`}])},[r]);return pe.useEffect(()=>{var i;const a=s=>{e(parseInt(s))};return(i=window.ethereum)==null||i.on("chainChanged",a),()=>{var s;(s=window.ethereum)==null||s.removeListener("chainChanged",a)}}),me.jsxs(zr,{children:[me.jsx(zr.Label,{children:"Network:"}),me.jsx(RL,{name:"network",value:t.toString(),onChange:n,options:Object.values(E0).filter(a=>!!a).map(a=>({value:a.id.toString(),label:a.name}))})]})},V0=pe.createContext(null),W0=pe.createContext(0),Mee=()=>{const[t,e]=pe.useState(),[r,n]=pe.useState(0),a=pe.useCallback(async()=>{const i=new V6(window.ethereum);i.on("accountsChanged",async o=>{console.log({accounts:o});const u=await i.getNetwork();n(u.chainId)}),i.on("disconnect",()=>{e(void 0),n(0)}),i.on("connect",async()=>{e(i);const o=await i.getNetwork();n(o.chainId)}),await i.send("eth_requestAccounts",[]);const s=i.getSigner();if(i&&s){const o=await i.getNetwork();n(o.chainId),e(i)}},[e,n]);return pe.useEffect(()=>{a()},[a]),t?me.jsx(V0.Provider,{value:t,children:me.jsxs(W0.Provider,{value:r,children:[me.jsx(Tee,{currentNetwork:r,setCurrentNetwork:n,provider:t}),me.jsx(lC,{})]})}):me.jsx(Xe,{padding:10,justify:"space-between",gap:6,direction:"column",children:me.jsx(Sr,{onClick:a,children:"Connect Web3"})})};function Bee(){const t=cy(),e=pe.useContext(W0),r=vT({initialValues:{address:""},validate:n=>{const a={};return zn(n.address)?a:{address:"Invalid Address"}},onSubmit:n=>{t(`/safe/${e}/${n.address}`)}});return me.jsxs("form",{onSubmit:r.handleSubmit,children:[me.jsxs(zr,{hasError:!r.isValid,children:[me.jsx(zr.Label,{children:"Safe Address:"}),me.jsx(l0,{value:r.values.address,onChange:({event:n})=>r.handleChange(n),onBlur:r.handleBlur,name:"address"}),r.errors.address&&me.jsx(zr.Error,{children:r.errors.address}),me.jsx(zr.Helper,{children:"Remember to select the correct network"})]}),me.jsx(Xe,{children:me.jsx(Sr,{type:"submit",children:"Connect to Safe"})})]})}function kee(){const t=cy();return me.jsx(Xe,{padding:10,justify:"space-between",gap:6,direction:"column",children:me.jsxs(Ux,{children:[me.jsx(Xe,{paddingBottom:4,gap:4,children:me.jsx(Bee,{})}),me.jsx(cC,{}),me.jsx(Xe,{paddingTop:4,children:me.jsx(Sr,{onClick:e=>{e.preventDefault(),t("/create")},children:"Create a New Safe"})})]})})}var Hl={},xn={},Wy={},ln={};const Fee=$o(KW);Object.defineProperty(ln,"__esModule",{value:!0});ln.isSignerCompatible=ln.isTypedDataSigner=ln.toTxResult=ln.sameString=void 0;const Pee=Fee;function Dee(t,e){return t.toLowerCase()===e.toLowerCase()}ln.sameString=Dee;function Iee(t,e){return{hash:t.hash,options:e,transactionResponse:t}}ln.toTxResult=Iee;function Oee(t){return t._signTypedData!==void 0}ln.isTypedDataSigner=Oee;function Ree(t){const e=t;return typeof e.signMessage=="function"&&typeof e.signTransaction=="function"&&e._isSigner||e instanceof Pee.Signer}ln.isSignerCompatible=Ree;Object.defineProperty(Wy,"__esModule",{value:!0});const u9=ln;class Nee{constructor(e){this.contract=e,this.encode=(r,n)=>this.contract.interface.encodeFunctionData(r,n)}getAddress(){return this.contract.address}async performCreate2(e,r,n,a){a&&!a.gasLimit&&(a.gasLimit=await this.estimateGas("performCreate2",[e,r,n],{...a}));const i=await this.contract.performCreate2(e,r,n,a);return(0,u9.toTxResult)(i,a)}async performCreate(e,r,n){n&&!n.gasLimit&&(n.gasLimit=await this.estimateGas("performCreate",[e,r],{...n}));const a=await this.contract.performCreate(e,r,n);return(0,u9.toTxResult)(a,n)}async estimateGas(e,r,n){return(await this.contract.estimateGas[e](...r,n)).toString()}}Wy.default=Nee;var ic={};Object.defineProperty(ic,"__esModule",{value:!0});const f9=ln;class $ee{constructor(e){this.contract=e,this.encode=(r,n)=>this.contract.interface.encodeFunctionData(r,n)}async getVersion(){return await this.contract.VERSION()}getAddress(){return this.contract.address}async getNonce(){return(await this.contract.nonce()).toNumber()}async getThreshold(){return(await this.contract.getThreshold()).toNumber()}async getOwners(){return this.contract.getOwners()}async isOwner(e){return this.contract.isOwner(e)}async getTransactionHash(e){return this.contract.getTransactionHash(e.to,e.value,e.data,e.operation,e.safeTxGas,e.baseGas,e.gasPrice,e.gasToken,e.refundReceiver,e.nonce)}async approvedHashes(e,r){return this.contract.approvedHashes(e,r)}async approveHash(e,r){r&&!r.gasLimit&&(r.gasLimit=await this.estimateGas("approveHash",[e],{...r}));const n=await this.contract.approveHash(e,r);return(0,f9.toTxResult)(n,r)}async isValidTransaction(e,r){let n=!1;try{r&&!r.gasLimit&&(r.gasLimit=await this.estimateGas("execTransaction",[e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures()],{...r})),n=await this.contract.callStatic.execTransaction(e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures(),r)}catch{}return n}async execTransaction(e,r){r&&!r.gasLimit&&(r.gasLimit=await this.estimateGas("execTransaction",[e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures()],{...r}));const n=await this.contract.execTransaction(e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures(),r);return(0,f9.toTxResult)(n,r)}async estimateGas(e,r,n){return(await this.contract.estimateGas[e](...r,n)).toString()}}ic.default=$ee;var of={};const Wo=$o(oV);Object.defineProperty(of,"__esModule",{value:!0});const Lee=Wo;class jee{constructor(e){this.contract=e}getAddress(){return this.contract.address}async proxyCreationCode(){return this.contract.proxyCreationCode()}async createProxy({safeMasterCopyAddress:e,initializer:r,saltNonce:n,options:a,callback:i}){if(Lee.BigNumber.from(n).lt(0))throw new Error("saltNonce must be greater than or equal to 0");return a&&!a.gasLimit&&(a.gasLimit=await this.estimateGas("createProxyWithNonce",[e,r,n],{...a})),this.contract.createProxyWithNonce(e,r,n,a).then(async o=>{var u;i&&i(o.hash);const y=await o.wait(),b=(u=y==null?void 0:y.events)===null||u===void 0?void 0:u.find(({event:A})=>A==="ProxyCreation");if(!b||!b.args)throw new Error("SafeProxy was not deployed correctly");return b.args[0]})}encode(e,r){return this.contract.interface.encodeFunctionData(e,r)}async estimateGas(e,r,n){return(await this.contract.estimateGas[e](...r,n)).toString()}}of.default=jee;var K0={};Object.defineProperty(K0,"__esModule",{value:!0});class zee{constructor(e){this.contract=e,this.encode=(r,n)=>this.contract.interface.encodeFunctionData(r,n)}getAddress(){return this.contract.address}}K0.default=zee;var Ky={};Object.defineProperty(Ky,"__esModule",{value:!0});class Uee{constructor(e){this.contract=e,this.encode=(r,n)=>this.contract.interface.encodeFunctionData(r,n)}getAddress(){return this.contract.address}}Ky.default=Uee;var Zy={};Object.defineProperty(Zy,"__esModule",{value:!0});const Hee=ln;class Gee{constructor(e){this.contract=e,this.encode=(r,n)=>this.contract.interface.encodeFunctionData(r,n)}getAddress(){return this.contract.address}async signMessage(e,r){r&&!r.gasLimit&&(r.gasLimit=await this.estimateGas("signMessage",[e],{...r}));const n=await this.contract.signMessage(e,r);return(0,Hee.toTxResult)(n,r)}async getMessageHash(e){return this.contract.getMessageHash(e)}async estimateGas(e,r,n){return(await this.contract.estimateGas[e](...r,n)).toString()}}Zy.default=Gee;var r8={},g2={},gi={},ra={};Object.defineProperty(ra,"__esModule",{value:!0});ra.SENTINEL_ADDRESS=ra.EMPTY_DATA=ra.ZERO_ADDRESS=void 0;ra.ZERO_ADDRESS=`0x${"0".repeat(40)}`;ra.EMPTY_DATA="0x";ra.SENTINEL_ADDRESS="0x0000000000000000000000000000000000000001";Object.defineProperty(gi,"__esModule",{value:!0});gi.isRestrictedAddress=gi.isZeroAddress=gi.sameString=void 0;const UB=ra;function n8(t,e){return t.toLowerCase()===e.toLowerCase()}gi.sameString=n8;function HB(t){return n8(t,UB.ZERO_ADDRESS)}gi.isZeroAddress=HB;function qee(t){return n8(t,UB.SENTINEL_ADDRESS)}function Vee(t){return HB(t)||qee(t)}gi.isRestrictedAddress=Vee;var Zn={};function GB(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var a8={exports:{}};a8.exports;(function(t){(function(e,r){function n(M,l){if(!M)throw new Error(l||"Assertion failed")}function a(M,l){M.super_=l;var d=function(){};d.prototype=l.prototype,M.prototype=new d,M.prototype.constructor=M}function i(M,l,d){if(i.isBN(M))return M;this.negative=0,this.words=null,this.length=0,this.red=null,M!==null&&((l==="le"||l==="be")&&(d=l,l=10),this._init(M||0,l||10,d||"be"))}typeof e=="object"?e.exports=i:r.BN=i,i.BN=i,i.wordSize=26;var s;try{s=GB("buffer").Buffer}catch{}i.isBN=function(l){return l instanceof i?!0:l!==null&&typeof l=="object"&&l.constructor.wordSize===i.wordSize&&Array.isArray(l.words)},i.max=function(l,d){return l.cmp(d)>0?l:d},i.min=function(l,d){return l.cmp(d)<0?l:d},i.prototype._init=function(l,d,h){if(typeof l=="number")return this._initNumber(l,d,h);if(typeof l=="object")return this._initArray(l,d,h);d==="hex"&&(d=16),n(d===(d|0)&&d>=2&&d<=36),l=l.toString().replace(/\s+/g,"");var c=0;l[0]==="-"&&c++,d===16?this._parseHex(l,c):this._parseBase(l,d,c),l[0]==="-"&&(this.negative=1),this.strip(),h==="le"&&this._initArray(this.toArray(),d,h)},i.prototype._initNumber=function(l,d,h){l<0&&(this.negative=1,l=-l),l<67108864?(this.words=[l&67108863],this.length=1):l<4503599627370496?(this.words=[l&67108863,l/67108864&67108863],this.length=2):(n(l<9007199254740992),this.words=[l&67108863,l/67108864&67108863,1],this.length=3),h==="le"&&this._initArray(this.toArray(),d,h)},i.prototype._initArray=function(l,d,h){if(n(typeof l.length=="number"),l.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(l.length/3),this.words=new Array(this.length);for(var c=0;c=0;c-=3)v=l[c]|l[c-1]<<8|l[c-2]<<16,this.words[p]|=v<>>26-E&67108863,E+=24,E>=26&&(E-=26,p++);else if(h==="le")for(c=0,p=0;c>>26-E&67108863,E+=24,E>=26&&(E-=26,p++);return this.strip()};function o(M,l,d){for(var h=0,c=Math.min(M.length,d),p=l;p=49&&v<=54?h|=v-49+10:v>=17&&v<=22?h|=v-17+10:h|=v&15}return h}i.prototype._parseHex=function(l,d){this.length=Math.ceil((l.length-d)/6),this.words=new Array(this.length);for(var h=0;h=d;h-=6)p=o(l,h,h+6),this.words[c]|=p<>>26-v&4194303,v+=24,v>=26&&(v-=26,c++);h+6!==d&&(p=o(l,d,h+6),this.words[c]|=p<>>26-v&4194303),this.strip()};function u(M,l,d,h){for(var c=0,p=Math.min(M.length,d),v=l;v=49?c+=E-49+10:E>=17?c+=E-17+10:c+=E}return c}i.prototype._parseBase=function(l,d,h){this.words=[0],this.length=1;for(var c=0,p=1;p<=67108863;p*=d)c++;c--,p=p/d|0;for(var v=l.length-h,E=v%c,g=Math.min(v,v-E)+h,f=0,m=h;m1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},i.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var y=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],b=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],_=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(l,d){l=l||10,d=d|0||1;var h;if(l===16||l==="hex"){h="";for(var c=0,p=0,v=0;v>>24-c&16777215,p!==0||v!==this.length-1?h=y[6-g.length]+g+h:h=g+h,c+=2,c>=26&&(c-=26,v--)}for(p!==0&&(h=p.toString(16)+h);h.length%d!==0;)h="0"+h;return this.negative!==0&&(h="-"+h),h}if(l===(l|0)&&l>=2&&l<=36){var f=b[l],m=_[l];h="";var w=this.clone();for(w.negative=0;!w.isZero();){var x=w.modn(m).toString(l);w=w.idivn(m),w.isZero()?h=x+h:h=y[f-x.length]+x+h}for(this.isZero()&&(h="0"+h);h.length%d!==0;)h="0"+h;return this.negative!==0&&(h="-"+h),h}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var l=this.words[0];return this.length===2?l+=this.words[1]*67108864:this.length===3&&this.words[2]===1?l+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-l:l},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(l,d){return n(typeof s<"u"),this.toArrayLike(s,l,d)},i.prototype.toArray=function(l,d){return this.toArrayLike(Array,l,d)},i.prototype.toArrayLike=function(l,d,h){var c=this.byteLength(),p=h||Math.max(1,c);n(c<=p,"byte array longer than desired length"),n(p>0,"Requested array length <= 0"),this.strip();var v=d==="le",E=new l(p),g,f,m=this.clone();if(v){for(f=0;!m.isZero();f++)g=m.andln(255),m.iushrn(8),E[f]=g;for(;f=4096&&(h+=13,d>>>=13),d>=64&&(h+=7,d>>>=7),d>=8&&(h+=4,d>>>=4),d>=2&&(h+=2,d>>>=2),h+d},i.prototype._zeroBits=function(l){if(l===0)return 26;var d=l,h=0;return d&8191||(h+=13,d>>>=13),d&127||(h+=7,d>>>=7),d&15||(h+=4,d>>>=4),d&3||(h+=2,d>>>=2),d&1||h++,h},i.prototype.bitLength=function(){var l=this.words[this.length-1],d=this._countBits(l);return(this.length-1)*26+d};function A(M){for(var l=new Array(M.bitLength()),d=0;d>>c}return l}i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var l=0,d=0;dl.length?this.clone().ior(l):l.clone().ior(this)},i.prototype.uor=function(l){return this.length>l.length?this.clone().iuor(l):l.clone().iuor(this)},i.prototype.iuand=function(l){var d;this.length>l.length?d=l:d=this;for(var h=0;hl.length?this.clone().iand(l):l.clone().iand(this)},i.prototype.uand=function(l){return this.length>l.length?this.clone().iuand(l):l.clone().iuand(this)},i.prototype.iuxor=function(l){var d,h;this.length>l.length?(d=this,h=l):(d=l,h=this);for(var c=0;cl.length?this.clone().ixor(l):l.clone().ixor(this)},i.prototype.uxor=function(l){return this.length>l.length?this.clone().iuxor(l):l.clone().iuxor(this)},i.prototype.inotn=function(l){n(typeof l=="number"&&l>=0);var d=Math.ceil(l/26)|0,h=l%26;this._expand(d),h>0&&d--;for(var c=0;c0&&(this.words[c]=~this.words[c]&67108863>>26-h),this.strip()},i.prototype.notn=function(l){return this.clone().inotn(l)},i.prototype.setn=function(l,d){n(typeof l=="number"&&l>=0);var h=l/26|0,c=l%26;return this._expand(h+1),d?this.words[h]=this.words[h]|1<l.length?(h=this,c=l):(h=l,c=this);for(var p=0,v=0;v>>26;for(;p!==0&&v>>26;if(this.length=h.length,p!==0)this.words[this.length]=p,this.length++;else if(h!==this)for(;vl.length?this.clone().iadd(l):l.clone().iadd(this)},i.prototype.isub=function(l){if(l.negative!==0){l.negative=0;var d=this.iadd(l);return l.negative=1,d._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l),this.negative=1,this._normSign();var h=this.cmp(l);if(h===0)return this.negative=0,this.length=1,this.words[0]=0,this;var c,p;h>0?(c=this,p=l):(c=l,p=this);for(var v=0,E=0;E>26,this.words[E]=d&67108863;for(;v!==0&&E>26,this.words[E]=d&67108863;if(v===0&&E>>26,w=g&67108863,x=Math.min(f,l.length-1),S=Math.max(0,f-M.length+1);S<=x;S++){var R=f-S|0;c=M.words[R]|0,p=l.words[S]|0,v=c*p+w,m+=v/67108864|0,w=v&67108863}d.words[f]=w|0,g=m|0}return g!==0?d.words[f]=g|0:d.length--,d.strip()}var k=function(l,d,h){var c=l.words,p=d.words,v=h.words,E=0,g,f,m,w=c[0]|0,x=w&8191,S=w>>>13,R=c[1]|0,L=R&8191,F=R>>>13,G=c[2]|0,z=G&8191,V=G>>>13,se=c[3]|0,ie=se&8191,U=se>>>13,W=c[4]|0,ce=W&8191,oe=W>>>13,K=c[5]|0,I=K&8191,O=K>>>13,q=c[6]|0,te=q&8191,fe=q>>>13,H=c[7]|0,J=H&8191,ee=H>>>13,he=c[8]|0,de=he&8191,ue=he>>>13,Se=c[9]|0,Ae=Se&8191,we=Se>>>13,Ze=p[0]|0,Ne=Ze&8191,ke=Ze>>>13,Qe=p[1]|0,Ue=Qe&8191,Pe=Qe>>>13,ct=p[2]|0,We=ct&8191,$e=ct>>>13,ht=p[3]|0,ne=ht&8191,ae=ht>>>13,xe=p[4]|0,ge=xe&8191,ve=xe>>>13,Ve=p[5]|0,Ce=Ve&8191,_e=Ve>>>13,Le=p[6]|0,Be=Le&8191,Me=Le>>>13,Ke=p[7]|0,De=Ke&8191,Te=Ke>>>13,et=p[8]|0,He=et&8191,Ie=et>>>13,dt=p[9]|0,qe=dt&8191,Fe=dt>>>13;h.negative=l.negative^d.negative,h.length=19,g=Math.imul(x,Ne),f=Math.imul(x,ke),f=f+Math.imul(S,Ne)|0,m=Math.imul(S,ke);var nt=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(nt>>>26)|0,nt&=67108863,g=Math.imul(L,Ne),f=Math.imul(L,ke),f=f+Math.imul(F,Ne)|0,m=Math.imul(F,ke),g=g+Math.imul(x,Ue)|0,f=f+Math.imul(x,Pe)|0,f=f+Math.imul(S,Ue)|0,m=m+Math.imul(S,Pe)|0;var at=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(at>>>26)|0,at&=67108863,g=Math.imul(z,Ne),f=Math.imul(z,ke),f=f+Math.imul(V,Ne)|0,m=Math.imul(V,ke),g=g+Math.imul(L,Ue)|0,f=f+Math.imul(L,Pe)|0,f=f+Math.imul(F,Ue)|0,m=m+Math.imul(F,Pe)|0,g=g+Math.imul(x,We)|0,f=f+Math.imul(x,$e)|0,f=f+Math.imul(S,We)|0,m=m+Math.imul(S,$e)|0;var it=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(it>>>26)|0,it&=67108863,g=Math.imul(ie,Ne),f=Math.imul(ie,ke),f=f+Math.imul(U,Ne)|0,m=Math.imul(U,ke),g=g+Math.imul(z,Ue)|0,f=f+Math.imul(z,Pe)|0,f=f+Math.imul(V,Ue)|0,m=m+Math.imul(V,Pe)|0,g=g+Math.imul(L,We)|0,f=f+Math.imul(L,$e)|0,f=f+Math.imul(F,We)|0,m=m+Math.imul(F,$e)|0,g=g+Math.imul(x,ne)|0,f=f+Math.imul(x,ae)|0,f=f+Math.imul(S,ne)|0,m=m+Math.imul(S,ae)|0;var $t=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+($t>>>26)|0,$t&=67108863,g=Math.imul(ce,Ne),f=Math.imul(ce,ke),f=f+Math.imul(oe,Ne)|0,m=Math.imul(oe,ke),g=g+Math.imul(ie,Ue)|0,f=f+Math.imul(ie,Pe)|0,f=f+Math.imul(U,Ue)|0,m=m+Math.imul(U,Pe)|0,g=g+Math.imul(z,We)|0,f=f+Math.imul(z,$e)|0,f=f+Math.imul(V,We)|0,m=m+Math.imul(V,$e)|0,g=g+Math.imul(L,ne)|0,f=f+Math.imul(L,ae)|0,f=f+Math.imul(F,ne)|0,m=m+Math.imul(F,ae)|0,g=g+Math.imul(x,ge)|0,f=f+Math.imul(x,ve)|0,f=f+Math.imul(S,ge)|0,m=m+Math.imul(S,ve)|0;var Pt=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,g=Math.imul(I,Ne),f=Math.imul(I,ke),f=f+Math.imul(O,Ne)|0,m=Math.imul(O,ke),g=g+Math.imul(ce,Ue)|0,f=f+Math.imul(ce,Pe)|0,f=f+Math.imul(oe,Ue)|0,m=m+Math.imul(oe,Pe)|0,g=g+Math.imul(ie,We)|0,f=f+Math.imul(ie,$e)|0,f=f+Math.imul(U,We)|0,m=m+Math.imul(U,$e)|0,g=g+Math.imul(z,ne)|0,f=f+Math.imul(z,ae)|0,f=f+Math.imul(V,ne)|0,m=m+Math.imul(V,ae)|0,g=g+Math.imul(L,ge)|0,f=f+Math.imul(L,ve)|0,f=f+Math.imul(F,ge)|0,m=m+Math.imul(F,ve)|0,g=g+Math.imul(x,Ce)|0,f=f+Math.imul(x,_e)|0,f=f+Math.imul(S,Ce)|0,m=m+Math.imul(S,_e)|0;var tt=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(tt>>>26)|0,tt&=67108863,g=Math.imul(te,Ne),f=Math.imul(te,ke),f=f+Math.imul(fe,Ne)|0,m=Math.imul(fe,ke),g=g+Math.imul(I,Ue)|0,f=f+Math.imul(I,Pe)|0,f=f+Math.imul(O,Ue)|0,m=m+Math.imul(O,Pe)|0,g=g+Math.imul(ce,We)|0,f=f+Math.imul(ce,$e)|0,f=f+Math.imul(oe,We)|0,m=m+Math.imul(oe,$e)|0,g=g+Math.imul(ie,ne)|0,f=f+Math.imul(ie,ae)|0,f=f+Math.imul(U,ne)|0,m=m+Math.imul(U,ae)|0,g=g+Math.imul(z,ge)|0,f=f+Math.imul(z,ve)|0,f=f+Math.imul(V,ge)|0,m=m+Math.imul(V,ve)|0,g=g+Math.imul(L,Ce)|0,f=f+Math.imul(L,_e)|0,f=f+Math.imul(F,Ce)|0,m=m+Math.imul(F,_e)|0,g=g+Math.imul(x,Be)|0,f=f+Math.imul(x,Me)|0,f=f+Math.imul(S,Be)|0,m=m+Math.imul(S,Me)|0;var yt=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(yt>>>26)|0,yt&=67108863,g=Math.imul(J,Ne),f=Math.imul(J,ke),f=f+Math.imul(ee,Ne)|0,m=Math.imul(ee,ke),g=g+Math.imul(te,Ue)|0,f=f+Math.imul(te,Pe)|0,f=f+Math.imul(fe,Ue)|0,m=m+Math.imul(fe,Pe)|0,g=g+Math.imul(I,We)|0,f=f+Math.imul(I,$e)|0,f=f+Math.imul(O,We)|0,m=m+Math.imul(O,$e)|0,g=g+Math.imul(ce,ne)|0,f=f+Math.imul(ce,ae)|0,f=f+Math.imul(oe,ne)|0,m=m+Math.imul(oe,ae)|0,g=g+Math.imul(ie,ge)|0,f=f+Math.imul(ie,ve)|0,f=f+Math.imul(U,ge)|0,m=m+Math.imul(U,ve)|0,g=g+Math.imul(z,Ce)|0,f=f+Math.imul(z,_e)|0,f=f+Math.imul(V,Ce)|0,m=m+Math.imul(V,_e)|0,g=g+Math.imul(L,Be)|0,f=f+Math.imul(L,Me)|0,f=f+Math.imul(F,Be)|0,m=m+Math.imul(F,Me)|0,g=g+Math.imul(x,De)|0,f=f+Math.imul(x,Te)|0,f=f+Math.imul(S,De)|0,m=m+Math.imul(S,Te)|0;var st=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(st>>>26)|0,st&=67108863,g=Math.imul(de,Ne),f=Math.imul(de,ke),f=f+Math.imul(ue,Ne)|0,m=Math.imul(ue,ke),g=g+Math.imul(J,Ue)|0,f=f+Math.imul(J,Pe)|0,f=f+Math.imul(ee,Ue)|0,m=m+Math.imul(ee,Pe)|0,g=g+Math.imul(te,We)|0,f=f+Math.imul(te,$e)|0,f=f+Math.imul(fe,We)|0,m=m+Math.imul(fe,$e)|0,g=g+Math.imul(I,ne)|0,f=f+Math.imul(I,ae)|0,f=f+Math.imul(O,ne)|0,m=m+Math.imul(O,ae)|0,g=g+Math.imul(ce,ge)|0,f=f+Math.imul(ce,ve)|0,f=f+Math.imul(oe,ge)|0,m=m+Math.imul(oe,ve)|0,g=g+Math.imul(ie,Ce)|0,f=f+Math.imul(ie,_e)|0,f=f+Math.imul(U,Ce)|0,m=m+Math.imul(U,_e)|0,g=g+Math.imul(z,Be)|0,f=f+Math.imul(z,Me)|0,f=f+Math.imul(V,Be)|0,m=m+Math.imul(V,Me)|0,g=g+Math.imul(L,De)|0,f=f+Math.imul(L,Te)|0,f=f+Math.imul(F,De)|0,m=m+Math.imul(F,Te)|0,g=g+Math.imul(x,He)|0,f=f+Math.imul(x,Ie)|0,f=f+Math.imul(S,He)|0,m=m+Math.imul(S,Ie)|0;var Bt=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,g=Math.imul(Ae,Ne),f=Math.imul(Ae,ke),f=f+Math.imul(we,Ne)|0,m=Math.imul(we,ke),g=g+Math.imul(de,Ue)|0,f=f+Math.imul(de,Pe)|0,f=f+Math.imul(ue,Ue)|0,m=m+Math.imul(ue,Pe)|0,g=g+Math.imul(J,We)|0,f=f+Math.imul(J,$e)|0,f=f+Math.imul(ee,We)|0,m=m+Math.imul(ee,$e)|0,g=g+Math.imul(te,ne)|0,f=f+Math.imul(te,ae)|0,f=f+Math.imul(fe,ne)|0,m=m+Math.imul(fe,ae)|0,g=g+Math.imul(I,ge)|0,f=f+Math.imul(I,ve)|0,f=f+Math.imul(O,ge)|0,m=m+Math.imul(O,ve)|0,g=g+Math.imul(ce,Ce)|0,f=f+Math.imul(ce,_e)|0,f=f+Math.imul(oe,Ce)|0,m=m+Math.imul(oe,_e)|0,g=g+Math.imul(ie,Be)|0,f=f+Math.imul(ie,Me)|0,f=f+Math.imul(U,Be)|0,m=m+Math.imul(U,Me)|0,g=g+Math.imul(z,De)|0,f=f+Math.imul(z,Te)|0,f=f+Math.imul(V,De)|0,m=m+Math.imul(V,Te)|0,g=g+Math.imul(L,He)|0,f=f+Math.imul(L,Ie)|0,f=f+Math.imul(F,He)|0,m=m+Math.imul(F,Ie)|0,g=g+Math.imul(x,qe)|0,f=f+Math.imul(x,Fe)|0,f=f+Math.imul(S,qe)|0,m=m+Math.imul(S,Fe)|0;var ur=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(ur>>>26)|0,ur&=67108863,g=Math.imul(Ae,Ue),f=Math.imul(Ae,Pe),f=f+Math.imul(we,Ue)|0,m=Math.imul(we,Pe),g=g+Math.imul(de,We)|0,f=f+Math.imul(de,$e)|0,f=f+Math.imul(ue,We)|0,m=m+Math.imul(ue,$e)|0,g=g+Math.imul(J,ne)|0,f=f+Math.imul(J,ae)|0,f=f+Math.imul(ee,ne)|0,m=m+Math.imul(ee,ae)|0,g=g+Math.imul(te,ge)|0,f=f+Math.imul(te,ve)|0,f=f+Math.imul(fe,ge)|0,m=m+Math.imul(fe,ve)|0,g=g+Math.imul(I,Ce)|0,f=f+Math.imul(I,_e)|0,f=f+Math.imul(O,Ce)|0,m=m+Math.imul(O,_e)|0,g=g+Math.imul(ce,Be)|0,f=f+Math.imul(ce,Me)|0,f=f+Math.imul(oe,Be)|0,m=m+Math.imul(oe,Me)|0,g=g+Math.imul(ie,De)|0,f=f+Math.imul(ie,Te)|0,f=f+Math.imul(U,De)|0,m=m+Math.imul(U,Te)|0,g=g+Math.imul(z,He)|0,f=f+Math.imul(z,Ie)|0,f=f+Math.imul(V,He)|0,m=m+Math.imul(V,Ie)|0,g=g+Math.imul(L,qe)|0,f=f+Math.imul(L,Fe)|0,f=f+Math.imul(F,qe)|0,m=m+Math.imul(F,Fe)|0;var br=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(br>>>26)|0,br&=67108863,g=Math.imul(Ae,We),f=Math.imul(Ae,$e),f=f+Math.imul(we,We)|0,m=Math.imul(we,$e),g=g+Math.imul(de,ne)|0,f=f+Math.imul(de,ae)|0,f=f+Math.imul(ue,ne)|0,m=m+Math.imul(ue,ae)|0,g=g+Math.imul(J,ge)|0,f=f+Math.imul(J,ve)|0,f=f+Math.imul(ee,ge)|0,m=m+Math.imul(ee,ve)|0,g=g+Math.imul(te,Ce)|0,f=f+Math.imul(te,_e)|0,f=f+Math.imul(fe,Ce)|0,m=m+Math.imul(fe,_e)|0,g=g+Math.imul(I,Be)|0,f=f+Math.imul(I,Me)|0,f=f+Math.imul(O,Be)|0,m=m+Math.imul(O,Me)|0,g=g+Math.imul(ce,De)|0,f=f+Math.imul(ce,Te)|0,f=f+Math.imul(oe,De)|0,m=m+Math.imul(oe,Te)|0,g=g+Math.imul(ie,He)|0,f=f+Math.imul(ie,Ie)|0,f=f+Math.imul(U,He)|0,m=m+Math.imul(U,Ie)|0,g=g+Math.imul(z,qe)|0,f=f+Math.imul(z,Fe)|0,f=f+Math.imul(V,qe)|0,m=m+Math.imul(V,Fe)|0;var Dr=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,g=Math.imul(Ae,ne),f=Math.imul(Ae,ae),f=f+Math.imul(we,ne)|0,m=Math.imul(we,ae),g=g+Math.imul(de,ge)|0,f=f+Math.imul(de,ve)|0,f=f+Math.imul(ue,ge)|0,m=m+Math.imul(ue,ve)|0,g=g+Math.imul(J,Ce)|0,f=f+Math.imul(J,_e)|0,f=f+Math.imul(ee,Ce)|0,m=m+Math.imul(ee,_e)|0,g=g+Math.imul(te,Be)|0,f=f+Math.imul(te,Me)|0,f=f+Math.imul(fe,Be)|0,m=m+Math.imul(fe,Me)|0,g=g+Math.imul(I,De)|0,f=f+Math.imul(I,Te)|0,f=f+Math.imul(O,De)|0,m=m+Math.imul(O,Te)|0,g=g+Math.imul(ce,He)|0,f=f+Math.imul(ce,Ie)|0,f=f+Math.imul(oe,He)|0,m=m+Math.imul(oe,Ie)|0,g=g+Math.imul(ie,qe)|0,f=f+Math.imul(ie,Fe)|0,f=f+Math.imul(U,qe)|0,m=m+Math.imul(U,Fe)|0;var Ir=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Ir>>>26)|0,Ir&=67108863,g=Math.imul(Ae,ge),f=Math.imul(Ae,ve),f=f+Math.imul(we,ge)|0,m=Math.imul(we,ve),g=g+Math.imul(de,Ce)|0,f=f+Math.imul(de,_e)|0,f=f+Math.imul(ue,Ce)|0,m=m+Math.imul(ue,_e)|0,g=g+Math.imul(J,Be)|0,f=f+Math.imul(J,Me)|0,f=f+Math.imul(ee,Be)|0,m=m+Math.imul(ee,Me)|0,g=g+Math.imul(te,De)|0,f=f+Math.imul(te,Te)|0,f=f+Math.imul(fe,De)|0,m=m+Math.imul(fe,Te)|0,g=g+Math.imul(I,He)|0,f=f+Math.imul(I,Ie)|0,f=f+Math.imul(O,He)|0,m=m+Math.imul(O,Ie)|0,g=g+Math.imul(ce,qe)|0,f=f+Math.imul(ce,Fe)|0,f=f+Math.imul(oe,qe)|0,m=m+Math.imul(oe,Fe)|0;var Or=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Or>>>26)|0,Or&=67108863,g=Math.imul(Ae,Ce),f=Math.imul(Ae,_e),f=f+Math.imul(we,Ce)|0,m=Math.imul(we,_e),g=g+Math.imul(de,Be)|0,f=f+Math.imul(de,Me)|0,f=f+Math.imul(ue,Be)|0,m=m+Math.imul(ue,Me)|0,g=g+Math.imul(J,De)|0,f=f+Math.imul(J,Te)|0,f=f+Math.imul(ee,De)|0,m=m+Math.imul(ee,Te)|0,g=g+Math.imul(te,He)|0,f=f+Math.imul(te,Ie)|0,f=f+Math.imul(fe,He)|0,m=m+Math.imul(fe,Ie)|0,g=g+Math.imul(I,qe)|0,f=f+Math.imul(I,Fe)|0,f=f+Math.imul(O,qe)|0,m=m+Math.imul(O,Fe)|0;var Rr=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,g=Math.imul(Ae,Be),f=Math.imul(Ae,Me),f=f+Math.imul(we,Be)|0,m=Math.imul(we,Me),g=g+Math.imul(de,De)|0,f=f+Math.imul(de,Te)|0,f=f+Math.imul(ue,De)|0,m=m+Math.imul(ue,Te)|0,g=g+Math.imul(J,He)|0,f=f+Math.imul(J,Ie)|0,f=f+Math.imul(ee,He)|0,m=m+Math.imul(ee,Ie)|0,g=g+Math.imul(te,qe)|0,f=f+Math.imul(te,Fe)|0,f=f+Math.imul(fe,qe)|0,m=m+Math.imul(fe,Fe)|0;var Nr=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Nr>>>26)|0,Nr&=67108863,g=Math.imul(Ae,De),f=Math.imul(Ae,Te),f=f+Math.imul(we,De)|0,m=Math.imul(we,Te),g=g+Math.imul(de,He)|0,f=f+Math.imul(de,Ie)|0,f=f+Math.imul(ue,He)|0,m=m+Math.imul(ue,Ie)|0,g=g+Math.imul(J,qe)|0,f=f+Math.imul(J,Fe)|0,f=f+Math.imul(ee,qe)|0,m=m+Math.imul(ee,Fe)|0;var $r=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+($r>>>26)|0,$r&=67108863,g=Math.imul(Ae,He),f=Math.imul(Ae,Ie),f=f+Math.imul(we,He)|0,m=Math.imul(we,Ie),g=g+Math.imul(de,qe)|0,f=f+Math.imul(de,Fe)|0,f=f+Math.imul(ue,qe)|0,m=m+Math.imul(ue,Fe)|0;var Dn=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Dn>>>26)|0,Dn&=67108863,g=Math.imul(Ae,qe),f=Math.imul(Ae,Fe),f=f+Math.imul(we,qe)|0,m=Math.imul(we,Fe);var In=(E+g|0)+((f&8191)<<13)|0;return E=(m+(f>>>13)|0)+(In>>>26)|0,In&=67108863,v[0]=nt,v[1]=at,v[2]=it,v[3]=$t,v[4]=Pt,v[5]=tt,v[6]=yt,v[7]=st,v[8]=Bt,v[9]=ur,v[10]=br,v[11]=Dr,v[12]=Ir,v[13]=Or,v[14]=Rr,v[15]=Nr,v[16]=$r,v[17]=Dn,v[18]=In,E!==0&&(v[19]=E,h.length++),h};Math.imul||(k=T);function C(M,l,d){d.negative=l.negative^M.negative,d.length=M.length+l.length;for(var h=0,c=0,p=0;p>>26)|0,c+=v>>>26,v&=67108863}d.words[p]=E,h=v,v=c}return h!==0?d.words[p]=h:d.length--,d.strip()}function P(M,l,d){var h=new B;return h.mulp(M,l,d)}i.prototype.mulTo=function(l,d){var h,c=this.length+l.length;return this.length===10&&l.length===10?h=k(this,l,d):c<63?h=T(this,l,d):c<1024?h=C(this,l,d):h=P(this,l,d),h};function B(M,l){this.x=M,this.y=l}B.prototype.makeRBT=function(l){for(var d=new Array(l),h=i.prototype._countBits(l)-1,c=0;c>=1;return c},B.prototype.permute=function(l,d,h,c,p,v){for(var E=0;E>>1)p++;return 1<>>13,h[2*v+1]=p&8191,p=p>>>13;for(v=2*d;v>=26,d+=c/67108864|0,d+=p>>>26,this.words[h]=p&67108863}return d!==0&&(this.words[h]=d,this.length++),this},i.prototype.muln=function(l){return this.clone().imuln(l)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(l){var d=A(l);if(d.length===0)return new i(1);for(var h=this,c=0;c=0);var d=l%26,h=(l-d)/26,c=67108863>>>26-d<<26-d,p;if(d!==0){var v=0;for(p=0;p>>26-d}v&&(this.words[p]=v,this.length++)}if(h!==0){for(p=this.length-1;p>=0;p--)this.words[p+h]=this.words[p];for(p=0;p=0);var c;d?c=(d-d%26)/26:c=0;var p=l%26,v=Math.min((l-p)/26,this.length),E=67108863^67108863>>>p<v)for(this.length-=v,f=0;f=0&&(m!==0||f>=c);f--){var w=this.words[f]|0;this.words[f]=m<<26-p|w>>>p,m=w&E}return g&&m!==0&&(g.words[g.length++]=m),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(l,d,h){return n(this.negative===0),this.iushrn(l,d,h)},i.prototype.shln=function(l){return this.clone().ishln(l)},i.prototype.ushln=function(l){return this.clone().iushln(l)},i.prototype.shrn=function(l){return this.clone().ishrn(l)},i.prototype.ushrn=function(l){return this.clone().iushrn(l)},i.prototype.testn=function(l){n(typeof l=="number"&&l>=0);var d=l%26,h=(l-d)/26,c=1<=0);var d=l%26,h=(l-d)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=h)return this;if(d!==0&&h++,this.length=Math.min(h,this.length),d!==0){var c=67108863^67108863>>>d<=67108864;d++)this.words[d]-=67108864,d===this.length-1?this.words[d+1]=1:this.words[d+1]++;return this.length=Math.max(this.length,d+1),this},i.prototype.isubn=function(l){if(n(typeof l=="number"),n(l<67108864),l<0)return this.iaddn(-l);if(this.negative!==0)return this.negative=0,this.iaddn(l),this.negative=1,this;if(this.words[0]-=l,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var d=0;d>26)-(g/67108864|0),this.words[p+h]=v&67108863}for(;p>26,this.words[p+h]=v&67108863;if(E===0)return this.strip();for(n(E===-1),E=0,p=0;p>26,this.words[p]=v&67108863;return this.negative=1,this.strip()},i.prototype._wordDiv=function(l,d){var h=this.length-l.length,c=this.clone(),p=l,v=p.words[p.length-1]|0,E=this._countBits(v);h=26-E,h!==0&&(p=p.ushln(h),c.iushln(h),v=p.words[p.length-1]|0);var g=c.length-p.length,f;if(d!=="mod"){f=new i(null),f.length=g+1,f.words=new Array(f.length);for(var m=0;m=0;x--){var S=(c.words[p.length+x]|0)*67108864+(c.words[p.length+x-1]|0);for(S=Math.min(S/v|0,67108863),c._ishlnsubmul(p,S,x);c.negative!==0;)S--,c.negative=0,c._ishlnsubmul(p,1,x),c.isZero()||(c.negative^=1);f&&(f.words[x]=S)}return f&&f.strip(),c.strip(),d!=="div"&&h!==0&&c.iushrn(h),{div:f||null,mod:c}},i.prototype.divmod=function(l,d,h){if(n(!l.isZero()),this.isZero())return{div:new i(0),mod:new i(0)};var c,p,v;return this.negative!==0&&l.negative===0?(v=this.neg().divmod(l,d),d!=="mod"&&(c=v.div.neg()),d!=="div"&&(p=v.mod.neg(),h&&p.negative!==0&&p.iadd(l)),{div:c,mod:p}):this.negative===0&&l.negative!==0?(v=this.divmod(l.neg(),d),d!=="mod"&&(c=v.div.neg()),{div:c,mod:v.mod}):this.negative&l.negative?(v=this.neg().divmod(l.neg(),d),d!=="div"&&(p=v.mod.neg(),h&&p.negative!==0&&p.isub(l)),{div:v.div,mod:p}):l.length>this.length||this.cmp(l)<0?{div:new i(0),mod:this}:l.length===1?d==="div"?{div:this.divn(l.words[0]),mod:null}:d==="mod"?{div:null,mod:new i(this.modn(l.words[0]))}:{div:this.divn(l.words[0]),mod:new i(this.modn(l.words[0]))}:this._wordDiv(l,d)},i.prototype.div=function(l){return this.divmod(l,"div",!1).div},i.prototype.mod=function(l){return this.divmod(l,"mod",!1).mod},i.prototype.umod=function(l){return this.divmod(l,"mod",!0).mod},i.prototype.divRound=function(l){var d=this.divmod(l);if(d.mod.isZero())return d.div;var h=d.div.negative!==0?d.mod.isub(l):d.mod,c=l.ushrn(1),p=l.andln(1),v=h.cmp(c);return v<0||p===1&&v===0?d.div:d.div.negative!==0?d.div.isubn(1):d.div.iaddn(1)},i.prototype.modn=function(l){n(l<=67108863);for(var d=(1<<26)%l,h=0,c=this.length-1;c>=0;c--)h=(d*h+(this.words[c]|0))%l;return h},i.prototype.idivn=function(l){n(l<=67108863);for(var d=0,h=this.length-1;h>=0;h--){var c=(this.words[h]|0)+d*67108864;this.words[h]=c/l|0,d=c%l}return this.strip()},i.prototype.divn=function(l){return this.clone().idivn(l)},i.prototype.egcd=function(l){n(l.negative===0),n(!l.isZero());var d=this,h=l.clone();d.negative!==0?d=d.umod(l):d=d.clone();for(var c=new i(1),p=new i(0),v=new i(0),E=new i(1),g=0;d.isEven()&&h.isEven();)d.iushrn(1),h.iushrn(1),++g;for(var f=h.clone(),m=d.clone();!d.isZero();){for(var w=0,x=1;!(d.words[0]&x)&&w<26;++w,x<<=1);if(w>0)for(d.iushrn(w);w-- >0;)(c.isOdd()||p.isOdd())&&(c.iadd(f),p.isub(m)),c.iushrn(1),p.iushrn(1);for(var S=0,R=1;!(h.words[0]&R)&&S<26;++S,R<<=1);if(S>0)for(h.iushrn(S);S-- >0;)(v.isOdd()||E.isOdd())&&(v.iadd(f),E.isub(m)),v.iushrn(1),E.iushrn(1);d.cmp(h)>=0?(d.isub(h),c.isub(v),p.isub(E)):(h.isub(d),v.isub(c),E.isub(p))}return{a:v,b:E,gcd:h.iushln(g)}},i.prototype._invmp=function(l){n(l.negative===0),n(!l.isZero());var d=this,h=l.clone();d.negative!==0?d=d.umod(l):d=d.clone();for(var c=new i(1),p=new i(0),v=h.clone();d.cmpn(1)>0&&h.cmpn(1)>0;){for(var E=0,g=1;!(d.words[0]&g)&&E<26;++E,g<<=1);if(E>0)for(d.iushrn(E);E-- >0;)c.isOdd()&&c.iadd(v),c.iushrn(1);for(var f=0,m=1;!(h.words[0]&m)&&f<26;++f,m<<=1);if(f>0)for(h.iushrn(f);f-- >0;)p.isOdd()&&p.iadd(v),p.iushrn(1);d.cmp(h)>=0?(d.isub(h),c.isub(p)):(h.isub(d),p.isub(c))}var w;return d.cmpn(1)===0?w=c:w=p,w.cmpn(0)<0&&w.iadd(l),w},i.prototype.gcd=function(l){if(this.isZero())return l.abs();if(l.isZero())return this.abs();var d=this.clone(),h=l.clone();d.negative=0,h.negative=0;for(var c=0;d.isEven()&&h.isEven();c++)d.iushrn(1),h.iushrn(1);do{for(;d.isEven();)d.iushrn(1);for(;h.isEven();)h.iushrn(1);var p=d.cmp(h);if(p<0){var v=d;d=h,h=v}else if(p===0||h.cmpn(1)===0)break;d.isub(h)}while(!0);return h.iushln(c)},i.prototype.invm=function(l){return this.egcd(l).a.umod(l)},i.prototype.isEven=function(){return(this.words[0]&1)===0},i.prototype.isOdd=function(){return(this.words[0]&1)===1},i.prototype.andln=function(l){return this.words[0]&l},i.prototype.bincn=function(l){n(typeof l=="number");var d=l%26,h=(l-d)/26,c=1<>>26,E&=67108863,this.words[v]=E}return p!==0&&(this.words[v]=p,this.length++),this},i.prototype.isZero=function(){return this.length===1&&this.words[0]===0},i.prototype.cmpn=function(l){var d=l<0;if(this.negative!==0&&!d)return-1;if(this.negative===0&&d)return 1;this.strip();var h;if(this.length>1)h=1;else{d&&(l=-l),n(l<=67108863,"Number is too big");var c=this.words[0]|0;h=c===l?0:cl.length)return 1;if(this.length=0;h--){var c=this.words[h]|0,p=l.words[h]|0;if(c!==p){cp&&(d=1);break}}return d},i.prototype.gtn=function(l){return this.cmpn(l)===1},i.prototype.gt=function(l){return this.cmp(l)===1},i.prototype.gten=function(l){return this.cmpn(l)>=0},i.prototype.gte=function(l){return this.cmp(l)>=0},i.prototype.ltn=function(l){return this.cmpn(l)===-1},i.prototype.lt=function(l){return this.cmp(l)===-1},i.prototype.lten=function(l){return this.cmpn(l)<=0},i.prototype.lte=function(l){return this.cmp(l)<=0},i.prototype.eqn=function(l){return this.cmpn(l)===0},i.prototype.eq=function(l){return this.cmp(l)===0},i.red=function(l){return new Y(l)},i.prototype.toRed=function(l){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),l.convertTo(this)._forceRed(l)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(l){return this.red=l,this},i.prototype.forceRed=function(l){return n(!this.red,"Already a number in reduction context"),this._forceRed(l)},i.prototype.redAdd=function(l){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,l)},i.prototype.redIAdd=function(l){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l)},i.prototype.redSub=function(l){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,l)},i.prototype.redISub=function(l){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,l)},i.prototype.redShl=function(l){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,l)},i.prototype.redMul=function(l){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.mul(this,l)},i.prototype.redIMul=function(l){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.imul(this,l)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(l){return n(this.red&&!l.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l)};var D={k256:null,p224:null,p192:null,p25519:null};function N(M,l){this.name=M,this.p=new i(l,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}N.prototype._tmp=function(){var l=new i(null);return l.words=new Array(Math.ceil(this.n/13)),l},N.prototype.ireduce=function(l){var d=l,h;do this.split(d,this.tmp),d=this.imulK(d),d=d.iadd(this.tmp),h=d.bitLength();while(h>this.n);var c=h0?d.isub(this.p):d.strip(),d},N.prototype.split=function(l,d){l.iushrn(this.n,0,d)},N.prototype.imulK=function(l){return l.imul(this.k)};function $(){N.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}a($,N),$.prototype.split=function(l,d){for(var h=4194303,c=Math.min(l.length,9),p=0;p>>22,v=E}v>>>=22,l.words[p-10]=v,v===0&&l.length>10?l.length-=10:l.length-=9},$.prototype.imulK=function(l){l.words[l.length]=0,l.words[l.length+1]=0,l.length+=2;for(var d=0,h=0;h>>=26,l.words[h]=p,d=c}return d!==0&&(l.words[l.length++]=d),l},i._prime=function(l){if(D[l])return D[l];var d;if(l==="k256")d=new $;else if(l==="p224")d=new j;else if(l==="p192")d=new Z;else if(l==="p25519")d=new X;else throw new Error("Unknown prime "+l);return D[l]=d,d};function Y(M){if(typeof M=="string"){var l=i._prime(M);this.m=l.p,this.prime=l}else n(M.gtn(1),"modulus must be greater than 1"),this.m=M,this.prime=null}Y.prototype._verify1=function(l){n(l.negative===0,"red works only with positives"),n(l.red,"red works only with red numbers")},Y.prototype._verify2=function(l,d){n((l.negative|d.negative)===0,"red works only with positives"),n(l.red&&l.red===d.red,"red works only with red numbers")},Y.prototype.imod=function(l){return this.prime?this.prime.ireduce(l)._forceRed(this):l.umod(this.m)._forceRed(this)},Y.prototype.neg=function(l){return l.isZero()?l.clone():this.m.sub(l)._forceRed(this)},Y.prototype.add=function(l,d){this._verify2(l,d);var h=l.add(d);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},Y.prototype.iadd=function(l,d){this._verify2(l,d);var h=l.iadd(d);return h.cmp(this.m)>=0&&h.isub(this.m),h},Y.prototype.sub=function(l,d){this._verify2(l,d);var h=l.sub(d);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},Y.prototype.isub=function(l,d){this._verify2(l,d);var h=l.isub(d);return h.cmpn(0)<0&&h.iadd(this.m),h},Y.prototype.shl=function(l,d){return this._verify1(l),this.imod(l.ushln(d))},Y.prototype.imul=function(l,d){return this._verify2(l,d),this.imod(l.imul(d))},Y.prototype.mul=function(l,d){return this._verify2(l,d),this.imod(l.mul(d))},Y.prototype.isqr=function(l){return this.imul(l,l.clone())},Y.prototype.sqr=function(l){return this.mul(l,l)},Y.prototype.sqrt=function(l){if(l.isZero())return l.clone();var d=this.m.andln(3);if(n(d%2===1),d===3){var h=this.m.add(new i(1)).iushrn(2);return this.pow(l,h)}for(var c=this.m.subn(1),p=0;!c.isZero()&&c.andln(1)===0;)p++,c.iushrn(1);n(!c.isZero());var v=new i(1).toRed(this),E=v.redNeg(),g=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new i(2*f*f).toRed(this);this.pow(f,g).cmp(E)!==0;)f.redIAdd(E);for(var m=this.pow(f,c),w=this.pow(l,c.addn(1).iushrn(1)),x=this.pow(l,c),S=p;x.cmp(v)!==0;){for(var R=x,L=0;R.cmp(v)!==0;L++)R=R.redSqr();n(L=0;p--){for(var m=d.words[p],w=f-1;w>=0;w--){var x=m>>w&1;if(v!==c[0]&&(v=this.sqr(v)),x===0&&E===0){g=0;continue}E<<=1,E|=x,g++,!(g!==h&&(p!==0||w!==0))&&(v=this.mul(v,c[E]),g=0,E=0)}f=26}return v},Y.prototype.convertTo=function(l){var d=l.umod(this.m);return d===l?d.clone():d},Y.prototype.convertFrom=function(l){var d=l.clone();return d.red=null,d},i.mont=function(l){return new re(l)};function re(M){Y.call(this,M),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}a(re,Y),re.prototype.convertTo=function(l){return this.imod(l.ushln(this.shift))},re.prototype.convertFrom=function(l){var d=this.imod(l.mul(this.rinv));return d.red=null,d},re.prototype.imul=function(l,d){if(l.isZero()||d.isZero())return l.words[0]=0,l.length=1,l;var h=l.imul(d),c=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),p=h.isub(c).iushrn(this.shift),v=p;return p.cmp(this.m)>=0?v=p.isub(this.m):p.cmpn(0)<0&&(v=p.iadd(this.m)),v._forceRed(this)},re.prototype.mul=function(l,d){if(l.isZero()||d.isZero())return new i(0)._forceRed(this);var h=l.mul(d),c=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),p=h.isub(c).iushrn(this.shift),v=p;return p.cmp(this.m)>=0?v=p.isub(this.m):p.cmpn(0)<0&&(v=p.iadd(this.m)),v._forceRed(this)},re.prototype.invm=function(l){var d=this.imod(l._invmp(this.m).mul(this.r2));return d._forceRed(this)}})(t,ye)})(a8);var Wee=a8.exports,i8={exports:{}};i8.exports;(function(t){(function(e,r){function n(M,l){if(!M)throw new Error(l||"Assertion failed")}function a(M,l){M.super_=l;var d=function(){};d.prototype=l.prototype,M.prototype=new d,M.prototype.constructor=M}function i(M,l,d){if(i.isBN(M))return M;this.negative=0,this.words=null,this.length=0,this.red=null,M!==null&&((l==="le"||l==="be")&&(d=l,l=10),this._init(M||0,l||10,d||"be"))}typeof e=="object"?e.exports=i:r.BN=i,i.BN=i,i.wordSize=26;var s;try{s=GB("buffer").Buffer}catch{}i.isBN=function(l){return l instanceof i?!0:l!==null&&typeof l=="object"&&l.constructor.wordSize===i.wordSize&&Array.isArray(l.words)},i.max=function(l,d){return l.cmp(d)>0?l:d},i.min=function(l,d){return l.cmp(d)<0?l:d},i.prototype._init=function(l,d,h){if(typeof l=="number")return this._initNumber(l,d,h);if(typeof l=="object")return this._initArray(l,d,h);d==="hex"&&(d=16),n(d===(d|0)&&d>=2&&d<=36),l=l.toString().replace(/\s+/g,"");var c=0;l[0]==="-"&&c++,d===16?this._parseHex(l,c):this._parseBase(l,d,c),l[0]==="-"&&(this.negative=1),this.strip(),h==="le"&&this._initArray(this.toArray(),d,h)},i.prototype._initNumber=function(l,d,h){l<0&&(this.negative=1,l=-l),l<67108864?(this.words=[l&67108863],this.length=1):l<4503599627370496?(this.words=[l&67108863,l/67108864&67108863],this.length=2):(n(l<9007199254740992),this.words=[l&67108863,l/67108864&67108863,1],this.length=3),h==="le"&&this._initArray(this.toArray(),d,h)},i.prototype._initArray=function(l,d,h){if(n(typeof l.length=="number"),l.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(l.length/3),this.words=new Array(this.length);for(var c=0;c=0;c-=3)v=l[c]|l[c-1]<<8|l[c-2]<<16,this.words[p]|=v<>>26-E&67108863,E+=24,E>=26&&(E-=26,p++);else if(h==="le")for(c=0,p=0;c>>26-E&67108863,E+=24,E>=26&&(E-=26,p++);return this.strip()};function o(M,l,d){for(var h=0,c=Math.min(M.length,d),p=l;p=49&&v<=54?h|=v-49+10:v>=17&&v<=22?h|=v-17+10:h|=v&15}return h}i.prototype._parseHex=function(l,d){this.length=Math.ceil((l.length-d)/6),this.words=new Array(this.length);for(var h=0;h=d;h-=6)p=o(l,h,h+6),this.words[c]|=p<>>26-v&4194303,v+=24,v>=26&&(v-=26,c++);h+6!==d&&(p=o(l,d,h+6),this.words[c]|=p<>>26-v&4194303),this.strip()};function u(M,l,d,h){for(var c=0,p=Math.min(M.length,d),v=l;v=49?c+=E-49+10:E>=17?c+=E-17+10:c+=E}return c}i.prototype._parseBase=function(l,d,h){this.words=[0],this.length=1;for(var c=0,p=1;p<=67108863;p*=d)c++;c--,p=p/d|0;for(var v=l.length-h,E=v%c,g=Math.min(v,v-E)+h,f=0,m=h;m1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},i.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var y=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],b=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],_=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(l,d){l=l||10,d=d|0||1;var h;if(l===16||l==="hex"){h="";for(var c=0,p=0,v=0;v>>24-c&16777215,p!==0||v!==this.length-1?h=y[6-g.length]+g+h:h=g+h,c+=2,c>=26&&(c-=26,v--)}for(p!==0&&(h=p.toString(16)+h);h.length%d!==0;)h="0"+h;return this.negative!==0&&(h="-"+h),h}if(l===(l|0)&&l>=2&&l<=36){var f=b[l],m=_[l];h="";var w=this.clone();for(w.negative=0;!w.isZero();){var x=w.modn(m).toString(l);w=w.idivn(m),w.isZero()?h=x+h:h=y[f-x.length]+x+h}for(this.isZero()&&(h="0"+h);h.length%d!==0;)h="0"+h;return this.negative!==0&&(h="-"+h),h}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var l=this.words[0];return this.length===2?l+=this.words[1]*67108864:this.length===3&&this.words[2]===1?l+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-l:l},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(l,d){return n(typeof s<"u"),this.toArrayLike(s,l,d)},i.prototype.toArray=function(l,d){return this.toArrayLike(Array,l,d)},i.prototype.toArrayLike=function(l,d,h){var c=this.byteLength(),p=h||Math.max(1,c);n(c<=p,"byte array longer than desired length"),n(p>0,"Requested array length <= 0"),this.strip();var v=d==="le",E=new l(p),g,f,m=this.clone();if(v){for(f=0;!m.isZero();f++)g=m.andln(255),m.iushrn(8),E[f]=g;for(;f=4096&&(h+=13,d>>>=13),d>=64&&(h+=7,d>>>=7),d>=8&&(h+=4,d>>>=4),d>=2&&(h+=2,d>>>=2),h+d},i.prototype._zeroBits=function(l){if(l===0)return 26;var d=l,h=0;return d&8191||(h+=13,d>>>=13),d&127||(h+=7,d>>>=7),d&15||(h+=4,d>>>=4),d&3||(h+=2,d>>>=2),d&1||h++,h},i.prototype.bitLength=function(){var l=this.words[this.length-1],d=this._countBits(l);return(this.length-1)*26+d};function A(M){for(var l=new Array(M.bitLength()),d=0;d>>c}return l}i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var l=0,d=0;dl.length?this.clone().ior(l):l.clone().ior(this)},i.prototype.uor=function(l){return this.length>l.length?this.clone().iuor(l):l.clone().iuor(this)},i.prototype.iuand=function(l){var d;this.length>l.length?d=l:d=this;for(var h=0;hl.length?this.clone().iand(l):l.clone().iand(this)},i.prototype.uand=function(l){return this.length>l.length?this.clone().iuand(l):l.clone().iuand(this)},i.prototype.iuxor=function(l){var d,h;this.length>l.length?(d=this,h=l):(d=l,h=this);for(var c=0;cl.length?this.clone().ixor(l):l.clone().ixor(this)},i.prototype.uxor=function(l){return this.length>l.length?this.clone().iuxor(l):l.clone().iuxor(this)},i.prototype.inotn=function(l){n(typeof l=="number"&&l>=0);var d=Math.ceil(l/26)|0,h=l%26;this._expand(d),h>0&&d--;for(var c=0;c0&&(this.words[c]=~this.words[c]&67108863>>26-h),this.strip()},i.prototype.notn=function(l){return this.clone().inotn(l)},i.prototype.setn=function(l,d){n(typeof l=="number"&&l>=0);var h=l/26|0,c=l%26;return this._expand(h+1),d?this.words[h]=this.words[h]|1<l.length?(h=this,c=l):(h=l,c=this);for(var p=0,v=0;v>>26;for(;p!==0&&v>>26;if(this.length=h.length,p!==0)this.words[this.length]=p,this.length++;else if(h!==this)for(;vl.length?this.clone().iadd(l):l.clone().iadd(this)},i.prototype.isub=function(l){if(l.negative!==0){l.negative=0;var d=this.iadd(l);return l.negative=1,d._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(l),this.negative=1,this._normSign();var h=this.cmp(l);if(h===0)return this.negative=0,this.length=1,this.words[0]=0,this;var c,p;h>0?(c=this,p=l):(c=l,p=this);for(var v=0,E=0;E>26,this.words[E]=d&67108863;for(;v!==0&&E>26,this.words[E]=d&67108863;if(v===0&&E>>26,w=g&67108863,x=Math.min(f,l.length-1),S=Math.max(0,f-M.length+1);S<=x;S++){var R=f-S|0;c=M.words[R]|0,p=l.words[S]|0,v=c*p+w,m+=v/67108864|0,w=v&67108863}d.words[f]=w|0,g=m|0}return g!==0?d.words[f]=g|0:d.length--,d.strip()}var k=function(l,d,h){var c=l.words,p=d.words,v=h.words,E=0,g,f,m,w=c[0]|0,x=w&8191,S=w>>>13,R=c[1]|0,L=R&8191,F=R>>>13,G=c[2]|0,z=G&8191,V=G>>>13,se=c[3]|0,ie=se&8191,U=se>>>13,W=c[4]|0,ce=W&8191,oe=W>>>13,K=c[5]|0,I=K&8191,O=K>>>13,q=c[6]|0,te=q&8191,fe=q>>>13,H=c[7]|0,J=H&8191,ee=H>>>13,he=c[8]|0,de=he&8191,ue=he>>>13,Se=c[9]|0,Ae=Se&8191,we=Se>>>13,Ze=p[0]|0,Ne=Ze&8191,ke=Ze>>>13,Qe=p[1]|0,Ue=Qe&8191,Pe=Qe>>>13,ct=p[2]|0,We=ct&8191,$e=ct>>>13,ht=p[3]|0,ne=ht&8191,ae=ht>>>13,xe=p[4]|0,ge=xe&8191,ve=xe>>>13,Ve=p[5]|0,Ce=Ve&8191,_e=Ve>>>13,Le=p[6]|0,Be=Le&8191,Me=Le>>>13,Ke=p[7]|0,De=Ke&8191,Te=Ke>>>13,et=p[8]|0,He=et&8191,Ie=et>>>13,dt=p[9]|0,qe=dt&8191,Fe=dt>>>13;h.negative=l.negative^d.negative,h.length=19,g=Math.imul(x,Ne),f=Math.imul(x,ke),f=f+Math.imul(S,Ne)|0,m=Math.imul(S,ke);var nt=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(nt>>>26)|0,nt&=67108863,g=Math.imul(L,Ne),f=Math.imul(L,ke),f=f+Math.imul(F,Ne)|0,m=Math.imul(F,ke),g=g+Math.imul(x,Ue)|0,f=f+Math.imul(x,Pe)|0,f=f+Math.imul(S,Ue)|0,m=m+Math.imul(S,Pe)|0;var at=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(at>>>26)|0,at&=67108863,g=Math.imul(z,Ne),f=Math.imul(z,ke),f=f+Math.imul(V,Ne)|0,m=Math.imul(V,ke),g=g+Math.imul(L,Ue)|0,f=f+Math.imul(L,Pe)|0,f=f+Math.imul(F,Ue)|0,m=m+Math.imul(F,Pe)|0,g=g+Math.imul(x,We)|0,f=f+Math.imul(x,$e)|0,f=f+Math.imul(S,We)|0,m=m+Math.imul(S,$e)|0;var it=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(it>>>26)|0,it&=67108863,g=Math.imul(ie,Ne),f=Math.imul(ie,ke),f=f+Math.imul(U,Ne)|0,m=Math.imul(U,ke),g=g+Math.imul(z,Ue)|0,f=f+Math.imul(z,Pe)|0,f=f+Math.imul(V,Ue)|0,m=m+Math.imul(V,Pe)|0,g=g+Math.imul(L,We)|0,f=f+Math.imul(L,$e)|0,f=f+Math.imul(F,We)|0,m=m+Math.imul(F,$e)|0,g=g+Math.imul(x,ne)|0,f=f+Math.imul(x,ae)|0,f=f+Math.imul(S,ne)|0,m=m+Math.imul(S,ae)|0;var $t=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+($t>>>26)|0,$t&=67108863,g=Math.imul(ce,Ne),f=Math.imul(ce,ke),f=f+Math.imul(oe,Ne)|0,m=Math.imul(oe,ke),g=g+Math.imul(ie,Ue)|0,f=f+Math.imul(ie,Pe)|0,f=f+Math.imul(U,Ue)|0,m=m+Math.imul(U,Pe)|0,g=g+Math.imul(z,We)|0,f=f+Math.imul(z,$e)|0,f=f+Math.imul(V,We)|0,m=m+Math.imul(V,$e)|0,g=g+Math.imul(L,ne)|0,f=f+Math.imul(L,ae)|0,f=f+Math.imul(F,ne)|0,m=m+Math.imul(F,ae)|0,g=g+Math.imul(x,ge)|0,f=f+Math.imul(x,ve)|0,f=f+Math.imul(S,ge)|0,m=m+Math.imul(S,ve)|0;var Pt=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,g=Math.imul(I,Ne),f=Math.imul(I,ke),f=f+Math.imul(O,Ne)|0,m=Math.imul(O,ke),g=g+Math.imul(ce,Ue)|0,f=f+Math.imul(ce,Pe)|0,f=f+Math.imul(oe,Ue)|0,m=m+Math.imul(oe,Pe)|0,g=g+Math.imul(ie,We)|0,f=f+Math.imul(ie,$e)|0,f=f+Math.imul(U,We)|0,m=m+Math.imul(U,$e)|0,g=g+Math.imul(z,ne)|0,f=f+Math.imul(z,ae)|0,f=f+Math.imul(V,ne)|0,m=m+Math.imul(V,ae)|0,g=g+Math.imul(L,ge)|0,f=f+Math.imul(L,ve)|0,f=f+Math.imul(F,ge)|0,m=m+Math.imul(F,ve)|0,g=g+Math.imul(x,Ce)|0,f=f+Math.imul(x,_e)|0,f=f+Math.imul(S,Ce)|0,m=m+Math.imul(S,_e)|0;var tt=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(tt>>>26)|0,tt&=67108863,g=Math.imul(te,Ne),f=Math.imul(te,ke),f=f+Math.imul(fe,Ne)|0,m=Math.imul(fe,ke),g=g+Math.imul(I,Ue)|0,f=f+Math.imul(I,Pe)|0,f=f+Math.imul(O,Ue)|0,m=m+Math.imul(O,Pe)|0,g=g+Math.imul(ce,We)|0,f=f+Math.imul(ce,$e)|0,f=f+Math.imul(oe,We)|0,m=m+Math.imul(oe,$e)|0,g=g+Math.imul(ie,ne)|0,f=f+Math.imul(ie,ae)|0,f=f+Math.imul(U,ne)|0,m=m+Math.imul(U,ae)|0,g=g+Math.imul(z,ge)|0,f=f+Math.imul(z,ve)|0,f=f+Math.imul(V,ge)|0,m=m+Math.imul(V,ve)|0,g=g+Math.imul(L,Ce)|0,f=f+Math.imul(L,_e)|0,f=f+Math.imul(F,Ce)|0,m=m+Math.imul(F,_e)|0,g=g+Math.imul(x,Be)|0,f=f+Math.imul(x,Me)|0,f=f+Math.imul(S,Be)|0,m=m+Math.imul(S,Me)|0;var yt=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(yt>>>26)|0,yt&=67108863,g=Math.imul(J,Ne),f=Math.imul(J,ke),f=f+Math.imul(ee,Ne)|0,m=Math.imul(ee,ke),g=g+Math.imul(te,Ue)|0,f=f+Math.imul(te,Pe)|0,f=f+Math.imul(fe,Ue)|0,m=m+Math.imul(fe,Pe)|0,g=g+Math.imul(I,We)|0,f=f+Math.imul(I,$e)|0,f=f+Math.imul(O,We)|0,m=m+Math.imul(O,$e)|0,g=g+Math.imul(ce,ne)|0,f=f+Math.imul(ce,ae)|0,f=f+Math.imul(oe,ne)|0,m=m+Math.imul(oe,ae)|0,g=g+Math.imul(ie,ge)|0,f=f+Math.imul(ie,ve)|0,f=f+Math.imul(U,ge)|0,m=m+Math.imul(U,ve)|0,g=g+Math.imul(z,Ce)|0,f=f+Math.imul(z,_e)|0,f=f+Math.imul(V,Ce)|0,m=m+Math.imul(V,_e)|0,g=g+Math.imul(L,Be)|0,f=f+Math.imul(L,Me)|0,f=f+Math.imul(F,Be)|0,m=m+Math.imul(F,Me)|0,g=g+Math.imul(x,De)|0,f=f+Math.imul(x,Te)|0,f=f+Math.imul(S,De)|0,m=m+Math.imul(S,Te)|0;var st=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(st>>>26)|0,st&=67108863,g=Math.imul(de,Ne),f=Math.imul(de,ke),f=f+Math.imul(ue,Ne)|0,m=Math.imul(ue,ke),g=g+Math.imul(J,Ue)|0,f=f+Math.imul(J,Pe)|0,f=f+Math.imul(ee,Ue)|0,m=m+Math.imul(ee,Pe)|0,g=g+Math.imul(te,We)|0,f=f+Math.imul(te,$e)|0,f=f+Math.imul(fe,We)|0,m=m+Math.imul(fe,$e)|0,g=g+Math.imul(I,ne)|0,f=f+Math.imul(I,ae)|0,f=f+Math.imul(O,ne)|0,m=m+Math.imul(O,ae)|0,g=g+Math.imul(ce,ge)|0,f=f+Math.imul(ce,ve)|0,f=f+Math.imul(oe,ge)|0,m=m+Math.imul(oe,ve)|0,g=g+Math.imul(ie,Ce)|0,f=f+Math.imul(ie,_e)|0,f=f+Math.imul(U,Ce)|0,m=m+Math.imul(U,_e)|0,g=g+Math.imul(z,Be)|0,f=f+Math.imul(z,Me)|0,f=f+Math.imul(V,Be)|0,m=m+Math.imul(V,Me)|0,g=g+Math.imul(L,De)|0,f=f+Math.imul(L,Te)|0,f=f+Math.imul(F,De)|0,m=m+Math.imul(F,Te)|0,g=g+Math.imul(x,He)|0,f=f+Math.imul(x,Ie)|0,f=f+Math.imul(S,He)|0,m=m+Math.imul(S,Ie)|0;var Bt=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,g=Math.imul(Ae,Ne),f=Math.imul(Ae,ke),f=f+Math.imul(we,Ne)|0,m=Math.imul(we,ke),g=g+Math.imul(de,Ue)|0,f=f+Math.imul(de,Pe)|0,f=f+Math.imul(ue,Ue)|0,m=m+Math.imul(ue,Pe)|0,g=g+Math.imul(J,We)|0,f=f+Math.imul(J,$e)|0,f=f+Math.imul(ee,We)|0,m=m+Math.imul(ee,$e)|0,g=g+Math.imul(te,ne)|0,f=f+Math.imul(te,ae)|0,f=f+Math.imul(fe,ne)|0,m=m+Math.imul(fe,ae)|0,g=g+Math.imul(I,ge)|0,f=f+Math.imul(I,ve)|0,f=f+Math.imul(O,ge)|0,m=m+Math.imul(O,ve)|0,g=g+Math.imul(ce,Ce)|0,f=f+Math.imul(ce,_e)|0,f=f+Math.imul(oe,Ce)|0,m=m+Math.imul(oe,_e)|0,g=g+Math.imul(ie,Be)|0,f=f+Math.imul(ie,Me)|0,f=f+Math.imul(U,Be)|0,m=m+Math.imul(U,Me)|0,g=g+Math.imul(z,De)|0,f=f+Math.imul(z,Te)|0,f=f+Math.imul(V,De)|0,m=m+Math.imul(V,Te)|0,g=g+Math.imul(L,He)|0,f=f+Math.imul(L,Ie)|0,f=f+Math.imul(F,He)|0,m=m+Math.imul(F,Ie)|0,g=g+Math.imul(x,qe)|0,f=f+Math.imul(x,Fe)|0,f=f+Math.imul(S,qe)|0,m=m+Math.imul(S,Fe)|0;var ur=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(ur>>>26)|0,ur&=67108863,g=Math.imul(Ae,Ue),f=Math.imul(Ae,Pe),f=f+Math.imul(we,Ue)|0,m=Math.imul(we,Pe),g=g+Math.imul(de,We)|0,f=f+Math.imul(de,$e)|0,f=f+Math.imul(ue,We)|0,m=m+Math.imul(ue,$e)|0,g=g+Math.imul(J,ne)|0,f=f+Math.imul(J,ae)|0,f=f+Math.imul(ee,ne)|0,m=m+Math.imul(ee,ae)|0,g=g+Math.imul(te,ge)|0,f=f+Math.imul(te,ve)|0,f=f+Math.imul(fe,ge)|0,m=m+Math.imul(fe,ve)|0,g=g+Math.imul(I,Ce)|0,f=f+Math.imul(I,_e)|0,f=f+Math.imul(O,Ce)|0,m=m+Math.imul(O,_e)|0,g=g+Math.imul(ce,Be)|0,f=f+Math.imul(ce,Me)|0,f=f+Math.imul(oe,Be)|0,m=m+Math.imul(oe,Me)|0,g=g+Math.imul(ie,De)|0,f=f+Math.imul(ie,Te)|0,f=f+Math.imul(U,De)|0,m=m+Math.imul(U,Te)|0,g=g+Math.imul(z,He)|0,f=f+Math.imul(z,Ie)|0,f=f+Math.imul(V,He)|0,m=m+Math.imul(V,Ie)|0,g=g+Math.imul(L,qe)|0,f=f+Math.imul(L,Fe)|0,f=f+Math.imul(F,qe)|0,m=m+Math.imul(F,Fe)|0;var br=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(br>>>26)|0,br&=67108863,g=Math.imul(Ae,We),f=Math.imul(Ae,$e),f=f+Math.imul(we,We)|0,m=Math.imul(we,$e),g=g+Math.imul(de,ne)|0,f=f+Math.imul(de,ae)|0,f=f+Math.imul(ue,ne)|0,m=m+Math.imul(ue,ae)|0,g=g+Math.imul(J,ge)|0,f=f+Math.imul(J,ve)|0,f=f+Math.imul(ee,ge)|0,m=m+Math.imul(ee,ve)|0,g=g+Math.imul(te,Ce)|0,f=f+Math.imul(te,_e)|0,f=f+Math.imul(fe,Ce)|0,m=m+Math.imul(fe,_e)|0,g=g+Math.imul(I,Be)|0,f=f+Math.imul(I,Me)|0,f=f+Math.imul(O,Be)|0,m=m+Math.imul(O,Me)|0,g=g+Math.imul(ce,De)|0,f=f+Math.imul(ce,Te)|0,f=f+Math.imul(oe,De)|0,m=m+Math.imul(oe,Te)|0,g=g+Math.imul(ie,He)|0,f=f+Math.imul(ie,Ie)|0,f=f+Math.imul(U,He)|0,m=m+Math.imul(U,Ie)|0,g=g+Math.imul(z,qe)|0,f=f+Math.imul(z,Fe)|0,f=f+Math.imul(V,qe)|0,m=m+Math.imul(V,Fe)|0;var Dr=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,g=Math.imul(Ae,ne),f=Math.imul(Ae,ae),f=f+Math.imul(we,ne)|0,m=Math.imul(we,ae),g=g+Math.imul(de,ge)|0,f=f+Math.imul(de,ve)|0,f=f+Math.imul(ue,ge)|0,m=m+Math.imul(ue,ve)|0,g=g+Math.imul(J,Ce)|0,f=f+Math.imul(J,_e)|0,f=f+Math.imul(ee,Ce)|0,m=m+Math.imul(ee,_e)|0,g=g+Math.imul(te,Be)|0,f=f+Math.imul(te,Me)|0,f=f+Math.imul(fe,Be)|0,m=m+Math.imul(fe,Me)|0,g=g+Math.imul(I,De)|0,f=f+Math.imul(I,Te)|0,f=f+Math.imul(O,De)|0,m=m+Math.imul(O,Te)|0,g=g+Math.imul(ce,He)|0,f=f+Math.imul(ce,Ie)|0,f=f+Math.imul(oe,He)|0,m=m+Math.imul(oe,Ie)|0,g=g+Math.imul(ie,qe)|0,f=f+Math.imul(ie,Fe)|0,f=f+Math.imul(U,qe)|0,m=m+Math.imul(U,Fe)|0;var Ir=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Ir>>>26)|0,Ir&=67108863,g=Math.imul(Ae,ge),f=Math.imul(Ae,ve),f=f+Math.imul(we,ge)|0,m=Math.imul(we,ve),g=g+Math.imul(de,Ce)|0,f=f+Math.imul(de,_e)|0,f=f+Math.imul(ue,Ce)|0,m=m+Math.imul(ue,_e)|0,g=g+Math.imul(J,Be)|0,f=f+Math.imul(J,Me)|0,f=f+Math.imul(ee,Be)|0,m=m+Math.imul(ee,Me)|0,g=g+Math.imul(te,De)|0,f=f+Math.imul(te,Te)|0,f=f+Math.imul(fe,De)|0,m=m+Math.imul(fe,Te)|0,g=g+Math.imul(I,He)|0,f=f+Math.imul(I,Ie)|0,f=f+Math.imul(O,He)|0,m=m+Math.imul(O,Ie)|0,g=g+Math.imul(ce,qe)|0,f=f+Math.imul(ce,Fe)|0,f=f+Math.imul(oe,qe)|0,m=m+Math.imul(oe,Fe)|0;var Or=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Or>>>26)|0,Or&=67108863,g=Math.imul(Ae,Ce),f=Math.imul(Ae,_e),f=f+Math.imul(we,Ce)|0,m=Math.imul(we,_e),g=g+Math.imul(de,Be)|0,f=f+Math.imul(de,Me)|0,f=f+Math.imul(ue,Be)|0,m=m+Math.imul(ue,Me)|0,g=g+Math.imul(J,De)|0,f=f+Math.imul(J,Te)|0,f=f+Math.imul(ee,De)|0,m=m+Math.imul(ee,Te)|0,g=g+Math.imul(te,He)|0,f=f+Math.imul(te,Ie)|0,f=f+Math.imul(fe,He)|0,m=m+Math.imul(fe,Ie)|0,g=g+Math.imul(I,qe)|0,f=f+Math.imul(I,Fe)|0,f=f+Math.imul(O,qe)|0,m=m+Math.imul(O,Fe)|0;var Rr=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,g=Math.imul(Ae,Be),f=Math.imul(Ae,Me),f=f+Math.imul(we,Be)|0,m=Math.imul(we,Me),g=g+Math.imul(de,De)|0,f=f+Math.imul(de,Te)|0,f=f+Math.imul(ue,De)|0,m=m+Math.imul(ue,Te)|0,g=g+Math.imul(J,He)|0,f=f+Math.imul(J,Ie)|0,f=f+Math.imul(ee,He)|0,m=m+Math.imul(ee,Ie)|0,g=g+Math.imul(te,qe)|0,f=f+Math.imul(te,Fe)|0,f=f+Math.imul(fe,qe)|0,m=m+Math.imul(fe,Fe)|0;var Nr=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Nr>>>26)|0,Nr&=67108863,g=Math.imul(Ae,De),f=Math.imul(Ae,Te),f=f+Math.imul(we,De)|0,m=Math.imul(we,Te),g=g+Math.imul(de,He)|0,f=f+Math.imul(de,Ie)|0,f=f+Math.imul(ue,He)|0,m=m+Math.imul(ue,Ie)|0,g=g+Math.imul(J,qe)|0,f=f+Math.imul(J,Fe)|0,f=f+Math.imul(ee,qe)|0,m=m+Math.imul(ee,Fe)|0;var $r=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+($r>>>26)|0,$r&=67108863,g=Math.imul(Ae,He),f=Math.imul(Ae,Ie),f=f+Math.imul(we,He)|0,m=Math.imul(we,Ie),g=g+Math.imul(de,qe)|0,f=f+Math.imul(de,Fe)|0,f=f+Math.imul(ue,qe)|0,m=m+Math.imul(ue,Fe)|0;var Dn=(E+g|0)+((f&8191)<<13)|0;E=(m+(f>>>13)|0)+(Dn>>>26)|0,Dn&=67108863,g=Math.imul(Ae,qe),f=Math.imul(Ae,Fe),f=f+Math.imul(we,qe)|0,m=Math.imul(we,Fe);var In=(E+g|0)+((f&8191)<<13)|0;return E=(m+(f>>>13)|0)+(In>>>26)|0,In&=67108863,v[0]=nt,v[1]=at,v[2]=it,v[3]=$t,v[4]=Pt,v[5]=tt,v[6]=yt,v[7]=st,v[8]=Bt,v[9]=ur,v[10]=br,v[11]=Dr,v[12]=Ir,v[13]=Or,v[14]=Rr,v[15]=Nr,v[16]=$r,v[17]=Dn,v[18]=In,E!==0&&(v[19]=E,h.length++),h};Math.imul||(k=T);function C(M,l,d){d.negative=l.negative^M.negative,d.length=M.length+l.length;for(var h=0,c=0,p=0;p>>26)|0,c+=v>>>26,v&=67108863}d.words[p]=E,h=v,v=c}return h!==0?d.words[p]=h:d.length--,d.strip()}function P(M,l,d){var h=new B;return h.mulp(M,l,d)}i.prototype.mulTo=function(l,d){var h,c=this.length+l.length;return this.length===10&&l.length===10?h=k(this,l,d):c<63?h=T(this,l,d):c<1024?h=C(this,l,d):h=P(this,l,d),h};function B(M,l){this.x=M,this.y=l}B.prototype.makeRBT=function(l){for(var d=new Array(l),h=i.prototype._countBits(l)-1,c=0;c>=1;return c},B.prototype.permute=function(l,d,h,c,p,v){for(var E=0;E>>1)p++;return 1<>>13,h[2*v+1]=p&8191,p=p>>>13;for(v=2*d;v>=26,d+=c/67108864|0,d+=p>>>26,this.words[h]=p&67108863}return d!==0&&(this.words[h]=d,this.length++),this},i.prototype.muln=function(l){return this.clone().imuln(l)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(l){var d=A(l);if(d.length===0)return new i(1);for(var h=this,c=0;c=0);var d=l%26,h=(l-d)/26,c=67108863>>>26-d<<26-d,p;if(d!==0){var v=0;for(p=0;p>>26-d}v&&(this.words[p]=v,this.length++)}if(h!==0){for(p=this.length-1;p>=0;p--)this.words[p+h]=this.words[p];for(p=0;p=0);var c;d?c=(d-d%26)/26:c=0;var p=l%26,v=Math.min((l-p)/26,this.length),E=67108863^67108863>>>p<v)for(this.length-=v,f=0;f=0&&(m!==0||f>=c);f--){var w=this.words[f]|0;this.words[f]=m<<26-p|w>>>p,m=w&E}return g&&m!==0&&(g.words[g.length++]=m),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(l,d,h){return n(this.negative===0),this.iushrn(l,d,h)},i.prototype.shln=function(l){return this.clone().ishln(l)},i.prototype.ushln=function(l){return this.clone().iushln(l)},i.prototype.shrn=function(l){return this.clone().ishrn(l)},i.prototype.ushrn=function(l){return this.clone().iushrn(l)},i.prototype.testn=function(l){n(typeof l=="number"&&l>=0);var d=l%26,h=(l-d)/26,c=1<=0);var d=l%26,h=(l-d)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=h)return this;if(d!==0&&h++,this.length=Math.min(h,this.length),d!==0){var c=67108863^67108863>>>d<=67108864;d++)this.words[d]-=67108864,d===this.length-1?this.words[d+1]=1:this.words[d+1]++;return this.length=Math.max(this.length,d+1),this},i.prototype.isubn=function(l){if(n(typeof l=="number"),n(l<67108864),l<0)return this.iaddn(-l);if(this.negative!==0)return this.negative=0,this.iaddn(l),this.negative=1,this;if(this.words[0]-=l,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var d=0;d>26)-(g/67108864|0),this.words[p+h]=v&67108863}for(;p>26,this.words[p+h]=v&67108863;if(E===0)return this.strip();for(n(E===-1),E=0,p=0;p>26,this.words[p]=v&67108863;return this.negative=1,this.strip()},i.prototype._wordDiv=function(l,d){var h=this.length-l.length,c=this.clone(),p=l,v=p.words[p.length-1]|0,E=this._countBits(v);h=26-E,h!==0&&(p=p.ushln(h),c.iushln(h),v=p.words[p.length-1]|0);var g=c.length-p.length,f;if(d!=="mod"){f=new i(null),f.length=g+1,f.words=new Array(f.length);for(var m=0;m=0;x--){var S=(c.words[p.length+x]|0)*67108864+(c.words[p.length+x-1]|0);for(S=Math.min(S/v|0,67108863),c._ishlnsubmul(p,S,x);c.negative!==0;)S--,c.negative=0,c._ishlnsubmul(p,1,x),c.isZero()||(c.negative^=1);f&&(f.words[x]=S)}return f&&f.strip(),c.strip(),d!=="div"&&h!==0&&c.iushrn(h),{div:f||null,mod:c}},i.prototype.divmod=function(l,d,h){if(n(!l.isZero()),this.isZero())return{div:new i(0),mod:new i(0)};var c,p,v;return this.negative!==0&&l.negative===0?(v=this.neg().divmod(l,d),d!=="mod"&&(c=v.div.neg()),d!=="div"&&(p=v.mod.neg(),h&&p.negative!==0&&p.iadd(l)),{div:c,mod:p}):this.negative===0&&l.negative!==0?(v=this.divmod(l.neg(),d),d!=="mod"&&(c=v.div.neg()),{div:c,mod:v.mod}):this.negative&l.negative?(v=this.neg().divmod(l.neg(),d),d!=="div"&&(p=v.mod.neg(),h&&p.negative!==0&&p.isub(l)),{div:v.div,mod:p}):l.length>this.length||this.cmp(l)<0?{div:new i(0),mod:this}:l.length===1?d==="div"?{div:this.divn(l.words[0]),mod:null}:d==="mod"?{div:null,mod:new i(this.modn(l.words[0]))}:{div:this.divn(l.words[0]),mod:new i(this.modn(l.words[0]))}:this._wordDiv(l,d)},i.prototype.div=function(l){return this.divmod(l,"div",!1).div},i.prototype.mod=function(l){return this.divmod(l,"mod",!1).mod},i.prototype.umod=function(l){return this.divmod(l,"mod",!0).mod},i.prototype.divRound=function(l){var d=this.divmod(l);if(d.mod.isZero())return d.div;var h=d.div.negative!==0?d.mod.isub(l):d.mod,c=l.ushrn(1),p=l.andln(1),v=h.cmp(c);return v<0||p===1&&v===0?d.div:d.div.negative!==0?d.div.isubn(1):d.div.iaddn(1)},i.prototype.modn=function(l){n(l<=67108863);for(var d=(1<<26)%l,h=0,c=this.length-1;c>=0;c--)h=(d*h+(this.words[c]|0))%l;return h},i.prototype.idivn=function(l){n(l<=67108863);for(var d=0,h=this.length-1;h>=0;h--){var c=(this.words[h]|0)+d*67108864;this.words[h]=c/l|0,d=c%l}return this.strip()},i.prototype.divn=function(l){return this.clone().idivn(l)},i.prototype.egcd=function(l){n(l.negative===0),n(!l.isZero());var d=this,h=l.clone();d.negative!==0?d=d.umod(l):d=d.clone();for(var c=new i(1),p=new i(0),v=new i(0),E=new i(1),g=0;d.isEven()&&h.isEven();)d.iushrn(1),h.iushrn(1),++g;for(var f=h.clone(),m=d.clone();!d.isZero();){for(var w=0,x=1;!(d.words[0]&x)&&w<26;++w,x<<=1);if(w>0)for(d.iushrn(w);w-- >0;)(c.isOdd()||p.isOdd())&&(c.iadd(f),p.isub(m)),c.iushrn(1),p.iushrn(1);for(var S=0,R=1;!(h.words[0]&R)&&S<26;++S,R<<=1);if(S>0)for(h.iushrn(S);S-- >0;)(v.isOdd()||E.isOdd())&&(v.iadd(f),E.isub(m)),v.iushrn(1),E.iushrn(1);d.cmp(h)>=0?(d.isub(h),c.isub(v),p.isub(E)):(h.isub(d),v.isub(c),E.isub(p))}return{a:v,b:E,gcd:h.iushln(g)}},i.prototype._invmp=function(l){n(l.negative===0),n(!l.isZero());var d=this,h=l.clone();d.negative!==0?d=d.umod(l):d=d.clone();for(var c=new i(1),p=new i(0),v=h.clone();d.cmpn(1)>0&&h.cmpn(1)>0;){for(var E=0,g=1;!(d.words[0]&g)&&E<26;++E,g<<=1);if(E>0)for(d.iushrn(E);E-- >0;)c.isOdd()&&c.iadd(v),c.iushrn(1);for(var f=0,m=1;!(h.words[0]&m)&&f<26;++f,m<<=1);if(f>0)for(h.iushrn(f);f-- >0;)p.isOdd()&&p.iadd(v),p.iushrn(1);d.cmp(h)>=0?(d.isub(h),c.isub(p)):(h.isub(d),p.isub(c))}var w;return d.cmpn(1)===0?w=c:w=p,w.cmpn(0)<0&&w.iadd(l),w},i.prototype.gcd=function(l){if(this.isZero())return l.abs();if(l.isZero())return this.abs();var d=this.clone(),h=l.clone();d.negative=0,h.negative=0;for(var c=0;d.isEven()&&h.isEven();c++)d.iushrn(1),h.iushrn(1);do{for(;d.isEven();)d.iushrn(1);for(;h.isEven();)h.iushrn(1);var p=d.cmp(h);if(p<0){var v=d;d=h,h=v}else if(p===0||h.cmpn(1)===0)break;d.isub(h)}while(!0);return h.iushln(c)},i.prototype.invm=function(l){return this.egcd(l).a.umod(l)},i.prototype.isEven=function(){return(this.words[0]&1)===0},i.prototype.isOdd=function(){return(this.words[0]&1)===1},i.prototype.andln=function(l){return this.words[0]&l},i.prototype.bincn=function(l){n(typeof l=="number");var d=l%26,h=(l-d)/26,c=1<>>26,E&=67108863,this.words[v]=E}return p!==0&&(this.words[v]=p,this.length++),this},i.prototype.isZero=function(){return this.length===1&&this.words[0]===0},i.prototype.cmpn=function(l){var d=l<0;if(this.negative!==0&&!d)return-1;if(this.negative===0&&d)return 1;this.strip();var h;if(this.length>1)h=1;else{d&&(l=-l),n(l<=67108863,"Number is too big");var c=this.words[0]|0;h=c===l?0:cl.length)return 1;if(this.length=0;h--){var c=this.words[h]|0,p=l.words[h]|0;if(c!==p){cp&&(d=1);break}}return d},i.prototype.gtn=function(l){return this.cmpn(l)===1},i.prototype.gt=function(l){return this.cmp(l)===1},i.prototype.gten=function(l){return this.cmpn(l)>=0},i.prototype.gte=function(l){return this.cmp(l)>=0},i.prototype.ltn=function(l){return this.cmpn(l)===-1},i.prototype.lt=function(l){return this.cmp(l)===-1},i.prototype.lten=function(l){return this.cmpn(l)<=0},i.prototype.lte=function(l){return this.cmp(l)<=0},i.prototype.eqn=function(l){return this.cmpn(l)===0},i.prototype.eq=function(l){return this.cmp(l)===0},i.red=function(l){return new Y(l)},i.prototype.toRed=function(l){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),l.convertTo(this)._forceRed(l)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(l){return this.red=l,this},i.prototype.forceRed=function(l){return n(!this.red,"Already a number in reduction context"),this._forceRed(l)},i.prototype.redAdd=function(l){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,l)},i.prototype.redIAdd=function(l){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,l)},i.prototype.redSub=function(l){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,l)},i.prototype.redISub=function(l){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,l)},i.prototype.redShl=function(l){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,l)},i.prototype.redMul=function(l){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.mul(this,l)},i.prototype.redIMul=function(l){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,l),this.red.imul(this,l)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(l){return n(this.red&&!l.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,l)};var D={k256:null,p224:null,p192:null,p25519:null};function N(M,l){this.name=M,this.p=new i(l,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}N.prototype._tmp=function(){var l=new i(null);return l.words=new Array(Math.ceil(this.n/13)),l},N.prototype.ireduce=function(l){var d=l,h;do this.split(d,this.tmp),d=this.imulK(d),d=d.iadd(this.tmp),h=d.bitLength();while(h>this.n);var c=h0?d.isub(this.p):d.strip(),d},N.prototype.split=function(l,d){l.iushrn(this.n,0,d)},N.prototype.imulK=function(l){return l.imul(this.k)};function $(){N.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}a($,N),$.prototype.split=function(l,d){for(var h=4194303,c=Math.min(l.length,9),p=0;p>>22,v=E}v>>>=22,l.words[p-10]=v,v===0&&l.length>10?l.length-=10:l.length-=9},$.prototype.imulK=function(l){l.words[l.length]=0,l.words[l.length+1]=0,l.length+=2;for(var d=0,h=0;h>>=26,l.words[h]=p,d=c}return d!==0&&(l.words[l.length++]=d),l},i._prime=function(l){if(D[l])return D[l];var d;if(l==="k256")d=new $;else if(l==="p224")d=new j;else if(l==="p192")d=new Z;else if(l==="p25519")d=new X;else throw new Error("Unknown prime "+l);return D[l]=d,d};function Y(M){if(typeof M=="string"){var l=i._prime(M);this.m=l.p,this.prime=l}else n(M.gtn(1),"modulus must be greater than 1"),this.m=M,this.prime=null}Y.prototype._verify1=function(l){n(l.negative===0,"red works only with positives"),n(l.red,"red works only with red numbers")},Y.prototype._verify2=function(l,d){n((l.negative|d.negative)===0,"red works only with positives"),n(l.red&&l.red===d.red,"red works only with red numbers")},Y.prototype.imod=function(l){return this.prime?this.prime.ireduce(l)._forceRed(this):l.umod(this.m)._forceRed(this)},Y.prototype.neg=function(l){return l.isZero()?l.clone():this.m.sub(l)._forceRed(this)},Y.prototype.add=function(l,d){this._verify2(l,d);var h=l.add(d);return h.cmp(this.m)>=0&&h.isub(this.m),h._forceRed(this)},Y.prototype.iadd=function(l,d){this._verify2(l,d);var h=l.iadd(d);return h.cmp(this.m)>=0&&h.isub(this.m),h},Y.prototype.sub=function(l,d){this._verify2(l,d);var h=l.sub(d);return h.cmpn(0)<0&&h.iadd(this.m),h._forceRed(this)},Y.prototype.isub=function(l,d){this._verify2(l,d);var h=l.isub(d);return h.cmpn(0)<0&&h.iadd(this.m),h},Y.prototype.shl=function(l,d){return this._verify1(l),this.imod(l.ushln(d))},Y.prototype.imul=function(l,d){return this._verify2(l,d),this.imod(l.imul(d))},Y.prototype.mul=function(l,d){return this._verify2(l,d),this.imod(l.mul(d))},Y.prototype.isqr=function(l){return this.imul(l,l.clone())},Y.prototype.sqr=function(l){return this.mul(l,l)},Y.prototype.sqrt=function(l){if(l.isZero())return l.clone();var d=this.m.andln(3);if(n(d%2===1),d===3){var h=this.m.add(new i(1)).iushrn(2);return this.pow(l,h)}for(var c=this.m.subn(1),p=0;!c.isZero()&&c.andln(1)===0;)p++,c.iushrn(1);n(!c.isZero());var v=new i(1).toRed(this),E=v.redNeg(),g=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new i(2*f*f).toRed(this);this.pow(f,g).cmp(E)!==0;)f.redIAdd(E);for(var m=this.pow(f,c),w=this.pow(l,c.addn(1).iushrn(1)),x=this.pow(l,c),S=p;x.cmp(v)!==0;){for(var R=x,L=0;R.cmp(v)!==0;L++)R=R.redSqr();n(L=0;p--){for(var m=d.words[p],w=f-1;w>=0;w--){var x=m>>w&1;if(v!==c[0]&&(v=this.sqr(v)),x===0&&E===0){g=0;continue}E<<=1,E|=x,g++,!(g!==h&&(p!==0||w!==0))&&(v=this.mul(v,c[E]),g=0,E=0)}f=26}return v},Y.prototype.convertTo=function(l){var d=l.umod(this.m);return d===l?d.clone():d},Y.prototype.convertFrom=function(l){var d=l.clone();return d.red=null,d},i.mont=function(l){return new re(l)};function re(M){Y.call(this,M),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}a(re,Y),re.prototype.convertTo=function(l){return this.imod(l.ushln(this.shift))},re.prototype.convertFrom=function(l){var d=this.imod(l.mul(this.rinv));return d.red=null,d},re.prototype.imul=function(l,d){if(l.isZero()||d.isZero())return l.words[0]=0,l.length=1,l;var h=l.imul(d),c=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),p=h.isub(c).iushrn(this.shift),v=p;return p.cmp(this.m)>=0?v=p.isub(this.m):p.cmpn(0)<0&&(v=p.iadd(this.m)),v._forceRed(this)},re.prototype.mul=function(l,d){if(l.isZero()||d.isZero())return new i(0)._forceRed(this);var h=l.mul(d),c=h.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),p=h.isub(c).iushrn(this.shift),v=p;return p.cmp(this.m)>=0?v=p.isub(this.m):p.cmpn(0)<0&&(v=p.iadd(this.m)),v._forceRed(this)},re.prototype.invm=function(l){var d=this.imod(l._invmp(this.m).mul(this.r2));return d._forceRed(this)}})(t,ye)})(i8);var Kee=i8.exports,Zee=function(e){if(typeof e!="string")throw new Error("[is-hex-prefixed] value must be type 'string', is currently type "+typeof e+", while checking isHexPrefixed.");return e.slice(0,2)==="0x"},Jee=Zee,Yee=function(e){return typeof e!="string"?e:Jee(e)?e.slice(2):e},qf=Kee,d9=Yee,qB=function(e){if(typeof e=="string"||typeof e=="number"){var r=new qf(1),n=String(e).toLowerCase().trim(),a=n.substr(0,2)==="0x"||n.substr(0,3)==="-0x",i=d9(n);if(i.substr(0,1)==="-"&&(i=d9(i.slice(1)),r=new qf(-1,10)),i=i===""?"0":i,!i.match(/^-?[0-9]+$/)&&i.match(/^[0-9A-Fa-f]+$/)||i.match(/^[a-fA-F]+$/)||a===!0&&i.match(/^[0-9A-Fa-f]+$/))return new qf(i,16).mul(r);if((i.match(/^-?[0-9]+$/)||i==="")&&a===!1)return new qf(i,10).mul(r)}else if(typeof e=="object"&&e.toString&&!e.pop&&!e.push&&e.toString(10).match(/^-?[0-9]+$/)&&(e.mul||e.dividedToIntegerBy))return new qf(e.toString(10),10);throw new Error("[number-to-bn] while converting number "+JSON.stringify(e)+" to BN.js instance, error: invalid number value. Value must be an integer, hex string, BN or BigNumber instance. Note, decimals are not supported.")},vu=Wee,Xee=qB,Qee=new vu(0),VB=new vu(-1),A0={noether:"0",wei:"1",kwei:"1000",Kwei:"1000",babbage:"1000",femtoether:"1000",mwei:"1000000",Mwei:"1000000",lovelace:"1000000",picoether:"1000000",gwei:"1000000000",Gwei:"1000000000",shannon:"1000000000",nanoether:"1000000000",nano:"1000000000",szabo:"1000000000000",microether:"1000000000000",micro:"1000000000000",finney:"1000000000000000",milliether:"1000000000000000",milli:"1000000000000000",ether:"1000000000000000000",kether:"1000000000000000000000",grand:"1000000000000000000000",mether:"1000000000000000000000000",gether:"1000000000000000000000000000",tether:"1000000000000000000000000000000"};function s8(t){var e=t?t.toLowerCase():"ether",r=A0[e];if(typeof r!="string")throw new Error("[ethjs-unit] the unit provided "+t+" doesn't exists, please use the one of the following units "+JSON.stringify(A0,null,2));return new vu(r,10)}function WB(t){if(typeof t=="string"){if(!t.match(/^-?[0-9.]+$/))throw new Error("while converting number to string, invalid number value '"+t+"', should be a number matching (^-?[0-9.]+).");return t}else{if(typeof t=="number")return String(t);if(typeof t=="object"&&t.toString&&(t.toTwos||t.dividedToIntegerBy))return t.toPrecision?String(t.toPrecision()):t.toString(10)}throw new Error("while converting number to string, invalid number value '"+t+"' type "+typeof t+".")}function ete(t,e,r){var n=Xee(t),a=n.lt(Qee),i=s8(e),s=A0[e].length-1||1,o=r||{};a&&(n=n.mul(VB));for(var u=n.mod(i).toString(10);u.length2)throw new Error("[ethjs-unit] while converting number "+t+" to wei, too many decimal points");var o=s[0],u=s[1];if(o||(o="0"),u||(u="0"),u.length>a)throw new Error("[ethjs-unit] while converting number "+t+" to wei, too many decimal places");for(;u.length=55296&&N<=56319&&B65535&&(D-=65536,N+=r(D>>>10&1023|55296),D=56320|D&1023),N+=r(D);return N}function i(C){if(C>=55296&&C<=57343)throw Error("Lone surrogate U+"+C.toString(16).toUpperCase()+" is not a scalar value")}function s(C,P){return r(C>>P&63|128)}function o(C){if(!(C&4294967168))return r(C);var P="";return C&4294965248?C&4294901760?C&4292870144||(P=r(C>>18&7|240),P+=s(C,12),P+=s(C,6)):(i(C),P=r(C>>12&15|224),P+=s(C,6)):P=r(C>>6&31|192),P+=r(C&63|128),P}function u(C){for(var P=n(C),B=P.length,D=-1,N,$="";++D=A)throw Error("Invalid byte index");var C=_[T]&255;if(T++,(C&192)==128)return C&63;throw Error("Invalid continuation byte")}function b(){var C,P,B,D,N;if(T>A)throw Error("Invalid byte index");if(T==A)return!1;if(C=_[T]&255,T++,!(C&128))return C;if((C&224)==192){if(P=y(),N=(C&31)<<6|P,N>=128)return N;throw Error("Invalid continuation byte")}if((C&240)==224){if(P=y(),B=y(),N=(C&15)<<12|P<<6|B,N>=2048)return i(N),N;throw Error("Invalid continuation byte")}if((C&248)==240&&(P=y(),B=y(),D=y(),N=(C&7)<<18|P<<12|B<<6|D,N>=65536&&N<=1114111))return N;throw Error("Invalid UTF-8 detected")}var _,A,T;function k(C){_=n(C),A=_.length,T=0;for(var P=[],B;(B=b())!==!1;)P.push(B);return a(P)}e.version="3.0.0",e.encode=u,e.decode=k})(t)})(KB);var Jy={},o8={},sc={},Yy={};Yy.byteLength=ite;Yy.toByteArray=ote;Yy.fromByteArray=ute;var qi=[],Fa=[],nte=typeof Uint8Array<"u"?Uint8Array:Array,x2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var Sc=0,ate=x2.length;Sc0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function ite(t){var e=ZB(t),r=e[0],n=e[1];return(r+n)*3/4-n}function ste(t,e,r){return(e+r)*3/4-r}function ote(t){var e,r=ZB(t),n=r[0],a=r[1],i=new nte(ste(t,n,a)),s=0,o=a>0?n-4:n,u;for(u=0;u>16&255,i[s++]=e>>8&255,i[s++]=e&255;return a===2&&(e=Fa[t.charCodeAt(u)]<<2|Fa[t.charCodeAt(u+1)]>>4,i[s++]=e&255),a===1&&(e=Fa[t.charCodeAt(u)]<<10|Fa[t.charCodeAt(u+1)]<<4|Fa[t.charCodeAt(u+2)]>>2,i[s++]=e>>8&255,i[s++]=e&255),i}function lte(t){return qi[t>>18&63]+qi[t>>12&63]+qi[t>>6&63]+qi[t&63]}function cte(t,e,r){for(var n,a=[],i=e;io?o:s+i));return n===1?(e=t[r-1],a.push(qi[e>>2]+qi[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],a.push(qi[e>>10]+qi[e>>4&63]+qi[e<<2&63]+"=")),a.join("")}var l8={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */l8.read=function(t,e,r,n,a){var i,s,o=a*8-n-1,u=(1<>1,b=-7,_=r?a-1:0,A=r?-1:1,T=t[e+_];for(_+=A,i=T&(1<<-b)-1,T>>=-b,b+=o;b>0;i=i*256+t[e+_],_+=A,b-=8);for(s=i&(1<<-b)-1,i>>=-b,b+=n;b>0;s=s*256+t[e+_],_+=A,b-=8);if(i===0)i=1-y;else{if(i===u)return s?NaN:(T?-1:1)*(1/0);s=s+Math.pow(2,n),i=i-y}return(T?-1:1)*s*Math.pow(2,i-n)};l8.write=function(t,e,r,n,a,i){var s,o,u,y=i*8-a-1,b=(1<>1,A=a===23?Math.pow(2,-24)-Math.pow(2,-77):0,T=n?0:i-1,k=n?1:-1,C=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,s=b):(s=Math.floor(Math.log(e)/Math.LN2),e*(u=Math.pow(2,-s))<1&&(s--,u*=2),s+_>=1?e+=A/u:e+=A*Math.pow(2,1-_),e*u>=2&&(s++,u/=2),s+_>=b?(o=0,s=b):s+_>=1?(o=(e*u-1)*Math.pow(2,a),s=s+_):(o=e*Math.pow(2,_-1)*Math.pow(2,a),s=0));a>=8;t[r+T]=o&255,T+=k,o/=256,a-=8);for(s=s<0;t[r+T]=s&255,T+=k,s/=256,y-=8);t[r+T-k]|=C*128};/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */(function(t){var e=Yy,r=l8,n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=o,t.SlowBuffer=D,t.INSPECT_MAX_BYTES=50;var a=2147483647;t.kMaxLength=a,o.TYPED_ARRAY_SUPPORT=i(),!o.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function i(){try{var K=new Uint8Array(1),I={foo:function(){return 42}};return Object.setPrototypeOf(I,Uint8Array.prototype),Object.setPrototypeOf(K,I),K.foo()===42}catch{return!1}}Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}});function s(K){if(K>a)throw new RangeError('The value "'+K+'" is invalid for option "size"');var I=new Uint8Array(K);return Object.setPrototypeOf(I,o.prototype),I}function o(K,I,O){if(typeof K=="number"){if(typeof I=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return _(K)}return u(K,I,O)}o.poolSize=8192;function u(K,I,O){if(typeof K=="string")return A(K,I);if(ArrayBuffer.isView(K))return k(K);if(K==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof K);if(W(K,ArrayBuffer)||K&&W(K.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(W(K,SharedArrayBuffer)||K&&W(K.buffer,SharedArrayBuffer)))return C(K,I,O);if(typeof K=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var q=K.valueOf&&K.valueOf();if(q!=null&&q!==K)return o.from(q,I,O);var te=P(K);if(te)return te;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof K[Symbol.toPrimitive]=="function")return o.from(K[Symbol.toPrimitive]("string"),I,O);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof K)}o.from=function(K,I,O){return u(K,I,O)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array);function y(K){if(typeof K!="number")throw new TypeError('"size" argument must be of type number');if(K<0)throw new RangeError('The value "'+K+'" is invalid for option "size"')}function b(K,I,O){return y(K),K<=0?s(K):I!==void 0?typeof O=="string"?s(K).fill(I,O):s(K).fill(I):s(K)}o.alloc=function(K,I,O){return b(K,I,O)};function _(K){return y(K),s(K<0?0:B(K)|0)}o.allocUnsafe=function(K){return _(K)},o.allocUnsafeSlow=function(K){return _(K)};function A(K,I){if((typeof I!="string"||I==="")&&(I="utf8"),!o.isEncoding(I))throw new TypeError("Unknown encoding: "+I);var O=N(K,I)|0,q=s(O),te=q.write(K,I);return te!==O&&(q=q.slice(0,te)),q}function T(K){for(var I=K.length<0?0:B(K.length)|0,O=s(I),q=0;q=a)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+a.toString(16)+" bytes");return K|0}function D(K){return+K!=K&&(K=0),o.alloc(+K)}o.isBuffer=function(I){return I!=null&&I._isBuffer===!0&&I!==o.prototype},o.compare=function(I,O){if(W(I,Uint8Array)&&(I=o.from(I,I.offset,I.byteLength)),W(O,Uint8Array)&&(O=o.from(O,O.offset,O.byteLength)),!o.isBuffer(I)||!o.isBuffer(O))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(I===O)return 0;for(var q=I.length,te=O.length,fe=0,H=Math.min(q,te);fete.length?o.from(H).copy(te,fe):Uint8Array.prototype.set.call(te,H,fe);else if(o.isBuffer(H))H.copy(te,fe);else throw new TypeError('"list" argument must be an Array of Buffers');fe+=H.length}return te};function N(K,I){if(o.isBuffer(K))return K.length;if(ArrayBuffer.isView(K)||W(K,ArrayBuffer))return K.byteLength;if(typeof K!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof K);var O=K.length,q=arguments.length>2&&arguments[2]===!0;if(!q&&O===0)return 0;for(var te=!1;;)switch(I){case"ascii":case"latin1":case"binary":return O;case"utf8":case"utf-8":return z(K).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O*2;case"hex":return O>>>1;case"base64":return ie(K).length;default:if(te)return q?-1:z(K).length;I=(""+I).toLowerCase(),te=!0}}o.byteLength=N;function $(K,I,O){var q=!1;if((I===void 0||I<0)&&(I=0),I>this.length||((O===void 0||O>this.length)&&(O=this.length),O<=0)||(O>>>=0,I>>>=0,O<=I))return"";for(K||(K="utf8");;)switch(K){case"hex":return f(this,I,O);case"utf8":case"utf-8":return c(this,I,O);case"ascii":return E(this,I,O);case"latin1":case"binary":return g(this,I,O);case"base64":return h(this,I,O);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m(this,I,O);default:if(q)throw new TypeError("Unknown encoding: "+K);K=(K+"").toLowerCase(),q=!0}}o.prototype._isBuffer=!0;function j(K,I,O){var q=K[I];K[I]=K[O],K[O]=q}o.prototype.swap16=function(){var I=this.length;if(I%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var O=0;OO&&(I+=" ... "),""},n&&(o.prototype[n]=o.prototype.inspect),o.prototype.compare=function(I,O,q,te,fe){if(W(I,Uint8Array)&&(I=o.from(I,I.offset,I.byteLength)),!o.isBuffer(I))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof I);if(O===void 0&&(O=0),q===void 0&&(q=I?I.length:0),te===void 0&&(te=0),fe===void 0&&(fe=this.length),O<0||q>I.length||te<0||fe>this.length)throw new RangeError("out of range index");if(te>=fe&&O>=q)return 0;if(te>=fe)return-1;if(O>=q)return 1;if(O>>>=0,q>>>=0,te>>>=0,fe>>>=0,this===I)return 0;for(var H=fe-te,J=q-O,ee=Math.min(H,J),he=this.slice(te,fe),de=I.slice(O,q),ue=0;ue2147483647?O=2147483647:O<-2147483648&&(O=-2147483648),O=+O,ce(O)&&(O=te?0:K.length-1),O<0&&(O=K.length+O),O>=K.length){if(te)return-1;O=K.length-1}else if(O<0)if(te)O=0;else return-1;if(typeof I=="string"&&(I=o.from(I,q)),o.isBuffer(I))return I.length===0?-1:X(K,I,O,q,te);if(typeof I=="number")return I=I&255,typeof Uint8Array.prototype.indexOf=="function"?te?Uint8Array.prototype.indexOf.call(K,I,O):Uint8Array.prototype.lastIndexOf.call(K,I,O):X(K,[I],O,q,te);throw new TypeError("val must be string, number or Buffer")}function X(K,I,O,q,te){var fe=1,H=K.length,J=I.length;if(q!==void 0&&(q=String(q).toLowerCase(),q==="ucs2"||q==="ucs-2"||q==="utf16le"||q==="utf-16le")){if(K.length<2||I.length<2)return-1;fe=2,H/=2,J/=2,O/=2}function ee(Ae,we){return fe===1?Ae[we]:Ae.readUInt16BE(we*fe)}var he;if(te){var de=-1;for(he=O;heH&&(O=H-J),he=O;he>=0;he--){for(var ue=!0,Se=0;Sete&&(q=te)):q=te;var fe=I.length;q>fe/2&&(q=fe/2);for(var H=0;H>>0,isFinite(q)?(q=q>>>0,te===void 0&&(te="utf8")):(te=q,q=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var fe=this.length-O;if((q===void 0||q>fe)&&(q=fe),I.length>0&&(q<0||O<0)||O>this.length)throw new RangeError("Attempt to write outside buffer bounds");te||(te="utf8");for(var H=!1;;)switch(te){case"hex":return Y(this,I,O,q);case"utf8":case"utf-8":return re(this,I,O,q);case"ascii":case"latin1":case"binary":return M(this,I,O,q);case"base64":return l(this,I,O,q);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return d(this,I,O,q);default:if(H)throw new TypeError("Unknown encoding: "+te);te=(""+te).toLowerCase(),H=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function h(K,I,O){return I===0&&O===K.length?e.fromByteArray(K):e.fromByteArray(K.slice(I,O))}function c(K,I,O){O=Math.min(K.length,O);for(var q=[],te=I;te239?4:fe>223?3:fe>191?2:1;if(te+J<=O){var ee,he,de,ue;switch(J){case 1:fe<128&&(H=fe);break;case 2:ee=K[te+1],(ee&192)===128&&(ue=(fe&31)<<6|ee&63,ue>127&&(H=ue));break;case 3:ee=K[te+1],he=K[te+2],(ee&192)===128&&(he&192)===128&&(ue=(fe&15)<<12|(ee&63)<<6|he&63,ue>2047&&(ue<55296||ue>57343)&&(H=ue));break;case 4:ee=K[te+1],he=K[te+2],de=K[te+3],(ee&192)===128&&(he&192)===128&&(de&192)===128&&(ue=(fe&15)<<18|(ee&63)<<12|(he&63)<<6|de&63,ue>65535&&ue<1114112&&(H=ue))}}H===null?(H=65533,J=1):H>65535&&(H-=65536,q.push(H>>>10&1023|55296),H=56320|H&1023),q.push(H),te+=J}return v(q)}var p=4096;function v(K){var I=K.length;if(I<=p)return String.fromCharCode.apply(String,K);for(var O="",q=0;qq)&&(O=q);for(var te="",fe=I;feq&&(I=q),O<0?(O+=q,O<0&&(O=0)):O>q&&(O=q),OO)throw new RangeError("Trying to access beyond buffer length")}o.prototype.readUintLE=o.prototype.readUIntLE=function(I,O,q){I=I>>>0,O=O>>>0,q||w(I,O,this.length);for(var te=this[I],fe=1,H=0;++H>>0,O=O>>>0,q||w(I,O,this.length);for(var te=this[I+--O],fe=1;O>0&&(fe*=256);)te+=this[I+--O]*fe;return te},o.prototype.readUint8=o.prototype.readUInt8=function(I,O){return I=I>>>0,O||w(I,1,this.length),this[I]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(I,O){return I=I>>>0,O||w(I,2,this.length),this[I]|this[I+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(I,O){return I=I>>>0,O||w(I,2,this.length),this[I]<<8|this[I+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(I,O){return I=I>>>0,O||w(I,4,this.length),(this[I]|this[I+1]<<8|this[I+2]<<16)+this[I+3]*16777216},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(I,O){return I=I>>>0,O||w(I,4,this.length),this[I]*16777216+(this[I+1]<<16|this[I+2]<<8|this[I+3])},o.prototype.readIntLE=function(I,O,q){I=I>>>0,O=O>>>0,q||w(I,O,this.length);for(var te=this[I],fe=1,H=0;++H=fe&&(te-=Math.pow(2,8*O)),te},o.prototype.readIntBE=function(I,O,q){I=I>>>0,O=O>>>0,q||w(I,O,this.length);for(var te=O,fe=1,H=this[I+--te];te>0&&(fe*=256);)H+=this[I+--te]*fe;return fe*=128,H>=fe&&(H-=Math.pow(2,8*O)),H},o.prototype.readInt8=function(I,O){return I=I>>>0,O||w(I,1,this.length),this[I]&128?(255-this[I]+1)*-1:this[I]},o.prototype.readInt16LE=function(I,O){I=I>>>0,O||w(I,2,this.length);var q=this[I]|this[I+1]<<8;return q&32768?q|4294901760:q},o.prototype.readInt16BE=function(I,O){I=I>>>0,O||w(I,2,this.length);var q=this[I+1]|this[I]<<8;return q&32768?q|4294901760:q},o.prototype.readInt32LE=function(I,O){return I=I>>>0,O||w(I,4,this.length),this[I]|this[I+1]<<8|this[I+2]<<16|this[I+3]<<24},o.prototype.readInt32BE=function(I,O){return I=I>>>0,O||w(I,4,this.length),this[I]<<24|this[I+1]<<16|this[I+2]<<8|this[I+3]},o.prototype.readFloatLE=function(I,O){return I=I>>>0,O||w(I,4,this.length),r.read(this,I,!0,23,4)},o.prototype.readFloatBE=function(I,O){return I=I>>>0,O||w(I,4,this.length),r.read(this,I,!1,23,4)},o.prototype.readDoubleLE=function(I,O){return I=I>>>0,O||w(I,8,this.length),r.read(this,I,!0,52,8)},o.prototype.readDoubleBE=function(I,O){return I=I>>>0,O||w(I,8,this.length),r.read(this,I,!1,52,8)};function x(K,I,O,q,te,fe){if(!o.isBuffer(K))throw new TypeError('"buffer" argument must be a Buffer instance');if(I>te||IK.length)throw new RangeError("Index out of range")}o.prototype.writeUintLE=o.prototype.writeUIntLE=function(I,O,q,te){if(I=+I,O=O>>>0,q=q>>>0,!te){var fe=Math.pow(2,8*q)-1;x(this,I,O,q,fe,0)}var H=1,J=0;for(this[O]=I&255;++J>>0,q=q>>>0,!te){var fe=Math.pow(2,8*q)-1;x(this,I,O,q,fe,0)}var H=q-1,J=1;for(this[O+H]=I&255;--H>=0&&(J*=256);)this[O+H]=I/J&255;return O+q},o.prototype.writeUint8=o.prototype.writeUInt8=function(I,O,q){return I=+I,O=O>>>0,q||x(this,I,O,1,255,0),this[O]=I&255,O+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(I,O,q){return I=+I,O=O>>>0,q||x(this,I,O,2,65535,0),this[O]=I&255,this[O+1]=I>>>8,O+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(I,O,q){return I=+I,O=O>>>0,q||x(this,I,O,2,65535,0),this[O]=I>>>8,this[O+1]=I&255,O+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(I,O,q){return I=+I,O=O>>>0,q||x(this,I,O,4,4294967295,0),this[O+3]=I>>>24,this[O+2]=I>>>16,this[O+1]=I>>>8,this[O]=I&255,O+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(I,O,q){return I=+I,O=O>>>0,q||x(this,I,O,4,4294967295,0),this[O]=I>>>24,this[O+1]=I>>>16,this[O+2]=I>>>8,this[O+3]=I&255,O+4},o.prototype.writeIntLE=function(I,O,q,te){if(I=+I,O=O>>>0,!te){var fe=Math.pow(2,8*q-1);x(this,I,O,q,fe-1,-fe)}var H=0,J=1,ee=0;for(this[O]=I&255;++H>0)-ee&255;return O+q},o.prototype.writeIntBE=function(I,O,q,te){if(I=+I,O=O>>>0,!te){var fe=Math.pow(2,8*q-1);x(this,I,O,q,fe-1,-fe)}var H=q-1,J=1,ee=0;for(this[O+H]=I&255;--H>=0&&(J*=256);)I<0&&ee===0&&this[O+H+1]!==0&&(ee=1),this[O+H]=(I/J>>0)-ee&255;return O+q},o.prototype.writeInt8=function(I,O,q){return I=+I,O=O>>>0,q||x(this,I,O,1,127,-128),I<0&&(I=255+I+1),this[O]=I&255,O+1},o.prototype.writeInt16LE=function(I,O,q){return I=+I,O=O>>>0,q||x(this,I,O,2,32767,-32768),this[O]=I&255,this[O+1]=I>>>8,O+2},o.prototype.writeInt16BE=function(I,O,q){return I=+I,O=O>>>0,q||x(this,I,O,2,32767,-32768),this[O]=I>>>8,this[O+1]=I&255,O+2},o.prototype.writeInt32LE=function(I,O,q){return I=+I,O=O>>>0,q||x(this,I,O,4,2147483647,-2147483648),this[O]=I&255,this[O+1]=I>>>8,this[O+2]=I>>>16,this[O+3]=I>>>24,O+4},o.prototype.writeInt32BE=function(I,O,q){return I=+I,O=O>>>0,q||x(this,I,O,4,2147483647,-2147483648),I<0&&(I=4294967295+I+1),this[O]=I>>>24,this[O+1]=I>>>16,this[O+2]=I>>>8,this[O+3]=I&255,O+4};function S(K,I,O,q,te,fe){if(O+q>K.length)throw new RangeError("Index out of range");if(O<0)throw new RangeError("Index out of range")}function R(K,I,O,q,te){return I=+I,O=O>>>0,te||S(K,I,O,4),r.write(K,I,O,q,23,4),O+4}o.prototype.writeFloatLE=function(I,O,q){return R(this,I,O,!0,q)},o.prototype.writeFloatBE=function(I,O,q){return R(this,I,O,!1,q)};function L(K,I,O,q,te){return I=+I,O=O>>>0,te||S(K,I,O,8),r.write(K,I,O,q,52,8),O+8}o.prototype.writeDoubleLE=function(I,O,q){return L(this,I,O,!0,q)},o.prototype.writeDoubleBE=function(I,O,q){return L(this,I,O,!1,q)},o.prototype.copy=function(I,O,q,te){if(!o.isBuffer(I))throw new TypeError("argument should be a Buffer");if(q||(q=0),!te&&te!==0&&(te=this.length),O>=I.length&&(O=I.length),O||(O=0),te>0&&te=this.length)throw new RangeError("Index out of range");if(te<0)throw new RangeError("sourceEnd out of bounds");te>this.length&&(te=this.length),I.length-O>>0,q=q===void 0?this.length:q>>>0,I||(I=0);var H;if(typeof I=="number")for(H=O;H55295&&O<57344){if(!te){if(O>56319){(I-=3)>-1&&fe.push(239,191,189);continue}else if(H+1===q){(I-=3)>-1&&fe.push(239,191,189);continue}te=O;continue}if(O<56320){(I-=3)>-1&&fe.push(239,191,189),te=O;continue}O=(te-55296<<10|O-56320)+65536}else te&&(I-=3)>-1&&fe.push(239,191,189);if(te=null,O<128){if((I-=1)<0)break;fe.push(O)}else if(O<2048){if((I-=2)<0)break;fe.push(O>>6|192,O&63|128)}else if(O<65536){if((I-=3)<0)break;fe.push(O>>12|224,O>>6&63|128,O&63|128)}else if(O<1114112){if((I-=4)<0)break;fe.push(O>>18|240,O>>12&63|128,O>>6&63|128,O&63|128)}else throw new Error("Invalid code point")}return fe}function V(K){for(var I=[],O=0;O>8,te=O%256,fe.push(te),fe.push(q);return fe}function ie(K){return e.toByteArray(G(K))}function U(K,I,O,q){for(var te=0;te=I.length||te>=K.length);++te)I[te+O]=K[te];return te}function W(K,I){return K instanceof I||K!=null&&K.constructor!=null&&K.constructor.name!=null&&K.constructor.name===I.name}function ce(K){return K!==K}var oe=function(){for(var K="0123456789abcdef",I=new Array(256),O=0;O<16;++O)for(var q=O*16,te=0;te<16;++te)I[q+te]=K[O]+K[te];return I}()})(sc);var aa={},To={},fte=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(To,"__esModule",{value:!0});To.getLength=To.decode=To.encode=void 0;var dte=fte(Yu);function JB(t){if(Array.isArray(t)){for(var e=[],r=0;rt.length)throw new Error("invalid rlp: total length is larger than the data");if(a=t.slice(r,u),a.length===0)throw new Error("invalid rlp, List has a invalid length");for(;a.length;)i=e3(a),s.push(i.data),a=i.remainder;return{data:s,remainder:t.slice(u)}}}function YB(t){return t.slice(0,2)==="0x"}function yte(t){return typeof t!="string"?t:YB(t)?t.slice(2):t}function t3(t){if(t<0)throw new Error("Invalid integer as argument, must be unsigned!");var e=t.toString(16);return e.length%2?"0"+e:e}function mte(t){return t.length%2?"0"+t:t}function bte(t){var e=t3(t);return Buffer.from(e,"hex")}function c8(t){if(!Buffer.isBuffer(t)){if(typeof t=="string")return YB(t)?Buffer.from(mte(yte(t)),"hex"):Buffer.from(t);if(typeof t=="number"||typeof t=="bigint")return t?bte(t):Buffer.from([]);if(t==null)return Buffer.from([]);if(t instanceof Uint8Array)return Buffer.from(t);if(dte.default.isBN(t))return Buffer.from(t.toArray());throw new Error("invalid type")}return t}var vte=ye&&ye.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,a)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),gte=ye&&ye.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),xte=ye&&ye.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&vte(e,t,r);return gte(e,t),e},wte=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(aa,"__esModule",{value:!0});aa.rlp=aa.BN=void 0;var _te=wte(Yu);aa.BN=_te.default;var Ete=xte(To);aa.rlp=Ete;(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.KECCAK256_RLP=t.KECCAK256_RLP_S=t.KECCAK256_RLP_ARRAY=t.KECCAK256_RLP_ARRAY_S=t.KECCAK256_NULL=t.KECCAK256_NULL_S=t.TWO_POW256=t.MAX_INTEGER=t.MAX_UINT64=void 0;var e=sc,r=aa;t.MAX_UINT64=new r.BN("ffffffffffffffff",16),t.MAX_INTEGER=new r.BN("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",16),t.TWO_POW256=new r.BN("10000000000000000000000000000000000000000000000000000000000000000",16),t.KECCAK256_NULL_S="c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",t.KECCAK256_NULL=e.Buffer.from(t.KECCAK256_NULL_S,"hex"),t.KECCAK256_RLP_ARRAY_S="1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",t.KECCAK256_RLP_ARRAY=e.Buffer.from(t.KECCAK256_RLP_ARRAY_S,"hex"),t.KECCAK256_RLP_S="56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",t.KECCAK256_RLP=e.Buffer.from(t.KECCAK256_RLP_S,"hex")})(o8);var u8={},w2={exports:{}},_2={},Nu={},XB={},QB=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),n=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(n)!=="[object Symbol]")return!1;var a=42;e[r]=a;for(r in e)return!1;if(typeof Object.keys=="function"&&Object.keys(e).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(e).length!==0)return!1;var i=Object.getOwnPropertySymbols(e);if(i.length!==1||i[0]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(e,r);if(s.value!==a||s.enumerable!==!0)return!1}return!0},Ate=QB,Xy=function(){return Ate()&&!!Symbol.toStringTag},E2,p9;function Ste(){if(p9)return E2;p9=1;var t=typeof Symbol<"u"&&Symbol,e=QB;return E2=function(){return typeof t!="function"||typeof Symbol!="function"||typeof t("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:e()},E2}var A2,y9;function Cte(){if(y9)return A2;y9=1;var t={foo:{}},e=Object;return A2=function(){return{__proto__:t}.foo===t.foo&&!({__proto__:null}instanceof e)},A2}var S2,m9;function Tte(){if(m9)return S2;m9=1;var t="Function.prototype.bind called on incompatible ",e=Array.prototype.slice,r=Object.prototype.toString,n="[object Function]";return S2=function(i){var s=this;if(typeof s!="function"||r.call(s)!==n)throw new TypeError(t+s);for(var o=e.call(arguments,1),u,y=function(){if(this instanceof u){var k=s.apply(this,o.concat(e.call(arguments)));return Object(k)===k?k:this}else return s.apply(i,o.concat(e.call(arguments)))},b=Math.max(0,s.length-o.length),_=[],A=0;A"u"||!b?t:b(Uint8Array),T={"%AggregateError%":typeof AggregateError>"u"?t:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?t:ArrayBuffer,"%ArrayIteratorPrototype%":u&&b?b([][Symbol.iterator]()):t,"%AsyncFromSyncIteratorPrototype%":t,"%AsyncFunction%":_,"%AsyncGenerator%":_,"%AsyncGeneratorFunction%":_,"%AsyncIteratorPrototype%":_,"%Atomics%":typeof Atomics>"u"?t:Atomics,"%BigInt%":typeof BigInt>"u"?t:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?t:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?t:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?t:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":typeof Float32Array>"u"?t:Float32Array,"%Float64Array%":typeof Float64Array>"u"?t:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?t:FinalizationRegistry,"%Function%":r,"%GeneratorFunction%":_,"%Int8Array%":typeof Int8Array>"u"?t:Int8Array,"%Int16Array%":typeof Int16Array>"u"?t:Int16Array,"%Int32Array%":typeof Int32Array>"u"?t:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":u&&b?b(b([][Symbol.iterator]())):t,"%JSON%":typeof JSON=="object"?JSON:t,"%Map%":typeof Map>"u"?t:Map,"%MapIteratorPrototype%":typeof Map>"u"||!u||!b?t:b(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?t:Promise,"%Proxy%":typeof Proxy>"u"?t:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":typeof Reflect>"u"?t:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?t:Set,"%SetIteratorPrototype%":typeof Set>"u"||!u||!b?t:b(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?t:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":u&&b?b(""[Symbol.iterator]()):t,"%Symbol%":u?Symbol:t,"%SyntaxError%":e,"%ThrowTypeError%":o,"%TypedArray%":A,"%TypeError%":n,"%Uint8Array%":typeof Uint8Array>"u"?t:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?t:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?t:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?t:Uint32Array,"%URIError%":URIError,"%WeakMap%":typeof WeakMap>"u"?t:WeakMap,"%WeakRef%":typeof WeakRef>"u"?t:WeakRef,"%WeakSet%":typeof WeakSet>"u"?t:WeakSet};if(b)try{null.error}catch(d){var k=b(b(d));T["%Error.prototype%"]=k}var C=function d(h){var c;if(h==="%AsyncFunction%")c=a("async function () {}");else if(h==="%GeneratorFunction%")c=a("function* () {}");else if(h==="%AsyncGeneratorFunction%")c=a("async function* () {}");else if(h==="%AsyncGenerator%"){var p=d("%AsyncGeneratorFunction%");p&&(c=p.prototype)}else if(h==="%AsyncIteratorPrototype%"){var v=d("%AsyncGenerator%");v&&b&&(c=b(v.prototype))}return T[h]=c,c},P={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},B=f8(),D=Mte(),N=B.call(Function.call,Array.prototype.concat),$=B.call(Function.apply,Array.prototype.splice),j=B.call(Function.call,String.prototype.replace),Z=B.call(Function.call,String.prototype.slice),X=B.call(Function.call,RegExp.prototype.exec),Y=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,re=/\\(\\)?/g,M=function(h){var c=Z(h,0,1),p=Z(h,-1);if(c==="%"&&p!=="%")throw new e("invalid intrinsic syntax, expected closing `%`");if(p==="%"&&c!=="%")throw new e("invalid intrinsic syntax, expected opening `%`");var v=[];return j(h,Y,function(E,g,f,m){v[v.length]=f?j(m,re,"$1"):g||E}),v},l=function(h,c){var p=h,v;if(D(P,p)&&(v=P[p],p="%"+v[0]+"%"),D(T,p)){var E=T[p];if(E===_&&(E=C(p)),typeof E>"u"&&!c)throw new n("intrinsic "+h+" exists, but is not available. Please file an issue!");return{alias:v,name:p,value:E}}throw new e("intrinsic "+h+" does not exist!")};return M2=function(h,c){if(typeof h!="string"||h.length===0)throw new n("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof c!="boolean")throw new n('"allowMissing" argument must be a boolean');if(X(/^%?[^%]*%?$/,h)===null)throw new e("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var p=M(h),v=p.length>0?p[0]:"",E=l("%"+v+"%",c),g=E.name,f=E.value,m=!1,w=E.alias;w&&(v=w[0],$(p,N([0,1],w)));for(var x=1,S=!0;x=p.length){var G=i(f,R);S=!!G,S&&"get"in G&&!("originalValue"in G.get)?f=G.get:f=f[R]}else S=D(f,R),f=f[R];S&&!m&&(T[g]=f)}}return f},M2}var B2={exports:{}},x9;function d8(){return x9||(x9=1,function(t){var e=f8(),r=Qy(),n=r("%Function.prototype.apply%"),a=r("%Function.prototype.call%"),i=r("%Reflect.apply%",!0)||e.call(a,n),s=r("%Object.getOwnPropertyDescriptor%",!0),o=r("%Object.defineProperty%",!0),u=r("%Math.max%");if(o)try{o({},"a",{value:1})}catch{o=null}t.exports=function(_){var A=i(e,a,arguments);if(s&&o){var T=s(A,"length");T.configurable&&o(A,"length",{value:1+u(0,_.length-(arguments.length-1))})}return A};var y=function(){return i(e,n,arguments)};o?o(t.exports,"apply",{value:y}):t.exports.apply=y}(B2)),B2.exports}var ek=Qy(),tk=d8(),Bte=tk(ek("String.prototype.indexOf")),h8=function(e,r){var n=ek(e,!!r);return typeof n=="function"&&Bte(e,".prototype.")>-1?tk(n):n},kte=Xy(),Fte=h8,r3=Fte("Object.prototype.toString"),em=function(e){return kte&&e&&typeof e=="object"&&Symbol.toStringTag in e?!1:r3(e)==="[object Arguments]"},rk=function(e){return em(e)?!0:e!==null&&typeof e=="object"&&typeof e.length=="number"&&e.length>=0&&r3(e)!=="[object Array]"&&r3(e.callee)==="[object Function]"},Pte=function(){return em(arguments)}();em.isLegacyArguments=rk;var Dte=Pte?em:rk,Ite=Object.prototype.toString,Ote=Function.prototype.toString,Rte=/^\s*(?:function)?\*/,nk=Xy(),k2=Object.getPrototypeOf,Nte=function(){if(!nk)return!1;try{return Function("return function*() {}")()}catch{}},F2,$te=function(e){if(typeof e!="function")return!1;if(Rte.test(Ote.call(e)))return!0;if(!nk){var r=Ite.call(e);return r==="[object GeneratorFunction]"}if(!k2)return!1;if(typeof F2>"u"){var n=Nte();F2=n?k2(n):!1}return k2(e)===F2},ak=Function.prototype.toString,iu=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,n3,Sp;if(typeof iu=="function"&&typeof Object.defineProperty=="function")try{n3=Object.defineProperty({},"length",{get:function(){throw Sp}}),Sp={},iu(function(){throw 42},null,n3)}catch(t){t!==Sp&&(iu=null)}else iu=null;var Lte=/^\s*class\b/,a3=function(e){try{var r=ak.call(e);return Lte.test(r)}catch{return!1}},P2=function(e){try{return a3(e)?!1:(ak.call(e),!0)}catch{return!1}},Cp=Object.prototype.toString,jte="[object Object]",zte="[object Function]",Ute="[object GeneratorFunction]",Hte="[object HTMLAllCollection]",Gte="[object HTML document.all class]",qte="[object HTMLCollection]",Vte=typeof Symbol=="function"&&!!Symbol.toStringTag,Wte=!(0 in[,]),i3=function(){return!1};if(typeof document=="object"){var Kte=document.all;Cp.call(Kte)===Cp.call(document.all)&&(i3=function(e){if((Wte||!e)&&(typeof e>"u"||typeof e=="object"))try{var r=Cp.call(e);return(r===Hte||r===Gte||r===qte||r===jte)&&e("")==null}catch{}return!1})}var Zte=iu?function(e){if(i3(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;try{iu(e,null,n3)}catch(r){if(r!==Sp)return!1}return!a3(e)&&P2(e)}:function(e){if(i3(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;if(Vte)return P2(e);if(a3(e))return!1;var r=Cp.call(e);return r!==zte&&r!==Ute&&!/^\[object HTML/.test(r)?!1:P2(e)},Jte=Zte,Yte=Object.prototype.toString,ik=Object.prototype.hasOwnProperty,Xte=function(e,r,n){for(var a=0,i=e.length;a=3&&(a=n),Yte.call(e)==="[object Array]"?Xte(e,r,a):typeof e=="string"?Qte(e,r,a):ere(e,r,a)},sk=tre,rre={},D2=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],nre=typeof globalThis>"u"?rre:globalThis,ok=function(){for(var e=[],r=0;r"u"?ire:globalThis,fk=sre(),cre=p8("Array.prototype.indexOf",!0)||function(e,r){for(var n=0;n-1}return Mp?fre(e):!1},dre={},pk=sk,hre=ok,yk=h8,O2=lk,pre=yk("Object.prototype.toString"),mk=Xy(),w9=typeof globalThis>"u"?dre:globalThis,yre=hre(),mre=yk("String.prototype.slice"),bk={},R2=Object.getPrototypeOf;mk&&O2&&R2&&pk(yre,function(t){if(typeof w9[t]=="function"){var e=new w9[t];if(Symbol.toStringTag in e){var r=R2(e),n=O2(r,Symbol.toStringTag);if(!n){var a=R2(r);n=O2(a,Symbol.toStringTag)}bk[t]=n.get}}});var bre=function(e){var r=!1;return pk(bk,function(n,a){if(!r)try{var i=n.call(e);i===a&&(r=i)}catch{}}),r},vre=hk,gre=function(e){return vre(e)?!mk||!(Symbol.toStringTag in e)?mre(pre(e),8,-1):bre(e):!1};(function(t){var e=Dte,r=$te,n=gre,a=hk;function i(q){return q.call.bind(q)}var s=typeof BigInt<"u",o=typeof Symbol<"u",u=i(Object.prototype.toString),y=i(Number.prototype.valueOf),b=i(String.prototype.valueOf),_=i(Boolean.prototype.valueOf);if(s)var A=i(BigInt.prototype.valueOf);if(o)var T=i(Symbol.prototype.valueOf);function k(q,te){if(typeof q!="object")return!1;try{return te(q),!0}catch{return!1}}t.isArgumentsObject=e,t.isGeneratorFunction=r,t.isTypedArray=a;function C(q){return typeof Promise<"u"&&q instanceof Promise||q!==null&&typeof q=="object"&&typeof q.then=="function"&&typeof q.catch=="function"}t.isPromise=C;function P(q){return typeof ArrayBuffer<"u"&&ArrayBuffer.isView?ArrayBuffer.isView(q):a(q)||S(q)}t.isArrayBufferView=P;function B(q){return n(q)==="Uint8Array"}t.isUint8Array=B;function D(q){return n(q)==="Uint8ClampedArray"}t.isUint8ClampedArray=D;function N(q){return n(q)==="Uint16Array"}t.isUint16Array=N;function $(q){return n(q)==="Uint32Array"}t.isUint32Array=$;function j(q){return n(q)==="Int8Array"}t.isInt8Array=j;function Z(q){return n(q)==="Int16Array"}t.isInt16Array=Z;function X(q){return n(q)==="Int32Array"}t.isInt32Array=X;function Y(q){return n(q)==="Float32Array"}t.isFloat32Array=Y;function re(q){return n(q)==="Float64Array"}t.isFloat64Array=re;function M(q){return n(q)==="BigInt64Array"}t.isBigInt64Array=M;function l(q){return n(q)==="BigUint64Array"}t.isBigUint64Array=l;function d(q){return u(q)==="[object Map]"}d.working=typeof Map<"u"&&d(new Map);function h(q){return typeof Map>"u"?!1:d.working?d(q):q instanceof Map}t.isMap=h;function c(q){return u(q)==="[object Set]"}c.working=typeof Set<"u"&&c(new Set);function p(q){return typeof Set>"u"?!1:c.working?c(q):q instanceof Set}t.isSet=p;function v(q){return u(q)==="[object WeakMap]"}v.working=typeof WeakMap<"u"&&v(new WeakMap);function E(q){return typeof WeakMap>"u"?!1:v.working?v(q):q instanceof WeakMap}t.isWeakMap=E;function g(q){return u(q)==="[object WeakSet]"}g.working=typeof WeakSet<"u"&&g(new WeakSet);function f(q){return g(q)}t.isWeakSet=f;function m(q){return u(q)==="[object ArrayBuffer]"}m.working=typeof ArrayBuffer<"u"&&m(new ArrayBuffer);function w(q){return typeof ArrayBuffer>"u"?!1:m.working?m(q):q instanceof ArrayBuffer}t.isArrayBuffer=w;function x(q){return u(q)==="[object DataView]"}x.working=typeof ArrayBuffer<"u"&&typeof DataView<"u"&&x(new DataView(new ArrayBuffer(1),0,1));function S(q){return typeof DataView>"u"?!1:x.working?x(q):q instanceof DataView}t.isDataView=S;var R=typeof SharedArrayBuffer<"u"?SharedArrayBuffer:void 0;function L(q){return u(q)==="[object SharedArrayBuffer]"}function F(q){return typeof R>"u"?!1:(typeof L.working>"u"&&(L.working=L(new R)),L.working?L(q):q instanceof R)}t.isSharedArrayBuffer=F;function G(q){return u(q)==="[object AsyncFunction]"}t.isAsyncFunction=G;function z(q){return u(q)==="[object Map Iterator]"}t.isMapIterator=z;function V(q){return u(q)==="[object Set Iterator]"}t.isSetIterator=V;function se(q){return u(q)==="[object Generator]"}t.isGeneratorObject=se;function ie(q){return u(q)==="[object WebAssembly.Module]"}t.isWebAssemblyCompiledModule=ie;function U(q){return k(q,y)}t.isNumberObject=U;function W(q){return k(q,b)}t.isStringObject=W;function ce(q){return k(q,_)}t.isBooleanObject=ce;function oe(q){return s&&k(q,A)}t.isBigIntObject=oe;function K(q){return o&&k(q,T)}t.isSymbolObject=K;function I(q){return U(q)||W(q)||ce(q)||oe(q)||K(q)}t.isBoxedPrimitive=I;function O(q){return typeof Uint8Array<"u"&&(w(q)||F(q))}t.isAnyArrayBuffer=O,["isProxy","isExternal","isModuleNamespaceObject"].forEach(function(q){Object.defineProperty(t,q,{enumerable:!1,value:function(){throw new Error(q+" is not supported in userland")}})})})(XB);var xre=function(e){return e&&typeof e=="object"&&typeof e.copy=="function"&&typeof e.fill=="function"&&typeof e.readUInt8=="function"};(function(t){var e={},r=Object.getOwnPropertyDescriptors||function(R){for(var L=Object.keys(R),F={},G=0;G=G)return se;switch(se){case"%s":return String(F[L++]);case"%d":return Number(F[L++]);case"%j":try{return JSON.stringify(F[L++])}catch{return"[Circular]"}default:return se}}),V=F[L];L"u")return function(){return t.deprecate(S,R).apply(this,arguments)};var L=!1;function F(){if(!L){if(process.throwDeprecation)throw new Error(R);process.traceDeprecation?console.trace(R):console.error(R),L=!0}return S.apply(this,arguments)}return F};var a={},i=/^$/;if(e.NODE_DEBUG){var s=e.NODE_DEBUG;s=s.replace(/[|\\{}()[\]^$+?.]/g,"\\$&").replace(/\*/g,".*").replace(/,/g,"$|^").toUpperCase(),i=new RegExp("^"+s+"$","i")}t.debuglog=function(S){if(S=S.toUpperCase(),!a[S])if(i.test(S)){var R=process.pid;a[S]=function(){var L=t.format.apply(t,arguments);console.error("%s %d: %s",S,R,L)}}else a[S]=function(){};return a[S]};function o(S,R){var L={seen:[],stylize:y};return arguments.length>=3&&(L.depth=arguments[2]),arguments.length>=4&&(L.colors=arguments[3]),D(R)?L.showHidden=R:R&&t._extend(L,R),Y(L.showHidden)&&(L.showHidden=!1),Y(L.depth)&&(L.depth=2),Y(L.colors)&&(L.colors=!1),Y(L.customInspect)&&(L.customInspect=!0),L.colors&&(L.stylize=u),_(L,S,L.depth)}t.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"};function u(S,R){var L=o.styles[R];return L?"\x1B["+o.colors[L][0]+"m"+S+"\x1B["+o.colors[L][1]+"m":S}function y(S,R){return S}function b(S){var R={};return S.forEach(function(L,F){R[L]=!0}),R}function _(S,R,L){if(S.customInspect&&R&&h(R.inspect)&&R.inspect!==t.inspect&&!(R.constructor&&R.constructor.prototype===R)){var F=R.inspect(L,S);return Z(F)||(F=_(S,F,L)),F}var G=A(S,R);if(G)return G;var z=Object.keys(R),V=b(z);if(S.showHidden&&(z=Object.getOwnPropertyNames(R)),d(R)&&(z.indexOf("message")>=0||z.indexOf("description")>=0))return T(R);if(z.length===0){if(h(R)){var se=R.name?": "+R.name:"";return S.stylize("[Function"+se+"]","special")}if(re(R))return S.stylize(RegExp.prototype.toString.call(R),"regexp");if(l(R))return S.stylize(Date.prototype.toString.call(R),"date");if(d(R))return T(R)}var ie="",U=!1,W=["{","}"];if(B(R)&&(U=!0,W=["[","]"]),h(R)){var ce=R.name?": "+R.name:"";ie=" [Function"+ce+"]"}if(re(R)&&(ie=" "+RegExp.prototype.toString.call(R)),l(R)&&(ie=" "+Date.prototype.toUTCString.call(R)),d(R)&&(ie=" "+T(R)),z.length===0&&(!U||R.length==0))return W[0]+ie+W[1];if(L<0)return re(R)?S.stylize(RegExp.prototype.toString.call(R),"regexp"):S.stylize("[Object]","special");S.seen.push(R);var oe;return U?oe=k(S,R,L,V,z):oe=z.map(function(K){return C(S,R,L,V,K,U)}),S.seen.pop(),P(oe,ie,W)}function A(S,R){if(Y(R))return S.stylize("undefined","undefined");if(Z(R)){var L="'"+JSON.stringify(R).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return S.stylize(L,"string")}if(j(R))return S.stylize(""+R,"number");if(D(R))return S.stylize(""+R,"boolean");if(N(R))return S.stylize("null","null")}function T(S){return"["+Error.prototype.toString.call(S)+"]"}function k(S,R,L,F,G){for(var z=[],V=0,se=R.length;V-1&&(z?se=se.split(` +`).map(function(U){return" "+U}).join(` +`).slice(2):se=` +`+se.split(` +`).map(function(U){return" "+U}).join(` +`))):se=S.stylize("[Circular]","special")),Y(V)){if(z&&G.match(/^\d+$/))return se;V=JSON.stringify(""+G),V.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(V=V.slice(1,-1),V=S.stylize(V,"name")):(V=V.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),V=S.stylize(V,"string"))}return V+": "+se}function P(S,R,L){var F=S.reduce(function(G,z){return z.indexOf(` +`)>=0,G+z.replace(/\u001b\[\d\d?m/g,"").length+1},0);return F>60?L[0]+(R===""?"":R+` + `)+" "+S.join(`, + `)+" "+L[1]:L[0]+R+" "+S.join(", ")+" "+L[1]}t.types=XB;function B(S){return Array.isArray(S)}t.isArray=B;function D(S){return typeof S=="boolean"}t.isBoolean=D;function N(S){return S===null}t.isNull=N;function $(S){return S==null}t.isNullOrUndefined=$;function j(S){return typeof S=="number"}t.isNumber=j;function Z(S){return typeof S=="string"}t.isString=Z;function X(S){return typeof S=="symbol"}t.isSymbol=X;function Y(S){return S===void 0}t.isUndefined=Y;function re(S){return M(S)&&p(S)==="[object RegExp]"}t.isRegExp=re,t.types.isRegExp=re;function M(S){return typeof S=="object"&&S!==null}t.isObject=M;function l(S){return M(S)&&p(S)==="[object Date]"}t.isDate=l,t.types.isDate=l;function d(S){return M(S)&&(p(S)==="[object Error]"||S instanceof Error)}t.isError=d,t.types.isNativeError=d;function h(S){return typeof S=="function"}t.isFunction=h;function c(S){return S===null||typeof S=="boolean"||typeof S=="number"||typeof S=="string"||typeof S=="symbol"||typeof S>"u"}t.isPrimitive=c,t.isBuffer=xre;function p(S){return Object.prototype.toString.call(S)}function v(S){return S<10?"0"+S.toString(10):S.toString(10)}var E=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function g(){var S=new Date,R=[v(S.getHours()),v(S.getMinutes()),v(S.getSeconds())].join(":");return[S.getDate(),E[S.getMonth()],R].join(" ")}t.log=function(){console.log("%s - %s",g(),t.format.apply(t,arguments))},t.inherits=Tr,t._extend=function(S,R){if(!R||!M(R))return S;for(var L=Object.keys(R),F=L.length;F--;)S[L[F]]=R[L[F]];return S};function f(S,R){return Object.prototype.hasOwnProperty.call(S,R)}var m=typeof Symbol<"u"?Symbol("util.promisify.custom"):void 0;t.promisify=function(R){if(typeof R!="function")throw new TypeError('The "original" argument must be of type Function');if(m&&R[m]){var L=R[m];if(typeof L!="function")throw new TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(L,m,{value:L,enumerable:!1,writable:!1,configurable:!0}),L}function L(){for(var F,G,z=new Promise(function(ie,U){F=ie,G=U}),V=[],se=0;se2?"one of ".concat(P," ").concat(C.slice(0,B-1).join(", "),", or ")+C[B-1]:B===2?"one of ".concat(P," ").concat(C[0]," or ").concat(C[1]):"of ".concat(P," ").concat(C[0])}else return"of ".concat(P," ").concat(String(C))}function A(C,P,B){return C.substr(!B||B<0?0:+B,P.length)===P}function T(C,P,B){return(B===void 0||B>C.length)&&(B=C.length),C.substring(B-P.length,B)===P}function k(C,P,B){return typeof B!="number"&&(B=0),B+P.length>C.length?!1:C.indexOf(P,B)!==-1}return b("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),b("ERR_INVALID_ARG_TYPE",function(C,P,B){u===void 0&&(u=S0()),u(typeof C=="string","'name' must be a string");var D;typeof P=="string"&&A(P,"not ")?(D="must not be",P=P.replace(/^not /,"")):D="must be";var N;if(T(C," argument"))N="The ".concat(C," ").concat(D," ").concat(_(P,"type"));else{var $=k(C,".")?"property":"argument";N='The "'.concat(C,'" ').concat($," ").concat(D," ").concat(_(P,"type"))}return N+=". Received type ".concat(t(B)),N},TypeError),b("ERR_INVALID_ARG_VALUE",function(C,P){var B=arguments.length>2&&arguments[2]!==void 0?arguments[2]:"is invalid";y===void 0&&(y=Nu);var D=y.inspect(P);return D.length>128&&(D="".concat(D.slice(0,128),"...")),"The argument '".concat(C,"' ").concat(B,". Received ").concat(D)},TypeError),b("ERR_INVALID_RETURN_VALUE",function(C,P,B){var D;return B&&B.constructor&&B.constructor.name?D="instance of ".concat(B.constructor.name):D="type ".concat(t(B)),"Expected ".concat(C,' to be returned from the "').concat(P,'"')+" function but got ".concat(D,".")},TypeError),b("ERR_MISSING_ARGS",function(){for(var C=arguments.length,P=new Array(C),B=0;B0,"At least one arg needs to be specified");var D="The ",N=P.length;switch(P=P.map(function($){return'"'.concat($,'"')}),N){case 1:D+="".concat(P[0]," argument");break;case 2:D+="".concat(P[0]," and ").concat(P[1]," arguments");break;default:D+=P.slice(0,N-1).join(", "),D+=", and ".concat(P[N-1]," arguments");break}return"".concat(D," must be specified")},TypeError),_2.codes=o,_2}var N2,E9;function wre(){if(E9)return N2;E9=1;function t(p){for(var v=1;v"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch{return!1}}function b(p,v,E){return y()?b=Reflect.construct:b=function(f,m,w){var x=[null];x.push.apply(x,m);var S=Function.bind.apply(f,x),R=new S;return w&&A(R,w.prototype),R},b.apply(null,arguments)}function _(p){return Function.toString.call(p).indexOf("[native code]")!==-1}function A(p,v){return A=Object.setPrototypeOf||function(g,f){return g.__proto__=f,g},A(p,v)}function T(p){return T=Object.setPrototypeOf?Object.getPrototypeOf:function(E){return E.__proto__||Object.getPrototypeOf(E)},T(p)}function k(p){return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?k=function(E){return typeof E}:k=function(E){return E&&typeof Symbol=="function"&&E.constructor===Symbol&&E!==Symbol.prototype?"symbol":typeof E},k(p)}var C=Nu,P=C.inspect,B=vk(),D=B.codes.ERR_INVALID_ARG_TYPE;function N(p,v,E){return(E===void 0||E>p.length)&&(E=p.length),p.substring(E-v.length,E)===v}function $(p,v){if(v=Math.floor(v),p.length==0||v==0)return"";var E=p.length*v;for(v=Math.floor(Math.log(v)/Math.log(2));v;)p+=p,v--;return p+=p.substring(0,E-p.length),p}var j="",Z="",X="",Y="",re={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"},M=10;function l(p){var v=Object.keys(p),E=Object.create(Object.getPrototypeOf(p));return v.forEach(function(g){E[g]=p[g]}),Object.defineProperty(E,"message",{value:p.message}),E}function d(p){return P(p,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}function h(p,v,E){var g="",f="",m=0,w="",x=!1,S=d(p),R=S.split(` +`),L=d(v).split(` +`),F=0,G="";if(E==="strictEqual"&&k(p)==="object"&&k(v)==="object"&&p!==null&&v!==null&&(E="strictEqualObject"),R.length===1&&L.length===1&&R[0]!==L[0]){var z=R[0].length+L[0].length;if(z<=M){if((k(p)!=="object"||p===null)&&(k(v)!=="object"||v===null)&&(p!==0||v!==0))return"".concat(re[E],` + +`)+"".concat(R[0]," !== ").concat(L[0],` +`)}else if(E!=="strictEqualObject"){var V=process.stderr&&process.stderr.isTTY?process.stderr.columns:80;if(z2&&(G=` + `.concat($(" ",F),"^"),F=0)}}}for(var se=R[R.length-1],ie=L[L.length-1];se===ie&&(F++<2?w=` + `.concat(se).concat(w):g=se,R.pop(),L.pop(),!(R.length===0||L.length===0));)se=R[R.length-1],ie=L[L.length-1];var U=Math.max(R.length,L.length);if(U===0){var W=S.split(` +`);if(W.length>30)for(W[26]="".concat(j,"...").concat(Y);W.length>27;)W.pop();return"".concat(re.notIdentical,` + +`).concat(W.join(` +`),` +`)}F>3&&(w=` +`.concat(j,"...").concat(Y).concat(w),x=!0),g!==""&&(w=` + `.concat(g).concat(w),g="");var ce=0,oe=re[E]+` +`.concat(Z,"+ actual").concat(Y," ").concat(X,"- expected").concat(Y),K=" ".concat(j,"...").concat(Y," Lines skipped");for(F=0;F1&&F>2&&(I>4?(f+=` +`.concat(j,"...").concat(Y),x=!0):I>3&&(f+=` + `.concat(L[F-2]),ce++),f+=` + `.concat(L[F-1]),ce++),m=F,g+=` +`.concat(X,"-").concat(Y," ").concat(L[F]),ce++;else if(L.length1&&F>2&&(I>4?(f+=` +`.concat(j,"...").concat(Y),x=!0):I>3&&(f+=` + `.concat(R[F-2]),ce++),f+=` + `.concat(R[F-1]),ce++),m=F,f+=` +`.concat(Z,"+").concat(Y," ").concat(R[F]),ce++;else{var O=L[F],q=R[F],te=q!==O&&(!N(q,",")||q.slice(0,-1)!==O);te&&N(O,",")&&O.slice(0,-1)===q&&(te=!1,q+=","),te?(I>1&&F>2&&(I>4?(f+=` +`.concat(j,"...").concat(Y),x=!0):I>3&&(f+=` + `.concat(R[F-2]),ce++),f+=` + `.concat(R[F-1]),ce++),m=F,f+=` +`.concat(Z,"+").concat(Y," ").concat(q),g+=` +`.concat(X,"-").concat(Y," ").concat(O),ce+=2):(f+=g,g="",(I===1||F===0)&&(f+=` + `.concat(q),ce++))}if(ce>20&&F30)for(F[26]="".concat(j,"...").concat(Y);F.length>27;)F.pop();F.length===1?g=i(this,T(v).call(this,"".concat(L," ").concat(F[0]))):g=i(this,T(v).call(this,"".concat(L,` + +`).concat(F.join(` +`),` +`)))}else{var G=d(x),z="",V=re[m];m==="notDeepEqual"||m==="notEqual"?(G="".concat(re[m],` + +`).concat(G),G.length>1024&&(G="".concat(G.slice(0,1021),"..."))):(z="".concat(d(S)),G.length>512&&(G="".concat(G.slice(0,509),"...")),z.length>512&&(z="".concat(z.slice(0,509),"...")),m==="deepEqual"||m==="equal"?G="".concat(V,` + +`).concat(G,` + +should equal + +`):z=" ".concat(m," ").concat(z)),g=i(this,T(v).call(this,"".concat(G).concat(z)))}return Error.stackTraceLimit=R,g.generatedMessage=!f,Object.defineProperty(s(g),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),g.code="ERR_ASSERTION",g.actual=x,g.expected=S,g.operator=m,Error.captureStackTrace&&Error.captureStackTrace(s(g),w),g.stack,g.name="AssertionError",i(g)}return a(v,[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:P.custom,value:function(g,f){return P(this,t({},f,{customInspect:!1,depth:0}))}}]),v}(u(Error));return N2=c,N2}var $2,A9;function _re(){if(A9)return $2;A9=1;function t(r,n){if(r==null)throw new TypeError("Cannot convert first argument to object");for(var a=Object(r),i=1;i=0&&t.call(r.callee)==="[object Function]"),a},L2}var j2,C9;function Ere(){if(C9)return j2;C9=1;var t;if(!Object.keys){var e=Object.prototype.hasOwnProperty,r=Object.prototype.toString,n=gk(),a=Object.prototype.propertyIsEnumerable,i=!a.call({toString:null},"toString"),s=a.call(function(){},"prototype"),o=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],u=function(A){var T=A.constructor;return T&&T.prototype===A},y={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},b=function(){if(typeof window>"u")return!1;for(var A in window)try{if(!y["$"+A]&&e.call(window,A)&&window[A]!==null&&typeof window[A]=="object")try{u(window[A])}catch{return!0}}catch{return!0}return!1}(),_=function(A){if(typeof window>"u"||!b)return u(A);try{return u(A)}catch{return!1}};t=function(T){var k=T!==null&&typeof T=="object",C=r.call(T)==="[object Function]",P=n(T),B=k&&r.call(T)==="[object String]",D=[];if(!k&&!C&&!P)throw new TypeError("Object.keys called on a non-object");var N=s&&C;if(B&&T.length>0&&!e.call(T,0))for(var $=0;$0)for(var j=0;j2?arguments[2]:{},T=t(_);e&&(T=n.call(T,Object.getOwnPropertySymbols(_)));for(var k=0;k10)return!0;for(var J=0;J57)return!0}return H.length===10&&H>=Math.pow(2,32)}function v(H){return Object.keys(H).filter(p).concat(y(H).filter(Object.prototype.propertyIsEnumerable.bind(H)))}/*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + */function E(H,J){if(H===J)return 0;for(var ee=H.length,he=J.length,de=0,ue=Math.min(ee,he);de1?S-1:0),L=1;L1?S-1:0),L=1;L1?S-1:0),L=1;L1?S-1:0),L=1;L",Lre="MIT",jre={url:"https://github.com/indutny/elliptic/issues"},zre="https://github.com/indutny/elliptic",Ure={brfs:"^2.0.2",coveralls:"^3.1.0",eslint:"^7.6.0",grunt:"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1",istanbul:"^0.4.5",mocha:"^8.0.1"},Hre={"bn.js":"^4.11.9",brorand:"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1",inherits:"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"},Gre={name:kre,version:Fre,description:Pre,main:Dre,files:Ire,scripts:Ore,repository:Rre,keywords:Nre,author:$re,license:Lre,bugs:jre,homepage:zre,devDependencies:Ure,dependencies:Hre};var Ea={},m8={exports:{}};m8.exports;(function(t){(function(e,r){function n(l,d){if(!l)throw new Error(d||"Assertion failed")}function a(l,d){l.super_=d;var h=function(){};h.prototype=d.prototype,l.prototype=new h,l.prototype.constructor=l}function i(l,d,h){if(i.isBN(l))return l;this.negative=0,this.words=null,this.length=0,this.red=null,l!==null&&((d==="le"||d==="be")&&(h=d,d=10),this._init(l||0,d||10,h||"be"))}typeof e=="object"?e.exports=i:r.BN=i,i.BN=i,i.wordSize=26;var s;try{typeof window<"u"&&typeof window.Buffer<"u"?s=window.Buffer:s=Ju.Buffer}catch{}i.isBN=function(d){return d instanceof i?!0:d!==null&&typeof d=="object"&&d.constructor.wordSize===i.wordSize&&Array.isArray(d.words)},i.max=function(d,h){return d.cmp(h)>0?d:h},i.min=function(d,h){return d.cmp(h)<0?d:h},i.prototype._init=function(d,h,c){if(typeof d=="number")return this._initNumber(d,h,c);if(typeof d=="object")return this._initArray(d,h,c);h==="hex"&&(h=16),n(h===(h|0)&&h>=2&&h<=36),d=d.toString().replace(/\s+/g,"");var p=0;d[0]==="-"&&(p++,this.negative=1),p=0;p-=3)E=d[p]|d[p-1]<<8|d[p-2]<<16,this.words[v]|=E<>>26-g&67108863,g+=24,g>=26&&(g-=26,v++);else if(c==="le")for(p=0,v=0;p>>26-g&67108863,g+=24,g>=26&&(g-=26,v++);return this.strip()};function o(l,d){var h=l.charCodeAt(d);return h>=65&&h<=70?h-55:h>=97&&h<=102?h-87:h-48&15}function u(l,d,h){var c=o(l,h);return h-1>=d&&(c|=o(l,h-1)<<4),c}i.prototype._parseHex=function(d,h,c){this.length=Math.ceil((d.length-h)/6),this.words=new Array(this.length);for(var p=0;p=h;p-=2)g=u(d,h,p)<=18?(v-=18,E+=1,this.words[E]|=g>>>26):v+=8;else{var f=d.length-h;for(p=f%2===0?h+1:h;p=18?(v-=18,E+=1,this.words[E]|=g>>>26):v+=8}this.strip()};function y(l,d,h,c){for(var p=0,v=Math.min(l.length,h),E=d;E=49?p+=g-49+10:g>=17?p+=g-17+10:p+=g}return p}i.prototype._parseBase=function(d,h,c){this.words=[0],this.length=1;for(var p=0,v=1;v<=67108863;v*=h)p++;p--,v=v/h|0;for(var E=d.length-c,g=E%p,f=Math.min(E,E-g)+c,m=0,w=c;w1&&this.words[this.length-1]===0;)this.length--;return this._normSign()},i.prototype._normSign=function(){return this.length===1&&this.words[0]===0&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var b=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],_=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],A=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];i.prototype.toString=function(d,h){d=d||10,h=h|0||1;var c;if(d===16||d==="hex"){c="";for(var p=0,v=0,E=0;E>>24-p&16777215,v!==0||E!==this.length-1?c=b[6-f.length]+f+c:c=f+c,p+=2,p>=26&&(p-=26,E--)}for(v!==0&&(c=v.toString(16)+c);c.length%h!==0;)c="0"+c;return this.negative!==0&&(c="-"+c),c}if(d===(d|0)&&d>=2&&d<=36){var m=_[d],w=A[d];c="";var x=this.clone();for(x.negative=0;!x.isZero();){var S=x.modn(w).toString(d);x=x.idivn(w),x.isZero()?c=S+c:c=b[m-S.length]+S+c}for(this.isZero()&&(c="0"+c);c.length%h!==0;)c="0"+c;return this.negative!==0&&(c="-"+c),c}n(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var d=this.words[0];return this.length===2?d+=this.words[1]*67108864:this.length===3&&this.words[2]===1?d+=4503599627370496+this.words[1]*67108864:this.length>2&&n(!1,"Number can only safely store up to 53 bits"),this.negative!==0?-d:d},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(d,h){return n(typeof s<"u"),this.toArrayLike(s,d,h)},i.prototype.toArray=function(d,h){return this.toArrayLike(Array,d,h)},i.prototype.toArrayLike=function(d,h,c){var p=this.byteLength(),v=c||Math.max(1,p);n(p<=v,"byte array longer than desired length"),n(v>0,"Requested array length <= 0"),this.strip();var E=h==="le",g=new d(v),f,m,w=this.clone();if(E){for(m=0;!w.isZero();m++)f=w.andln(255),w.iushrn(8),g[m]=f;for(;m=4096&&(c+=13,h>>>=13),h>=64&&(c+=7,h>>>=7),h>=8&&(c+=4,h>>>=4),h>=2&&(c+=2,h>>>=2),c+h},i.prototype._zeroBits=function(d){if(d===0)return 26;var h=d,c=0;return h&8191||(c+=13,h>>>=13),h&127||(c+=7,h>>>=7),h&15||(c+=4,h>>>=4),h&3||(c+=2,h>>>=2),h&1||c++,c},i.prototype.bitLength=function(){var d=this.words[this.length-1],h=this._countBits(d);return(this.length-1)*26+h};function T(l){for(var d=new Array(l.bitLength()),h=0;h>>p}return d}i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var d=0,h=0;hd.length?this.clone().ior(d):d.clone().ior(this)},i.prototype.uor=function(d){return this.length>d.length?this.clone().iuor(d):d.clone().iuor(this)},i.prototype.iuand=function(d){var h;this.length>d.length?h=d:h=this;for(var c=0;cd.length?this.clone().iand(d):d.clone().iand(this)},i.prototype.uand=function(d){return this.length>d.length?this.clone().iuand(d):d.clone().iuand(this)},i.prototype.iuxor=function(d){var h,c;this.length>d.length?(h=this,c=d):(h=d,c=this);for(var p=0;pd.length?this.clone().ixor(d):d.clone().ixor(this)},i.prototype.uxor=function(d){return this.length>d.length?this.clone().iuxor(d):d.clone().iuxor(this)},i.prototype.inotn=function(d){n(typeof d=="number"&&d>=0);var h=Math.ceil(d/26)|0,c=d%26;this._expand(h),c>0&&h--;for(var p=0;p0&&(this.words[p]=~this.words[p]&67108863>>26-c),this.strip()},i.prototype.notn=function(d){return this.clone().inotn(d)},i.prototype.setn=function(d,h){n(typeof d=="number"&&d>=0);var c=d/26|0,p=d%26;return this._expand(c+1),h?this.words[c]=this.words[c]|1<d.length?(c=this,p=d):(c=d,p=this);for(var v=0,E=0;E>>26;for(;v!==0&&E>>26;if(this.length=c.length,v!==0)this.words[this.length]=v,this.length++;else if(c!==this)for(;Ed.length?this.clone().iadd(d):d.clone().iadd(this)},i.prototype.isub=function(d){if(d.negative!==0){d.negative=0;var h=this.iadd(d);return d.negative=1,h._normSign()}else if(this.negative!==0)return this.negative=0,this.iadd(d),this.negative=1,this._normSign();var c=this.cmp(d);if(c===0)return this.negative=0,this.length=1,this.words[0]=0,this;var p,v;c>0?(p=this,v=d):(p=d,v=this);for(var E=0,g=0;g>26,this.words[g]=h&67108863;for(;E!==0&&g>26,this.words[g]=h&67108863;if(E===0&&g>>26,x=f&67108863,S=Math.min(m,d.length-1),R=Math.max(0,m-l.length+1);R<=S;R++){var L=m-R|0;p=l.words[L]|0,v=d.words[R]|0,E=p*v+x,w+=E/67108864|0,x=E&67108863}h.words[m]=x|0,f=w|0}return f!==0?h.words[m]=f|0:h.length--,h.strip()}var C=function(d,h,c){var p=d.words,v=h.words,E=c.words,g=0,f,m,w,x=p[0]|0,S=x&8191,R=x>>>13,L=p[1]|0,F=L&8191,G=L>>>13,z=p[2]|0,V=z&8191,se=z>>>13,ie=p[3]|0,U=ie&8191,W=ie>>>13,ce=p[4]|0,oe=ce&8191,K=ce>>>13,I=p[5]|0,O=I&8191,q=I>>>13,te=p[6]|0,fe=te&8191,H=te>>>13,J=p[7]|0,ee=J&8191,he=J>>>13,de=p[8]|0,ue=de&8191,Se=de>>>13,Ae=p[9]|0,we=Ae&8191,Ze=Ae>>>13,Ne=v[0]|0,ke=Ne&8191,Qe=Ne>>>13,Ue=v[1]|0,Pe=Ue&8191,ct=Ue>>>13,We=v[2]|0,$e=We&8191,ht=We>>>13,ne=v[3]|0,ae=ne&8191,xe=ne>>>13,ge=v[4]|0,ve=ge&8191,Ve=ge>>>13,Ce=v[5]|0,_e=Ce&8191,Le=Ce>>>13,Be=v[6]|0,Me=Be&8191,Ke=Be>>>13,De=v[7]|0,Te=De&8191,et=De>>>13,He=v[8]|0,Ie=He&8191,dt=He>>>13,qe=v[9]|0,Fe=qe&8191,nt=qe>>>13;c.negative=d.negative^h.negative,c.length=19,f=Math.imul(S,ke),m=Math.imul(S,Qe),m=m+Math.imul(R,ke)|0,w=Math.imul(R,Qe);var at=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(at>>>26)|0,at&=67108863,f=Math.imul(F,ke),m=Math.imul(F,Qe),m=m+Math.imul(G,ke)|0,w=Math.imul(G,Qe),f=f+Math.imul(S,Pe)|0,m=m+Math.imul(S,ct)|0,m=m+Math.imul(R,Pe)|0,w=w+Math.imul(R,ct)|0;var it=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(it>>>26)|0,it&=67108863,f=Math.imul(V,ke),m=Math.imul(V,Qe),m=m+Math.imul(se,ke)|0,w=Math.imul(se,Qe),f=f+Math.imul(F,Pe)|0,m=m+Math.imul(F,ct)|0,m=m+Math.imul(G,Pe)|0,w=w+Math.imul(G,ct)|0,f=f+Math.imul(S,$e)|0,m=m+Math.imul(S,ht)|0,m=m+Math.imul(R,$e)|0,w=w+Math.imul(R,ht)|0;var $t=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+($t>>>26)|0,$t&=67108863,f=Math.imul(U,ke),m=Math.imul(U,Qe),m=m+Math.imul(W,ke)|0,w=Math.imul(W,Qe),f=f+Math.imul(V,Pe)|0,m=m+Math.imul(V,ct)|0,m=m+Math.imul(se,Pe)|0,w=w+Math.imul(se,ct)|0,f=f+Math.imul(F,$e)|0,m=m+Math.imul(F,ht)|0,m=m+Math.imul(G,$e)|0,w=w+Math.imul(G,ht)|0,f=f+Math.imul(S,ae)|0,m=m+Math.imul(S,xe)|0,m=m+Math.imul(R,ae)|0,w=w+Math.imul(R,xe)|0;var Pt=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,f=Math.imul(oe,ke),m=Math.imul(oe,Qe),m=m+Math.imul(K,ke)|0,w=Math.imul(K,Qe),f=f+Math.imul(U,Pe)|0,m=m+Math.imul(U,ct)|0,m=m+Math.imul(W,Pe)|0,w=w+Math.imul(W,ct)|0,f=f+Math.imul(V,$e)|0,m=m+Math.imul(V,ht)|0,m=m+Math.imul(se,$e)|0,w=w+Math.imul(se,ht)|0,f=f+Math.imul(F,ae)|0,m=m+Math.imul(F,xe)|0,m=m+Math.imul(G,ae)|0,w=w+Math.imul(G,xe)|0,f=f+Math.imul(S,ve)|0,m=m+Math.imul(S,Ve)|0,m=m+Math.imul(R,ve)|0,w=w+Math.imul(R,Ve)|0;var tt=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(tt>>>26)|0,tt&=67108863,f=Math.imul(O,ke),m=Math.imul(O,Qe),m=m+Math.imul(q,ke)|0,w=Math.imul(q,Qe),f=f+Math.imul(oe,Pe)|0,m=m+Math.imul(oe,ct)|0,m=m+Math.imul(K,Pe)|0,w=w+Math.imul(K,ct)|0,f=f+Math.imul(U,$e)|0,m=m+Math.imul(U,ht)|0,m=m+Math.imul(W,$e)|0,w=w+Math.imul(W,ht)|0,f=f+Math.imul(V,ae)|0,m=m+Math.imul(V,xe)|0,m=m+Math.imul(se,ae)|0,w=w+Math.imul(se,xe)|0,f=f+Math.imul(F,ve)|0,m=m+Math.imul(F,Ve)|0,m=m+Math.imul(G,ve)|0,w=w+Math.imul(G,Ve)|0,f=f+Math.imul(S,_e)|0,m=m+Math.imul(S,Le)|0,m=m+Math.imul(R,_e)|0,w=w+Math.imul(R,Le)|0;var yt=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(yt>>>26)|0,yt&=67108863,f=Math.imul(fe,ke),m=Math.imul(fe,Qe),m=m+Math.imul(H,ke)|0,w=Math.imul(H,Qe),f=f+Math.imul(O,Pe)|0,m=m+Math.imul(O,ct)|0,m=m+Math.imul(q,Pe)|0,w=w+Math.imul(q,ct)|0,f=f+Math.imul(oe,$e)|0,m=m+Math.imul(oe,ht)|0,m=m+Math.imul(K,$e)|0,w=w+Math.imul(K,ht)|0,f=f+Math.imul(U,ae)|0,m=m+Math.imul(U,xe)|0,m=m+Math.imul(W,ae)|0,w=w+Math.imul(W,xe)|0,f=f+Math.imul(V,ve)|0,m=m+Math.imul(V,Ve)|0,m=m+Math.imul(se,ve)|0,w=w+Math.imul(se,Ve)|0,f=f+Math.imul(F,_e)|0,m=m+Math.imul(F,Le)|0,m=m+Math.imul(G,_e)|0,w=w+Math.imul(G,Le)|0,f=f+Math.imul(S,Me)|0,m=m+Math.imul(S,Ke)|0,m=m+Math.imul(R,Me)|0,w=w+Math.imul(R,Ke)|0;var st=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(st>>>26)|0,st&=67108863,f=Math.imul(ee,ke),m=Math.imul(ee,Qe),m=m+Math.imul(he,ke)|0,w=Math.imul(he,Qe),f=f+Math.imul(fe,Pe)|0,m=m+Math.imul(fe,ct)|0,m=m+Math.imul(H,Pe)|0,w=w+Math.imul(H,ct)|0,f=f+Math.imul(O,$e)|0,m=m+Math.imul(O,ht)|0,m=m+Math.imul(q,$e)|0,w=w+Math.imul(q,ht)|0,f=f+Math.imul(oe,ae)|0,m=m+Math.imul(oe,xe)|0,m=m+Math.imul(K,ae)|0,w=w+Math.imul(K,xe)|0,f=f+Math.imul(U,ve)|0,m=m+Math.imul(U,Ve)|0,m=m+Math.imul(W,ve)|0,w=w+Math.imul(W,Ve)|0,f=f+Math.imul(V,_e)|0,m=m+Math.imul(V,Le)|0,m=m+Math.imul(se,_e)|0,w=w+Math.imul(se,Le)|0,f=f+Math.imul(F,Me)|0,m=m+Math.imul(F,Ke)|0,m=m+Math.imul(G,Me)|0,w=w+Math.imul(G,Ke)|0,f=f+Math.imul(S,Te)|0,m=m+Math.imul(S,et)|0,m=m+Math.imul(R,Te)|0,w=w+Math.imul(R,et)|0;var Bt=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,f=Math.imul(ue,ke),m=Math.imul(ue,Qe),m=m+Math.imul(Se,ke)|0,w=Math.imul(Se,Qe),f=f+Math.imul(ee,Pe)|0,m=m+Math.imul(ee,ct)|0,m=m+Math.imul(he,Pe)|0,w=w+Math.imul(he,ct)|0,f=f+Math.imul(fe,$e)|0,m=m+Math.imul(fe,ht)|0,m=m+Math.imul(H,$e)|0,w=w+Math.imul(H,ht)|0,f=f+Math.imul(O,ae)|0,m=m+Math.imul(O,xe)|0,m=m+Math.imul(q,ae)|0,w=w+Math.imul(q,xe)|0,f=f+Math.imul(oe,ve)|0,m=m+Math.imul(oe,Ve)|0,m=m+Math.imul(K,ve)|0,w=w+Math.imul(K,Ve)|0,f=f+Math.imul(U,_e)|0,m=m+Math.imul(U,Le)|0,m=m+Math.imul(W,_e)|0,w=w+Math.imul(W,Le)|0,f=f+Math.imul(V,Me)|0,m=m+Math.imul(V,Ke)|0,m=m+Math.imul(se,Me)|0,w=w+Math.imul(se,Ke)|0,f=f+Math.imul(F,Te)|0,m=m+Math.imul(F,et)|0,m=m+Math.imul(G,Te)|0,w=w+Math.imul(G,et)|0,f=f+Math.imul(S,Ie)|0,m=m+Math.imul(S,dt)|0,m=m+Math.imul(R,Ie)|0,w=w+Math.imul(R,dt)|0;var ur=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(ur>>>26)|0,ur&=67108863,f=Math.imul(we,ke),m=Math.imul(we,Qe),m=m+Math.imul(Ze,ke)|0,w=Math.imul(Ze,Qe),f=f+Math.imul(ue,Pe)|0,m=m+Math.imul(ue,ct)|0,m=m+Math.imul(Se,Pe)|0,w=w+Math.imul(Se,ct)|0,f=f+Math.imul(ee,$e)|0,m=m+Math.imul(ee,ht)|0,m=m+Math.imul(he,$e)|0,w=w+Math.imul(he,ht)|0,f=f+Math.imul(fe,ae)|0,m=m+Math.imul(fe,xe)|0,m=m+Math.imul(H,ae)|0,w=w+Math.imul(H,xe)|0,f=f+Math.imul(O,ve)|0,m=m+Math.imul(O,Ve)|0,m=m+Math.imul(q,ve)|0,w=w+Math.imul(q,Ve)|0,f=f+Math.imul(oe,_e)|0,m=m+Math.imul(oe,Le)|0,m=m+Math.imul(K,_e)|0,w=w+Math.imul(K,Le)|0,f=f+Math.imul(U,Me)|0,m=m+Math.imul(U,Ke)|0,m=m+Math.imul(W,Me)|0,w=w+Math.imul(W,Ke)|0,f=f+Math.imul(V,Te)|0,m=m+Math.imul(V,et)|0,m=m+Math.imul(se,Te)|0,w=w+Math.imul(se,et)|0,f=f+Math.imul(F,Ie)|0,m=m+Math.imul(F,dt)|0,m=m+Math.imul(G,Ie)|0,w=w+Math.imul(G,dt)|0,f=f+Math.imul(S,Fe)|0,m=m+Math.imul(S,nt)|0,m=m+Math.imul(R,Fe)|0,w=w+Math.imul(R,nt)|0;var br=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(br>>>26)|0,br&=67108863,f=Math.imul(we,Pe),m=Math.imul(we,ct),m=m+Math.imul(Ze,Pe)|0,w=Math.imul(Ze,ct),f=f+Math.imul(ue,$e)|0,m=m+Math.imul(ue,ht)|0,m=m+Math.imul(Se,$e)|0,w=w+Math.imul(Se,ht)|0,f=f+Math.imul(ee,ae)|0,m=m+Math.imul(ee,xe)|0,m=m+Math.imul(he,ae)|0,w=w+Math.imul(he,xe)|0,f=f+Math.imul(fe,ve)|0,m=m+Math.imul(fe,Ve)|0,m=m+Math.imul(H,ve)|0,w=w+Math.imul(H,Ve)|0,f=f+Math.imul(O,_e)|0,m=m+Math.imul(O,Le)|0,m=m+Math.imul(q,_e)|0,w=w+Math.imul(q,Le)|0,f=f+Math.imul(oe,Me)|0,m=m+Math.imul(oe,Ke)|0,m=m+Math.imul(K,Me)|0,w=w+Math.imul(K,Ke)|0,f=f+Math.imul(U,Te)|0,m=m+Math.imul(U,et)|0,m=m+Math.imul(W,Te)|0,w=w+Math.imul(W,et)|0,f=f+Math.imul(V,Ie)|0,m=m+Math.imul(V,dt)|0,m=m+Math.imul(se,Ie)|0,w=w+Math.imul(se,dt)|0,f=f+Math.imul(F,Fe)|0,m=m+Math.imul(F,nt)|0,m=m+Math.imul(G,Fe)|0,w=w+Math.imul(G,nt)|0;var Dr=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(Dr>>>26)|0,Dr&=67108863,f=Math.imul(we,$e),m=Math.imul(we,ht),m=m+Math.imul(Ze,$e)|0,w=Math.imul(Ze,ht),f=f+Math.imul(ue,ae)|0,m=m+Math.imul(ue,xe)|0,m=m+Math.imul(Se,ae)|0,w=w+Math.imul(Se,xe)|0,f=f+Math.imul(ee,ve)|0,m=m+Math.imul(ee,Ve)|0,m=m+Math.imul(he,ve)|0,w=w+Math.imul(he,Ve)|0,f=f+Math.imul(fe,_e)|0,m=m+Math.imul(fe,Le)|0,m=m+Math.imul(H,_e)|0,w=w+Math.imul(H,Le)|0,f=f+Math.imul(O,Me)|0,m=m+Math.imul(O,Ke)|0,m=m+Math.imul(q,Me)|0,w=w+Math.imul(q,Ke)|0,f=f+Math.imul(oe,Te)|0,m=m+Math.imul(oe,et)|0,m=m+Math.imul(K,Te)|0,w=w+Math.imul(K,et)|0,f=f+Math.imul(U,Ie)|0,m=m+Math.imul(U,dt)|0,m=m+Math.imul(W,Ie)|0,w=w+Math.imul(W,dt)|0,f=f+Math.imul(V,Fe)|0,m=m+Math.imul(V,nt)|0,m=m+Math.imul(se,Fe)|0,w=w+Math.imul(se,nt)|0;var Ir=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(Ir>>>26)|0,Ir&=67108863,f=Math.imul(we,ae),m=Math.imul(we,xe),m=m+Math.imul(Ze,ae)|0,w=Math.imul(Ze,xe),f=f+Math.imul(ue,ve)|0,m=m+Math.imul(ue,Ve)|0,m=m+Math.imul(Se,ve)|0,w=w+Math.imul(Se,Ve)|0,f=f+Math.imul(ee,_e)|0,m=m+Math.imul(ee,Le)|0,m=m+Math.imul(he,_e)|0,w=w+Math.imul(he,Le)|0,f=f+Math.imul(fe,Me)|0,m=m+Math.imul(fe,Ke)|0,m=m+Math.imul(H,Me)|0,w=w+Math.imul(H,Ke)|0,f=f+Math.imul(O,Te)|0,m=m+Math.imul(O,et)|0,m=m+Math.imul(q,Te)|0,w=w+Math.imul(q,et)|0,f=f+Math.imul(oe,Ie)|0,m=m+Math.imul(oe,dt)|0,m=m+Math.imul(K,Ie)|0,w=w+Math.imul(K,dt)|0,f=f+Math.imul(U,Fe)|0,m=m+Math.imul(U,nt)|0,m=m+Math.imul(W,Fe)|0,w=w+Math.imul(W,nt)|0;var Or=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(Or>>>26)|0,Or&=67108863,f=Math.imul(we,ve),m=Math.imul(we,Ve),m=m+Math.imul(Ze,ve)|0,w=Math.imul(Ze,Ve),f=f+Math.imul(ue,_e)|0,m=m+Math.imul(ue,Le)|0,m=m+Math.imul(Se,_e)|0,w=w+Math.imul(Se,Le)|0,f=f+Math.imul(ee,Me)|0,m=m+Math.imul(ee,Ke)|0,m=m+Math.imul(he,Me)|0,w=w+Math.imul(he,Ke)|0,f=f+Math.imul(fe,Te)|0,m=m+Math.imul(fe,et)|0,m=m+Math.imul(H,Te)|0,w=w+Math.imul(H,et)|0,f=f+Math.imul(O,Ie)|0,m=m+Math.imul(O,dt)|0,m=m+Math.imul(q,Ie)|0,w=w+Math.imul(q,dt)|0,f=f+Math.imul(oe,Fe)|0,m=m+Math.imul(oe,nt)|0,m=m+Math.imul(K,Fe)|0,w=w+Math.imul(K,nt)|0;var Rr=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(Rr>>>26)|0,Rr&=67108863,f=Math.imul(we,_e),m=Math.imul(we,Le),m=m+Math.imul(Ze,_e)|0,w=Math.imul(Ze,Le),f=f+Math.imul(ue,Me)|0,m=m+Math.imul(ue,Ke)|0,m=m+Math.imul(Se,Me)|0,w=w+Math.imul(Se,Ke)|0,f=f+Math.imul(ee,Te)|0,m=m+Math.imul(ee,et)|0,m=m+Math.imul(he,Te)|0,w=w+Math.imul(he,et)|0,f=f+Math.imul(fe,Ie)|0,m=m+Math.imul(fe,dt)|0,m=m+Math.imul(H,Ie)|0,w=w+Math.imul(H,dt)|0,f=f+Math.imul(O,Fe)|0,m=m+Math.imul(O,nt)|0,m=m+Math.imul(q,Fe)|0,w=w+Math.imul(q,nt)|0;var Nr=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(Nr>>>26)|0,Nr&=67108863,f=Math.imul(we,Me),m=Math.imul(we,Ke),m=m+Math.imul(Ze,Me)|0,w=Math.imul(Ze,Ke),f=f+Math.imul(ue,Te)|0,m=m+Math.imul(ue,et)|0,m=m+Math.imul(Se,Te)|0,w=w+Math.imul(Se,et)|0,f=f+Math.imul(ee,Ie)|0,m=m+Math.imul(ee,dt)|0,m=m+Math.imul(he,Ie)|0,w=w+Math.imul(he,dt)|0,f=f+Math.imul(fe,Fe)|0,m=m+Math.imul(fe,nt)|0,m=m+Math.imul(H,Fe)|0,w=w+Math.imul(H,nt)|0;var $r=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+($r>>>26)|0,$r&=67108863,f=Math.imul(we,Te),m=Math.imul(we,et),m=m+Math.imul(Ze,Te)|0,w=Math.imul(Ze,et),f=f+Math.imul(ue,Ie)|0,m=m+Math.imul(ue,dt)|0,m=m+Math.imul(Se,Ie)|0,w=w+Math.imul(Se,dt)|0,f=f+Math.imul(ee,Fe)|0,m=m+Math.imul(ee,nt)|0,m=m+Math.imul(he,Fe)|0,w=w+Math.imul(he,nt)|0;var Dn=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(Dn>>>26)|0,Dn&=67108863,f=Math.imul(we,Ie),m=Math.imul(we,dt),m=m+Math.imul(Ze,Ie)|0,w=Math.imul(Ze,dt),f=f+Math.imul(ue,Fe)|0,m=m+Math.imul(ue,nt)|0,m=m+Math.imul(Se,Fe)|0,w=w+Math.imul(Se,nt)|0;var In=(g+f|0)+((m&8191)<<13)|0;g=(w+(m>>>13)|0)+(In>>>26)|0,In&=67108863,f=Math.imul(we,Fe),m=Math.imul(we,nt),m=m+Math.imul(Ze,Fe)|0,w=Math.imul(Ze,nt);var Xo=(g+f|0)+((m&8191)<<13)|0;return g=(w+(m>>>13)|0)+(Xo>>>26)|0,Xo&=67108863,E[0]=at,E[1]=it,E[2]=$t,E[3]=Pt,E[4]=tt,E[5]=yt,E[6]=st,E[7]=Bt,E[8]=ur,E[9]=br,E[10]=Dr,E[11]=Ir,E[12]=Or,E[13]=Rr,E[14]=Nr,E[15]=$r,E[16]=Dn,E[17]=In,E[18]=Xo,g!==0&&(E[19]=g,c.length++),c};Math.imul||(C=k);function P(l,d,h){h.negative=d.negative^l.negative,h.length=l.length+d.length;for(var c=0,p=0,v=0;v>>26)|0,p+=E>>>26,E&=67108863}h.words[v]=g,c=E,E=p}return c!==0?h.words[v]=c:h.length--,h.strip()}function B(l,d,h){var c=new D;return c.mulp(l,d,h)}i.prototype.mulTo=function(d,h){var c,p=this.length+d.length;return this.length===10&&d.length===10?c=C(this,d,h):p<63?c=k(this,d,h):p<1024?c=P(this,d,h):c=B(this,d,h),c};function D(l,d){this.x=l,this.y=d}D.prototype.makeRBT=function(d){for(var h=new Array(d),c=i.prototype._countBits(d)-1,p=0;p>=1;return p},D.prototype.permute=function(d,h,c,p,v,E){for(var g=0;g>>1)v++;return 1<>>13,c[2*E+1]=v&8191,v=v>>>13;for(E=2*h;E>=26,h+=p/67108864|0,h+=v>>>26,this.words[c]=v&67108863}return h!==0&&(this.words[c]=h,this.length++),this},i.prototype.muln=function(d){return this.clone().imuln(d)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(d){var h=T(d);if(h.length===0)return new i(1);for(var c=this,p=0;p=0);var h=d%26,c=(d-h)/26,p=67108863>>>26-h<<26-h,v;if(h!==0){var E=0;for(v=0;v>>26-h}E&&(this.words[v]=E,this.length++)}if(c!==0){for(v=this.length-1;v>=0;v--)this.words[v+c]=this.words[v];for(v=0;v=0);var p;h?p=(h-h%26)/26:p=0;var v=d%26,E=Math.min((d-v)/26,this.length),g=67108863^67108863>>>v<E)for(this.length-=E,m=0;m=0&&(w!==0||m>=p);m--){var x=this.words[m]|0;this.words[m]=w<<26-v|x>>>v,w=x&g}return f&&w!==0&&(f.words[f.length++]=w),this.length===0&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(d,h,c){return n(this.negative===0),this.iushrn(d,h,c)},i.prototype.shln=function(d){return this.clone().ishln(d)},i.prototype.ushln=function(d){return this.clone().iushln(d)},i.prototype.shrn=function(d){return this.clone().ishrn(d)},i.prototype.ushrn=function(d){return this.clone().iushrn(d)},i.prototype.testn=function(d){n(typeof d=="number"&&d>=0);var h=d%26,c=(d-h)/26,p=1<=0);var h=d%26,c=(d-h)/26;if(n(this.negative===0,"imaskn works only with positive numbers"),this.length<=c)return this;if(h!==0&&c++,this.length=Math.min(c,this.length),h!==0){var p=67108863^67108863>>>h<=67108864;h++)this.words[h]-=67108864,h===this.length-1?this.words[h+1]=1:this.words[h+1]++;return this.length=Math.max(this.length,h+1),this},i.prototype.isubn=function(d){if(n(typeof d=="number"),n(d<67108864),d<0)return this.iaddn(-d);if(this.negative!==0)return this.negative=0,this.iaddn(d),this.negative=1,this;if(this.words[0]-=d,this.length===1&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var h=0;h>26)-(f/67108864|0),this.words[v+c]=E&67108863}for(;v>26,this.words[v+c]=E&67108863;if(g===0)return this.strip();for(n(g===-1),g=0,v=0;v>26,this.words[v]=E&67108863;return this.negative=1,this.strip()},i.prototype._wordDiv=function(d,h){var c=this.length-d.length,p=this.clone(),v=d,E=v.words[v.length-1]|0,g=this._countBits(E);c=26-g,c!==0&&(v=v.ushln(c),p.iushln(c),E=v.words[v.length-1]|0);var f=p.length-v.length,m;if(h!=="mod"){m=new i(null),m.length=f+1,m.words=new Array(m.length);for(var w=0;w=0;S--){var R=(p.words[v.length+S]|0)*67108864+(p.words[v.length+S-1]|0);for(R=Math.min(R/E|0,67108863),p._ishlnsubmul(v,R,S);p.negative!==0;)R--,p.negative=0,p._ishlnsubmul(v,1,S),p.isZero()||(p.negative^=1);m&&(m.words[S]=R)}return m&&m.strip(),p.strip(),h!=="div"&&c!==0&&p.iushrn(c),{div:m||null,mod:p}},i.prototype.divmod=function(d,h,c){if(n(!d.isZero()),this.isZero())return{div:new i(0),mod:new i(0)};var p,v,E;return this.negative!==0&&d.negative===0?(E=this.neg().divmod(d,h),h!=="mod"&&(p=E.div.neg()),h!=="div"&&(v=E.mod.neg(),c&&v.negative!==0&&v.iadd(d)),{div:p,mod:v}):this.negative===0&&d.negative!==0?(E=this.divmod(d.neg(),h),h!=="mod"&&(p=E.div.neg()),{div:p,mod:E.mod}):this.negative&d.negative?(E=this.neg().divmod(d.neg(),h),h!=="div"&&(v=E.mod.neg(),c&&v.negative!==0&&v.isub(d)),{div:E.div,mod:v}):d.length>this.length||this.cmp(d)<0?{div:new i(0),mod:this}:d.length===1?h==="div"?{div:this.divn(d.words[0]),mod:null}:h==="mod"?{div:null,mod:new i(this.modn(d.words[0]))}:{div:this.divn(d.words[0]),mod:new i(this.modn(d.words[0]))}:this._wordDiv(d,h)},i.prototype.div=function(d){return this.divmod(d,"div",!1).div},i.prototype.mod=function(d){return this.divmod(d,"mod",!1).mod},i.prototype.umod=function(d){return this.divmod(d,"mod",!0).mod},i.prototype.divRound=function(d){var h=this.divmod(d);if(h.mod.isZero())return h.div;var c=h.div.negative!==0?h.mod.isub(d):h.mod,p=d.ushrn(1),v=d.andln(1),E=c.cmp(p);return E<0||v===1&&E===0?h.div:h.div.negative!==0?h.div.isubn(1):h.div.iaddn(1)},i.prototype.modn=function(d){n(d<=67108863);for(var h=(1<<26)%d,c=0,p=this.length-1;p>=0;p--)c=(h*c+(this.words[p]|0))%d;return c},i.prototype.idivn=function(d){n(d<=67108863);for(var h=0,c=this.length-1;c>=0;c--){var p=(this.words[c]|0)+h*67108864;this.words[c]=p/d|0,h=p%d}return this.strip()},i.prototype.divn=function(d){return this.clone().idivn(d)},i.prototype.egcd=function(d){n(d.negative===0),n(!d.isZero());var h=this,c=d.clone();h.negative!==0?h=h.umod(d):h=h.clone();for(var p=new i(1),v=new i(0),E=new i(0),g=new i(1),f=0;h.isEven()&&c.isEven();)h.iushrn(1),c.iushrn(1),++f;for(var m=c.clone(),w=h.clone();!h.isZero();){for(var x=0,S=1;!(h.words[0]&S)&&x<26;++x,S<<=1);if(x>0)for(h.iushrn(x);x-- >0;)(p.isOdd()||v.isOdd())&&(p.iadd(m),v.isub(w)),p.iushrn(1),v.iushrn(1);for(var R=0,L=1;!(c.words[0]&L)&&R<26;++R,L<<=1);if(R>0)for(c.iushrn(R);R-- >0;)(E.isOdd()||g.isOdd())&&(E.iadd(m),g.isub(w)),E.iushrn(1),g.iushrn(1);h.cmp(c)>=0?(h.isub(c),p.isub(E),v.isub(g)):(c.isub(h),E.isub(p),g.isub(v))}return{a:E,b:g,gcd:c.iushln(f)}},i.prototype._invmp=function(d){n(d.negative===0),n(!d.isZero());var h=this,c=d.clone();h.negative!==0?h=h.umod(d):h=h.clone();for(var p=new i(1),v=new i(0),E=c.clone();h.cmpn(1)>0&&c.cmpn(1)>0;){for(var g=0,f=1;!(h.words[0]&f)&&g<26;++g,f<<=1);if(g>0)for(h.iushrn(g);g-- >0;)p.isOdd()&&p.iadd(E),p.iushrn(1);for(var m=0,w=1;!(c.words[0]&w)&&m<26;++m,w<<=1);if(m>0)for(c.iushrn(m);m-- >0;)v.isOdd()&&v.iadd(E),v.iushrn(1);h.cmp(c)>=0?(h.isub(c),p.isub(v)):(c.isub(h),v.isub(p))}var x;return h.cmpn(1)===0?x=p:x=v,x.cmpn(0)<0&&x.iadd(d),x},i.prototype.gcd=function(d){if(this.isZero())return d.abs();if(d.isZero())return this.abs();var h=this.clone(),c=d.clone();h.negative=0,c.negative=0;for(var p=0;h.isEven()&&c.isEven();p++)h.iushrn(1),c.iushrn(1);do{for(;h.isEven();)h.iushrn(1);for(;c.isEven();)c.iushrn(1);var v=h.cmp(c);if(v<0){var E=h;h=c,c=E}else if(v===0||c.cmpn(1)===0)break;h.isub(c)}while(!0);return c.iushln(p)},i.prototype.invm=function(d){return this.egcd(d).a.umod(d)},i.prototype.isEven=function(){return(this.words[0]&1)===0},i.prototype.isOdd=function(){return(this.words[0]&1)===1},i.prototype.andln=function(d){return this.words[0]&d},i.prototype.bincn=function(d){n(typeof d=="number");var h=d%26,c=(d-h)/26,p=1<>>26,g&=67108863,this.words[E]=g}return v!==0&&(this.words[E]=v,this.length++),this},i.prototype.isZero=function(){return this.length===1&&this.words[0]===0},i.prototype.cmpn=function(d){var h=d<0;if(this.negative!==0&&!h)return-1;if(this.negative===0&&h)return 1;this.strip();var c;if(this.length>1)c=1;else{h&&(d=-d),n(d<=67108863,"Number is too big");var p=this.words[0]|0;c=p===d?0:pd.length)return 1;if(this.length=0;c--){var p=this.words[c]|0,v=d.words[c]|0;if(p!==v){pv&&(h=1);break}}return h},i.prototype.gtn=function(d){return this.cmpn(d)===1},i.prototype.gt=function(d){return this.cmp(d)===1},i.prototype.gten=function(d){return this.cmpn(d)>=0},i.prototype.gte=function(d){return this.cmp(d)>=0},i.prototype.ltn=function(d){return this.cmpn(d)===-1},i.prototype.lt=function(d){return this.cmp(d)===-1},i.prototype.lten=function(d){return this.cmpn(d)<=0},i.prototype.lte=function(d){return this.cmp(d)<=0},i.prototype.eqn=function(d){return this.cmpn(d)===0},i.prototype.eq=function(d){return this.cmp(d)===0},i.red=function(d){return new re(d)},i.prototype.toRed=function(d){return n(!this.red,"Already a number in reduction context"),n(this.negative===0,"red works only with positives"),d.convertTo(this)._forceRed(d)},i.prototype.fromRed=function(){return n(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(d){return this.red=d,this},i.prototype.forceRed=function(d){return n(!this.red,"Already a number in reduction context"),this._forceRed(d)},i.prototype.redAdd=function(d){return n(this.red,"redAdd works only with red numbers"),this.red.add(this,d)},i.prototype.redIAdd=function(d){return n(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,d)},i.prototype.redSub=function(d){return n(this.red,"redSub works only with red numbers"),this.red.sub(this,d)},i.prototype.redISub=function(d){return n(this.red,"redISub works only with red numbers"),this.red.isub(this,d)},i.prototype.redShl=function(d){return n(this.red,"redShl works only with red numbers"),this.red.shl(this,d)},i.prototype.redMul=function(d){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.mul(this,d)},i.prototype.redIMul=function(d){return n(this.red,"redMul works only with red numbers"),this.red._verify2(this,d),this.red.imul(this,d)},i.prototype.redSqr=function(){return n(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return n(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return n(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return n(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return n(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(d){return n(this.red&&!d.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,d)};var N={k256:null,p224:null,p192:null,p25519:null};function $(l,d){this.name=l,this.p=new i(d,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}$.prototype._tmp=function(){var d=new i(null);return d.words=new Array(Math.ceil(this.n/13)),d},$.prototype.ireduce=function(d){var h=d,c;do this.split(h,this.tmp),h=this.imulK(h),h=h.iadd(this.tmp),c=h.bitLength();while(c>this.n);var p=c0?h.isub(this.p):h.strip!==void 0?h.strip():h._strip(),h},$.prototype.split=function(d,h){d.iushrn(this.n,0,h)},$.prototype.imulK=function(d){return d.imul(this.k)};function j(){$.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}a(j,$),j.prototype.split=function(d,h){for(var c=4194303,p=Math.min(d.length,9),v=0;v>>22,E=g}E>>>=22,d.words[v-10]=E,E===0&&d.length>10?d.length-=10:d.length-=9},j.prototype.imulK=function(d){d.words[d.length]=0,d.words[d.length+1]=0,d.length+=2;for(var h=0,c=0;c>>=26,d.words[c]=v,h=p}return h!==0&&(d.words[d.length++]=h),d},i._prime=function(d){if(N[d])return N[d];var h;if(d==="k256")h=new j;else if(d==="p224")h=new Z;else if(d==="p192")h=new X;else if(d==="p25519")h=new Y;else throw new Error("Unknown prime "+d);return N[d]=h,h};function re(l){if(typeof l=="string"){var d=i._prime(l);this.m=d.p,this.prime=d}else n(l.gtn(1),"modulus must be greater than 1"),this.m=l,this.prime=null}re.prototype._verify1=function(d){n(d.negative===0,"red works only with positives"),n(d.red,"red works only with red numbers")},re.prototype._verify2=function(d,h){n((d.negative|h.negative)===0,"red works only with positives"),n(d.red&&d.red===h.red,"red works only with red numbers")},re.prototype.imod=function(d){return this.prime?this.prime.ireduce(d)._forceRed(this):d.umod(this.m)._forceRed(this)},re.prototype.neg=function(d){return d.isZero()?d.clone():this.m.sub(d)._forceRed(this)},re.prototype.add=function(d,h){this._verify2(d,h);var c=d.add(h);return c.cmp(this.m)>=0&&c.isub(this.m),c._forceRed(this)},re.prototype.iadd=function(d,h){this._verify2(d,h);var c=d.iadd(h);return c.cmp(this.m)>=0&&c.isub(this.m),c},re.prototype.sub=function(d,h){this._verify2(d,h);var c=d.sub(h);return c.cmpn(0)<0&&c.iadd(this.m),c._forceRed(this)},re.prototype.isub=function(d,h){this._verify2(d,h);var c=d.isub(h);return c.cmpn(0)<0&&c.iadd(this.m),c},re.prototype.shl=function(d,h){return this._verify1(d),this.imod(d.ushln(h))},re.prototype.imul=function(d,h){return this._verify2(d,h),this.imod(d.imul(h))},re.prototype.mul=function(d,h){return this._verify2(d,h),this.imod(d.mul(h))},re.prototype.isqr=function(d){return this.imul(d,d.clone())},re.prototype.sqr=function(d){return this.mul(d,d)},re.prototype.sqrt=function(d){if(d.isZero())return d.clone();var h=this.m.andln(3);if(n(h%2===1),h===3){var c=this.m.add(new i(1)).iushrn(2);return this.pow(d,c)}for(var p=this.m.subn(1),v=0;!p.isZero()&&p.andln(1)===0;)v++,p.iushrn(1);n(!p.isZero());var E=new i(1).toRed(this),g=E.redNeg(),f=this.m.subn(1).iushrn(1),m=this.m.bitLength();for(m=new i(2*m*m).toRed(this);this.pow(m,f).cmp(g)!==0;)m.redIAdd(g);for(var w=this.pow(m,p),x=this.pow(d,p.addn(1).iushrn(1)),S=this.pow(d,p),R=v;S.cmp(E)!==0;){for(var L=S,F=0;L.cmp(E)!==0;F++)L=L.redSqr();n(F=0;v--){for(var w=h.words[v],x=m-1;x>=0;x--){var S=w>>x&1;if(E!==p[0]&&(E=this.sqr(E)),S===0&&g===0){f=0;continue}g<<=1,g|=S,f++,!(f!==c&&(v!==0||x!==0))&&(E=this.mul(E,p[g]),f=0,g=0)}m=26}return E},re.prototype.convertTo=function(d){var h=d.umod(this.m);return h===d?h.clone():h},re.prototype.convertFrom=function(d){var h=d.clone();return h.red=null,h},i.mont=function(d){return new M(d)};function M(l){re.call(this,l),this.shift=this.m.bitLength(),this.shift%26!==0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}a(M,re),M.prototype.convertTo=function(d){return this.imod(d.ushln(this.shift))},M.prototype.convertFrom=function(d){var h=this.imod(d.mul(this.rinv));return h.red=null,h},M.prototype.imul=function(d,h){if(d.isZero()||h.isZero())return d.words[0]=0,d.length=1,d;var c=d.imul(h),p=c.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),v=c.isub(p).iushrn(this.shift),E=v;return v.cmp(this.m)>=0?E=v.isub(this.m):v.cmpn(0)<0&&(E=v.iadd(this.m)),E._forceRed(this)},M.prototype.mul=function(d,h){if(d.isZero()||h.isZero())return new i(0)._forceRed(this);var c=d.mul(h),p=c.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),v=c.isub(p).iushrn(this.shift),E=v;return v.cmp(this.m)>=0?E=v.isub(this.m):v.cmpn(0)<0&&(E=v.iadd(this.m)),E._forceRed(this)},M.prototype.invm=function(d){var h=this.imod(d._invmp(this.m).mul(this.r2));return h._forceRed(this)}})(t,ye)})(m8);var Gs=m8.exports,b8={};(function(t){var e=t;function r(i,s){if(Array.isArray(i))return i.slice();if(!i)return[];var o=[];if(typeof i!="string"){for(var u=0;u>8,_=y&255;b?o.push(b,_):o.push(_)}return o}e.toArray=r;function n(i){return i.length===1?"0"+i:i}e.zero2=n;function a(i){for(var s="",o=0;o(k>>1)-1?B=(k>>1)-D:B=D,C.isubn(B)):B=0,T[P]=B,C.iushrn(1)}return T}e.getNAF=i;function s(b,_){var A=[[],[]];b=b.clone(),_=_.clone();for(var T=0,k=0,C;b.cmpn(-T)>0||_.cmpn(-k)>0;){var P=b.andln(3)+T&3,B=_.andln(3)+k&3;P===3&&(P=-1),B===3&&(B=-1);var D;P&1?(C=b.andln(7)+T&7,(C===3||C===5)&&B===2?D=-P:D=P):D=0,A[0].push(D);var N;B&1?(C=_.andln(7)+k&7,(C===3||C===5)&&P===2?N=-B:N=B):N=0,A[1].push(N),2*T===D+1&&(T=1-T),2*k===N+1&&(k=1-k),b.iushrn(1),_.iushrn(1)}return A}e.getJSF=s;function o(b,_,A){var T="_"+_;b.prototype[_]=function(){return this[T]!==void 0?this[T]:this[T]=A.call(this)}}e.cachedProperty=o;function u(b){return typeof b=="string"?e.toArray(b,"hex"):b}e.parseBytes=u;function y(b){return new r(b,"hex","le")}e.intFromLE=y})(Ea);var v8={exports:{}},Q2;v8.exports=function(e){return Q2||(Q2=new yo(null)),Q2.generate(e)};function yo(t){this.rand=t}v8.exports.Rand=yo;yo.prototype.generate=function(e){return this._rand(e)};yo.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var r=new Uint8Array(e),n=0;n0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var rm=Ko;Ko.prototype.point=function(){throw new Error("Not implemented")};Ko.prototype.validate=function(){throw new Error("Not implemented")};Ko.prototype._fixedNafMul=function(e,r){D1(e.precomputed);var n=e._getDoubles(),a=P1(r,1,this._bitLength),i=(1<=o;y--)u=(u<<1)+a[y];s.push(u)}for(var b=this.jpoint(null,null,null),_=this.jpoint(null,null,null),A=i;A>0;A--){for(o=0;o=0;u--){for(var y=0;u>=0&&s[u]===0;u--)y++;if(u>=0&&y++,o=o.dblp(y),u<0)break;var b=s[u];D1(b!==0),e.type==="affine"?b>0?o=o.mixedAdd(i[b-1>>1]):o=o.mixedAdd(i[-b-1>>1].neg()):b>0?o=o.add(i[b-1>>1]):o=o.add(i[-b-1>>1].neg())}return e.type==="affine"?o.toP():o};Ko.prototype._wnafMulAdd=function(e,r,n,a,i){var s=this._wnafT1,o=this._wnafT2,u=this._wnafT3,y=0,b,_,A;for(b=0;b=1;b-=2){var k=b-1,C=b;if(s[k]!==1||s[C]!==1){u[k]=P1(n[k],s[k],this._bitLength),u[C]=P1(n[C],s[C],this._bitLength),y=Math.max(u[k].length,y),y=Math.max(u[C].length,y);continue}var P=[r[k],null,null,r[C]];r[k].y.cmp(r[C].y)===0?(P[1]=r[k].add(r[C]),P[2]=r[k].toJ().mixedAdd(r[C].neg())):r[k].y.cmp(r[C].y.redNeg())===0?(P[1]=r[k].toJ().mixedAdd(r[C]),P[2]=r[k].add(r[C].neg())):(P[1]=r[k].toJ().mixedAdd(r[C]),P[2]=r[k].toJ().mixedAdd(r[C].neg()));var B=[-3,-1,-5,-7,0,7,5,1,3],D=qre(n[k],n[C]);for(y=Math.max(D[0].length,y),u[k]=new Array(y),u[C]=new Array(y),_=0;_=0;b--){for(var X=0;b>=0;){var Y=!0;for(_=0;_=0&&X++,j=j.dblp(X),b<0)break;for(_=0;_0?A=o[_][re-1>>1]:re<0&&(A=o[_][-re-1>>1].neg()),A.type==="affine"?j=j.mixedAdd(A):j=j.add(A))}}for(b=0;b=Math.ceil((e.bitLength()+1)/r.step):!1};Ka.prototype._getDoubles=function(e,r){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var n=[this],a=this,i=0;i=0&&(T=y,k=b),_.negative&&(_=_.neg(),A=A.neg()),T.negative&&(T=T.neg(),k=k.neg()),[{a:_,b:A},{a:T,b:k}]};Za.prototype._endoSplit=function(e){var r=this.endo.basis,n=r[0],a=r[1],i=a.b.mul(e).divRound(this.n),s=n.b.neg().mul(e).divRound(this.n),o=i.mul(n.a),u=s.mul(a.a),y=i.mul(n.b),b=s.mul(a.b),_=e.sub(o).sub(u),A=y.add(b).neg();return{k1:_,k2:A}};Za.prototype.pointFromX=function(e,r){e=new mr(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),a=n.redSqrt();if(a.redSqr().redSub(n).cmp(this.zero)!==0)throw new Error("invalid point");var i=a.fromRed().isOdd();return(r&&!i||!r&&i)&&(a=a.redNeg()),this.point(e,a)};Za.prototype.validate=function(e){if(e.inf)return!0;var r=e.x,n=e.y,a=this.a.redMul(r),i=r.redSqr().redMul(r).redIAdd(a).redIAdd(this.b);return n.redSqr().redISub(i).cmpn(0)===0};Za.prototype._endoWnafMulAdd=function(e,r,n){for(var a=this._endoWnafT1,i=this._endoWnafT2,s=0;s":""};Qr.prototype.isInfinity=function(){return this.inf};Qr.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e))return this.curve.point(null,null);if(this.x.cmp(e.x)===0)return this.curve.point(null,null);var r=this.y.redSub(e.y);r.cmpn(0)!==0&&(r=r.redMul(this.x.redSub(e.x).redInvm()));var n=r.redSqr().redISub(this.x).redISub(e.x),a=r.redMul(this.x.redSub(n)).redISub(this.y);return this.curve.point(n,a)};Qr.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(e.cmpn(0)===0)return this.curve.point(null,null);var r=this.curve.a,n=this.x.redSqr(),a=e.redInvm(),i=n.redAdd(n).redIAdd(n).redIAdd(r).redMul(a),s=i.redSqr().redISub(this.x.redAdd(this.x)),o=i.redMul(this.x.redSub(s)).redISub(this.y);return this.curve.point(s,o)};Qr.prototype.getX=function(){return this.x.fromRed()};Qr.prototype.getY=function(){return this.y.fromRed()};Qr.prototype.mul=function(e){return e=new mr(e,16),this.isInfinity()?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)};Qr.prototype.mulAdd=function(e,r,n){var a=[this,r],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(a,i):this.curve._wnafMulAdd(1,a,i,2)};Qr.prototype.jmulAdd=function(e,r,n){var a=[this,r],i=[e,n];return this.curve.endo?this.curve._endoWnafMulAdd(a,i,!0):this.curve._wnafMulAdd(1,a,i,2,!0)};Qr.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||this.x.cmp(e.x)===0&&this.y.cmp(e.y)===0)};Qr.prototype.neg=function(e){if(this.inf)return this;var r=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var n=this.precomputed,a=function(i){return i.neg()};r.precomputed={naf:n.naf&&{wnd:n.naf.wnd,points:n.naf.points.map(a)},doubles:n.doubles&&{step:n.doubles.step,points:n.doubles.points.map(a)}}}return r};Qr.prototype.toJ=function(){if(this.inf)return this.curve.jpoint(null,null,null);var e=this.curve.jpoint(this.x,this.y,this.curve.one);return e};function dn(t,e,r,n){lf.BasePoint.call(this,t,"jacobian"),e===null&&r===null&&n===null?(this.x=this.curve.one,this.y=this.curve.one,this.z=new mr(0)):(this.x=new mr(e,16),this.y=new mr(r,16),this.z=new mr(n,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}x8(dn,lf.BasePoint);Za.prototype.jpoint=function(e,r,n){return new dn(this,e,r,n)};dn.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),r=e.redSqr(),n=this.x.redMul(r),a=this.y.redMul(r).redMul(e);return this.curve.point(n,a)};dn.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)};dn.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var r=e.z.redSqr(),n=this.z.redSqr(),a=this.x.redMul(r),i=e.x.redMul(n),s=this.y.redMul(r.redMul(e.z)),o=e.y.redMul(n.redMul(this.z)),u=a.redSub(i),y=s.redSub(o);if(u.cmpn(0)===0)return y.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var b=u.redSqr(),_=b.redMul(u),A=a.redMul(b),T=y.redSqr().redIAdd(_).redISub(A).redISub(A),k=y.redMul(A.redISub(T)).redISub(s.redMul(_)),C=this.z.redMul(e.z).redMul(u);return this.curve.jpoint(T,k,C)};dn.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var r=this.z.redSqr(),n=this.x,a=e.x.redMul(r),i=this.y,s=e.y.redMul(r).redMul(this.z),o=n.redSub(a),u=i.redSub(s);if(o.cmpn(0)===0)return u.cmpn(0)!==0?this.curve.jpoint(null,null,null):this.dbl();var y=o.redSqr(),b=y.redMul(o),_=n.redMul(y),A=u.redSqr().redIAdd(b).redISub(_).redISub(_),T=u.redMul(_.redISub(A)).redISub(i.redMul(b)),k=this.z.redMul(o);return this.curve.jpoint(A,T,k)};dn.prototype.dblp=function(e){if(e===0)return this;if(this.isInfinity())return this;if(!e)return this.dbl();var r;if(this.curve.zeroA||this.curve.threeA){var n=this;for(r=0;r=0)return!1;if(n.redIAdd(i),this.x.cmp(n)===0)return!0}};dn.prototype.inspect=function(){return this.isInfinity()?"":""};dn.prototype.isInfinity=function(){return this.z.cmpn(0)===0};var su=Gs,Tk=Tr,nm=rm,Zre=Ea;function cf(t){nm.call(this,"mont",t),this.a=new su(t.a,16).toRed(this.red),this.b=new su(t.b,16).toRed(this.red),this.i4=new su(4).toRed(this.red).redInvm(),this.two=new su(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}Tk(cf,nm);var Jre=cf;cf.prototype.validate=function(e){var r=e.normalize().x,n=r.redSqr(),a=n.redMul(r).redAdd(n.redMul(this.a)).redAdd(r),i=a.redSqrt();return i.redSqr().cmp(a)===0};function Jr(t,e,r){nm.BasePoint.call(this,t,"projective"),e===null&&r===null?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new su(e,16),this.z=new su(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}Tk(Jr,nm.BasePoint);cf.prototype.decodePoint=function(e,r){return this.point(Zre.toArray(e,r),1)};cf.prototype.point=function(e,r){return new Jr(this,e,r)};cf.prototype.pointFromJSON=function(e){return Jr.fromJSON(this,e)};Jr.prototype.precompute=function(){};Jr.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())};Jr.fromJSON=function(e,r){return new Jr(e,r[0],r[1]||e.one)};Jr.prototype.inspect=function(){return this.isInfinity()?"":""};Jr.prototype.isInfinity=function(){return this.z.cmpn(0)===0};Jr.prototype.dbl=function(){var e=this.x.redAdd(this.z),r=e.redSqr(),n=this.x.redSub(this.z),a=n.redSqr(),i=r.redSub(a),s=r.redMul(a),o=i.redMul(a.redAdd(this.curve.a24.redMul(i)));return this.curve.point(s,o)};Jr.prototype.add=function(){throw new Error("Not supported on Montgomery curve")};Jr.prototype.diffAdd=function(e,r){var n=this.x.redAdd(this.z),a=this.x.redSub(this.z),i=e.x.redAdd(e.z),s=e.x.redSub(e.z),o=s.redMul(n),u=i.redMul(a),y=r.z.redMul(o.redAdd(u).redSqr()),b=r.x.redMul(o.redISub(u).redSqr());return this.curve.point(y,b)};Jr.prototype.mul=function(e){for(var r=e.clone(),n=this,a=this.curve.point(null,null),i=this,s=[];r.cmpn(0)!==0;r.iushrn(1))s.push(r.andln(1));for(var o=s.length-1;o>=0;o--)s[o]===0?(n=n.diffAdd(a,i),a=a.dbl()):(a=n.diffAdd(a,i),n=n.dbl());return a};Jr.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")};Jr.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")};Jr.prototype.eq=function(e){return this.getX().cmp(e.getX())===0};Jr.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this};Jr.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var Yre=Ea,Ss=Gs,Mk=Tr,am=rm,Xre=Yre.assert;function fs(t){this.twisted=(t.a|0)!==1,this.mOneA=this.twisted&&(t.a|0)===-1,this.extended=this.mOneA,am.call(this,"edwards",t),this.a=new Ss(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Ss(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Ss(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Xre(!this.twisted||this.c.fromRed().cmpn(1)===0),this.oneC=(t.c|0)===1}Mk(fs,am);var Qre=fs;fs.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)};fs.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)};fs.prototype.jpoint=function(e,r,n,a){return this.point(e,r,n,a)};fs.prototype.pointFromX=function(e,r){e=new Ss(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr(),a=this.c2.redSub(this.a.redMul(n)),i=this.one.redSub(this.c2.redMul(this.d).redMul(n)),s=a.redMul(i.redInvm()),o=s.redSqrt();if(o.redSqr().redSub(s).cmp(this.zero)!==0)throw new Error("invalid point");var u=o.fromRed().isOdd();return(r&&!u||!r&&u)&&(o=o.redNeg()),this.point(e,o)};fs.prototype.pointFromY=function(e,r){e=new Ss(e,16),e.red||(e=e.toRed(this.red));var n=e.redSqr(),a=n.redSub(this.c2),i=n.redMul(this.d).redMul(this.c2).redSub(this.a),s=a.redMul(i.redInvm());if(s.cmp(this.zero)===0){if(r)throw new Error("invalid point");return this.point(this.zero,e)}var o=s.redSqrt();if(o.redSqr().redSub(s).cmp(this.zero)!==0)throw new Error("invalid point");return o.fromRed().isOdd()!==r&&(o=o.redNeg()),this.point(o,e)};fs.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var r=e.x.redSqr(),n=e.y.redSqr(),a=r.redMul(this.a).redAdd(n),i=this.c2.redMul(this.one.redAdd(this.d.redMul(r).redMul(n)));return a.cmp(i)===0};function Yt(t,e,r,n,a){am.BasePoint.call(this,t,"projective"),e===null&&r===null&&n===null?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new Ss(e,16),this.y=new Ss(r,16),this.z=n?new Ss(n,16):this.curve.one,this.t=a&&new Ss(a,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}Mk(Yt,am.BasePoint);fs.prototype.pointFromJSON=function(e){return Yt.fromJSON(this,e)};fs.prototype.point=function(e,r,n,a){return new Yt(this,e,r,n,a)};Yt.fromJSON=function(e,r){return new Yt(e,r[0],r[1],r[2])};Yt.prototype.inspect=function(){return this.isInfinity()?"":""};Yt.prototype.isInfinity=function(){return this.x.cmpn(0)===0&&(this.y.cmp(this.z)===0||this.zOne&&this.y.cmp(this.curve.c)===0)};Yt.prototype._extDbl=function(){var e=this.x.redSqr(),r=this.y.redSqr(),n=this.z.redSqr();n=n.redIAdd(n);var a=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(r),s=a.redAdd(r),o=s.redSub(n),u=a.redSub(r),y=i.redMul(o),b=s.redMul(u),_=i.redMul(u),A=o.redMul(s);return this.curve.point(y,b,A,_)};Yt.prototype._projDbl=function(){var e=this.x.redAdd(this.y).redSqr(),r=this.x.redSqr(),n=this.y.redSqr(),a,i,s,o,u,y;if(this.curve.twisted){o=this.curve._mulA(r);var b=o.redAdd(n);this.zOne?(a=e.redSub(r).redSub(n).redMul(b.redSub(this.curve.two)),i=b.redMul(o.redSub(n)),s=b.redSqr().redSub(b).redSub(b)):(u=this.z.redSqr(),y=b.redSub(u).redISub(u),a=e.redSub(r).redISub(n).redMul(y),i=b.redMul(o.redSub(n)),s=b.redMul(y))}else o=r.redAdd(n),u=this.curve._mulC(this.z).redSqr(),y=o.redSub(u).redSub(u),a=this.curve._mulC(e.redISub(o)).redMul(y),i=this.curve._mulC(o).redMul(r.redISub(n)),s=o.redMul(y);return this.curve.point(a,i,s)};Yt.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()};Yt.prototype._extAdd=function(e){var r=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),n=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),a=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),s=n.redSub(r),o=i.redSub(a),u=i.redAdd(a),y=n.redAdd(r),b=s.redMul(o),_=u.redMul(y),A=s.redMul(y),T=o.redMul(u);return this.curve.point(b,_,T,A)};Yt.prototype._projAdd=function(e){var r=this.z.redMul(e.z),n=r.redSqr(),a=this.x.redMul(e.x),i=this.y.redMul(e.y),s=this.curve.d.redMul(a).redMul(i),o=n.redSub(s),u=n.redAdd(s),y=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(a).redISub(i),b=r.redMul(o).redMul(y),_,A;return this.curve.twisted?(_=r.redMul(u).redMul(i.redSub(this.curve._mulA(a))),A=o.redMul(u)):(_=r.redMul(u).redMul(i.redSub(a)),A=this.curve._mulC(o).redMul(u)),this.curve.point(b,_,A)};Yt.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)};Yt.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)};Yt.prototype.mulAdd=function(e,r,n){return this.curve._wnafMulAdd(1,[this,r],[e,n],2,!1)};Yt.prototype.jmulAdd=function(e,r,n){return this.curve._wnafMulAdd(1,[this,r],[e,n],2,!0)};Yt.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this};Yt.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())};Yt.prototype.getX=function(){return this.normalize(),this.x.fromRed()};Yt.prototype.getY=function(){return this.normalize(),this.y.fromRed()};Yt.prototype.eq=function(e){return this===e||this.getX().cmp(e.getX())===0&&this.getY().cmp(e.getY())===0};Yt.prototype.eqXToP=function(e){var r=e.toRed(this.curve.red).redMul(this.z);if(this.x.cmp(r)===0)return!0;for(var n=e.clone(),a=this.curve.redN.redMul(this.z);;){if(n.iadd(this.curve.n),n.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(a),this.x.cmp(r)===0)return!0}};Yt.prototype.toP=Yt.prototype.normalize;Yt.prototype.mixedAdd=Yt.prototype.add;(function(t){var e=t;e.base=rm,e.short=Kre,e.mont=Jre,e.edwards=Qre})(g8);var im={},ev,z9;function ene(){return z9||(z9=1,ev={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}}),ev}(function(t){var e=t,r=H0,n=g8,a=Ea,i=a.assert;function s(y){y.type==="short"?this.curve=new n.short(y):y.type==="edwards"?this.curve=new n.edwards(y):this.curve=new n.mont(y),this.g=this.curve.g,this.n=this.curve.n,this.hash=y.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}e.PresetCurve=s;function o(y,b){Object.defineProperty(e,y,{configurable:!0,enumerable:!0,get:function(){var _=new s(b);return Object.defineProperty(e,y,{configurable:!0,enumerable:!0,value:_}),_}})}o("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:r.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),o("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:r.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),o("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:r.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),o("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:r.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),o("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:r.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),o("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:r.sha256,gRed:!1,g:["9"]}),o("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:r.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});var u;try{u=ene()}catch{u=void 0}o("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:r.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",u]})})(im);var tne=H0,Tl=b8,Bk=rc;function Oo(t){if(!(this instanceof Oo))return new Oo(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=Tl.toArray(t.entropy,t.entropyEnc||"hex"),r=Tl.toArray(t.nonce,t.nonceEnc||"hex"),n=Tl.toArray(t.pers,t.persEnc||"hex");Bk(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,n)}var rne=Oo;Oo.prototype._init=function(e,r,n){var a=e.concat(r).concat(n);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(n||[])),this._reseed=1};Oo.prototype.generate=function(e,r,n,a){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");typeof r!="string"&&(a=n,n=r,r=null),n&&(n=Tl.toArray(n,a||"hex"),this._update(n));for(var i=[];i.length"};var I1=Gs,w8=Ea,sne=w8.assert;function sm(t,e){if(t instanceof sm)return t;this._importDER(t,e)||(sne(t.r&&t.s,"Signature without r or s"),this.r=new I1(t.r,16),this.s=new I1(t.s,16),t.recoveryParam===void 0?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var one=sm;function lne(){this.place=0}function tv(t,e){var r=t[e.place++];if(!(r&128))return r;var n=r&15;if(n===0||n>4)return!1;for(var a=0,i=0,s=e.place;i>>=0;return a<=127?!1:(e.place=s,a)}function U9(t){for(var e=0,r=t.length-1;!t[e]&&!(t[e+1]&128)&&e>>3);for(t.push(r|128);--r;)t.push(e>>>(r<<3)&255);t.push(e)}sm.prototype.toDER=function(e){var r=this.r.toArray(),n=this.s.toArray();for(r[0]&128&&(r=[0].concat(r)),n[0]&128&&(n=[0].concat(n)),r=U9(r),n=U9(n);!n[0]&&!(n[1]&128);)n=n.slice(1);var a=[2];rv(a,r.length),a=a.concat(r),a.push(2),rv(a,n.length);var i=a.concat(n),s=[48];return rv(s,i.length),s=s.concat(i),w8.encode(s,e)};var Ml=Gs,kk=rne,cne=Ea,nv=im,une=Ck,Fk=cne.assert,_8=ine,om=one;function Ga(t){if(!(this instanceof Ga))return new Ga(t);typeof t=="string"&&(Fk(Object.prototype.hasOwnProperty.call(nv,t),"Unknown curve "+t),t=nv[t]),t instanceof nv.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var fne=Ga;Ga.prototype.keyPair=function(e){return new _8(this,e)};Ga.prototype.keyFromPrivate=function(e,r){return _8.fromPrivate(this,e,r)};Ga.prototype.keyFromPublic=function(e,r){return _8.fromPublic(this,e,r)};Ga.prototype.genKeyPair=function(e){e||(e={});for(var r=new kk({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||une(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),a=this.n.sub(new Ml(2));;){var i=new Ml(r.generate(n));if(!(i.cmp(a)>0))return i.iaddn(1),this.keyFromPrivate(i)}};Ga.prototype._truncateToN=function(e,r){var n=e.byteLength()*8-this.n.bitLength();return n>0&&(e=e.ushrn(n)),!r&&e.cmp(this.n)>=0?e.sub(this.n):e};Ga.prototype.sign=function(e,r,n,a){typeof n=="object"&&(a=n,n=null),a||(a={}),r=this.keyFromPrivate(r,n),e=this._truncateToN(new Ml(e,16));for(var i=this.n.byteLength(),s=r.getPrivate().toArray("be",i),o=e.toArray("be",i),u=new kk({hash:this.hash,entropy:s,nonce:o,pers:a.pers,persEnc:a.persEnc||"utf8"}),y=this.n.sub(new Ml(1)),b=0;;b++){var _=a.k?a.k(b):new Ml(u.generate(this.n.byteLength()));if(_=this._truncateToN(_,!0),!(_.cmpn(1)<=0||_.cmp(y)>=0)){var A=this.g.mul(_);if(!A.isInfinity()){var T=A.getX(),k=T.umod(this.n);if(k.cmpn(0)!==0){var C=_.invm(this.n).mul(k.mul(r.getPrivate()).iadd(e));if(C=C.umod(this.n),C.cmpn(0)!==0){var P=(A.getY().isOdd()?1:0)|(T.cmp(k)!==0?2:0);return a.canonical&&C.cmp(this.nh)>0&&(C=this.n.sub(C),P^=1),new om({r:k,s:C,recoveryParam:P})}}}}}};Ga.prototype.verify=function(e,r,n,a){e=this._truncateToN(new Ml(e,16)),n=this.keyFromPublic(n,a),r=new om(r,"hex");var i=r.r,s=r.s;if(i.cmpn(1)<0||i.cmp(this.n)>=0||s.cmpn(1)<0||s.cmp(this.n)>=0)return!1;var o=s.invm(this.n),u=o.mul(e).umod(this.n),y=o.mul(i).umod(this.n),b;return this.curve._maxwellTrick?(b=this.g.jmulAdd(u,n.getPublic(),y),b.isInfinity()?!1:b.eqXToP(i)):(b=this.g.mulAdd(u,n.getPublic(),y),b.isInfinity()?!1:b.getX().umod(this.n).cmp(i)===0)};Ga.prototype.recoverPubKey=function(t,e,r,n){Fk((3&r)===r,"The recovery param is more than two bits"),e=new om(e,n);var a=this.n,i=new Ml(t),s=e.r,o=e.s,u=r&1,y=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&y)throw new Error("Unable to find sencond key candinate");y?s=this.curve.pointFromX(s.add(this.curve.n),u):s=this.curve.pointFromX(s,u);var b=e.r.invm(a),_=a.sub(i).mul(b).umod(a),A=o.mul(b).umod(a);return this.g.mulAdd(_,s,A)};Ga.prototype.getKeyRecoveryParam=function(t,e,r,n){if(e=new om(e,n),e.recoveryParam!==null)return e.recoveryParam;for(var a=0;a<4;a++){var i;try{i=this.recoverPubKey(t,e,a)}catch{continue}if(i.eq(r))return a}throw new Error("Unable to find valid recovery factor")};var J0=Ea,Pk=J0.assert,H9=J0.parseBytes,uf=J0.cachedProperty;function Zr(t,e){this.eddsa=t,this._secret=H9(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=H9(e.pub)}Zr.fromPublic=function(e,r){return r instanceof Zr?r:new Zr(e,{pub:r})};Zr.fromSecret=function(e,r){return r instanceof Zr?r:new Zr(e,{secret:r})};Zr.prototype.secret=function(){return this._secret};uf(Zr,"pubBytes",function(){return this.eddsa.encodePoint(this.pub())});uf(Zr,"pub",function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())});uf(Zr,"privBytes",function(){var e=this.eddsa,r=this.hash(),n=e.encodingLength-1,a=r.slice(0,e.encodingLength);return a[0]&=248,a[n]&=127,a[n]|=64,a});uf(Zr,"priv",function(){return this.eddsa.decodeInt(this.privBytes())});uf(Zr,"hash",function(){return this.eddsa.hash().update(this.secret()).digest()});uf(Zr,"messagePrefix",function(){return this.hash().slice(this.eddsa.encodingLength)});Zr.prototype.sign=function(e){return Pk(this._secret,"KeyPair can only verify"),this.eddsa.sign(e,this)};Zr.prototype.verify=function(e,r){return this.eddsa.verify(e,r,this)};Zr.prototype.getSecret=function(e){return Pk(this._secret,"KeyPair is public only"),J0.encode(this.secret(),e)};Zr.prototype.getPublic=function(e){return J0.encode(this.pubBytes(),e)};var dne=Zr,hne=Gs,lm=Ea,pne=lm.assert,cm=lm.cachedProperty,yne=lm.parseBytes;function oc(t,e){this.eddsa=t,typeof e!="object"&&(e=yne(e)),Array.isArray(e)&&(e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),pne(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof hne&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}cm(oc,"S",function(){return this.eddsa.decodeInt(this.Sencoded())});cm(oc,"R",function(){return this.eddsa.decodePoint(this.Rencoded())});cm(oc,"Rencoded",function(){return this.eddsa.encodePoint(this.R())});cm(oc,"Sencoded",function(){return this.eddsa.encodeInt(this.S())});oc.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())};oc.prototype.toHex=function(){return lm.encode(this.toBytes(),"hex").toUpperCase()};var mne=oc,bne=H0,vne=im,$u=Ea,gne=$u.assert,Dk=$u.parseBytes,Ik=dne,G9=mne;function ia(t){if(gne(t==="ed25519","only tested with ed25519 so far"),!(this instanceof ia))return new ia(t);t=vne[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=bne.sha512}var xne=ia;ia.prototype.sign=function(e,r){e=Dk(e);var n=this.keyFromSecret(r),a=this.hashInt(n.messagePrefix(),e),i=this.g.mul(a),s=this.encodePoint(i),o=this.hashInt(s,n.pubBytes(),e).mul(n.priv()),u=a.add(o).umod(this.curve.n);return this.makeSignature({R:i,S:u,Rencoded:s})};ia.prototype.verify=function(e,r,n){e=Dk(e),r=this.makeSignature(r);var a=this.keyFromPublic(n),i=this.hashInt(r.Rencoded(),a.pubBytes(),e),s=this.g.mul(r.S()),o=r.R().add(a.pub().mul(i));return o.eq(s)};ia.prototype.hashInt=function(){for(var e=this.hash(),r=0;r=0)return null;r=r.toRed(wt.red);let n=r.redSqr().redIMul(r).redIAdd(wt.b).redSqrt();return t===3!==n.isOdd()&&(n=n.redNeg()),Ni.keyPair({pub:{x:r,y:n}})}function Ene(t,e,r){let n=new Vt(e),a=new Vt(r);if(n.cmp(wt.p)>=0||a.cmp(wt.p)>=0||(n=n.toRed(wt.red),a=a.toRed(wt.red),(t===6||t===7)&&a.isOdd()!==(t===7)))return null;const i=n.redSqr().redIMul(n);return a.redSqr().redISub(i.redIAdd(wt.b)).isZero()?Ni.keyPair({pub:{x:n,y:a}}):null}function Js(t){const e=t[0];switch(e){case 2:case 3:return t.length!==33?null:_ne(e,t.subarray(1,33));case 4:case 6:case 7:return t.length!==65?null:Ene(e,t.subarray(1,33),t.subarray(33,65));default:return null}}function rl(t,e){const r=e.encode(null,t.length===33);for(let n=0;n=0||(r.iadd(new Vt(t)),r.cmp(wt.n)>=0&&r.isub(wt.n),r.isZero()))return 1;const n=r.toArrayLike(Uint8Array,"be",32);return t.set(n),0},privateKeyTweakMul(t,e){let r=new Vt(e);if(r.cmp(wt.n)>=0||r.isZero())return 1;r.imul(new Vt(t)),r.cmp(wt.n)>=0&&(r=r.umod(wt.n));const n=r.toArrayLike(Uint8Array,"be",32);return t.set(n),0},publicKeyVerify(t){return Js(t)===null?1:0},publicKeyCreate(t,e){const r=new Vt(e);if(r.cmp(wt.n)>=0||r.isZero())return 1;const n=Ni.keyFromPrivate(e).getPublic();return rl(t,n),0},publicKeyConvert(t,e){const r=Js(e);if(r===null)return 1;const n=r.getPublic();return rl(t,n),0},publicKeyNegate(t,e){const r=Js(e);if(r===null)return 1;const n=r.getPublic();return n.y=n.y.redNeg(),rl(t,n),0},publicKeyCombine(t,e){const r=new Array(e.length);for(let a=0;a=0)return 2;const a=n.getPublic().add(wt.g.mul(r));return a.isInfinity()?2:(rl(t,a),0)},publicKeyTweakMul(t,e,r){const n=Js(e);if(n===null)return 1;if(r=new Vt(r),r.cmp(wt.n)>=0||r.isZero())return 2;const a=n.getPublic().mul(r);return rl(t,a),0},signatureNormalize(t){const e=new Vt(t.subarray(0,32)),r=new Vt(t.subarray(32,64));return e.cmp(wt.n)>=0||r.cmp(wt.n)>=0?1:(r.cmp(Ni.nh)===1&&t.set(wt.n.sub(r).toArrayLike(Uint8Array,"be",32),32),0)},signatureExport(t,e){const r=e.subarray(0,32),n=e.subarray(32,64);if(new Vt(r).cmp(wt.n)>=0||new Vt(n).cmp(wt.n)>=0)return 1;const{output:a}=t;let i=a.subarray(4,37);i[0]=0,i.set(r,1);let s=33,o=0;for(;s>1&&i[o]===0&&!(i[o+1]&128);--s,++o);if(i=i.subarray(o),i[0]&128||s>1&&i[0]===0&&!(i[1]&128))return 1;let u=a.subarray(39,72);u[0]=0,u.set(n,1);let y=33,b=0;for(;y>1&&u[b]===0&&!(u[b+1]&128);--y,++b);return u=u.subarray(b),u[0]&128||y>1&&u[0]===0&&!(u[1]&128)?1:(t.outputlen=6+s+y,a[0]=48,a[1]=t.outputlen-2,a[2]=2,a[3]=i.length,a.set(i,4),a[4+s]=2,a[5+s]=u.length,a.set(u,6+s),0)},signatureImport(t,e){if(e.length<8||e.length>72||e[0]!==48||e[1]!==e.length-2||e[2]!==2)return 1;const r=e[3];if(r===0||5+r>=e.length||e[4+r]!==2)return 1;const n=e[5+r];if(n===0||6+r+n!==e.length||e[4]&128||r>1&&e[4]===0&&!(e[5]&128)||e[r+6]&128||n>1&&e[r+6]===0&&!(e[r+7]&128))return 1;let a=e.subarray(4,4+r);if(a.length===33&&a[0]===0&&(a=a.subarray(1)),a.length>32)return 1;let i=e.subarray(6+r);if(i.length===33&&i[0]===0&&(i=i.slice(1)),i.length>32)throw new Error("S length is too long");let s=new Vt(a);s.cmp(wt.n)>=0&&(s=new Vt(0));let o=new Vt(e.subarray(6+r));return o.cmp(wt.n)>=0&&(o=new Vt(0)),t.set(s.toArrayLike(Uint8Array,"be",32),0),t.set(o.toArrayLike(Uint8Array,"be",32),32),0},ecdsaSign(t,e,r,n,a){if(a){const o=a;a=u=>{const y=o(e,r,null,n,u);if(!(y instanceof Uint8Array&&y.length===32))throw new Error("This is the way");return new Vt(y)}}const i=new Vt(r);if(i.cmp(wt.n)>=0||i.isZero())return 1;let s;try{s=Ni.sign(e,r,{canonical:!0,k:a,pers:n})}catch{return 1}return t.signature.set(s.r.toArrayLike(Uint8Array,"be",32),0),t.signature.set(s.s.toArrayLike(Uint8Array,"be",32),32),t.recid=s.recoveryParam,0},ecdsaVerify(t,e,r){const n={r:t.subarray(0,32),s:t.subarray(32,64)},a=new Vt(n.r),i=new Vt(n.s);if(a.cmp(wt.n)>=0||i.cmp(wt.n)>=0)return 1;if(i.cmp(Ni.nh)===1||a.isZero()||i.isZero())return 3;const s=Js(r);if(s===null)return 2;const o=s.getPublic();return Ni.verify(e,n,o)?0:3},ecdsaRecover(t,e,r,n){const a={r:e.slice(0,32),s:e.slice(32,64)},i=new Vt(a.r),s=new Vt(a.s);if(i.cmp(wt.n)>=0||s.cmp(wt.n)>=0)return 1;if(i.isZero()||s.isZero())return 2;let o;try{o=Ni.recoverPubKey(n,a,r)}catch{return 2}return rl(t,o),0},ecdh(t,e,r,n,a,i,s){const o=Js(e);if(o===null)return 1;const u=new Vt(r);if(u.cmp(wt.n)>=0||u.isZero())return 2;const y=o.getPublic().mul(u);if(a===void 0){const b=y.encode(null,!0),_=Ni.hash().update(b).digest();for(let A=0;A<32;++A)t[A]=_[A]}else{i||(i=new Uint8Array(32));const b=y.getX().toArray("be",32);for(let k=0;k<32;++k)i[k]=b[k];s||(s=new Uint8Array(32));const _=y.getY().toArray("be",32);for(let k=0;k<32;++k)s[k]=_[k];const A=a(i,s,n);if(!(A instanceof Uint8Array&&A.length===t.length))return 2;t.set(A)}return 0}};const kt={IMPOSSIBLE_CASE:"Impossible case. Please create issue.",TWEAK_ADD:"The tweak was out of range or the resulted private key is invalid",TWEAK_MUL:"The tweak was out of range or equal to zero",CONTEXT_RANDOMIZE_UNKNOW:"Unknow error on context randomization",SECKEY_INVALID:"Private Key is invalid",PUBKEY_PARSE:"Public Key could not be parsed",PUBKEY_SERIALIZE:"Public Key serialization error",PUBKEY_COMBINE:"The sum of the public keys is not valid",SIG_PARSE:"Signature could not be parsed",SIGN:"The nonce generation function failed, or the private key was invalid",RECOVER:"Public key could not be recover",ECDH:"Scalar was invalid (zero or overflow)"};function Da(t,e){if(!t)throw new Error(e)}function Et(t,e,r){if(Da(e instanceof Uint8Array,`Expected ${t} to be an Uint8Array`),r!==void 0)if(Array.isArray(r)){const n=r.join(", "),a=`Expected ${t} to be an Uint8Array with length [${n}]`;Da(r.includes(e.length),a)}else{const n=`Expected ${t} to be an Uint8Array with length ${r}`;Da(e.length===r,n)}}function nl(t){Da(Nc(t)==="Boolean","Expected compressed to be a Boolean")}function ri(t=r=>new Uint8Array(r),e){return typeof t=="function"&&(t=t(e)),Et("output",t,e),t}function Nc(t){return Object.prototype.toString.call(t).slice(8,-1)}var Sne=t=>({contextRandomize(e){switch(Da(e===null||e instanceof Uint8Array,"Expected seed to be an Uint8Array or null"),e!==null&&Et("seed",e,32),t.contextRandomize(e)){case 1:throw new Error(kt.CONTEXT_RANDOMIZE_UNKNOW)}},privateKeyVerify(e){return Et("private key",e,32),t.privateKeyVerify(e)===0},privateKeyNegate(e){switch(Et("private key",e,32),t.privateKeyNegate(e)){case 0:return e;case 1:throw new Error(kt.IMPOSSIBLE_CASE)}},privateKeyTweakAdd(e,r){switch(Et("private key",e,32),Et("tweak",r,32),t.privateKeyTweakAdd(e,r)){case 0:return e;case 1:throw new Error(kt.TWEAK_ADD)}},privateKeyTweakMul(e,r){switch(Et("private key",e,32),Et("tweak",r,32),t.privateKeyTweakMul(e,r)){case 0:return e;case 1:throw new Error(kt.TWEAK_MUL)}},publicKeyVerify(e){return Et("public key",e,[33,65]),t.publicKeyVerify(e)===0},publicKeyCreate(e,r=!0,n){switch(Et("private key",e,32),nl(r),n=ri(n,r?33:65),t.publicKeyCreate(n,e)){case 0:return n;case 1:throw new Error(kt.SECKEY_INVALID);case 2:throw new Error(kt.PUBKEY_SERIALIZE)}},publicKeyConvert(e,r=!0,n){switch(Et("public key",e,[33,65]),nl(r),n=ri(n,r?33:65),t.publicKeyConvert(n,e)){case 0:return n;case 1:throw new Error(kt.PUBKEY_PARSE);case 2:throw new Error(kt.PUBKEY_SERIALIZE)}},publicKeyNegate(e,r=!0,n){switch(Et("public key",e,[33,65]),nl(r),n=ri(n,r?33:65),t.publicKeyNegate(n,e)){case 0:return n;case 1:throw new Error(kt.PUBKEY_PARSE);case 2:throw new Error(kt.IMPOSSIBLE_CASE);case 3:throw new Error(kt.PUBKEY_SERIALIZE)}},publicKeyCombine(e,r=!0,n){Da(Array.isArray(e),"Expected public keys to be an Array"),Da(e.length>0,"Expected public keys array will have more than zero items");for(const a of e)Et("public key",a,[33,65]);switch(nl(r),n=ri(n,r?33:65),t.publicKeyCombine(n,e)){case 0:return n;case 1:throw new Error(kt.PUBKEY_PARSE);case 2:throw new Error(kt.PUBKEY_COMBINE);case 3:throw new Error(kt.PUBKEY_SERIALIZE)}},publicKeyTweakAdd(e,r,n=!0,a){switch(Et("public key",e,[33,65]),Et("tweak",r,32),nl(n),a=ri(a,n?33:65),t.publicKeyTweakAdd(a,e,r)){case 0:return a;case 1:throw new Error(kt.PUBKEY_PARSE);case 2:throw new Error(kt.TWEAK_ADD)}},publicKeyTweakMul(e,r,n=!0,a){switch(Et("public key",e,[33,65]),Et("tweak",r,32),nl(n),a=ri(a,n?33:65),t.publicKeyTweakMul(a,e,r)){case 0:return a;case 1:throw new Error(kt.PUBKEY_PARSE);case 2:throw new Error(kt.TWEAK_MUL)}},signatureNormalize(e){switch(Et("signature",e,64),t.signatureNormalize(e)){case 0:return e;case 1:throw new Error(kt.SIG_PARSE)}},signatureExport(e,r){Et("signature",e,64),r=ri(r,72);const n={output:r,outputlen:72};switch(t.signatureExport(n,e)){case 0:return r.slice(0,n.outputlen);case 1:throw new Error(kt.SIG_PARSE);case 2:throw new Error(kt.IMPOSSIBLE_CASE)}},signatureImport(e,r){switch(Et("signature",e),r=ri(r,64),t.signatureImport(r,e)){case 0:return r;case 1:throw new Error(kt.SIG_PARSE);case 2:throw new Error(kt.IMPOSSIBLE_CASE)}},ecdsaSign(e,r,n={},a){Et("message",e,32),Et("private key",r,32),Da(Nc(n)==="Object","Expected options to be an Object"),n.data!==void 0&&Et("options.data",n.data),n.noncefn!==void 0&&Da(Nc(n.noncefn)==="Function","Expected options.noncefn to be a Function"),a=ri(a,64);const i={signature:a,recid:null};switch(t.ecdsaSign(i,e,r,n.data,n.noncefn)){case 0:return i;case 1:throw new Error(kt.SIGN);case 2:throw new Error(kt.IMPOSSIBLE_CASE)}},ecdsaVerify(e,r,n){switch(Et("signature",e,64),Et("message",r,32),Et("public key",n,[33,65]),t.ecdsaVerify(e,r,n)){case 0:return!0;case 3:return!1;case 1:throw new Error(kt.SIG_PARSE);case 2:throw new Error(kt.PUBKEY_PARSE)}},ecdsaRecover(e,r,n,a=!0,i){switch(Et("signature",e,64),Da(Nc(r)==="Number"&&r>=0&&r<=3,"Expected recovery id to be a Number within interval [0, 3]"),Et("message",n,32),nl(a),i=ri(i,a?33:65),t.ecdsaRecover(i,e,r,n)){case 0:return i;case 1:throw new Error(kt.SIG_PARSE);case 2:throw new Error(kt.RECOVER);case 3:throw new Error(kt.IMPOSSIBLE_CASE)}},ecdh(e,r,n={},a){switch(Et("public key",e,[33,65]),Et("private key",r,32),Da(Nc(n)==="Object","Expected options to be an Object"),n.data!==void 0&&Et("options.data",n.data),n.hashfn!==void 0?(Da(Nc(n.hashfn)==="Function","Expected options.hashfn to be a Function"),n.xbuf!==void 0&&Et("options.xbuf",n.xbuf,32),n.ybuf!==void 0&&Et("options.ybuf",n.ybuf,32),Et("output",a)):a=ri(a,32),t.ecdh(a,e,r,n.data,n.hashfn,n.xbuf,n.ybuf)){case 0:return a;case 1:throw new Error(kt.PUBKEY_PARSE);case 2:throw new Error(kt.ECDH)}}}),q9=Sne(Ane),um={},o3={exports:{}},l3={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh */(function(t,e){var r=sc,n=r.Buffer;function a(s,o){for(var u in s)o[u]=s[u]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=r:(a(r,e),e.Buffer=i);function i(s,o,u){return n(s,o,u)}i.prototype=Object.create(n.prototype),a(n,i),i.from=function(s,o,u){if(typeof s=="number")throw new TypeError("Argument must not be a number");return n(s,o,u)},i.alloc=function(s,o,u){if(typeof s!="number")throw new TypeError("Argument must be a number");var y=n(s);return o!==void 0?typeof u=="string"?y.fill(o,u):y.fill(o):y.fill(0),y},i.allocUnsafe=function(s){if(typeof s!="number")throw new TypeError("Argument must be a number");return n(s)},i.allocUnsafeSlow=function(s){if(typeof s!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(s)}})(l3,l3.exports);var Ja=l3.exports,V9={},av=65536,Cne=4294967295;function Tne(){throw new Error(`Secure random number generation is not supported by this browser. +Use Chrome, Firefox or Internet Explorer 11`)}var Mne=Ja.Buffer,O1=V9.crypto||V9.msCrypto;O1&&O1.getRandomValues?o3.exports=Bne:o3.exports=Tne;function Bne(t,e){if(t>Cne)throw new RangeError("requested too many random bytes");var r=Mne.allocUnsafe(t);if(t>0)if(t>av)for(var n=0;n0&&k[k.length-1])&&(D[0]===6||D[0]===2)){_=0;continue}if(D[0]===3&&(!k||D[1]>k[0]&&D[1]=0})}Wt.arrayContainsArray=Ine;function One(t){var e="",r=0,n=t.length;for(t.substring(0,2)==="0x"&&(r=2);r=l.length&&(l=void 0),{value:l&&l[c++],done:!l}}};throw new TypeError(d?"Object is not iterable.":"Symbol.iterator is not defined.")},r=ye&&ye.__read||function(l,d){var h=typeof Symbol=="function"&&l[Symbol.iterator];if(!h)return l;var c=h.call(l),p,v=[],E;try{for(;(d===void 0||d-- >0)&&!(p=c.next()).done;)v.push(p.value)}catch(g){E={error:g}}finally{try{p&&!p.done&&(h=c.return)&&h.call(c)}finally{if(E)throw E.error}}return v};Object.defineProperty(t,"__esModule",{value:!0}),t.bufArrToArr=t.arrToBufArr=t.validateNoLeadingZeroes=t.baToJSON=t.toUtf8=t.addHexPrefix=t.toUnsigned=t.fromSigned=t.bufferToHex=t.bufferToInt=t.toBuffer=t.unpadHexString=t.unpadArray=t.unpadBuffer=t.setLengthRight=t.setLengthLeft=t.zeros=t.intToBuffer=t.intToHex=void 0;var n=aa,a=Wt,i=da,s=function(l){if(!Number.isSafeInteger(l)||l<0)throw new Error("Received an invalid integer type: ".concat(l));return"0x".concat(l.toString(16))};t.intToHex=s;var o=function(l){var d=(0,t.intToHex)(l);return Buffer.from((0,a.padToEven)(d.slice(2)),"hex")};t.intToBuffer=o;var u=function(l){return Buffer.allocUnsafe(l).fill(0)};t.zeros=u;var y=function(l,d,h){var c=(0,t.zeros)(d);return h?l.length0&&d.toString()==="0";)l=l.slice(1),d=l[0];return l},T=function(l){return(0,i.assertIsBuffer)(l),A(l)};t.unpadBuffer=T;var k=function(l){return(0,i.assertIsArray)(l),A(l)};t.unpadArray=k;var C=function(l){return(0,i.assertIsHexString)(l),l=(0,a.stripHexPrefix)(l),A(l)};t.unpadHexString=C;var P=function(l){if(l==null)return Buffer.allocUnsafe(0);if(Buffer.isBuffer(l)||Array.isArray(l)||l instanceof Uint8Array)return Buffer.from(l);if(typeof l=="string"){if(!(0,a.isHexString)(l))throw new Error("Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: ".concat(l));return Buffer.from((0,a.padToEven)((0,a.stripHexPrefix)(l)),"hex")}if(typeof l=="number")return(0,t.intToBuffer)(l);if(n.BN.isBN(l)){if(l.isNeg())throw new Error("Cannot convert negative BN to buffer. Given: ".concat(l));return l.toArrayLike(Buffer)}if(l.toArray)return Buffer.from(l.toArray());if(l.toBuffer)return Buffer.from(l.toBuffer());throw new Error("invalid type")};t.toBuffer=P;var B=function(l){return new n.BN((0,t.toBuffer)(l)).toNumber()};t.bufferToInt=B;var D=function(l){return l=(0,t.toBuffer)(l),"0x"+l.toString("hex")};t.bufferToHex=D;var N=function(l){return new n.BN(l).fromTwos(256)};t.fromSigned=N;var $=function(l){return Buffer.from(l.toTwos(256).toArray())};t.toUnsigned=$;var j=function(l){return typeof l!="string"||(0,a.isHexPrefixed)(l)?l:"0x"+l};t.addHexPrefix=j;var Z=function(l){var d=/^(00)+|(00)+$/g;if(l=(0,a.stripHexPrefix)(l),l.length%2!==0)throw new Error("Invalid non-even hex string input for toUtf8() provided");var h=Buffer.from(l.replace(d,""),"hex");return h.toString("utf8")};t.toUtf8=Z;var X=function(l){if(Buffer.isBuffer(l))return"0x".concat(l.toString("hex"));if(l instanceof Array){for(var d=[],h=0;h0&&g[0]===0)throw new Error("".concat(E," cannot have leading zeroes, received: ").concat(g.toString("hex")))}}catch(f){d={error:f}}finally{try{p&&!p.done&&(h=c.return)&&h.call(c)}finally{if(d)throw d.error}}};t.validateNoLeadingZeroes=Y;function re(l){return Array.isArray(l)?l.map(function(d){return re(d)}):Buffer.from(l)}t.arrToBufArr=re;function M(l){return Array.isArray(l)?l.map(function(d){return M(d)}):Uint8Array.from(l??[])}t.bufArrToArr=M})(Zo);var fm={},ff={},E8={};Object.defineProperty(E8,"__esModule",{value:!0});function qne(t){return function(e){var r=t();return r.update(e),Buffer.from(r.digest())}}E8.createHashFunction=qne;var Lk={};const W9=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648];Lk.p1600=function(t){for(let e=0;e<24;++e){const r=t[0]^t[10]^t[20]^t[30]^t[40],n=t[1]^t[11]^t[21]^t[31]^t[41],a=t[2]^t[12]^t[22]^t[32]^t[42],i=t[3]^t[13]^t[23]^t[33]^t[43],s=t[4]^t[14]^t[24]^t[34]^t[44],o=t[5]^t[15]^t[25]^t[35]^t[45],u=t[6]^t[16]^t[26]^t[36]^t[46],y=t[7]^t[17]^t[27]^t[37]^t[47],b=t[8]^t[18]^t[28]^t[38]^t[48],_=t[9]^t[19]^t[29]^t[39]^t[49];let A=b^(a<<1|i>>>31),T=_^(i<<1|a>>>31);const k=t[0]^A,C=t[1]^T,P=t[10]^A,B=t[11]^T,D=t[20]^A,N=t[21]^T,$=t[30]^A,j=t[31]^T,Z=t[40]^A,X=t[41]^T;A=r^(s<<1|o>>>31),T=n^(o<<1|s>>>31);const Y=t[2]^A,re=t[3]^T,M=t[12]^A,l=t[13]^T,d=t[22]^A,h=t[23]^T,c=t[32]^A,p=t[33]^T,v=t[42]^A,E=t[43]^T;A=a^(u<<1|y>>>31),T=i^(y<<1|u>>>31);const g=t[4]^A,f=t[5]^T,m=t[14]^A,w=t[15]^T,x=t[24]^A,S=t[25]^T,R=t[34]^A,L=t[35]^T,F=t[44]^A,G=t[45]^T;A=s^(b<<1|_>>>31),T=o^(_<<1|b>>>31);const z=t[6]^A,V=t[7]^T,se=t[16]^A,ie=t[17]^T,U=t[26]^A,W=t[27]^T,ce=t[36]^A,oe=t[37]^T,K=t[46]^A,I=t[47]^T;A=u^(r<<1|n>>>31),T=y^(n<<1|r>>>31);const O=t[8]^A,q=t[9]^T,te=t[18]^A,fe=t[19]^T,H=t[28]^A,J=t[29]^T,ee=t[38]^A,he=t[39]^T,de=t[48]^A,ue=t[49]^T,Se=k,Ae=C,we=B<<4|P>>>28,Ze=P<<4|B>>>28,Ne=D<<3|N>>>29,ke=N<<3|D>>>29,Qe=j<<9|$>>>23,Ue=$<<9|j>>>23,Pe=Z<<18|X>>>14,ct=X<<18|Z>>>14,We=Y<<1|re>>>31,$e=re<<1|Y>>>31,ht=l<<12|M>>>20,ne=M<<12|l>>>20,ae=d<<10|h>>>22,xe=h<<10|d>>>22,ge=p<<13|c>>>19,ve=c<<13|p>>>19,Ve=v<<2|E>>>30,Ce=E<<2|v>>>30,_e=f<<30|g>>>2,Le=g<<30|f>>>2,Be=m<<6|w>>>26,Me=w<<6|m>>>26,Ke=S<<11|x>>>21,De=x<<11|S>>>21,Te=R<<15|L>>>17,et=L<<15|R>>>17,He=G<<29|F>>>3,Ie=F<<29|G>>>3,dt=z<<28|V>>>4,qe=V<<28|z>>>4,Fe=ie<<23|se>>>9,nt=se<<23|ie>>>9,at=U<<25|W>>>7,it=W<<25|U>>>7,$t=ce<<21|oe>>>11,Pt=oe<<21|ce>>>11,tt=I<<24|K>>>8,yt=K<<24|I>>>8,st=O<<27|q>>>5,Bt=q<<27|O>>>5,ur=te<<20|fe>>>12,br=fe<<20|te>>>12,Dr=J<<7|H>>>25,Ir=H<<7|J>>>25,Or=ee<<8|he>>>24,Rr=he<<8|ee>>>24,Nr=de<<14|ue>>>18,$r=ue<<14|de>>>18;t[0]=Se^~ht&Ke,t[1]=Ae^~ne&De,t[10]=dt^~ur&Ne,t[11]=qe^~br&ke,t[20]=We^~Be&at,t[21]=$e^~Me&it,t[30]=st^~we&ae,t[31]=Bt^~Ze&xe,t[40]=_e^~Fe&Dr,t[41]=Le^~nt&Ir,t[2]=ht^~Ke&$t,t[3]=ne^~De&Pt,t[12]=ur^~Ne&ge,t[13]=br^~ke&ve,t[22]=Be^~at&Or,t[23]=Me^~it&Rr,t[32]=we^~ae&Te,t[33]=Ze^~xe&et,t[42]=Fe^~Dr&Qe,t[43]=nt^~Ir&Ue,t[4]=Ke^~$t&Nr,t[5]=De^~Pt&$r,t[14]=Ne^~ge&He,t[15]=ke^~ve&Ie,t[24]=at^~Or&Pe,t[25]=it^~Rr&ct,t[34]=ae^~Te&tt,t[35]=xe^~et&yt,t[44]=Dr^~Qe&Ve,t[45]=Ir^~Ue&Ce,t[6]=$t^~Nr&Se,t[7]=Pt^~$r&Ae,t[16]=ge^~He&dt,t[17]=ve^~Ie&qe,t[26]=Or^~Pe&We,t[27]=Rr^~ct&$e,t[36]=Te^~tt&st,t[37]=et^~yt&Bt,t[46]=Qe^~Ve&_e,t[47]=Ue^~Ce&Le,t[8]=Nr^~Se&ht,t[9]=$r^~Ae&ne,t[18]=He^~dt&ur,t[19]=Ie^~qe&br,t[28]=Pe^~We&Be,t[29]=ct^~$e&Me,t[38]=tt^~st&we,t[39]=yt^~Bt&Ze,t[48]=Ve^~_e&Fe,t[49]=Ce^~Le&nt,t[0]^=W9[e*2],t[1]^=W9[e*2+1]}};const R1=Lk;function df(){this.state=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.blockSize=null,this.count=0,this.squeezing=!1}df.prototype.initialize=function(t,e){for(let r=0;r<50;++r)this.state[r]=0;this.blockSize=t/8,this.count=0,this.squeezing=!1};df.prototype.absorb=function(t){for(let e=0;e>>8*(this.count%4)&255,this.count+=1,this.count===this.blockSize&&(R1.p1600(this.state),this.count=0);return e};df.prototype.copy=function(t){for(let e=0;e<50;++e)t.state[e]=this.state[e];t.blockSize=this.blockSize,t.count=this.count,t.squeezing=this.squeezing};var Vne=df,c3={exports:{}},A8={exports:{}},gu=typeof Reflect=="object"?Reflect:null,K9=gu&&typeof gu.apply=="function"?gu.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},Bp;gu&&typeof gu.ownKeys=="function"?Bp=gu.ownKeys:Object.getOwnPropertySymbols?Bp=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Bp=function(e){return Object.getOwnPropertyNames(e)};function Wne(t){console&&console.warn&&console.warn(t)}var jk=Number.isNaN||function(e){return e!==e};function qt(){qt.init.call(this)}A8.exports=qt;A8.exports.once=Yne;qt.EventEmitter=qt;qt.prototype._events=void 0;qt.prototype._eventsCount=0;qt.prototype._maxListeners=void 0;var Z9=10;function dm(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(qt,"defaultMaxListeners",{enumerable:!0,get:function(){return Z9},set:function(t){if(typeof t!="number"||t<0||jk(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");Z9=t}});qt.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};qt.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||jk(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function zk(t){return t._maxListeners===void 0?qt.defaultMaxListeners:t._maxListeners}qt.prototype.getMaxListeners=function(){return zk(this)};qt.prototype.emit=function(e){for(var r=[],n=1;n0&&(s=r[0]),s instanceof Error)throw s;var o=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var u=i[e];if(u===void 0)return!1;if(typeof u=="function")K9(u,this,r);else for(var y=u.length,b=Vk(u,y),n=0;n0&&s.length>a&&!s.warned){s.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=t,o.type=e,o.count=s.length,Wne(o)}return t}qt.prototype.addListener=function(e,r){return Uk(this,e,r,!1)};qt.prototype.on=qt.prototype.addListener;qt.prototype.prependListener=function(e,r){return Uk(this,e,r,!0)};function Kne(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Hk(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},a=Kne.bind(n);return a.listener=r,n.wrapFn=a,a}qt.prototype.once=function(e,r){return dm(r),this.on(e,Hk(this,e,r)),this};qt.prototype.prependOnceListener=function(e,r){return dm(r),this.prependListener(e,Hk(this,e,r)),this};qt.prototype.removeListener=function(e,r){var n,a,i,s,o;if(dm(r),a=this._events,a===void 0)return this;if(n=a[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete a[e],a.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(i=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){o=n[s].listener,i=s;break}if(i<0)return this;i===0?n.shift():Zne(n,i),n.length===1&&(a[e]=n[0]),a.removeListener!==void 0&&this.emit("removeListener",e,o||r)}return this};qt.prototype.off=qt.prototype.removeListener;qt.prototype.removeAllListeners=function(e){var r,n,a;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var i=Object.keys(n),s;for(a=0;a=0;a--)this.removeListener(e,r[a]);return this};function Gk(t,e,r){var n=t._events;if(n===void 0)return[];var a=n[e];return a===void 0?[]:typeof a=="function"?r?[a.listener||a]:[a]:r?Jne(a):Vk(a,a.length)}qt.prototype.listeners=function(e){return Gk(this,e,!0)};qt.prototype.rawListeners=function(e){return Gk(this,e,!1)};qt.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):qk.call(t,e)};qt.prototype.listenerCount=qk;function qk(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}qt.prototype.eventNames=function(){return this._eventsCount>0?Bp(this._events):[]};function Vk(t,e){for(var r=new Array(e),n=0;n0?this.tail.next=B:this.head=B,this.tail=B,++this.length}},{key:"unshift",value:function(P){var B={data:P,next:this.head};this.length===0&&(this.tail=B),this.head=B,++this.length}},{key:"shift",value:function(){if(this.length!==0){var P=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,P}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(P){if(this.length===0)return"";for(var B=this.head,D=""+B.data;B=B.next;)D+=P+B.data;return D}},{key:"concat",value:function(P){if(this.length===0)return y.alloc(0);for(var B=y.allocUnsafe(P>>>0),D=this.head,N=0;D;)T(D.data,B,N),N+=D.data.length,D=D.next;return B}},{key:"consume",value:function(P,B){var D;return P$.length?$.length:P;if(j===$.length?N+=$:N+=$.slice(0,P),P-=j,P===0){j===$.length?(++D,B.next?this.head=B.next:this.head=this.tail=null):(this.head=B,B.data=$.slice(j));break}++D}return this.length-=D,N}},{key:"_getBuffer",value:function(P){var B=y.allocUnsafe(P),D=this.head,N=1;for(D.data.copy(B),P-=D.data.length;D=D.next;){var $=D.data,j=P>$.length?$.length:P;if($.copy(B,B.length-P,0,j),P-=j,P===0){j===$.length?(++N,D.next?this.head=D.next:this.head=this.tail=null):(this.head=D,D.data=$.slice(j));break}++N}return this.length-=N,B}},{key:A,value:function(P,B){return _(this,e(e({},B),{},{depth:0,customInspect:!1}))}}]),k}(),iv}function eae(t,e){var r=this,n=this._readableState&&this._readableState.destroyed,a=this._writableState&&this._writableState.destroyed;return n||a?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(u3,this,t)):process.nextTick(u3,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(i){!e&&i?r._writableState?r._writableState.errorEmitted?process.nextTick(kp,r):(r._writableState.errorEmitted=!0,process.nextTick(Y9,r,i)):process.nextTick(Y9,r,i):e?(process.nextTick(kp,r),e(i)):process.nextTick(kp,r)}),this)}function Y9(t,e){u3(t,e),kp(t)}function kp(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function tae(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function u3(t,e){t.emit("error",e)}function rae(t,e){var r=t._readableState,n=t._writableState;r&&r.autoDestroy||n&&n.autoDestroy?t.destroy(e):t.emit("error",e)}var Jk={destroy:eae,undestroy:tae,errorOrDestroy:rae},lc={};function nae(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}var Yk={};function Ya(t,e,r){r||(r=Error);function n(i,s,o){return typeof e=="string"?e:e(i,s,o)}var a=function(i){nae(s,i);function s(o,u,y){return i.call(this,n(o,u,y))||this}return s}(r);a.prototype.name=r.name,a.prototype.code=t,Yk[t]=a}function X9(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map(function(n){return String(n)}),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:r===2?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}else return"of ".concat(e," ").concat(String(t))}function aae(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}function iae(t,e,r){return(r===void 0||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}function sae(t,e,r){return typeof r!="number"&&(r=0),r+e.length>t.length?!1:t.indexOf(e,r)!==-1}Ya("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError);Ya("ERR_INVALID_ARG_TYPE",function(t,e,r){var n;typeof e=="string"&&aae(e,"not ")?(n="must not be",e=e.replace(/^not /,"")):n="must be";var a;if(iae(t," argument"))a="The ".concat(t," ").concat(n," ").concat(X9(e,"type"));else{var i=sae(t,".")?"property":"argument";a='The "'.concat(t,'" ').concat(i," ").concat(n," ").concat(X9(e,"type"))}return a+=". Received type ".concat(typeof r),a},TypeError);Ya("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");Ya("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"});Ya("ERR_STREAM_PREMATURE_CLOSE","Premature close");Ya("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"});Ya("ERR_MULTIPLE_CALLBACK","Callback called multiple times");Ya("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");Ya("ERR_STREAM_WRITE_AFTER_END","write after end");Ya("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);Ya("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError);Ya("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");lc.codes=Yk;var oae=lc.codes.ERR_INVALID_OPT_VALUE;function lae(t,e,r){return t.highWaterMark!=null?t.highWaterMark:e?t[r]:null}function cae(t,e,r,n){var a=lae(e,n,r);if(a!=null){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var i=n?r:"highWaterMark";throw new oae(i,a)}return Math.floor(a)}return t.objectMode?16:16*1024}var Xk={getHighWaterMark:cae},Q9={},uae=fae;function fae(t,e){if(sv("noDeprecation"))return t;var r=!1;function n(){if(!r){if(sv("throwDeprecation"))throw new Error(e);sv("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}return n}function sv(t){try{if(!Q9.localStorage)return!1}catch{return!1}var e=Q9.localStorage[t];return e==null?!1:String(e).toLowerCase()==="true"}var ov,e_;function Qk(){if(e_)return ov;e_=1;var t={};ov=re;function e(G){var z=this;this.next=null,this.entry=null,this.finish=function(){F(z,G)}}var r;re.WritableState=X;var n={deprecate:uae},a=Zk,i=sc.Buffer,s=(typeof t<"u"?t:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function o(G){return i.from(G)}function u(G){return i.isBuffer(G)||G instanceof s}var y=Jk,b=Xk,_=b.getHighWaterMark,A=lc.codes,T=A.ERR_INVALID_ARG_TYPE,k=A.ERR_METHOD_NOT_IMPLEMENTED,C=A.ERR_MULTIPLE_CALLBACK,P=A.ERR_STREAM_CANNOT_PIPE,B=A.ERR_STREAM_DESTROYED,D=A.ERR_STREAM_NULL_VALUES,N=A.ERR_STREAM_WRITE_AFTER_END,$=A.ERR_UNKNOWN_ENCODING,j=y.errorOrDestroy;Tr(re,a);function Z(){}function X(G,z,V){r=r||Lu(),G=G||{},typeof V!="boolean"&&(V=z instanceof r),this.objectMode=!!G.objectMode,V&&(this.objectMode=this.objectMode||!!G.writableObjectMode),this.highWaterMark=_(this,G,"writableHighWaterMark",V),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var se=G.decodeStrings===!1;this.decodeStrings=!se,this.defaultEncoding=G.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(ie){E(z,ie)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=G.emitClose!==!1,this.autoDestroy=!!G.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new e(this)}X.prototype.getBuffer=function(){for(var z=this.bufferedRequest,V=[];z;)V.push(z),z=z.next;return V},function(){try{Object.defineProperty(X.prototype,"buffer",{get:n.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}}();var Y;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(Y=Function.prototype[Symbol.hasInstance],Object.defineProperty(re,Symbol.hasInstance,{value:function(z){return Y.call(this,z)?!0:this!==re?!1:z&&z._writableState instanceof X}})):Y=function(z){return z instanceof this};function re(G){r=r||Lu();var z=this instanceof r;if(!z&&!Y.call(re,this))return new re(G);this._writableState=new X(G,this,z),this.writable=!0,G&&(typeof G.write=="function"&&(this._write=G.write),typeof G.writev=="function"&&(this._writev=G.writev),typeof G.destroy=="function"&&(this._destroy=G.destroy),typeof G.final=="function"&&(this._final=G.final)),a.call(this)}re.prototype.pipe=function(){j(this,new P)};function M(G,z){var V=new N;j(G,V),process.nextTick(z,V)}function l(G,z,V,se){var ie;return V===null?ie=new D:typeof V!="string"&&!z.objectMode&&(ie=new T("chunk",["string","Buffer"],V)),ie?(j(G,ie),process.nextTick(se,ie),!1):!0}re.prototype.write=function(G,z,V){var se=this._writableState,ie=!1,U=!se.objectMode&&u(G);return U&&!i.isBuffer(G)&&(G=o(G)),typeof z=="function"&&(V=z,z=null),U?z="buffer":z||(z=se.defaultEncoding),typeof V!="function"&&(V=Z),se.ending?M(this,V):(U||l(this,se,G,V))&&(se.pendingcb++,ie=h(this,se,U,G,z,V)),ie},re.prototype.cork=function(){this._writableState.corked++},re.prototype.uncork=function(){var G=this._writableState;G.corked&&(G.corked--,!G.writing&&!G.corked&&!G.bufferProcessing&&G.bufferedRequest&&m(this,G))},re.prototype.setDefaultEncoding=function(z){if(typeof z=="string"&&(z=z.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((z+"").toLowerCase())>-1))throw new $(z);return this._writableState.defaultEncoding=z,this},Object.defineProperty(re.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function d(G,z,V){return!G.objectMode&&G.decodeStrings!==!1&&typeof z=="string"&&(z=i.from(z,V)),z}Object.defineProperty(re.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function h(G,z,V,se,ie,U){if(!V){var W=d(z,se,ie);se!==W&&(V=!0,ie="buffer",se=W)}var ce=z.objectMode?1:se.length;z.length+=ce;var oe=z.length>5===6?2:t>>4===14?3:t>>3===30?4:t>>6===2?-1:-2}function pae(t,e,r){var n=e.length-1;if(n=0?(a>0&&(t.lastNeed=a-1),a):--n=0?(a>0&&(t.lastNeed=a-2),a):--n=0?(a>0&&(a===2?a=0:t.lastNeed=a-3),a):0))}function yae(t,e,r){if((e[0]&192)!==128)return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if((e[1]&192)!==128)return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&(e[2]&192)!==128)return t.lastNeed=2,"�"}}function mae(t){var e=this.lastTotal-this.lastNeed,r=yae(this,t);if(r!==void 0)return r;if(this.lastNeed<=t.length)return t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,e,0,t.length),this.lastNeed-=t.length}function bae(t,e){var r=pae(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)}function vae(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e}function gae(t,e){if((t.length-e)%2===0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function xae(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function wae(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function _ae(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function Eae(t){return t.toString(this.encoding)}function Aae(t){return t&&t.length?this.write(t):""}var n_=lc.codes.ERR_STREAM_PREMATURE_CLOSE;function Sae(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,n=new Array(r),a=0;a0)if(typeof W!="string"&&!I.objectMode&&Object.getPrototypeOf(W)!==a.prototype&&(W=s(W)),oe)I.endEmitted?Z(U,new D):d(U,I,W,!0);else if(I.ended)Z(U,new P);else{if(I.destroyed)return!1;I.reading=!1,I.decoder&&!ce?(W=I.decoder.write(W),I.objectMode||W.length!==0?d(U,I,W,!1):m(U,I)):d(U,I,W,!1)}else oe||(I.reading=!1,m(U,I))}return!I.ended&&(I.length=c?U=c:(U--,U|=U>>>1,U|=U>>>2,U|=U>>>4,U|=U>>>8,U|=U>>>16,U++),U}function v(U,W){return U<=0||W.length===0&&W.ended?0:W.objectMode?1:U!==U?W.flowing&&W.length?W.buffer.head.data.length:W.length:(U>W.highWaterMark&&(W.highWaterMark=p(U)),U<=W.length?U:W.ended?W.length:(W.needReadable=!0,0))}M.prototype.read=function(U){y("read",U),U=parseInt(U,10);var W=this._readableState,ce=U;if(U!==0&&(W.emittedReadable=!1),U===0&&W.needReadable&&((W.highWaterMark!==0?W.length>=W.highWaterMark:W.length>0)||W.ended))return y("read: emitReadable",W.length,W.ended),W.length===0&&W.ended?V(this):g(this),null;if(U=v(U,W),U===0&&W.ended)return W.length===0&&V(this),null;var oe=W.needReadable;y("need readable",oe),(W.length===0||W.length-U0?K=z(U,W):K=null,K===null?(W.needReadable=W.length<=W.highWaterMark,U=0):(W.length-=U,W.awaitDrain=0),W.length===0&&(W.ended||(W.needReadable=!0),ce!==U&&W.ended&&V(this)),K!==null&&this.emit("data",K),K};function E(U,W){if(y("onEofChunk"),!W.ended){if(W.decoder){var ce=W.decoder.end();ce&&ce.length&&(W.buffer.push(ce),W.length+=W.objectMode?1:ce.length)}W.ended=!0,W.sync?g(U):(W.needReadable=!1,W.emittedReadable||(W.emittedReadable=!0,f(U)))}}function g(U){var W=U._readableState;y("emitReadable",W.needReadable,W.emittedReadable),W.needReadable=!1,W.emittedReadable||(y("emitReadable",W.flowing),W.emittedReadable=!0,process.nextTick(f,U))}function f(U){var W=U._readableState;y("emitReadable_",W.destroyed,W.length,W.ended),!W.destroyed&&(W.length||W.ended)&&(U.emit("readable"),W.emittedReadable=!1),W.needReadable=!W.flowing&&!W.ended&&W.length<=W.highWaterMark,G(U)}function m(U,W){W.readingMore||(W.readingMore=!0,process.nextTick(w,U,W))}function w(U,W){for(;!W.reading&&!W.ended&&(W.length1&&ie(oe.pipes,U)!==-1)&&!fe&&(y("false write response, pause",oe.awaitDrain),oe.awaitDrain++),ce.pause())}function ee(Se){y("onerror",Se),ue(),U.removeListener("error",ee),r(U,"error")===0&&Z(U,Se)}Y(U,"error",ee);function he(){U.removeListener("finish",de),ue()}U.once("close",he);function de(){y("onfinish"),U.removeListener("close",he),ue()}U.once("finish",de);function ue(){y("unpipe"),ce.unpipe(U)}return U.emit("pipe",ce),oe.flowing||(y("pipe resume"),ce.resume()),U};function x(U){return function(){var ce=U._readableState;y("pipeOnDrain",ce.awaitDrain),ce.awaitDrain&&ce.awaitDrain--,ce.awaitDrain===0&&r(U,"data")&&(ce.flowing=!0,G(U))}}M.prototype.unpipe=function(U){var W=this._readableState,ce={hasUnpiped:!1};if(W.pipesCount===0)return this;if(W.pipesCount===1)return U&&U!==W.pipes?this:(U||(U=W.pipes),W.pipes=null,W.pipesCount=0,W.flowing=!1,U&&U.emit("unpipe",this,ce),this);if(!U){var oe=W.pipes,K=W.pipesCount;W.pipes=null,W.pipesCount=0,W.flowing=!1;for(var I=0;I0,oe.flowing!==!1&&this.resume()):U==="readable"&&!oe.endEmitted&&!oe.readableListening&&(oe.readableListening=oe.needReadable=!0,oe.flowing=!1,oe.emittedReadable=!1,y("on readable",oe.length,oe.reading),oe.length?g(this):oe.reading||process.nextTick(R,this)),ce},M.prototype.addListener=M.prototype.on,M.prototype.removeListener=function(U,W){var ce=n.prototype.removeListener.call(this,U,W);return U==="readable"&&process.nextTick(S,this),ce},M.prototype.removeAllListeners=function(U){var W=n.prototype.removeAllListeners.apply(this,arguments);return(U==="readable"||U===void 0)&&process.nextTick(S,this),W};function S(U){var W=U._readableState;W.readableListening=U.listenerCount("readable")>0,W.resumeScheduled&&!W.paused?W.flowing=!0:U.listenerCount("data")>0&&U.resume()}function R(U){y("readable nexttick read 0"),U.read(0)}M.prototype.resume=function(){var U=this._readableState;return U.flowing||(y("resume"),U.flowing=!U.readableListening,L(this,U)),U.paused=!1,this};function L(U,W){W.resumeScheduled||(W.resumeScheduled=!0,process.nextTick(F,U,W))}function F(U,W){y("resume",W.reading),W.reading||U.read(0),W.resumeScheduled=!1,U.emit("resume"),G(U),W.flowing&&!W.reading&&U.read(0)}M.prototype.pause=function(){return y("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(y("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function G(U){var W=U._readableState;for(y("flow",W.flowing);W.flowing&&U.read()!==null;);}M.prototype.wrap=function(U){var W=this,ce=this._readableState,oe=!1;U.on("end",function(){if(y("wrapped end"),ce.decoder&&!ce.ended){var O=ce.decoder.end();O&&O.length&&W.push(O)}W.push(null)}),U.on("data",function(O){if(y("wrapped data"),ce.decoder&&(O=ce.decoder.write(O)),!(ce.objectMode&&O==null)&&!(!ce.objectMode&&(!O||!O.length))){var q=W.push(O);q||(oe=!0,U.pause())}});for(var K in U)this[K]===void 0&&typeof U[K]=="function"&&(this[K]=function(q){return function(){return U[q].apply(U,arguments)}}(K));for(var I=0;I=W.length?(W.decoder?ce=W.buffer.join(""):W.buffer.length===1?ce=W.buffer.first():ce=W.buffer.concat(W.length),W.buffer.clear()):ce=W.buffer.consume(U,W.decoder),ce}function V(U){var W=U._readableState;y("endReadable",W.endEmitted),W.endEmitted||(W.ended=!0,process.nextTick(se,W,U))}function se(U,W){if(y("endReadableNT",U.endEmitted,U.length),!U.endEmitted&&U.length===0&&(U.endEmitted=!0,W.readable=!1,W.emit("end"),U.autoDestroy)){var ce=W._writableState;(!ce||ce.autoDestroy&&ce.finished)&&W.destroy()}}typeof Symbol=="function"&&(M.from=function(U,W){return j===void 0&&(j=Bae()),j(M,U,W)});function ie(U,W){for(var ce=0,oe=U.length;ce0;return zae(s,u,y,function(b){a||(a=b),b&&i.forEach(c_),!u&&(i.forEach(c_),n(a))})});return e.reduce(Uae)}var qae=Gae;(function(t,e){e=t.exports=tF(),e.Stream=e,e.Readable=e,e.Writable=Qk(),e.Duplex=Lu(),e.Transform=rF,e.PassThrough=Rae,e.finished=C8,e.pipeline=qae})(c3,c3.exports);var T8=c3.exports;const{Transform:Vae}=T8;var Wae=t=>class iF extends Vae{constructor(r,n,a,i,s){super(s),this._rate=r,this._capacity=n,this._delimitedSuffix=a,this._hashBitLength=i,this._options=s,this._state=new t,this._state.initialize(r,n),this._finalized=!1}_transform(r,n,a){let i=null;try{this.update(r,n)}catch(s){i=s}a(i)}_flush(r){let n=null;try{this.push(this.digest())}catch(a){n=a}r(n)}update(r,n){if(!Buffer.isBuffer(r)&&typeof r!="string")throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Digest already called");return Buffer.isBuffer(r)||(r=Buffer.from(r,n)),this._state.absorb(r),this}digest(r){if(this._finalized)throw new Error("Digest already called");this._finalized=!0,this._delimitedSuffix&&this._state.absorbLastFewBits(this._delimitedSuffix);let n=this._state.squeeze(this._hashBitLength/8);return r!==void 0&&(n=n.toString(r)),this._resetState(),n}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){const r=new iF(this._rate,this._capacity,this._delimitedSuffix,this._hashBitLength,this._options);return this._state.copy(r._state),r._finalized=this._finalized,r}};const{Transform:Kae}=T8;var Zae=t=>class sF extends Kae{constructor(r,n,a,i){super(i),this._rate=r,this._capacity=n,this._delimitedSuffix=a,this._options=i,this._state=new t,this._state.initialize(r,n),this._finalized=!1}_transform(r,n,a){let i=null;try{this.update(r,n)}catch(s){i=s}a(i)}_flush(){}_read(r){this.push(this.squeeze(r))}update(r,n){if(!Buffer.isBuffer(r)&&typeof r!="string")throw new TypeError("Data must be a string or a buffer");if(this._finalized)throw new Error("Squeeze already called");return Buffer.isBuffer(r)||(r=Buffer.from(r,n)),this._state.absorb(r),this}squeeze(r,n){this._finalized||(this._finalized=!0,this._state.absorbLastFewBits(this._delimitedSuffix));let a=this._state.squeeze(r);return n!==void 0&&(a=a.toString(n)),a}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){const r=new sF(this._rate,this._capacity,this._delimitedSuffix,this._options);return this._state.copy(r._state),r._finalized=this._finalized,r}};const Jae=Wae,Yae=Zae;var Xae=function(t){const e=Jae(t),r=Yae(t);return function(n,a){switch(typeof n=="string"?n.toLowerCase():n){case"keccak224":return new e(1152,448,null,224,a);case"keccak256":return new e(1088,512,null,256,a);case"keccak384":return new e(832,768,null,384,a);case"keccak512":return new e(576,1024,null,512,a);case"sha3-224":return new e(1152,448,6,224,a);case"sha3-256":return new e(1088,512,6,256,a);case"sha3-384":return new e(832,768,6,384,a);case"sha3-512":return new e(576,1024,6,512,a);case"shake128":return new r(1344,256,31,a);case"shake256":return new r(1088,512,31,a);default:throw new Error("Invald algorithm: "+n)}}},Qae=Xae(Vne);Object.defineProperty(ff,"__esModule",{value:!0});var ym=E8,mm=Qae;ff.keccak224=ym.createHashFunction(function(){return mm("keccak224")});ff.keccak256=ym.createHashFunction(function(){return mm("keccak256")});ff.keccak384=ym.createHashFunction(function(){return mm("keccak384")});ff.keccak512=ym.createHashFunction(function(){return mm("keccak512")});var $1=Ja.Buffer,oF=T8.Transform,eie=Tr;function tie(t,e){if(!$1.isBuffer(t)&&typeof t!="string")throw new TypeError(e+" must be a string or a buffer")}function Jo(t){oF.call(this),this._block=$1.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}eie(Jo,oF);Jo.prototype._transform=function(t,e,r){var n=null;try{this.update(t,e)}catch(a){n=a}r(n)};Jo.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(r){e=r}t(e)};Jo.prototype.update=function(t,e){if(tie(t,"Data"),this._finalized)throw new Error("Digest already called");$1.isBuffer(t)||(t=$1.from(t,e));for(var r=this._block,n=0;this._blockOffset+t.length-n>=this._blockSize;){for(var a=this._blockOffset;a0;++i)this._length[i]+=s,s=this._length[i]/4294967296|0,s>0&&(this._length[i]-=4294967296*s);return this};Jo.prototype._update=function(){throw new Error("_update is not implemented")};Jo.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();t!==void 0&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e};Jo.prototype._digest=function(){throw new Error("_digest is not implemented")};var lF=Jo,rie=Tr,cF=lF,nie=Ja.Buffer,aie=new Array(16);function bm(){cF.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}rie(bm,cF);bm.prototype._update=function(){for(var t=aie,e=0;e<16;++e)t[e]=this._block.readInt32LE(e*4);var r=this._a,n=this._b,a=this._c,i=this._d;r=yn(r,n,a,i,t[0],3614090360,7),i=yn(i,r,n,a,t[1],3905402710,12),a=yn(a,i,r,n,t[2],606105819,17),n=yn(n,a,i,r,t[3],3250441966,22),r=yn(r,n,a,i,t[4],4118548399,7),i=yn(i,r,n,a,t[5],1200080426,12),a=yn(a,i,r,n,t[6],2821735955,17),n=yn(n,a,i,r,t[7],4249261313,22),r=yn(r,n,a,i,t[8],1770035416,7),i=yn(i,r,n,a,t[9],2336552879,12),a=yn(a,i,r,n,t[10],4294925233,17),n=yn(n,a,i,r,t[11],2304563134,22),r=yn(r,n,a,i,t[12],1804603682,7),i=yn(i,r,n,a,t[13],4254626195,12),a=yn(a,i,r,n,t[14],2792965006,17),n=yn(n,a,i,r,t[15],1236535329,22),r=mn(r,n,a,i,t[1],4129170786,5),i=mn(i,r,n,a,t[6],3225465664,9),a=mn(a,i,r,n,t[11],643717713,14),n=mn(n,a,i,r,t[0],3921069994,20),r=mn(r,n,a,i,t[5],3593408605,5),i=mn(i,r,n,a,t[10],38016083,9),a=mn(a,i,r,n,t[15],3634488961,14),n=mn(n,a,i,r,t[4],3889429448,20),r=mn(r,n,a,i,t[9],568446438,5),i=mn(i,r,n,a,t[14],3275163606,9),a=mn(a,i,r,n,t[3],4107603335,14),n=mn(n,a,i,r,t[8],1163531501,20),r=mn(r,n,a,i,t[13],2850285829,5),i=mn(i,r,n,a,t[2],4243563512,9),a=mn(a,i,r,n,t[7],1735328473,14),n=mn(n,a,i,r,t[12],2368359562,20),r=bn(r,n,a,i,t[5],4294588738,4),i=bn(i,r,n,a,t[8],2272392833,11),a=bn(a,i,r,n,t[11],1839030562,16),n=bn(n,a,i,r,t[14],4259657740,23),r=bn(r,n,a,i,t[1],2763975236,4),i=bn(i,r,n,a,t[4],1272893353,11),a=bn(a,i,r,n,t[7],4139469664,16),n=bn(n,a,i,r,t[10],3200236656,23),r=bn(r,n,a,i,t[13],681279174,4),i=bn(i,r,n,a,t[0],3936430074,11),a=bn(a,i,r,n,t[3],3572445317,16),n=bn(n,a,i,r,t[6],76029189,23),r=bn(r,n,a,i,t[9],3654602809,4),i=bn(i,r,n,a,t[12],3873151461,11),a=bn(a,i,r,n,t[15],530742520,16),n=bn(n,a,i,r,t[2],3299628645,23),r=vn(r,n,a,i,t[0],4096336452,6),i=vn(i,r,n,a,t[7],1126891415,10),a=vn(a,i,r,n,t[14],2878612391,15),n=vn(n,a,i,r,t[5],4237533241,21),r=vn(r,n,a,i,t[12],1700485571,6),i=vn(i,r,n,a,t[3],2399980690,10),a=vn(a,i,r,n,t[10],4293915773,15),n=vn(n,a,i,r,t[1],2240044497,21),r=vn(r,n,a,i,t[8],1873313359,6),i=vn(i,r,n,a,t[15],4264355552,10),a=vn(a,i,r,n,t[6],2734768916,15),n=vn(n,a,i,r,t[13],1309151649,21),r=vn(r,n,a,i,t[4],4149444226,6),i=vn(i,r,n,a,t[11],3174756917,10),a=vn(a,i,r,n,t[2],718787259,15),n=vn(n,a,i,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+n|0,this._c=this._c+a|0,this._d=this._d+i|0};bm.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=nie.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t};function vm(t,e){return t<>>32-e}function yn(t,e,r,n,a,i,s){return vm(t+(e&r|~e&n)+a+i|0,s)+e|0}function mn(t,e,r,n,a,i,s){return vm(t+(e&n|r&~n)+a+i|0,s)+e|0}function bn(t,e,r,n,a,i,s){return vm(t+(e^r^n)+a+i|0,s)+e|0}function vn(t,e,r,n,a,i,s){return vm(t+(r^(e|~n))+a+i|0,s)+e|0}var iie=bm,pv=sc.Buffer,sie=Tr,uF=lF,oie=new Array(16),Vf=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],Wf=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],Kf=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Zf=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],Jf=[0,1518500249,1859775393,2400959708,2840853838],Yf=[1352829926,1548603684,1836072691,2053994217,0];function gm(){uF.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}sie(gm,uF);gm.prototype._update=function(){for(var t=oie,e=0;e<16;++e)t[e]=this._block.readInt32LE(e*4);for(var r=this._a|0,n=this._b|0,a=this._c|0,i=this._d|0,s=this._e|0,o=this._a|0,u=this._b|0,y=this._c|0,b=this._d|0,_=this._e|0,A=0;A<80;A+=1){var T,k;A<16?(T=u_(r,n,a,i,s,t[Vf[A]],Jf[0],Kf[A]),k=p_(o,u,y,b,_,t[Wf[A]],Yf[0],Zf[A])):A<32?(T=f_(r,n,a,i,s,t[Vf[A]],Jf[1],Kf[A]),k=h_(o,u,y,b,_,t[Wf[A]],Yf[1],Zf[A])):A<48?(T=d_(r,n,a,i,s,t[Vf[A]],Jf[2],Kf[A]),k=d_(o,u,y,b,_,t[Wf[A]],Yf[2],Zf[A])):A<64?(T=h_(r,n,a,i,s,t[Vf[A]],Jf[3],Kf[A]),k=f_(o,u,y,b,_,t[Wf[A]],Yf[3],Zf[A])):(T=p_(r,n,a,i,s,t[Vf[A]],Jf[4],Kf[A]),k=u_(o,u,y,b,_,t[Wf[A]],Yf[4],Zf[A])),r=s,s=i,i=Gl(a,10),a=n,n=T,o=_,_=b,b=Gl(y,10),y=u,u=k}var C=this._b+a+b|0;this._b=this._c+i+_|0,this._c=this._d+s+o|0,this._d=this._e+r+u|0,this._e=this._a+n+y|0,this._a=C};gm.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=pv.alloc?pv.alloc(20):new pv(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t};function Gl(t,e){return t<>>32-e}function u_(t,e,r,n,a,i,s,o){return Gl(t+(e^r^n)+i+s|0,o)+a|0}function f_(t,e,r,n,a,i,s,o){return Gl(t+(e&r|~e&n)+i+s|0,o)+a|0}function d_(t,e,r,n,a,i,s,o){return Gl(t+((e|~r)^n)+i+s|0,o)+a|0}function h_(t,e,r,n,a,i,s,o){return Gl(t+(e&n|r&~n)+i+s|0,o)+a|0}function p_(t,e,r,n,a,i,s,o){return Gl(t+(e^(r|~n))+i+s|0,o)+a|0}var lie=gm,fF={exports:{}},dF=Ja.Buffer;function xm(t,e){this._block=dF.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}xm.prototype.update=function(t,e){typeof t=="string"&&(e=e||"utf8",t=dF.from(t,e));for(var r=this._block,n=this._blockSize,a=t.length,i=this._len,s=0;s=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=this._len*8;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(r&4294967295)>>>0,a=(r-n)/4294967296;this._block.writeUInt32BE(a,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var i=this._hash();return t?i.toString(t):i};xm.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var hf=xm,cie=Tr,hF=hf,uie=Ja.Buffer,fie=[1518500249,1859775393,-1894007588,-899497514],die=new Array(80);function X0(){this.init(),this._w=die,hF.call(this,64,56)}cie(X0,hF);X0.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function hie(t){return t<<5|t>>>27}function pie(t){return t<<30|t>>>2}function yie(t,e,r,n){return t===0?e&r|~e&n:t===2?e&r|e&n|r&n:e^r^n}X0.prototype._update=function(t){for(var e=this._w,r=this._a|0,n=this._b|0,a=this._c|0,i=this._d|0,s=this._e|0,o=0;o<16;++o)e[o]=t.readInt32BE(o*4);for(;o<80;++o)e[o]=e[o-3]^e[o-8]^e[o-14]^e[o-16];for(var u=0;u<80;++u){var y=~~(u/20),b=hie(r)+yie(y,n,a,i)+s+e[u]+fie[y]|0;s=i,i=a,a=pie(n),n=r,r=b}this._a=r+this._a|0,this._b=n+this._b|0,this._c=a+this._c|0,this._d=i+this._d|0,this._e=s+this._e|0};X0.prototype._hash=function(){var t=uie.allocUnsafe(20);return t.writeInt32BE(this._a|0,0),t.writeInt32BE(this._b|0,4),t.writeInt32BE(this._c|0,8),t.writeInt32BE(this._d|0,12),t.writeInt32BE(this._e|0,16),t};var mie=X0,bie=Tr,pF=hf,vie=Ja.Buffer,gie=[1518500249,1859775393,-1894007588,-899497514],xie=new Array(80);function Q0(){this.init(),this._w=xie,pF.call(this,64,56)}bie(Q0,pF);Q0.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function wie(t){return t<<1|t>>>31}function _ie(t){return t<<5|t>>>27}function Eie(t){return t<<30|t>>>2}function Aie(t,e,r,n){return t===0?e&r|~e&n:t===2?e&r|e&n|r&n:e^r^n}Q0.prototype._update=function(t){for(var e=this._w,r=this._a|0,n=this._b|0,a=this._c|0,i=this._d|0,s=this._e|0,o=0;o<16;++o)e[o]=t.readInt32BE(o*4);for(;o<80;++o)e[o]=wie(e[o-3]^e[o-8]^e[o-14]^e[o-16]);for(var u=0;u<80;++u){var y=~~(u/20),b=_ie(r)+Aie(y,n,a,i)+s+e[u]+gie[y]|0;s=i,i=a,a=Eie(n),n=r,r=b}this._a=r+this._a|0,this._b=n+this._b|0,this._c=a+this._c|0,this._d=i+this._d|0,this._e=s+this._e|0};Q0.prototype._hash=function(){var t=vie.allocUnsafe(20);return t.writeInt32BE(this._a|0,0),t.writeInt32BE(this._b|0,4),t.writeInt32BE(this._c|0,8),t.writeInt32BE(this._d|0,12),t.writeInt32BE(this._e|0,16),t};var Sie=Q0,Cie=Tr,yF=hf,Tie=Ja.Buffer,Mie=[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],Bie=new Array(64);function eh(){this.init(),this._w=Bie,yF.call(this,64,56)}Cie(eh,yF);eh.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this};function kie(t,e,r){return r^t&(e^r)}function Fie(t,e,r){return t&e|r&(t|e)}function Pie(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function Die(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function Iie(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function Oie(t){return(t>>>17|t<<15)^(t>>>19|t<<13)^t>>>10}eh.prototype._update=function(t){for(var e=this._w,r=this._a|0,n=this._b|0,a=this._c|0,i=this._d|0,s=this._e|0,o=this._f|0,u=this._g|0,y=this._h|0,b=0;b<16;++b)e[b]=t.readInt32BE(b*4);for(;b<64;++b)e[b]=Oie(e[b-2])+e[b-7]+Iie(e[b-15])+e[b-16]|0;for(var _=0;_<64;++_){var A=y+Die(s)+kie(s,o,u)+Mie[_]+e[_]|0,T=Pie(r)+Fie(r,n,a)|0;y=u,u=o,o=s,s=i+A|0,i=a,a=n,n=r,r=A+T|0}this._a=r+this._a|0,this._b=n+this._b|0,this._c=a+this._c|0,this._d=i+this._d|0,this._e=s+this._e|0,this._f=o+this._f|0,this._g=u+this._g|0,this._h=y+this._h|0};eh.prototype._hash=function(){var t=Tie.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t};var mF=eh,Rie=Tr,Nie=mF,$ie=hf,Lie=Ja.Buffer,jie=new Array(64);function wm(){this.init(),this._w=jie,$ie.call(this,64,56)}Rie(wm,Nie);wm.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this};wm.prototype._hash=function(){var t=Lie.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t};var zie=wm,Uie=Tr,bF=hf,Hie=Ja.Buffer,y_=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],Gie=new Array(160);function th(){this.init(),this._w=Gie,bF.call(this,128,112)}Uie(th,bF);th.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this};function m_(t,e,r){return r^t&(e^r)}function b_(t,e,r){return t&e|r&(t|e)}function v_(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function g_(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function qie(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function Vie(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function Wie(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function Kie(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function Hr(t,e){return t>>>0>>0?1:0}th.prototype._update=function(t){for(var e=this._w,r=this._ah|0,n=this._bh|0,a=this._ch|0,i=this._dh|0,s=this._eh|0,o=this._fh|0,u=this._gh|0,y=this._hh|0,b=this._al|0,_=this._bl|0,A=this._cl|0,T=this._dl|0,k=this._el|0,C=this._fl|0,P=this._gl|0,B=this._hl|0,D=0;D<32;D+=2)e[D]=t.readInt32BE(D*4),e[D+1]=t.readInt32BE(D*4+4);for(;D<160;D+=2){var N=e[D-30],$=e[D-15*2+1],j=qie(N,$),Z=Vie($,N);N=e[D-2*2],$=e[D-2*2+1];var X=Wie(N,$),Y=Kie($,N),re=e[D-7*2],M=e[D-7*2+1],l=e[D-16*2],d=e[D-16*2+1],h=Z+M|0,c=j+re+Hr(h,Z)|0;h=h+Y|0,c=c+X+Hr(h,Y)|0,h=h+d|0,c=c+l+Hr(h,d)|0,e[D]=c,e[D+1]=h}for(var p=0;p<160;p+=2){c=e[p],h=e[p+1];var v=b_(r,n,a),E=b_(b,_,A),g=v_(r,b),f=v_(b,r),m=g_(s,k),w=g_(k,s),x=y_[p],S=y_[p+1],R=m_(s,o,u),L=m_(k,C,P),F=B+w|0,G=y+m+Hr(F,B)|0;F=F+L|0,G=G+R+Hr(F,L)|0,F=F+S|0,G=G+x+Hr(F,S)|0,F=F+h|0,G=G+c+Hr(F,h)|0;var z=f+E|0,V=g+v+Hr(z,f)|0;y=u,B=P,u=o,P=C,o=s,C=k,k=T+F|0,s=i+G+Hr(k,T)|0,i=a,T=A,a=n,A=_,n=r,_=b,b=F+z|0,r=G+V+Hr(b,F)|0}this._al=this._al+b|0,this._bl=this._bl+_|0,this._cl=this._cl+A|0,this._dl=this._dl+T|0,this._el=this._el+k|0,this._fl=this._fl+C|0,this._gl=this._gl+P|0,this._hl=this._hl+B|0,this._ah=this._ah+r+Hr(this._al,b)|0,this._bh=this._bh+n+Hr(this._bl,_)|0,this._ch=this._ch+a+Hr(this._cl,A)|0,this._dh=this._dh+i+Hr(this._dl,T)|0,this._eh=this._eh+s+Hr(this._el,k)|0,this._fh=this._fh+o+Hr(this._fl,C)|0,this._gh=this._gh+u+Hr(this._gl,P)|0,this._hh=this._hh+y+Hr(this._hl,B)|0};th.prototype._hash=function(){var t=Hie.allocUnsafe(64);function e(r,n,a){t.writeInt32BE(r,a),t.writeInt32BE(n,a+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t};var vF=th,Zie=Tr,Jie=vF,Yie=hf,Xie=Ja.Buffer,Qie=new Array(160);function _m(){this.init(),this._w=Qie,Yie.call(this,128,112)}Zie(_m,Jie);_m.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this};_m.prototype._hash=function(){var t=Xie.allocUnsafe(48);function e(r,n,a){t.writeInt32BE(r,a),t.writeInt32BE(n,a+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t};var ese=_m,cc=fF.exports=function(e){e=e.toLowerCase();var r=cc[e];if(!r)throw new Error(e+" is not supported (we accept pull requests)");return new r};cc.sha=mie;cc.sha1=Sie;cc.sha224=zie;cc.sha256=mF;cc.sha384=ese;cc.sha512=vF;var tse=fF.exports,gF=Ja.Buffer,xF=Ju.Transform,rse=N1.StringDecoder,nse=Tr;function Si(t){xF.call(this),this.hashMode=typeof t=="string",this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}nse(Si,xF);Si.prototype.update=function(t,e,r){typeof t=="string"&&(t=gF.from(t,e));var n=this._update(t);return this.hashMode?this:(r&&(n=this._toString(n,r)),n)};Si.prototype.setAutoPadding=function(){};Si.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")};Si.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")};Si.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")};Si.prototype._transform=function(t,e,r){var n;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(a){n=a}finally{r(n)}};Si.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(r){e=r}t(e)};Si.prototype._finalOrDigest=function(t){var e=this.__final()||gF.alloc(0);return t&&(e=this._toString(e,t,!0)),e};Si.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new rse(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var n=this._decoder.write(t);return r&&(n+=this._decoder.end()),n};var ase=Si,ise=Tr,sse=iie,ose=lie,lse=tse,wF=ase;function Em(t){wF.call(this,"digest"),this._hash=t}ise(Em,wF);Em.prototype._update=function(t){this._hash.update(t)};Em.prototype._final=function(){return this._hash.digest()};var cse=function(e){return e=e.toLowerCase(),e==="md5"?new sse:e==="rmd160"||e==="ripemd160"?new ose:new Em(lse(e))};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.rlphash=t.ripemd160FromArray=t.ripemd160FromString=t.ripemd160=t.sha256FromArray=t.sha256FromString=t.sha256=t.keccakFromArray=t.keccakFromHexString=t.keccakFromString=t.keccak256=t.keccak=void 0;var e=ff,r=cse,n=aa,a=Zo,i=da,s=function($,j){switch(j===void 0&&(j=256),(0,i.assertIsBuffer)($),j){case 224:return(0,e.keccak224)($);case 256:return(0,e.keccak256)($);case 384:return(0,e.keccak384)($);case 512:return(0,e.keccak512)($);default:throw new Error("Invald algorithm: keccak".concat(j))}};t.keccak=s;var o=function($){return(0,t.keccak)($)};t.keccak256=o;var u=function($,j){j===void 0&&(j=256),(0,i.assertIsString)($);var Z=Buffer.from($,"utf8");return(0,t.keccak)(Z,j)};t.keccakFromString=u;var y=function($,j){return j===void 0&&(j=256),(0,i.assertIsHexString)($),(0,t.keccak)((0,a.toBuffer)($),j)};t.keccakFromHexString=y;var b=function($,j){return j===void 0&&(j=256),(0,i.assertIsArray)($),(0,t.keccak)((0,a.toBuffer)($),j)};t.keccakFromArray=b;var _=function($){return $=(0,a.toBuffer)($),r("sha256").update($).digest()},A=function($){return(0,i.assertIsBuffer)($),_($)};t.sha256=A;var T=function($){return(0,i.assertIsString)($),_($)};t.sha256FromString=T;var k=function($){return(0,i.assertIsArray)($),_($)};t.sha256FromArray=k;var C=function($,j){$=(0,a.toBuffer)($);var Z=r("rmd160").update($).digest();return j===!0?(0,a.setLengthLeft)(Z,32):Z},P=function($,j){return(0,i.assertIsBuffer)($),C($,j)};t.ripemd160=P;var B=function($,j){return(0,i.assertIsString)($),C($,j)};t.ripemd160FromString=B;var D=function($,j){return(0,i.assertIsArray)($),C($,j)};t.ripemd160FromArray=D;var N=function($){return(0,t.keccak)(n.rlp.encode($))};t.rlphash=N})(fm);var Am={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.toType=t.TypeOutput=t.bnToRlp=t.bnToUnpaddedBuffer=t.bnToHex=void 0;var e=aa,r=Wt,n=Zo;function a(y){return"0x".concat(y.toString(16))}t.bnToHex=a;function i(y){return(0,n.unpadBuffer)(y.toArrayLike(Buffer))}t.bnToUnpaddedBuffer=i;function s(y){return i(y)}t.bnToRlp=s;var o;(function(y){y[y.Number=0]="Number",y[y.BN=1]="BN",y[y.Buffer=2]="Buffer",y[y.PrefixedHexString=3]="PrefixedHexString"})(o=t.TypeOutput||(t.TypeOutput={}));function u(y,b){if(y===null)return null;if(y!==void 0){if(typeof y=="string"&&!(0,r.isHexString)(y))throw new Error("A string must be provided with a 0x-prefix, given: ".concat(y));if(typeof y=="number"&&!Number.isSafeInteger(y))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");var _=(0,n.toBuffer)(y);if(b===o.Buffer)return _;if(b===o.BN)return new e.BN(_);if(b===o.Number){var A=new e.BN(_),T=new e.BN(Number.MAX_SAFE_INTEGER.toString());if(A.gt(T))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)");return A.toNumber()}else return"0x".concat(_.toString("hex"))}}t.toType=u})(Am);(function(t){var e=ye&&ye.__read||function(M,l){var d=typeof Symbol=="function"&&M[Symbol.iterator];if(!d)return M;var h=d.call(M),c,p=[],v;try{for(;(l===void 0||l-- >0)&&!(c=h.next()).done;)p.push(c.value)}catch(E){v={error:E}}finally{try{c&&!c.done&&(d=h.return)&&d.call(h)}finally{if(v)throw v.error}}return p},r=ye&&ye.__importDefault||function(M){return M&&M.__esModule?M:{default:M}};Object.defineProperty(t,"__esModule",{value:!0}),t.isZeroAddress=t.zeroAddress=t.importPublic=t.privateToAddress=t.privateToPublic=t.publicToAddress=t.pubToAddress=t.isValidPublic=t.isValidPrivate=t.generateAddress2=t.generateAddress=t.isValidChecksumAddress=t.toChecksumAddress=t.isValidAddress=t.Account=void 0;var n=r(S0()),a=aa,i=y8,s=Wt,o=o8,u=Zo,y=fm,b=da,_=Am,A=function(){function M(l,d,h,c){l===void 0&&(l=new a.BN(0)),d===void 0&&(d=new a.BN(0)),h===void 0&&(h=o.KECCAK256_RLP),c===void 0&&(c=o.KECCAK256_NULL),this.nonce=l,this.balance=d,this.stateRoot=h,this.codeHash=c,this._validate()}return M.fromAccountData=function(l){var d=l.nonce,h=l.balance,c=l.stateRoot,p=l.codeHash;return new M(d?new a.BN((0,u.toBuffer)(d)):void 0,h?new a.BN((0,u.toBuffer)(h)):void 0,c?(0,u.toBuffer)(c):void 0,p?(0,u.toBuffer)(p):void 0)},M.fromRlpSerializedAccount=function(l){var d=a.rlp.decode(l);if(!Array.isArray(d))throw new Error("Invalid serialized account input. Must be array");return this.fromValuesArray(d)},M.fromValuesArray=function(l){var d=e(l,4),h=d[0],c=d[1],p=d[2],v=d[3];return new M(new a.BN(h),new a.BN(c),p,v)},M.prototype._validate=function(){if(this.nonce.lt(new a.BN(0)))throw new Error("nonce must be greater than zero");if(this.balance.lt(new a.BN(0)))throw new Error("balance must be greater than zero");if(this.stateRoot.length!==32)throw new Error("stateRoot must have a length of 32");if(this.codeHash.length!==32)throw new Error("codeHash must have a length of 32")},M.prototype.raw=function(){return[(0,_.bnToUnpaddedBuffer)(this.nonce),(0,_.bnToUnpaddedBuffer)(this.balance),this.stateRoot,this.codeHash]},M.prototype.serialize=function(){return a.rlp.encode(this.raw())},M.prototype.isContract=function(){return!this.codeHash.equals(o.KECCAK256_NULL)},M.prototype.isEmpty=function(){return this.balance.isZero()&&this.nonce.isZero()&&this.codeHash.equals(o.KECCAK256_NULL)},M}();t.Account=A;var T=function(M){try{(0,b.assertIsString)(M)}catch{return!1}return/^0x[0-9a-fA-F]{40}$/.test(M)};t.isValidAddress=T;var k=function(M,l){(0,b.assertIsHexString)(M);var d=(0,s.stripHexPrefix)(M).toLowerCase(),h="";if(l){var c=(0,_.toType)(l,_.TypeOutput.BN);h=c.toString()+"0x"}for(var p=(0,y.keccakFromString)(h+d).toString("hex"),v="0x",E=0;E=8?v+=d[E].toUpperCase():v+=d[E];return v};t.toChecksumAddress=k;var C=function(M,l){return(0,t.isValidAddress)(M)&&(0,t.toChecksumAddress)(M,l)===M};t.isValidChecksumAddress=C;var P=function(M,l){(0,b.assertIsBuffer)(M),(0,b.assertIsBuffer)(l);var d=new a.BN(l);return d.isZero()?(0,y.rlphash)([M,null]).slice(-20):(0,y.rlphash)([M,Buffer.from(d.toArray())]).slice(-20)};t.generateAddress=P;var B=function(M,l,d){(0,b.assertIsBuffer)(M),(0,b.assertIsBuffer)(l),(0,b.assertIsBuffer)(d),(0,n.default)(M.length===20),(0,n.default)(l.length===32);var h=(0,y.keccak256)(Buffer.concat([Buffer.from("ff","hex"),M,l,(0,y.keccak256)(d)]));return h.slice(-20)};t.generateAddress2=B;var D=function(M){return(0,i.privateKeyVerify)(M)};t.isValidPrivate=D;var N=function(M,l){return l===void 0&&(l=!1),(0,b.assertIsBuffer)(M),M.length===64?(0,i.publicKeyVerify)(Buffer.concat([Buffer.from([4]),M])):l?(0,i.publicKeyVerify)(M):!1};t.isValidPublic=N;var $=function(M,l){return l===void 0&&(l=!1),(0,b.assertIsBuffer)(M),l&&M.length!==64&&(M=Buffer.from((0,i.publicKeyConvert)(M,!1).slice(1))),(0,n.default)(M.length===64),(0,y.keccak)(M).slice(-20)};t.pubToAddress=$,t.publicToAddress=t.pubToAddress;var j=function(M){return(0,b.assertIsBuffer)(M),Buffer.from((0,i.publicKeyCreate)(M,!1)).slice(1)};t.privateToPublic=j;var Z=function(M){return(0,t.publicToAddress)((0,t.privateToPublic)(M))};t.privateToAddress=Z;var X=function(M){return(0,b.assertIsBuffer)(M),M.length!==64&&(M=Buffer.from((0,i.publicKeyConvert)(M,!1).slice(1))),M};t.importPublic=X;var Y=function(){var M=20,l=(0,u.zeros)(M);return(0,u.bufferToHex)(l)};t.zeroAddress=Y;var re=function(M){try{(0,b.assertIsString)(M)}catch{return!1}var l=(0,t.zeroAddress)();return l===M};t.isZeroAddress=re})(u8);var Sm={},use=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Sm,"__esModule",{value:!0});Sm.Address=void 0;var al=use(S0()),Vh=aa,x_=Zo,Xf=u8,fse=function(){function t(e){(0,al.default)(e.length===20,"Invalid address length"),this.buf=e}return t.zero=function(){return new t((0,x_.zeros)(20))},t.fromString=function(e){return(0,al.default)((0,Xf.isValidAddress)(e),"Invalid address"),new t((0,x_.toBuffer)(e))},t.fromPublicKey=function(e){(0,al.default)(Buffer.isBuffer(e),"Public key should be Buffer");var r=(0,Xf.pubToAddress)(e);return new t(r)},t.fromPrivateKey=function(e){(0,al.default)(Buffer.isBuffer(e),"Private key should be Buffer");var r=(0,Xf.privateToAddress)(e);return new t(r)},t.generate=function(e,r){return(0,al.default)(Vh.BN.isBN(r)),new t((0,Xf.generateAddress)(e.buf,r.toArrayLike(Buffer)))},t.generate2=function(e,r,n){return(0,al.default)(Buffer.isBuffer(r)),(0,al.default)(Buffer.isBuffer(n)),new t((0,Xf.generateAddress2)(e.buf,r,n))},t.prototype.equals=function(e){return this.buf.equals(e.buf)},t.prototype.isZero=function(){return this.equals(t.zero())},t.prototype.isPrecompileOrSystemAddress=function(){var e=new Vh.BN(this.buf),r=new Vh.BN(0),n=new Vh.BN("ffff","hex");return e.gte(r)&&e.lte(n)},t.prototype.toString=function(){return"0x"+this.buf.toString("hex")},t.prototype.toBuffer=function(){return Buffer.from(this.buf)},t}();Sm.Address=fse;var wn={};Object.defineProperty(wn,"__esModule",{value:!0});wn.hashPersonalMessage=wn.isValidSignature=wn.fromRpcSig=wn.toCompactSig=wn.toRpcSig=wn.ecrecover=wn.ecsign=void 0;var f3=y8,pd=aa,La=Zo,dse=fm,hse=da,Ui=Am;function pse(t,e,r){var n=(0,f3.ecdsaSign)(t,e),a=n.signature,i=n.recid,s=Buffer.from(a.slice(0,32)),o=Buffer.from(a.slice(32,64));if(!r||typeof r=="number"){if(r&&!Number.isSafeInteger(r))throw new Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");var u=r?i+(r*2+35):i+27;return{r:s,s:o,v:u}}var y=(0,Ui.toType)(r,Ui.TypeOutput.BN),b=y.muln(2).addn(35).addn(i).toArrayLike(Buffer);return{r:s,s:o,v:b}}wn.ecsign=pse;function Cm(t,e){var r=(0,Ui.toType)(t,Ui.TypeOutput.BN);if(r.eqn(0)||r.eqn(1))return(0,Ui.toType)(t,Ui.TypeOutput.BN);if(!e)return r.subn(27);var n=(0,Ui.toType)(e,Ui.TypeOutput.BN);return r.sub(n.muln(2).addn(35))}function Tm(t){var e=new pd.BN(t);return e.eqn(0)||e.eqn(1)}var yse=function(t,e,r,n,a){var i=Buffer.concat([(0,La.setLengthLeft)(r,32),(0,La.setLengthLeft)(n,32)],64),s=Cm(e,a);if(!Tm(s))throw new Error("Invalid signature v value");var o=(0,f3.ecdsaRecover)(i,s.toNumber(),t);return Buffer.from((0,f3.publicKeyConvert)(o,!1).slice(1))};wn.ecrecover=yse;var mse=function(t,e,r,n){var a=Cm(t,n);if(!Tm(a))throw new Error("Invalid signature v value");return(0,La.bufferToHex)(Buffer.concat([(0,La.setLengthLeft)(e,32),(0,La.setLengthLeft)(r,32),(0,La.toBuffer)(t)]))};wn.toRpcSig=mse;var bse=function(t,e,r,n){var a=Cm(t,n);if(!Tm(a))throw new Error("Invalid signature v value");var i=(0,Ui.toType)(t,Ui.TypeOutput.Number),s=r;return(i>28&&i%2===1||i===1||i===28)&&(s=Buffer.from(r),s[0]|=128),(0,La.bufferToHex)(Buffer.concat([(0,La.setLengthLeft)(e,32),(0,La.setLengthLeft)(s,32)]))};wn.toCompactSig=bse;var vse=function(t){var e=(0,La.toBuffer)(t),r,n,a;if(e.length>=65)r=e.slice(0,32),n=e.slice(32,64),a=(0,La.bufferToInt)(e.slice(64));else if(e.length===64)r=e.slice(0,32),n=e.slice(32,64),a=(0,La.bufferToInt)(e.slice(32,33))>>7,n[0]&=127;else throw new Error("Invalid signature length");return a<27&&(a+=27),{v:a,r,s:n}};wn.fromRpcSig=vse;var gse=function(t,e,r,n,a){n===void 0&&(n=!0);var i=new pd.BN("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0",16),s=new pd.BN("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",16);if(e.length!==32||r.length!==32||!Tm(Cm(t,a)))return!1;var o=new pd.BN(e),u=new pd.BN(r);return!(o.isZero()||o.gt(s)||u.isZero()||u.gt(s)||n&&u.cmp(i)===1)};wn.isValidSignature=gse;var xse=function(t){(0,hse.assertIsBuffer)(t);var e=Buffer.from(`Ethereum Signed Message: +`.concat(t.length),"utf-8");return(0,dse.keccak)(Buffer.concat([e,t]))};wn.hashPersonalMessage=xse;var Mm={},wse=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Mm,"__esModule",{value:!0});Mm.defineProperties=void 0;var w_=wse(S0()),_se=Wt,__=aa,Wh=Zo,Ese=function(t,e,r){if(t.raw=[],t._fields=[],t.toJSON=function(a){if(a===void 0&&(a=!1),a){var i={};return t._fields.forEach(function(s){i[s]="0x".concat(t[s].toString("hex"))}),i}return(0,Wh.baToJSON)(t.raw)},t.serialize=function(){return __.rlp.encode(t.raw)},e.forEach(function(a,i){t._fields.push(a.name);function s(){return t.raw[i]}function o(u){u=(0,Wh.toBuffer)(u),u.toString("hex")==="00"&&!a.allowZero&&(u=Buffer.allocUnsafe(0)),a.allowLess&&a.length?(u=(0,Wh.unpadBuffer)(u),(0,w_.default)(a.length>=u.length,"The field ".concat(a.name," must not have more ").concat(a.length," bytes"))):!(a.allowZero&&u.length===0)&&a.length&&(0,w_.default)(a.length===u.length,"The field ".concat(a.name," must have byte length of ").concat(a.length)),t.raw[i]=u}Object.defineProperty(t,a.name,{enumerable:!0,configurable:!0,get:s,set:o}),a.default&&(t[a.name]=a.default),a.alias&&Object.defineProperty(t,a.alias,{enumerable:!1,configurable:!0,set:o,get:s})}),r)if(typeof r=="string"&&(r=Buffer.from((0,_se.stripHexPrefix)(r),"hex")),Buffer.isBuffer(r)&&(r=__.rlp.decode(r)),Array.isArray(r)){if(r.length>t._fields.length)throw new Error("wrong number of fields in data");r.forEach(function(a,i){t[t._fields[i]]=(0,Wh.toBuffer)(a)})}else if(typeof r=="object"){var n=Object.keys(r);e.forEach(function(a){n.indexOf(a.name)!==-1&&(t[a.name]=r[a.name]),n.indexOf(a.alias)!==-1&&(t[a.alias]=r[a.alias])})}else throw new Error("invalid data")};Mm.defineProperties=Ese;(function(t){var e=ye&&ye.__createBinding||(Object.create?function(a,i,s,o){o===void 0&&(o=s);var u=Object.getOwnPropertyDescriptor(i,s);(!u||("get"in u?!i.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(a,o,u)}:function(a,i,s,o){o===void 0&&(o=s),a[o]=i[s]}),r=ye&&ye.__exportStar||function(a,i){for(var s in a)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,a,s)};Object.defineProperty(t,"__esModule",{value:!0}),t.isHexString=t.getKeys=t.fromAscii=t.fromUtf8=t.toAscii=t.arrayContainsArray=t.getBinarySize=t.padToEven=t.stripHexPrefix=t.isHexPrefixed=void 0,r(o8,t),r(u8,t),r(Sm,t),r(fm,t),r(wn,t),r(Zo,t),r(Mm,t),r(aa,t),r(Am,t);var n=Wt;Object.defineProperty(t,"isHexPrefixed",{enumerable:!0,get:function(){return n.isHexPrefixed}}),Object.defineProperty(t,"stripHexPrefix",{enumerable:!0,get:function(){return n.stripHexPrefix}}),Object.defineProperty(t,"padToEven",{enumerable:!0,get:function(){return n.padToEven}}),Object.defineProperty(t,"getBinarySize",{enumerable:!0,get:function(){return n.getBinarySize}}),Object.defineProperty(t,"arrayContainsArray",{enumerable:!0,get:function(){return n.arrayContainsArray}}),Object.defineProperty(t,"toAscii",{enumerable:!0,get:function(){return n.toAscii}}),Object.defineProperty(t,"fromUtf8",{enumerable:!0,get:function(){return n.fromUtf8}}),Object.defineProperty(t,"fromAscii",{enumerable:!0,get:function(){return n.fromAscii}}),Object.defineProperty(t,"getKeys",{enumerable:!0,get:function(){return n.getKeys}}),Object.defineProperty(t,"isHexString",{enumerable:!0,get:function(){return n.isHexString}})})(Jy);var qs={},pf={};Object.defineProperty(pf,"__esModule",{value:!0});const Ase=UT;function Sse(t){return"0x"+Ase.keccak_256(_F(t))}pf.keccak256=Sse;pf.padLeft=(t,e)=>{const r=/^0x/i.test(t)||typeof t=="number";t=t.toString().replace(/^0x/i,"");const n=e-t.length+1>=0?e-t.length+1:0;return(r?"0x":"")+new Array(n).join("0")+t};function Cse(t){const e=[];for(let r=0;r>>4).toString(16)),e.push((t[r]&15).toString(16));return`0x${e.join("").replace(/^0+/,"")}`}pf.bytesToHex=Cse;function _F(t){if(t==null)throw new Error("cannot convert null value to array");if(typeof t=="string"){const e=t.match(/^(0x)?[0-9a-fA-F]*$/);if(!e)throw new Error("invalid hexidecimal string");if(e[1]!=="0x")throw new Error("hex string must have 0x prefix");t=t.substring(2),t.length%2&&(t="0"+t);const r=[];for(let n=0;n=256||parseInt(String(r))!=r)return!1}return!0}function d3(t){return t.slice!==void 0||(t.slice=()=>{const e=Array.prototype.slice.call(arguments);return d3(new Uint8Array(Array.prototype.slice.apply(t,e)))}),t}Object.defineProperty(qs,"__esModule",{value:!0});const h3=pf;function Bm(t){return typeof t!="string"||!/^(0x)?[0-9a-f]{512}$/i.test(t)?!1:!!(/^(0x)?[0-9a-f]{512}$/.test(t)||/^(0x)?[0-9A-F]{512}$/.test(t))}qs.isBloom=Bm;function km(t,e){typeof e=="object"&&e.constructor===Uint8Array&&(e=h3.bytesToHex(e));const r=h3.keccak256(e).replace("0x","");for(let n=0;n<12;n+=4){const a=(parseInt(r.substr(n,2),16)<<8)+parseInt(r.substr(n+2,2),16)&2047,i=Mse(t.charCodeAt(t.length-1-Math.floor(a/4))),s=1<=48&&t<=57)return t-48;if(t>=65&&t<=70)return t-55;if(t>=97&&t<=102)return t-87;throw new Error("invalid bloom")}function Bse(t,e){if(!Bm(t))throw new Error("Invalid bloom given");if(!M8(e))throw new Error(`Invalid ethereum address given: "${e}"`);const r=h3.padLeft(e,64);return km(t,r)}qs.isUserEthereumAddressInBloom=Bse;function kse(t,e){if(!Bm(t))throw new Error("Invalid bloom given");if(!M8(e))throw new Error(`Invalid contract address given: "${e}"`);return km(t,e)}qs.isContractAddressInBloom=kse;function Fse(t,e){if(!Bm(t))throw new Error("Invalid bloom given");if(!EF(e))throw new Error("Invalid topic");return km(t,e)}qs.isTopicInBloom=Fse;function EF(t){if(typeof t!="string")return!1;if(/^(0x)?[0-9a-f]{64}$/i.test(t)){if(/^(0x)?[0-9a-f]{64}$/.test(t)||/^(0x)?[0-9A-F]{64}$/.test(t))return!0}else return!1;return!1}qs.isTopic=EF;function M8(t){return typeof t!="string"?!1:!!(t.match(/^(0x)?[0-9a-fA-F]{40}$/)||t.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/))}qs.isAddress=M8;var ju=Yu,Pse=qB,AF=KB,Fp=Jy,yf=qs,B8=function(t){return ju.isBN(t)},SF=function(t){return t&&t.constructor&&t.constructor.name==="BigNumber"},rh=function(t){try{return Pse.apply(null,arguments)}catch(e){throw new Error(e+' Given value: "'+t+'"')}},Dse=function(t){return"0x"+rh(t).toTwos(256).toString(16,64)},CF=function(t){return/^(0x)?[0-9a-f]{40}$/i.test(t)?/^(0x|0X)?[0-9a-f]{40}$/.test(t)||/^(0x|0X)?[0-9A-F]{40}$/.test(t)?!0:TF(t):!1},TF=function(t){t=t.replace(/^0x/i,"");for(var e=Fm(t.toLowerCase()).replace(/^0x/i,""),r=0;r<40;r++)if(parseInt(e[r],16)>7&&t[r].toUpperCase()!==t[r]||parseInt(e[r],16)<=7&&t[r].toLowerCase()!==t[r])return!1;return!0},Ise=function(t,e,r){var n=/^0x/i.test(t)||typeof t=="number";t=t.toString(16).replace(/^0x/i,"");var a=e-t.length+1>=0?e-t.length+1:0;return(n?"0x":"")+new Array(a).join(r||"0")+t},Ose=function(t,e,r){var n=/^0x/i.test(t)||typeof t=="number";t=t.toString(16).replace(/^0x/i,"");var a=e-t.length+1>=0?e-t.length+1:0;return(n?"0x":"")+t+new Array(a).join(r||"0")},p3=function(t){t=AF.encode(t);var e="";t=t.replace(/^(?:\u0000)*/,""),t=t.split("").reverse().join(""),t=t.replace(/^(?:\u0000)*/,""),t=t.split("").reverse().join("");for(var r=0;rNumber.MAX_SAFE_INTEGER||r>>4).toString(16)),e.push((t[r]&15).toString(16));return"0x"+e.join("")},Lse=function(t){if(t=t.toString(16),!uc(t))throw new Error('Given value "'+t+'" is not a valid hex string.');t=t.replace(/^0x/i,"");for(var e=[],r=0;r32||n256)throw new Error("Invalid uint"+n+" size");if(a=E_(e),a.bitLength()>n)throw new Error("Supplied uint exceeds width: "+n+" vs "+a.bitLength());if(a.lt(new gl(0)))throw new Error("Supplied uint "+a.toString()+" is negative");return n?ua.leftPad(a.toString("hex"),n/8*2):a}else if(t.startsWith("int")){if(n%8||n<8||n>256)throw new Error("Invalid int"+n+" size");if(a=E_(e),a.bitLength()>n)throw new Error("Supplied int exceeds width: "+n+" vs "+a.bitLength());return a.lt(new gl(0))?a.toTwos(n).toString("hex"):n?ua.leftPad(a.toString("hex"),n/8*2):a}else throw new Error("Unsupported or invalid type: "+t)},F8=function(t){if(Array.isArray(t))throw new Error("Autodetection of array types is not supported.");var e,r="",n,a;if(t&&typeof t=="object"&&(t.hasOwnProperty("v")||t.hasOwnProperty("t")||t.hasOwnProperty("value")||t.hasOwnProperty("type"))?(e=t.hasOwnProperty("t")?t.t:t.type,r=t.hasOwnProperty("v")?t.v:t.value):(e=ua.toHex(t,!0),r=ua.toHex(t),!e.startsWith("int")&&!e.startsWith("uint")&&(e="bytes")),(e.startsWith("int")||e.startsWith("uint"))&&typeof r=="string"&&!/^(-)?0x/i.test(r)&&(r=new gl(r)),Array.isArray(r)){if(a=Yse(e),a&&r.length!==a)throw new Error(e+" is not matching the given array "+JSON.stringify(r));a=r.length}return Array.isArray(r)?(n=r.map(function(i){return A_(e,i,a).toString("hex").replace("0x","")}),n.join("")):(n=A_(e,r,a),n.toString("hex").replace("0x",""))},Xse=function(){var t=Array.prototype.slice.call(arguments),e=t.map(F8);return ua.sha3("0x"+e.join(""))},Qse=function(){return ua.sha3Raw("0x"+Array.prototype.slice.call(arguments).map(F8).join(""))},eoe=function(){var t=Array.prototype.slice.call(arguments),e=t.map(F8);return"0x"+e.join("").toLowerCase()},toe={soliditySha3:Xse,soliditySha3Raw:Qse,encodePacked:eoe},ql=rte,lt=PF,yv=toe,roe=Ok,S_=Yu,noe=function(t,e,r,n,a){return t&&typeof t=="object"&&!(t instanceof Error)&&t.data&&((t.data&&typeof t.data=="object"||Array.isArray(t.data))&&(t.data=JSON.stringify(t.data,null,2)),t=t.message+` +`+t.data),typeof t=="string"&&(t=new Error(t)),typeof n=="function"&&n(t,a),typeof r=="function"&&((e&&typeof e.listeners=="function"&&e.listeners("error").length||typeof n=="function")&&e.catch(function(){}),setTimeout(function(){r(t)},1)),e&&typeof e.emit=="function"&&setTimeout(function(){e.emit("error",t,a),e.removeAllListeners()},1),e},aoe=function(t){return t&&typeof t=="object"&&t.name&&t.name.indexOf("(")!==-1?t.name:t.name+"("+P8(!1,t.inputs).join(",")+")"},P8=function(t,e){var r=[];return e.forEach(function(n){if(typeof n.components=="object"){if(n.type.substring(0,5)!=="tuple")throw new Error("components found but type is not tuple; report on GitHub");var a="",i=n.type.indexOf("[");i>=0&&(a=n.type.substring(i));var s=P8(t,n.components);Array.isArray(s)&&t?r.push("tuple("+s.join(",")+")"+a):t?r.push("("+s+")"):r.push("("+s.join(",")+")"+a)}else r.push(n.type)}),r},ioe=function(t){return"0x"+roe(t).toString("hex")},C_=function(t){if(!lt.isHexStrict(t))throw new Error("The parameter must be a valid HEX string.");var e="",r=0,n=t.length;for(t.substring(0,2)==="0x"&&(r=2);r"u")return"";if(!/^(0x)?[0-9a-f]{40}$/i.test(t))throw new Error('Given address "'+t+'" is not a valid Ethereum address.');t=t.toLowerCase().replace(/^0x/i,"");for(var e=lt.sha3(t).replace(/^0x/i,""),r="0x",n=0;n7?r+=t[n].toUpperCase():r+=t[n];return r},coe=function(t,e){if(t===e)return 0;if((t==="genesis"||t==="earliest"||t===0)&&(e==="genesis"||e==="earliest"||e===0))return 0;if(t==="genesis"||t==="earliest"||t===0)return-1;if(e==="genesis"||e==="earliest"||e===0)return 1;if(t==="latest"||t==="finalized")return e==="pending"?-1:1;if(e==="latest"||e==="finalized")return t==="pending"?1:-1;if(t==="pending")return 1;if(e==="pending")return-1;if(t==="safe"||e==="safe")return;{let r=new S_(t),n=new S_(e);return r.lt(n)?-1:r.eq(n)?0:1}},IF={_fireError:noe,_jsonInterfaceMethodToString:aoe,_flattenTypes:P8,randomHex:ioe,BN:lt.BN,isBN:lt.isBN,isBigNumber:lt.isBigNumber,isHex:lt.isHex,isHexStrict:lt.isHexStrict,sha3:lt.sha3,sha3Raw:lt.sha3Raw,keccak256:lt.sha3,soliditySha3:yv.soliditySha3,soliditySha3Raw:yv.soliditySha3Raw,encodePacked:yv.encodePacked,isAddress:lt.isAddress,checkAddressChecksum:lt.checkAddressChecksum,toChecksumAddress:loe,toHex:lt.toHex,toBN:lt.toBN,bytesToHex:lt.bytesToHex,hexToBytes:lt.hexToBytes,hexToNumberString:lt.hexToNumberString,hexToNumber:lt.hexToNumber,toDecimal:lt.hexToNumber,numberToHex:lt.numberToHex,fromDecimal:lt.numberToHex,hexToUtf8:lt.hexToUtf8,hexToString:lt.hexToUtf8,toUtf8:lt.hexToUtf8,stripHexPrefix:lt.stripHexPrefix,utf8ToHex:lt.utf8ToHex,stringToHex:lt.utf8ToHex,fromUtf8:lt.utf8ToHex,hexToAscii:C_,toAscii:C_,asciiToHex:T_,fromAscii:T_,unitMap:ql.unitMap,toWei:ooe,fromWei:soe,padLeft:lt.leftPad,leftPad:lt.leftPad,padRight:lt.rightPad,rightPad:lt.rightPad,toTwosComplement:lt.toTwosComplement,isBloom:lt.isBloom,isUserEthereumAddressInBloom:lt.isUserEthereumAddressInBloom,isContractAddressInBloom:lt.isContractAddressInBloom,isTopic:lt.isTopic,isTopicInBloom:lt.isTopicInBloom,isInBloom:lt.isInBloom,compareBlockNumbers:coe,toNumber:lt.toNumber},OF={};(function(t){var e={};Object.defineProperty(t,"__esModule",{value:!0}),t.networks=void 0,t.networks=[{chainId:1,shortName:"eth"},{chainId:3,shortName:"rop"},{chainId:4,shortName:"rin"},{chainId:5,shortName:"gor"},{chainId:10,shortName:"oeth"},{chainId:11,shortName:"meta"},{chainId:12,shortName:"kal"},{chainId:18,shortName:"tst"},{chainId:25,shortName:"cro"},{chainId:28,shortName:"bobarinkeby"},{chainId:39,shortName:"u2u"},{chainId:40,shortName:"telosevm"},{chainId:41,shortName:"telosevmtestnet"},{chainId:42,shortName:"kov"},{chainId:50,shortName:"xdc"},{chainId:51,shortName:"txdc"},{chainId:56,shortName:"bnb"},{chainId:61,shortName:"etc"},{chainId:63,shortName:"metc"},{chainId:69,shortName:"okov"},{chainId:82,shortName:"meter"},{chainId:83,shortName:"meter-test"},{chainId:97,shortName:"bnbt"},{chainId:100,shortName:"gno"},{chainId:106,shortName:"vlx"},{chainId:108,shortName:"tt"},{chainId:111,shortName:"etl"},{chainId:122,shortName:"fuse"},{chainId:123,shortName:"spark"},{chainId:137,shortName:"matic"},{chainId:246,shortName:"ewt"},{chainId:250,shortName:"ftm"},{chainId:288,shortName:"boba"},{chainId:300,shortName:"ogn"},{chainId:321,shortName:"kcs"},{chainId:322,shortName:"kcst"},{chainId:336,shortName:"sdn"},{chainId:338,shortName:"tcro"},{chainId:420,shortName:"ogor"},{chainId:588,shortName:"metis-stardust"},{chainId:592,shortName:"astr"},{chainId:595,shortName:"maca"},{chainId:599,shortName:"metis-goerli"},{chainId:686,shortName:"kar"},{chainId:787,shortName:"aca"},{chainId:1001,shortName:"baobab"},{chainId:1008,shortName:"eun"},{chainId:1088,shortName:"metis-andromeda"},{chainId:1101,shortName:"zkevm"},{chainId:1111,shortName:"wemix"},{chainId:1112,shortName:"twemix"},{chainId:1115,shortName:"tcore"},{chainId:1116,shortName:"core"},{chainId:1284,shortName:"mbeam"},{chainId:1285,shortName:"mriver"},{chainId:1287,shortName:"mbase"},{chainId:1294,shortName:"bobabeam"},{chainId:1807,shortName:"rana"},{chainId:1984,shortName:"euntest"},{chainId:2001,shortName:"milkada"},{chainId:2002,shortName:"milkalgo"},{chainId:2008,shortName:"cloudwalk_testnet"},{chainId:2019,shortName:"pmint_test"},{chainId:2020,shortName:"pmint"},{chainId:2221,shortName:"tkava"},{chainId:2222,shortName:"kava"},{chainId:3737,shortName:"csb"},{chainId:4002,shortName:"tftm"},{chainId:4689,shortName:"iotex-mainnet"},{chainId:4918,shortName:"txvm"},{chainId:4919,shortName:"xvm"},{chainId:7341,shortName:"shyft"},{chainId:7700,shortName:"canto"},{chainId:8217,shortName:"cypress"},{chainId:9e3,shortName:"evmos-testnet"},{chainId:9001,shortName:"evmos"},{chainId:9728,shortName:"boba-testnet"},{chainId:1e4,shortName:"smartbch"},{chainId:10001,shortName:"smartbchtest"},{chainId:10200,shortName:"chi"},{chainId:11235,shortName:"islm"},{chainId:11437,shortName:"shyftt"},{chainId:12357,shortName:"rei-testnet"},{chainId:23294,shortName:"sapphire"},{chainId:42161,shortName:"arb1"},{chainId:42170,shortName:"arb-nova"},{chainId:42220,shortName:"celo"},{chainId:43113,shortName:"fuji"},{chainId:43114,shortName:"avax"},{chainId:43288,shortName:"boba-avax"},{chainId:44787,shortName:"alfa"},{chainId:45e3,shortName:"autobahnnetwork"},{chainId:47805,shortName:"rei"},{chainId:54211,shortName:"islmt"},{chainId:56288,shortName:"boba-bnb"},{chainId:71401,shortName:"gw-testnet-v1"},{chainId:71402,shortName:"gw-mainnet-v1"},{chainId:73799,shortName:"vt"},{chainId:80001,shortName:"maticmum"},{chainId:84531,shortName:"base-gor"},{chainId:200101,shortName:"milktada"},{chainId:200202,shortName:"milktalgo"},{chainId:333999,shortName:"olympus"},{chainId:421611,shortName:"arb-rinkeby"},{chainId:421613,shortName:"arb-goerli"},{chainId:534353,shortName:"scr-alpha"},{chainId:11155111,shortName:"sep"},{chainId:245022926,shortName:"neonevm-devnet"},{chainId:1313161554,shortName:"aurora"},{chainId:1313161555,shortName:"aurora-testnet"},{chainId:16666e5,shortName:"hmy-s0"},{chainId:16667e5,shortName:"hmy-b-s0"},{chainId:11297108099,shortName:"tpalm"},{chainId:11297108109,shortName:"palm"}],e.TEST_NETWORK==="hardhat"?t.networks.push({shortName:"local",chainId:31337}):e.TEST_NETWORK==="ganache"&&t.networks.push({shortName:"local",chainId:1337})})(OF);Object.defineProperty(Zn,"__esModule",{value:!0});Zn.validateEip3770Address=Zn.validateEthereumAddress=Zn.validateEip3770NetworkPrefix=Zn.isValidEip3770NetworkPrefix=Zn.getEip3770NetworkPrefixFromChainId=Zn.parseEip3770Address=void 0;const M_=IF,RF=OF;function NF(t){const e=t.split(":"),r=e.length>1?e[1]:e[0];return{prefix:e.length>1?e[0]:"",address:r}}Zn.parseEip3770Address=NF;function $F(t){const e=RF.networks.find(r=>t===r.chainId);if(!e)throw new Error("No network prefix supported for the current chainId");return e.shortName}Zn.getEip3770NetworkPrefixFromChainId=$F;function LF(t){return RF.networks.some(({shortName:e})=>e===t)}Zn.isValidEip3770NetworkPrefix=LF;function jF(t,e){const r=t===$F(e);if(!LF(t)||!r)throw new Error("The network prefix must match the current network")}Zn.validateEip3770NetworkPrefix=jF;function zF(t){if(!((0,M_.isHexStrict)(t)&&(0,M_.isAddress)(t)))throw new Error(`Invalid Ethereum address ${t}`)}Zn.validateEthereumAddress=zF;function uoe(t,e){const{address:r,prefix:n}=NF(t);return zF(r),n&&jF(n,e),{address:r,prefix:n}}Zn.validateEip3770Address=uoe;var UF={},mv,B_;function foe(){return B_||(B_=1,mv=function(t){t.prototype[Symbol.iterator]=function*(){for(let e=this.head;e;e=e.next)yield e.value}}),mv}var doe=Ft;Ft.Node=Vl;Ft.create=Ft;function Ft(t){var e=this;if(e instanceof Ft||(e=new Ft),e.tail=null,e.head=null,e.length=0,t&&typeof t.forEach=="function")t.forEach(function(a){e.push(a)});else if(arguments.length>0)for(var r=0,n=arguments.length;r1)r=e;else if(this.head)n=this.head.next,r=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=0;n!==null;a++)r=t(r,n.value,a),n=n.next;return r};Ft.prototype.reduceReverse=function(t,e){var r,n=this.tail;if(arguments.length>1)r=e;else if(this.tail)n=this.tail.prev,r=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var a=this.length-1;n!==null;a--)r=t(r,n.value,a),n=n.prev;return r};Ft.prototype.toArray=function(){for(var t=new Array(this.length),e=0,r=this.head;r!==null;e++)t[e]=r.value,r=r.next;return t};Ft.prototype.toArrayReverse=function(){for(var t=new Array(this.length),e=0,r=this.tail;r!==null;e++)t[e]=r.value,r=r.prev;return t};Ft.prototype.slice=function(t,e){e=e||this.length,e<0&&(e+=this.length),t=t||0,t<0&&(t+=this.length);var r=new Ft;if(ethis.length&&(e=this.length);for(var n=0,a=this.head;a!==null&&nthis.length&&(e=this.length);for(var n=this.length,a=this.tail;a!==null&&n>e;n--)a=a.prev;for(;a!==null&&n>t;n--,a=a.prev)r.push(a.value);return r};Ft.prototype.splice=function(t,e,...r){t>this.length&&(t=this.length-1),t<0&&(t=this.length+t);for(var n=0,a=this.head;a!==null&&n1;class boe{constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(typeof e.max!="number"||e.max<0))throw new TypeError("max must be a non-negative number");this[dl]=e.max||1/0;const r=e.length||bv;if(this[Cc]=typeof r!="function"?bv:r,this[Hd]=e.stale||!1,e.maxAge&&typeof e.maxAge!="number")throw new TypeError("maxAge must be a number");this[xl]=e.maxAge||0,this[gs]=e.dispose,this[k_]=e.noDisposeOnSet||!1,this[HF]=e.updateAgeOnGet||!1,this.reset()}set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a non-negative number");this[dl]=e||1/0,Qf(this)}get max(){return this[dl]}set allowStale(e){this[Hd]=!!e}get allowStale(){return this[Hd]}set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be a non-negative number");this[xl]=e,Qf(this)}get maxAge(){return this[xl]}set lengthCalculator(e){typeof e!="function"&&(e=bv),e!==this[Cc]&&(this[Cc]=e,this[_s]=0,this[Gr].forEach(r=>{r.length=this[Cc](r.value,r.key),this[_s]+=r.length})),Qf(this)}get lengthCalculator(){return this[Cc]}get length(){return this[_s]}get itemCount(){return this[Gr].length}rforEach(e,r){r=r||this;for(let n=this[Gr].tail;n!==null;){const a=n.prev;F_(this,e,n,r),n=a}}forEach(e,r){r=r||this;for(let n=this[Gr].head;n!==null;){const a=n.next;F_(this,e,n,r),n=a}}keys(){return this[Gr].toArray().map(e=>e.key)}values(){return this[Gr].toArray().map(e=>e.value)}reset(){this[gs]&&this[Gr]&&this[Gr].length&&this[Gr].forEach(e=>this[gs](e.key,e.value)),this[oi]=new Map,this[Gr]=new moe,this[_s]=0}dump(){return this[Gr].map(e=>L1(this,e)?!1:{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[Gr]}set(e,r,n){if(n=n||this[xl],n&&typeof n!="number")throw new TypeError("maxAge must be a number");const a=n?Date.now():0,i=this[Cc](r,e);if(this[oi].has(e)){if(i>this[dl])return xu(this,this[oi].get(e)),!1;const u=this[oi].get(e).value;return this[gs]&&(this[k_]||this[gs](e,u.value)),u.now=a,u.maxAge=n,u.value=r,this[_s]+=i-u.length,u.length=i,this.get(e),Qf(this),!0}const s=new voe(e,r,i,a,n);return s.length>this[dl]?(this[gs]&&this[gs](e,r),!1):(this[_s]+=s.length,this[Gr].unshift(s),this[oi].set(e,this[Gr].head),Qf(this),!0)}has(e){if(!this[oi].has(e))return!1;const r=this[oi].get(e).value;return!L1(this,r)}get(e){return vv(this,e,!0)}peek(e){return vv(this,e,!1)}pop(){const e=this[Gr].tail;return e?(xu(this,e),e.value):null}del(e){xu(this,this[oi].get(e))}load(e){this.reset();const r=Date.now();for(let n=e.length-1;n>=0;n--){const a=e[n],i=a.e||0;if(i===0)this.set(a.k,a.v);else{const s=i-r;s>0&&this.set(a.k,a.v,s)}}}prune(){this[oi].forEach((e,r)=>vv(this,r,!1))}}const vv=(t,e,r)=>{const n=t[oi].get(e);if(n){const a=n.value;if(L1(t,a)){if(xu(t,n),!t[Hd])return}else r&&(t[HF]&&(n.value.now=Date.now()),t[Gr].unshiftNode(n));return a.value}},L1=(t,e)=>{if(!e||!e.maxAge&&!t[xl])return!1;const r=Date.now()-e.now;return e.maxAge?r>e.maxAge:t[xl]&&r>t[xl]},Qf=t=>{if(t[_s]>t[dl])for(let e=t[Gr].tail;t[_s]>t[dl]&&e!==null;){const r=e.prev;xu(t,e),e=r}},xu=(t,e)=>{if(e){const r=e.value;t[gs]&&t[gs](r.key,r.value),t[_s]-=r.length,t[oi].delete(r.key),t[Gr].removeNode(e)}};class voe{constructor(e,r,n,a,i){this.key=e,this.value=r,this.length=n,this.now=a,this.maxAge=i||0}}const F_=(t,e,r,n)=>{let a=r.value;L1(t,a)&&(xu(t,r),t[Hd]||(a=void 0)),a&&e.call(n,a.value,a.key,t)};var goe=boe;const xoe=Object.freeze({loose:!0}),woe=Object.freeze({}),_oe=t=>t?typeof t!="object"?xoe:t:woe;var D8=_oe,m3={exports:{}};const Eoe="2.0.0",Aoe=256,Soe=Number.MAX_SAFE_INTEGER||9007199254740991,Coe=16,Toe=["major","premajor","minor","preminor","patch","prepatch","prerelease"];var I8={MAX_LENGTH:Aoe,MAX_SAFE_COMPONENT_LENGTH:Coe,MAX_SAFE_INTEGER:Soe,RELEASE_TYPES:Toe,SEMVER_SPEC_VERSION:Eoe,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2},gv={};const Moe=typeof process=="object"&&gv&&gv.NODE_DEBUG&&/\bsemver\b/i.test(gv.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};var Pm=Moe;(function(t,e){const{MAX_SAFE_COMPONENT_LENGTH:r}=I8,n=Pm;e=t.exports={};const a=e.re=[],i=e.src=[],s=e.t={};let o=0;const u=(y,b,_)=>{const A=o++;n(y,A,b),s[y]=A,i[A]=b,a[A]=new RegExp(b,_?"g":void 0)};u("NUMERICIDENTIFIER","0|[1-9]\\d*"),u("NUMERICIDENTIFIERLOOSE","[0-9]+"),u("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),u("MAINVERSION",`(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})\\.(${i[s.NUMERICIDENTIFIER]})`),u("MAINVERSIONLOOSE",`(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})\\.(${i[s.NUMERICIDENTIFIERLOOSE]})`),u("PRERELEASEIDENTIFIER",`(?:${i[s.NUMERICIDENTIFIER]}|${i[s.NONNUMERICIDENTIFIER]})`),u("PRERELEASEIDENTIFIERLOOSE",`(?:${i[s.NUMERICIDENTIFIERLOOSE]}|${i[s.NONNUMERICIDENTIFIER]})`),u("PRERELEASE",`(?:-(${i[s.PRERELEASEIDENTIFIER]}(?:\\.${i[s.PRERELEASEIDENTIFIER]})*))`),u("PRERELEASELOOSE",`(?:-?(${i[s.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${i[s.PRERELEASEIDENTIFIERLOOSE]})*))`),u("BUILDIDENTIFIER","[0-9A-Za-z-]+"),u("BUILD",`(?:\\+(${i[s.BUILDIDENTIFIER]}(?:\\.${i[s.BUILDIDENTIFIER]})*))`),u("FULLPLAIN",`v?${i[s.MAINVERSION]}${i[s.PRERELEASE]}?${i[s.BUILD]}?`),u("FULL",`^${i[s.FULLPLAIN]}$`),u("LOOSEPLAIN",`[v=\\s]*${i[s.MAINVERSIONLOOSE]}${i[s.PRERELEASELOOSE]}?${i[s.BUILD]}?`),u("LOOSE",`^${i[s.LOOSEPLAIN]}$`),u("GTLT","((?:<|>)?=?)"),u("XRANGEIDENTIFIERLOOSE",`${i[s.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),u("XRANGEIDENTIFIER",`${i[s.NUMERICIDENTIFIER]}|x|X|\\*`),u("XRANGEPLAIN",`[v=\\s]*(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:\\.(${i[s.XRANGEIDENTIFIER]})(?:${i[s.PRERELEASE]})?${i[s.BUILD]}?)?)?`),u("XRANGEPLAINLOOSE",`[v=\\s]*(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:\\.(${i[s.XRANGEIDENTIFIERLOOSE]})(?:${i[s.PRERELEASELOOSE]})?${i[s.BUILD]}?)?)?`),u("XRANGE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAIN]}$`),u("XRANGELOOSE",`^${i[s.GTLT]}\\s*${i[s.XRANGEPLAINLOOSE]}$`),u("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),u("COERCERTL",i[s.COERCE],!0),u("LONETILDE","(?:~>?)"),u("TILDETRIM",`(\\s*)${i[s.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",u("TILDE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAIN]}$`),u("TILDELOOSE",`^${i[s.LONETILDE]}${i[s.XRANGEPLAINLOOSE]}$`),u("LONECARET","(?:\\^)"),u("CARETTRIM",`(\\s*)${i[s.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",u("CARET",`^${i[s.LONECARET]}${i[s.XRANGEPLAIN]}$`),u("CARETLOOSE",`^${i[s.LONECARET]}${i[s.XRANGEPLAINLOOSE]}$`),u("COMPARATORLOOSE",`^${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]})$|^$`),u("COMPARATOR",`^${i[s.GTLT]}\\s*(${i[s.FULLPLAIN]})$|^$`),u("COMPARATORTRIM",`(\\s*)${i[s.GTLT]}\\s*(${i[s.LOOSEPLAIN]}|${i[s.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",u("HYPHENRANGE",`^\\s*(${i[s.XRANGEPLAIN]})\\s+-\\s+(${i[s.XRANGEPLAIN]})\\s*$`),u("HYPHENRANGELOOSE",`^\\s*(${i[s.XRANGEPLAINLOOSE]})\\s+-\\s+(${i[s.XRANGEPLAINLOOSE]})\\s*$`),u("STAR","(<|>)?=?\\s*\\*"),u("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),u("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")})(m3,m3.exports);var O8=m3.exports;const P_=/^[0-9]+$/,GF=(t,e)=>{const r=P_.test(t),n=P_.test(e);return r&&n&&(t=+t,e=+e),t===e?0:r&&!n?-1:n&&!r?1:tGF(e,t);var koe={compareIdentifiers:GF,rcompareIdentifiers:Boe};const Kh=Pm,{MAX_LENGTH:D_,MAX_SAFE_INTEGER:Zh}=I8,{re:I_,t:O_}=O8,Foe=D8,{compareIdentifiers:Tc}=koe;let Poe=class ki{constructor(e,r){if(r=Foe(r),e instanceof ki){if(e.loose===!!r.loose&&e.includePrerelease===!!r.includePrerelease)return e;e=e.version}else if(typeof e!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>D_)throw new TypeError(`version is longer than ${D_} characters`);Kh("SemVer",e,r),this.options=r,this.loose=!!r.loose,this.includePrerelease=!!r.includePrerelease;const n=e.trim().match(r.loose?I_[O_.LOOSE]:I_[O_.FULL]);if(!n)throw new TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>Zh||this.major<0)throw new TypeError("Invalid major version");if(this.minor>Zh||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>Zh||this.patch<0)throw new TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(a=>{if(/^[0-9]+$/.test(a)){const i=+a;if(i>=0&&i=0;)typeof this.prerelease[i]=="number"&&(this.prerelease[i]++,i=-2);if(i===-1){if(r===this.prerelease.join(".")&&n===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(a)}}if(r){let i=[r,a];n===!1&&(i=[r]),Tc(this.prerelease[0],r)===0?isNaN(this.prerelease[1])&&(this.prerelease=i):this.prerelease=i}break}default:throw new Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}};var R8=Poe;const R_=R8,Doe=(t,e,r)=>new R_(t,r).compare(new R_(e,r));var mf=Doe;const Ioe=mf,Ooe=(t,e,r)=>Ioe(t,e,r)===0;var Roe=Ooe;const Noe=mf,$oe=(t,e,r)=>Noe(t,e,r)!==0;var Loe=$oe;const joe=mf,zoe=(t,e,r)=>joe(t,e,r)>0;var Uoe=zoe;const Hoe=mf,Goe=(t,e,r)=>Hoe(t,e,r)>=0;var qoe=Goe;const Voe=mf,Woe=(t,e,r)=>Voe(t,e,r)<0;var Koe=Woe;const Zoe=mf,Joe=(t,e,r)=>Zoe(t,e,r)<=0;var Yoe=Joe;const Xoe=Roe,Qoe=Loe,ele=Uoe,tle=qoe,rle=Koe,nle=Yoe,ale=(t,e,r,n)=>{switch(e){case"===":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t===r;case"!==":return typeof t=="object"&&(t=t.version),typeof r=="object"&&(r=r.version),t!==r;case"":case"=":case"==":return Xoe(t,r,n);case"!=":return Qoe(t,r,n);case">":return ele(t,r,n);case">=":return tle(t,r,n);case"<":return rle(t,r,n);case"<=":return nle(t,r,n);default:throw new TypeError(`Invalid operator: ${e}`)}};var ile=ale,xv,N_;function sle(){if(N_)return xv;N_=1;const t=Symbol("SemVer ANY");class e{static get ANY(){return t}constructor(b,_){if(_=r(_),b instanceof e){if(b.loose===!!_.loose)return b;b=b.value}s("comparator",b,_),this.options=_,this.loose=!!_.loose,this.parse(b),this.semver===t?this.value="":this.value=this.operator+this.semver.version,s("comp",this)}parse(b){const _=this.options.loose?n[a.COMPARATORLOOSE]:n[a.COMPARATOR],A=b.match(_);if(!A)throw new TypeError(`Invalid comparator: ${b}`);this.operator=A[1]!==void 0?A[1]:"",this.operator==="="&&(this.operator=""),A[2]?this.semver=new o(A[2],this.options.loose):this.semver=t}toString(){return this.value}test(b){if(s("Comparator.test",b,this.options.loose),this.semver===t||b===t)return!0;if(typeof b=="string")try{b=new o(b,this.options)}catch{return!1}return i(b,this.operator,this.semver,this.options)}intersects(b,_){if(!(b instanceof e))throw new TypeError("a Comparator is required");return this.operator===""?this.value===""?!0:new u(b.value,_).test(this.value):b.operator===""?b.value===""?!0:new u(this.value,_).test(b.semver):(_=r(_),_.includePrerelease&&(this.value==="<0.0.0-0"||b.value==="<0.0.0-0")||!_.includePrerelease&&(this.value.startsWith("<0.0.0")||b.value.startsWith("<0.0.0"))?!1:!!(this.operator.startsWith(">")&&b.operator.startsWith(">")||this.operator.startsWith("<")&&b.operator.startsWith("<")||this.semver.version===b.semver.version&&this.operator.includes("=")&&b.operator.includes("=")||i(this.semver,"<",b.semver,_)&&this.operator.startsWith(">")&&b.operator.startsWith("<")||i(this.semver,">",b.semver,_)&&this.operator.startsWith("<")&&b.operator.startsWith(">")))}}xv=e;const r=D8,{re:n,t:a}=O8,i=ile,s=Pm,o=R8,u=qF();return xv}var wv,$_;function qF(){if($_)return wv;$_=1;class t{constructor(c,p){if(p=n(p),c instanceof t)return c.loose===!!p.loose&&c.includePrerelease===!!p.includePrerelease?c:new t(c.raw,p);if(c instanceof a)return this.raw=c.value,this.set=[[c]],this.format(),this;if(this.options=p,this.loose=!!p.loose,this.includePrerelease=!!p.includePrerelease,this.raw=c,this.set=c.split("||").map(v=>this.parseRange(v.trim())).filter(v=>v.length),!this.set.length)throw new TypeError(`Invalid SemVer Range: ${c}`);if(this.set.length>1){const v=this.set[0];if(this.set=this.set.filter(E=>!k(E[0])),this.set.length===0)this.set=[v];else if(this.set.length>1){for(const E of this.set)if(E.length===1&&C(E[0])){this.set=[E];break}}}this.format()}format(){return this.range=this.set.map(c=>c.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(c){c=c.trim();const v=((this.options.includePrerelease&&A)|(this.options.loose&&T))+":"+c,E=r.get(v);if(E)return E;const g=this.options.loose,f=g?o[u.HYPHENRANGELOOSE]:o[u.HYPHENRANGE];c=c.replace(f,l(this.options.includePrerelease)),i("hyphen replace",c),c=c.replace(o[u.COMPARATORTRIM],y),i("comparator trim",c),c=c.replace(o[u.TILDETRIM],b),c=c.replace(o[u.CARETTRIM],_),c=c.split(/\s+/).join(" ");let m=c.split(" ").map(R=>B(R,this.options)).join(" ").split(/\s+/).map(R=>M(R,this.options));g&&(m=m.filter(R=>(i("loose invalid filter",R,this.options),!!R.match(o[u.COMPARATORLOOSE])))),i("range list",m);const w=new Map,x=m.map(R=>new a(R,this.options));for(const R of x){if(k(R))return[R];w.set(R.value,R)}w.size>1&&w.has("")&&w.delete("");const S=[...w.values()];return r.set(v,S),S}intersects(c,p){if(!(c instanceof t))throw new TypeError("a Range is required");return this.set.some(v=>P(v,p)&&c.set.some(E=>P(E,p)&&v.every(g=>E.every(f=>g.intersects(f,p)))))}test(c){if(!c)return!1;if(typeof c=="string")try{c=new s(c,this.options)}catch{return!1}for(let p=0;ph.value==="<0.0.0-0",C=h=>h.value==="",P=(h,c)=>{let p=!0;const v=h.slice();let E=v.pop();for(;p&&v.length;)p=v.every(g=>E.intersects(g,c)),E=v.pop();return p},B=(h,c)=>(i("comp",h,c),h=j(h,c),i("caret",h),h=N(h,c),i("tildes",h),h=X(h,c),i("xrange",h),h=re(h,c),i("stars",h),h),D=h=>!h||h.toLowerCase()==="x"||h==="*",N=(h,c)=>h.trim().split(/\s+/).map(p=>$(p,c)).join(" "),$=(h,c)=>{const p=c.loose?o[u.TILDELOOSE]:o[u.TILDE];return h.replace(p,(v,E,g,f,m)=>{i("tilde",h,v,E,g,f,m);let w;return D(E)?w="":D(g)?w=`>=${E}.0.0 <${+E+1}.0.0-0`:D(f)?w=`>=${E}.${g}.0 <${E}.${+g+1}.0-0`:m?(i("replaceTilde pr",m),w=`>=${E}.${g}.${f}-${m} <${E}.${+g+1}.0-0`):w=`>=${E}.${g}.${f} <${E}.${+g+1}.0-0`,i("tilde return",w),w})},j=(h,c)=>h.trim().split(/\s+/).map(p=>Z(p,c)).join(" "),Z=(h,c)=>{i("caret",h,c);const p=c.loose?o[u.CARETLOOSE]:o[u.CARET],v=c.includePrerelease?"-0":"";return h.replace(p,(E,g,f,m,w)=>{i("caret",h,E,g,f,m,w);let x;return D(g)?x="":D(f)?x=`>=${g}.0.0${v} <${+g+1}.0.0-0`:D(m)?g==="0"?x=`>=${g}.${f}.0${v} <${g}.${+f+1}.0-0`:x=`>=${g}.${f}.0${v} <${+g+1}.0.0-0`:w?(i("replaceCaret pr",w),g==="0"?f==="0"?x=`>=${g}.${f}.${m}-${w} <${g}.${f}.${+m+1}-0`:x=`>=${g}.${f}.${m}-${w} <${g}.${+f+1}.0-0`:x=`>=${g}.${f}.${m}-${w} <${+g+1}.0.0-0`):(i("no pr"),g==="0"?f==="0"?x=`>=${g}.${f}.${m}${v} <${g}.${f}.${+m+1}-0`:x=`>=${g}.${f}.${m}${v} <${g}.${+f+1}.0-0`:x=`>=${g}.${f}.${m} <${+g+1}.0.0-0`),i("caret return",x),x})},X=(h,c)=>(i("replaceXRanges",h,c),h.split(/\s+/).map(p=>Y(p,c)).join(" ")),Y=(h,c)=>{h=h.trim();const p=c.loose?o[u.XRANGELOOSE]:o[u.XRANGE];return h.replace(p,(v,E,g,f,m,w)=>{i("xRange",h,v,E,g,f,m,w);const x=D(g),S=x||D(f),R=S||D(m),L=R;return E==="="&&L&&(E=""),w=c.includePrerelease?"-0":"",x?E===">"||E==="<"?v="<0.0.0-0":v="*":E&&L?(S&&(f=0),m=0,E===">"?(E=">=",S?(g=+g+1,f=0,m=0):(f=+f+1,m=0)):E==="<="&&(E="<",S?g=+g+1:f=+f+1),E==="<"&&(w="-0"),v=`${E+g}.${f}.${m}${w}`):S?v=`>=${g}.0.0${w} <${+g+1}.0.0-0`:R&&(v=`>=${g}.${f}.0${w} <${g}.${+f+1}.0-0`),i("xRange return",v),v})},re=(h,c)=>(i("replaceStars",h,c),h.trim().replace(o[u.STAR],"")),M=(h,c)=>(i("replaceGTE0",h,c),h.trim().replace(o[c.includePrerelease?u.GTE0PRE:u.GTE0],"")),l=h=>(c,p,v,E,g,f,m,w,x,S,R,L,F)=>(D(v)?p="":D(E)?p=`>=${v}.0.0${h?"-0":""}`:D(g)?p=`>=${v}.${E}.0${h?"-0":""}`:f?p=`>=${p}`:p=`>=${p}${h?"-0":""}`,D(x)?w="":D(S)?w=`<${+x+1}.0.0-0`:D(R)?w=`<${x}.${+S+1}.0-0`:L?w=`<=${x}.${S}.${R}-${L}`:h?w=`<${x}.${S}.${+R+1}-0`:w=`<=${w}`,`${p} ${w}`.trim()),d=(h,c,p)=>{for(let v=0;v0){const E=h[v].semver;if(E.major===c.major&&E.minor===c.minor&&E.patch===c.patch)return!0}return!1}return!0};return wv}const ole=qF(),lle=(t,e,r)=>{try{e=new ole(e,r)}catch{return!1}return e.test(t)};var Dm=lle;(function(t){var e=ye&&ye.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(t,"__esModule",{value:!0}),t.generateTypedData=t.getEip712MessageTypes=t.EIP712_DOMAIN=t.EIP712_DOMAIN_BEFORE_V130=void 0;const r=e(Dm),n=">=1.3.0";t.EIP712_DOMAIN_BEFORE_V130=[{type:"address",name:"verifyingContract"}],t.EIP712_DOMAIN=[{type:"uint256",name:"chainId"},{type:"address",name:"verifyingContract"}];function a(s){return{EIP712Domain:(0,r.default)(s,n)?t.EIP712_DOMAIN:t.EIP712_DOMAIN_BEFORE_V130,SafeTx:[{type:"address",name:"to"},{type:"uint256",name:"value"},{type:"bytes",name:"data"},{type:"uint8",name:"operation"},{type:"uint256",name:"safeTxGas"},{type:"uint256",name:"baseGas"},{type:"uint256",name:"gasPrice"},{type:"address",name:"gasToken"},{type:"address",name:"refundReceiver"},{type:"uint256",name:"nonce"}]}}t.getEip712MessageTypes=a;function i({safeAddress:s,safeVersion:o,chainId:u,safeTransactionData:y}){const b=(0,r.default)(o,n),_={types:a(o),domain:{verifyingContract:s},primaryType:"SafeTx",message:{...y,value:y.value,safeTxGas:y.safeTxGas,baseGas:y.baseGas,gasPrice:y.gasPrice,nonce:y.nonce}};return b&&(_.domain.chainId=u),_}t.generateTypedData=i})(UF);var VF={};(function(t){var e=ye&&ye.__importDefault||function(s){return s&&s.__esModule?s:{default:s}};Object.defineProperty(t,"__esModule",{value:!0}),t.hasSafeFeature=t.SAFE_FEATURES=void 0;const r=e(Dm);var n;(function(s){s.SAFE_TX_GAS_OPTIONAL="SAFE_TX_GAS_OPTIONAL",s.SAFE_TX_GUARDS="SAFE_TX_GUARDS",s.SAFE_FALLBACK_HANDLER="SAFE_FALLBACK_HANDLER",s.ETH_SIGN="ETH_SIGN",s.ACCOUNT_ABSTRACTION="ACCOUNT_ABSTRACTION"})(n=t.SAFE_FEATURES||(t.SAFE_FEATURES={}));const a={[n.SAFE_TX_GAS_OPTIONAL]:">=1.3.0",[n.SAFE_TX_GUARDS]:">=1.3.0",[n.SAFE_FALLBACK_HANDLER]:">=1.1.1",[n.ETH_SIGN]:">=1.1.0",[n.ACCOUNT_ABSTRACTION]:">=1.3.0"},i=(s,o)=>s in a?(0,r.default)(o,a[s]):!1;t.hasSafeFeature=i})(VF);var WF={},nh={};Object.defineProperty(nh,"__esModule",{value:!0});nh.EthSafeSignature=void 0;class cle{constructor(e,r){this.signer=e,this.data=r}staticPart(){return this.data}dynamicPart(){return""}}nh.EthSafeSignature=cle;var N8={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.generateEIP712Signature=t.generateSignature=t.adjustVInSignature=t.isTxHashSignedWithPrefix=t.generatePreValidatedSignature=void 0;const e=Jy,r=gi,n=nh;function a(y){const b="0x000000000000000000000000"+y.slice(2)+"000000000000000000000000000000000000000000000000000000000000000001";return new n.EthSafeSignature(y,b)}t.generatePreValidatedSignature=a;function i(y,b,_){let A;try{const T={r:Buffer.from(b.slice(2,66),"hex"),s:Buffer.from(b.slice(66,130),"hex"),v:parseInt(b.slice(130,132),16)},k=(0,e.ecrecover)(Buffer.from(y.slice(2),"hex"),T.v,T.r,T.s),C=(0,e.bufferToHex)((0,e.pubToAddress)(k));A=!(0,r.sameString)(C,_)}catch{A=!0}return A}t.isTxHashSignedWithPrefix=i;const s=(y,b,_,A)=>{const T=[0,1,27,28],k=27;let C=parseInt(b.slice(-2),16);if(!T.includes(C))throw new Error("Invalid signature");if(y==="eth_sign"){Cn==="0x"?r+0:n==="00"?r+4:r+16;return t.match(/.{2}/g).reduce(e,0)}async function dle(t,e,r,n,a,i){let s=L_.BigNumber.from(0);const o=t.getAddress(),u=t.encode("requiredTxGas",[r,n,a,i]);try{const y=await e.estimateGas({to:o,from:o,data:u});s=L_.BigNumber.from("0x"+y.substring(138)).add(1e4)}catch{}if(s.gt(0)){const y=fle(u);let b=1e4;for(let _=0;_<10;_++){try{if(await e.call({to:o,from:o,data:u,gasPrice:"0",gasLimit:s.add(y).add(b).toString()})!=="0x")break}catch{}s=s.add(b),b*=2}return s.add(b).toString()}try{return await e.estimateGas({to:r,from:o,value:n,data:a})}catch(y){return i===ule.OperationType.DelegateCall?"0":Promise.reject(y)}}ah.estimateTxGas=dle;var Om={};Object.defineProperty(Om,"__esModule",{value:!0});class hle{constructor(e){this.signatures=new Map,this.data=e}addSignature(e){this.signatures.set(e.signer.toLowerCase(),e)}encodedSignatures(){const e=Array.from(this.signatures.keys()).sort();e.length*65;let r="",n="";return e.forEach(a=>{const i=this.signatures.get(a);r+=i==null?void 0:i.staticPart().slice(2),n+=i==null?void 0:i.dynamicPart()}),"0x"+r+n}}Om.default=hle;var nP={};Object.defineProperty(nP,"__esModule",{value:!0});var On={};const ple=$o(jW),yle=$o(aV),mle=$o(gY);var j_;function $8(){if(j_)return On;j_=1,Object.defineProperty(On,"__esModule",{value:!0}),On.isSafeMultisigTransactionResponse=On.isMetaTransactionArray=On.decodeMultiSendData=On.encodeMultiSendData=On.standardizeSafeTransactionData=On.standardizeMetaTransactionData=void 0;const t=ple,e=yle,r=mle,n=fc(),a=ra,i=Im,s=IF,o=ah;function u(C){var P;return{...C,operation:(P=C.operation)!==null&&P!==void 0?P:i.OperationType.Call}}On.standardizeMetaTransactionData=u;async function y({safeContract:C,predictedSafe:P,ethAdapter:B,tx:D}){var N,$,j,Z,X;const Y={to:D.to,value:D.value,data:D.data,operation:(N=D.operation)!==null&&N!==void 0?N:i.OperationType.Call,baseGas:($=D.baseGas)!==null&&$!==void 0?$:"0",gasPrice:(j=D.gasPrice)!==null&&j!==void 0?j:"0",gasToken:D.gasToken||a.ZERO_ADDRESS,refundReceiver:D.refundReceiver||a.ZERO_ADDRESS,nonce:(Z=D.nonce)!==null&&Z!==void 0?Z:C?await C.getNonce():0};if(typeof D.safeTxGas<"u")return{...Y,safeTxGas:D.safeTxGas};let re;if(!((X=P==null?void 0:P.safeDeploymentConfig)===null||X===void 0)&&X.safeVersion)re=P==null?void 0:P.safeDeploymentConfig.safeVersion;else{if(!C)throw new Error("Safe is not deployed");re=await C.getVersion()}const M=(0,n.hasSafeFeature)(n.SAFE_FEATURES.SAFE_TX_GAS_OPTIONAL,re);if(M&&Y.gasPrice==="0"||M&&P)return{...Y,safeTxGas:"0"};if(!C)throw new Error("Safe is not deployed");const l=await(0,o.estimateTxGas)(C,B,Y.to,Y.value,Y.data,Y.operation);return{...Y,safeTxGas:l}}On.standardizeSafeTransactionData=y;function b(C){const P=(0,e.arrayify)(C.data);return(0,r.pack)(["uint8","address","uint256","uint256","bytes"],[C.operation,C.to,C.value,P.length,P]).slice(2)}function _(C){return"0x"+C.map(P=>b(P)).join("")}On.encodeMultiSendData=_;function A(C){const P=new t.Interface(["function multiSend(bytes memory transactions) public payable"]),[B]=P.decodeFunctionData("multiSend",C),D=[];let N=2;for(;Nthis.contract.interface.encodeFunctionData(r,n)}getAddress(){return this.contract.address}}j8.default=vle;var gle=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(L8,"__esModule",{value:!0});const xle=gle(j8);class wle extends xle.default{constructor(e){super(e),this.contract=e}}L8.default=wle;var z8={},_le=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(z8,"__esModule",{value:!0});const Ele=_le(Wy);class Ale extends Ele.default{constructor(e){super(e),this.contract=e}}z8.default=Ale;var U8={},xi={};Object.defineProperty(xi,"__esModule",{value:!0});xi.SENTINEL_ADDRESS=xi.EMPTY_DATA=xi.ZERO_ADDRESS=void 0;xi.ZERO_ADDRESS=`0x${"0".repeat(40)}`;xi.EMPTY_DATA="0x";xi.SENTINEL_ADDRESS="0x0000000000000000000000000000000000000001";var Sle=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(U8,"__esModule",{value:!0});const Jh=xi,rE=ln,Cle=Sle(ic);class Tle extends Cle.default{constructor(e){super(e),this.contract=e}async setup(e,r){const{owners:n,threshold:a,to:i=Jh.ZERO_ADDRESS,data:s=Jh.EMPTY_DATA,paymentToken:o=Jh.ZERO_ADDRESS,payment:u=0,paymentReceiver:y=Jh.ZERO_ADDRESS}=e;r&&!r.gasLimit&&(r.gasLimit=await this.estimateGas("setup",[n,a,i,s,o,u,y],{...r}));const b=await this.contract.setup(n,a,i,s,o,u,y,r);return(0,rE.toTxResult)(b,r)}async getModules(){return this.contract.getModules()}async isModuleEnabled(e){return(await this.getModules()).some(a=>(0,rE.sameString)(a,e))}}U8.default=Tle;var H8={},Mle=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(H8,"__esModule",{value:!0});const ed=xi,nE=ln,Ble=Mle(ic);class kle extends Ble.default{constructor(e){super(e),this.contract=e}async setup(e,r){const{owners:n,threshold:a,to:i=ed.ZERO_ADDRESS,data:s=ed.EMPTY_DATA,fallbackHandler:o=ed.ZERO_ADDRESS,paymentToken:u=ed.ZERO_ADDRESS,payment:y=0,paymentReceiver:b=ed.ZERO_ADDRESS}=e;r&&!r.gasLimit&&(r.gasLimit=await this.estimateGas("setup",[n,a,i,s,o,u,y,b],{...r}));const _=await this.contract.setup(n,a,i,s,o,u,y,b,r);return(0,nE.toTxResult)(_,r)}async getModules(){return this.contract.getModules()}async isModuleEnabled(e){return(await this.getModules()).some(a=>(0,nE.sameString)(a,e))}}H8.default=kle;var G8={},Fle=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(G8,"__esModule",{value:!0});const Ple=ln,td=xi,Dle=Fle(ic);class Ile extends Dle.default{constructor(e){super(e),this.contract=e}async setup(e,r){const{owners:n,threshold:a,to:i=td.ZERO_ADDRESS,data:s=td.EMPTY_DATA,fallbackHandler:o=td.ZERO_ADDRESS,paymentToken:u=td.ZERO_ADDRESS,payment:y=0,paymentReceiver:b=td.ZERO_ADDRESS}=e;r&&!r.gasLimit&&(r.gasLimit=await this.estimateGas("setup",[n,a,i,s,o,u,y,b],{...r}));const _=await this.contract.setup(n,a,i,s,o,u,y,b,r);return(0,Ple.toTxResult)(_,r)}async getModules(){return this.contract.getModules()}async isModuleEnabled(e){return this.contract.isModuleEnabled(e)}}G8.default=Ile;var q8={},Ole=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(q8,"__esModule",{value:!0});const Rle=ln,Mc=xi,Nle=Ole(ic);class $le extends Nle.default{constructor(e){super(e),this.contract=e}async setup(e,r){const{owners:n,threshold:a,to:i=Mc.ZERO_ADDRESS,data:s=Mc.EMPTY_DATA,fallbackHandler:o=Mc.ZERO_ADDRESS,paymentToken:u=Mc.ZERO_ADDRESS,payment:y=0,paymentReceiver:b=Mc.ZERO_ADDRESS}=e;r&&!r.gasLimit&&(r.gasLimit=await this.estimateGas("setup",[n,a,i,s,o,u,y,b],{...r}));const _=await this.contract.setup(n,a,i,s,o,u,y,b,r);return(0,Rle.toTxResult)(_,r)}async getModules(){const{array:e}=await this.contract.getModulesPaginated(Mc.SENTINEL_ADDRESS,10);return e}async isModuleEnabled(e){return this.contract.isModuleEnabled(e)}}q8.default=$le;var V8={},Lle=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(V8,"__esModule",{value:!0});const jle=Lle(of);class zle extends jle.default{constructor(e){super(e),this.contract=e}}V8.default=zle;var W8={},Ule=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(W8,"__esModule",{value:!0});const Hle=Ule(of);class Gle extends Hle.default{constructor(e){super(e),this.contract=e}}W8.default=Gle;var K8={},qle=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(K8,"__esModule",{value:!0});const Vle=qle(of);class Wle extends Vle.default{constructor(e){super(e),this.contract=e}}K8.default=Wle;var Z8={},Kle=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Z8,"__esModule",{value:!0});const Zle=Kle(K0);class Jle extends Zle.default{constructor(e){super(e),this.contract=e}}Z8.default=Jle;var J8={},Yle=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(J8,"__esModule",{value:!0});const Xle=Yle(K0);class Qle extends Xle.default{constructor(e){super(e),this.contract=e}}J8.default=Qle;var Y8={},ece=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Y8,"__esModule",{value:!0});const tce=ece(Ky);class rce extends tce.default{constructor(e){super(e),this.contract=e}}Y8.default=rce;var X8={},nce=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(X8,"__esModule",{value:!0});const ace=nce(Zy);class ice extends ace.default{constructor(e){super(e),this.contract=e}}X8.default=ice;var Sa=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(_n,"__esModule",{value:!0});_n.getCreateCallContractInstance=_n.getSignMessageLibContractInstance=_n.getSafeProxyFactoryContractInstance=_n.getMultiSendCallOnlyContractInstance=_n.getMultiSendContractInstance=_n.getCompatibilityFallbackHandlerContractInstance=_n.getSafeContractInstance=void 0;const sce=Rm,oce=Nm,lce=$m,cce=Lm,uce=jm,fce=zm,dce=Um,hce=Hm,pce=Gm,yce=qm,mce=Vm,bce=Wm,vce=Km,gce=Sa(L8),xce=Sa(z8),wce=Sa(U8),_ce=Sa(H8),Ece=Sa(G8),Ace=Sa(q8),Sce=Sa(V8),Cce=Sa(W8),Tce=Sa(K8),Mce=Sa(Z8),Bce=Sa(J8),kce=Sa(Y8),Fce=Sa(X8);function Pce(t,e,r){let n;switch(t){case"1.3.0":return n=hce.Gnosis_safe__factory.connect(e,r),new Ace.default(n);case"1.2.0":return n=fce.Gnosis_safe__factory.connect(e,r),new Ece.default(n);case"1.1.1":return n=lce.Gnosis_safe__factory.connect(e,r),new _ce.default(n);case"1.0.0":return n=sce.Gnosis_safe__factory.connect(e,r),new wce.default(n);default:throw new Error("Invalid Safe version")}}_n.getSafeContractInstance=Pce;function Dce(t,e,r){let n;switch(t){case"1.3.0":case"1.2.0":case"1.1.1":return n=dce.Compatibility_fallback_handler__factory.connect(e,r),new gce.default(n);default:throw new Error("Invalid Safe version")}}_n.getCompatibilityFallbackHandlerContractInstance=Dce;function Ice(t,e,r){let n;switch(t){case"1.3.0":return n=yce.Multi_send__factory.connect(e,r),new Bce.default(n);case"1.2.0":case"1.1.1":case"1.0.0":return n=cce.Multi_send__factory.connect(e,r),new Mce.default(n);default:throw new Error("Invalid Safe version")}}_n.getMultiSendContractInstance=Ice;function Oce(t,e,r){let n;switch(t){case"1.3.0":case"1.2.0":case"1.1.1":case"1.0.0":return n=pce.Multi_send_call_only__factory.connect(e,r),new kce.default(n);default:throw new Error("Invalid Safe version")}}_n.getMultiSendCallOnlyContractInstance=Oce;function Rce(t,e,r){let n;switch(t){case"1.3.0":return n=mce.Proxy_factory__factory.connect(e,r),new Tce.default(n);case"1.2.0":case"1.1.1":return n=uce.Proxy_factory__factory.connect(e,r),new Cce.default(n);case"1.0.0":return n=oce.Proxy_factory__factory.connect(e,r),new Sce.default(n);default:throw new Error("Invalid Safe version")}}_n.getSafeProxyFactoryContractInstance=Rce;function Nce(t,e,r){let n;switch(t){case"1.3.0":return n=bce.Sign_message_lib__factory.connect(e,r),new Fce.default(n);default:throw new Error("Invalid Safe version")}}_n.getSignMessageLibContractInstance=Nce;function $ce(t,e,r){let n;switch(t){case"1.3.0":case"1.2.0":case"1.1.1":case"1.0.0":return n=vce.Create_call__factory.connect(e,r),new xce.default(n);default:throw new Error("Invalid Safe version")}}_n.getCreateCallContractInstance=$ce;var Yh=ye&&ye.__classPrivateFieldSet||function(t,e,r,n,a){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?a.call(t,r):a?a.value=r:e.set(t,r),r},bt=ye&&ye.__classPrivateFieldGet||function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Qs,en,vr;Object.defineProperty(r8,"__esModule",{value:!0});const Lce=Wo,aE=fc(),il=_n,iE=ln;class jce{constructor({ethers:e,signerOrProvider:r}){if(Qs.set(this,void 0),en.set(this,void 0),vr.set(this,void 0),!e)throw new Error("ethers property missing from options");if(Yh(this,Qs,e,"f"),(0,iE.isSignerCompatible)(r)){const a=r;if(!a.provider)throw new Error("Signer must be connected to a provider");Yh(this,vr,a.provider,"f"),Yh(this,en,a,"f")}else Yh(this,vr,r,"f")}getProvider(){return bt(this,vr,"f")}getSigner(){return bt(this,en,"f")}isAddress(e){return bt(this,Qs,"f").utils.isAddress(e)}async getEip3770Address(e){const r=await this.getChainId();return(0,aE.validateEip3770Address)(e,r)}async getBalance(e,r){return Lce.BigNumber.from(await bt(this,vr,"f").getBalance(e,r))}async getNonce(e,r){return bt(this,vr,"f").getTransactionCount(e,r)}async getChainId(){return(await bt(this,vr,"f").getNetwork()).chainId}getChecksummedAddress(e){return bt(this,Qs,"f").utils.getAddress(e)}async getSafeContract({safeVersion:e,singletonDeployment:r,customContractAddress:n}){const a=await this.getChainId(),i=n??(r==null?void 0:r.networkAddresses[a]);if(!i)throw new Error("Invalid SafeProxy contract address");const s=bt(this,en,"f")||bt(this,vr,"f");return(0,il.getSafeContractInstance)(e,i,s)}async getSafeProxyFactoryContract({safeVersion:e,singletonDeployment:r,customContractAddress:n}){const a=await this.getChainId(),i=n??(r==null?void 0:r.networkAddresses[a]);if(!i)throw new Error("Invalid SafeProxyFactory contract address");const s=bt(this,en,"f")||bt(this,vr,"f");return(0,il.getSafeProxyFactoryContractInstance)(e,i,s)}async getMultiSendContract({safeVersion:e,singletonDeployment:r,customContractAddress:n}){const a=await this.getChainId(),i=n??(r==null?void 0:r.networkAddresses[a]);if(!i)throw new Error("Invalid MultiSend contract address");const s=bt(this,en,"f")||bt(this,vr,"f");return(0,il.getMultiSendContractInstance)(e,i,s)}async getMultiSendCallOnlyContract({safeVersion:e,singletonDeployment:r,customContractAddress:n}){const a=await this.getChainId(),i=n??(r==null?void 0:r.networkAddresses[a]);if(!i)throw new Error("Invalid MultiSendCallOnly contract address");const s=bt(this,en,"f")||bt(this,vr,"f");return(0,il.getMultiSendCallOnlyContractInstance)(e,i,s)}async getCompatibilityFallbackHandlerContract({safeVersion:e,singletonDeployment:r,customContractAddress:n}){const a=await this.getChainId(),i=n??(r==null?void 0:r.networkAddresses[a]);if(!i)throw new Error("Invalid CompatibilityFallbackHandler contract address");const s=bt(this,en,"f")||bt(this,vr,"f");return(0,il.getCompatibilityFallbackHandlerContractInstance)(e,i,s)}async getSignMessageLibContract({safeVersion:e,singletonDeployment:r,customContractAddress:n}){const a=await this.getChainId(),i=n??(r==null?void 0:r.networkAddresses[a]);if(!i)throw new Error("Invalid SignMessageLib contract address");const s=bt(this,en,"f")||bt(this,vr,"f");return(0,il.getSignMessageLibContractInstance)(e,i,s)}async getCreateCallContract({safeVersion:e,singletonDeployment:r,customContractAddress:n}){const a=await this.getChainId(),i=n??(r==null?void 0:r.networkAddresses[a]);if(!i)throw new Error("Invalid CreateCall contract address");const s=bt(this,en,"f")||bt(this,vr,"f");return(0,il.getCreateCallContractInstance)(e,i,s)}async getContractCode(e,r){return bt(this,vr,"f").getCode(e,r)}async isContractDeployed(e,r){return await bt(this,vr,"f").getCode(e,r)!=="0x"}async getStorageAt(e,r){const n=await bt(this,vr,"f").getStorageAt(e,r);return this.decodeParameters(["address"],n)[0]}async getTransaction(e){return bt(this,vr,"f").getTransaction(e)}async getSignerAddress(){var e;return(e=bt(this,en,"f"))===null||e===void 0?void 0:e.getAddress()}signMessage(e){if(!bt(this,en,"f"))throw new Error("EthAdapter must be initialized with a signer to use this method");const r=bt(this,Qs,"f").utils.arrayify(e);return bt(this,en,"f").signMessage(r)}async signTypedData(e){if(!bt(this,en,"f"))throw new Error("EthAdapter must be initialized with a signer to use this method");if((0,iE.isTypedDataSigner)(bt(this,en,"f"))){const r=(0,aE.generateTypedData)(e);return await bt(this,en,"f")._signTypedData(r.domain,{SafeTx:r.types.SafeTx},r.message)}throw new Error("The current signer does not implement EIP-712 to sign typed data")}async estimateGas(e){return(await bt(this,vr,"f").estimateGas(e)).toString()}call(e,r){return bt(this,vr,"f").call(e,r)}encodeParameters(e,r){return new(bt(this,Qs,"f")).utils.AbiCoder().encode(e,r)}decodeParameters(e,r){return new(bt(this,Qs,"f")).utils.AbiCoder().decode(e,r)}}Qs=new WeakMap,en=new WeakMap,vr=new WeakMap;r8.default=jce;var dc=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xn,"__esModule",{value:!0});xn.SignMessageLibEthersContract=xn.MultiSendCallOnlyEthersContract=xn.MultiSendEthersContract=xn.GnosisSafeProxyFactoryEthersContract=xn.GnosisSafeContractEthers=xn.CreateCallEthersContract=xn.EthersAdapter=void 0;const zce=dc(Wy);xn.CreateCallEthersContract=zce.default;const Uce=dc(ic);xn.GnosisSafeContractEthers=Uce.default;const Hce=dc(of);xn.GnosisSafeProxyFactoryEthersContract=Hce.default;const Gce=dc(K0);xn.MultiSendEthersContract=Gce.default;const qce=dc(Ky);xn.MultiSendCallOnlyEthersContract=qce.default;const Vce=dc(Zy);xn.SignMessageLibEthersContract=Vce.default;const Wce=dc(r8);xn.EthersAdapter=Wce.default;var En={},Zm={},ba={};Object.defineProperty(ba,"__esModule",{value:!0});ba.toTxResult=ba.sameString=void 0;function Kce(t,e){return t.toLowerCase()===e.toLowerCase()}ba.sameString=Kce;async function Zce(t,e){return new Promise((r,n)=>t.once("transactionHash",a=>r({hash:a,promiEvent:t,options:e})).catch(n))}ba.toTxResult=Zce;Object.defineProperty(Zm,"__esModule",{value:!0});const sE=ba;class Jce{constructor(e){this.contract=e}getAddress(){return this.contract.options.address}async performCreate2(e,r,n,a){a&&!a.gas&&(a.gas=await this.estimateGas("performCreate2",[e,r,n],{...a}));const i=this.contract.methods.performCreate2(e,r,n).send(a);return(0,sE.toTxResult)(i,a)}async performCreate(e,r,n){n&&!n.gas&&(n.gas=await this.estimateGas("performCreate",[e,r],{...n}));const a=this.contract.methods.performCreate(e,r).send(n);return(0,sE.toTxResult)(a,n)}encode(e,r){return this.contract.methods[e](...r).encodeABI()}async estimateGas(e,r,n){return(await this.contract.methods[e](...r).estimateGas(n)).toString()}}Zm.default=Jce;var hc={};Object.defineProperty(hc,"__esModule",{value:!0});const Yce=Wo,oE=ba;class Xce{constructor(e){this.contract=e}async getVersion(){return await this.contract.methods.VERSION().call()}getAddress(){return this.contract.options.address}async getNonce(){return Number(await this.contract.methods.nonce().call())}async getThreshold(){return Number(await this.contract.methods.getThreshold().call())}async getOwners(){return this.contract.methods.getOwners().call()}async isOwner(e){return this.contract.methods.isOwner(e).call()}async getTransactionHash(e){return this.contract.methods.getTransactionHash(e.to,e.value,e.data,e.operation,e.safeTxGas,e.baseGas,e.gasPrice,e.gasToken,e.refundReceiver,e.nonce).call()}async approvedHashes(e,r){return Yce.BigNumber.from(await this.contract.methods.approvedHashes(e,r).call())}async approveHash(e,r){r&&!r.gas&&(r.gas=await this.estimateGas("approveHash",[e],{...r}));const n=this.contract.methods.approveHash(e).send(r);return(0,oE.toTxResult)(n,r)}async isValidTransaction(e,r){let n=!1;try{r&&!r.gas&&(r.gas=await this.estimateGas("execTransaction",[e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures()],{...r})),n=await this.contract.methods.execTransaction(e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures()).call(r)}catch{}return n}async execTransaction(e,r){r&&!r.gas&&(r.gas=await this.estimateGas("execTransaction",[e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures()],{...r}));const n=this.contract.methods.execTransaction(e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures()).send(r);return(0,oE.toTxResult)(n,r)}encode(e,r){return this.contract.methods[e](...r).encodeABI()}async estimateGas(e,r,n){return(await this.contract.methods[e](...r).estimateGas(n)).toString()}}hc.default=Xce;var bf={};Object.defineProperty(bf,"__esModule",{value:!0});const Qce=Wo,eue=ba;class tue{constructor(e){this.contract=e}getAddress(){return this.contract.options.address}async proxyCreationCode(){return this.contract.methods.proxyCreationCode().call()}async createProxy({safeMasterCopyAddress:e,initializer:r,saltNonce:n,options:a,callback:i}){var s,o,u;if(Qce.BigNumber.from(n).lt(0))throw new Error("saltNonce must be greater than or equal to 0");a&&!a.gas&&(a.gas=await this.estimateGas("createProxyWithNonce",[e,r,n],{...a}));const y=this.contract.methods.createProxyWithNonce(e,r,n).send(a);if(i){const A=await(0,eue.toTxResult)(y);i(A.hash)}const _=(u=(o=(s=(await new Promise((A,T)=>y.once("receipt",k=>A(k)).catch(T))).events)===null||s===void 0?void 0:s.ProxyCreation)===null||o===void 0?void 0:o.returnValues)===null||u===void 0?void 0:u.proxy;if(!_)throw new Error("SafeProxy was not deployed correctly");return _}encode(e,r){return this.contract.methods[e](...r).encodeABI()}async estimateGas(e,r,n){return(await this.contract.methods[e](...r).estimateGas(n)).toString()}}bf.default=tue;var ih={};Object.defineProperty(ih,"__esModule",{value:!0});class rue{constructor(e){this.contract=e}getAddress(){return this.contract.options.address}encode(e,r){return this.contract.methods[e](...r).encodeABI()}}ih.default=rue;var Jm={};Object.defineProperty(Jm,"__esModule",{value:!0});class nue{constructor(e){this.contract=e}getAddress(){return this.contract.options.address}encode(e,r){return this.contract.methods[e](...r).encodeABI()}}Jm.default=nue;var Ym={};Object.defineProperty(Ym,"__esModule",{value:!0});const aue=ba;class iue{constructor(e){this.contract=e}getAddress(){return this.contract.options.address}async signMessage(e,r){r&&!r.gas&&(r.gas=await this.estimateGas("signMessage",[e],{...r}));const n=this.contract.methods.signMessage(e).send(r);return(0,aue.toTxResult)(n,r)}async getMessageHash(e){return this.contract.methods.getMessageHash(e).call()}encode(e,r){return this.contract.methods[e](...r).encodeABI()}async estimateGas(e,r,n){return(await this.contract.methods[e](...r).estimateGas(n)).toString()}}Ym.default=iue;var Q8={},An={},e5={},t5={};Object.defineProperty(t5,"__esModule",{value:!0});class sue{constructor(e){this.contract=e}getAddress(){return this.contract.options.address}encode(e,r){return this.contract.methods[e](...r).encodeABI()}}t5.default=sue;var oue=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e5,"__esModule",{value:!0});const lue=oue(t5);class cue extends lue.default{constructor(e){super(e),this.contract=e}}e5.default=cue;var r5={},uue=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(r5,"__esModule",{value:!0});const fue=uue(Zm);class due extends fue.default{constructor(e){super(e),this.contract=e}}r5.default=due;var n5={},wi={};Object.defineProperty(wi,"__esModule",{value:!0});wi.SENTINEL_ADDRESS=wi.EMPTY_DATA=wi.ZERO_ADDRESS=void 0;wi.ZERO_ADDRESS=`0x${"0".repeat(40)}`;wi.EMPTY_DATA="0x";wi.SENTINEL_ADDRESS="0x0000000000000000000000000000000000000001";var hue=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(n5,"__esModule",{value:!0});const lE=ba,Xh=wi,pue=hue(hc);class yue extends pue.default{constructor(e){super(e),this.contract=e}async setup(e,r){const{owners:n,threshold:a,to:i=Xh.ZERO_ADDRESS,data:s=Xh.EMPTY_DATA,paymentToken:o=Xh.ZERO_ADDRESS,payment:u=0,paymentReceiver:y=Xh.ZERO_ADDRESS}=e;r&&!r.gas&&(r.gas=await this.estimateGas("setup",[n,a,i,s,o,u,y],{...r}));const b=this.contract.methods.setup(n,a,i,s,o,u,y).send(r);return(0,lE.toTxResult)(b,r)}async getModules(){return this.contract.methods.getModules().call()}async isModuleEnabled(e){return(await this.getModules()).some(a=>(0,lE.sameString)(a,e))}}n5.default=yue;var a5={},mue=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(a5,"__esModule",{value:!0});const cE=ba,rd=wi,bue=mue(hc);class vue extends bue.default{constructor(e){super(e),this.contract=e}async setup(e,r){const{owners:n,threshold:a,to:i=rd.ZERO_ADDRESS,data:s=rd.EMPTY_DATA,fallbackHandler:o=rd.ZERO_ADDRESS,paymentToken:u=rd.ZERO_ADDRESS,payment:y=0,paymentReceiver:b=rd.ZERO_ADDRESS}=e;r&&!r.gas&&(r.gas=await this.estimateGas("setup",[n,a,i,s,o,u,y,b],{...r}));const _=this.contract.methods.setup(n,a,i,s,o,u,y,b).send(r);return(0,cE.toTxResult)(_,r)}async getModules(){return this.contract.methods.getModules().call()}async isModuleEnabled(e){return(await this.getModules()).some(a=>(0,cE.sameString)(a,e))}}a5.default=vue;var i5={},gue=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(i5,"__esModule",{value:!0});const xue=ba,nd=wi,wue=gue(hc);class _ue extends wue.default{constructor(e){super(e),this.contract=e}async setup(e,r){const{owners:n,threshold:a,to:i=nd.ZERO_ADDRESS,data:s=nd.EMPTY_DATA,fallbackHandler:o=nd.ZERO_ADDRESS,paymentToken:u=nd.ZERO_ADDRESS,payment:y=0,paymentReceiver:b=nd.ZERO_ADDRESS}=e;r&&!r.gas&&(r.gas=await this.estimateGas("setup",[n,a,i,s,o,u,y,b],{...r}));const _=this.contract.methods.setup(n,a,i,s,o,u,y,b).send(r);return(0,xue.toTxResult)(_,r)}async getModules(){return this.contract.methods.getModules().call()}async isModuleEnabled(e){return this.contract.methods.isModuleEnabled(e).call()}}i5.default=_ue;var s5={},Eue=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(s5,"__esModule",{value:!0});const Aue=ba,Bc=wi,Sue=Eue(hc);class Cue extends Sue.default{constructor(e){super(e),this.contract=e}async setup(e,r){const{owners:n,threshold:a,to:i=Bc.ZERO_ADDRESS,data:s=Bc.EMPTY_DATA,fallbackHandler:o=Bc.ZERO_ADDRESS,paymentToken:u=Bc.ZERO_ADDRESS,payment:y=0,paymentReceiver:b=Bc.ZERO_ADDRESS}=e;r&&!r.gas&&(r.gas=await this.estimateGas("setup",[n,a,i,s,o,u,y,b],{...r}));const _=this.contract.methods.setup(n,a,i,s,o,u,y,b).send(r);return(0,Aue.toTxResult)(_,r)}async getModules(){const{array:e}=await this.contract.methods.getModulesPaginated(Bc.SENTINEL_ADDRESS,10).call();return e}async isModuleEnabled(e){return this.contract.methods.isModuleEnabled(e).call()}}s5.default=Cue;var o5={},Tue=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(o5,"__esModule",{value:!0});const Mue=Tue(bf);class Bue extends Mue.default{constructor(e){super(e),this.contract=e}}o5.default=Bue;var l5={},kue=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(l5,"__esModule",{value:!0});const Fue=kue(bf);class Pue extends Fue.default{constructor(e){super(e),this.contract=e}}l5.default=Pue;var c5={},Due=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(c5,"__esModule",{value:!0});const Iue=Due(bf);class Oue extends Iue.default{constructor(e){super(e),this.contract=e}}c5.default=Oue;var u5={},Rue=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(u5,"__esModule",{value:!0});const Nue=Rue(ih);class $ue extends Nue.default{constructor(e){super(e),this.contract=e}}u5.default=$ue;var f5={},Lue=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(f5,"__esModule",{value:!0});const jue=Lue(ih);class zue extends jue.default{constructor(e){super(e),this.contract=e}}f5.default=zue;var d5={},Uue=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(d5,"__esModule",{value:!0});const Hue=Uue(Jm);class Gue extends Hue.default{constructor(e){super(e),this.contract=e}}d5.default=Gue;var h5={},que=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(h5,"__esModule",{value:!0});const Vue=que(Ym);class Wue extends Vue.default{constructor(e){super(e),this.contract=e}}h5.default=Wue;var Ca=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(An,"__esModule",{value:!0});An.getCreateCallContractInstance=An.getSignMessageLibContractInstance=An.getGnosisSafeProxyFactoryContractInstance=An.getMultiSendCallOnlyContractInstance=An.getMultiSendContractInstance=An.getCompatibilityFallbackHandlerContractInstance=An.getSafeContractInstance=void 0;const Kue=Ca(e5),Zue=Ca(r5),Jue=Ca(n5),Yue=Ca(a5),Xue=Ca(i5),Que=Ca(s5),efe=Ca(o5),tfe=Ca(l5),rfe=Ca(c5),nfe=Ca(u5),afe=Ca(f5),ife=Ca(d5),sfe=Ca(h5);function ofe(t,e){switch(t){case"1.3.0":return new Que.default(e);case"1.2.0":return new Xue.default(e);case"1.1.1":return new Yue.default(e);case"1.0.0":return new Jue.default(e);default:throw new Error("Invalid Safe version")}}An.getSafeContractInstance=ofe;function lfe(t,e){switch(t){case"1.3.0":case"1.2.0":case"1.1.1":return new Kue.default(e);default:throw new Error("Invalid Safe version")}}An.getCompatibilityFallbackHandlerContractInstance=lfe;function cfe(t,e){switch(t){case"1.3.0":return new afe.default(e);case"1.2.0":case"1.1.1":case"1.0.0":return new nfe.default(e);default:throw new Error("Invalid Safe version")}}An.getMultiSendContractInstance=cfe;function ufe(t,e){switch(t){case"1.3.0":case"1.2.0":case"1.1.1":case"1.0.0":return new ife.default(e);default:throw new Error("Invalid Safe version")}}An.getMultiSendCallOnlyContractInstance=ufe;function ffe(t,e){switch(t){case"1.3.0":return new rfe.default(e);case"1.2.0":case"1.1.1":return new tfe.default(e);case"1.0.0":return new efe.default(e);default:throw new Error("Invalid Safe version")}}An.getGnosisSafeProxyFactoryContractInstance=ffe;function dfe(t,e){switch(t){case"1.3.0":return new sfe.default(e);default:throw new Error("Invalid Safe version")}}An.getSignMessageLibContractInstance=dfe;function hfe(t,e){switch(t){case"1.3.0":case"1.2.0":case"1.1.1":case"1.0.0":return new Zue.default(e);default:throw new Error("Invalid Safe version")}}An.getCreateCallContractInstance=hfe;var uE=ye&&ye.__classPrivateFieldSet||function(t,e,r,n,a){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?a.call(t,r):a?a.value=r:e.set(t,r),r},Xt=ye&&ye.__classPrivateFieldGet||function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},gr,Fi;Object.defineProperty(Q8,"__esModule",{value:!0});const pfe=Wo,fE=fc(),sl=An;class yfe{constructor({web3:e,signerAddress:r}){if(gr.set(this,void 0),Fi.set(this,void 0),!e)throw new Error("web3 property missing from options");uE(this,gr,e,"f"),uE(this,Fi,r,"f")}isAddress(e){return Xt(this,gr,"f").utils.isAddress(e)}async getEip3770Address(e){const r=await this.getChainId();return(0,fE.validateEip3770Address)(e,r)}async getBalance(e,r){const n=r?await Xt(this,gr,"f").eth.getBalance(e,r):await Xt(this,gr,"f").eth.getBalance(e);return pfe.BigNumber.from(n)}async getNonce(e,r){return r?await Xt(this,gr,"f").eth.getTransactionCount(e,r):await Xt(this,gr,"f").eth.getTransactionCount(e)}async getChainId(){return Xt(this,gr,"f").eth.getChainId()}getChecksummedAddress(e){return Xt(this,gr,"f").utils.toChecksumAddress(e)}async getSafeContract({safeVersion:e,singletonDeployment:r,customContractAddress:n,customContractAbi:a}){const i=await this.getChainId(),s=n??(r==null?void 0:r.networkAddresses[i]);if(!s)throw new Error("Invalid SafeProxy contract address");const o=this.getContract(s,a??(r==null?void 0:r.abi));return(0,sl.getSafeContractInstance)(e,o)}async getSafeProxyFactoryContract({safeVersion:e,singletonDeployment:r,customContractAddress:n,customContractAbi:a}){const i=await this.getChainId(),s=n??(r==null?void 0:r.networkAddresses[i]);if(!s)throw new Error("Invalid SafeProxyFactory contract address");const o=this.getContract(s,a??(r==null?void 0:r.abi));return(0,sl.getGnosisSafeProxyFactoryContractInstance)(e,o)}async getMultiSendContract({safeVersion:e,singletonDeployment:r,customContractAddress:n,customContractAbi:a}){const i=await this.getChainId(),s=n??(r==null?void 0:r.networkAddresses[i]);if(!s)throw new Error("Invalid MultiSend contract address");const o=this.getContract(s,a??(r==null?void 0:r.abi));return(0,sl.getMultiSendContractInstance)(e,o)}async getMultiSendCallOnlyContract({safeVersion:e,singletonDeployment:r,customContractAddress:n,customContractAbi:a}){const i=await this.getChainId(),s=n??(r==null?void 0:r.networkAddresses[i]);if(!s)throw new Error("Invalid MultiSendCallOnly contract address");const o=this.getContract(s,a??(r==null?void 0:r.abi));return(0,sl.getMultiSendCallOnlyContractInstance)(e,o)}async getCompatibilityFallbackHandlerContract({safeVersion:e,singletonDeployment:r,customContractAddress:n,customContractAbi:a}){const i=await this.getChainId(),s=n??(r==null?void 0:r.networkAddresses[i]);if(!s)throw new Error("Invalid Compatibility Fallback Handler contract address");const o=this.getContract(s,a??(r==null?void 0:r.abi));return(0,sl.getCompatibilityFallbackHandlerContractInstance)(e,o)}async getSignMessageLibContract({safeVersion:e,singletonDeployment:r,customContractAddress:n,customContractAbi:a}){const i=await this.getChainId(),s=n??(r==null?void 0:r.networkAddresses[i]);if(!s)throw new Error("Invalid SignMessageLib contract address");const o=this.getContract(s,a??(r==null?void 0:r.abi));return(0,sl.getSignMessageLibContractInstance)(e,o)}async getCreateCallContract({safeVersion:e,singletonDeployment:r,customContractAddress:n,customContractAbi:a}){const i=await this.getChainId(),s=n??(r==null?void 0:r.networkAddresses[i]);if(!s)throw new Error("Invalid CreateCall contract address");const o=this.getContract(s,a??(r==null?void 0:r.abi));return(0,sl.getCreateCallContractInstance)(e,o)}getContract(e,r,n){return new(Xt(this,gr,"f")).eth.Contract(r,e,n)}async getContractCode(e,r){return r?await Xt(this,gr,"f").eth.getCode(e,r):await Xt(this,gr,"f").eth.getCode(e)}async isContractDeployed(e,r){return await this.getContractCode(e,r)!=="0x"}async getStorageAt(e,r){const n=await Xt(this,gr,"f").eth.getStorageAt(e,r);return this.decodeParameters(["address"],n)[0]}async getTransaction(e){return Xt(this,gr,"f").eth.getTransaction(e)}async getSignerAddress(){return Xt(this,Fi,"f")}signMessage(e){if(!Xt(this,Fi,"f"))throw new Error("EthAdapter must be initialized with a signer to use this method");return Xt(this,gr,"f").eth.sign(e,Xt(this,Fi,"f"))}async signTypedData(e,r){if(!Xt(this,Fi,"f"))throw new Error("This method requires a signer");const n=(0,fE.generateTypedData)(e);let a="eth_signTypedData_v3";r==="v4"?a="eth_signTypedData_v4":r||(a="eth_signTypedData");const i=JSON.stringify(n),s={jsonrpc:"2.0",method:a,params:r==="v3"||r==="v4"?[Xt(this,Fi,"f"),i]:[i,Xt(this,Fi,"f")],from:Xt(this,Fi,"f"),id:new Date().getTime()};return new Promise((o,u)=>{const y=Xt(this,gr,"f").currentProvider;function b(_,A){if(_){u(_);return}if((A==null?void 0:A.result)==null){u(new Error("EIP-712 is not supported by user's wallet"));return}o(A.result)}y.send(s,b)})}async estimateGas(e,r){return(await Xt(this,gr,"f").eth.estimateGas(e,r)).toString()}call(e,r){return Xt(this,gr,"f").eth.call(e,r)}encodeParameters(e,r){return Xt(this,gr,"f").eth.abi.encodeParameters(e,r)}decodeParameters(e,r){return Xt(this,gr,"f").eth.abi.decodeParameters(e,r)}}gr=new WeakMap,Fi=new WeakMap;Q8.default=yfe;var pc=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(En,"__esModule",{value:!0});En.SignMessageLibWeb3Contract=En.MultiSendCallOnlyWeb3Contract=En.MultiSendWeb3Contract=En.GnosisSafeProxyFactoryWeb3Contract=En.GnosisSafeContractWeb3=En.CreateCallWeb3Contract=En.Web3Adapter=void 0;const mfe=pc(Zm);En.CreateCallWeb3Contract=mfe.default;const bfe=pc(hc);En.GnosisSafeContractWeb3=bfe.default;const vfe=pc(bf);En.GnosisSafeProxyFactoryWeb3Contract=vfe.default;const gfe=pc(ih);En.MultiSendWeb3Contract=gfe.default;const xfe=pc(Jm);En.MultiSendCallOnlyWeb3Contract=xfe.default;const wfe=pc(Ym);En.SignMessageLibWeb3Contract=wfe.default;const _fe=pc(Q8);En.Web3Adapter=_fe.default;var Ct={},bP={},vP={};Object.defineProperty(vP,"__esModule",{value:!0});var gP={};const Efe="0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb",Afe=!1,Sfe="SafeL2",Cfe="1.4.0",Tfe={5:"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb",56:"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb",100:"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb"},Mfe=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"AddedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"approvedHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"ApproveHash",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"handler",type:"address"}],name:"ChangedFallbackHandler",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guard",type:"address"}],name:"ChangedGuard",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"}],name:"ChangedThreshold",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"DisabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"EnabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"RemovedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"module",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"SafeModuleTransaction",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{indexed:!1,internalType:"uint256",name:"safeTxGas",type:"uint256"},{indexed:!1,internalType:"uint256",name:"baseGas",type:"uint256"},{indexed:!1,internalType:"uint256",name:"gasPrice",type:"uint256"},{indexed:!1,internalType:"address",name:"gasToken",type:"address"},{indexed:!1,internalType:"address payable",name:"refundReceiver",type:"address"},{indexed:!1,internalType:"bytes",name:"signatures",type:"bytes"},{indexed:!1,internalType:"bytes",name:"additionalInfo",type:"bytes"}],name:"SafeMultiSigTransaction",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"SafeReceived",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"initiator",type:"address"},{indexed:!1,internalType:"address[]",name:"owners",type:"address[]"},{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"},{indexed:!1,internalType:"address",name:"initializer",type:"address"},{indexed:!1,internalType:"address",name:"fallbackHandler",type:"address"}],name:"SafeSetup",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"msgHash",type:"bytes32"}],name:"SignMsg",type:"event"},{stateMutability:"nonpayable",type:"fallback"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"addOwnerWithThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"hashToApprove",type:"bytes32"}],name:"approveHash",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"approvedHashes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"changeThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"dataHash",type:"bytes32"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signatures",type:"bytes"},{internalType:"uint256",name:"requiredSignatures",type:"uint256"}],name:"checkNSignatures",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"dataHash",type:"bytes32"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"checkSignatures",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"prevModule",type:"address"},{internalType:"address",name:"module",type:"address"}],name:"disableModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"module",type:"address"}],name:"enableModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"encodeTransactionData",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address payable",name:"refundReceiver",type:"address"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"execTransaction",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModule",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModuleReturnData",outputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getChainId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"start",type:"address"},{internalType:"uint256",name:"pageSize",type:"uint256"}],name:"getModulesPaginated",outputs:[{internalType:"address[]",name:"array",type:"address[]"},{internalType:"address",name:"next",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getOwners",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"length",type:"uint256"}],name:"getStorageAt",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"getThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"module",type:"address"}],name:"isModuleEnabled",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"removeOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"handler",type:"address"}],name:"setFallbackHandler",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"guard",type:"address"}],name:"setGuard",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_owners",type:"address[]"},{internalType:"uint256",name:"_threshold",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"address",name:"fallbackHandler",type:"address"},{internalType:"address",name:"paymentToken",type:"address"},{internalType:"uint256",name:"payment",type:"uint256"},{internalType:"address payable",name:"paymentReceiver",type:"address"}],name:"setup",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"signedMessages",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"targetContract",type:"address"},{internalType:"bytes",name:"calldataPayload",type:"bytes"}],name:"simulateAndRevert",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"oldOwner",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"swapOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Bfe={defaultAddress:Efe,released:Afe,contractName:Sfe,version:Cfe,networkAddresses:Tfe,abi:Mfe},kfe="0xc962E67D9490E154D81181879ddf4CD3b65D2132",Ffe=!1,Pfe="Safe",Dfe="1.4.0",Ife={5:"0xc962E67D9490E154D81181879ddf4CD3b65D2132",56:"0xc962E67D9490E154D81181879ddf4CD3b65D2132",100:"0xc962E67D9490E154D81181879ddf4CD3b65D2132"},Ofe=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"AddedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"approvedHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"ApproveHash",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"handler",type:"address"}],name:"ChangedFallbackHandler",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"guard",type:"address"}],name:"ChangedGuard",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"}],name:"ChangedThreshold",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"DisabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"EnabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"RemovedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"SafeReceived",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"initiator",type:"address"},{indexed:!1,internalType:"address[]",name:"owners",type:"address[]"},{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"},{indexed:!1,internalType:"address",name:"initializer",type:"address"},{indexed:!1,internalType:"address",name:"fallbackHandler",type:"address"}],name:"SafeSetup",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"msgHash",type:"bytes32"}],name:"SignMsg",type:"event"},{stateMutability:"nonpayable",type:"fallback"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"addOwnerWithThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"hashToApprove",type:"bytes32"}],name:"approveHash",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"approvedHashes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"changeThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"dataHash",type:"bytes32"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signatures",type:"bytes"},{internalType:"uint256",name:"requiredSignatures",type:"uint256"}],name:"checkNSignatures",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"dataHash",type:"bytes32"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"checkSignatures",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"prevModule",type:"address"},{internalType:"address",name:"module",type:"address"}],name:"disableModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"module",type:"address"}],name:"enableModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"encodeTransactionData",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address payable",name:"refundReceiver",type:"address"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"execTransaction",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModule",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModuleReturnData",outputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getChainId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"start",type:"address"},{internalType:"uint256",name:"pageSize",type:"uint256"}],name:"getModulesPaginated",outputs:[{internalType:"address[]",name:"array",type:"address[]"},{internalType:"address",name:"next",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getOwners",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"length",type:"uint256"}],name:"getStorageAt",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"getThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"module",type:"address"}],name:"isModuleEnabled",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"removeOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"handler",type:"address"}],name:"setFallbackHandler",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"guard",type:"address"}],name:"setGuard",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_owners",type:"address[]"},{internalType:"uint256",name:"_threshold",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"address",name:"fallbackHandler",type:"address"},{internalType:"address",name:"paymentToken",type:"address"},{internalType:"uint256",name:"payment",type:"uint256"},{internalType:"address payable",name:"paymentReceiver",type:"address"}],name:"setup",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"signedMessages",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"targetContract",type:"address"},{internalType:"bytes",name:"calldataPayload",type:"bytes"}],name:"simulateAndRevert",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"oldOwner",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"swapOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Rfe={defaultAddress:kfe,released:Ffe,contractName:Pfe,version:Dfe,networkAddresses:Ife,abi:Ofe},Nfe="0x3E5c63644E683549055b9Be8653de26E0B4CD36E",$fe=!0,Lfe="GnosisSafeL2",jfe="1.3.0",zfe={1:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",3:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",4:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",5:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",10:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",11:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",12:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",18:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",25:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",28:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",39:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",40:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",41:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",42:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",50:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",51:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",56:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",61:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",63:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",69:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",82:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",83:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",97:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",100:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",106:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",108:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",111:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",122:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",123:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",137:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",246:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",250:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",288:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",300:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",321:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",322:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",336:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",338:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",420:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",588:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",592:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",595:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",599:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",686:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",787:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",1001:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",1008:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",1088:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",1101:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",1111:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",1112:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",1115:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",1116:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",1284:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",1285:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",1287:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",1294:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",1807:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",1984:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",2001:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",2002:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",2008:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",2019:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",2020:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",2221:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",2222:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",3737:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",4002:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",4689:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",4918:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",4919:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",5001:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",7341:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",7700:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",8217:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",9e3:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",9001:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",9728:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",1e4:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",10001:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",10200:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",11235:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",11437:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",12357:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",23294:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",42161:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",42170:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",42220:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",43113:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",43114:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",43288:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",44787:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",45e3:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",47805:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",54211:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",56288:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",59140:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",71401:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",71402:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",73799:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",80001:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",84531:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",200101:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",200202:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",333999:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",421611:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",421613:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",534353:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",11155111:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",245022926:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",1313161554:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",1313161555:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",16666e5:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA",16667e5:"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","11297108099":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","11297108109":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E"},Ufe=[{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"AddedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"approvedHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"ApproveHash",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"handler",type:"address"}],name:"ChangedFallbackHandler",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"guard",type:"address"}],name:"ChangedGuard",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"}],name:"ChangedThreshold",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"module",type:"address"}],name:"DisabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"module",type:"address"}],name:"EnabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"RemovedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"module",type:"address"},{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"SafeModuleTransaction",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"},{indexed:!1,internalType:"bytes",name:"data",type:"bytes"},{indexed:!1,internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{indexed:!1,internalType:"uint256",name:"safeTxGas",type:"uint256"},{indexed:!1,internalType:"uint256",name:"baseGas",type:"uint256"},{indexed:!1,internalType:"uint256",name:"gasPrice",type:"uint256"},{indexed:!1,internalType:"address",name:"gasToken",type:"address"},{indexed:!1,internalType:"address payable",name:"refundReceiver",type:"address"},{indexed:!1,internalType:"bytes",name:"signatures",type:"bytes"},{indexed:!1,internalType:"bytes",name:"additionalInfo",type:"bytes"}],name:"SafeMultiSigTransaction",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"SafeReceived",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"initiator",type:"address"},{indexed:!1,internalType:"address[]",name:"owners",type:"address[]"},{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"},{indexed:!1,internalType:"address",name:"initializer",type:"address"},{indexed:!1,internalType:"address",name:"fallbackHandler",type:"address"}],name:"SafeSetup",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"msgHash",type:"bytes32"}],name:"SignMsg",type:"event"},{stateMutability:"nonpayable",type:"fallback"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"addOwnerWithThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"hashToApprove",type:"bytes32"}],name:"approveHash",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"approvedHashes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"changeThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"dataHash",type:"bytes32"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signatures",type:"bytes"},{internalType:"uint256",name:"requiredSignatures",type:"uint256"}],name:"checkNSignatures",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"dataHash",type:"bytes32"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"checkSignatures",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"prevModule",type:"address"},{internalType:"address",name:"module",type:"address"}],name:"disableModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"module",type:"address"}],name:"enableModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"encodeTransactionData",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address payable",name:"refundReceiver",type:"address"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"execTransaction",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModule",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModuleReturnData",outputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getChainId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"start",type:"address"},{internalType:"uint256",name:"pageSize",type:"uint256"}],name:"getModulesPaginated",outputs:[{internalType:"address[]",name:"array",type:"address[]"},{internalType:"address",name:"next",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getOwners",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"length",type:"uint256"}],name:"getStorageAt",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"getThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"module",type:"address"}],name:"isModuleEnabled",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"removeOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"requiredTxGas",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"handler",type:"address"}],name:"setFallbackHandler",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"guard",type:"address"}],name:"setGuard",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_owners",type:"address[]"},{internalType:"uint256",name:"_threshold",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"address",name:"fallbackHandler",type:"address"},{internalType:"address",name:"paymentToken",type:"address"},{internalType:"uint256",name:"payment",type:"uint256"},{internalType:"address payable",name:"paymentReceiver",type:"address"}],name:"setup",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"signedMessages",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"targetContract",type:"address"},{internalType:"bytes",name:"calldataPayload",type:"bytes"}],name:"simulateAndRevert",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"oldOwner",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"swapOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Hfe={defaultAddress:Nfe,released:$fe,contractName:Lfe,version:jfe,networkAddresses:zfe,abi:Ufe},Gfe="0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",qfe=!0,Vfe="GnosisSafe",Wfe="1.3.0",Kfe={1:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",3:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",4:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",5:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",10:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",11:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",12:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",18:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",25:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",28:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",39:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",40:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",41:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",42:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",50:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",51:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",56:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",61:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",63:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",69:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",82:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",83:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",97:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",100:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",106:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",108:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",111:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",122:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",123:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",137:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",246:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",250:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",288:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",300:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",321:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",322:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",336:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",338:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",420:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",588:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",592:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",595:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",599:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",686:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",787:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",1001:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",1008:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",1088:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",1101:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",1111:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",1112:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",1115:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",1116:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",1284:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",1285:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",1287:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",1294:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",1807:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",1984:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",2001:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",2002:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",2008:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",2019:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",2020:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",2221:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",2222:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",3737:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",4002:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",4689:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",4918:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",4919:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",5001:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",7341:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",7700:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",8217:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",9e3:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",9001:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",9728:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",1e4:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",10001:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",10200:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",11235:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",11437:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",12357:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",23294:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",42161:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",42170:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",42220:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",43113:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",43114:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",43288:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",44787:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",45e3:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",47805:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",54211:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",56288:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",59140:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",71401:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",71402:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",73799:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",80001:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",84531:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",200101:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",200202:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",333999:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",421611:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",421613:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",534353:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",11155111:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",245022926:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",1313161554:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",1313161555:"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552",16666e5:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",16667e5:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","11297108099":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","11297108109":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552"},Zfe=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"AddedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"approvedHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"ApproveHash",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"handler",type:"address"}],name:"ChangedFallbackHandler",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"guard",type:"address"}],name:"ChangedGuard",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"}],name:"ChangedThreshold",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"module",type:"address"}],name:"DisabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"module",type:"address"}],name:"EnabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"RemovedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"SafeReceived",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"initiator",type:"address"},{indexed:!1,internalType:"address[]",name:"owners",type:"address[]"},{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"},{indexed:!1,internalType:"address",name:"initializer",type:"address"},{indexed:!1,internalType:"address",name:"fallbackHandler",type:"address"}],name:"SafeSetup",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"msgHash",type:"bytes32"}],name:"SignMsg",type:"event"},{stateMutability:"nonpayable",type:"fallback"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"addOwnerWithThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"hashToApprove",type:"bytes32"}],name:"approveHash",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"approvedHashes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"changeThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"dataHash",type:"bytes32"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signatures",type:"bytes"},{internalType:"uint256",name:"requiredSignatures",type:"uint256"}],name:"checkNSignatures",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"dataHash",type:"bytes32"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"checkSignatures",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"prevModule",type:"address"},{internalType:"address",name:"module",type:"address"}],name:"disableModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"module",type:"address"}],name:"enableModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"encodeTransactionData",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address payable",name:"refundReceiver",type:"address"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"execTransaction",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModule",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModuleReturnData",outputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getChainId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"start",type:"address"},{internalType:"uint256",name:"pageSize",type:"uint256"}],name:"getModulesPaginated",outputs:[{internalType:"address[]",name:"array",type:"address[]"},{internalType:"address",name:"next",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getOwners",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"length",type:"uint256"}],name:"getStorageAt",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"getThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"module",type:"address"}],name:"isModuleEnabled",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"removeOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"requiredTxGas",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"handler",type:"address"}],name:"setFallbackHandler",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"guard",type:"address"}],name:"setGuard",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_owners",type:"address[]"},{internalType:"uint256",name:"_threshold",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"address",name:"fallbackHandler",type:"address"},{internalType:"address",name:"paymentToken",type:"address"},{internalType:"uint256",name:"payment",type:"uint256"},{internalType:"address payable",name:"paymentReceiver",type:"address"}],name:"setup",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"signedMessages",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"targetContract",type:"address"},{internalType:"bytes",name:"calldataPayload",type:"bytes"}],name:"simulateAndRevert",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"oldOwner",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"swapOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}],Jfe={defaultAddress:Gfe,released:qfe,contractName:Vfe,version:Wfe,networkAddresses:Kfe,abi:Zfe},Yfe="0x6851D6fDFAfD08c0295C392436245E5bc78B0185",Xfe=!0,Qfe="GnosisSafe",ede="1.2.0",tde={1:"0x6851D6fDFAfD08c0295C392436245E5bc78B0185",4:"0x6851D6fDFAfD08c0295C392436245E5bc78B0185",5:"0x6851D6fDFAfD08c0295C392436245E5bc78B0185",42:"0x6851D6fDFAfD08c0295C392436245E5bc78B0185",88:"0x6851D6fDFAfD08c0295C392436245E5bc78B0185",100:"0x6851D6fDFAfD08c0295C392436245E5bc78B0185",246:"0x6851D6fDFAfD08c0295C392436245E5bc78B0185",73799:"0x6851D6fDFAfD08c0295C392436245E5bc78B0185"},rde=[{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"AddedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"approvedHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"ApproveHash",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"masterCopy",type:"address"}],name:"ChangedMasterCopy",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"}],name:"ChangedThreshold",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract Module",name:"module",type:"address"}],name:"DisabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract Module",name:"module",type:"address"}],name:"EnabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"RemovedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"msgHash",type:"bytes32"}],name:"SignMsg",type:"event"},{payable:!0,stateMutability:"payable",type:"fallback"},{constant:!0,inputs:[],name:"NAME",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"addOwnerWithThreshold",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"approvedHashes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_masterCopy",type:"address"}],name:"changeMasterCopy",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"changeThreshold",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"contract Module",name:"prevModule",type:"address"},{internalType:"contract Module",name:"module",type:"address"}],name:"disableModule",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"contract Module",name:"module",type:"address"}],name:"enableModule",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModule",outputs:[{internalType:"bool",name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModuleReturnData",outputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getModules",outputs:[{internalType:"address[]",name:"",type:"address[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"start",type:"address"},{internalType:"uint256",name:"pageSize",type:"uint256"}],name:"getModulesPaginated",outputs:[{internalType:"address[]",name:"array",type:"address[]"},{internalType:"address",name:"next",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOwners",outputs:[{internalType:"address[]",name:"",type:"address[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"contract Module",name:"module",type:"address"}],name:"isModuleEnabled",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"removeOwner",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"handler",type:"address"}],name:"setFallbackHandler",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"signedMessages",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"oldOwner",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"swapOwner",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address[]",name:"_owners",type:"address[]"},{internalType:"uint256",name:"_threshold",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"address",name:"fallbackHandler",type:"address"},{internalType:"address",name:"paymentToken",type:"address"},{internalType:"uint256",name:"payment",type:"uint256"},{internalType:"address payable",name:"paymentReceiver",type:"address"}],name:"setup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address payable",name:"refundReceiver",type:"address"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"execTransaction",outputs:[{internalType:"bool",name:"success",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"requiredTxGas",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"bytes32",name:"hashToApprove",type:"bytes32"}],name:"approveHash",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"signMessage",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"bytes",name:"_data",type:"bytes"},{internalType:"bytes",name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"bytes",name:"message",type:"bytes"}],name:"getMessageHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"encodeTransactionData",outputs:[{internalType:"bytes",name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"}],nde={defaultAddress:Yfe,released:Xfe,contractName:Qfe,version:ede,networkAddresses:tde,abi:rde},ade="0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",ide=!0,sde="GnosisSafe",ode="1.1.1",lde={1:"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",4:"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",5:"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",42:"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",88:"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",100:"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",246:"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F",73799:"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F"},cde=[{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"AddedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"approvedHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"ApproveHash",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"masterCopy",type:"address"}],name:"ChangedMasterCopy",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"}],name:"ChangedThreshold",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract Module",name:"module",type:"address"}],name:"DisabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract Module",name:"module",type:"address"}],name:"EnabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"RemovedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"msgHash",type:"bytes32"}],name:"SignMsg",type:"event"},{payable:!0,stateMutability:"payable",type:"fallback"},{constant:!0,inputs:[],name:"NAME",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"addOwnerWithThreshold",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"approvedHashes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_masterCopy",type:"address"}],name:"changeMasterCopy",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"changeThreshold",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"contract Module",name:"prevModule",type:"address"},{internalType:"contract Module",name:"module",type:"address"}],name:"disableModule",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"contract Module",name:"module",type:"address"}],name:"enableModule",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModule",outputs:[{internalType:"bool",name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModuleReturnData",outputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getModules",outputs:[{internalType:"address[]",name:"",type:"address[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"start",type:"address"},{internalType:"uint256",name:"pageSize",type:"uint256"}],name:"getModulesPaginated",outputs:[{internalType:"address[]",name:"array",type:"address[]"},{internalType:"address",name:"next",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOwners",outputs:[{internalType:"address[]",name:"",type:"address[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"removeOwner",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"handler",type:"address"}],name:"setFallbackHandler",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"signedMessages",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"oldOwner",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"swapOwner",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address[]",name:"_owners",type:"address[]"},{internalType:"uint256",name:"_threshold",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"address",name:"fallbackHandler",type:"address"},{internalType:"address",name:"paymentToken",type:"address"},{internalType:"uint256",name:"payment",type:"uint256"},{internalType:"address payable",name:"paymentReceiver",type:"address"}],name:"setup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address payable",name:"refundReceiver",type:"address"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"execTransaction",outputs:[{internalType:"bool",name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"requiredTxGas",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"bytes32",name:"hashToApprove",type:"bytes32"}],name:"approveHash",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"signMessage",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"bytes",name:"_data",type:"bytes"},{internalType:"bytes",name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"bytes",name:"message",type:"bytes"}],name:"getMessageHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"encodeTransactionData",outputs:[{internalType:"bytes",name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"}],ude={defaultAddress:ade,released:ide,contractName:sde,version:ode,networkAddresses:lde,abi:cde},fde="0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A",dde=!0,hde="GnosisSafe",pde="1.0.0",yde={1:"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A",4:"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A",5:"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A",42:"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A",100:"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A"},mde=[{constant:!1,inputs:[{name:"owner",type:"address"},{name:"_threshold",type:"uint256"}],name:"addOwnerWithThreshold",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"DOMAIN_SEPARATOR_TYPEHASH",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"owner",type:"address"}],name:"isOwner",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"}],name:"execTransactionFromModule",outputs:[{name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"bytes32"}],name:"signedMessages",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"module",type:"address"}],name:"enableModule",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_threshold",type:"uint256"}],name:"changeThreshold",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"},{name:"",type:"bytes32"}],name:"approvedHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_masterCopy",type:"address"}],name:"changeMasterCopy",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"SENTINEL_MODULES",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"SENTINEL_OWNERS",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOwners",outputs:[{name:"",type:"address[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"NAME",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"nonce",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getModules",outputs:[{name:"",type:"address[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"SAFE_MSG_TYPEHASH",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"SAFE_TX_TYPEHASH",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"prevModule",type:"address"},{name:"module",type:"address"}],name:"disableModule",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"prevOwner",type:"address"},{name:"oldOwner",type:"address"},{name:"newOwner",type:"address"}],name:"swapOwner",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getThreshold",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"domainSeparator",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"prevOwner",type:"address"},{name:"owner",type:"address"},{name:"_threshold",type:"uint256"}],name:"removeOwner",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"VERSION",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"txHash",type:"bytes32"}],name:"ExecutionFailed",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"owner",type:"address"}],name:"AddedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"owner",type:"address"}],name:"RemovedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"threshold",type:"uint256"}],name:"ChangedThreshold",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"module",type:"address"}],name:"EnabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"module",type:"address"}],name:"DisabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"newContract",type:"address"}],name:"ContractCreation",type:"event"},{constant:!1,inputs:[{name:"_owners",type:"address[]"},{name:"_threshold",type:"uint256"},{name:"to",type:"address"},{name:"data",type:"bytes"},{name:"paymentToken",type:"address"},{name:"payment",type:"uint256"},{name:"paymentReceiver",type:"address"}],name:"setup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"},{name:"safeTxGas",type:"uint256"},{name:"baseGas",type:"uint256"},{name:"gasPrice",type:"uint256"},{name:"gasToken",type:"address"},{name:"refundReceiver",type:"address"},{name:"signatures",type:"bytes"}],name:"execTransaction",outputs:[{name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"}],name:"requiredTxGas",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"hashToApprove",type:"bytes32"}],name:"approveHash",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_data",type:"bytes"}],name:"signMessage",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_data",type:"bytes"},{name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"message",type:"bytes"}],name:"getMessageHash",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"},{name:"safeTxGas",type:"uint256"},{name:"baseGas",type:"uint256"},{name:"gasPrice",type:"uint256"},{name:"gasToken",type:"address"},{name:"refundReceiver",type:"address"},{name:"_nonce",type:"uint256"}],name:"encodeTransactionData",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"},{name:"safeTxGas",type:"uint256"},{name:"baseGas",type:"uint256"},{name:"gasPrice",type:"uint256"},{name:"gasToken",type:"address"},{name:"refundReceiver",type:"address"},{name:"_nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"}],bde={defaultAddress:fde,released:dde,contractName:hde,version:pde,networkAddresses:yde,abi:mde};var Yo={},vde=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Yo,"__esModule",{value:!0});Yo.findDeployment=void 0;const gde=vde(Dm),dE={released:!0},xde=(t=dE,e)=>{const r=Object.assign(Object.assign({},dE),t);return e.find(n=>!(typeof r.version<"u"&&!(0,gde.default)(n.version,r.version)||typeof r.released=="boolean"&&n.released!=r.released||r.network&&!n.networkAddresses[r.network]))};Yo.findDeployment=xde;(function(t){var e=ye&&ye.__importDefault||function(A){return A&&A.__esModule?A:{default:A}};Object.defineProperty(t,"__esModule",{value:!0}),t.getSafeL2SingletonDeployment=t._safeL2Deployments=t.getSafeSingletonDeployment=t._safeDeployments=void 0;const r=e(Bfe),n=e(Rfe),a=e(Hfe),i=e(Jfe),s=e(nde),o=e(ude),u=e(bde),y=Yo;t._safeDeployments=[n.default,i.default,s.default,o.default,u.default];const b=A=>(0,y.findDeployment)(A,t._safeDeployments);t.getSafeSingletonDeployment=b,t._safeL2Deployments=[r.default,a.default];const _=A=>(0,y.findDeployment)(A,t._safeL2Deployments);t.getSafeL2SingletonDeployment=_})(gP);var Xm={};const wde="0x12302fE9c02ff50939BaAaaf415fc226C078613C",_de=!0,Ede="ProxyFactory",Ade="1.0.0",Sde={1:"0x12302fE9c02ff50939BaAaaf415fc226C078613C",4:"0x12302fE9c02ff50939BaAaaf415fc226C078613C",5:"0x12302fE9c02ff50939BaAaaf415fc226C078613C",42:"0x12302fE9c02ff50939BaAaaf415fc226C078613C",100:"0x12302fE9c02ff50939BaAaaf415fc226C078613C"},Cde=[{constant:!1,inputs:[{name:"_mastercopy",type:"address"},{name:"initializer",type:"bytes"},{name:"saltNonce",type:"uint256"}],name:"createProxyWithNonce",outputs:[{name:"proxy",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"proxyCreationCode",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!1,inputs:[{name:"masterCopy",type:"address"},{name:"data",type:"bytes"}],name:"createProxy",outputs:[{name:"proxy",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"proxyRuntimeCode",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"pure",type:"function"},{anonymous:!1,inputs:[{indexed:!1,name:"proxy",type:"address"}],name:"ProxyCreation",type:"event"}],Tde={defaultAddress:wde,released:_de,contractName:Ede,version:Ade,networkAddresses:Sde,abi:Cde},Mde="0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B",Bde=!0,kde="ProxyFactory",Fde="1.1.1",Pde={1:"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B",4:"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B",5:"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B",42:"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B",88:"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B",100:"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B",246:"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B",73799:"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B"},Dde=[{anonymous:!1,inputs:[{indexed:!1,internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],name:"ProxyCreation",type:"event"},{constant:!1,inputs:[{internalType:"address",name:"masterCopy",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"createProxy",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"proxyRuntimeCode",outputs:[{internalType:"bytes",name:"",type:"bytes"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!0,inputs:[],name:"proxyCreationCode",outputs:[{internalType:"bytes",name:"",type:"bytes"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_mastercopy",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"}],name:"createProxyWithNonce",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_mastercopy",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"},{internalType:"contract IProxyCreationCallback",name:"callback",type:"address"}],name:"createProxyWithCallback",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_mastercopy",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"}],name:"calculateCreateProxyWithNonceAddress",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"}],Ide={defaultAddress:Mde,released:Bde,contractName:kde,version:Fde,networkAddresses:Pde,abi:Dde},Ode="0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",Rde=!0,Nde="GnosisSafeProxyFactory",$de="1.3.0",Lde={1:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",3:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",4:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",5:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",10:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",11:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",12:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",18:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",25:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",28:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",39:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",40:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",41:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",42:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",50:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",51:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",56:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",61:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",63:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",69:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",82:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",83:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",97:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",100:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",106:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",108:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",111:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",122:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",123:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",137:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",246:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",250:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",288:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",300:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",321:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",322:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",336:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",338:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",420:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",588:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",592:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",595:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",599:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",686:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",787:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",1001:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",1008:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",1088:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",1101:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",1111:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",1112:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",1115:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",1116:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",1284:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",1285:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",1287:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",1294:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",1807:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",1984:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",2001:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",2002:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",2008:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",2019:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",2020:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",2221:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",2222:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",3737:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",4002:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",4689:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",4918:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",4919:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",5001:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",7341:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",7700:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",8217:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",9e3:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",9001:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",9728:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",1e4:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",10001:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",10200:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",11235:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",11437:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",12357:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",23294:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",42161:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",42170:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",42220:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",43113:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",43114:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",43288:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",44787:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",45e3:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",47805:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",54211:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",56288:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",59140:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",71401:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",71402:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",73799:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",80001:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",84531:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",200101:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",200202:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",333999:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",421611:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",421613:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",534353:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",11155111:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",245022926:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",1313161554:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",1313161555:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",16666e5:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",16667e5:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","11297108099":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","11297108109":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2"},jde=[{anonymous:!1,inputs:[{indexed:!1,internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"},{indexed:!1,internalType:"address",name:"singleton",type:"address"}],name:"ProxyCreation",type:"event"},{inputs:[{internalType:"address",name:"_singleton",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"}],name:"calculateCreateProxyWithNonceAddress",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"singleton",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"createProxy",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_singleton",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"},{internalType:"contract IProxyCreationCallback",name:"callback",type:"address"}],name:"createProxyWithCallback",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_singleton",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"}],name:"createProxyWithNonce",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxyCreationCode",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[],name:"proxyRuntimeCode",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"}],zde={defaultAddress:Ode,released:Rde,contractName:Nde,version:$de,networkAddresses:Lde,abi:jde},Ude="0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67",Hde="SafeProxyFactory",Gde="1.4.0",qde=!1,Vde={5:"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67",56:"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67",100:"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67"},Wde=[{anonymous:!1,inputs:[{indexed:!0,internalType:"contract SafeProxy",name:"proxy",type:"address"},{indexed:!1,internalType:"address",name:"singleton",type:"address"}],name:"ProxyCreation",type:"event"},{inputs:[{internalType:"address",name:"_singleton",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"}],name:"createChainSpecificProxyWithNonce",outputs:[{internalType:"contract SafeProxy",name:"proxy",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_singleton",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"},{internalType:"contract IProxyCreationCallback",name:"callback",type:"address"}],name:"createProxyWithCallback",outputs:[{internalType:"contract SafeProxy",name:"proxy",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_singleton",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"}],name:"createProxyWithNonce",outputs:[{internalType:"contract SafeProxy",name:"proxy",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getChainId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxyCreationCode",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"}],Kde={defaultAddress:Ude,contractName:Hde,version:Gde,released:qde,networkAddresses:Vde,abi:Wde};var Qm=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Xm,"__esModule",{value:!0});Xm.getProxyFactoryDeployment=void 0;const Zde=Qm(Tde),Jde=Qm(Ide),Yde=Qm(zde),Xde=Qm(Kde),Qde=Yo,e0e=[Xde.default,Yde.default,Jde.default,Zde.default],t0e=t=>(0,Qde.findDeployment)(t,e0e);Xm.getProxyFactoryDeployment=t0e;var Wi={};const r0e="0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",n0e=!0,a0e="CreateCall",i0e="1.3.0",s0e={1:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",3:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",4:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",5:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",10:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",11:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",12:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",18:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",25:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",28:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",39:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",40:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",41:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",42:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",50:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",51:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",56:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",61:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",63:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",69:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",82:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",83:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",97:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",100:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",106:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",108:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",111:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",122:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",123:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",137:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",246:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",250:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",288:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",300:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",321:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",322:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",336:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",338:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",420:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",588:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",592:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",595:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",599:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",686:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",787:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",1001:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",1008:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",1088:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",1101:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",1111:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",1112:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",1115:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",1116:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",1284:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",1285:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",1287:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",1294:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",1807:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",1984:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",2001:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",2002:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",2008:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",2019:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",2020:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",2221:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",2222:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",3737:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",4002:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",4689:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",4918:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",4919:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",5001:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",7341:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",7700:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",8217:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",9e3:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",9001:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",9728:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",1e4:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",10001:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",10200:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",11235:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",11437:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",12357:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",23294:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",42161:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",42170:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",42220:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",43113:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",43114:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",43288:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",44787:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",45e3:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",47805:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",54211:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",56288:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",59140:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",71401:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",71402:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",73799:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",80001:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",84531:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",200101:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",200202:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",333999:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",421611:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",421613:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",534353:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",11155111:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",245022926:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",1313161554:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",1313161555:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",16666e5:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",16667e5:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","11297108099":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","11297108109":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4"},o0e=[{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newContract",type:"address"}],name:"ContractCreation",type:"event"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"deploymentData",type:"bytes"}],name:"performCreate",outputs:[{internalType:"address",name:"newContract",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"deploymentData",type:"bytes"},{internalType:"bytes32",name:"salt",type:"bytes32"}],name:"performCreate2",outputs:[{internalType:"address",name:"newContract",type:"address"}],stateMutability:"nonpayable",type:"function"}],l0e={defaultAddress:r0e,released:n0e,contractName:a0e,version:i0e,networkAddresses:s0e,abi:o0e},c0e="0x9b35Af71d77eaf8d7e40252370304687390A1A52",u0e=!1,f0e="CreateCall",d0e="1.4.0",h0e={5:"0x9b35Af71d77eaf8d7e40252370304687390A1A52",56:"0x9b35Af71d77eaf8d7e40252370304687390A1A52",100:"0x9b35Af71d77eaf8d7e40252370304687390A1A52"},p0e=[{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newContract",type:"address"}],name:"ContractCreation",type:"event"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"deploymentData",type:"bytes"}],name:"performCreate",outputs:[{internalType:"address",name:"newContract",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"deploymentData",type:"bytes"},{internalType:"bytes32",name:"salt",type:"bytes32"}],name:"performCreate2",outputs:[{internalType:"address",name:"newContract",type:"address"}],stateMutability:"nonpayable",type:"function"}],y0e={defaultAddress:c0e,released:u0e,contractName:f0e,version:d0e,networkAddresses:h0e,abi:p0e},m0e="0x8D29bE29923b68abfDD21e541b9374737B49cdAD",b0e=!0,v0e="MultiSend",g0e="1.1.1",x0e={1:"0x8D29bE29923b68abfDD21e541b9374737B49cdAD",4:"0x8D29bE29923b68abfDD21e541b9374737B49cdAD",5:"0x8D29bE29923b68abfDD21e541b9374737B49cdAD",42:"0x8D29bE29923b68abfDD21e541b9374737B49cdAD",88:"0x8D29bE29923b68abfDD21e541b9374737B49cdAD",100:"0x8D29bE29923b68abfDD21e541b9374737B49cdAD",246:"0x8D29bE29923b68abfDD21e541b9374737B49cdAD",73799:"0x8D29bE29923b68abfDD21e541b9374737B49cdAD"},w0e=[{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{constant:!1,inputs:[{internalType:"bytes",name:"transactions",type:"bytes"}],name:"multiSend",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],_0e={defaultAddress:m0e,released:b0e,contractName:v0e,version:g0e,networkAddresses:x0e,abi:w0e},E0e="0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",A0e=!0,S0e="MultiSend",C0e="1.3.0",T0e={1:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",3:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",4:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",5:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",10:"0x998739BFdAAdde7C933B942a68053933098f9EDa",11:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",12:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",18:"0x998739BFdAAdde7C933B942a68053933098f9EDa",25:"0x998739BFdAAdde7C933B942a68053933098f9EDa",28:"0x998739BFdAAdde7C933B942a68053933098f9EDa",39:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",40:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",41:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",42:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",50:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",51:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",56:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",61:"0x998739BFdAAdde7C933B942a68053933098f9EDa",63:"0x998739BFdAAdde7C933B942a68053933098f9EDa",69:"0x998739BFdAAdde7C933B942a68053933098f9EDa",82:"0x998739BFdAAdde7C933B942a68053933098f9EDa",83:"0x998739BFdAAdde7C933B942a68053933098f9EDa",97:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",100:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",106:"0x998739BFdAAdde7C933B942a68053933098f9EDa",108:"0x998739BFdAAdde7C933B942a68053933098f9EDa",111:"0x998739BFdAAdde7C933B942a68053933098f9EDa",122:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",123:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",137:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",246:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",250:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",288:"0x998739BFdAAdde7C933B942a68053933098f9EDa",300:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",321:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",322:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",336:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",338:"0x998739BFdAAdde7C933B942a68053933098f9EDa",420:"0x998739BFdAAdde7C933B942a68053933098f9EDa",588:"0x998739BFdAAdde7C933B942a68053933098f9EDa",592:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",595:"0x998739BFdAAdde7C933B942a68053933098f9EDa",599:"0x998739BFdAAdde7C933B942a68053933098f9EDa",686:"0x998739BFdAAdde7C933B942a68053933098f9EDa",787:"0x998739BFdAAdde7C933B942a68053933098f9EDa",1001:"0x998739BFdAAdde7C933B942a68053933098f9EDa",1008:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",1088:"0x998739BFdAAdde7C933B942a68053933098f9EDa",1101:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",1111:"0x998739BFdAAdde7C933B942a68053933098f9EDa",1112:"0x998739BFdAAdde7C933B942a68053933098f9EDa",1115:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",1116:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",1284:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",1285:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",1287:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",1294:"0x998739BFdAAdde7C933B942a68053933098f9EDa",1807:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",1984:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",2001:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",2002:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",2008:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",2019:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",2020:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",2221:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",2222:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",3737:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",4002:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",4689:"0x998739BFdAAdde7C933B942a68053933098f9EDa",4918:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",4919:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",5001:"0x998739BFdAAdde7C933B942a68053933098f9EDa",7341:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",7700:"0x998739BFdAAdde7C933B942a68053933098f9EDa",8217:"0x998739BFdAAdde7C933B942a68053933098f9EDa",9e3:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",9001:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",9728:"0x998739BFdAAdde7C933B942a68053933098f9EDa",1e4:"0x998739BFdAAdde7C933B942a68053933098f9EDa",10001:"0x998739BFdAAdde7C933B942a68053933098f9EDa",10200:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",11235:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",11437:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",12357:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",23294:"0x998739BFdAAdde7C933B942a68053933098f9EDa",42161:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",42170:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",42220:"0x998739BFdAAdde7C933B942a68053933098f9EDa",43113:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",43114:"0x998739BFdAAdde7C933B942a68053933098f9EDa",43288:"0x998739BFdAAdde7C933B942a68053933098f9EDa",44787:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",45e3:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",47805:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",54211:"0x998739BFdAAdde7C933B942a68053933098f9EDa",56288:"0x998739BFdAAdde7C933B942a68053933098f9EDa",59140:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",71401:"0x998739BFdAAdde7C933B942a68053933098f9EDa",71402:"0x998739BFdAAdde7C933B942a68053933098f9EDa",73799:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",80001:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",84531:"0x998739BFdAAdde7C933B942a68053933098f9EDa",200101:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",200202:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",333999:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",421611:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",421613:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",534353:"0x998739BFdAAdde7C933B942a68053933098f9EDa",11155111:"0x998739BFdAAdde7C933B942a68053933098f9EDa",245022926:"0x998739BFdAAdde7C933B942a68053933098f9EDa",1313161554:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",1313161555:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",16666e5:"0x998739BFdAAdde7C933B942a68053933098f9EDa",16667e5:"0x998739BFdAAdde7C933B942a68053933098f9EDa","11297108099":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","11297108109":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761"},M0e=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"bytes",name:"transactions",type:"bytes"}],name:"multiSend",outputs:[],stateMutability:"payable",type:"function"}],B0e={defaultAddress:E0e,released:A0e,contractName:S0e,version:C0e,networkAddresses:T0e,abi:M0e},k0e="0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526",F0e=!1,P0e="MultiSend",D0e="1.4.0",I0e={5:"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526",56:"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526",100:"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526"},O0e=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"bytes",name:"transactions",type:"bytes"}],name:"multiSend",outputs:[],stateMutability:"payable",type:"function"}],R0e={defaultAddress:k0e,released:F0e,contractName:P0e,version:D0e,networkAddresses:I0e,abi:O0e},N0e="0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",$0e=!0,L0e="MultiSendCallOnly",j0e="1.3.0",z0e={1:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",3:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",4:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",5:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",10:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",11:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",12:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",18:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",25:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",28:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",39:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",40:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",41:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",42:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",50:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",51:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",56:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",61:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",63:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",69:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",82:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",83:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",97:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",100:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",106:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",108:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",111:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",122:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",123:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",137:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",246:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",250:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",288:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",300:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",321:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",322:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",336:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",338:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",420:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",588:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",592:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",595:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",599:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",686:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",787:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",1001:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",1008:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",1088:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",1101:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",1111:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",1112:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",1115:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",1116:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",1284:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",1285:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",1287:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",1294:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",1807:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",1984:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",2001:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",2002:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",2008:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",2019:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",2020:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",2221:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",2222:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",3737:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",4002:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",4689:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",4918:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",4919:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",5001:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",7341:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",7700:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",8217:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",9e3:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",9001:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",9728:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",1e4:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",10001:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",10200:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",11235:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",11437:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",12357:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",23294:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",42161:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",42170:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",42220:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",43113:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",43114:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",43288:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",44787:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",45e3:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",47805:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",54211:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",56288:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",59140:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",71401:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",71402:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",73799:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",80001:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",84531:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",200101:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",200202:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",333999:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",421611:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",421613:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",534353:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",11155111:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",245022926:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",1313161554:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",1313161555:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",16666e5:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",16667e5:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","11297108099":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","11297108109":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D"},U0e=[{inputs:[{internalType:"bytes",name:"transactions",type:"bytes"}],name:"multiSend",outputs:[],stateMutability:"payable",type:"function"}],H0e={defaultAddress:N0e,released:$0e,contractName:L0e,version:j0e,networkAddresses:z0e,abi:U0e},G0e="0x9641d764fc13c8B624c04430C7356C1C7C8102e2",q0e=!1,V0e="MultiSendCallOnly",W0e="1.4.0",K0e={5:"0x9641d764fc13c8B624c04430C7356C1C7C8102e2",56:"0x9641d764fc13c8B624c04430C7356C1C7C8102e2",100:"0x9641d764fc13c8B624c04430C7356C1C7C8102e2"},Z0e=[{inputs:[{internalType:"bytes",name:"transactions",type:"bytes"}],name:"multiSend",outputs:[],stateMutability:"payable",type:"function"}],J0e={defaultAddress:G0e,released:q0e,contractName:V0e,version:W0e,networkAddresses:K0e,abi:Z0e},Y0e="0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",X0e="SignMessageLib",Q0e="1.3.0",ehe=!0,the={1:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",3:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",4:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",5:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",10:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",11:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",12:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",18:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",25:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",28:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",39:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",40:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",41:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",42:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",50:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",51:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",56:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",61:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",63:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",69:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",82:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",83:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",97:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",100:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",106:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",108:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",111:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",122:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",123:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",137:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",246:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",250:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",288:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",300:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",321:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",322:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",336:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",338:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",420:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",588:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",592:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",595:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",599:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",686:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",787:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",1001:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",1008:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",1088:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",1101:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",1111:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",1112:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",1115:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",1116:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",1284:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",1285:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",1287:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",1294:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",1807:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",1984:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",2001:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",2002:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",2008:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",2019:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",2020:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",2221:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",2222:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",3737:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",4002:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",4689:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",4918:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",4919:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",5001:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",7341:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",7700:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",8217:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",9e3:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",9001:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",9728:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",1e4:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",10001:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",10200:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",11235:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",11437:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",12357:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",23294:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",42161:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",42170:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",42220:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",43113:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",43114:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",43288:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",44787:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",45e3:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",47805:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",54211:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",56288:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",59140:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",71401:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",71402:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",73799:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",80001:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",84531:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",200101:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",200202:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",421611:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",421613:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",534353:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",11155111:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",245022926:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",1313161554:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",1313161555:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2",16666e5:"0x98FFBBF51bb33A056B08ddf711f289936AafF717",16667e5:"0x98FFBBF51bb33A056B08ddf711f289936AafF717","11297108099":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","11297108109":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2"},rhe=[{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"msgHash",type:"bytes32"}],name:"SignMsg",type:"event"},{inputs:[{internalType:"bytes",name:"message",type:"bytes"}],name:"getMessageHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"signMessage",outputs:[],stateMutability:"nonpayable",type:"function"}],nhe={defaultAddress:Y0e,contractName:X0e,version:Q0e,released:ehe,networkAddresses:the,abi:rhe},ahe="0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520",ihe="SignMessageLib",she="1.4.0",ohe=!1,lhe={5:"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520",56:"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520",100:"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520"},che=[{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"msgHash",type:"bytes32"}],name:"SignMsg",type:"event"},{inputs:[{internalType:"bytes",name:"message",type:"bytes"}],name:"getMessageHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"signMessage",outputs:[],stateMutability:"nonpayable",type:"function"}],uhe={defaultAddress:ahe,contractName:ihe,version:she,released:ohe,networkAddresses:lhe,abi:che};var Vs=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Wi,"__esModule",{value:!0});Wi.getSignMessageLibDeployment=Wi.getCreateCallDeployment=Wi.getMultiSendCallOnlyDeployment=Wi.getMultiSendDeployment=void 0;const fhe=Vs(l0e),dhe=Vs(y0e),hhe=Vs(_0e),phe=Vs(B0e),yhe=Vs(R0e),mhe=Vs(H0e),bhe=Vs(J0e),vhe=Vs(nhe),ghe=Vs(uhe),eb=Yo,xhe=[yhe.default,phe.default,hhe.default],whe=t=>(0,eb.findDeployment)(t,xhe);Wi.getMultiSendDeployment=whe;const _he=[bhe.default,mhe.default],Ehe=t=>(0,eb.findDeployment)(t,_he);Wi.getMultiSendCallOnlyDeployment=Ehe;const Ahe=[dhe.default,fhe.default],She=t=>(0,eb.findDeployment)(t,Ahe);Wi.getCreateCallDeployment=She;const Che=[ghe.default,vhe.default],The=t=>(0,eb.findDeployment)(t,Che);Wi.getSignMessageLibDeployment=The;var Mo={};const Mhe="0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44",Bhe=!0,khe="DefaultCallbackHandler",Fhe="1.1.1",Phe={1:"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44",4:"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44",5:"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44",42:"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44",88:"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44",100:"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44",246:"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44",73799:"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44"},Dhe=[{constant:!0,inputs:[],name:"NAME",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"tokensReceived",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}],Ihe={defaultAddress:Mhe,released:Bhe,contractName:khe,version:Fhe,networkAddresses:Phe,abi:Dhe},Ohe="0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",Rhe=!0,Nhe="CompatibilityFallbackHandler",$he="1.3.0",Lhe={1:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",3:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",4:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",5:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",10:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",11:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",12:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",18:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",25:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",28:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",39:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",40:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",41:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",42:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",50:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",51:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",56:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",61:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",63:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",69:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",82:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",83:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",97:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",100:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",106:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",108:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",111:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",122:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",123:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",137:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",246:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",250:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",288:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",300:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",321:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",322:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",336:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",338:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",420:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",588:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",592:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",595:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",599:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",686:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",787:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",1001:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",1008:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",1088:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",1101:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",1111:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",1112:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",1115:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",1116:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",1284:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",1285:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",1287:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",1294:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",1807:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",1984:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",2001:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",2002:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",2008:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",2019:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",2020:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",2221:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",2222:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",3737:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",4002:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",4689:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",4918:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",4919:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",5001:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",7341:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",7700:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",8217:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",9e3:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",9001:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",9728:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",1e4:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",10001:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",10200:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",11235:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",11437:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",12357:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",23294:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",42161:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",42170:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",42220:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",43113:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",43114:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",43288:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",44787:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",45e3:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",47805:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",54211:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",56288:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",59140:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",71401:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",71402:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",73799:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",80001:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",84531:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",200101:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",200202:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",333999:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",421611:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",421613:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",534353:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",11155111:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",245022926:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",1313161554:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",1313161555:"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4",16666e5:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",16667e5:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","11297108099":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","11297108109":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4"},jhe=[{inputs:[],name:"NAME",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"message",type:"bytes"}],name:"getMessageHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract GnosisSafe",name:"safe",type:"address"},{internalType:"bytes",name:"message",type:"bytes"}],name:"getMessageHashForSafe",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getModules",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_dataHash",type:"bytes32"},{internalType:"bytes",name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"},{internalType:"bytes",name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"targetContract",type:"address"},{internalType:"bytes",name:"calldataPayload",type:"bytes"}],name:"simulate",outputs:[{internalType:"bytes",name:"response",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"tokensReceived",outputs:[],stateMutability:"pure",type:"function"}],zhe={defaultAddress:Ohe,released:Rhe,contractName:Nhe,version:$he,networkAddresses:Lhe,abi:jhe},Uhe="0x2a15DE4410d4c8af0A7b6c12803120f43C42B820",Hhe=!1,Ghe="CompatibilityFallbackHandler",qhe="1.4.0",Vhe={5:"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820",56:"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820",100:"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820"},Whe=[{inputs:[{internalType:"contract Safe",name:"safe",type:"address"},{internalType:"bytes",name:"message",type:"bytes"}],name:"encodeMessageDataForSafe",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"message",type:"bytes"}],name:"getMessageHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract Safe",name:"safe",type:"address"},{internalType:"bytes",name:"message",type:"bytes"}],name:"getMessageHashForSafe",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getModules",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_dataHash",type:"bytes32"},{internalType:"bytes",name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"},{internalType:"bytes",name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"targetContract",type:"address"},{internalType:"bytes",name:"calldataPayload",type:"bytes"}],name:"simulate",outputs:[{internalType:"bytes",name:"response",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"tokensReceived",outputs:[],stateMutability:"pure",type:"function"}],Khe={defaultAddress:Uhe,released:Hhe,contractName:Ghe,version:qhe,networkAddresses:Vhe,abi:Whe};var p5=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Mo,"__esModule",{value:!0});Mo.getFallbackHandlerDeployment=Mo.getCompatibilityFallbackHandlerDeployment=Mo.getDefaultCallbackHandlerDeployment=void 0;const xP=p5(Ihe),wP=p5(zhe),_P=p5(Khe),y5=Yo,Zhe=[xP.default],Jhe=t=>(0,y5.findDeployment)(t,Zhe);Mo.getDefaultCallbackHandlerDeployment=Jhe;const Yhe=[_P.default,wP.default],Xhe=t=>(0,y5.findDeployment)(t,Yhe);Mo.getCompatibilityFallbackHandlerDeployment=Xhe;const Qhe=[_P.default,wP.default,xP.default],epe=t=>(0,y5.findDeployment)(t,Qhe);Mo.getFallbackHandlerDeployment=epe;var tb={};const tpe="0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",rpe=!0,npe="SimulateTxAccessor",ape="1.3.0",ipe={1:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",3:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",4:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",5:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",10:"0x727a77a074D1E6c4530e814F89E618a3298FC044",11:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",12:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",18:"0x727a77a074D1E6c4530e814F89E618a3298FC044",25:"0x727a77a074D1E6c4530e814F89E618a3298FC044",28:"0x727a77a074D1E6c4530e814F89E618a3298FC044",39:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",40:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",41:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",42:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",50:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",51:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",56:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",61:"0x727a77a074D1E6c4530e814F89E618a3298FC044",63:"0x727a77a074D1E6c4530e814F89E618a3298FC044",69:"0x727a77a074D1E6c4530e814F89E618a3298FC044",82:"0x727a77a074D1E6c4530e814F89E618a3298FC044",83:"0x727a77a074D1E6c4530e814F89E618a3298FC044",97:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",100:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",106:"0x727a77a074D1E6c4530e814F89E618a3298FC044",108:"0x727a77a074D1E6c4530e814F89E618a3298FC044",111:"0x727a77a074D1E6c4530e814F89E618a3298FC044",122:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",123:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",137:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",246:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",250:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",288:"0x727a77a074D1E6c4530e814F89E618a3298FC044",300:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",321:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",322:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",336:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",338:"0x727a77a074D1E6c4530e814F89E618a3298FC044",420:"0x727a77a074D1E6c4530e814F89E618a3298FC044",588:"0x727a77a074D1E6c4530e814F89E618a3298FC044",592:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",595:"0x727a77a074D1E6c4530e814F89E618a3298FC044",599:"0x727a77a074D1E6c4530e814F89E618a3298FC044",686:"0x727a77a074D1E6c4530e814F89E618a3298FC044",787:"0x727a77a074D1E6c4530e814F89E618a3298FC044",1001:"0x727a77a074D1E6c4530e814F89E618a3298FC044",1008:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",1088:"0x727a77a074D1E6c4530e814F89E618a3298FC044",1101:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",1111:"0x727a77a074D1E6c4530e814F89E618a3298FC044",1112:"0x727a77a074D1E6c4530e814F89E618a3298FC044",1115:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",1116:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",1284:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",1285:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",1287:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",1294:"0x727a77a074D1E6c4530e814F89E618a3298FC044",1807:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",1984:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",2001:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",2002:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",2008:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",2019:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",2020:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",2221:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",2222:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",3737:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",4002:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",4689:"0x727a77a074D1E6c4530e814F89E618a3298FC044",4918:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",4919:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",5001:"0x727a77a074D1E6c4530e814F89E618a3298FC044",7341:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",7700:"0x727a77a074D1E6c4530e814F89E618a3298FC044",8217:"0x727a77a074D1E6c4530e814F89E618a3298FC044",9e3:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",9001:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",9728:"0x727a77a074D1E6c4530e814F89E618a3298FC044",1e4:"0x727a77a074D1E6c4530e814F89E618a3298FC044",10001:"0x727a77a074D1E6c4530e814F89E618a3298FC044",10200:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",11235:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",11437:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",12357:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",23294:"0x727a77a074D1E6c4530e814F89E618a3298FC044",42161:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",42170:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",42220:"0x727a77a074D1E6c4530e814F89E618a3298FC044",43113:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",43114:"0x727a77a074D1E6c4530e814F89E618a3298FC044",43288:"0x727a77a074D1E6c4530e814F89E618a3298FC044",44787:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",45e3:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",47805:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",54211:"0x727a77a074D1E6c4530e814F89E618a3298FC044",56288:"0x727a77a074D1E6c4530e814F89E618a3298FC044",59140:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",71401:"0x727a77a074D1E6c4530e814F89E618a3298FC044",71402:"0x727a77a074D1E6c4530e814F89E618a3298FC044",73799:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",80001:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",84531:"0x727a77a074D1E6c4530e814F89E618a3298FC044",200101:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",200202:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",333999:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",421611:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",421613:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",534353:"0x727a77a074D1E6c4530e814F89E618a3298FC044",11155111:"0x727a77a074D1E6c4530e814F89E618a3298FC044",245022926:"0x727a77a074D1E6c4530e814F89E618a3298FC044",1313161554:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",1313161555:"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da",16666e5:"0x727a77a074D1E6c4530e814F89E618a3298FC044",16667e5:"0x727a77a074D1E6c4530e814F89E618a3298FC044","11297108099":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","11297108109":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da"},spe=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"simulate",outputs:[{internalType:"uint256",name:"estimate",type:"uint256"},{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],stateMutability:"nonpayable",type:"function"}],ope={defaultAddress:tpe,released:rpe,contractName:npe,version:ape,networkAddresses:ipe,abi:spe},lpe="0x3d4BA2E0884aa488718476ca2FB8Efc291A46199",cpe=!1,upe="SimulateTxAccessor",fpe="1.4.0",dpe={5:"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199",56:"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199",100:"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199"},hpe=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"simulate",outputs:[{internalType:"uint256",name:"estimate",type:"uint256"},{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],stateMutability:"nonpayable",type:"function"}],ppe={defaultAddress:lpe,released:cpe,contractName:upe,version:fpe,networkAddresses:dpe,abi:hpe};var EP=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(tb,"__esModule",{value:!0});tb.getSimulateTxAccessorDeployment=void 0;const ype=EP(ope),mpe=EP(ppe),bpe=Yo,vpe=[mpe.default,ype.default],gpe=t=>(0,bpe.findDeployment)(t,vpe);tb.getSimulateTxAccessorDeployment=gpe;(function(t){var e=ye&&ye.__createBinding||(Object.create?function(n,a,i,s){s===void 0&&(s=i);var o=Object.getOwnPropertyDescriptor(a,i);(!o||("get"in o?!a.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return a[i]}}),Object.defineProperty(n,s,o)}:function(n,a,i,s){s===void 0&&(s=i),n[s]=a[i]}),r=ye&&ye.__exportStar||function(n,a){for(var i in n)i!=="default"&&!Object.prototype.hasOwnProperty.call(a,i)&&e(a,n,i)};Object.defineProperty(t,"__esModule",{value:!0}),r(vP,t),r(gP,t),r(Xm,t),r(Wi,t),r(Mo,t),r(tb,t)})(bP);var Xn={};Object.defineProperty(Xn,"__esModule",{value:!0});Xn.safeDeploymentsL1ChainIds=Xn.safeDeploymentsVersions=Xn.SAFE_BASE_VERSION=Xn.SAFE_LAST_VERSION=void 0;Xn.SAFE_LAST_VERSION="1.3.0";Xn.SAFE_BASE_VERSION="1.0.0";Xn.safeDeploymentsVersions={"1.3.0":{safeMasterCopyVersion:"1.3.0",safeMasterCopyL2Version:"1.3.0",safeProxyFactoryVersion:"1.3.0",compatibilityFallbackHandler:"1.3.0",multiSendVersion:"1.3.0",multiSendCallOnlyVersion:"1.3.0",signMessageLibVersion:"1.3.0",createCallVersion:"1.3.0"},"1.2.0":{safeMasterCopyVersion:"1.2.0",safeMasterCopyL2Version:void 0,safeProxyFactoryVersion:"1.1.1",compatibilityFallbackHandler:"1.3.0",multiSendVersion:"1.1.1",multiSendCallOnlyVersion:"1.3.0",signMessageLibVersion:"1.3.0",createCallVersion:"1.3.0"},"1.1.1":{safeMasterCopyVersion:"1.1.1",safeMasterCopyL2Version:void 0,safeProxyFactoryVersion:"1.1.1",compatibilityFallbackHandler:"1.3.0",multiSendVersion:"1.1.1",multiSendCallOnlyVersion:"1.3.0",signMessageLibVersion:"1.3.0",createCallVersion:"1.3.0"},"1.0.0":{safeMasterCopyVersion:"1.0.0",safeMasterCopyL2Version:void 0,safeProxyFactoryVersion:"1.0.0",compatibilityFallbackHandler:"1.3.0",multiSendVersion:"1.1.1",multiSendCallOnlyVersion:"1.3.0",signMessageLibVersion:"1.3.0",createCallVersion:"1.3.0"}};Xn.safeDeploymentsL1ChainIds=[1];Object.defineProperty(Ct,"__esModule",{value:!0});Ct.getCreateCallContract=Ct.getSignMessageLibContract=Ct.getMultiSendCallOnlyContract=Ct.getMultiSendContract=Ct.getCompatibilityFallbackHandlerContract=Ct.getProxyFactoryContract=Ct.getSafeContract=Ct.getCreateCallContractDeployment=Ct.getSignMessageLibContractDeployment=Ct.getSafeProxyFactoryContractDeployment=Ct.getMultiSendContractDeployment=Ct.getMultiSendCallOnlyContractDeployment=Ct.getCompatibilityFallbackHandlerContractDeployment=Ct.getSafeContractDeployment=void 0;const Ro=bP,No=Xn;function AP(t,e,r=!1){const a={version:No.safeDeploymentsVersions[t].safeMasterCopyVersion,network:e.toString(),released:!0};return No.safeDeploymentsL1ChainIds.includes(e)||r?(0,Ro.getSafeSingletonDeployment)(a):(0,Ro.getSafeL2SingletonDeployment)(a)}Ct.getSafeContractDeployment=AP;function SP(t,e){const r=No.safeDeploymentsVersions[t].compatibilityFallbackHandler;return(0,Ro.getCompatibilityFallbackHandlerDeployment)({version:r,network:e.toString(),released:!0})}Ct.getCompatibilityFallbackHandlerContractDeployment=SP;function CP(t,e){const r=No.safeDeploymentsVersions[t].multiSendCallOnlyVersion;return(0,Ro.getMultiSendCallOnlyDeployment)({version:r,network:e.toString(),released:!0})}Ct.getMultiSendCallOnlyContractDeployment=CP;function TP(t,e){const r=No.safeDeploymentsVersions[t].multiSendVersion;return(0,Ro.getMultiSendDeployment)({version:r,network:e.toString(),released:!0})}Ct.getMultiSendContractDeployment=TP;function MP(t,e){const r=No.safeDeploymentsVersions[t].safeProxyFactoryVersion;return(0,Ro.getProxyFactoryDeployment)({version:r,network:e.toString(),released:!0})}Ct.getSafeProxyFactoryContractDeployment=MP;function BP(t,e){const r=No.safeDeploymentsVersions[t].signMessageLibVersion;return(0,Ro.getSignMessageLibDeployment)({version:r,network:e.toString(),released:!0})}Ct.getSignMessageLibContractDeployment=BP;function kP(t,e){const r=No.safeDeploymentsVersions[t].createCallVersion;return(0,Ro.getCreateCallDeployment)({version:r,network:e.toString(),released:!0})}Ct.getCreateCallContractDeployment=kP;async function xpe({ethAdapter:t,safeVersion:e,customSafeAddress:r,isL1SafeMasterCopy:n,customContracts:a}){const i=await t.getChainId(),s=AP(e,i,n),o=await t.getSafeContract({safeVersion:e,singletonDeployment:s,customContractAddress:r??(a==null?void 0:a.safeMasterCopyAddress),customContractAbi:a==null?void 0:a.safeMasterCopyAbi});if(!await t.isContractDeployed(o.getAddress()))throw new Error("SafeProxy contract is not deployed on the current network");return o}Ct.getSafeContract=xpe;async function wpe({ethAdapter:t,safeVersion:e,customContracts:r}){const n=await t.getChainId(),a=MP(e,n),i=await t.getSafeProxyFactoryContract({safeVersion:e,singletonDeployment:a,customContractAddress:r==null?void 0:r.safeProxyFactoryAddress,customContractAbi:r==null?void 0:r.safeProxyFactoryAbi});if(!await t.isContractDeployed(i.getAddress()))throw new Error("SafeProxyFactory contract is not deployed on the current network");return i}Ct.getProxyFactoryContract=wpe;async function _pe({ethAdapter:t,safeVersion:e,customContracts:r}){const n=await t.getChainId(),a=SP(e,n),i=await t.getCompatibilityFallbackHandlerContract({safeVersion:e,singletonDeployment:a,customContractAddress:r==null?void 0:r.fallbackHandlerAddress,customContractAbi:r==null?void 0:r.fallbackHandlerAbi});if(!await t.isContractDeployed(i.getAddress()))throw new Error("CompatibilityFallbackHandler contract is not deployed on the current network");return i}Ct.getCompatibilityFallbackHandlerContract=_pe;async function Epe({ethAdapter:t,safeVersion:e,customContracts:r}){const n=await t.getChainId(),a=TP(e,n),i=await t.getMultiSendContract({safeVersion:e,singletonDeployment:a,customContractAddress:r==null?void 0:r.multiSendAddress,customContractAbi:r==null?void 0:r.multiSendAbi});if(!await t.isContractDeployed(i.getAddress()))throw new Error("MultiSend contract is not deployed on the current network");return i}Ct.getMultiSendContract=Epe;async function Ape({ethAdapter:t,safeVersion:e,customContracts:r}){const n=await t.getChainId(),a=CP(e,n),i=await t.getMultiSendCallOnlyContract({safeVersion:e,singletonDeployment:a,customContractAddress:r==null?void 0:r.multiSendCallOnlyAddress,customContractAbi:r==null?void 0:r.multiSendCallOnlyAbi});if(!await t.isContractDeployed(i.getAddress()))throw new Error("MultiSendCallOnly contract is not deployed on the current network");return i}Ct.getMultiSendCallOnlyContract=Ape;async function Spe({ethAdapter:t,safeVersion:e,customContracts:r}){const n=await t.getChainId(),a=BP(e,n),i=await t.getSignMessageLibContract({safeVersion:e,singletonDeployment:a,customContractAddress:r==null?void 0:r.signMessageLibAddress,customContractAbi:r==null?void 0:r.signMessageLibAbi});if(!await t.isContractDeployed(i.getAddress()))throw new Error("SignMessageLib contract is not deployed on the current network");return i}Ct.getSignMessageLibContract=Spe;async function Cpe({ethAdapter:t,safeVersion:e,customContracts:r}){const n=await t.getChainId(),a=kP(e,n),i=await t.getCreateCallContract({safeVersion:e,singletonDeployment:a,customContractAddress:r==null?void 0:r.createCallAddress,customContractAbi:r==null?void 0:r.createCallAbi});if(!await t.isContractDeployed(i.getAddress()))throw new Error("CreateCall contract is not deployed on the current network");return i}Ct.getCreateCallContract=Cpe;var rb={};const Tpe=$o(EV);(function(t){var e=ye&&ye.__importDefault||function(k){return k&&k.__esModule?k:{default:k}};Object.defineProperty(t,"__esModule",{value:!0}),t.validateSafeDeploymentConfig=t.validateSafeAccountConfig=t.predictSafeAddress=t.encodeSetupCallData=t.encodeCreateProxyWithNonce=t.PREDETERMINED_SALT_NONCE=void 0;const r=Jy,n=Tpe,a=Wo,i=e(Dm),s=Ct,o=ra,u=Xn;t.PREDETERMINED_SALT_NONCE="0xb1073742015cbcf5a3a4d9d1ae33ecf619439710b89475f92e2abd2117e90f90";function y(k,C,P){return k.encode("createProxyWithNonce",[C,P,t.PREDETERMINED_SALT_NONCE])}t.encodeCreateProxyWithNonce=y;async function b({ethAdapter:k,safeAccountConfig:C,safeContract:P,customContracts:B}){const{owners:D,threshold:N,to:$=o.ZERO_ADDRESS,data:j=o.EMPTY_DATA,fallbackHandler:Z,paymentToken:X=o.ZERO_ADDRESS,payment:Y=0,paymentReceiver:re=o.ZERO_ADDRESS}=C,M=await P.getVersion();if((0,i.default)(M,"<=1.0.0"))return P.encode("setup",[D,N,$,j,X,Y,re]);let l=Z;return l!==void 0&&(0,n.isAddress)(l)||(l=(await(0,s.getCompatibilityFallbackHandlerContract)({ethAdapter:k,safeVersion:M,customContracts:B})).getAddress()),P.encode("setup",[D,N,$,j,l,X,Y,re])}t.encodeSetupCallData=b;async function _({ethAdapter:k,safeAccountConfig:C,safeDeploymentConfig:P={},isL1SafeMasterCopy:B=!1,customContracts:D}){(0,t.validateSafeAccountConfig)(C),(0,t.validateSafeDeploymentConfig)(P);const{safeVersion:N=u.SAFE_LAST_VERSION,saltNonce:$=t.PREDETERMINED_SALT_NONCE}=P,j=await(0,s.getProxyFactoryContract)({ethAdapter:k,safeVersion:N,customContracts:D}),Z=await j.proxyCreationCode(),X=await(0,s.getSafeContract)({ethAdapter:k,safeVersion:N,isL1SafeMasterCopy:B,customContracts:D}),Y=await b({ethAdapter:k,safeAccountConfig:C,safeContract:X,customContracts:D}),re=(0,r.toBuffer)(k.encodeParameters(["uint256"],[$])).toString("hex"),M=(0,r.keccak256)((0,r.toBuffer)("0x"+(0,r.keccak256)((0,r.toBuffer)(Y)).toString("hex")+re)),l=(0,r.toBuffer)(k.encodeParameters(["address"],[X.getAddress()])).toString("hex"),d=Z+l,h="0x"+(0,r.generateAddress2)((0,r.toBuffer)(j.getAddress()),(0,r.toBuffer)(M),(0,r.toBuffer)(d)).toString("hex");return k.getChecksummedAddress(h)}t.predictSafeAddress=_;const A=({owners:k,threshold:C})=>{if(k.length<=0)throw new Error("Owner list must have at least one owner");if(C<=0)throw new Error("Threshold must be greater than or equal to 1");if(C>k.length)throw new Error("Threshold must be lower than or equal to owners length")};t.validateSafeAccountConfig=A;const T=({saltNonce:k})=>{if(k&&a.BigNumber.from(k).lt(0))throw new Error("saltNonce must be greater than or equal to 0")};t.validateSafeDeploymentConfig=T})(rb);var nb={},sh={};Object.defineProperty(sh,"__esModule",{value:!0});sh.isSafeConfigWithPredictedSafe=void 0;function Mpe(t){return t.predictedSafe!==void 0}sh.isSafeConfigWithPredictedSafe=Mpe;var ad=ye&&ye.__classPrivateFieldSet||function(t,e,r,n,a){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?a.call(t,r):a?a.value=r:e.set(t,r),r},id=ye&&ye.__classPrivateFieldGet||function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Pp,Dp,Ip,Op,Rp;Object.defineProperty(nb,"__esModule",{value:!0});const hE=Xn,Qh=Ct,Bpe=sh;class m5{constructor(){Pp.set(this,void 0),Dp.set(this,void 0),Ip.set(this,void 0),Op.set(this,void 0),Rp.set(this,void 0)}static async create(e){const r=new m5;return await r.init(e),r}async init(e){var r,n;const{ethAdapter:a,isL1SafeMasterCopy:i,contractNetworks:s}=e,o=await a.getChainId(),u=s==null?void 0:s[o];ad(this,Pp,s,"f"),ad(this,Dp,i,"f");let y;(0,Bpe.isSafeConfigWithPredictedSafe)(e)?y=(n=(r=e.predictedSafe.safeDeploymentConfig)===null||r===void 0?void 0:r.safeVersion)!==null&&n!==void 0?n:hE.SAFE_LAST_VERSION:(y=await(await(0,Qh.getSafeContract)({ethAdapter:a,safeVersion:hE.SAFE_LAST_VERSION,isL1SafeMasterCopy:i,customSafeAddress:e.safeAddress,customContracts:u})).getVersion(),ad(this,Ip,await(0,Qh.getSafeContract)({ethAdapter:a,safeVersion:y,isL1SafeMasterCopy:i,customSafeAddress:e.safeAddress,customContracts:u}),"f")),ad(this,Op,await(0,Qh.getMultiSendContract)({ethAdapter:a,safeVersion:y,customContracts:u}),"f"),ad(this,Rp,await(0,Qh.getMultiSendCallOnlyContract)({ethAdapter:a,safeVersion:y,customContracts:u}),"f")}get contractNetworks(){return id(this,Pp,"f")}get isL1SafeMasterCopy(){return id(this,Dp,"f")}get safeContract(){return id(this,Ip,"f")}get multiSendContract(){return id(this,Op,"f")}get multiSendCallOnlyContract(){return id(this,Rp,"f")}}Pp=new WeakMap,Dp=new WeakMap,Ip=new WeakMap,Op=new WeakMap,Rp=new WeakMap;nb.default=m5;var ab={},b5={},pE=ye&&ye.__classPrivateFieldSet||function(t,e,r,n,a){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?a.call(t,r):a?a.value=r:e.set(t,r),r},Mi=ye&&ye.__classPrivateFieldGet||function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},yd,Pi,k3;Object.defineProperty(b5,"__esModule",{value:!0});const sd=fc(),kpe=ra;class Fpe{constructor(e,r){yd.set(this,void 0),Pi.set(this,void 0),k3.set(this,"0x6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d5"),pE(this,yd,e,"f"),pE(this,Pi,r,"f")}validateFallbackHandlerAddress(e){if(!Mi(this,yd,"f").isAddress(e)||(0,sd.isZeroAddress)(e))throw new Error("Invalid fallback handler address provided")}validateFallbackHandlerIsNotEnabled(e,r){if((0,sd.sameString)(e,r))throw new Error("Fallback handler provided is already enabled")}validateFallbackHandlerIsEnabled(e){if((0,sd.isZeroAddress)(e))throw new Error("There is no fallback handler enabled yet")}async getFallbackHandler(){if(!Mi(this,Pi,"f"))throw new Error("Safe is not deployed");const e=await Mi(this,Pi,"f").getVersion();if((0,sd.hasSafeFeature)(sd.SAFE_FEATURES.SAFE_FALLBACK_HANDLER,e))return Mi(this,yd,"f").getStorageAt(Mi(this,Pi,"f").getAddress(),Mi(this,k3,"f"));throw new Error("Current version of the Safe does not support the fallback handler functionality")}async encodeEnableFallbackHandlerData(e){if(!Mi(this,Pi,"f"))throw new Error("Safe is not deployed");this.validateFallbackHandlerAddress(e);const r=await this.getFallbackHandler();return this.validateFallbackHandlerIsNotEnabled(r,e),Mi(this,Pi,"f").encode("setFallbackHandler",[e])}async encodeDisableFallbackHandlerData(){if(!Mi(this,Pi,"f"))throw new Error("Safe is not deployed");const e=await this.getFallbackHandler();return this.validateFallbackHandlerIsEnabled(e),Mi(this,Pi,"f").encode("setFallbackHandler",[kpe.ZERO_ADDRESS])}}yd=new WeakMap,Pi=new WeakMap,k3=new WeakMap;b5.default=Fpe;var v5={},yE=ye&&ye.__classPrivateFieldSet||function(t,e,r,n,a){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?a.call(t,r):a?a.value=r:e.set(t,r),r},Bi=ye&&ye.__classPrivateFieldGet||function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},md,Di,F3;Object.defineProperty(v5,"__esModule",{value:!0});const od=fc(),Ppe=ra;class Dpe{constructor(e,r){md.set(this,void 0),Di.set(this,void 0),F3.set(this,"0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8"),yE(this,md,e,"f"),yE(this,Di,r,"f")}validateGuardAddress(e){if(!Bi(this,md,"f").isAddress(e)||(0,od.isZeroAddress)(e))throw new Error("Invalid guard address provided")}validateGuardIsNotEnabled(e,r){if((0,od.sameString)(e,r))throw new Error("Guard provided is already enabled")}validateGuardIsEnabled(e){if((0,od.isZeroAddress)(e))throw new Error("There is no guard enabled yet")}async getGuard(){if(!Bi(this,Di,"f"))throw new Error("Safe is not deployed");const e=await Bi(this,Di,"f").getVersion();if((0,od.hasSafeFeature)(od.SAFE_FEATURES.SAFE_TX_GUARDS,e))return Bi(this,md,"f").getStorageAt(Bi(this,Di,"f").getAddress(),Bi(this,F3,"f"));throw new Error("Current version of the Safe does not support Safe transaction guards functionality")}async encodeEnableGuardData(e){if(!Bi(this,Di,"f"))throw new Error("Safe is not deployed");this.validateGuardAddress(e);const r=await this.getGuard();return this.validateGuardIsNotEnabled(r,e),Bi(this,Di,"f").encode("setGuard",[e])}async encodeDisableGuardData(){if(!Bi(this,Di,"f"))throw new Error("Safe is not deployed");const e=await this.getGuard();return this.validateGuardIsEnabled(e),Bi(this,Di,"f").encode("setGuard",[Ppe.ZERO_ADDRESS])}}md=new WeakMap,Di=new WeakMap,F3=new WeakMap;v5.default=Dpe;var g5={},mE=ye&&ye.__classPrivateFieldSet||function(t,e,r,n,a){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?a.call(t,r):a?a.value=r:e.set(t,r),r},hs=ye&&ye.__classPrivateFieldGet||function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Np,ai;Object.defineProperty(g5,"__esModule",{value:!0});const Ev=gi,Ipe=ra;class Ope{constructor(e,r){Np.set(this,void 0),ai.set(this,void 0),mE(this,Np,e,"f"),mE(this,ai,r,"f")}validateModuleAddress(e){if(!hs(this,Np,"f").isAddress(e)||(0,Ev.isRestrictedAddress)(e))throw new Error("Invalid module address provided")}validateModuleIsNotEnabled(e,r){if(r.findIndex(i=>(0,Ev.sameString)(i,e))>=0)throw new Error("Module provided is already enabled")}validateModuleIsEnabled(e,r){const n=r.findIndex(i=>(0,Ev.sameString)(i,e));if(!(n>=0))throw new Error("Module provided is not enabled yet");return n}async getModules(){if(!hs(this,ai,"f"))throw new Error("Safe is not deployed");return hs(this,ai,"f").getModules()}async isModuleEnabled(e){if(!hs(this,ai,"f"))throw new Error("Safe is not deployed");return hs(this,ai,"f").isModuleEnabled(e)}async encodeEnableModuleData(e){if(!hs(this,ai,"f"))throw new Error("Safe is not deployed");this.validateModuleAddress(e);const r=await this.getModules();return this.validateModuleIsNotEnabled(e,r),hs(this,ai,"f").encode("enableModule",[e])}async encodeDisableModuleData(e){if(!hs(this,ai,"f"))throw new Error("Safe is not deployed");this.validateModuleAddress(e);const r=await this.getModules(),n=this.validateModuleIsEnabled(e,r),a=n===0?Ipe.SENTINEL_ADDRESS:r[n-1];return hs(this,ai,"f").encode("disableModule",[a,e])}}Np=new WeakMap,ai=new WeakMap;g5.default=Ope;var x5={},bE=ye&&ye.__classPrivateFieldSet||function(t,e,r,n,a){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?a.call(t,r):a?a.value=r:e.set(t,r),r},Rn=ye&&ye.__classPrivateFieldGet||function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},$p,tn;Object.defineProperty(x5,"__esModule",{value:!0});const Av=gi,vE=ra;class Rpe{constructor(e,r){$p.set(this,void 0),tn.set(this,void 0),bE(this,$p,e,"f"),bE(this,tn,r,"f")}validateOwnerAddress(e,r){if(!Rn(this,$p,"f").isAddress(e)||(0,Av.isRestrictedAddress)(e))throw new Error(r||"Invalid owner address provided")}validateThreshold(e,r){if(e<=0)throw new Error("Threshold needs to be greater than 0");if(e>r)throw new Error("Threshold cannot exceed owner count")}validateAddressIsNotOwner(e,r,n){if(r.findIndex(s=>(0,Av.sameString)(s,e))>=0)throw new Error(n||"Address provided is already an owner")}validateAddressIsOwner(e,r,n){const a=r.findIndex(s=>(0,Av.sameString)(s,e));if(!(a>=0))throw new Error(n||"Address provided is not an owner");return a}async getOwners(){if(!Rn(this,tn,"f"))throw new Error("Safe is not deployed");return[...await Rn(this,tn,"f").getOwners()]}async getThreshold(){if(!Rn(this,tn,"f"))throw new Error("Safe is not deployed");return Rn(this,tn,"f").getThreshold()}async isOwner(e){if(!Rn(this,tn,"f"))throw new Error("Safe is not deployed");return Rn(this,tn,"f").isOwner(e)}async encodeAddOwnerWithThresholdData(e,r){if(!Rn(this,tn,"f"))throw new Error("Safe is not deployed");this.validateOwnerAddress(e);const n=await this.getOwners();this.validateAddressIsNotOwner(e,n);const a=r??await this.getThreshold();return this.validateThreshold(a,n.length+1),Rn(this,tn,"f").encode("addOwnerWithThreshold",[e,a])}async encodeRemoveOwnerData(e,r){if(!Rn(this,tn,"f"))throw new Error("Safe is not deployed");this.validateOwnerAddress(e);const n=await this.getOwners(),a=this.validateAddressIsOwner(e,n),i=r??await this.getThreshold()-1;this.validateThreshold(i,n.length-1);const s=a===0?vE.SENTINEL_ADDRESS:n[a-1];return Rn(this,tn,"f").encode("removeOwner",[s,e,i])}async encodeSwapOwnerData(e,r){if(!Rn(this,tn,"f"))throw new Error("Safe is not deployed");this.validateOwnerAddress(r,"Invalid new owner address provided"),this.validateOwnerAddress(e,"Invalid old owner address provided");const n=await this.getOwners();this.validateAddressIsNotOwner(r,n,"New address provided is already an owner");const a=this.validateAddressIsOwner(e,n,"Old address provided is not an owner"),i=a===0?vE.SENTINEL_ADDRESS:n[a-1];return Rn(this,tn,"f").encode("swapOwner",[i,e,r])}async encodeChangeThresholdData(e){if(!Rn(this,tn,"f"))throw new Error("Safe is not deployed");const r=await this.getOwners();return this.validateThreshold(e,r.length),Rn(this,tn,"f").encode("changeThreshold",[e])}}$p=new WeakMap,tn=new WeakMap;x5.default=Rpe;var Ys=ye&&ye.__classPrivateFieldSet||function(t,e,r,n,a){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?a.call(t,r):a?a.value=r:e.set(t,r),r},Ge=ye&&ye.__classPrivateFieldGet||function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},vf=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},Lr,nr,At,Ii,ul,$c,Lc;Object.defineProperty(ab,"__esModule",{value:!0});const gE=Wo,Npe=Im,$pe=Xn,Lpe=rb,xE=vf(nb),jpe=vf(b5),zpe=vf(v5),Upe=vf(g5),Hpe=vf(x5),gn=fc(),kc=N8,wE=vf(Om),ep=$8(),Gpe=sh;let qpe=class jc{constructor(){Lr.set(this,void 0),nr.set(this,void 0),At.set(this,void 0),Ii.set(this,void 0),ul.set(this,void 0),$c.set(this,void 0),Lc.set(this,void 0)}static async create(e){const r=new jc;return await r.init(e),r}async init(e){const{ethAdapter:r,isL1SafeMasterCopy:n,contractNetworks:a}=e;Ys(this,nr,r,"f"),(0,Gpe.isSafeConfigWithPredictedSafe)(e)?(Ys(this,Lr,e.predictedSafe,"f"),Ys(this,At,await xE.default.create({ethAdapter:Ge(this,nr,"f"),predictedSafe:Ge(this,Lr,"f"),isL1SafeMasterCopy:n,contractNetworks:a}),"f")):Ys(this,At,await xE.default.create({ethAdapter:Ge(this,nr,"f"),safeAddress:e.safeAddress,isL1SafeMasterCopy:n,contractNetworks:a}),"f"),Ys(this,Ii,new Hpe.default(Ge(this,nr,"f"),Ge(this,At,"f").safeContract),"f"),Ys(this,ul,new Upe.default(Ge(this,nr,"f"),Ge(this,At,"f").safeContract),"f"),Ys(this,$c,new zpe.default(Ge(this,nr,"f"),Ge(this,At,"f").safeContract),"f"),Ys(this,Lc,new jpe.default(Ge(this,nr,"f"),Ge(this,At,"f").safeContract),"f")}async connect(e){const{ethAdapter:r,safeAddress:n,predictedSafe:a,isL1SafeMasterCopy:i,contractNetworks:s}=e,o={ethAdapter:r||Ge(this,nr,"f"),isL1SafeMasterCopy:i||Ge(this,At,"f").isL1SafeMasterCopy,contractNetworks:s||Ge(this,At,"f").contractNetworks};return n?await jc.create({safeAddress:n,...o}):a?await jc.create({predictedSafe:a,...o}):Ge(this,Lr,"f")?await jc.create({predictedSafe:Ge(this,Lr,"f"),...o}):await jc.create({safeAddress:await this.getAddress(),...o})}async getAddress(){var e;if(Ge(this,Lr,"f")){const r=await this.getContractVersion();if(!(0,gn.hasSafeFeature)(gn.SAFE_FEATURES.ACCOUNT_ABSTRACTION,r))throw new Error("Account Abstraction functionality is not available for Safes with version lower than v1.3.0");const n=await Ge(this,nr,"f").getChainId();return(0,Lpe.predictSafeAddress)({ethAdapter:Ge(this,nr,"f"),customContracts:(e=Ge(this,At,"f").contractNetworks)===null||e===void 0?void 0:e[n],...Ge(this,Lr,"f")})}if(!Ge(this,At,"f").safeContract)throw new Error("Safe is not deployed");return Promise.resolve(Ge(this,At,"f").safeContract.getAddress())}getContractManager(){return Ge(this,At,"f")}getEthAdapter(){return Ge(this,nr,"f")}getMultiSendAddress(){return Ge(this,At,"f").multiSendContract.getAddress()}getMultiSendCallOnlyAddress(){return Ge(this,At,"f").multiSendCallOnlyContract.getAddress()}async isSafeDeployed(){const e=await this.getAddress();return await Ge(this,nr,"f").isContractDeployed(e)}async getContractVersion(){var e,r;return Ge(this,At,"f").safeContract?Ge(this,At,"f").safeContract.getVersion():!((r=(e=Ge(this,Lr,"f"))===null||e===void 0?void 0:e.safeDeploymentConfig)===null||r===void 0)&&r.safeVersion?Promise.resolve(Ge(this,Lr,"f").safeDeploymentConfig.safeVersion):Promise.resolve($pe.SAFE_LAST_VERSION)}async getOwners(){var e;return!((e=Ge(this,Lr,"f"))===null||e===void 0)&&e.safeAccountConfig.owners?Promise.resolve(Ge(this,Lr,"f").safeAccountConfig.owners):Ge(this,Ii,"f").getOwners()}async getNonce(){return Ge(this,At,"f").safeContract?Ge(this,At,"f").safeContract.getNonce():Promise.resolve(0)}async getThreshold(){var e;return!((e=Ge(this,Lr,"f"))===null||e===void 0)&&e.safeAccountConfig.threshold?Promise.resolve(Ge(this,Lr,"f").safeAccountConfig.threshold):Ge(this,Ii,"f").getThreshold()}async getChainId(){return Ge(this,nr,"f").getChainId()}async getBalance(){return Ge(this,nr,"f").getBalance(await this.getAddress())}getFallbackHandler(){return Ge(this,Lc,"f").getFallbackHandler()}async getGuard(){return Ge(this,$c,"f").getGuard()}async getModules(){return Ge(this,ul,"f").getModules()}async isModuleEnabled(e){return Ge(this,ul,"f").isModuleEnabled(e)}async isOwner(e){var r,n;return!((r=Ge(this,Lr,"f"))===null||r===void 0)&&r.safeAccountConfig.owners?Promise.resolve((n=Ge(this,Lr,"f"))===null||n===void 0?void 0:n.safeAccountConfig.owners.some(a=>(0,gn.sameString)(a,e))):Ge(this,Ii,"f").isOwner(e)}async createTransaction({safeTransactionData:e,onlyCalls:r=!1,options:n}){const a=await this.getContractVersion();if(Ge(this,Lr,"f")&&!(0,gn.hasSafeFeature)(gn.SAFE_FEATURES.ACCOUNT_ABSTRACTION,a))throw new Error("Account Abstraction functionality is not available for Safes with version lower than v1.3.0");if((0,gn.isMetaTransactionArray)(e)&&e.length===0)throw new Error("Invalid empty array of transactions");let i;if((0,gn.isMetaTransactionArray)(e)&&e.length>1){const s=r?Ge(this,At,"f").multiSendCallOnlyContract:Ge(this,At,"f").multiSendContract,o=(0,ep.encodeMultiSendData)(e.map(ep.standardizeMetaTransactionData));i={...n,to:s.getAddress(),value:"0",data:s.encode("multiSend",[o]),operation:Npe.OperationType.DelegateCall}}else i=(0,gn.isMetaTransactionArray)(e)?{...n,...e[0]}:e;if(Ge(this,Lr,"f"))return new wE.default(await(0,ep.standardizeSafeTransactionData)({predictedSafe:Ge(this,Lr,"f"),ethAdapter:Ge(this,nr,"f"),tx:i}));if(!Ge(this,At,"f").safeContract)throw new Error("Safe is not deployed");return new wE.default(await(0,ep.standardizeSafeTransactionData)({safeContract:Ge(this,At,"f").safeContract,ethAdapter:Ge(this,nr,"f"),tx:i}))}async createRejectionTransaction(e){const r={to:await this.getAddress(),nonce:e,value:"0",data:"0x",safeTxGas:"0"};return this.createTransaction({safeTransactionData:r})}async copyTransaction(e){const r=await this.createTransaction({safeTransactionData:e.data});return e.signatures.forEach(n=>{r.addSignature(n)}),r}async getTransactionHash(e){if(!Ge(this,At,"f").safeContract)throw new Error("Safe is not deployed");const r=e.data;return await Ge(this,At,"f").safeContract.getTransactionHash(r)}async signTransactionHash(e){return(0,kc.generateSignature)(Ge(this,nr,"f"),e)}async signTypedData(e,r){const n={safeAddress:await this.getAddress(),safeVersion:await this.getContractVersion(),chainId:await this.getEthAdapter().getChainId(),safeTransactionData:e.data};return(0,kc.generateEIP712Signature)(Ge(this,nr,"f"),n,r)}async signTransaction(e,r="eth_signTypedData_v4"){const n=(0,gn.isSafeMultisigTransactionResponse)(e)?await this.toSafeTransactionType(e):e,a=await this.getOwners(),i=await Ge(this,nr,"f").getSignerAddress();if(!i)throw new Error("EthAdapter must be initialized with a signer to use this method");if(!a.some(y=>i&&(0,gn.sameString)(y,i)))throw new Error("Transactions can only be signed by Safe owners");let o;if(r==="eth_signTypedData_v4")o=await this.signTypedData(n,"v4");else if(r==="eth_signTypedData_v3")o=await this.signTypedData(n,"v3");else if(r==="eth_signTypedData")o=await this.signTypedData(n);else{const y=await this.getContractVersion();if(!(0,gn.hasSafeFeature)(gn.SAFE_FEATURES.ETH_SIGN,y))throw new Error("eth_sign is only supported by Safes >= v1.1.0");const b=await this.getTransactionHash(n);o=await this.signTransactionHash(b)}const u=await this.createTransaction({safeTransactionData:n.data});return n.signatures.forEach(y=>{u.addSignature(y)}),u.addSignature(o),u}async approveTransactionHash(e,r){if(!Ge(this,At,"f").safeContract)throw new Error("Safe is not deployed");const n=await this.getOwners(),a=await Ge(this,nr,"f").getSignerAddress();if(!a)throw new Error("EthAdapter must be initialized with a signer to use this method");if(!n.some(s=>a&&(0,gn.sameString)(s,a)))throw new Error("Transaction hashes can only be approved by Safe owners");if(r!=null&&r.gas&&(r!=null&&r.gasLimit))throw new Error("Cannot specify gas and gasLimit together in transaction options");return Ge(this,At,"f").safeContract.approveHash(e,{from:a,...r})}async getOwnersWhoApprovedTx(e){if(!Ge(this,At,"f").safeContract)throw new Error("Safe is not deployed");const r=await this.getOwners(),n=[];for(const a of r)(await Ge(this,At,"f").safeContract.approvedHashes(a,e)).gt(0)&&n.push(a);return n}async createEnableFallbackHandlerTx(e,r){const n={to:await this.getAddress(),value:"0",data:await Ge(this,Lc,"f").encodeEnableFallbackHandlerData(e),...r};return await this.createTransaction({safeTransactionData:n})}async createDisableFallbackHandlerTx(e){const r={to:await this.getAddress(),value:"0",data:await Ge(this,Lc,"f").encodeDisableFallbackHandlerData(),...e};return await this.createTransaction({safeTransactionData:r})}async createEnableGuardTx(e,r){const n={to:await this.getAddress(),value:"0",data:await Ge(this,$c,"f").encodeEnableGuardData(e),...r};return await this.createTransaction({safeTransactionData:n})}async createDisableGuardTx(e){const r={to:await this.getAddress(),value:"0",data:await Ge(this,$c,"f").encodeDisableGuardData(),...e};return await this.createTransaction({safeTransactionData:r})}async createEnableModuleTx(e,r){const n={to:await this.getAddress(),value:"0",data:await Ge(this,ul,"f").encodeEnableModuleData(e),...r};return await this.createTransaction({safeTransactionData:n})}async createDisableModuleTx(e,r){const n={to:await this.getAddress(),value:"0",data:await Ge(this,ul,"f").encodeDisableModuleData(e),...r};return await this.createTransaction({safeTransactionData:n})}async createAddOwnerTx({ownerAddress:e,threshold:r},n){const a={to:await this.getAddress(),value:"0",data:await Ge(this,Ii,"f").encodeAddOwnerWithThresholdData(e,r),...n};return await this.createTransaction({safeTransactionData:a})}async createRemoveOwnerTx({ownerAddress:e,threshold:r},n){const a={to:await this.getAddress(),value:"0",data:await Ge(this,Ii,"f").encodeRemoveOwnerData(e,r),...n};return await this.createTransaction({safeTransactionData:a})}async createSwapOwnerTx({oldOwnerAddress:e,newOwnerAddress:r},n){const a={to:await this.getAddress(),value:"0",data:await Ge(this,Ii,"f").encodeSwapOwnerData(e,r),...n};return await this.createTransaction({safeTransactionData:a})}async createChangeThresholdTx(e,r){const n={to:await this.getAddress(),value:"0",data:await Ge(this,Ii,"f").encodeChangeThresholdData(e),...r};return await this.createTransaction({safeTransactionData:n})}async toSafeTransactionType(e){var r;const n={to:e.to,value:e.value,data:e.data||"0x",operation:e.operation,safeTxGas:e.safeTxGas.toString(),baseGas:e.baseGas.toString(),gasPrice:e.gasPrice,gasToken:e.gasToken,refundReceiver:e.refundReceiver,nonce:e.nonce},a=await this.createTransaction({safeTransactionData:n});return(r=e.confirmations)===null||r===void 0||r.map(i=>{const s=new gn.EthSafeSignature(i.owner,i.signature);a.addSignature(s)}),a}async isValidTransaction(e,r){if(!Ge(this,At,"f").safeContract)throw new Error("Safe is not deployed");const n=(0,gn.isSafeMultisigTransactionResponse)(e)?await this.toSafeTransactionType(e):e,a=await this.copyTransaction(n),i=await this.getTransactionHash(a),s=await this.getOwnersWhoApprovedTx(i);for(const b of s)a.addSignature((0,kc.generatePreValidatedSignature)(b));const o=await this.getOwners(),u=await Ge(this,nr,"f").getSignerAddress();if(!u)throw new Error("EthAdapter must be initialized with a signer to use this method");return o.includes(u)&&a.addSignature((0,kc.generatePreValidatedSignature)(u)),await Ge(this,At,"f").safeContract.isValidTransaction(a,{from:u,...r})}async executeTransaction(e,r){if(!Ge(this,At,"f").safeContract)throw new Error("Safe is not deployed");const n=(0,gn.isSafeMultisigTransactionResponse)(e)?await this.toSafeTransactionType(e):e,a=await this.copyTransaction(n),i=await this.getTransactionHash(a),s=await this.getOwnersWhoApprovedTx(i);for(const A of s)a.addSignature((0,kc.generatePreValidatedSignature)(A));const o=await this.getOwners(),u=await Ge(this,nr,"f").getSignerAddress();u&&o.includes(u)&&a.addSignature((0,kc.generatePreValidatedSignature)(u));const y=await this.getThreshold();if(y>a.signatures.size){const A=y-a.signatures.size;throw new Error(`There ${A>1?"are":"is"} ${A} signature${A>1?"s":""} missing`)}const b=gE.BigNumber.from(a.data.value);if(!b.isZero()){const A=await this.getBalance();if(b.gt(gE.BigNumber.from(A)))throw new Error("Not enough Ether funds")}if(r!=null&&r.gas&&(r!=null&&r.gasLimit))throw new Error("Cannot specify gas and gasLimit together in transaction options");return await Ge(this,At,"f").safeContract.execTransaction(a,{from:u,...r})}};Lr=new WeakMap,nr=new WeakMap,At=new WeakMap,Ii=new WeakMap,ul=new WeakMap,$c=new WeakMap,Lc=new WeakMap;ab.default=qpe;var w5={},Fc=ye&&ye.__classPrivateFieldSet||function(t,e,r,n,a){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!a)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?t!==e||!a:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?a.call(t,r):a?a.value=r:e.set(t,r),r},Mr=ye&&ye.__classPrivateFieldGet||function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Vpe=ye&&ye.__importDefault||function(t){return t&&t.__esModule?t:{default:t}},zc,bd,vd,ka,gd,xd;Object.defineProperty(w5,"__esModule",{value:!0});const Wpe=Xn,_E=Ct,Kpe=Vpe(ab),Pc=rb;class _5{constructor(){zc.set(this,void 0),bd.set(this,void 0),vd.set(this,void 0),ka.set(this,void 0),gd.set(this,void 0),xd.set(this,void 0)}static async create({ethAdapter:e,safeVersion:r=Wpe.SAFE_LAST_VERSION,isL1SafeMasterCopy:n=!1,contractNetworks:a}){const i=new _5;return await i.init({ethAdapter:e,safeVersion:r,isL1SafeMasterCopy:n,contractNetworks:a}),i}async init({ethAdapter:e,safeVersion:r,isL1SafeMasterCopy:n,contractNetworks:a}){Fc(this,ka,e,"f"),Fc(this,vd,r,"f"),Fc(this,bd,n,"f"),Fc(this,zc,a,"f");const i=await Mr(this,ka,"f").getChainId(),s=a==null?void 0:a[i];Fc(this,gd,await(0,_E.getProxyFactoryContract)({ethAdapter:e,safeVersion:r,customContracts:s}),"f"),Fc(this,xd,await(0,_E.getSafeContract)({ethAdapter:e,safeVersion:r,isL1SafeMasterCopy:n,customContracts:s}),"f")}getEthAdapter(){return Mr(this,ka,"f")}getSafeVersion(){return Mr(this,vd,"f")}getAddress(){return Mr(this,gd,"f").getAddress()}async getChainId(){return Mr(this,ka,"f").getChainId()}async predictSafeAddress(e,r=Pc.PREDETERMINED_SALT_NONCE){var n;const a=await Mr(this,ka,"f").getChainId(),i=(n=Mr(this,zc,"f"))===null||n===void 0?void 0:n[a],s=Mr(this,vd,"f"),o={saltNonce:r,safeVersion:s};return(0,Pc.predictSafeAddress)({ethAdapter:Mr(this,ka,"f"),safeAccountConfig:e,safeDeploymentConfig:o,isL1SafeMasterCopy:Mr(this,bd,"f"),customContracts:i})}async deploySafe({safeAccountConfig:e,saltNonce:r=Pc.PREDETERMINED_SALT_NONCE,options:n,callback:a}){var i;(0,Pc.validateSafeAccountConfig)(e),(0,Pc.validateSafeDeploymentConfig)({saltNonce:r});const s=await Mr(this,ka,"f").getSignerAddress();if(!s)throw new Error("EthAdapter must be initialized with a signer to use this method");const o=await this.getChainId(),u=(i=Mr(this,zc,"f"))===null||i===void 0?void 0:i[o],y=await(0,Pc.encodeSetupCallData)({ethAdapter:Mr(this,ka,"f"),safeAccountConfig:e,safeContract:Mr(this,xd,"f"),customContracts:u});if(n!=null&&n.gas&&(n!=null&&n.gasLimit))throw new Error("Cannot specify gas and gasLimit together in transaction options");const b=await Mr(this,gd,"f").createProxy({safeMasterCopyAddress:Mr(this,xd,"f").getAddress(),initializer:y,saltNonce:r,options:{from:s,...n},callback:a});if(!await Mr(this,ka,"f").isContractDeployed(b))throw new Error("SafeProxy contract is not deployed on the current network");return await Kpe.default.create({ethAdapter:Mr(this,ka,"f"),safeAddress:b,isL1SafeMasterCopy:Mr(this,bd,"f"),contractNetworks:Mr(this,zc,"f")})}}zc=new WeakMap,bd=new WeakMap,vd=new WeakMap,ka=new WeakMap,gd=new WeakMap,xd=new WeakMap;w5.default=_5;(function(t){var e=ye&&ye.__importDefault||function(_){return _&&_.__esModule?_:{default:_}};Object.defineProperty(t,"__esModule",{value:!0}),t.EthSafeSignature=t.encodeCreateProxyWithNonce=t.PREDETERMINED_SALT_NONCE=t.encodeSetupCallData=t.predictSafeAddress=t.getCreateCallContract=t.getSignMessageLibContract=t.getMultiSendCallOnlyContract=t.getMultiSendContract=t.getCompatibilityFallbackHandlerContract=t.getProxyFactoryContract=t.getSafeContract=t.SignMessageLibWeb3Contract=t.MultiSendCallOnlyWeb3Contract=t.MultiSendWeb3Contract=t.GnosisSafeProxyFactoryWeb3Contract=t.GnosisSafeContractWeb3=t.CreateCallWeb3Contract=t.Web3Adapter=t.SignMessageLibEthersContract=t.MultiSendCallOnlyEthersContract=t.MultiSendEthersContract=t.GnosisSafeProxyFactoryEthersContract=t.GnosisSafeContractEthers=t.CreateCallEthersContract=t.EthersAdapter=t.standardizeSafeTransactionData=t.encodeMultiSendData=t.SafeFactory=t.ContractManager=void 0;const r=xn;Object.defineProperty(t,"CreateCallEthersContract",{enumerable:!0,get:function(){return r.CreateCallEthersContract}}),Object.defineProperty(t,"EthersAdapter",{enumerable:!0,get:function(){return r.EthersAdapter}}),Object.defineProperty(t,"GnosisSafeContractEthers",{enumerable:!0,get:function(){return r.GnosisSafeContractEthers}}),Object.defineProperty(t,"GnosisSafeProxyFactoryEthersContract",{enumerable:!0,get:function(){return r.GnosisSafeProxyFactoryEthersContract}}),Object.defineProperty(t,"MultiSendCallOnlyEthersContract",{enumerable:!0,get:function(){return r.MultiSendCallOnlyEthersContract}}),Object.defineProperty(t,"MultiSendEthersContract",{enumerable:!0,get:function(){return r.MultiSendEthersContract}}),Object.defineProperty(t,"SignMessageLibEthersContract",{enumerable:!0,get:function(){return r.SignMessageLibEthersContract}});const n=En;Object.defineProperty(t,"CreateCallWeb3Contract",{enumerable:!0,get:function(){return n.CreateCallWeb3Contract}}),Object.defineProperty(t,"GnosisSafeContractWeb3",{enumerable:!0,get:function(){return n.GnosisSafeContractWeb3}}),Object.defineProperty(t,"GnosisSafeProxyFactoryWeb3Contract",{enumerable:!0,get:function(){return n.GnosisSafeProxyFactoryWeb3Contract}}),Object.defineProperty(t,"MultiSendCallOnlyWeb3Contract",{enumerable:!0,get:function(){return n.MultiSendCallOnlyWeb3Contract}}),Object.defineProperty(t,"MultiSendWeb3Contract",{enumerable:!0,get:function(){return n.MultiSendWeb3Contract}}),Object.defineProperty(t,"SignMessageLibWeb3Contract",{enumerable:!0,get:function(){return n.SignMessageLibWeb3Contract}}),Object.defineProperty(t,"Web3Adapter",{enumerable:!0,get:function(){return n.Web3Adapter}});const a=Ct;Object.defineProperty(t,"getCompatibilityFallbackHandlerContract",{enumerable:!0,get:function(){return a.getCompatibilityFallbackHandlerContract}}),Object.defineProperty(t,"getCreateCallContract",{enumerable:!0,get:function(){return a.getCreateCallContract}}),Object.defineProperty(t,"getMultiSendCallOnlyContract",{enumerable:!0,get:function(){return a.getMultiSendCallOnlyContract}}),Object.defineProperty(t,"getMultiSendContract",{enumerable:!0,get:function(){return a.getMultiSendContract}}),Object.defineProperty(t,"getProxyFactoryContract",{enumerable:!0,get:function(){return a.getProxyFactoryContract}}),Object.defineProperty(t,"getSafeContract",{enumerable:!0,get:function(){return a.getSafeContract}}),Object.defineProperty(t,"getSignMessageLibContract",{enumerable:!0,get:function(){return a.getSignMessageLibContract}});const i=rb;Object.defineProperty(t,"predictSafeAddress",{enumerable:!0,get:function(){return i.predictSafeAddress}}),Object.defineProperty(t,"encodeSetupCallData",{enumerable:!0,get:function(){return i.encodeSetupCallData}}),Object.defineProperty(t,"encodeCreateProxyWithNonce",{enumerable:!0,get:function(){return i.encodeCreateProxyWithNonce}}),Object.defineProperty(t,"PREDETERMINED_SALT_NONCE",{enumerable:!0,get:function(){return i.PREDETERMINED_SALT_NONCE}});const s=e(nb);t.ContractManager=s.default;const o=e(ab),u=e(w5);t.SafeFactory=u.default;const y=fc();Object.defineProperty(t,"EthSafeSignature",{enumerable:!0,get:function(){return y.EthSafeSignature}});const b=$8();Object.defineProperty(t,"encodeMultiSendData",{enumerable:!0,get:function(){return b.encodeMultiSendData}}),Object.defineProperty(t,"standardizeSafeTransactionData",{enumerable:!0,get:function(){return b.standardizeSafeTransactionData}}),t.default=o.default})(Hl);const FP=va(Hl);async function Zpe(t,e){const r=new Hl.EthersAdapter({ethers:Ru,signerOrProvider:e}),n=await FP.create({ethAdapter:r,safeAddress:t,contractNetworks:_0}),a=await n.connect({ethAdapter:new Hl.EthersAdapter({ethers:Ru,signerOrProvider:e}),safeAddress:t,contractNetworks:_0});return{safeSdk:n,safeSdk2:a,signer:e}}const gf=pe.createContext(void 0),Jpe=({safeData:t})=>{const[e,r]=pe.useState();return pe.useEffect(()=>{if(!t)return;(async()=>{const{safeSdk:a,safeSdk2:i}=t,s=await a.getOwners(),o=await a.getThreshold(),u=await a.getChainId(),y=await a.getNonce(),b=await a.getAddress();r({owners:s,threshold:o,chainId:u,nonce:y,address:b,safeSdk:a,safeSdk2:i})})()},[t]),e},Ype=()=>{const t=xR(),[e,r]=pe.useState(),n=pe.useContext(V0),a=pe.useCallback(async()=>{t.safeAddress&&n&&r(await Zpe(t.safeAddress,n.getSigner()))},[t.safeAddress,n]),i=pe.useCallback(()=>{t.networkId&&(n==null||n.send("wallet_switchEthereumChain",[{chainId:`0x${parseInt(t.networkId).toString(16)}`}]))},[t.networkId,n]);pe.useEffect(()=>{i()},[i]),pe.useEffect(()=>{a()},[a]);const s=Jpe({safeData:e});return me.jsx(gf.Provider,{value:s,children:me.jsxs(Xe,{paddingTop:8,paddingBottom:8,children:[me.jsx(rr,{variant:"featured-2",children:"View Safe"}),me.jsx(Xe,{paddingTop:4}),e?me.jsx(lC,{}):me.jsx(Sr,{onClick:i,children:"Switch network"})]})})};function Xpe(t){if(!zn(t))return"Invalid address"}function Qpe(t){const e={};return t.threshold<=0&&(e.threshold="Threshold needs to be at least 1"),t.threshold>t.addresses.length&&(e.threshold="Threshold cannot be more than the number of addresses"),e}function e1e(){var i;const t=pe.useContext(V0),e=pe.useContext(W0),r=OC(),n=cy(),a=pe.useCallback(async s=>{try{const o=new Hl.EthersAdapter({ethers:Ru,signerOrProvider:t.getSigner()}),b=await(await(await Hl.SafeFactory.create({ethAdapter:o,contractNetworks:_0})).deploySafe({safeAccountConfig:{owners:s.addresses,threshold:parseInt(s.threshold,10)}})).getAddress();r.show({title:"Created a new safe!",text:`Opening safe... The new safe address is ${b}`}),n(`/safe/${e}/${b}`)}catch(o){r.show({title:"Error creating safe",text:`Message: ${o.message}`})}},[t]);return me.jsxs(Xe,{gap:4,paddingTop:10,children:[me.jsx(rr,{variant:"title-3",children:"Create a new safe"}),me.jsxs(rr,{variant:"body-1",children:["Network: ",((i=E0[e])==null?void 0:i.name)||"unknown"]}),me.jsx(Ty,{onSubmit:a,initialValues:{threshold:1,addresses:[t.getSigner()._address||"0x"]},validate:Qpe,children:({handleSubmit:s,handleChange:o,isSubmitting:u,values:y,errors:b})=>me.jsxs("form",{onSubmit:s,children:[me.jsx(xT,{name:"addresses",render:_=>me.jsxs(me.Fragment,{children:[y.addresses.map((A,T)=>me.jsx(Xe,{gap:2,paddingTop:4,children:me.jsx(So,{validate:Xpe,name:`addresses.${T}`,children:({field:{name:k,value:C}})=>me.jsxs(zr,{hasError:!!(b.addresses&&b.addresses[T]),children:[me.jsxs(zr.Label,{children:["Signer address ",T+1,":"," "]}),me.jsx(l0,{name:k,value:C,onChange:({event:P})=>o(P),endSlot:me.jsx(Sr,{color:"critical",size:"small",onClick:()=>_.remove(T),children:"Remove"})}),b.addresses&&b.addresses[T]&&me.jsx(zr.Error,{children:b.addresses[T]})]},T)})},`${A}-${T}`)),me.jsx(Xe,{paddingTop:4,paddingBottom:4,children:me.jsx(Xe,{children:me.jsx(Sr,{onClick:()=>_.push(""),children:"Add"})})})]})}),me.jsxs(zr,{hasError:!!b.threshold,children:[me.jsx(zr.Label,{children:"Threshold:"}),me.jsx(l0,{inputAttributes:{type:"number"},name:"threshold",value:y.threshold.toString(),onChange:({event:_})=>o(_)}),b.threshold&&me.jsx(zr.Error,{children:b.threshold}),me.jsx(zr.Helper,{children:"This number of signers needs to approve"})]}),me.jsx(Xe,{paddingTop:4,children:me.jsx(Sr,{type:"submit",attributes:{title:Object.keys(b).length>0?"Please fix all form errors":"Create a new safe"},disabled:Object.keys(b).length>0||u,children:u?"Creating safe...":"Create Safe"})})]})})]})}var PP={exports:{}},t1e="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",r1e=t1e,n1e=r1e;function DP(){}function IP(){}IP.resetWarningCache=DP;var a1e=function(){function t(n,a,i,s,o,u){if(u!==n1e){var y=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw y.name="Invariant Violation",y}}t.isRequired=t;function e(){return t}var r={array:t,bigint:t,bool:t,func:t,number:t,object:t,string:t,symbol:t,any:t,arrayOf:e,element:t,elementType:t,instanceOf:e,node:t,objectOf:e,oneOf:e,oneOfType:e,shape:e,exact:e,checkPropTypes:IP,resetWarningCache:DP};return r.PropTypes=r,r};PP.exports=a1e();var i1e=PP.exports;const tp=va(i1e);function P3(){return P3=Object.assign||function(t){for(var e=1;e=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function o1e(t,e){if(t==null)return{};var r={},n=Object.keys(t),a,i;for(i=0;i=0)&&(r[a]=t[a]);return r}var E5=pe.forwardRef(function(t,e){var r=t.color,n=r===void 0?"currentColor":r,a=t.size,i=a===void 0?24:a,s=s1e(t,["color","size"]);return Q.createElement("svg",P3({ref:e,xmlns:"http://www.w3.org/2000/svg",width:i,height:i,viewBox:"0 0 24 24",fill:"none",stroke:n,strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},s),Q.createElement("circle",{cx:"12",cy:"12",r:"10"}),Q.createElement("line",{x1:"12",y1:"16",x2:"12",y2:"12"}),Q.createElement("line",{x1:"12",y1:"8",x2:"12.01",y2:"8"}))});E5.propTypes={color:tp.string,size:tp.oneOfType([tp.string,tp.number])};E5.displayName="Info";const l1e=E5,rp=({children:t})=>me.jsx(lj,{text:t,children:e=>me.jsx(Ds,{size:4,attributes:e,svg:me.jsx(l1e,{})})}),c1e={[X6.id]:"https://etherscan.io/",[t8.id]:"https://explorer.zora.energy/",[Y6.id]:"https://goerli.etherscan.io/",[Vy.id]:"https://testnet.explorer.zora.energy/",[Q6.id]:"https://optimistic.etherscan.io/"},OP=({address:t,prettyName:e})=>{const r=pe.useContext(W0);return me.jsxs("span",{title:t,children:[e||t," ",me.jsx("a",{title:"View on etherscan",target:"_blank",className:"text-gray-600 hover:color-black transition-color",href:`${c1e[r]}/address/${t}`,children:"↗"})]})},u1e=(t,e,r)=>{if(!e)return;const n=Array.isArray(e)?e:e.match(/([^[.\]])+/g);if(!n)return;const a=n.reduce((i,s)=>i&&i[s],t);return a===void 0?r:a},Bl=({label:t,fieldProps:e})=>({field:{name:r,value:n,onChange:a},form:{errors:i}})=>{const s=u1e(i,r);return me.jsx(Xe,{paddingTop:1,paddingBottom:1,children:me.jsxs(zr,{hasError:!!s,children:[me.jsx(zr.Label,{children:t}),me.jsx(l0,{name:r,value:n,onChange:({event:o})=>a(o),...e}),s&&me.jsx(zr.Error,{children:s})]},r)})};function yc(t){this._maxSize=t,this.clear()}yc.prototype.clear=function(){this._size=0,this._values=Object.create(null)};yc.prototype.get=function(t){return this._values[t]};yc.prototype.set=function(t,e){return this._size>=this._maxSize&&this.clear(),t in this._values||this._size++,this._values[t]=e};var f1e=/[^.^\]^[]+|(?=\[\]|\.\.)/g,RP=/^\d+$/,d1e=/^\d/,h1e=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,p1e=/^\s*(['"]?)(.*?)(\1)\s*$/,A5=512,EE=new yc(A5),AE=new yc(A5),SE=new yc(A5),kl={Cache:yc,split:D3,normalizePath:Sv,setter:function(t){var e=Sv(t);return AE.get(t)||AE.set(t,function(n,a){for(var i=0,s=e.length,o=n;it.match(g1e)||[],sb=t=>t[0].toUpperCase()+t.slice(1),C5=(t,e)=>ib(t).join(e).toLowerCase(),NP=t=>ib(t).reduce((e,r)=>`${e}${e?r[0].toUpperCase()+r.slice(1).toLowerCase():r.toLowerCase()}`,""),x1e=t=>sb(NP(t)),w1e=t=>C5(t,"_"),_1e=t=>C5(t,"-"),E1e=t=>sb(C5(t," ")),A1e=t=>ib(t).map(sb).join(" ");var Cv={words:ib,upperFirst:sb,camelCase:NP,pascalCase:x1e,snakeCase:w1e,kebabCase:_1e,sentenceCase:E1e,titleCase:A1e},T5={exports:{}};T5.exports=function(t){return $P(S1e(t),t)};T5.exports.array=$P;function $P(t,e){var r=t.length,n=new Array(r),a={},i=r,s=C1e(e),o=T1e(t);for(e.forEach(function(y){if(!o.has(y[0])||!o.has(y[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});i--;)a[i]||u(t[i],i,new Set);return n;function u(y,b,_){if(_.has(y)){var A;try{A=", node was:"+JSON.stringify(y)}catch{A=""}throw new Error("Cyclic dependency"+A)}if(!o.has(y))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(y));if(!a[b]){a[b]=!0;var T=s.get(y)||new Set;if(T=Array.from(T),b=T.length){_.add(y);do{var k=T[--b];u(k,o.get(k),_)}while(b);_.delete(y)}n[--r]=y}}}function S1e(t){for(var e=new Set,r=0,n=t.length;r"",I1e=/^Symbol\((.*)\)(.*)$/;function O1e(t){return t!=+t?"NaN":t===0&&1/t<0?"-0":""+t}function CE(t,e=!1){if(t==null||t===!0||t===!1)return""+t;const r=typeof t;if(r==="number")return O1e(t);if(r==="string")return e?`"${t}"`:t;if(r==="function")return"[Function "+(t.name||"anonymous")+"]";if(r==="symbol")return D1e.call(t).replace(I1e,"Symbol($1)");const n=k1e.call(t).slice(8,-1);return n==="Date"?isNaN(t.getTime())?""+t:t.toISOString(t):n==="Error"||t instanceof Error?"["+F1e.call(t)+"]":n==="RegExp"?P1e.call(t):null}function Ms(t,e){let r=CE(t,e);return r!==null?r:JSON.stringify(t,function(n,a){let i=CE(this[n],e);return i!==null?i:a},2)}function LP(t){return t==null?[]:[].concat(t)}let jP,R1e=/\$\{\s*(\w+)\s*\}/g;jP=Symbol.toStringTag;class Jn extends Error{static formatError(e,r){const n=r.label||r.path||"this";return n!==r.path&&(r=Object.assign({},r,{path:n})),typeof e=="string"?e.replace(R1e,(a,i)=>Ms(r[i])):typeof e=="function"?e(r):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,r,n,a,i){super(),this.value=void 0,this.path=void 0,this.type=void 0,this.errors=void 0,this.params=void 0,this.inner=void 0,this[jP]="Error",this.name="ValidationError",this.value=r,this.path=n,this.type=a,this.errors=[],this.inner=[],LP(e).forEach(s=>{if(Jn.isError(s)){this.errors.push(...s.errors);const o=s.inner.length?s.inner:[s];this.inner.push(...o)}else this.errors.push(s)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],!i&&Error.captureStackTrace&&Error.captureStackTrace(this,Jn)}}let $i={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:t,type:e,value:r,originalValue:n})=>{const a=n!=null&&n!==r?` (cast from the value \`${Ms(n,!0)}\`).`:".";return e!=="mixed"?`${t} must be a \`${e}\` type, but the final value was: \`${Ms(r,!0)}\``+a:`${t} must match the configured type. The validated value was: \`${Ms(r,!0)}\``+a}},ii={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},eo={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},I3={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},N1e={isValue:"${path} field must be ${value}"},O3={noUnknown:"${path} field has unspecified keys: ${unknown}"},Lp={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},$1e={notType:t=>{const{path:e,value:r,spec:n}=t,a=n.types.length;if(Array.isArray(r)){if(r.lengtha)return`${e} tuple value has too many items, expected a length of ${a} but got ${r.length} for value: \`${Ms(r,!0)}\``}return Jn.formatError($i.notType,t)}};Object.assign(Object.create(null),{mixed:$i,string:ii,number:eo,date:I3,object:O3,array:Lp,boolean:N1e,tuple:$1e});const ob=t=>t&&t.__isYupSchema__;class j1{static fromOptions(e,r){if(!r.then&&!r.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:n,then:a,otherwise:i}=r,s=typeof n=="function"?n:(...o)=>o.every(u=>u===n);return new j1(e,(o,u)=>{var y;let b=s(...o)?a:i;return(y=b==null?void 0:b(u))!=null?y:u})}constructor(e,r){this.fn=void 0,this.refs=e,this.refs=e,this.fn=r}resolve(e,r){let n=this.refs.map(i=>i.getValue(r==null?void 0:r.value,r==null?void 0:r.parent,r==null?void 0:r.context)),a=this.fn(n,e,r);if(a===void 0||a===e)return e;if(!ob(a))throw new TypeError("conditions must return a schema object");return a.resolve(r)}}const np={context:"$",value:"."};class mc{constructor(e,r={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===np.context,this.isValue=this.key[0]===np.value,this.isSibling=!this.isContext&&!this.isValue;let n=this.isContext?np.context:this.isValue?np.value:"";this.path=this.key.slice(n.length),this.getter=this.path&&kl.getter(this.path,!0),this.map=r.map}getValue(e,r,n){let a=this.isContext?n:this.isValue?e:r;return this.getter&&(a=this.getter(a||{})),this.map&&(a=this.map(a)),a}cast(e,r){return this.getValue(e,r==null?void 0:r.parent,r==null?void 0:r.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}}mc.prototype.__isYupRef=!0;const Cs=t=>t==null;function Dc(t){function e({value:r,path:n="",options:a,originalValue:i,schema:s},o,u){const{name:y,test:b,params:_,message:A,skipAbsent:T}=t;let{parent:k,context:C,abortEarly:P=s.spec.abortEarly,disableStackTrace:B=s.spec.disableStackTrace}=a;function D(l){return mc.isRef(l)?l.getValue(r,k,C):l}function N(l={}){var d;const h=Object.assign({value:r,originalValue:i,label:s.spec.label,path:l.path||n,spec:s.spec},_,l.params);for(const p of Object.keys(h))h[p]=D(h[p]);const c=new Jn(Jn.formatError(l.message||A,h),r,h.path,l.type||y,(d=l.disableStackTrace)!=null?d:B);return c.params=h,c}const $=P?o:u;let j={path:n,parent:k,type:y,from:a.from,createError:N,resolve:D,options:a,originalValue:i,schema:s};const Z=l=>{Jn.isError(l)?$(l):l?u(null):$(N())},X=l=>{Jn.isError(l)?$(l):o(l)};if(T&&Cs(r))return Z(!0);let re;try{var M;if(re=b.call(j,r,j),typeof((M=re)==null?void 0:M.then)=="function"){if(a.sync)throw new Error(`Validation test of type: "${j.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`);return Promise.resolve(re).then(Z,X)}}catch(l){X(l);return}Z(re)}return e.OPTIONS=t,e}function L1e(t,e,r,n=r){let a,i,s;return e?(kl.forEach(e,(o,u,y)=>{let b=u?o.slice(1,o.length-1):o;t=t.resolve({context:n,parent:a,value:r});let _=t.type==="tuple",A=y?parseInt(b,10):0;if(t.innerType||_){if(_&&!y)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${s}" must contain an index to the tuple element, e.g. "${s}[0]"`);if(r&&A>=r.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${o}, in the path: ${e}. because there is no value at that index. `);a=r,r=r&&r[A],t=_?t.spec.types[A]:t.innerType}if(!y){if(!t.fields||!t.fields[b])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${s} which is a type: "${t.type}")`);a=r,r=r&&r[b],t=t.fields[b]}i=b,s=u?"["+o+"]":"."+o}),{schema:t,parent:a,parentPath:i}):{parent:a,parentPath:e,schema:t}}class z1 extends Set{describe(){const e=[];for(const r of this.values())e.push(mc.isRef(r)?r.describe():r);return e}resolveAll(e){let r=[];for(const n of this.values())r.push(e(n));return r}clone(){return new z1(this.values())}merge(e,r){const n=this.clone();return e.forEach(a=>n.add(a)),r.forEach(a=>n.delete(a)),n}}function ou(t,e=new Map){if(ob(t)||!t||typeof t!="object")return t;if(e.has(t))return e.get(t);let r;if(t instanceof Date)r=new Date(t.getTime()),e.set(t,r);else if(t instanceof RegExp)r=new RegExp(t),e.set(t,r);else if(Array.isArray(t)){r=new Array(t.length),e.set(t,r);for(let n=0;n{this.typeError($i.notType)}),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,disableStackTrace:!1,nullable:!1,optional:!0,coerce:!0},e==null?void 0:e.spec),this.withMutation(r=>{r.nonNullable()})}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;const r=Object.create(Object.getPrototypeOf(this));return r.type=this.type,r._typeCheck=this._typeCheck,r._whitelist=this._whitelist.clone(),r._blacklist=this._blacklist.clone(),r.internalTests=Object.assign({},this.internalTests),r.exclusiveTests=Object.assign({},this.exclusiveTests),r.deps=[...this.deps],r.conditions=[...this.conditions],r.tests=[...this.tests],r.transforms=[...this.transforms],r.spec=ou(Object.assign({},this.spec,e)),r}label(e){let r=this.clone();return r.spec.label=e,r}meta(...e){if(e.length===0)return this.spec.meta;let r=this.clone();return r.spec.meta=Object.assign(r.spec.meta||{},e[0]),r}withMutation(e){let r=this._mutate;this._mutate=!0;let n=e(this);return this._mutate=r,n}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let r=this,n=e.clone();const a=Object.assign({},r.spec,n.spec);return n.spec=a,n.internalTests=Object.assign({},r.internalTests,n.internalTests),n._whitelist=r._whitelist.merge(e._whitelist,e._blacklist),n._blacklist=r._blacklist.merge(e._blacklist,e._whitelist),n.tests=r.tests,n.exclusiveTests=r.exclusiveTests,n.withMutation(i=>{e.tests.forEach(s=>{i.test(s.OPTIONS)})}),n.transforms=[...r.transforms,...n.transforms],n}isType(e){return e==null?!!(this.spec.nullable&&e===null||this.spec.optional&&e===void 0):this._typeCheck(e)}resolve(e){let r=this;if(r.conditions.length){let n=r.conditions;r=r.clone(),r.conditions=[],r=n.reduce((a,i)=>i.resolve(a,e),r),r=r.resolve(e)}return r}resolveOptions(e){var r,n,a,i;return Object.assign({},e,{from:e.from||[],strict:(r=e.strict)!=null?r:this.spec.strict,abortEarly:(n=e.abortEarly)!=null?n:this.spec.abortEarly,recursive:(a=e.recursive)!=null?a:this.spec.recursive,disableStackTrace:(i=e.disableStackTrace)!=null?i:this.spec.disableStackTrace})}cast(e,r={}){let n=this.resolve(Object.assign({value:e},r)),a=r.assert==="ignore-optionality",i=n._cast(e,r);if(r.assert!==!1&&!n.isType(i)){if(a&&Cs(i))return i;let s=Ms(e),o=Ms(i);throw new TypeError(`The value of ${r.path||"field"} could not be cast to a value that satisfies the schema type: "${n.type}". + +attempted value: ${s} +`+(o!==s?`result of cast: ${o}`:""))}return i}_cast(e,r){let n=e===void 0?e:this.transforms.reduce((a,i)=>i.call(this,a,e,this),e);return n===void 0&&(n=this.getDefault(r)),n}_validate(e,r={},n,a){let{path:i,originalValue:s=e,strict:o=this.spec.strict}=r,u=e;o||(u=this._cast(u,Object.assign({assert:!1},r)));let y=[];for(let b of Object.values(this.internalTests))b&&y.push(b);this.runTests({path:i,value:u,originalValue:s,options:r,tests:y},n,b=>{if(b.length)return a(b,u);this.runTests({path:i,value:u,originalValue:s,options:r,tests:this.tests},n,a)})}runTests(e,r,n){let a=!1,{tests:i,value:s,originalValue:o,path:u,options:y}=e,b=C=>{a||(a=!0,r(C,s))},_=C=>{a||(a=!0,n(C,s))},A=i.length,T=[];if(!A)return _([]);let k={value:s,originalValue:o,path:u,options:y,schema:this};for(let C=0;Cthis.resolve(b)._validate(y,b,A,T)}validate(e,r){var n;let a=this.resolve(Object.assign({},r,{value:e})),i=(n=r==null?void 0:r.disableStackTrace)!=null?n:a.spec.disableStackTrace;return new Promise((s,o)=>a._validate(e,r,(u,y)=>{Jn.isError(u)&&(u.value=y),o(u)},(u,y)=>{u.length?o(new Jn(u,y,void 0,void 0,i)):s(y)}))}validateSync(e,r){var n;let a=this.resolve(Object.assign({},r,{value:e})),i,s=(n=r==null?void 0:r.disableStackTrace)!=null?n:a.spec.disableStackTrace;return a._validate(e,Object.assign({},r,{sync:!0}),(o,u)=>{throw Jn.isError(o)&&(o.value=u),o},(o,u)=>{if(o.length)throw new Jn(o,e,void 0,void 0,s);i=u}),i}isValid(e,r){return this.validate(e,r).then(()=>!0,n=>{if(Jn.isError(n))return!1;throw n})}isValidSync(e,r){try{return this.validateSync(e,r),!0}catch(n){if(Jn.isError(n))return!1;throw n}}_getDefault(e){let r=this.spec.default;return r==null?r:typeof r=="function"?r.call(this,e):ou(r)}getDefault(e){return this.resolve(e||{})._getDefault(e)}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){return this.clone({strict:e})}nullability(e,r){const n=this.clone({nullable:e});return n.internalTests.nullable=Dc({message:r,name:"nullable",test(a){return a===null?this.schema.spec.nullable:!0}}),n}optionality(e,r){const n=this.clone({optional:e});return n.internalTests.optionality=Dc({message:r,name:"optionality",test(a){return a===void 0?this.schema.spec.optional:!0}}),n}optional(){return this.optionality(!0)}defined(e=$i.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=$i.notNull){return this.nullability(!1,e)}required(e=$i.required){return this.clone().withMutation(r=>r.nonNullable(e).defined(e))}notRequired(){return this.clone().withMutation(e=>e.nullable().optional())}transform(e){let r=this.clone();return r.transforms.push(e),r}test(...e){let r;if(e.length===1?typeof e[0]=="function"?r={test:e[0]}:r=e[0]:e.length===2?r={name:e[0],test:e[1]}:r={name:e[0],message:e[1],test:e[2]},r.message===void 0&&(r.message=$i.default),typeof r.test!="function")throw new TypeError("`test` is a required parameters");let n=this.clone(),a=Dc(r),i=r.exclusive||r.name&&n.exclusiveTests[r.name]===!0;if(r.exclusive&&!r.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return r.name&&(n.exclusiveTests[r.name]=!!r.exclusive),n.tests=n.tests.filter(s=>!(s.OPTIONS.name===r.name&&(i||s.OPTIONS.test===a.OPTIONS.test))),n.tests.push(a),n}when(e,r){!Array.isArray(e)&&typeof e!="string"&&(r=e,e=".");let n=this.clone(),a=LP(e).map(i=>new mc(i));return a.forEach(i=>{i.isSibling&&n.deps.push(i.key)}),n.conditions.push(typeof r=="function"?new j1(a,r):j1.fromOptions(a,r)),n}typeError(e){let r=this.clone();return r.internalTests.typeError=Dc({message:e,name:"typeError",skipAbsent:!0,test(n){return this.schema._typeCheck(n)?!0:this.createError({params:{type:this.schema.type}})}}),r}oneOf(e,r=$i.oneOf){let n=this.clone();return e.forEach(a=>{n._whitelist.add(a),n._blacklist.delete(a)}),n.internalTests.whiteList=Dc({message:r,name:"oneOf",skipAbsent:!0,test(a){let i=this.schema._whitelist,s=i.resolveAll(this.resolve);return s.includes(a)?!0:this.createError({params:{values:Array.from(i).join(", "),resolved:s}})}}),n}notOneOf(e,r=$i.notOneOf){let n=this.clone();return e.forEach(a=>{n._blacklist.add(a),n._whitelist.delete(a)}),n.internalTests.blacklist=Dc({message:r,name:"notOneOf",test(a){let i=this.schema._blacklist,s=i.resolveAll(this.resolve);return s.includes(a)?this.createError({params:{values:Array.from(i).join(", "),resolved:s}}):!0}}),n}strip(e=!0){let r=this.clone();return r.spec.strip=e,r}describe(e){const r=(e?this.resolve(e):this).clone(),{label:n,meta:a,optional:i,nullable:s}=r.spec;return{meta:a,label:n,optional:i,nullable:s,default:r.getDefault(e),type:r.type,oneOf:r._whitelist.describe(),notOneOf:r._blacklist.describe(),tests:r.tests.map(u=>({name:u.OPTIONS.name,params:u.OPTIONS.params})).filter((u,y,b)=>b.findIndex(_=>_.name===u.name)===y)}}}qa.prototype.__isYupSchema__=!0;for(const t of["validate","validateSync"])qa.prototype[`${t}At`]=function(e,r,n={}){const{parent:a,parentPath:i,schema:s}=L1e(this,e,r,n.context);return s[t](a&&a[i],Object.assign({},n,{parent:a,path:e}))};for(const t of["equals","is"])qa.prototype[t]=qa.prototype.oneOf;for(const t of["not","nope"])qa.prototype[t]=qa.prototype.notOneOf;let j1e=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,z1e=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,U1e=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,H1e=t=>Cs(t)||t===t.trim(),G1e={}.toString();function U1(){return new zP}class zP extends qa{constructor(){super({type:"string",check(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}}),this.withMutation(()=>{this.transform((e,r,n)=>{if(!n.spec.coerce||n.isType(e)||Array.isArray(e))return e;const a=e!=null&&e.toString?e.toString():e;return a===G1e?e:a})})}required(e){return super.required(e).withMutation(r=>r.test({message:e||$i.required,name:"required",skipAbsent:!0,test:n=>!!n.length}))}notRequired(){return super.notRequired().withMutation(e=>(e.tests=e.tests.filter(r=>r.OPTIONS.name!=="required"),e))}length(e,r=ii.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(n){return n.length===this.resolve(e)}})}min(e,r=ii.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(n){return n.length>=this.resolve(e)}})}max(e,r=ii.max){return this.test({name:"max",exclusive:!0,message:r,params:{max:e},skipAbsent:!0,test(n){return n.length<=this.resolve(e)}})}matches(e,r){let n=!1,a,i;return r&&(typeof r=="object"?{excludeEmptyString:n=!1,message:a,name:i}=r:a=r),this.test({name:i||"matches",message:a||ii.matches,params:{regex:e},skipAbsent:!0,test:s=>s===""&&n||s.search(e)!==-1})}email(e=ii.email){return this.matches(j1e,{name:"email",message:e,excludeEmptyString:!0})}url(e=ii.url){return this.matches(z1e,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=ii.uuid){return this.matches(U1e,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=ii.trim){return this.transform(r=>r!=null?r.trim():r).test({message:e,name:"trim",test:H1e})}lowercase(e=ii.lowercase){return this.transform(r=>Cs(r)?r:r.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:r=>Cs(r)||r===r.toLowerCase()})}uppercase(e=ii.uppercase){return this.transform(r=>Cs(r)?r:r.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:r=>Cs(r)||r===r.toUpperCase()})}}U1.prototype=zP.prototype;let q1e=t=>t!=+t;function lb(){return new UP}class UP extends qa{constructor(){super({type:"number",check(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!q1e(e)}}),this.withMutation(()=>{this.transform((e,r,n)=>{if(!n.spec.coerce)return e;let a=e;if(typeof a=="string"){if(a=a.replace(/\s/g,""),a==="")return NaN;a=+a}return n.isType(a)||a===null?a:parseFloat(a)})})}min(e,r=eo.min){return this.test({message:r,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(n){return n>=this.resolve(e)}})}max(e,r=eo.max){return this.test({message:r,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(n){return n<=this.resolve(e)}})}lessThan(e,r=eo.lessThan){return this.test({message:r,name:"max",exclusive:!0,params:{less:e},skipAbsent:!0,test(n){return nthis.resolve(e)}})}positive(e=eo.positive){return this.moreThan(0,e)}negative(e=eo.negative){return this.lessThan(0,e)}integer(e=eo.integer){return this.test({name:"integer",message:e,skipAbsent:!0,test:r=>Number.isInteger(r)})}truncate(){return this.transform(e=>Cs(e)?e:e|0)}round(e){var r;let n=["ceil","floor","round","trunc"];if(e=((r=e)==null?void 0:r.toLowerCase())||"round",e==="trunc")return this.truncate();if(n.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+n.join(", "));return this.transform(a=>Cs(a)?a:Math[e](a))}}lb.prototype=UP.prototype;const V1e=/^(\d{4}|[+-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,.](\d{1,}))?)?(?:(Z)|([+-])(\d{2})(?::?(\d{2}))?)?)?$/;function ps(t,e=0){return Number(t)||e}function W1e(t){const e=V1e.exec(t);if(!e)return Date.parse?Date.parse(t):Number.NaN;const r={year:ps(e[1]),month:ps(e[2],1)-1,day:ps(e[3],1),hour:ps(e[4]),minute:ps(e[5]),second:ps(e[6]),millisecond:e[7]?ps(e[7].substring(0,3)):0,z:e[8]||void 0,plusMinus:e[9]||void 0,hourOffset:ps(e[10]),minuteOffset:ps(e[11])};if(r.z===void 0&&r.plusMinus===void 0)return new Date(r.year,r.month,r.day,r.hour,r.minute,r.second,r.millisecond).valueOf();let n=0;return r.z!=="Z"&&r.plusMinus!==void 0&&(n=r.hourOffset*60+r.minuteOffset,r.plusMinus==="+"&&(n=0-n)),Date.UTC(r.year,r.month,r.day,r.hour,r.minute+n,r.second,r.millisecond)}let K1e=new Date(""),Z1e=t=>Object.prototype.toString.call(t)==="[object Date]";class cb extends qa{constructor(){super({type:"date",check(e){return Z1e(e)&&!isNaN(e.getTime())}}),this.withMutation(()=>{this.transform((e,r,n)=>!n.spec.coerce||n.isType(e)||e===null?e:(e=W1e(e),isNaN(e)?cb.INVALID_DATE:new Date(e)))})}prepareParam(e,r){let n;if(mc.isRef(e))n=e;else{let a=this.cast(e);if(!this._typeCheck(a))throw new TypeError(`\`${r}\` must be a Date or a value that can be \`cast()\` to a Date`);n=a}return n}min(e,r=I3.min){let n=this.prepareParam(e,"min");return this.test({message:r,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(a){return a>=this.resolve(n)}})}max(e,r=I3.max){let n=this.prepareParam(e,"max");return this.test({message:r,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(a){return a<=this.resolve(n)}})}}cb.INVALID_DATE=K1e;cb.prototype;function J1e(t,e=[]){let r=[],n=new Set,a=new Set(e.map(([s,o])=>`${s}-${o}`));function i(s,o){let u=kl.split(s)[0];n.add(u),a.has(`${o}-${u}`)||r.push([o,u])}for(const s of Object.keys(t)){let o=t[s];n.add(s),mc.isRef(o)&&o.isSibling?i(o.path,s):ob(o)&&"deps"in o&&o.deps.forEach(u=>i(u,s))}return B1e.array(Array.from(n),r).reverse()}function TE(t,e){let r=1/0;return t.some((n,a)=>{var i;if((i=e.path)!=null&&i.includes(n))return r=a,!0}),r}function HP(t){return(e,r)=>TE(t,e)-TE(t,r)}const GP=(t,e,r)=>{if(typeof t!="string")return t;let n=t;try{n=JSON.parse(t)}catch{}return r.isType(n)?n:t};function jp(t){if("fields"in t){const e={};for(const[r,n]of Object.entries(t.fields))e[r]=jp(n);return t.setFields(e)}if(t.type==="array"){const e=t.optional();return e.innerType&&(e.innerType=jp(e.innerType)),e}return t.type==="tuple"?t.optional().clone({types:t.spec.types.map(jp)}):"optional"in t?t.optional():t}const Y1e=(t,e)=>{const r=[...kl.normalizePath(e)];if(r.length===1)return r[0]in t;let n=r.pop(),a=kl.getter(kl.join(r),!0)(t);return!!(a&&n in a)};let ME=t=>Object.prototype.toString.call(t)==="[object Object]";function X1e(t,e){let r=Object.keys(t.fields);return Object.keys(e).filter(n=>r.indexOf(n)===-1)}const Q1e=HP([]);function T0(t){return new qP(t)}class qP extends qa{constructor(e){super({type:"object",check(r){return ME(r)||typeof r=="function"}}),this.fields=Object.create(null),this._sortErrors=Q1e,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{e&&this.shape(e)})}_cast(e,r={}){var n;let a=super._cast(e,r);if(a===void 0)return this.getDefault(r);if(!this._typeCheck(a))return a;let i=this.fields,s=(n=r.stripUnknown)!=null?n:this.spec.noUnknown,o=[].concat(this._nodes,Object.keys(a).filter(_=>!this._nodes.includes(_))),u={},y=Object.assign({},r,{parent:u,__validating:r.__validating||!1}),b=!1;for(const _ of o){let A=i[_],T=_ in a;if(A){let k,C=a[_];y.path=(r.path?`${r.path}.`:"")+_,A=A.resolve({value:C,context:r.context,parent:u});let P=A instanceof qa?A.spec:void 0,B=P==null?void 0:P.strict;if(P!=null&&P.strip){b=b||_ in a;continue}k=!r.__validating||!B?A.cast(a[_],y):a[_],k!==void 0&&(u[_]=k)}else T&&!s&&(u[_]=a[_]);(T!==_ in u||u[_]!==a[_])&&(b=!0)}return b?u:a}_validate(e,r={},n,a){let{from:i=[],originalValue:s=e,recursive:o=this.spec.recursive}=r;r.from=[{schema:this,value:s},...i],r.__validating=!0,r.originalValue=s,super._validate(e,r,n,(u,y)=>{if(!o||!ME(y)){a(u,y);return}s=s||y;let b=[];for(let _ of this._nodes){let A=this.fields[_];!A||mc.isRef(A)||b.push(A.asNestedTest({options:r,key:_,parent:y,parentPath:r.path,originalParent:s}))}this.runTests({tests:b,value:y,originalValue:s,options:r},n,_=>{a(_.sort(this._sortErrors).concat(u),y)})})}clone(e){const r=super.clone(e);return r.fields=Object.assign({},this.fields),r._nodes=this._nodes,r._excludedEdges=this._excludedEdges,r._sortErrors=this._sortErrors,r}concat(e){let r=super.concat(e),n=r.fields;for(let[a,i]of Object.entries(this.fields)){const s=n[a];n[a]=s===void 0?i:s}return r.withMutation(a=>a.setFields(n,[...this._excludedEdges,...e._excludedEdges]))}_getDefault(e){if("default"in this.spec)return super._getDefault(e);if(!this._nodes.length)return;let r={};return this._nodes.forEach(n=>{var a;const i=this.fields[n];let s=e;(a=s)!=null&&a.value&&(s=Object.assign({},s,{parent:s.value,value:s.value[n]})),r[n]=i&&"getDefault"in i?i.getDefault(s):void 0}),r}setFields(e,r){let n=this.clone();return n.fields=e,n._nodes=J1e(e,r),n._sortErrors=HP(Object.keys(e)),r&&(n._excludedEdges=r),n}shape(e,r=[]){return this.clone().withMutation(n=>{let a=n._excludedEdges;return r.length&&(Array.isArray(r[0])||(r=[r]),a=[...n._excludedEdges,...r]),n.setFields(Object.assign(n.fields,e),a)})}partial(){const e={};for(const[r,n]of Object.entries(this.fields))e[r]="optional"in n&&n.optional instanceof Function?n.optional():n;return this.setFields(e)}deepPartial(){return jp(this)}pick(e){const r={};for(const n of e)this.fields[n]&&(r[n]=this.fields[n]);return this.setFields(r,this._excludedEdges.filter(([n,a])=>e.includes(n)&&e.includes(a)))}omit(e){const r=[];for(const n of Object.keys(this.fields))e.includes(n)||r.push(n);return this.pick(r)}from(e,r,n){let a=kl.getter(e,!0);return this.transform(i=>{if(!i)return i;let s=i;return Y1e(i,e)&&(s=Object.assign({},i),n||delete s[e],s[r]=a(i)),s})}json(){return this.transform(GP)}noUnknown(e=!0,r=O3.noUnknown){typeof e!="boolean"&&(r=e,e=!0);let n=this.test({name:"noUnknown",exclusive:!0,message:r,test(a){if(a==null)return!0;const i=X1e(this.schema,a);return!e||i.length===0||this.createError({params:{unknown:i.join(", ")}})}});return n.spec.noUnknown=e,n}unknown(e=!0,r=O3.noUnknown){return this.noUnknown(!e,r)}transformKeys(e){return this.transform(r=>{if(!r)return r;const n={};for(const a of Object.keys(r))n[e(a)]=r[a];return n})}camelCase(){return this.transformKeys(Cv.camelCase)}snakeCase(){return this.transformKeys(Cv.snakeCase)}constantCase(){return this.transformKeys(e=>Cv.snakeCase(e).toUpperCase())}describe(e){const r=(e?this.resolve(e):this).clone(),n=super.describe(e);n.fields={};for(const[i,s]of Object.entries(r.fields)){var a;let o=e;(a=o)!=null&&a.value&&(o=Object.assign({},o,{parent:o.value,value:o.value[i]})),n.fields[i]=s.describe(o)}return n}}T0.prototype=qP.prototype;function VP(t){return new WP(t)}class WP extends qa{constructor(e){super({type:"array",spec:{types:e},check(r){return Array.isArray(r)}}),this.innerType=void 0,this.innerType=e}_cast(e,r){const n=super._cast(e,r);if(!this._typeCheck(n)||!this.innerType)return n;let a=!1;const i=n.map((s,o)=>{const u=this.innerType.cast(s,Object.assign({},r,{path:`${r.path||""}[${o}]`}));return u!==s&&(a=!0),u});return a?i:n}_validate(e,r={},n,a){var i;let s=this.innerType,o=(i=r.recursive)!=null?i:this.spec.recursive;r.originalValue!=null&&r.originalValue,super._validate(e,r,n,(u,y)=>{var b;if(!o||!s||!this._typeCheck(y)){a(u,y);return}let _=new Array(y.length);for(let T=0;Ta(T.concat(u),y))})}clone(e){const r=super.clone(e);return r.innerType=this.innerType,r}json(){return this.transform(GP)}concat(e){let r=super.concat(e);return r.innerType=this.innerType,e.innerType&&(r.innerType=r.innerType?r.innerType.concat(e.innerType):e.innerType),r}of(e){let r=this.clone();if(!ob(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+Ms(e));return r.innerType=e,r.spec=Object.assign({},r.spec,{types:e}),r}length(e,r=Lp.length){return this.test({message:r,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(n){return n.length===this.resolve(e)}})}min(e,r){return r=r||Lp.min,this.test({message:r,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(n){return n.length>=this.resolve(e)}})}max(e,r){return r=r||Lp.max,this.test({message:r,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(n){return n.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,r)=>this._typeCheck(e)?e:r==null?[]:[].concat(r))}compact(e){let r=e?(n,a,i)=>!e(n,a,i):n=>!!n;return this.transform(n=>n!=null?n.filter(r):n)}describe(e){const r=(e?this.resolve(e):this).clone(),n=super.describe(e);if(r.innerType){var a;let i=e;(a=i)!=null&&a.value&&(i=Object.assign({},i,{parent:i.value,value:i.value[0]})),n.innerType=r.innerType.describe(i)}return n}}VP.prototype=WP.prototype;const eye=t=>{if(!zn(t))return"Invalid address"},tye=t=>{try{Xq(t)}catch{return"ETH Value is Invalid"}},KP=U1().matches(/^0x[a-fA-F0-9]{40}$/,"Needs to be a valid address").required(),ZP=({onClick:t,actionDisabled:e,onClose:r})=>me.jsxs(Xe,{paddingTop:4,direction:"row",justify:"space-between",children:[me.jsx(Xe.Item,{children:me.jsx(Sr,{onClick:t,type:"submit",disabled:e,children:"Ok"})}),me.jsx(Xe.Item,{children:me.jsx(Sr,{onClick:r,children:"Cancel"})})]}),rye=({onClose:t})=>{const e=pe.useContext(gf),[,r]=Ix();return me.jsx(Ty,{initialValues:{address:"0x",threshold:e==null?void 0:e.threshold},validationSchema:T0({address:KP,threshold:lb()}),onSubmit:async({address:n,threshold:a})=>{if(console.log("submit!!!"),!e)return;const i=await e.safeSdk.createAddOwnerTx({ownerAddress:n,threshold:a});r({proposal:JSON.stringify({actions:[{data:i.data.data,value:0,to:e.address}]})}),t()},children:me.jsxs(i6,{children:[me.jsx(rr,{variant:"featured-2",children:"Add Owner"}),me.jsx(So,{name:"address",children:Bl({label:"New User Address"})}),me.jsx(rr,{children:me.jsx(So,{name:"threshold",children:Bl({label:"Threshold",fieldProps:{type:"number"}})})}),me.jsx(ZP,{onClose:t})]})})},nye=({onClose:t,target:e})=>{const[r,n]=Ix(),a=pe.useContext(gf),i=async({threshold:s})=>{const o=await(a==null?void 0:a.safeSdk.createRemoveOwnerTx({ownerAddress:a.address,threshold:s}));!o||!a||(n({proposal:JSON.stringify({actions:[{data:o.data,value:"0",to:a.address}]})}),t())};return me.jsx(Ty,{validationSchema:T0({threshold:lb()}),initialValues:{threshold:a==null?void 0:a.threshold},onSubmit:i,children:me.jsxs(i6,{children:[me.jsx(rr,{variant:"featured-2",children:"Remove Owner"}),me.jsxs(rr,{children:["Owner: ",me.jsx(OP,{address:e})]}),me.jsx(rr,{children:me.jsx(So,{name:"threshold",children:Bl({label:"Threshold",fieldProps:{type:"number"}})})}),me.jsx(ZP,{onClose:t})]})})},aye=({action:t,onClose:e})=>me.jsxs(Hx,{active:!!t,onClose:e,children:[(t==null?void 0:t.type)==="remove"&&me.jsx(nye,{onClose:e,target:t.address}),(t==null?void 0:t.type)==="add"&&me.jsx(rye,{onClose:e})]}),JP=({children:t})=>{var a;const[e,r]=pe.useState(),n=pe.useContext(gf);return n?me.jsxs("div",{children:[e&&me.jsx(aye,{onClose:()=>{r(void 0)},action:e}),me.jsx(Ux,{children:me.jsxs(Xe,{divided:!0,gap:2,children:[me.jsxs(Xe.Item,{children:[me.jsxs(Xe,{children:[me.jsx(rr,{variant:"body-2",children:"Network:"})," ",me.jsx(rp,{children:"Chain for the Safe"})]}),((a=E0[n.chainId])==null?void 0:a.name)||n.chainId.toString()]}),me.jsxs(Xe.Item,{children:[me.jsxs(Xe,{children:[me.jsx(rr,{variant:"body-2",children:"Threshold:"})," ",me.jsx(rp,{children:"Number of signers that need to approve a transaction before execution"})]}),n.threshold]}),me.jsxs(Xe.Item,{children:[me.jsxs(Xe,{children:[me.jsx(rr,{variant:"body-2",children:"Signers: "}),me.jsx(rp,{children:"Signers are the list of addresses for the signers of the multisig"})]}),me.jsxs(Xe,{paddingTop:1,children:[n.owners.map(i=>me.jsxs(Xe.Item,{children:[me.jsx(OP,{address:i}),me.jsxs(Sr,{onClick:()=>{r({type:"remove",address:i})},variant:"ghost",children:[" ","x"," "]})]},i)),me.jsx(Xe.Item,{children:me.jsx(Sr,{onClick:()=>{r({type:"add"})},children:"Add"})})]})]}),me.jsxs(Xe.Item,{children:[me.jsxs(Xe,{justify:"start",direction:"row",align:"start",children:[me.jsx(rr,{variant:"body-2",children:"Nonce: "}),me.jsx(rp,{children:"Nonce is the index of the current transaction of the"})]}),n.nonce]})]})}),t]}):me.jsx("div",{})},iye={[X6.id]:"mainnet",[t8.id]:"zora",[OB.id]:"base-goerli",[IB.id]:"base",[Y6.id]:"goerli",[Vy.id]:"zora-goerli",[Q6.id]:"optimism"},sye=({to:t,data:e})=>{const r=pe.useContext(W0),[n,a]=pe.useState(),i=pe.useCallback(async()=>{let s;try{const o=await fetch(`https://${iye[r]}.ether.actor/decode/${t}/${e}`);if(!o.ok)throw new Error;s=await o.json()}catch{s=await(await fetch(`https://ether.actor/decode/${e}`)).json()}a(s)},[t,e,a]);return pe.useEffect(()=>{i()},[t,e]),me.jsx("pre",{children:JSON.stringify(n,null,2)})},oye=({name:t,indx:e,remove:r})=>me.jsxs(Xe,{children:[me.jsxs(Xe,{direction:"row",align:"center",justify:"space-between",children:[me.jsxs(rr,{variant:"body-2",children:["Action #",e," "]}),me.jsx(Sr,{onClick:()=>r(e),variant:"ghost",children:"Remove"})]}),me.jsx(So,{name:`${t}.to`,validate:eye,children:Bl({label:"Destination Contract"})}),me.jsx(So,{name:`${t}.value`,validate:tye,children:Bl({label:"Value (in ETH)",fieldProps:{type:"number"}})}),me.jsx(So,{name:`${t}.data`,children:Bl({label:"Data"})})]}),lye=T0({nonce:lb().nullable(),actions:VP(T0({to:KP,value:U1().default("0").matches(/^[0-9]+(\.[0-9]+)?$/,"Needs to be a ETH price (0, 1, or 0.23)").required(),data:U1().default("0x").matches(/^0x(?:[0-9A-Za-z][0-9A-Za-z])*$/,"Data is required to match hex format").required()}))}),YP={to:"0x",value:"0",data:"0x"},XP={nonce:null,actions:[YP]},cye=async({provider:t,safeAddress:e})=>{const r=new Hl.EthersAdapter({ethers:Ru,signerOrProvider:t.getSigner()});return await FP.create({ethAdapter:r,safeAddress:e,contractNetworks:_0})},M5=async({proposal:t,safe:e})=>{if(!t.actions)return;const r=t.actions.length===1?t.actions[0]:t==null?void 0:t.actions;return await e.createTransaction({safeTransactionData:r,options:{nonce:t.nonce||void 0}})},uye=async({proposal:t,safe:e})=>{var i;const r=await M5({proposal:t,safe:e});if(!r)throw new Error("No txn");const n=await e.getTransactionHash(r),a=await e.approveTransactionHash(n);return await((i=a.transactionResponse)==null?void 0:i.wait()),a},fye=async({proposal:t,safe:e})=>{var a;const r=await M5({proposal:t,safe:e});if(!r)throw new Error("No txn");const n=await e.executeTransaction(r);return await((a=n.transactionResponse)==null?void 0:a.wait()),n},dye=({provider:t,safeAddress:e})=>{const[r,n]=pe.useState();return pe.useEffect(()=>{if(!t||!e)return;(async()=>{const i=await cye({provider:t,safeAddress:e});n(i)})()},[t,e]),r},hye=()=>{const[t,e]=pe.useState(),[r]=Ix();return pe.useEffect(()=>{var s,o,u;const n=(s=r.get("targets"))==null?void 0:s.split("|"),a=(o=r.get("calldatas"))==null?void 0:o.split("|"),i=(u=r.get("values"))==null?void 0:u.split("|");if(n&&a){if(n.length!==a.length||i!=null&&i.length&&(i==null?void 0:i.length)!==n.length){console.log("invalid lengths");return}const y=n.map((b,_)=>({to:b,data:a[_],value:i&&i[_]||"0"}));e({actions:y})}},[r,e]),t},pye=({proposal:t})=>{const e=pe.useContext(gf),r=e==null?void 0:e.safeSdk,n=e==null?void 0:e.safeSdk2,[a,i]=pe.useState([]),s=pe.useCallback(async()=>{if(!r||!n)return;const o=await M5({proposal:t,safe:r});if(!o)return;const u=await r.getTransactionHash(o),y=await n.getOwnersWhoApprovedTx(u);i(y)},[t,r,n]);return pe.useEffect(()=>{s()},[s]),{approvers:a,loadApprovers:s}},yye=()=>{const t=pe.useContext(V0),[e,r]=pe.useState();return pe.useEffect(()=>{t&&(async()=>r(await t.getSigner().getAddress()))()},[t]),e};function mye({hasApproved:t,totalApprovers:e,threshold:r}){const n=r-e;return n===0||n===1&&!t}const bye=({handleEditClicked:t,proposal:e})=>{var T;const r=pe.useContext(gf),n=pe.useContext(V0),a=dye({provider:n,safeAddress:r==null?void 0:r.address}),i=OC(),{approvers:s,loadApprovers:o}=pye({proposal:e}),u=yye(),y=pe.useCallback(async()=>{if(a)try{const k=await uye({proposal:e,safe:a});i.show({title:"Approved Txn Hash",text:`Approved with hash: ${k.hash}`}),o()}catch(k){i.show({title:"Error creating safe",text:`Message: ${k.message}`})}},[e,a,i,o]),b=pe.useCallback(async()=>{if(a)try{const k=await fye({proposal:e,safe:a});i.show({title:"Executed Txn Hash",text:`Executed with hash: ${k.hash}`}),o()}catch(k){i.show({title:"Error creating safe",text:`Message: ${k.message}`})}},[e,a,i,o]),_=u?s.includes(u):!1,A=mye({hasApproved:_,totalApprovers:s.length,threshold:(r==null?void 0:r.threshold)||0});return me.jsxs(me.Fragment,{children:[me.jsxs(Xe,{children:[me.jsxs(Xe.Item,{children:["Nonce: ",e.nonce]}),(T=e.actions)==null?void 0:T.map((k,C)=>me.jsxs(me.Fragment,{children:[me.jsxs(Xe.Item,{children:["Proposal #",C]}),me.jsxs(Xe.Item,{children:["To: ",k.to]}),me.jsxs(Xe.Item,{children:["Value: ",k.value]}),k.data?me.jsxs(me.Fragment,{children:[me.jsxs(Xe.Item,{children:["Data: ",k.data]}),me.jsxs(Xe.Item,{children:["Data Actions:"," ",me.jsx("pre",{children:me.jsx(sye,{data:k.data,to:k.to})})]})]}):me.jsx(Xe.Item,{children:"No data"})]}))]}),me.jsxs(Xe,{children:[me.jsxs(Xe.Item,{children:["Approvers: (",s.length," out of ",r==null?void 0:r.threshold," ","signed)"]}),s.map(k=>me.jsxs(Xe.Item,{children:[k," ",me.jsx("b",{children:k===u&&"(you)"})]},k))]}),me.jsxs(Xe,{gap:4,direction:"row",children:[me.jsx(Sr,{onClick:t,children:"Edit"}),me.jsx(Sr,{onClick:y,disabled:_,children:"Sign"}),me.jsx(Sr,{onClick:b,disabled:!A,children:"Sign and Execute"})]})]})},vye=({proposal:t,setProposal:e,setIsEditing:r})=>{const n=pe.useCallback(i=>{e(i),r(!1)},[r,e]),a=t||XP;return me.jsx(Ux,{children:me.jsx(Ty,{validationSchema:lye,initialValues:a,onSubmit:n,children:({handleSubmit:i,values:s,isValid:o})=>me.jsx("form",{onSubmit:i,children:me.jsxs(Xe,{gap:4,children:[me.jsx(Xe.Item,{children:me.jsx(rr,{variant:"featured-2",children:"New Proposal Details"})}),me.jsx(Xe.Item,{children:me.jsx(So,{name:"nonce",children:Bl({label:"Nonce (optional)",fieldProps:{type:"number"}})})}),me.jsx(xT,{name:"actions",children:u=>{var y;return me.jsxs(me.Fragment,{children:[(y=s.actions)==null?void 0:y.map((b,_)=>me.jsx(oye,{remove:u.remove,indx:_,name:`actions.${_}`})),me.jsxs(Xe,{direction:"row",justify:"space-between",children:[me.jsx(Xe,{children:" "}),me.jsx(Sr,{onClick:u.handlePush(YP),children:"Add"})]})]})}}),me.jsx(Xe.Item,{children:me.jsx(Sr,{disabled:!o,type:"submit",children:"Done"})})]})})})})},gye=()=>{const[t,e]=pe.useState(XP),[r,n]=pe.useState(!0),a=hye();pe.useEffect(()=>{a&&(e(a),n(!1))},[a]);const i=pe.useCallback(s=>{n(!0),s.preventDefault()},[n]);return me.jsx(Xe,{paddingTop:4,paddingBottom:8,gap:8,children:me.jsxs(JP,{children:[r&&me.jsx(vye,{proposal:t,setProposal:e,setIsEditing:n}),!r&&t&&me.jsx(bye,{proposal:t,handleEditClicked:i})]})})},xye=OR([{path:"/",Component:Mee,children:[{path:"/",index:!0,Component:kee},{path:"/create",Component:e1e},{path:"/safe/:networkId/:safeAddress",Component:Ype,children:[{path:"/safe/:networkId/:safeAddress",index:!0,Component:JP},{path:"/safe/:networkId/:safeAddress/new",index:!0,Component:gye}]}]}]),wye=()=>me.jsx(kL,{theme:"reshaped",children:me.jsx(nL,{width:"624px",children:me.jsx(GR,{router:xye})})}),_ye=document.getElementById("app"),Eye=GS(_ye);Eye.render(me.jsx(pe.StrictMode,{children:me.jsx(wye,{})}))});export default Aye(); diff --git a/index.65c2cb26.css b/index.65c2cb26.css deleted file mode 100644 index d2987f0..0000000 --- a/index.65c2cb26.css +++ /dev/null @@ -1,2 +0,0 @@ -:root{--font-family:system-ui,-apple-system,"Segoe UI","Roboto","Ubuntu","Cantarell","Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--line-height:1.5;--font-weight:400;--font-size:16px;--border-radius:.25rem;--border-width:1px;--outline-width:3px;--spacing:1rem;--typography-spacing-vertical:1.5rem;--block-spacing-vertical:calc(var(--spacing)*2);--block-spacing-horizontal:var(--spacing);--grid-spacing-vertical:0;--grid-spacing-horizontal:var(--spacing);--form-element-spacing-vertical:.75rem;--form-element-spacing-horizontal:1rem;--nav-element-spacing-vertical:1rem;--nav-element-spacing-horizontal:.5rem;--nav-link-spacing-vertical:.5rem;--nav-link-spacing-horizontal:.5rem;--form-label-font-weight:var(--font-weight);--transition:.2s ease-in-out;--modal-overlay-backdrop-filter:blur(.25rem)}@media (width>=576px){:root{--font-size:17px}}@media (width>=768px){:root{--font-size:18px}}@media (width>=992px){:root{--font-size:19px}}@media (width>=1200px){:root{--font-size:20px}}@media (width>=576px){body>footer,body>header,body>main,section{--block-spacing-vertical:calc(var(--spacing)*2.5)}}@media (width>=768px){body>footer,body>header,body>main,section{--block-spacing-vertical:calc(var(--spacing)*3)}}@media (width>=992px){body>footer,body>header,body>main,section{--block-spacing-vertical:calc(var(--spacing)*3.5)}}@media (width>=1200px){body>footer,body>header,body>main,section{--block-spacing-vertical:calc(var(--spacing)*4)}}@media (width>=576px){article{--block-spacing-horizontal:calc(var(--spacing)*1.25)}}@media (width>=768px){article{--block-spacing-horizontal:calc(var(--spacing)*1.5)}}@media (width>=992px){article{--block-spacing-horizontal:calc(var(--spacing)*1.75)}}@media (width>=1200px){article{--block-spacing-horizontal:calc(var(--spacing)*2)}}dialog>article{--block-spacing-vertical:calc(var(--spacing)*2);--block-spacing-horizontal:var(--spacing)}@media (width>=576px){dialog>article{--block-spacing-vertical:calc(var(--spacing)*2.5);--block-spacing-horizontal:calc(var(--spacing)*1.25)}}@media (width>=768px){dialog>article{--block-spacing-vertical:calc(var(--spacing)*3);--block-spacing-horizontal:calc(var(--spacing)*1.5)}}a{--text-decoration:none}a.contrast,a.secondary{--text-decoration:underline}small{--font-size:.875em}h1,h2,h3,h4,h5,h6{--font-weight:700}h1{--font-size:2rem;--typography-spacing-vertical:3rem}h2{--font-size:1.75rem;--typography-spacing-vertical:2.625rem}h3{--font-size:1.5rem;--typography-spacing-vertical:2.25rem}h4{--font-size:1.25rem;--typography-spacing-vertical:1.874rem}h5{--font-size:1.125rem;--typography-spacing-vertical:1.6875rem}[type=checkbox],[type=radio]{--border-width:2px}[type=checkbox][role=switch],tfoot td,tfoot th,thead td,thead th{--border-width:3px}:not(thead,tfoot)>*>td{--font-size:.875em}code,kbd,pre,samp{--font-family:"Menlo","Consolas","Roboto Mono","Ubuntu Monospace","Noto Mono","Oxygen Mono","Liberation Mono",monospace,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"}kbd{--font-weight:bolder}:root:not([data-theme=dark]),[data-theme=light]{--background-color:#fff;--color:#415462;--h1-color:#1b2832;--h2-color:#24333e;--h3-color:#2c3d49;--h4-color:#374956;--h5-color:#415462;--h6-color:#4d606d;--muted-color:#73828c;--muted-border-color:#edf0f3;--primary:#1095c1;--primary-hover:#08769b;--primary-focus:#1095c120;--primary-inverse:#fff;--secondary:#596b78;--secondary-hover:#415462;--secondary-focus:#596b7820;--secondary-inverse:#fff;--contrast:#1b2832;--contrast-hover:#000;--contrast-focus:#596b7820;--contrast-inverse:#fff;--mark-background-color:#fff2ca;--mark-color:#543a26;--ins-color:#388e3c;--del-color:#c62828;--blockquote-border-color:var(--muted-border-color);--blockquote-footer-color:var(--muted-color);--button-box-shadow:0 0 0 #0000;--button-hover-box-shadow:0 0 0 #0000;--form-element-background-color:transparent;--form-element-border-color:#a2afb9;--form-element-color:var(--color);--form-element-placeholder-color:var(--muted-color);--form-element-active-background-color:transparent;--form-element-active-border-color:var(--primary);--form-element-focus-color:var(--primary-focus);--form-element-disabled-background-color:#d5dce2;--form-element-disabled-border-color:#a2afb9;--form-element-disabled-opacity:.5;--form-element-invalid-border-color:#c62828;--form-element-invalid-active-border-color:#d32f2f;--form-element-invalid-focus-color:#d32f2f20;--form-element-valid-border-color:#388e3c;--form-element-valid-active-border-color:#43a047;--form-element-valid-focus-color:#43a04720;--switch-background-color:#bbc6ce;--switch-color:var(--primary-inverse);--switch-checked-background-color:var(--primary);--range-border-color:#d5dce2;--range-active-border-color:#bbc6ce;--range-thumb-border-color:var(--background-color);--range-thumb-color:var(--secondary);--range-thumb-hover-color:var(--secondary-hover);--range-thumb-active-color:var(--primary);--table-border-color:var(--muted-border-color);--table-row-stripped-background-color:#f6f8f9;--code-background-color:#edf0f3;--code-color:var(--muted-color);--code-kbd-background-color:var(--contrast);--code-kbd-color:var(--contrast-inverse);--code-tag-color:#b34d80;--code-property-color:#3d888f;--code-value-color:#986;--code-comment-color:#a2afb9;--accordion-border-color:var(--muted-border-color);--accordion-close-summary-color:var(--color);--accordion-open-summary-color:var(--muted-color);--card-background-color:var(--background-color);--card-border-color:var(--muted-border-color);--card-box-shadow:.0145rem .029rem .174rem #1b283204,.0335rem .067rem .402rem #1b283206,.0625rem .125rem .75rem #1b283208,.1125rem .225rem 1.35rem #1b283209,.2085rem .417rem 2.502rem #1b28320b,.5rem 1rem 6rem #1b28320f,0 0 0 .0625rem #1b283204;--card-sectionning-background-color:#fbfbfc;--dropdown-background-color:#fbfbfc;--dropdown-border-color:#e1e6eb;--dropdown-box-shadow:var(--card-box-shadow);--dropdown-color:var(--color);--dropdown-hover-background-color:#edf0f3;--modal-overlay-background-color:#d5dce2b3;--progress-background-color:#d5dce2;--progress-color:var(--primary);--loading-spinner-opacity:.5;--tooltip-background-color:var(--contrast);--tooltip-color:var(--contrast-inverse);--icon-checkbox:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron-button:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron-button-inverse:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");--icon-date:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(198, 40, 40)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");--icon-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");--icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");--icon-time:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");--icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(56, 142, 60)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");color-scheme:light}@media only screen and (prefers-color-scheme:dark){:root:not([data-theme]){--background-color:#11191f;--color:#bbc6ce;--h1-color:#edf0f3;--h2-color:#e1e6eb;--h3-color:#d5dce2;--h4-color:#c8d1d8;--h5-color:#bbc6ce;--h6-color:#afbbc4;--muted-color:#73828c;--muted-border-color:#1f2d38;--primary:#1095c1;--primary-hover:#1ab3e6;--primary-focus:#1095c140;--primary-inverse:#fff;--secondary:#596b78;--secondary-hover:#73828c;--secondary-focus:#73828c40;--secondary-inverse:#fff;--contrast:#edf0f3;--contrast-hover:#fff;--contrast-focus:#73828c40;--contrast-inverse:#000;--mark-background-color:#d1c284;--mark-color:#11191f;--ins-color:#388e3c;--del-color:#c62828;--blockquote-border-color:var(--muted-border-color);--blockquote-footer-color:var(--muted-color);--button-box-shadow:0 0 0 #0000;--button-hover-box-shadow:0 0 0 #0000;--form-element-background-color:#11191f;--form-element-border-color:#374956;--form-element-color:var(--color);--form-element-placeholder-color:var(--muted-color);--form-element-active-background-color:var(--form-element-background-color);--form-element-active-border-color:var(--primary);--form-element-focus-color:var(--primary-focus);--form-element-disabled-background-color:#2c3d49;--form-element-disabled-border-color:#415462;--form-element-disabled-opacity:.5;--form-element-invalid-border-color:#b71c1c;--form-element-invalid-active-border-color:#c62828;--form-element-invalid-focus-color:#c6282840;--form-element-valid-border-color:#2e7d32;--form-element-valid-active-border-color:#388e3c;--form-element-valid-focus-color:#388e3c40;--switch-background-color:#374956;--switch-color:var(--primary-inverse);--switch-checked-background-color:var(--primary);--range-border-color:#24333e;--range-active-border-color:#2c3d49;--range-thumb-border-color:var(--background-color);--range-thumb-color:var(--secondary);--range-thumb-hover-color:var(--secondary-hover);--range-thumb-active-color:var(--primary);--table-border-color:var(--muted-border-color);--table-row-stripped-background-color:#73828c0d;--code-background-color:#18232c;--code-color:var(--muted-color);--code-kbd-background-color:var(--contrast);--code-kbd-color:var(--contrast-inverse);--code-tag-color:#a65980;--code-property-color:#599fa6;--code-value-color:#8c8473;--code-comment-color:#4d606d;--accordion-border-color:var(--muted-border-color);--accordion-active-summary-color:var(--primary);--accordion-close-summary-color:var(--color);--accordion-open-summary-color:var(--muted-color);--card-background-color:#141e26;--card-border-color:var(--card-background-color);--card-box-shadow:.0145rem .029rem .174rem #00000004,.0335rem .067rem .402rem #00000006,.0625rem .125rem .75rem #00000008,.1125rem .225rem 1.35rem #00000009,.2085rem .417rem 2.502rem #0000000b,.5rem 1rem 6rem #0000000f,0 0 0 .0625rem #00000004;--card-sectionning-background-color:#18232c;--dropdown-background-color:#1b2832;--dropdown-border-color:#24333e;--dropdown-box-shadow:var(--card-box-shadow);--dropdown-color:var(--color);--dropdown-hover-background-color:#24333ebf;--modal-overlay-background-color:#24333ecc;--progress-background-color:#24333e;--progress-color:var(--primary);--loading-spinner-opacity:.5;--tooltip-background-color:var(--contrast);--tooltip-color:var(--contrast-inverse);--icon-checkbox:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron-button:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron-button-inverse:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(0, 0, 0)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");--icon-date:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(183, 28, 28)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");--icon-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");--icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");--icon-time:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");--icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(46, 125, 50)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");color-scheme:dark}}[data-theme=dark]{--background-color:#11191f;--color:#bbc6ce;--h1-color:#edf0f3;--h2-color:#e1e6eb;--h3-color:#d5dce2;--h4-color:#c8d1d8;--h5-color:#bbc6ce;--h6-color:#afbbc4;--muted-color:#73828c;--muted-border-color:#1f2d38;--primary:#1095c1;--primary-hover:#1ab3e6;--primary-focus:#1095c140;--primary-inverse:#fff;--secondary:#596b78;--secondary-hover:#73828c;--secondary-focus:#73828c40;--secondary-inverse:#fff;--contrast:#edf0f3;--contrast-hover:#fff;--contrast-focus:#73828c40;--contrast-inverse:#000;--mark-background-color:#d1c284;--mark-color:#11191f;--ins-color:#388e3c;--del-color:#c62828;--blockquote-border-color:var(--muted-border-color);--blockquote-footer-color:var(--muted-color);--button-box-shadow:0 0 0 #0000;--button-hover-box-shadow:0 0 0 #0000;--form-element-background-color:#11191f;--form-element-border-color:#374956;--form-element-color:var(--color);--form-element-placeholder-color:var(--muted-color);--form-element-active-background-color:var(--form-element-background-color);--form-element-active-border-color:var(--primary);--form-element-focus-color:var(--primary-focus);--form-element-disabled-background-color:#2c3d49;--form-element-disabled-border-color:#415462;--form-element-disabled-opacity:.5;--form-element-invalid-border-color:#b71c1c;--form-element-invalid-active-border-color:#c62828;--form-element-invalid-focus-color:#c6282840;--form-element-valid-border-color:#2e7d32;--form-element-valid-active-border-color:#388e3c;--form-element-valid-focus-color:#388e3c40;--switch-background-color:#374956;--switch-color:var(--primary-inverse);--switch-checked-background-color:var(--primary);--range-border-color:#24333e;--range-active-border-color:#2c3d49;--range-thumb-border-color:var(--background-color);--range-thumb-color:var(--secondary);--range-thumb-hover-color:var(--secondary-hover);--range-thumb-active-color:var(--primary);--table-border-color:var(--muted-border-color);--table-row-stripped-background-color:#73828c0d;--code-background-color:#18232c;--code-color:var(--muted-color);--code-kbd-background-color:var(--contrast);--code-kbd-color:var(--contrast-inverse);--code-tag-color:#a65980;--code-property-color:#599fa6;--code-value-color:#8c8473;--code-comment-color:#4d606d;--accordion-border-color:var(--muted-border-color);--accordion-active-summary-color:var(--primary);--accordion-close-summary-color:var(--color);--accordion-open-summary-color:var(--muted-color);--card-background-color:#141e26;--card-border-color:var(--card-background-color);--card-box-shadow:.0145rem .029rem .174rem #00000004,.0335rem .067rem .402rem #00000006,.0625rem .125rem .75rem #00000008,.1125rem .225rem 1.35rem #00000009,.2085rem .417rem 2.502rem #0000000b,.5rem 1rem 6rem #0000000f,0 0 0 .0625rem #00000004;--card-sectionning-background-color:#18232c;--dropdown-background-color:#1b2832;--dropdown-border-color:#24333e;--dropdown-box-shadow:var(--card-box-shadow);--dropdown-color:var(--color);--dropdown-hover-background-color:#24333ebf;--modal-overlay-background-color:#24333ecc;--progress-background-color:#24333e;--progress-color:var(--primary);--loading-spinner-opacity:.5;--tooltip-background-color:var(--contrast);--tooltip-color:var(--contrast-inverse);--icon-checkbox:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron-button:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-chevron-button-inverse:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(0, 0, 0)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--icon-close:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E");--icon-date:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E");--icon-invalid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(183, 28, 28)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E");--icon-minus:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E");--icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E");--icon-time:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E");--icon-valid:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(46, 125, 50)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");color-scheme:dark}[type=checkbox],[type=radio],[type=range],progress{accent-color:var(--primary)}*,:after,:before{box-sizing:border-box;background-repeat:no-repeat}:after,:before{-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit;vertical-align:inherit}:where(:root){-webkit-tap-highlight-color:transparent;-moz-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--background-color);color:var(--color);font-weight:var(--font-weight);font-size:var(--font-size);line-height:var(--line-height);font-family:var(--font-family);text-rendering:optimizelegibility;overflow-wrap:break-word;cursor:default;tab-size:4}main{display:block}body{width:100%;margin:0}body>footer,body>header,body>main{padding:var(--block-spacing-vertical)0;width:100%;margin-left:auto;margin-right:auto}.container,.container-fluid{padding-right:var(--spacing);padding-left:var(--spacing);width:100%;margin-left:auto;margin-right:auto}@media (width>=576px){.container{max-width:510px;padding-left:0;padding-right:0}}@media (width>=768px){.container{max-width:700px}}@media (width>=992px){.container{max-width:920px}}@media (width>=1200px){.container{max-width:1130px}}section{margin-bottom:var(--block-spacing-vertical)}.grid{grid-column-gap:var(--grid-spacing-horizontal);grid-row-gap:var(--grid-spacing-vertical);grid-template-columns:1fr;margin:0;display:grid}@media (width>=992px){.grid{grid-template-columns:repeat(auto-fit,minmax(0%,1fr))}}.grid>*{min-width:0}figure{margin:0;padding:0;display:block;overflow-x:auto}figure figcaption{padding:calc(var(--spacing)*.5)0;color:var(--muted-color)}b,strong{font-weight:bolder}sub,sup{vertical-align:baseline;font-size:.75em;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}address,blockquote,dl,figure,form,ol,p,pre,table,ul{margin-top:0;margin-bottom:var(--typography-spacing-vertical);color:var(--color);font-style:normal;font-weight:var(--font-weight);font-size:var(--font-size)}[role=link],a{--color:var(--primary);--background-color:transparent;background-color:var(--background-color);color:var(--color);-webkit-text-decoration:var(--text-decoration);-webkit-text-decoration:var(--text-decoration);-webkit-text-decoration:var(--text-decoration);text-decoration:var(--text-decoration);transition:background-color var(--transition),color var(--transition),box-shadow var(--transition),-webkit-text-decoration var(--transition);transition:background-color var(--transition),color var(--transition),text-decoration var(--transition),box-shadow var(--transition);transition:background-color var(--transition),color var(--transition),text-decoration var(--transition),box-shadow var(--transition),-webkit-text-decoration var(--transition);outline:0}[role=link]:is([aria-current],:hover,:active,:focus),a:is([aria-current],:hover,:active,:focus){--color:var(--primary-hover);--text-decoration:underline}[role=link]:focus,a:focus{--background-color:var(--primary-focus)}[role=link].secondary,a.secondary{--color:var(--secondary)}[role=link].secondary:is([aria-current],:hover,:active,:focus),a.secondary:is([aria-current],:hover,:active,:focus){--color:var(--secondary-hover)}[role=link].secondary:focus,a.secondary:focus{--background-color:var(--secondary-focus)}[role=link].contrast,a.contrast{--color:var(--contrast)}[role=link].contrast:is([aria-current],:hover,:active,:focus),a.contrast:is([aria-current],:hover,:active,:focus){--color:var(--contrast-hover)}[role=link].contrast:focus,a.contrast:focus{--background-color:var(--contrast-focus)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--typography-spacing-vertical);color:var(--color);font-weight:var(--font-weight);font-size:var(--font-size);font-family:var(--font-family)}h1{--color:var(--h1-color)}h2{--color:var(--h2-color)}h3{--color:var(--h3-color)}h4{--color:var(--h4-color)}h5{--color:var(--h5-color)}h6{--color:var(--h6-color)}:where(address,blockquote,dl,figure,form,ol,p,pre,table,ul)~:is(h1,h2,h3,h4,h5,h6){margin-top:var(--typography-spacing-vertical)}.headings,hgroup{margin-bottom:var(--typography-spacing-vertical)}.headings>*,hgroup>*{margin-bottom:0}.headings>:last-child,hgroup>:last-child{--color:var(--muted-color);--font-weight:unset;font-family:unset;font-size:1rem}p{margin-bottom:var(--typography-spacing-vertical)}small{font-size:var(--font-size)}:where(dl,ol,ul){padding-right:0;padding-left:var(--spacing);-webkit-padding-start:var(--spacing);-webkit-padding-end:0;padding-inline-start:var(--spacing);padding-inline-end:0}:where(dl,ol,ul) li{margin-bottom:calc(var(--typography-spacing-vertical)*.25)}:where(dl,ol,ul) :is(dl,ol,ul){margin:0;margin-top:calc(var(--typography-spacing-vertical)*.25)}ul li{list-style:square}mark{background-color:var(--mark-background-color);color:var(--mark-color);vertical-align:baseline;padding:.125rem .25rem}blockquote{margin:var(--typography-spacing-vertical)0;padding:var(--spacing);border-right:none;border-left:.25rem solid var(--blockquote-border-color);-webkit-border-start:.25rem solid var(--blockquote-border-color);border-inline-start:.25rem solid var(--blockquote-border-color);-webkit-border-end:none;border-inline-end:none;display:block}blockquote footer{margin-top:calc(var(--typography-spacing-vertical)*.5);color:var(--blockquote-footer-color)}abbr[title]{cursor:help;border-bottom:1px dotted;text-decoration:none}ins{color:var(--ins-color);text-decoration:none}del{color:var(--del-color)}::selection{background-color:var(--primary-focus)}:where(audio,canvas,iframe,img,svg,video){vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){height:0;display:none}:where(iframe){border-style:none}img{border-style:none;max-width:100%;height:auto}:where(svg:not([fill])){fill:currentColor}svg:not(:root){overflow:hidden}button{text-transform:none;margin:0;font-family:inherit;overflow:visible}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}button{margin-bottom:var(--spacing);width:100%;display:block}[role=button]{text-decoration:none;display:inline-block}[role=button],button,input[type=button],input[type=reset],input[type=submit]{--background-color:var(--primary);--border-color:var(--primary);--color:var(--primary-inverse);--box-shadow:var(--button-box-shadow,0 0 0 #0000);padding:var(--form-element-spacing-vertical)var(--form-element-spacing-horizontal);border:var(--border-width)solid var(--border-color);border-radius:var(--border-radius);background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);font-size:1rem;line-height:var(--line-height);text-align:center;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);outline:0}[role=button]:is([aria-current],:hover,:active,:focus),button:is([aria-current],:hover,:active,:focus),input[type=button]:is([aria-current],:hover,:active,:focus),input[type=reset]:is([aria-current],:hover,:active,:focus),input[type=submit]:is([aria-current],:hover,:active,:focus){--background-color:var(--primary-hover);--border-color:var(--primary-hover);--box-shadow:var(--button-hover-box-shadow,0 0 0 #0000);--color:var(--primary-inverse)}[role=button]:focus,button:focus,input[type=button]:focus,input[type=reset]:focus,input[type=submit]:focus{--box-shadow:var(--button-hover-box-shadow,0 0 0 #0000),0 0 0 var(--outline-width)var(--primary-focus)}:is(button,input[type=submit],input[type=button],[role=button]).secondary,input[type=reset]{--background-color:var(--secondary);--border-color:var(--secondary);--color:var(--secondary-inverse);cursor:pointer}:is(button,input[type=submit],input[type=button],[role=button]).secondary:is([aria-current],:hover,:active,:focus),input[type=reset]:is([aria-current],:hover,:active,:focus){--background-color:var(--secondary-hover);--border-color:var(--secondary-hover);--color:var(--secondary-inverse)}:is(button,input[type=submit],input[type=button],[role=button]).secondary:focus,input[type=reset]:focus{--box-shadow:var(--button-hover-box-shadow,0 0 0 #0000),0 0 0 var(--outline-width)var(--secondary-focus)}:is(button,input[type=submit],input[type=button],[role=button]).contrast{--background-color:var(--contrast);--border-color:var(--contrast);--color:var(--contrast-inverse)}:is(button,input[type=submit],input[type=button],[role=button]).contrast:is([aria-current],:hover,:active,:focus){--background-color:var(--contrast-hover);--border-color:var(--contrast-hover);--color:var(--contrast-inverse)}:is(button,input[type=submit],input[type=button],[role=button]).contrast:focus{--box-shadow:var(--button-hover-box-shadow,0 0 0 #0000),0 0 0 var(--outline-width)var(--contrast-focus)}:is(button,input[type=submit],input[type=button],[role=button]).outline,input[type=reset].outline{--background-color:transparent;--color:var(--primary)}:is(button,input[type=submit],input[type=button],[role=button]).outline:is([aria-current],:hover,:active,:focus),input[type=reset].outline:is([aria-current],:hover,:active,:focus){--background-color:transparent;--color:var(--primary-hover)}:is(button,input[type=submit],input[type=button],[role=button]).outline.secondary,input[type=reset].outline{--color:var(--secondary)}:is(button,input[type=submit],input[type=button],[role=button]).outline.secondary:is([aria-current],:hover,:active,:focus),input[type=reset].outline:is([aria-current],:hover,:active,:focus){--color:var(--secondary-hover)}:is(button,input[type=submit],input[type=button],[role=button]).outline.contrast{--color:var(--contrast)}:is(button,input[type=submit],input[type=button],[role=button]).outline.contrast:is([aria-current],:hover,:active,:focus){--color:var(--contrast-hover)}:where(button,[type=submit],[type=button],[type=reset],[role=button])[disabled],:where(fieldset[disabled]) :is(button,[type=submit],[type=button],[type=reset],[role=button]),a[role=button]:not([href]){opacity:.5;pointer-events:none}input,optgroup,select,textarea{font-size:1rem;line-height:var(--line-height);letter-spacing:inherit;margin:0;font-family:inherit}input{overflow:visible}select{text-transform:none}legend{color:inherit;white-space:normal;max-width:100%;padding:0}textarea{overflow:auto}[type=checkbox],[type=radio]{padding:0}:is(){height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:0}:-moz-ui-invalid{box-shadow:none}::-ms-expand{display:none}[type=file],[type=range]{border-width:0;padding:0}input:not([type=checkbox],[type=radio],[type=range]){height:calc(1rem*var(--line-height) + var(--form-element-spacing-vertical)*2 + var(--border-width)*2)}fieldset{margin:0;margin-bottom:var(--spacing);border:0;padding:0}fieldset legend,label{margin-bottom:calc(var(--spacing)*.25);font-weight:var(--form-label-font-weight,var(--font-weight));display:block}input:not([type=checkbox],[type=radio]),select,textarea{width:100%}input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea{appearance:none;padding:var(--form-element-spacing-vertical)var(--form-element-spacing-horizontal)}input,select,textarea{--background-color:var(--form-element-background-color);--border-color:var(--form-element-border-color);--color:var(--form-element-color);--box-shadow:none;border:var(--border-width)solid var(--border-color);border-radius:var(--border-radius);background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);outline:0}:where(select,textarea):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[readonly]):is(:active,:focus){--background-color:var(--form-element-active-background-color)}:where(select,textarea):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[role=switch],[readonly]):is(:active,:focus){--border-color:var(--form-element-active-border-color)}input:not([type=submit],[type=button],[type=reset],[type=range],[type=file],[readonly]):focus,select:focus,textarea:focus{--box-shadow:0 0 0 var(--outline-width)var(--form-element-focus-color)}:where(fieldset[disabled]) :is(input:not([type=submit],[type=button],[type=reset]),select,textarea),input:not([type=submit],[type=button],[type=reset])[disabled],select[disabled],textarea[disabled]{--background-color:var(--form-element-disabled-background-color);--border-color:var(--form-element-disabled-border-color);opacity:var(--form-element-disabled-opacity);pointer-events:none}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])[aria-invalid]{padding-left:var(--form-element-spacing-horizontal);background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;padding-right:calc(var(--form-element-spacing-horizontal) + 1.5rem)!important;-webkit-padding-start:var(--form-element-spacing-horizontal)!important;-webkit-padding-end:calc(var(--form-element-spacing-horizontal) + 1.5rem)!important;padding-inline-start:var(--form-element-spacing-horizontal)!important;padding-inline-end:calc(var(--form-element-spacing-horizontal) + 1.5rem)!important}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])[aria-invalid=false]{background-image:var(--icon-valid)}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])[aria-invalid=true]{background-image:var(--icon-invalid)}:where(input,select,textarea)[aria-invalid=false]{--border-color:var(--form-element-valid-border-color)}:where(input,select,textarea)[aria-invalid=false]:is(:active,:focus){--border-color:var(--form-element-valid-active-border-color)!important;--box-shadow:0 0 0 var(--outline-width)var(--form-element-valid-focus-color)!important}:where(input,select,textarea)[aria-invalid=true]{--border-color:var(--form-element-invalid-border-color)}:where(input,select,textarea)[aria-invalid=true]:is(:active,:focus){--border-color:var(--form-element-invalid-active-border-color)!important;--box-shadow:0 0 0 var(--outline-width)var(--form-element-invalid-focus-color)!important}[dir=rtl] :where(input,select,textarea):not([type=checkbox],[type=radio]):is([aria-invalid],[aria-invalid=true],[aria-invalid=false]){background-position:.75rem}input::placeholder,select:invalid,textarea::placeholder{color:var(--form-element-placeholder-color);opacity:1}input::-webkit-input-placeholder{color:var(--form-element-placeholder-color);opacity:1}input:not([type=checkbox],[type=radio]),select,textarea{margin-bottom:var(--spacing)}select::-ms-expand{background-color:#0000;border:0}select:not([multiple],[size]){padding-right:calc(var(--form-element-spacing-horizontal) + 1.5rem);padding-left:var(--form-element-spacing-horizontal);-webkit-padding-start:var(--form-element-spacing-horizontal);-webkit-padding-end:calc(var(--form-element-spacing-horizontal) + 1.5rem);background-image:var(--icon-chevron);background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;padding-inline-start:var(--form-element-spacing-horizontal);padding-inline-end:calc(var(--form-element-spacing-horizontal) + 1.5rem)}[dir=rtl] select:not([multiple],[size]){background-position:.75rem}:where(input,select,textarea,.grid)+small{margin-top:calc(var(--spacing)*-.75);margin-bottom:var(--spacing);color:var(--muted-color);width:100%;display:block}label>:where(input,select,textarea){margin-top:calc(var(--spacing)*.25)}[type=checkbox],[type=radio]{appearance:none;-webkit-margin-start:0;-webkit-margin-end:.375em;border-width:var(--border-width);font-size:inherit;vertical-align:middle;cursor:pointer;margin-top:-.125em;margin-left:0;margin-right:.375em;width:1.25em;height:1.25em;margin-inline:0 .375em}:is(){display:none}[type=checkbox]:checked,[type=checkbox]:checked:active,[type=checkbox]:checked:focus,[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--background-color:var(--primary);--border-color:var(--primary);background-image:var(--icon-checkbox);background-position:50%;background-repeat:no-repeat;background-size:.75em}[type=checkbox]~label,[type=radio]~label{cursor:pointer;margin-bottom:0;margin-right:.375em;display:inline-block}[type=checkbox]:indeterminate{--background-color:var(--primary);--border-color:var(--primary);background-image:var(--icon-minus);background-position:50%;background-repeat:no-repeat;background-size:.75em}[type=radio]{border-radius:50%}[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--background-color:var(--primary-inverse);background-image:none;border-width:.35em}[type=checkbox][role=switch]{--background-color:var(--switch-background-color);--border-color:var(--switch-background-color);--color:var(--switch-color);border:var(--border-width)solid var(--border-color);background-color:var(--background-color);border-radius:1.25em;width:2.25em;height:1.25em;line-height:1.25em}[type=checkbox][role=switch]:focus{--background-color:var(--switch-background-color);--border-color:var(--switch-background-color)}[type=checkbox][role=switch]:checked{--background-color:var(--switch-checked-background-color);--border-color:var(--switch-checked-background-color)}[type=checkbox][role=switch]:before{width:calc(1.25em - (var(--border-width)*2));background-color:var(--color);content:"";border-radius:50%;height:100%;transition:margin .1s ease-in-out;display:block}[type=checkbox][role=switch]:checked{background-image:none}[type=checkbox][role=switch]:checked:before{margin-left:calc(1.125em - var(--border-width));-webkit-margin-start:calc(1.125em - var(--border-width));margin-inline-start:calc(1.125em - var(--border-width))}[type=checkbox]:checked[aria-invalid=false],[type=checkbox][aria-invalid=false],[type=checkbox][role=switch]:checked[aria-invalid=false],[type=checkbox][role=switch][aria-invalid=false],[type=radio]:checked[aria-invalid=false],[type=radio][aria-invalid=false]{--border-color:var(--form-element-valid-border-color)}[type=checkbox]:checked[aria-invalid=true],[type=checkbox][aria-invalid=true],[type=checkbox][role=switch]:checked[aria-invalid=true],[type=checkbox][role=switch][aria-invalid=true],[type=radio]:checked[aria-invalid=true],[type=radio][aria-invalid=true]{--border-color:var(--form-element-invalid-border-color)}[type=color]::-webkit-color-swatch-wrapper{padding:0}[type=color]::-moz-focus-inner{padding:0}[type=color]::-webkit-color-swatch{border-radius:calc(var(--border-radius)*.5);border:0}[type=color]::-moz-color-swatch{border-radius:calc(var(--border-radius)*.5);border:0}input:not([type=checkbox],[type=radio],[type=range],[type=file]):is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){--icon-position:.75rem;--icon-width:1rem;padding-right:calc(var(--icon-width) + var(--icon-position));background-image:var(--icon-date);background-position:center right var(--icon-position);background-size:var(--icon-width)auto;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=time]{background-image:var(--icon-time)}:is(){width:var(--icon-width);margin-right:calc(var(--icon-width)*-1);margin-left:var(--icon-position);opacity:0}[dir=rtl] :is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){text-align:right}@-moz-document url-prefix(){[type=date],[type=datetime-local],[type=month],[type=time],[type=week]{padding-right:var(--form-element-spacing-horizontal)!important;background-image:none!important}}[type=file]{--color:var(--muted-color);padding:calc(var(--form-element-spacing-vertical)*.5)0;background:0 0;border:0;border-radius:0}[type=file]::file-selector-button{--background-color:var(--secondary);--border-color:var(--secondary);--color:var(--secondary-inverse);margin-right:calc(var(--spacing)/2);-webkit-margin-start:0;-webkit-margin-end:calc(var(--spacing)/2);padding:calc(var(--form-element-spacing-vertical)*.5)calc(var(--form-element-spacing-horizontal)*.5);border:var(--border-width)solid var(--border-color);border-radius:var(--border-radius);background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);font-size:1rem;line-height:var(--line-height);text-align:center;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);margin-left:0;outline:0;margin-inline-start:0;margin-inline-end:calc(var(--spacing)/2)}[type=file]::file-selector-button:is(:hover,:active,:focus){--background-color:var(--secondary-hover);--border-color:var(--secondary-hover)}[type=file]::-webkit-file-upload-button{--background-color:var(--secondary);--border-color:var(--secondary);--color:var(--secondary-inverse);margin-right:calc(var(--spacing)/2);-webkit-margin-start:0;-webkit-margin-end:calc(var(--spacing)/2);padding:calc(var(--form-element-spacing-vertical)*.5)calc(var(--form-element-spacing-horizontal)*.5);border:var(--border-width)solid var(--border-color);border-radius:var(--border-radius);background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);font-size:1rem;line-height:var(--line-height);text-align:center;cursor:pointer;-webkit-transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);margin-left:0;outline:0;margin-inline-start:0;margin-inline-end:calc(var(--spacing)/2)}[type=file]::-webkit-file-upload-button:is(:hover,:active,:focus){--background-color:var(--secondary-hover);--border-color:var(--secondary-hover)}[type=file]::-ms-browse{--background-color:var(--secondary);--border-color:var(--secondary);--color:var(--secondary-inverse);margin-right:calc(var(--spacing)/2);padding:calc(var(--form-element-spacing-vertical)*.5)calc(var(--form-element-spacing-horizontal)*.5);border:var(--border-width)solid var(--border-color);border-radius:var(--border-radius);background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);font-size:1rem;line-height:var(--line-height);text-align:center;cursor:pointer;-ms-transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);margin-left:0;outline:0;margin-inline-start:0;margin-inline-end:calc(var(--spacing)/2)}[type=file]::-ms-browse:is(:hover,:active,:focus){--background-color:var(--secondary-hover);--border-color:var(--secondary-hover)}[type=range]{appearance:none;background:0 0;width:100%;height:1.25rem}[type=range]::-webkit-slider-runnable-track{border-radius:var(--border-radius);background-color:var(--range-border-color);-webkit-transition:background-color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),box-shadow var(--transition);width:100%;height:.25rem}[type=range]::-moz-range-track{border-radius:var(--border-radius);background-color:var(--range-border-color);-moz-transition:background-color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),box-shadow var(--transition);width:100%;height:.25rem}[type=range]::-ms-track{border-radius:var(--border-radius);background-color:var(--range-border-color);-ms-transition:background-color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),box-shadow var(--transition);width:100%;height:.25rem}[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:2px solid var(--range-thumb-border-color);background-color:var(--range-thumb-color);cursor:pointer;-webkit-transition:background-color var(--transition),transform var(--transition);transition:background-color var(--transition),transform var(--transition);border-radius:50%;width:1.25rem;height:1.25rem;margin-top:-.5rem}[type=range]::-moz-range-thumb{-webkit-appearance:none;border:2px solid var(--range-thumb-border-color);background-color:var(--range-thumb-color);cursor:pointer;-moz-transition:background-color var(--transition),transform var(--transition);transition:background-color var(--transition),transform var(--transition);border-radius:50%;width:1.25rem;height:1.25rem;margin-top:-.5rem}[type=range]::-ms-thumb{-webkit-appearance:none;border:2px solid var(--range-thumb-border-color);background-color:var(--range-thumb-color);cursor:pointer;-ms-transition:background-color var(--transition),transform var(--transition);transition:background-color var(--transition),transform var(--transition);border-radius:50%;width:1.25rem;height:1.25rem;margin-top:-.5rem}[type=range]:focus,[type=range]:hover{--range-border-color:var(--range-active-border-color);--range-thumb-color:var(--range-thumb-hover-color)}[type=range]:active{--range-thumb-color:var(--range-thumb-active-color)}[type=range]:active::-webkit-slider-thumb{transform:scale(1.25)}[type=range]:active::-moz-range-thumb{transform:scale(1.25)}[type=range]:active::-ms-thumb{transform:scale(1.25)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{-webkit-padding-start:calc(var(--form-element-spacing-horizontal) + 1.75rem);background-image:var(--icon-search);background-position:1.125rem;background-repeat:no-repeat;background-size:1rem;border-radius:5rem;padding-inline-start:calc(var(--form-element-spacing-horizontal) + 1.75rem)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{background-position:1.125rem,right .75rem center;-webkit-padding-start:calc(var(--form-element-spacing-horizontal) + 1.75rem)!important;padding-inline-start:calc(var(--form-element-spacing-horizontal) + 1.75rem)!important}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=false]{background-image:var(--icon-search),var(--icon-valid)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=true]{background-image:var(--icon-search),var(--icon-invalid)}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{background-position:right 1.125rem center}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{background-position:right 1.125rem center,.75rem}:where(table){border-collapse:collapse;border-spacing:0;text-indent:0;width:100%}td,th{padding:calc(var(--spacing)/2)var(--spacing);border-bottom:var(--border-width)solid var(--table-border-color);color:var(--color);font-weight:var(--font-weight);font-size:var(--font-size);text-align:left;text-align:start}tfoot td,tfoot th{border-top:var(--border-width)solid var(--table-border-color);border-bottom:0}table[role=grid] tbody tr:nth-child(odd){background-color:var(--table-row-stripped-background-color)}code,kbd,pre,samp{font-size:.875em;font-family:var(--font-family)}pre{-ms-overflow-style:scrollbar;overflow:auto}code,kbd,pre{border-radius:var(--border-radius);background:var(--code-background-color);color:var(--code-color);font-weight:var(--font-weight);line-height:initial}code,kbd{padding:.375rem .5rem;display:inline-block}pre{margin-bottom:var(--spacing);display:block;overflow-x:auto}pre>code{padding:var(--spacing);font-size:14px;line-height:var(--line-height);background:0 0;display:block}code b{color:var(--code-tag-color);font-weight:var(--font-weight)}code i{color:var(--code-property-color);font-style:normal}code u{color:var(--code-value-color);text-decoration:none}code em{color:var(--code-comment-color);font-style:normal}kbd{background-color:var(--code-kbd-background-color);color:var(--code-kbd-color);vertical-align:baseline}hr{border:0;border-top:1px solid var(--muted-border-color);color:inherit;height:0}[hidden],template{display:none!important}canvas{display:inline-block}details{margin-bottom:var(--spacing);padding-bottom:var(--spacing);border-bottom:var(--border-width)solid var(--accordion-border-color);display:block}details summary{cursor:pointer;transition:color var(--transition);line-height:1rem;list-style-type:none}details summary:not([role]){color:var(--accordion-close-summary-color)}details summary::-webkit-details-marker{display:none}details summary::marker{display:none}details summary::-moz-list-bullet{list-style-type:none}details summary:after{-webkit-margin-start:calc(var(--spacing,1rem)*.5);float:right;background-image:var(--icon-chevron);content:"";transition:transform var(--transition);background-position:100%;background-repeat:no-repeat;background-size:1rem;width:1rem;height:1rem;margin-inline-start:calc(var(--spacing,1rem)*.5);display:block;transform:rotate(-90deg)}details summary:focus{outline:0}details summary:focus:not([role=button]){color:var(--accordion-active-summary-color)}details summary[role=button]{text-align:left;width:100%}details summary[role=button]:after{height:calc(1rem*var(--line-height,1.5));background-image:var(--icon-chevron-button)}details summary[role=button]:not(.outline).contrast:after{background-image:var(--icon-chevron-button-inverse)}details[open]>summary{margin-bottom:calc(var(--spacing))}details[open]>summary:not([role]):not(:focus){color:var(--accordion-open-summary-color)}details[open]>summary:after{transform:rotate(0)}[dir=rtl] details summary{text-align:right}[dir=rtl] details summary:after{float:left;background-position:0}article{margin:var(--block-spacing-vertical)0;padding:var(--block-spacing-vertical)var(--block-spacing-horizontal);border-radius:var(--border-radius);background:var(--card-background-color);box-shadow:var(--card-box-shadow)}article>footer,article>header{margin-right:calc(var(--block-spacing-horizontal)*-1);margin-left:calc(var(--block-spacing-horizontal)*-1);padding:calc(var(--block-spacing-vertical)*.66)var(--block-spacing-horizontal);background-color:var(--card-sectionning-background-color)}article>header{margin-top:calc(var(--block-spacing-vertical)*-1);margin-bottom:var(--block-spacing-vertical);border-bottom:var(--border-width)solid var(--card-border-color);border-top-right-radius:var(--border-radius);border-top-left-radius:var(--border-radius)}article>footer{margin-top:var(--block-spacing-vertical);margin-bottom:calc(var(--block-spacing-vertical)*-1);border-top:var(--border-width)solid var(--card-border-color);border-bottom-right-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius)}:root{--scrollbar-width:0px}dialog{z-index:999;width:inherit;height:inherit;padding:var(--spacing);-webkit-backdrop-filter:var(--modal-overlay-backdrop-filter);backdrop-filter:var(--modal-overlay-backdrop-filter);background-color:var(--modal-overlay-background-color);color:var(--color);border:0;justify-content:center;align-items:center;min-width:100%;min-height:100%;display:flex;position:fixed;inset:0}dialog article{max-height:calc(100vh - var(--spacing)*2);overflow:auto}@media (width>=576px){dialog article{max-width:510px}}@media (width>=768px){dialog article{max-width:700px}}dialog article>footer,dialog article>header{padding:calc(var(--block-spacing-vertical)*.5)var(--block-spacing-horizontal)}dialog article>header .close{margin:0;margin-left:var(--spacing);float:right}dialog article>footer{text-align:right}dialog article>footer [role=button]{margin-bottom:0}dialog article>footer [role=button]:not(:first-of-type){margin-left:calc(var(--spacing)*.5)}dialog article p:last-of-type{margin:0}dialog article .close{margin-top:calc(var(--block-spacing-vertical)*-.5);margin-bottom:var(--typography-spacing-vertical);background-image:var(--icon-close);opacity:.5;transition:opacity var(--transition);background-position:50%;background-repeat:no-repeat;background-size:auto 1rem;width:1rem;height:1rem;margin-left:auto;display:block}dialog article .close:is([aria-current],:hover,:active,:focus){opacity:1}dialog:not([open]),dialog[open=false]{display:none}.modal-is-open{padding-right:var(--scrollbar-width,0);pointer-events:none;touch-action:none;overflow:hidden}.modal-is-open dialog{pointer-events:auto}:where(.modal-is-opening,.modal-is-closing) dialog,:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-duration:.2s;animation-timing-function:ease-in-out;animation-fill-mode:both}:where(.modal-is-opening,.modal-is-closing) dialog{animation-name:modal-overlay;animation-duration:.8s}:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-name:modal;animation-delay:.2s}.modal-is-closing dialog,.modal-is-closing dialog>article{animation-direction:reverse;animation-delay:0s}@keyframes modal-overlay{0%{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:#0000}}@keyframes modal{0%{opacity:0;transform:translateY(-100%)}}:where(nav li):before{float:left;content:"​"}nav,nav ul{display:flex}nav{justify-content:space-between}nav ol,nav ul{align-items:center;margin-bottom:0;padding:0;list-style:none}nav ol:first-of-type,nav ul:first-of-type{margin-left:calc(var(--nav-element-spacing-horizontal)*-1)}nav ol:last-of-type,nav ul:last-of-type{margin-right:calc(var(--nav-element-spacing-horizontal)*-1)}nav li{padding:var(--nav-element-spacing-vertical)var(--nav-element-spacing-horizontal);margin:0;display:inline-block}nav li>*{--spacing:0}nav :where(a,[role=link]){margin:calc(var(--nav-link-spacing-vertical)*-1)calc(var(--nav-link-spacing-horizontal)*-1);padding:var(--nav-link-spacing-vertical)var(--nav-link-spacing-horizontal);border-radius:var(--border-radius);text-decoration:none;display:inline-block}nav :where(a,[role=link]):is([aria-current],:hover,:active,:focus){text-decoration:none}nav[aria-label=breadcrumb]{justify-content:start;align-items:center}nav[aria-label=breadcrumb] ul li:not(:first-child){-webkit-margin-start:var(--nav-link-spacing-horizontal);margin-inline-start:var(--nav-link-spacing-horizontal)}nav[aria-label=breadcrumb] ul li:not(:last-child) :after{width:calc(var(--nav-link-spacing-horizontal)*2);-webkit-margin-start:calc(var(--nav-link-spacing-horizontal)/2);content:"/";color:var(--muted-color);text-align:center;margin-inline-start:calc(var(--nav-link-spacing-horizontal)/2);position:absolute}nav[aria-label=breadcrumb] a[aria-current]{color:inherit;pointer-events:none;background-color:#0000;text-decoration:none}nav [role=button]{margin-right:inherit;margin-left:inherit;padding:var(--nav-link-spacing-vertical)var(--nav-link-spacing-horizontal)}aside li,aside nav,aside ol,aside ul{display:block}aside li{padding:calc(var(--nav-element-spacing-vertical)*.5)var(--nav-element-spacing-horizontal)}aside li a{display:block}aside li [role=button]{margin:inherit}[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) :after{content:"\\"}progress{vertical-align:baseline;appearance:none;margin-bottom:calc(var(--spacing)*.5);border-radius:var(--border-radius);background-color:var(--progress-background-color);color:var(--progress-color);border:0;width:100%;height:.5rem;display:inline-block;overflow:hidden}progress::-webkit-progress-bar{border-radius:var(--border-radius);background:0 0}progress[value]::-webkit-progress-value{background-color:var(--progress-color)}progress::-moz-progress-bar{background-color:var(--progress-color)}@media (prefers-reduced-motion:no-preference){progress:indeterminate{background:var(--progress-background-color)linear-gradient(to right,var(--progress-color)30%,var(--progress-background-color)30%)top left/150% 150% no-repeat;animation:1s linear infinite progress-indeterminate}progress:indeterminate[value]::-webkit-progress-value{background-color:#0000}progress:indeterminate::-moz-progress-bar{background-color:#0000}[dir=rtl] progress:indeterminate{animation-direction:reverse}}@keyframes progress-indeterminate{0%{background-position:200% 0}to{background-position:-200% 0}}details[role=list],li[role=list]{position:relative}details[role=list] summary+ul,li[role=list]>ul{z-index:99;border:var(--border-width)solid var(--dropdown-border-color);border-radius:var(--border-radius);background-color:var(--dropdown-background-color);box-shadow:var(--card-box-shadow);color:var(--dropdown-color);white-space:nowrap;border-top-left-radius:0;border-top-right-radius:0;flex-direction:column;margin:0;padding:0;display:flex;position:absolute;top:auto;left:0;right:0}details[role=list] summary+ul li,li[role=list]>ul li{padding:calc(var(--form-element-spacing-vertical)*.5)var(--form-element-spacing-horizontal);width:100%;margin-bottom:0;list-style:none}details[role=list] summary+ul li:first-of-type,li[role=list]>ul li:first-of-type{margin-top:calc(var(--form-element-spacing-vertical)*.5)}details[role=list] summary+ul li:last-of-type,li[role=list]>ul li:last-of-type{margin-bottom:calc(var(--form-element-spacing-vertical)*.5)}details[role=list] summary+ul li a,li[role=list]>ul li a{margin:calc(var(--form-element-spacing-vertical)*-.5)calc(var(--form-element-spacing-horizontal)*-1);padding:calc(var(--form-element-spacing-vertical)*.5)var(--form-element-spacing-horizontal);color:var(--dropdown-color);text-overflow:ellipsis;text-decoration:none;display:block;overflow:hidden}details[role=list] summary+ul li a:hover,li[role=list]>ul li a:hover{background-color:var(--dropdown-hover-background-color)}details[role=list] summary:after,li[role=list]>a:after{height:calc(1rem*var(--line-height,1.5));-webkit-margin-start:.5rem;float:right;content:"";background-position:100%;background-repeat:no-repeat;background-size:1rem;width:1rem;margin-inline-start:.5rem;display:block;transform:rotate(0)}details[role=list]{border-bottom:none;padding:0}details[role=list] summary{margin-bottom:0}details[role=list] summary:not([role]){height:calc(1rem*var(--line-height) + var(--form-element-spacing-vertical)*2 + var(--border-width)*2);padding:var(--form-element-spacing-vertical)var(--form-element-spacing-horizontal);border:var(--border-width)solid var(--form-element-border-color);border-radius:var(--border-radius);background-color:var(--form-element-background-color);color:var(--form-element-placeholder-color);line-height:inherit;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}details[role=list] summary:not([role]):active,details[role=list] summary:not([role]):focus{border-color:var(--form-element-active-border-color);background-color:var(--form-element-active-background-color)}details[role=list] summary:not([role]):focus{box-shadow:0 0 0 var(--outline-width)var(--form-element-focus-color)}details[role=list][open] summary{border-bottom-right-radius:0;border-bottom-left-radius:0}details[role=list][open] summary:before{z-index:1;content:"";cursor:default;background:0 0;display:block;position:fixed;inset:0}nav details[role=list] summary,nav li[role=list] a{direction:ltr;display:flex}nav details[role=list] summary+ul,nav li[role=list]>ul{border-radius:var(--border-radius);min-width:-moz-fit-content;min-width:fit-content}nav details[role=list] summary+ul li a,nav li[role=list]>ul li a{border-radius:0}nav details[role=list] summary,nav details[role=list] summary:not([role]){padding:var(--nav-link-spacing-vertical)var(--nav-link-spacing-horizontal);height:auto}nav details[role=list][open] summary{border-radius:var(--border-radius)}nav details[role=list] summary+ul{margin-top:var(--outline-width);-webkit-margin-start:0;margin-inline-start:0}nav details[role=list] summary[role=link]{margin-bottom:calc(var(--nav-link-spacing-vertical)*-1);line-height:var(--line-height)}nav details[role=list] summary[role=link]+ul{margin-top:calc(var(--nav-link-spacing-vertical) + var(--outline-width));-webkit-margin-start:calc(var(--nav-link-spacing-horizontal)*-1);margin-inline-start:calc(var(--nav-link-spacing-horizontal)*-1)}li[role=list] a:active~ul,li[role=list] a:focus~ul,li[role=list]:hover>ul{display:flex}li[role=list]>ul{margin-top:calc(var(--nav-link-spacing-vertical) + var(--outline-width));-webkit-margin-start:calc(var(--nav-element-spacing-horizontal) - var(--nav-link-spacing-horizontal));margin-inline-start:calc(var(--nav-element-spacing-horizontal) - var(--nav-link-spacing-horizontal));display:none}li[role=list]>a:after{background-image:var(--icon-chevron)}label>details[role=list]{margin-top:calc(var(--spacing)*.25);margin-bottom:var(--spacing)}[aria-busy=true]{cursor:progress}[aria-busy=true]:not(input,select,textarea,html):before{content:"";vertical-align:text-bottom;vertical-align:-.125em;opacity:var(--loading-spinner-opacity);border:.1875em solid;border-right-color:#0000;border-radius:1em;width:1em;height:1em;animation:.75s linear infinite spinner;display:inline-block}[aria-busy=true]:not(input,select,textarea,html):not(:empty):before{margin-right:calc(var(--spacing)*.5);-webkit-margin-start:0;-webkit-margin-end:calc(var(--spacing)*.5);margin-left:0;margin-inline-start:0;margin-inline-end:calc(var(--spacing)*.5)}[aria-busy=true]:not(input,select,textarea,html):empty{text-align:center}a[aria-busy=true],button[aria-busy=true],input[type=button][aria-busy=true],input[type=reset][aria-busy=true],input[type=submit][aria-busy=true]{pointer-events:none}@keyframes spinner{to{transform:rotate(360deg)}}[data-tooltip]{position:relative}[data-tooltip]:not(a,button,input){cursor:help;border-bottom:1px dotted;text-decoration:none}[data-tooltip]:after,[data-tooltip]:before,[data-tooltip][data-placement=top]:after,[data-tooltip][data-placement=top]:before{z-index:99;border-radius:var(--border-radius);background:var(--tooltip-background-color);content:attr(data-tooltip);color:var(--tooltip-color);font-style:normal;font-weight:var(--font-weight);text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none;padding:.25rem .5rem;font-size:.875rem;text-decoration:none;display:block;position:absolute;bottom:100%;left:50%;overflow:hidden;transform:translate(-50%,-.25rem)}[data-tooltip]:after,[data-tooltip][data-placement=top]:after{content:"";color:var(--tooltip-background-color);background-color:#0000;border-top:.3rem solid;border-left:.3rem solid #0000;border-right:.3rem solid #0000;border-radius:0;padding:0;transform:translate(-50%)}[data-tooltip][data-placement=bottom]:after,[data-tooltip][data-placement=bottom]:before{top:100%;bottom:auto;transform:translate(-50%,.25rem)}[data-tooltip][data-placement=bottom]:after{border:.3rem solid #0000;border-bottom-color:currentColor;transform:translate(-50%,-.3rem)}[data-tooltip][data-placement=left]:after,[data-tooltip][data-placement=left]:before{inset:50% 100% auto auto;transform:translate(-.25rem,-50%)}[data-tooltip][data-placement=left]:after{border:.3rem solid #0000;border-left-color:currentColor;transform:translate(.3rem,-50%)}[data-tooltip][data-placement=right]:after,[data-tooltip][data-placement=right]:before{inset:50% auto auto 100%;transform:translate(.25rem,-50%)}[data-tooltip][data-placement=right]:after{border:.3rem solid #0000;border-right-color:currentColor;transform:translate(-.3rem,-50%)}[data-tooltip]:focus:after,[data-tooltip]:focus:before,[data-tooltip]:hover:after,[data-tooltip]:hover:before{opacity:1}@media (hover:hover) and (pointer:fine){[data-tooltip]:hover:after,[data-tooltip]:hover:before,[data-tooltip][data-placement=bottom]:focus:after,[data-tooltip][data-placement=bottom]:focus:before,[data-tooltip][data-placement=bottom]:hover [data-tooltip]:focus:after,[data-tooltip][data-placement=bottom]:hover [data-tooltip]:focus:before{animation-name:tooltip-slide-top;animation-duration:.2s}[data-tooltip]:hover:after,[data-tooltip][data-placement=bottom]:focus:after,[data-tooltip][data-placement=bottom]:hover [data-tooltip]:focus:after{animation-name:tooltip-caret-slide-top}[data-tooltip][data-placement=bottom]:focus:after,[data-tooltip][data-placement=bottom]:focus:before,[data-tooltip][data-placement=bottom]:hover:after,[data-tooltip][data-placement=bottom]:hover:before{animation-name:tooltip-slide-bottom;animation-duration:.2s}[data-tooltip][data-placement=bottom]:focus:after,[data-tooltip][data-placement=bottom]:hover:after{animation-name:tooltip-caret-slide-bottom}[data-tooltip][data-placement=left]:focus:after,[data-tooltip][data-placement=left]:focus:before,[data-tooltip][data-placement=left]:hover:after,[data-tooltip][data-placement=left]:hover:before{animation-name:tooltip-slide-left;animation-duration:.2s}[data-tooltip][data-placement=left]:focus:after,[data-tooltip][data-placement=left]:hover:after{animation-name:tooltip-caret-slide-left}[data-tooltip][data-placement=right]:focus:after,[data-tooltip][data-placement=right]:focus:before,[data-tooltip][data-placement=right]:hover:after,[data-tooltip][data-placement=right]:hover:before{animation-name:tooltip-slide-right;animation-duration:.2s}[data-tooltip][data-placement=right]:focus:after,[data-tooltip][data-placement=right]:hover:after{animation-name:tooltip-caret-slide-right}}@keyframes tooltip-slide-top{0%{opacity:0;transform:translate(-50%,.75rem)}to{opacity:1;transform:translate(-50%,-.25rem)}}@keyframes tooltip-caret-slide-top{0%{opacity:0}50%{opacity:0;transform:translate(-50%,-.25rem)}to{opacity:1;transform:translate(-50%)}}@keyframes tooltip-slide-bottom{0%{opacity:0;transform:translate(-50%,-.75rem)}to{opacity:1;transform:translate(-50%,.25rem)}}@keyframes tooltip-caret-slide-bottom{0%{opacity:0}50%{opacity:0;transform:translate(-50%,-.5rem)}to{opacity:1;transform:translate(-50%,-.3rem)}}@keyframes tooltip-slide-left{0%{opacity:0;transform:translate(.75rem,-50%)}to{opacity:1;transform:translate(-.25rem,-50%)}}@keyframes tooltip-caret-slide-left{0%{opacity:0}50%{opacity:0;transform:translate(.05rem,-50%)}to{opacity:1;transform:translate(.3rem,-50%)}}@keyframes tooltip-slide-right{0%{opacity:0;transform:translate(-.75rem,-50%)}to{opacity:1;transform:translate(.25rem,-50%)}}@keyframes tooltip-caret-slide-right{0%{opacity:0}50%{opacity:0;transform:translate(-.05rem,-50%)}to{opacity:1;transform:translate(-.3rem,-50%)}}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);position:absolute}[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation}[dir=rtl]{direction:rtl}@media (prefers-reduced-motion:reduce){:not([aria-busy=true]),:not([aria-busy=true]):after,:not([aria-busy=true]):before{background-attachment:initial!important;scroll-behavior:auto!important;transition-duration:0s!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:-1ms!important}}.toastify{color:#fff;opacity:0;cursor:pointer;z-index:2147483647;background:linear-gradient(135deg,#73a5ff,#5477f5);border-radius:2px;max-width:calc(50% - 20px);padding:12px 20px;text-decoration:none;transition:all .4s cubic-bezier(.215,.61,.355,1);display:inline-block;position:fixed;box-shadow:0 3px 6px -1px #0000001f,0 10px 36px -4px #4d60e84d}.toastify.on{opacity:1}.toast-close{color:#fff;cursor:pointer;opacity:.4;background:0 0;border:0;padding:0 5px;font-family:inherit;font-size:1em}.toastify-right{right:15px}.toastify-left{left:15px}.toastify-top{top:-150px}.toastify-bottom{bottom:-150px}.toastify-rounded{border-radius:25px}.toastify-avatar{border-radius:2px;width:1.5em;height:1.5em;margin:-7px 5px}.toastify-center{max-width:-moz-fit-content;margin-left:auto;margin-right:auto;left:0;right:0}@media only screen and (width<=360px){.toastify-right,.toastify-left{max-width:-moz-fit-content;max-width:fit-content;margin-left:auto;margin-right:auto;left:0;right:0}} -/*# sourceMappingURL=index.65c2cb26.css.map */ diff --git a/index.65c2cb26.css.map b/index.65c2cb26.css.map deleted file mode 100644 index 08ea122..0000000 --- a/index.65c2cb26.css.map +++ /dev/null @@ -1 +0,0 @@ -{"mappings":"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","sources":["index.65c2cb26.css","src/app.css","node_modules/toastify-js/src/toastify.css"],"sourcesContent":[":root {\n --font-family: system-ui, -apple-system, \"Segoe UI\", \"Roboto\", \"Ubuntu\", \"Cantarell\", \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --line-height: 1.5;\n --font-weight: 400;\n --font-size: 16px;\n --border-radius: .25rem;\n --border-width: 1px;\n --outline-width: 3px;\n --spacing: 1rem;\n --typography-spacing-vertical: 1.5rem;\n --block-spacing-vertical: calc(var(--spacing) * 2);\n --block-spacing-horizontal: var(--spacing);\n --grid-spacing-vertical: 0;\n --grid-spacing-horizontal: var(--spacing);\n --form-element-spacing-vertical: .75rem;\n --form-element-spacing-horizontal: 1rem;\n --nav-element-spacing-vertical: 1rem;\n --nav-element-spacing-horizontal: .5rem;\n --nav-link-spacing-vertical: .5rem;\n --nav-link-spacing-horizontal: .5rem;\n --form-label-font-weight: var(--font-weight);\n --transition: .2s ease-in-out;\n --modal-overlay-backdrop-filter: blur(.25rem);\n}\n\n@media (width >= 576px) {\n :root {\n --font-size: 17px;\n }\n}\n\n@media (width >= 768px) {\n :root {\n --font-size: 18px;\n }\n}\n\n@media (width >= 992px) {\n :root {\n --font-size: 19px;\n }\n}\n\n@media (width >= 1200px) {\n :root {\n --font-size: 20px;\n }\n}\n\n@media (width >= 576px) {\n body > footer, body > header, body > main, section {\n --block-spacing-vertical: calc(var(--spacing) * 2.5);\n }\n}\n\n@media (width >= 768px) {\n body > footer, body > header, body > main, section {\n --block-spacing-vertical: calc(var(--spacing) * 3);\n }\n}\n\n@media (width >= 992px) {\n body > footer, body > header, body > main, section {\n --block-spacing-vertical: calc(var(--spacing) * 3.5);\n }\n}\n\n@media (width >= 1200px) {\n body > footer, body > header, body > main, section {\n --block-spacing-vertical: calc(var(--spacing) * 4);\n }\n}\n\n@media (width >= 576px) {\n article {\n --block-spacing-horizontal: calc(var(--spacing) * 1.25);\n }\n}\n\n@media (width >= 768px) {\n article {\n --block-spacing-horizontal: calc(var(--spacing) * 1.5);\n }\n}\n\n@media (width >= 992px) {\n article {\n --block-spacing-horizontal: calc(var(--spacing) * 1.75);\n }\n}\n\n@media (width >= 1200px) {\n article {\n --block-spacing-horizontal: calc(var(--spacing) * 2);\n }\n}\n\ndialog > article {\n --block-spacing-vertical: calc(var(--spacing) * 2);\n --block-spacing-horizontal: var(--spacing);\n}\n\n@media (width >= 576px) {\n dialog > article {\n --block-spacing-vertical: calc(var(--spacing) * 2.5);\n --block-spacing-horizontal: calc(var(--spacing) * 1.25);\n }\n}\n\n@media (width >= 768px) {\n dialog > article {\n --block-spacing-vertical: calc(var(--spacing) * 3);\n --block-spacing-horizontal: calc(var(--spacing) * 1.5);\n }\n}\n\na {\n --text-decoration: none;\n}\n\na.contrast, a.secondary {\n --text-decoration: underline;\n}\n\nsmall {\n --font-size: .875em;\n}\n\nh1, h2, h3, h4, h5, h6 {\n --font-weight: 700;\n}\n\nh1 {\n --font-size: 2rem;\n --typography-spacing-vertical: 3rem;\n}\n\nh2 {\n --font-size: 1.75rem;\n --typography-spacing-vertical: 2.625rem;\n}\n\nh3 {\n --font-size: 1.5rem;\n --typography-spacing-vertical: 2.25rem;\n}\n\nh4 {\n --font-size: 1.25rem;\n --typography-spacing-vertical: 1.874rem;\n}\n\nh5 {\n --font-size: 1.125rem;\n --typography-spacing-vertical: 1.6875rem;\n}\n\n[type=\"checkbox\"], [type=\"radio\"] {\n --border-width: 2px;\n}\n\n[type=\"checkbox\"][role=\"switch\"], tfoot td, tfoot th, thead td, thead th {\n --border-width: 3px;\n}\n\n:not(thead, tfoot) > * > td {\n --font-size: .875em;\n}\n\ncode, kbd, pre, samp {\n --font-family: \"Menlo\", \"Consolas\", \"Roboto Mono\", \"Ubuntu Monospace\", \"Noto Mono\", \"Oxygen Mono\", \"Liberation Mono\", monospace, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n}\n\nkbd {\n --font-weight: bolder;\n}\n\n:root:not([data-theme=\"dark\"]), [data-theme=\"light\"] {\n --background-color: #fff;\n --color: #415462;\n --h1-color: #1b2832;\n --h2-color: #24333e;\n --h3-color: #2c3d49;\n --h4-color: #374956;\n --h5-color: #415462;\n --h6-color: #4d606d;\n --muted-color: #73828c;\n --muted-border-color: #edf0f3;\n --primary: #1095c1;\n --primary-hover: #08769b;\n --primary-focus: #1095c120;\n --primary-inverse: #fff;\n --secondary: #596b78;\n --secondary-hover: #415462;\n --secondary-focus: #596b7820;\n --secondary-inverse: #fff;\n --contrast: #1b2832;\n --contrast-hover: #000;\n --contrast-focus: #596b7820;\n --contrast-inverse: #fff;\n --mark-background-color: #fff2ca;\n --mark-color: #543a26;\n --ins-color: #388e3c;\n --del-color: #c62828;\n --blockquote-border-color: var(--muted-border-color);\n --blockquote-footer-color: var(--muted-color);\n --button-box-shadow: 0 0 0 #0000;\n --button-hover-box-shadow: 0 0 0 #0000;\n --form-element-background-color: transparent;\n --form-element-border-color: #a2afb9;\n --form-element-color: var(--color);\n --form-element-placeholder-color: var(--muted-color);\n --form-element-active-background-color: transparent;\n --form-element-active-border-color: var(--primary);\n --form-element-focus-color: var(--primary-focus);\n --form-element-disabled-background-color: #d5dce2;\n --form-element-disabled-border-color: #a2afb9;\n --form-element-disabled-opacity: .5;\n --form-element-invalid-border-color: #c62828;\n --form-element-invalid-active-border-color: #d32f2f;\n --form-element-invalid-focus-color: #d32f2f20;\n --form-element-valid-border-color: #388e3c;\n --form-element-valid-active-border-color: #43a047;\n --form-element-valid-focus-color: #43a04720;\n --switch-background-color: #bbc6ce;\n --switch-color: var(--primary-inverse);\n --switch-checked-background-color: var(--primary);\n --range-border-color: #d5dce2;\n --range-active-border-color: #bbc6ce;\n --range-thumb-border-color: var(--background-color);\n --range-thumb-color: var(--secondary);\n --range-thumb-hover-color: var(--secondary-hover);\n --range-thumb-active-color: var(--primary);\n --table-border-color: var(--muted-border-color);\n --table-row-stripped-background-color: #f6f8f9;\n --code-background-color: #edf0f3;\n --code-color: var(--muted-color);\n --code-kbd-background-color: var(--contrast);\n --code-kbd-color: var(--contrast-inverse);\n --code-tag-color: #b34d80;\n --code-property-color: #3d888f;\n --code-value-color: #986;\n --code-comment-color: #a2afb9;\n --accordion-border-color: var(--muted-border-color);\n --accordion-close-summary-color: var(--color);\n --accordion-open-summary-color: var(--muted-color);\n --card-background-color: var(--background-color);\n --card-border-color: var(--muted-border-color);\n --card-box-shadow: .0145rem .029rem .174rem #1b283204, .0335rem .067rem .402rem #1b283206, .0625rem .125rem .75rem #1b283208, .1125rem .225rem 1.35rem #1b283209, .2085rem .417rem 2.502rem #1b28320b, .5rem 1rem 6rem #1b28320f, 0 0 0 .0625rem #1b283204;\n --card-sectionning-background-color: #fbfbfc;\n --dropdown-background-color: #fbfbfc;\n --dropdown-border-color: #e1e6eb;\n --dropdown-box-shadow: var(--card-box-shadow);\n --dropdown-color: var(--color);\n --dropdown-hover-background-color: #edf0f3;\n --modal-overlay-background-color: #d5dce2b3;\n --progress-background-color: #d5dce2;\n --progress-color: var(--primary);\n --loading-spinner-opacity: .5;\n --tooltip-background-color: var(--contrast);\n --tooltip-color: var(--contrast-inverse);\n --icon-checkbox: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-chevron: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-chevron-button: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-chevron-button-inverse: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-close: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E\");\n --icon-date: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E\");\n --icon-invalid: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(198, 40, 40)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E\");\n --icon-minus: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E\");\n --icon-search: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E\");\n --icon-time: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-valid: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(56, 142, 60)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");\n color-scheme: light;\n}\n\n@media only screen and (prefers-color-scheme: dark) {\n :root:not([data-theme]) {\n --background-color: #11191f;\n --color: #bbc6ce;\n --h1-color: #edf0f3;\n --h2-color: #e1e6eb;\n --h3-color: #d5dce2;\n --h4-color: #c8d1d8;\n --h5-color: #bbc6ce;\n --h6-color: #afbbc4;\n --muted-color: #73828c;\n --muted-border-color: #1f2d38;\n --primary: #1095c1;\n --primary-hover: #1ab3e6;\n --primary-focus: #1095c140;\n --primary-inverse: #fff;\n --secondary: #596b78;\n --secondary-hover: #73828c;\n --secondary-focus: #73828c40;\n --secondary-inverse: #fff;\n --contrast: #edf0f3;\n --contrast-hover: #fff;\n --contrast-focus: #73828c40;\n --contrast-inverse: #000;\n --mark-background-color: #d1c284;\n --mark-color: #11191f;\n --ins-color: #388e3c;\n --del-color: #c62828;\n --blockquote-border-color: var(--muted-border-color);\n --blockquote-footer-color: var(--muted-color);\n --button-box-shadow: 0 0 0 #0000;\n --button-hover-box-shadow: 0 0 0 #0000;\n --form-element-background-color: #11191f;\n --form-element-border-color: #374956;\n --form-element-color: var(--color);\n --form-element-placeholder-color: var(--muted-color);\n --form-element-active-background-color: var(--form-element-background-color);\n --form-element-active-border-color: var(--primary);\n --form-element-focus-color: var(--primary-focus);\n --form-element-disabled-background-color: #2c3d49;\n --form-element-disabled-border-color: #415462;\n --form-element-disabled-opacity: .5;\n --form-element-invalid-border-color: #b71c1c;\n --form-element-invalid-active-border-color: #c62828;\n --form-element-invalid-focus-color: #c6282840;\n --form-element-valid-border-color: #2e7d32;\n --form-element-valid-active-border-color: #388e3c;\n --form-element-valid-focus-color: #388e3c40;\n --switch-background-color: #374956;\n --switch-color: var(--primary-inverse);\n --switch-checked-background-color: var(--primary);\n --range-border-color: #24333e;\n --range-active-border-color: #2c3d49;\n --range-thumb-border-color: var(--background-color);\n --range-thumb-color: var(--secondary);\n --range-thumb-hover-color: var(--secondary-hover);\n --range-thumb-active-color: var(--primary);\n --table-border-color: var(--muted-border-color);\n --table-row-stripped-background-color: #73828c0d;\n --code-background-color: #18232c;\n --code-color: var(--muted-color);\n --code-kbd-background-color: var(--contrast);\n --code-kbd-color: var(--contrast-inverse);\n --code-tag-color: #a65980;\n --code-property-color: #599fa6;\n --code-value-color: #8c8473;\n --code-comment-color: #4d606d;\n --accordion-border-color: var(--muted-border-color);\n --accordion-active-summary-color: var(--primary);\n --accordion-close-summary-color: var(--color);\n --accordion-open-summary-color: var(--muted-color);\n --card-background-color: #141e26;\n --card-border-color: var(--card-background-color);\n --card-box-shadow: .0145rem .029rem .174rem #00000004, .0335rem .067rem .402rem #00000006, .0625rem .125rem .75rem #00000008, .1125rem .225rem 1.35rem #00000009, .2085rem .417rem 2.502rem #0000000b, .5rem 1rem 6rem #0000000f, 0 0 0 .0625rem #00000004;\n --card-sectionning-background-color: #18232c;\n --dropdown-background-color: #1b2832;\n --dropdown-border-color: #24333e;\n --dropdown-box-shadow: var(--card-box-shadow);\n --dropdown-color: var(--color);\n --dropdown-hover-background-color: #24333ebf;\n --modal-overlay-background-color: #24333ecc;\n --progress-background-color: #24333e;\n --progress-color: var(--primary);\n --loading-spinner-opacity: .5;\n --tooltip-background-color: var(--contrast);\n --tooltip-color: var(--contrast-inverse);\n --icon-checkbox: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-chevron: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-chevron-button: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-chevron-button-inverse: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(0, 0, 0)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-close: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E\");\n --icon-date: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E\");\n --icon-invalid: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(183, 28, 28)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E\");\n --icon-minus: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E\");\n --icon-search: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E\");\n --icon-time: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-valid: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(46, 125, 50)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");\n color-scheme: dark;\n }\n}\n\n[data-theme=\"dark\"] {\n --background-color: #11191f;\n --color: #bbc6ce;\n --h1-color: #edf0f3;\n --h2-color: #e1e6eb;\n --h3-color: #d5dce2;\n --h4-color: #c8d1d8;\n --h5-color: #bbc6ce;\n --h6-color: #afbbc4;\n --muted-color: #73828c;\n --muted-border-color: #1f2d38;\n --primary: #1095c1;\n --primary-hover: #1ab3e6;\n --primary-focus: #1095c140;\n --primary-inverse: #fff;\n --secondary: #596b78;\n --secondary-hover: #73828c;\n --secondary-focus: #73828c40;\n --secondary-inverse: #fff;\n --contrast: #edf0f3;\n --contrast-hover: #fff;\n --contrast-focus: #73828c40;\n --contrast-inverse: #000;\n --mark-background-color: #d1c284;\n --mark-color: #11191f;\n --ins-color: #388e3c;\n --del-color: #c62828;\n --blockquote-border-color: var(--muted-border-color);\n --blockquote-footer-color: var(--muted-color);\n --button-box-shadow: 0 0 0 #0000;\n --button-hover-box-shadow: 0 0 0 #0000;\n --form-element-background-color: #11191f;\n --form-element-border-color: #374956;\n --form-element-color: var(--color);\n --form-element-placeholder-color: var(--muted-color);\n --form-element-active-background-color: var(--form-element-background-color);\n --form-element-active-border-color: var(--primary);\n --form-element-focus-color: var(--primary-focus);\n --form-element-disabled-background-color: #2c3d49;\n --form-element-disabled-border-color: #415462;\n --form-element-disabled-opacity: .5;\n --form-element-invalid-border-color: #b71c1c;\n --form-element-invalid-active-border-color: #c62828;\n --form-element-invalid-focus-color: #c6282840;\n --form-element-valid-border-color: #2e7d32;\n --form-element-valid-active-border-color: #388e3c;\n --form-element-valid-focus-color: #388e3c40;\n --switch-background-color: #374956;\n --switch-color: var(--primary-inverse);\n --switch-checked-background-color: var(--primary);\n --range-border-color: #24333e;\n --range-active-border-color: #2c3d49;\n --range-thumb-border-color: var(--background-color);\n --range-thumb-color: var(--secondary);\n --range-thumb-hover-color: var(--secondary-hover);\n --range-thumb-active-color: var(--primary);\n --table-border-color: var(--muted-border-color);\n --table-row-stripped-background-color: #73828c0d;\n --code-background-color: #18232c;\n --code-color: var(--muted-color);\n --code-kbd-background-color: var(--contrast);\n --code-kbd-color: var(--contrast-inverse);\n --code-tag-color: #a65980;\n --code-property-color: #599fa6;\n --code-value-color: #8c8473;\n --code-comment-color: #4d606d;\n --accordion-border-color: var(--muted-border-color);\n --accordion-active-summary-color: var(--primary);\n --accordion-close-summary-color: var(--color);\n --accordion-open-summary-color: var(--muted-color);\n --card-background-color: #141e26;\n --card-border-color: var(--card-background-color);\n --card-box-shadow: .0145rem .029rem .174rem #00000004, .0335rem .067rem .402rem #00000006, .0625rem .125rem .75rem #00000008, .1125rem .225rem 1.35rem #00000009, .2085rem .417rem 2.502rem #0000000b, .5rem 1rem 6rem #0000000f, 0 0 0 .0625rem #00000004;\n --card-sectionning-background-color: #18232c;\n --dropdown-background-color: #1b2832;\n --dropdown-border-color: #24333e;\n --dropdown-box-shadow: var(--card-box-shadow);\n --dropdown-color: var(--color);\n --dropdown-hover-background-color: #24333ebf;\n --modal-overlay-background-color: #24333ecc;\n --progress-background-color: #24333e;\n --progress-color: var(--primary);\n --loading-spinner-opacity: .5;\n --tooltip-background-color: var(--contrast);\n --tooltip-color: var(--contrast-inverse);\n --icon-checkbox: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-chevron: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-chevron-button: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-chevron-button-inverse: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(0, 0, 0)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-close: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E\");\n --icon-date: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E\");\n --icon-invalid: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(183, 28, 28)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E\");\n --icon-minus: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E\");\n --icon-search: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E\");\n --icon-time: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E\");\n --icon-valid: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(46, 125, 50)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");\n color-scheme: dark;\n}\n\n[type=\"checkbox\"], [type=\"radio\"], [type=\"range\"], progress {\n accent-color: var(--primary);\n}\n\n*, :after, :before {\n box-sizing: border-box;\n background-repeat: no-repeat;\n}\n\n:after, :before {\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n vertical-align: inherit;\n}\n\n:where(:root) {\n -webkit-tap-highlight-color: transparent;\n -moz-text-size-adjust: 100%;\n text-size-adjust: 100%;\n background-color: var(--background-color);\n color: var(--color);\n font-weight: var(--font-weight);\n font-size: var(--font-size);\n line-height: var(--line-height);\n font-family: var(--font-family);\n text-rendering: optimizelegibility;\n overflow-wrap: break-word;\n cursor: default;\n tab-size: 4;\n}\n\nmain {\n display: block;\n}\n\nbody {\n width: 100%;\n margin: 0;\n}\n\nbody > footer, body > header, body > main {\n padding: var(--block-spacing-vertical) 0;\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n}\n\n.container, .container-fluid {\n padding-right: var(--spacing);\n padding-left: var(--spacing);\n width: 100%;\n margin-left: auto;\n margin-right: auto;\n}\n\n@media (width >= 576px) {\n .container {\n max-width: 510px;\n padding-left: 0;\n padding-right: 0;\n }\n}\n\n@media (width >= 768px) {\n .container {\n max-width: 700px;\n }\n}\n\n@media (width >= 992px) {\n .container {\n max-width: 920px;\n }\n}\n\n@media (width >= 1200px) {\n .container {\n max-width: 1130px;\n }\n}\n\nsection {\n margin-bottom: var(--block-spacing-vertical);\n}\n\n.grid {\n grid-column-gap: var(--grid-spacing-horizontal);\n grid-row-gap: var(--grid-spacing-vertical);\n grid-template-columns: 1fr;\n margin: 0;\n display: grid;\n}\n\n@media (width >= 992px) {\n .grid {\n grid-template-columns: repeat(auto-fit, minmax(0%, 1fr));\n }\n}\n\n.grid > * {\n min-width: 0;\n}\n\nfigure {\n margin: 0;\n padding: 0;\n display: block;\n overflow-x: auto;\n}\n\nfigure figcaption {\n padding: calc(var(--spacing) * .5) 0;\n color: var(--muted-color);\n}\n\nb, strong {\n font-weight: bolder;\n}\n\nsub, sup {\n vertical-align: baseline;\n font-size: .75em;\n line-height: 0;\n position: relative;\n}\n\nsub {\n bottom: -.25em;\n}\n\nsup {\n top: -.5em;\n}\n\naddress, blockquote, dl, figure, form, ol, p, pre, table, ul {\n margin-top: 0;\n margin-bottom: var(--typography-spacing-vertical);\n color: var(--color);\n font-style: normal;\n font-weight: var(--font-weight);\n font-size: var(--font-size);\n}\n\n[role=\"link\"], a {\n --color: var(--primary);\n --background-color: transparent;\n background-color: var(--background-color);\n color: var(--color);\n -webkit-text-decoration: var(--text-decoration);\n -webkit-text-decoration: var(--text-decoration);\n text-decoration: var(--text-decoration);\n transition: background-color var(--transition), color var(--transition), box-shadow var(--transition), -webkit-text-decoration var(--transition);\n transition: background-color var(--transition), color var(--transition), text-decoration var(--transition), box-shadow var(--transition);\n transition: background-color var(--transition), color var(--transition), text-decoration var(--transition), box-shadow var(--transition), -webkit-text-decoration var(--transition);\n outline: 0;\n}\n\n[role=\"link\"]:is([aria-current], :hover, :active, :focus), a:is([aria-current], :hover, :active, :focus) {\n --color: var(--primary-hover);\n --text-decoration: underline;\n}\n\n[role=\"link\"]:focus, a:focus {\n --background-color: var(--primary-focus);\n}\n\n[role=\"link\"].secondary, a.secondary {\n --color: var(--secondary);\n}\n\n[role=\"link\"].secondary:is([aria-current], :hover, :active, :focus), a.secondary:is([aria-current], :hover, :active, :focus) {\n --color: var(--secondary-hover);\n}\n\n[role=\"link\"].secondary:focus, a.secondary:focus {\n --background-color: var(--secondary-focus);\n}\n\n[role=\"link\"].contrast, a.contrast {\n --color: var(--contrast);\n}\n\n[role=\"link\"].contrast:is([aria-current], :hover, :active, :focus), a.contrast:is([aria-current], :hover, :active, :focus) {\n --color: var(--contrast-hover);\n}\n\n[role=\"link\"].contrast:focus, a.contrast:focus {\n --background-color: var(--contrast-focus);\n}\n\nh1, h2, h3, h4, h5, h6 {\n margin-top: 0;\n margin-bottom: var(--typography-spacing-vertical);\n color: var(--color);\n font-weight: var(--font-weight);\n font-size: var(--font-size);\n font-family: var(--font-family);\n}\n\nh1 {\n --color: var(--h1-color);\n}\n\nh2 {\n --color: var(--h2-color);\n}\n\nh3 {\n --color: var(--h3-color);\n}\n\nh4 {\n --color: var(--h4-color);\n}\n\nh5 {\n --color: var(--h5-color);\n}\n\nh6 {\n --color: var(--h6-color);\n}\n\n:where(address, blockquote, dl, figure, form, ol, p, pre, table, ul) ~ :is(h1, h2, h3, h4, h5, h6) {\n margin-top: var(--typography-spacing-vertical);\n}\n\n.headings, hgroup {\n margin-bottom: var(--typography-spacing-vertical);\n}\n\n.headings > *, hgroup > * {\n margin-bottom: 0;\n}\n\n.headings > :last-child, hgroup > :last-child {\n --color: var(--muted-color);\n --font-weight: unset;\n font-family: unset;\n font-size: 1rem;\n}\n\np {\n margin-bottom: var(--typography-spacing-vertical);\n}\n\nsmall {\n font-size: var(--font-size);\n}\n\n:where(dl, ol, ul) {\n padding-right: 0;\n padding-left: var(--spacing);\n -webkit-padding-start: var(--spacing);\n -webkit-padding-end: 0;\n padding-inline-start: var(--spacing);\n padding-inline-end: 0;\n}\n\n:where(dl, ol, ul) li {\n margin-bottom: calc(var(--typography-spacing-vertical) * .25);\n}\n\n:where(dl, ol, ul) :is(dl, ol, ul) {\n margin: 0;\n margin-top: calc(var(--typography-spacing-vertical) * .25);\n}\n\nul li {\n list-style: square;\n}\n\nmark {\n background-color: var(--mark-background-color);\n color: var(--mark-color);\n vertical-align: baseline;\n padding: .125rem .25rem;\n}\n\nblockquote {\n margin: var(--typography-spacing-vertical) 0;\n padding: var(--spacing);\n border-right: none;\n border-left: .25rem solid var(--blockquote-border-color);\n -webkit-border-start: .25rem solid var(--blockquote-border-color);\n border-inline-start: .25rem solid var(--blockquote-border-color);\n -webkit-border-end: none;\n border-inline-end: none;\n display: block;\n}\n\nblockquote footer {\n margin-top: calc(var(--typography-spacing-vertical) * .5);\n color: var(--blockquote-footer-color);\n}\n\nabbr[title] {\n cursor: help;\n border-bottom: 1px dotted;\n text-decoration: none;\n}\n\nins {\n color: var(--ins-color);\n text-decoration: none;\n}\n\ndel {\n color: var(--del-color);\n}\n\n::selection {\n background-color: var(--primary-focus);\n}\n\n:where(audio, canvas, iframe, img, svg, video) {\n vertical-align: middle;\n}\n\naudio, video {\n display: inline-block;\n}\n\naudio:not([controls]) {\n height: 0;\n display: none;\n}\n\n:where(iframe) {\n border-style: none;\n}\n\nimg {\n border-style: none;\n max-width: 100%;\n height: auto;\n}\n\n:where(svg:not([fill])) {\n fill: currentColor;\n}\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\nbutton {\n text-transform: none;\n margin: 0;\n font-family: inherit;\n overflow: visible;\n}\n\n[type=\"button\"], [type=\"reset\"], [type=\"submit\"], button {\n -webkit-appearance: button;\n}\n\nbutton {\n margin-bottom: var(--spacing);\n width: 100%;\n display: block;\n}\n\n[role=\"button\"] {\n text-decoration: none;\n display: inline-block;\n}\n\n[role=\"button\"], button, input[type=\"button\"], input[type=\"reset\"], input[type=\"submit\"] {\n --background-color: var(--primary);\n --border-color: var(--primary);\n --color: var(--primary-inverse);\n --box-shadow: var(--button-box-shadow, 0 0 0 #0000);\n padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);\n border: var(--border-width) solid var(--border-color);\n border-radius: var(--border-radius);\n background-color: var(--background-color);\n box-shadow: var(--box-shadow);\n color: var(--color);\n font-weight: var(--font-weight);\n font-size: 1rem;\n line-height: var(--line-height);\n text-align: center;\n cursor: pointer;\n transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);\n outline: 0;\n}\n\n[role=\"button\"]:is([aria-current], :hover, :active, :focus), button:is([aria-current], :hover, :active, :focus), input[type=\"button\"]:is([aria-current], :hover, :active, :focus), input[type=\"reset\"]:is([aria-current], :hover, :active, :focus), input[type=\"submit\"]:is([aria-current], :hover, :active, :focus) {\n --background-color: var(--primary-hover);\n --border-color: var(--primary-hover);\n --box-shadow: var(--button-hover-box-shadow, 0 0 0 #0000);\n --color: var(--primary-inverse);\n}\n\n[role=\"button\"]:focus, button:focus, input[type=\"button\"]:focus, input[type=\"reset\"]:focus, input[type=\"submit\"]:focus {\n --box-shadow: var(--button-hover-box-shadow, 0 0 0 #0000), 0 0 0 var(--outline-width) var(--primary-focus);\n}\n\n:is(button, input[type=\"submit\"], input[type=\"button\"], [role=\"button\"]).secondary, input[type=\"reset\"] {\n --background-color: var(--secondary);\n --border-color: var(--secondary);\n --color: var(--secondary-inverse);\n cursor: pointer;\n}\n\n:is(button, input[type=\"submit\"], input[type=\"button\"], [role=\"button\"]).secondary:is([aria-current], :hover, :active, :focus), input[type=\"reset\"]:is([aria-current], :hover, :active, :focus) {\n --background-color: var(--secondary-hover);\n --border-color: var(--secondary-hover);\n --color: var(--secondary-inverse);\n}\n\n:is(button, input[type=\"submit\"], input[type=\"button\"], [role=\"button\"]).secondary:focus, input[type=\"reset\"]:focus {\n --box-shadow: var(--button-hover-box-shadow, 0 0 0 #0000), 0 0 0 var(--outline-width) var(--secondary-focus);\n}\n\n:is(button, input[type=\"submit\"], input[type=\"button\"], [role=\"button\"]).contrast {\n --background-color: var(--contrast);\n --border-color: var(--contrast);\n --color: var(--contrast-inverse);\n}\n\n:is(button, input[type=\"submit\"], input[type=\"button\"], [role=\"button\"]).contrast:is([aria-current], :hover, :active, :focus) {\n --background-color: var(--contrast-hover);\n --border-color: var(--contrast-hover);\n --color: var(--contrast-inverse);\n}\n\n:is(button, input[type=\"submit\"], input[type=\"button\"], [role=\"button\"]).contrast:focus {\n --box-shadow: var(--button-hover-box-shadow, 0 0 0 #0000), 0 0 0 var(--outline-width) var(--contrast-focus);\n}\n\n:is(button, input[type=\"submit\"], input[type=\"button\"], [role=\"button\"]).outline, input[type=\"reset\"].outline {\n --background-color: transparent;\n --color: var(--primary);\n}\n\n:is(button, input[type=\"submit\"], input[type=\"button\"], [role=\"button\"]).outline:is([aria-current], :hover, :active, :focus), input[type=\"reset\"].outline:is([aria-current], :hover, :active, :focus) {\n --background-color: transparent;\n --color: var(--primary-hover);\n}\n\n:is(button, input[type=\"submit\"], input[type=\"button\"], [role=\"button\"]).outline.secondary, input[type=\"reset\"].outline {\n --color: var(--secondary);\n}\n\n:is(button, input[type=\"submit\"], input[type=\"button\"], [role=\"button\"]).outline.secondary:is([aria-current], :hover, :active, :focus), input[type=\"reset\"].outline:is([aria-current], :hover, :active, :focus) {\n --color: var(--secondary-hover);\n}\n\n:is(button, input[type=\"submit\"], input[type=\"button\"], [role=\"button\"]).outline.contrast {\n --color: var(--contrast);\n}\n\n:is(button, input[type=\"submit\"], input[type=\"button\"], [role=\"button\"]).outline.contrast:is([aria-current], :hover, :active, :focus) {\n --color: var(--contrast-hover);\n}\n\n:where(button, [type=\"submit\"], [type=\"button\"], [type=\"reset\"], [role=\"button\"])[disabled], :where(fieldset[disabled]) :is(button, [type=\"submit\"], [type=\"button\"], [type=\"reset\"], [role=\"button\"]), a[role=\"button\"]:not([href]) {\n opacity: .5;\n pointer-events: none;\n}\n\ninput, optgroup, select, textarea {\n font-size: 1rem;\n line-height: var(--line-height);\n letter-spacing: inherit;\n margin: 0;\n font-family: inherit;\n}\n\ninput {\n overflow: visible;\n}\n\nselect {\n text-transform: none;\n}\n\nlegend {\n color: inherit;\n white-space: normal;\n max-width: 100%;\n padding: 0;\n}\n\ntextarea {\n overflow: auto;\n}\n\n[type=\"checkbox\"], [type=\"radio\"] {\n padding: 0;\n}\n\n:is(::-webkit-inner-spin-button, ::-webkit-outer-spin-button) {\n height: auto;\n}\n\n[type=\"search\"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n}\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n}\n\n::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n:-moz-focusring {\n outline: 0;\n}\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n::-ms-expand {\n display: none;\n}\n\n[type=\"file\"], [type=\"range\"] {\n border-width: 0;\n padding: 0;\n}\n\ninput:not([type=\"checkbox\"], [type=\"radio\"], [type=\"range\"]) {\n height: calc(1rem * var(--line-height) + var(--form-element-spacing-vertical) * 2 + var(--border-width) * 2);\n}\n\nfieldset {\n margin: 0;\n margin-bottom: var(--spacing);\n border: 0;\n padding: 0;\n}\n\nfieldset legend, label {\n margin-bottom: calc(var(--spacing) * .25);\n font-weight: var(--form-label-font-weight, var(--font-weight));\n display: block;\n}\n\ninput:not([type=\"checkbox\"], [type=\"radio\"]), select, textarea {\n width: 100%;\n}\n\ninput:not([type=\"checkbox\"], [type=\"radio\"], [type=\"range\"], [type=\"file\"]), select, textarea {\n appearance: none;\n padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);\n}\n\ninput, select, textarea {\n --background-color: var(--form-element-background-color);\n --border-color: var(--form-element-border-color);\n --color: var(--form-element-color);\n --box-shadow: none;\n border: var(--border-width) solid var(--border-color);\n border-radius: var(--border-radius);\n background-color: var(--background-color);\n box-shadow: var(--box-shadow);\n color: var(--color);\n font-weight: var(--font-weight);\n transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);\n outline: 0;\n}\n\n:where(select, textarea):is(:active, :focus), input:not([type=\"submit\"], [type=\"button\"], [type=\"reset\"], [type=\"checkbox\"], [type=\"radio\"], [readonly]):is(:active, :focus) {\n --background-color: var(--form-element-active-background-color);\n}\n\n:where(select, textarea):is(:active, :focus), input:not([type=\"submit\"], [type=\"button\"], [type=\"reset\"], [role=\"switch\"], [readonly]):is(:active, :focus) {\n --border-color: var(--form-element-active-border-color);\n}\n\ninput:not([type=\"submit\"], [type=\"button\"], [type=\"reset\"], [type=\"range\"], [type=\"file\"], [readonly]):focus, select:focus, textarea:focus {\n --box-shadow: 0 0 0 var(--outline-width) var(--form-element-focus-color);\n}\n\n:where(fieldset[disabled]) :is(input:not([type=\"submit\"], [type=\"button\"], [type=\"reset\"]), select, textarea), input:not([type=\"submit\"], [type=\"button\"], [type=\"reset\"])[disabled], select[disabled], textarea[disabled] {\n --background-color: var(--form-element-disabled-background-color);\n --border-color: var(--form-element-disabled-border-color);\n opacity: var(--form-element-disabled-opacity);\n pointer-events: none;\n}\n\n:where(input, select, textarea):not([type=\"checkbox\"], [type=\"radio\"], [type=\"date\"], [type=\"datetime-local\"], [type=\"month\"], [type=\"time\"], [type=\"week\"])[aria-invalid] {\n padding-left: var(--form-element-spacing-horizontal);\n background-position: right .75rem center;\n background-repeat: no-repeat;\n background-size: 1rem;\n padding-right: calc(var(--form-element-spacing-horizontal) + 1.5rem) !important;\n -webkit-padding-start: var(--form-element-spacing-horizontal) !important;\n -webkit-padding-end: calc(var(--form-element-spacing-horizontal) + 1.5rem) !important;\n padding-inline-start: var(--form-element-spacing-horizontal) !important;\n padding-inline-end: calc(var(--form-element-spacing-horizontal) + 1.5rem) !important;\n}\n\n:where(input, select, textarea):not([type=\"checkbox\"], [type=\"radio\"], [type=\"date\"], [type=\"datetime-local\"], [type=\"month\"], [type=\"time\"], [type=\"week\"])[aria-invalid=\"false\"] {\n background-image: var(--icon-valid);\n}\n\n:where(input, select, textarea):not([type=\"checkbox\"], [type=\"radio\"], [type=\"date\"], [type=\"datetime-local\"], [type=\"month\"], [type=\"time\"], [type=\"week\"])[aria-invalid=\"true\"] {\n background-image: var(--icon-invalid);\n}\n\n:where(input, select, textarea)[aria-invalid=\"false\"] {\n --border-color: var(--form-element-valid-border-color);\n}\n\n:where(input, select, textarea)[aria-invalid=\"false\"]:is(:active, :focus) {\n --border-color: var(--form-element-valid-active-border-color) !important;\n --box-shadow: 0 0 0 var(--outline-width) var(--form-element-valid-focus-color) !important;\n}\n\n:where(input, select, textarea)[aria-invalid=\"true\"] {\n --border-color: var(--form-element-invalid-border-color);\n}\n\n:where(input, select, textarea)[aria-invalid=\"true\"]:is(:active, :focus) {\n --border-color: var(--form-element-invalid-active-border-color) !important;\n --box-shadow: 0 0 0 var(--outline-width) var(--form-element-invalid-focus-color) !important;\n}\n\n[dir=\"rtl\"] :where(input, select, textarea):not([type=\"checkbox\"], [type=\"radio\"]):is([aria-invalid], [aria-invalid=\"true\"], [aria-invalid=\"false\"]) {\n background-position: .75rem 50%;\n}\n\ninput::placeholder, select:invalid, textarea::placeholder {\n color: var(--form-element-placeholder-color);\n opacity: 1;\n}\n\ninput::-webkit-input-placeholder {\n color: var(--form-element-placeholder-color);\n opacity: 1;\n}\n\ntextarea::-webkit-input-placeholder {\n color: var(--form-element-placeholder-color);\n opacity: 1;\n}\n\ninput:not([type=\"checkbox\"], [type=\"radio\"]), select, textarea {\n margin-bottom: var(--spacing);\n}\n\nselect::-ms-expand {\n background-color: #0000;\n border: 0;\n}\n\nselect:not([multiple], [size]) {\n padding-right: calc(var(--form-element-spacing-horizontal) + 1.5rem);\n padding-left: var(--form-element-spacing-horizontal);\n -webkit-padding-start: var(--form-element-spacing-horizontal);\n -webkit-padding-end: calc(var(--form-element-spacing-horizontal) + 1.5rem);\n background-image: var(--icon-chevron);\n background-position: right .75rem center;\n background-repeat: no-repeat;\n background-size: 1rem;\n padding-inline-start: var(--form-element-spacing-horizontal);\n padding-inline-end: calc(var(--form-element-spacing-horizontal) + 1.5rem);\n}\n\n[dir=\"rtl\"] select:not([multiple], [size]) {\n background-position: .75rem 50%;\n}\n\n:where(input, select, textarea, .grid) + small {\n margin-top: calc(var(--spacing) * -.75);\n margin-bottom: var(--spacing);\n color: var(--muted-color);\n width: 100%;\n display: block;\n}\n\nlabel > :where(input, select, textarea) {\n margin-top: calc(var(--spacing) * .25);\n}\n\n[type=\"checkbox\"], [type=\"radio\"] {\n appearance: none;\n -webkit-margin-start: 0;\n margin-top: -.125em;\n margin-left: 0;\n margin-right: .375em;\n -webkit-margin-end: .375em;\n border-width: var(--border-width);\n font-size: inherit;\n vertical-align: middle;\n cursor: pointer;\n width: 1.25em;\n height: 1.25em;\n margin-inline: 0 .375em;\n}\n\n:is([type=\"checkbox\"]::-ms-check, [type=\"radio\"]::-ms-check) {\n display: none;\n}\n\n[type=\"checkbox\"]:checked, [type=\"checkbox\"]:checked:active, [type=\"checkbox\"]:checked:focus, [type=\"radio\"]:checked, [type=\"radio\"]:checked:active, [type=\"radio\"]:checked:focus {\n --background-color: var(--primary);\n --border-color: var(--primary);\n background-image: var(--icon-checkbox);\n background-position: center;\n background-repeat: no-repeat;\n background-size: .75em;\n}\n\n[type=\"checkbox\"] ~ label, [type=\"radio\"] ~ label {\n cursor: pointer;\n margin-bottom: 0;\n margin-right: .375em;\n display: inline-block;\n}\n\n[type=\"checkbox\"]:indeterminate {\n --background-color: var(--primary);\n --border-color: var(--primary);\n background-image: var(--icon-minus);\n background-position: center;\n background-repeat: no-repeat;\n background-size: .75em;\n}\n\n[type=\"radio\"] {\n border-radius: 50%;\n}\n\n[type=\"radio\"]:checked, [type=\"radio\"]:checked:active, [type=\"radio\"]:checked:focus {\n --background-color: var(--primary-inverse);\n background-image: none;\n border-width: .35em;\n}\n\n[type=\"checkbox\"][role=\"switch\"] {\n --background-color: var(--switch-background-color);\n --border-color: var(--switch-background-color);\n --color: var(--switch-color);\n border: var(--border-width) solid var(--border-color);\n background-color: var(--background-color);\n border-radius: 1.25em;\n width: 2.25em;\n height: 1.25em;\n line-height: 1.25em;\n}\n\n[type=\"checkbox\"][role=\"switch\"]:focus {\n --background-color: var(--switch-background-color);\n --border-color: var(--switch-background-color);\n}\n\n[type=\"checkbox\"][role=\"switch\"]:checked {\n --background-color: var(--switch-checked-background-color);\n --border-color: var(--switch-checked-background-color);\n}\n\n[type=\"checkbox\"][role=\"switch\"]:before {\n width: calc(1.25em - (var(--border-width) * 2));\n background-color: var(--color);\n content: \"\";\n border-radius: 50%;\n height: 100%;\n transition: margin .1s ease-in-out;\n display: block;\n}\n\n[type=\"checkbox\"][role=\"switch\"]:checked {\n background-image: none;\n}\n\n[type=\"checkbox\"][role=\"switch\"]:checked:before {\n margin-left: calc(1.125em - var(--border-width));\n -webkit-margin-start: calc(1.125em - var(--border-width));\n margin-inline-start: calc(1.125em - var(--border-width));\n}\n\n[type=\"checkbox\"]:checked[aria-invalid=\"false\"], [type=\"checkbox\"][aria-invalid=\"false\"], [type=\"checkbox\"][role=\"switch\"]:checked[aria-invalid=\"false\"], [type=\"checkbox\"][role=\"switch\"][aria-invalid=\"false\"], [type=\"radio\"]:checked[aria-invalid=\"false\"], [type=\"radio\"][aria-invalid=\"false\"] {\n --border-color: var(--form-element-valid-border-color);\n}\n\n[type=\"checkbox\"]:checked[aria-invalid=\"true\"], [type=\"checkbox\"][aria-invalid=\"true\"], [type=\"checkbox\"][role=\"switch\"]:checked[aria-invalid=\"true\"], [type=\"checkbox\"][role=\"switch\"][aria-invalid=\"true\"], [type=\"radio\"]:checked[aria-invalid=\"true\"], [type=\"radio\"][aria-invalid=\"true\"] {\n --border-color: var(--form-element-invalid-border-color);\n}\n\n[type=\"color\"]::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n[type=\"color\"]::-moz-focus-inner {\n padding: 0;\n}\n\n[type=\"color\"]::-webkit-color-swatch {\n border-radius: calc(var(--border-radius) * .5);\n border: 0;\n}\n\n[type=\"color\"]::-moz-color-swatch {\n border-radius: calc(var(--border-radius) * .5);\n border: 0;\n}\n\ninput:not([type=\"checkbox\"], [type=\"radio\"], [type=\"range\"], [type=\"file\"]):is([type=\"date\"], [type=\"datetime-local\"], [type=\"month\"], [type=\"time\"], [type=\"week\"]) {\n --icon-position: .75rem;\n --icon-width: 1rem;\n padding-right: calc(var(--icon-width) + var(--icon-position));\n background-image: var(--icon-date);\n background-position: center right var(--icon-position);\n background-size: var(--icon-width) auto;\n background-repeat: no-repeat;\n}\n\ninput:not([type=\"checkbox\"], [type=\"radio\"], [type=\"range\"], [type=\"file\"])[type=\"time\"] {\n background-image: var(--icon-time);\n}\n\n:is([type=\"date\"]::-webkit-calendar-picker-indicator, [type=\"datetime-local\"]::-webkit-calendar-picker-indicator, [type=\"month\"]::-webkit-calendar-picker-indicator, [type=\"time\"]::-webkit-calendar-picker-indicator, [type=\"week\"]::-webkit-calendar-picker-indicator) {\n width: var(--icon-width);\n margin-right: calc(var(--icon-width) * -1);\n margin-left: var(--icon-position);\n opacity: 0;\n}\n\n[dir=\"rtl\"] :is([type=\"date\"], [type=\"datetime-local\"], [type=\"month\"], [type=\"time\"], [type=\"week\"]) {\n text-align: right;\n}\n\n@-moz-document url-prefix() {\n [type=\"date\"], [type=\"datetime-local\"], [type=\"month\"], [type=\"time\"], [type=\"week\"] {\n padding-right: var(--form-element-spacing-horizontal) !important;\n background-image: none !important;\n }\n}\n\n[type=\"file\"] {\n --color: var(--muted-color);\n padding: calc(var(--form-element-spacing-vertical) * .5) 0;\n background: none;\n border: 0;\n border-radius: 0;\n}\n\n[type=\"file\"]::file-selector-button {\n --background-color: var(--secondary);\n --border-color: var(--secondary);\n --color: var(--secondary-inverse);\n margin-right: calc(var(--spacing) / 2);\n -webkit-margin-start: 0;\n margin-left: 0;\n -webkit-margin-end: calc(var(--spacing) / 2);\n padding: calc(var(--form-element-spacing-vertical) * .5) calc(var(--form-element-spacing-horizontal) * .5);\n border: var(--border-width) solid var(--border-color);\n border-radius: var(--border-radius);\n background-color: var(--background-color);\n box-shadow: var(--box-shadow);\n color: var(--color);\n font-weight: var(--font-weight);\n font-size: 1rem;\n line-height: var(--line-height);\n text-align: center;\n cursor: pointer;\n transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);\n outline: 0;\n margin-inline-start: 0;\n margin-inline-end: calc(var(--spacing) / 2);\n}\n\n[type=\"file\"]::file-selector-button:is(:hover, :active, :focus) {\n --background-color: var(--secondary-hover);\n --border-color: var(--secondary-hover);\n}\n\n[type=\"file\"]::-webkit-file-upload-button {\n --background-color: var(--secondary);\n --border-color: var(--secondary);\n --color: var(--secondary-inverse);\n margin-right: calc(var(--spacing) / 2);\n -webkit-margin-start: 0;\n margin-left: 0;\n -webkit-margin-end: calc(var(--spacing) / 2);\n padding: calc(var(--form-element-spacing-vertical) * .5) calc(var(--form-element-spacing-horizontal) * .5);\n border: var(--border-width) solid var(--border-color);\n border-radius: var(--border-radius);\n background-color: var(--background-color);\n box-shadow: var(--box-shadow);\n color: var(--color);\n font-weight: var(--font-weight);\n font-size: 1rem;\n line-height: var(--line-height);\n text-align: center;\n cursor: pointer;\n -webkit-transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);\n transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);\n outline: 0;\n margin-inline-start: 0;\n margin-inline-end: calc(var(--spacing) / 2);\n}\n\n[type=\"file\"]::-webkit-file-upload-button:is(:hover, :active, :focus) {\n --background-color: var(--secondary-hover);\n --border-color: var(--secondary-hover);\n}\n\n[type=\"file\"]::-ms-browse {\n --background-color: var(--secondary);\n --border-color: var(--secondary);\n --color: var(--secondary-inverse);\n margin-right: calc(var(--spacing) / 2);\n margin-left: 0;\n padding: calc(var(--form-element-spacing-vertical) * .5) calc(var(--form-element-spacing-horizontal) * .5);\n border: var(--border-width) solid var(--border-color);\n border-radius: var(--border-radius);\n background-color: var(--background-color);\n box-shadow: var(--box-shadow);\n color: var(--color);\n font-weight: var(--font-weight);\n font-size: 1rem;\n line-height: var(--line-height);\n text-align: center;\n cursor: pointer;\n -ms-transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);\n transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);\n outline: 0;\n margin-inline-start: 0;\n margin-inline-end: calc(var(--spacing) / 2);\n}\n\n[type=\"file\"]::-ms-browse:is(:hover, :active, :focus) {\n --background-color: var(--secondary-hover);\n --border-color: var(--secondary-hover);\n}\n\n[type=\"range\"] {\n appearance: none;\n background: none;\n width: 100%;\n height: 1.25rem;\n}\n\n[type=\"range\"]::-webkit-slider-runnable-track {\n border-radius: var(--border-radius);\n background-color: var(--range-border-color);\n -webkit-transition: background-color var(--transition), box-shadow var(--transition);\n transition: background-color var(--transition), box-shadow var(--transition);\n width: 100%;\n height: .25rem;\n}\n\n[type=\"range\"]::-moz-range-track {\n border-radius: var(--border-radius);\n background-color: var(--range-border-color);\n -moz-transition: background-color var(--transition), box-shadow var(--transition);\n transition: background-color var(--transition), box-shadow var(--transition);\n width: 100%;\n height: .25rem;\n}\n\n[type=\"range\"]::-ms-track {\n border-radius: var(--border-radius);\n background-color: var(--range-border-color);\n -ms-transition: background-color var(--transition), box-shadow var(--transition);\n transition: background-color var(--transition), box-shadow var(--transition);\n width: 100%;\n height: .25rem;\n}\n\n[type=\"range\"]::-webkit-slider-thumb {\n -webkit-appearance: none;\n border: 2px solid var(--range-thumb-border-color);\n background-color: var(--range-thumb-color);\n cursor: pointer;\n -webkit-transition: background-color var(--transition), transform var(--transition);\n transition: background-color var(--transition), transform var(--transition);\n border-radius: 50%;\n width: 1.25rem;\n height: 1.25rem;\n margin-top: -.5rem;\n}\n\n[type=\"range\"]::-moz-range-thumb {\n -webkit-appearance: none;\n border: 2px solid var(--range-thumb-border-color);\n background-color: var(--range-thumb-color);\n cursor: pointer;\n -moz-transition: background-color var(--transition), transform var(--transition);\n transition: background-color var(--transition), transform var(--transition);\n border-radius: 50%;\n width: 1.25rem;\n height: 1.25rem;\n margin-top: -.5rem;\n}\n\n[type=\"range\"]::-ms-thumb {\n -webkit-appearance: none;\n border: 2px solid var(--range-thumb-border-color);\n background-color: var(--range-thumb-color);\n cursor: pointer;\n -ms-transition: background-color var(--transition), transform var(--transition);\n transition: background-color var(--transition), transform var(--transition);\n border-radius: 50%;\n width: 1.25rem;\n height: 1.25rem;\n margin-top: -.5rem;\n}\n\n[type=\"range\"]:focus, [type=\"range\"]:hover {\n --range-border-color: var(--range-active-border-color);\n --range-thumb-color: var(--range-thumb-hover-color);\n}\n\n[type=\"range\"]:active {\n --range-thumb-color: var(--range-thumb-active-color);\n}\n\n[type=\"range\"]:active::-webkit-slider-thumb {\n transform: scale(1.25);\n}\n\n[type=\"range\"]:active::-moz-range-thumb {\n transform: scale(1.25);\n}\n\n[type=\"range\"]:active::-ms-thumb {\n transform: scale(1.25);\n}\n\ninput:not([type=\"checkbox\"], [type=\"radio\"], [type=\"range\"], [type=\"file\"])[type=\"search\"] {\n -webkit-padding-start: calc(var(--form-element-spacing-horizontal) + 1.75rem);\n background-image: var(--icon-search);\n background-position: 1.125rem 50%;\n background-repeat: no-repeat;\n background-size: 1rem;\n border-radius: 5rem;\n padding-inline-start: calc(var(--form-element-spacing-horizontal) + 1.75rem);\n}\n\ninput:not([type=\"checkbox\"], [type=\"radio\"], [type=\"range\"], [type=\"file\"])[type=\"search\"][aria-invalid] {\n background-position: 1.125rem 50%, right .75rem center;\n -webkit-padding-start: calc(var(--form-element-spacing-horizontal) + 1.75rem) !important;\n padding-inline-start: calc(var(--form-element-spacing-horizontal) + 1.75rem) !important;\n}\n\ninput:not([type=\"checkbox\"], [type=\"radio\"], [type=\"range\"], [type=\"file\"])[type=\"search\"][aria-invalid=\"false\"] {\n background-image: var(--icon-search), var(--icon-valid);\n}\n\ninput:not([type=\"checkbox\"], [type=\"radio\"], [type=\"range\"], [type=\"file\"])[type=\"search\"][aria-invalid=\"true\"] {\n background-image: var(--icon-search), var(--icon-invalid);\n}\n\n[type=\"search\"]::-webkit-search-cancel-button {\n -webkit-appearance: none;\n display: none;\n}\n\n[dir=\"rtl\"] :where(input):not([type=\"checkbox\"], [type=\"radio\"], [type=\"range\"], [type=\"file\"])[type=\"search\"] {\n background-position: right 1.125rem center;\n}\n\n[dir=\"rtl\"] :where(input):not([type=\"checkbox\"], [type=\"radio\"], [type=\"range\"], [type=\"file\"])[type=\"search\"][aria-invalid] {\n background-position: right 1.125rem center, .75rem 50%;\n}\n\n:where(table) {\n border-collapse: collapse;\n border-spacing: 0;\n text-indent: 0;\n width: 100%;\n}\n\ntd, th {\n padding: calc(var(--spacing) / 2) var(--spacing);\n border-bottom: var(--border-width) solid var(--table-border-color);\n color: var(--color);\n font-weight: var(--font-weight);\n font-size: var(--font-size);\n text-align: left;\n text-align: start;\n}\n\ntfoot td, tfoot th {\n border-top: var(--border-width) solid var(--table-border-color);\n border-bottom: 0;\n}\n\ntable[role=\"grid\"] tbody tr:nth-child(odd) {\n background-color: var(--table-row-stripped-background-color);\n}\n\ncode, kbd, pre, samp {\n font-size: .875em;\n font-family: var(--font-family);\n}\n\npre {\n -ms-overflow-style: scrollbar;\n overflow: auto;\n}\n\ncode, kbd, pre {\n border-radius: var(--border-radius);\n background: var(--code-background-color);\n color: var(--code-color);\n font-weight: var(--font-weight);\n line-height: initial;\n}\n\ncode, kbd {\n padding: .375rem .5rem;\n display: inline-block;\n}\n\npre {\n margin-bottom: var(--spacing);\n display: block;\n overflow-x: auto;\n}\n\npre > code {\n padding: var(--spacing);\n font-size: 14px;\n line-height: var(--line-height);\n background: none;\n display: block;\n}\n\ncode b {\n color: var(--code-tag-color);\n font-weight: var(--font-weight);\n}\n\ncode i {\n color: var(--code-property-color);\n font-style: normal;\n}\n\ncode u {\n color: var(--code-value-color);\n text-decoration: none;\n}\n\ncode em {\n color: var(--code-comment-color);\n font-style: normal;\n}\n\nkbd {\n background-color: var(--code-kbd-background-color);\n color: var(--code-kbd-color);\n vertical-align: baseline;\n}\n\nhr {\n border: 0;\n border-top: 1px solid var(--muted-border-color);\n color: inherit;\n height: 0;\n}\n\n[hidden], template {\n display: none !important;\n}\n\ncanvas {\n display: inline-block;\n}\n\ndetails {\n margin-bottom: var(--spacing);\n padding-bottom: var(--spacing);\n border-bottom: var(--border-width) solid var(--accordion-border-color);\n display: block;\n}\n\ndetails summary {\n cursor: pointer;\n transition: color var(--transition);\n line-height: 1rem;\n list-style-type: none;\n}\n\ndetails summary:not([role]) {\n color: var(--accordion-close-summary-color);\n}\n\ndetails summary::-webkit-details-marker {\n display: none;\n}\n\ndetails summary::marker {\n display: none;\n}\n\ndetails summary::-moz-list-bullet {\n list-style-type: none;\n}\n\ndetails summary:after {\n -webkit-margin-start: calc(var(--spacing, 1rem) * .5);\n float: right;\n background-image: var(--icon-chevron);\n content: \"\";\n transition: transform var(--transition);\n background-position: 100%;\n background-repeat: no-repeat;\n background-size: 1rem;\n width: 1rem;\n height: 1rem;\n margin-inline-start: calc(var(--spacing, 1rem) * .5);\n display: block;\n transform: rotate(-90deg);\n}\n\ndetails summary:focus {\n outline: 0;\n}\n\ndetails summary:focus:not([role=\"button\"]) {\n color: var(--accordion-active-summary-color);\n}\n\ndetails summary[role=\"button\"] {\n text-align: left;\n width: 100%;\n}\n\ndetails summary[role=\"button\"]:after {\n height: calc(1rem * var(--line-height, 1.5));\n background-image: var(--icon-chevron-button);\n}\n\ndetails summary[role=\"button\"]:not(.outline).contrast:after {\n background-image: var(--icon-chevron-button-inverse);\n}\n\ndetails[open] > summary {\n margin-bottom: calc(var(--spacing));\n}\n\ndetails[open] > summary:not([role]):not(:focus) {\n color: var(--accordion-open-summary-color);\n}\n\ndetails[open] > summary:after {\n transform: rotate(0);\n}\n\n[dir=\"rtl\"] details summary {\n text-align: right;\n}\n\n[dir=\"rtl\"] details summary:after {\n float: left;\n background-position: 0;\n}\n\narticle {\n margin: var(--block-spacing-vertical) 0;\n padding: var(--block-spacing-vertical) var(--block-spacing-horizontal);\n border-radius: var(--border-radius);\n background: var(--card-background-color);\n box-shadow: var(--card-box-shadow);\n}\n\narticle > footer, article > header {\n margin-right: calc(var(--block-spacing-horizontal) * -1);\n margin-left: calc(var(--block-spacing-horizontal) * -1);\n padding: calc(var(--block-spacing-vertical) * .66) var(--block-spacing-horizontal);\n background-color: var(--card-sectionning-background-color);\n}\n\narticle > header {\n margin-top: calc(var(--block-spacing-vertical) * -1);\n margin-bottom: var(--block-spacing-vertical);\n border-bottom: var(--border-width) solid var(--card-border-color);\n border-top-right-radius: var(--border-radius);\n border-top-left-radius: var(--border-radius);\n}\n\narticle > footer {\n margin-top: var(--block-spacing-vertical);\n margin-bottom: calc(var(--block-spacing-vertical) * -1);\n border-top: var(--border-width) solid var(--card-border-color);\n border-bottom-right-radius: var(--border-radius);\n border-bottom-left-radius: var(--border-radius);\n}\n\n:root {\n --scrollbar-width: 0px;\n}\n\ndialog {\n z-index: 999;\n width: inherit;\n height: inherit;\n padding: var(--spacing);\n -webkit-backdrop-filter: var(--modal-overlay-backdrop-filter);\n backdrop-filter: var(--modal-overlay-backdrop-filter);\n background-color: var(--modal-overlay-background-color);\n color: var(--color);\n border: 0;\n justify-content: center;\n align-items: center;\n min-width: 100%;\n min-height: 100%;\n display: flex;\n position: fixed;\n inset: 0;\n}\n\ndialog article {\n max-height: calc(100vh - var(--spacing) * 2);\n overflow: auto;\n}\n\n@media (width >= 576px) {\n dialog article {\n max-width: 510px;\n }\n}\n\n@media (width >= 768px) {\n dialog article {\n max-width: 700px;\n }\n}\n\ndialog article > footer, dialog article > header {\n padding: calc(var(--block-spacing-vertical) * .5) var(--block-spacing-horizontal);\n}\n\ndialog article > header .close {\n margin: 0;\n margin-left: var(--spacing);\n float: right;\n}\n\ndialog article > footer {\n text-align: right;\n}\n\ndialog article > footer [role=\"button\"] {\n margin-bottom: 0;\n}\n\ndialog article > footer [role=\"button\"]:not(:first-of-type) {\n margin-left: calc(var(--spacing) * .5);\n}\n\ndialog article p:last-of-type {\n margin: 0;\n}\n\ndialog article .close {\n margin-top: calc(var(--block-spacing-vertical) * -.5);\n margin-bottom: var(--typography-spacing-vertical);\n background-image: var(--icon-close);\n opacity: .5;\n transition: opacity var(--transition);\n background-position: center;\n background-repeat: no-repeat;\n background-size: auto 1rem;\n width: 1rem;\n height: 1rem;\n margin-left: auto;\n display: block;\n}\n\ndialog article .close:is([aria-current], :hover, :active, :focus) {\n opacity: 1;\n}\n\ndialog:not([open]), dialog[open=\"false\"] {\n display: none;\n}\n\n.modal-is-open {\n padding-right: var(--scrollbar-width, 0);\n pointer-events: none;\n touch-action: none;\n overflow: hidden;\n}\n\n.modal-is-open dialog {\n pointer-events: auto;\n}\n\n:where(.modal-is-opening, .modal-is-closing) dialog, :where(.modal-is-opening, .modal-is-closing) dialog > article {\n animation-duration: .2s;\n animation-timing-function: ease-in-out;\n animation-fill-mode: both;\n}\n\n:where(.modal-is-opening, .modal-is-closing) dialog {\n animation-name: modal-overlay;\n animation-duration: .8s;\n}\n\n:where(.modal-is-opening, .modal-is-closing) dialog > article {\n animation-name: modal;\n animation-delay: .2s;\n}\n\n.modal-is-closing dialog, .modal-is-closing dialog > article {\n animation-direction: reverse;\n animation-delay: 0s;\n}\n\n@keyframes modal-overlay {\n from {\n backdrop-filter: none;\n background-color: #0000;\n }\n}\n\n@keyframes modal {\n from {\n opacity: 0;\n transform: translateY(-100%);\n }\n}\n\n:where(nav li):before {\n float: left;\n content: \"​\";\n}\n\nnav, nav ul {\n display: flex;\n}\n\nnav {\n justify-content: space-between;\n}\n\nnav ol, nav ul {\n align-items: center;\n margin-bottom: 0;\n padding: 0;\n list-style: none;\n}\n\nnav ol:first-of-type, nav ul:first-of-type {\n margin-left: calc(var(--nav-element-spacing-horizontal) * -1);\n}\n\nnav ol:last-of-type, nav ul:last-of-type {\n margin-right: calc(var(--nav-element-spacing-horizontal) * -1);\n}\n\nnav li {\n padding: var(--nav-element-spacing-vertical) var(--nav-element-spacing-horizontal);\n margin: 0;\n display: inline-block;\n}\n\nnav li > * {\n --spacing: 0;\n}\n\nnav :where(a, [role=\"link\"]) {\n margin: calc(var(--nav-link-spacing-vertical) * -1) calc(var(--nav-link-spacing-horizontal) * -1);\n padding: var(--nav-link-spacing-vertical) var(--nav-link-spacing-horizontal);\n border-radius: var(--border-radius);\n text-decoration: none;\n display: inline-block;\n}\n\nnav :where(a, [role=\"link\"]):is([aria-current], :hover, :active, :focus) {\n text-decoration: none;\n}\n\nnav[aria-label=\"breadcrumb\"] {\n justify-content: start;\n align-items: center;\n}\n\nnav[aria-label=\"breadcrumb\"] ul li:not(:first-child) {\n -webkit-margin-start: var(--nav-link-spacing-horizontal);\n margin-inline-start: var(--nav-link-spacing-horizontal);\n}\n\nnav[aria-label=\"breadcrumb\"] ul li:not(:last-child) :after {\n width: calc(var(--nav-link-spacing-horizontal) * 2);\n -webkit-margin-start: calc(var(--nav-link-spacing-horizontal) / 2);\n content: \"/\";\n color: var(--muted-color);\n text-align: center;\n margin-inline-start: calc(var(--nav-link-spacing-horizontal) / 2);\n position: absolute;\n}\n\nnav[aria-label=\"breadcrumb\"] a[aria-current] {\n color: inherit;\n pointer-events: none;\n background-color: #0000;\n text-decoration: none;\n}\n\nnav [role=\"button\"] {\n margin-right: inherit;\n margin-left: inherit;\n padding: var(--nav-link-spacing-vertical) var(--nav-link-spacing-horizontal);\n}\n\naside li, aside nav, aside ol, aside ul {\n display: block;\n}\n\naside li {\n padding: calc(var(--nav-element-spacing-vertical) * .5) var(--nav-element-spacing-horizontal);\n}\n\naside li a {\n display: block;\n}\n\naside li [role=\"button\"] {\n margin: inherit;\n}\n\n[dir=\"rtl\"] nav[aria-label=\"breadcrumb\"] ul li:not(:last-child) :after {\n content: \"\\\\\";\n}\n\nprogress {\n vertical-align: baseline;\n appearance: none;\n margin-bottom: calc(var(--spacing) * .5);\n border-radius: var(--border-radius);\n background-color: var(--progress-background-color);\n color: var(--progress-color);\n border: 0;\n width: 100%;\n height: .5rem;\n display: inline-block;\n overflow: hidden;\n}\n\nprogress::-webkit-progress-bar {\n border-radius: var(--border-radius);\n background: none;\n}\n\nprogress[value]::-webkit-progress-value {\n background-color: var(--progress-color);\n}\n\nprogress::-moz-progress-bar {\n background-color: var(--progress-color);\n}\n\n@media (prefers-reduced-motion: no-preference) {\n progress:indeterminate {\n background: var(--progress-background-color) linear-gradient(to right, var(--progress-color) 30%, var(--progress-background-color) 30%) top left / 150% 150% no-repeat;\n animation: 1s linear infinite progress-indeterminate;\n }\n\n progress:indeterminate[value]::-webkit-progress-value {\n background-color: #0000;\n }\n\n progress:indeterminate::-moz-progress-bar {\n background-color: #0000;\n }\n\n [dir=\"rtl\"] progress:indeterminate {\n animation-direction: reverse;\n }\n}\n\n@keyframes progress-indeterminate {\n 0% {\n background-position: 200% 0;\n }\n\n 100% {\n background-position: -200% 0;\n }\n}\n\ndetails[role=\"list\"], li[role=\"list\"] {\n position: relative;\n}\n\ndetails[role=\"list\"] summary + ul, li[role=\"list\"] > ul {\n z-index: 99;\n border: var(--border-width) solid var(--dropdown-border-color);\n border-radius: var(--border-radius);\n background-color: var(--dropdown-background-color);\n box-shadow: var(--card-box-shadow);\n color: var(--dropdown-color);\n white-space: nowrap;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n flex-direction: column;\n margin: 0;\n padding: 0;\n display: flex;\n position: absolute;\n top: auto;\n left: 0;\n right: 0;\n}\n\ndetails[role=\"list\"] summary + ul li, li[role=\"list\"] > ul li {\n padding: calc(var(--form-element-spacing-vertical) * .5) var(--form-element-spacing-horizontal);\n width: 100%;\n margin-bottom: 0;\n list-style: none;\n}\n\ndetails[role=\"list\"] summary + ul li:first-of-type, li[role=\"list\"] > ul li:first-of-type {\n margin-top: calc(var(--form-element-spacing-vertical) * .5);\n}\n\ndetails[role=\"list\"] summary + ul li:last-of-type, li[role=\"list\"] > ul li:last-of-type {\n margin-bottom: calc(var(--form-element-spacing-vertical) * .5);\n}\n\ndetails[role=\"list\"] summary + ul li a, li[role=\"list\"] > ul li a {\n margin: calc(var(--form-element-spacing-vertical) * -.5) calc(var(--form-element-spacing-horizontal) * -1);\n padding: calc(var(--form-element-spacing-vertical) * .5) var(--form-element-spacing-horizontal);\n color: var(--dropdown-color);\n text-overflow: ellipsis;\n text-decoration: none;\n display: block;\n overflow: hidden;\n}\n\ndetails[role=\"list\"] summary + ul li a:hover, li[role=\"list\"] > ul li a:hover {\n background-color: var(--dropdown-hover-background-color);\n}\n\ndetails[role=\"list\"] summary:after, li[role=\"list\"] > a:after {\n height: calc(1rem * var(--line-height, 1.5));\n -webkit-margin-start: .5rem;\n float: right;\n content: \"\";\n background-position: 100%;\n background-repeat: no-repeat;\n background-size: 1rem;\n width: 1rem;\n margin-inline-start: .5rem;\n display: block;\n transform: rotate(0);\n}\n\ndetails[role=\"list\"] {\n border-bottom: none;\n padding: 0;\n}\n\ndetails[role=\"list\"] summary {\n margin-bottom: 0;\n}\n\ndetails[role=\"list\"] summary:not([role]) {\n height: calc(1rem * var(--line-height) + var(--form-element-spacing-vertical) * 2 + var(--border-width) * 2);\n padding: var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);\n border: var(--border-width) solid var(--form-element-border-color);\n border-radius: var(--border-radius);\n background-color: var(--form-element-background-color);\n color: var(--form-element-placeholder-color);\n line-height: inherit;\n cursor: pointer;\n transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);\n}\n\ndetails[role=\"list\"] summary:not([role]):active, details[role=\"list\"] summary:not([role]):focus {\n border-color: var(--form-element-active-border-color);\n background-color: var(--form-element-active-background-color);\n}\n\ndetails[role=\"list\"] summary:not([role]):focus {\n box-shadow: 0 0 0 var(--outline-width) var(--form-element-focus-color);\n}\n\ndetails[role=\"list\"][open] summary {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n\ndetails[role=\"list\"][open] summary:before {\n z-index: 1;\n content: \"\";\n cursor: default;\n background: none;\n display: block;\n position: fixed;\n inset: 0;\n}\n\nnav details[role=\"list\"] summary, nav li[role=\"list\"] a {\n direction: ltr;\n display: flex;\n}\n\nnav details[role=\"list\"] summary + ul, nav li[role=\"list\"] > ul {\n border-radius: var(--border-radius);\n min-width: -moz-fit-content;\n min-width: fit-content;\n}\n\nnav details[role=\"list\"] summary + ul li a, nav li[role=\"list\"] > ul li a {\n border-radius: 0;\n}\n\nnav details[role=\"list\"] summary, nav details[role=\"list\"] summary:not([role]) {\n padding: var(--nav-link-spacing-vertical) var(--nav-link-spacing-horizontal);\n height: auto;\n}\n\nnav details[role=\"list\"][open] summary {\n border-radius: var(--border-radius);\n}\n\nnav details[role=\"list\"] summary + ul {\n margin-top: var(--outline-width);\n -webkit-margin-start: 0;\n margin-inline-start: 0;\n}\n\nnav details[role=\"list\"] summary[role=\"link\"] {\n margin-bottom: calc(var(--nav-link-spacing-vertical) * -1);\n line-height: var(--line-height);\n}\n\nnav details[role=\"list\"] summary[role=\"link\"] + ul {\n margin-top: calc(var(--nav-link-spacing-vertical) + var(--outline-width));\n -webkit-margin-start: calc(var(--nav-link-spacing-horizontal) * -1);\n margin-inline-start: calc(var(--nav-link-spacing-horizontal) * -1);\n}\n\nli[role=\"list\"] a:active ~ ul, li[role=\"list\"] a:focus ~ ul, li[role=\"list\"]:hover > ul {\n display: flex;\n}\n\nli[role=\"list\"] > ul {\n margin-top: calc(var(--nav-link-spacing-vertical) + var(--outline-width));\n -webkit-margin-start: calc(var(--nav-element-spacing-horizontal) - var(--nav-link-spacing-horizontal));\n margin-inline-start: calc(var(--nav-element-spacing-horizontal) - var(--nav-link-spacing-horizontal));\n display: none;\n}\n\nli[role=\"list\"] > a:after {\n background-image: var(--icon-chevron);\n}\n\nlabel > details[role=\"list\"] {\n margin-top: calc(var(--spacing) * .25);\n margin-bottom: var(--spacing);\n}\n\n[aria-busy=\"true\"] {\n cursor: progress;\n}\n\n[aria-busy=\"true\"]:not(input, select, textarea, html):before {\n content: \"\";\n vertical-align: text-bottom;\n vertical-align: -.125em;\n opacity: var(--loading-spinner-opacity);\n border: .1875em solid;\n border-right-color: #0000;\n border-radius: 1em;\n width: 1em;\n height: 1em;\n animation: .75s linear infinite spinner;\n display: inline-block;\n}\n\n[aria-busy=\"true\"]:not(input, select, textarea, html):not(:empty):before {\n margin-right: calc(var(--spacing) * .5);\n -webkit-margin-start: 0;\n margin-left: 0;\n -webkit-margin-end: calc(var(--spacing) * .5);\n margin-inline-start: 0;\n margin-inline-end: calc(var(--spacing) * .5);\n}\n\n[aria-busy=\"true\"]:not(input, select, textarea, html):empty {\n text-align: center;\n}\n\na[aria-busy=\"true\"], button[aria-busy=\"true\"], input[type=\"button\"][aria-busy=\"true\"], input[type=\"reset\"][aria-busy=\"true\"], input[type=\"submit\"][aria-busy=\"true\"] {\n pointer-events: none;\n}\n\n@keyframes spinner {\n to {\n transform: rotate(360deg);\n }\n}\n\n[data-tooltip] {\n position: relative;\n}\n\n[data-tooltip]:not(a, button, input) {\n cursor: help;\n border-bottom: 1px dotted;\n text-decoration: none;\n}\n\n[data-tooltip]:after, [data-tooltip]:before, [data-tooltip][data-placement=\"top\"]:after, [data-tooltip][data-placement=\"top\"]:before {\n z-index: 99;\n border-radius: var(--border-radius);\n background: var(--tooltip-background-color);\n content: attr(data-tooltip);\n color: var(--tooltip-color);\n font-style: normal;\n font-weight: var(--font-weight);\n text-overflow: ellipsis;\n white-space: nowrap;\n opacity: 0;\n pointer-events: none;\n padding: .25rem .5rem;\n font-size: .875rem;\n text-decoration: none;\n display: block;\n position: absolute;\n bottom: 100%;\n left: 50%;\n overflow: hidden;\n transform: translate(-50%, -.25rem);\n}\n\n[data-tooltip]:after, [data-tooltip][data-placement=\"top\"]:after {\n content: \"\";\n color: var(--tooltip-background-color);\n background-color: #0000;\n border-top: .3rem solid;\n border-left: .3rem solid #0000;\n border-right: .3rem solid #0000;\n border-radius: 0;\n padding: 0;\n transform: translate(-50%);\n}\n\n[data-tooltip][data-placement=\"bottom\"]:after, [data-tooltip][data-placement=\"bottom\"]:before {\n top: 100%;\n bottom: auto;\n transform: translate(-50%, .25rem);\n}\n\n[data-tooltip][data-placement=\"bottom\"]:after {\n border: .3rem solid #0000;\n border-bottom-color: currentColor;\n transform: translate(-50%, -.3rem);\n}\n\n[data-tooltip][data-placement=\"left\"]:after, [data-tooltip][data-placement=\"left\"]:before {\n inset: 50% 100% auto auto;\n transform: translate(-.25rem, -50%);\n}\n\n[data-tooltip][data-placement=\"left\"]:after {\n border: .3rem solid #0000;\n border-left-color: currentColor;\n transform: translate(.3rem, -50%);\n}\n\n[data-tooltip][data-placement=\"right\"]:after, [data-tooltip][data-placement=\"right\"]:before {\n inset: 50% auto auto 100%;\n transform: translate(.25rem, -50%);\n}\n\n[data-tooltip][data-placement=\"right\"]:after {\n border: .3rem solid #0000;\n border-right-color: currentColor;\n transform: translate(-.3rem, -50%);\n}\n\n[data-tooltip]:focus:after, [data-tooltip]:focus:before, [data-tooltip]:hover:after, [data-tooltip]:hover:before {\n opacity: 1;\n}\n\n@media (hover: hover) and (pointer: fine) {\n [data-tooltip]:hover:after, [data-tooltip]:hover:before, [data-tooltip][data-placement=\"bottom\"]:focus:after, [data-tooltip][data-placement=\"bottom\"]:focus:before, [data-tooltip][data-placement=\"bottom\"]:hover [data-tooltip]:focus:after, [data-tooltip][data-placement=\"bottom\"]:hover [data-tooltip]:focus:before {\n animation-name: tooltip-slide-top;\n animation-duration: .2s;\n }\n\n [data-tooltip]:hover:after, [data-tooltip][data-placement=\"bottom\"]:focus:after, [data-tooltip][data-placement=\"bottom\"]:hover [data-tooltip]:focus:after {\n animation-name: tooltip-caret-slide-top;\n }\n\n [data-tooltip][data-placement=\"bottom\"]:focus:after, [data-tooltip][data-placement=\"bottom\"]:focus:before, [data-tooltip][data-placement=\"bottom\"]:hover:after, [data-tooltip][data-placement=\"bottom\"]:hover:before {\n animation-name: tooltip-slide-bottom;\n animation-duration: .2s;\n }\n\n [data-tooltip][data-placement=\"bottom\"]:focus:after, [data-tooltip][data-placement=\"bottom\"]:hover:after {\n animation-name: tooltip-caret-slide-bottom;\n }\n\n [data-tooltip][data-placement=\"left\"]:focus:after, [data-tooltip][data-placement=\"left\"]:focus:before, [data-tooltip][data-placement=\"left\"]:hover:after, [data-tooltip][data-placement=\"left\"]:hover:before {\n animation-name: tooltip-slide-left;\n animation-duration: .2s;\n }\n\n [data-tooltip][data-placement=\"left\"]:focus:after, [data-tooltip][data-placement=\"left\"]:hover:after {\n animation-name: tooltip-caret-slide-left;\n }\n\n [data-tooltip][data-placement=\"right\"]:focus:after, [data-tooltip][data-placement=\"right\"]:focus:before, [data-tooltip][data-placement=\"right\"]:hover:after, [data-tooltip][data-placement=\"right\"]:hover:before {\n animation-name: tooltip-slide-right;\n animation-duration: .2s;\n }\n\n [data-tooltip][data-placement=\"right\"]:focus:after, [data-tooltip][data-placement=\"right\"]:hover:after {\n animation-name: tooltip-caret-slide-right;\n }\n}\n\n@keyframes tooltip-slide-top {\n from {\n opacity: 0;\n transform: translate(-50%, .75rem);\n }\n\n to {\n opacity: 1;\n transform: translate(-50%, -.25rem);\n }\n}\n\n@keyframes tooltip-caret-slide-top {\n from {\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n transform: translate(-50%, -.25rem);\n }\n\n to {\n opacity: 1;\n transform: translate(-50%);\n }\n}\n\n@keyframes tooltip-slide-bottom {\n from {\n opacity: 0;\n transform: translate(-50%, -.75rem);\n }\n\n to {\n opacity: 1;\n transform: translate(-50%, .25rem);\n }\n}\n\n@keyframes tooltip-caret-slide-bottom {\n from {\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n transform: translate(-50%, -.5rem);\n }\n\n to {\n opacity: 1;\n transform: translate(-50%, -.3rem);\n }\n}\n\n@keyframes tooltip-slide-left {\n from {\n opacity: 0;\n transform: translate(.75rem, -50%);\n }\n\n to {\n opacity: 1;\n transform: translate(-.25rem, -50%);\n }\n}\n\n@keyframes tooltip-caret-slide-left {\n from {\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n transform: translate(.05rem, -50%);\n }\n\n to {\n opacity: 1;\n transform: translate(.3rem, -50%);\n }\n}\n\n@keyframes tooltip-slide-right {\n from {\n opacity: 0;\n transform: translate(-.75rem, -50%);\n }\n\n to {\n opacity: 1;\n transform: translate(.25rem, -50%);\n }\n}\n\n@keyframes tooltip-caret-slide-right {\n from {\n opacity: 0;\n }\n\n 50% {\n opacity: 0;\n transform: translate(-.05rem, -50%);\n }\n\n to {\n opacity: 1;\n transform: translate(-.3rem, -50%);\n }\n}\n\n[aria-controls] {\n cursor: pointer;\n}\n\n[aria-disabled=\"true\"], [disabled] {\n cursor: not-allowed;\n}\n\n[aria-hidden=\"false\"][hidden] {\n display: initial;\n}\n\n[aria-hidden=\"false\"][hidden]:not(:focus) {\n clip: rect(0, 0, 0, 0);\n position: absolute;\n}\n\n[tabindex], a, area, button, input, label, select, summary, textarea {\n -ms-touch-action: manipulation;\n}\n\n[dir=\"rtl\"] {\n direction: rtl;\n}\n\n@media (prefers-reduced-motion: reduce) {\n :not([aria-busy=\"true\"]), :not([aria-busy=\"true\"]):after, :not([aria-busy=\"true\"]):before {\n background-attachment: initial !important;\n scroll-behavior: auto !important;\n transition-duration: 0s !important;\n transition-delay: 0s !important;\n animation-duration: 1ms !important;\n animation-iteration-count: 1 !important;\n animation-delay: -1ms !important;\n }\n}\n\n.toastify {\n color: #fff;\n opacity: 0;\n cursor: pointer;\n z-index: 2147483647;\n background: linear-gradient(135deg, #73a5ff, #5477f5);\n border-radius: 2px;\n max-width: calc(50% - 20px);\n padding: 12px 20px;\n text-decoration: none;\n transition: all .4s cubic-bezier(.215, .61, .355, 1);\n display: inline-block;\n position: fixed;\n box-shadow: 0 3px 6px -1px #0000001f, 0 10px 36px -4px #4d60e84d;\n}\n\n.toastify.on {\n opacity: 1;\n}\n\n.toast-close {\n color: #fff;\n cursor: pointer;\n opacity: .4;\n background: none;\n border: 0;\n padding: 0 5px;\n font-family: inherit;\n font-size: 1em;\n}\n\n.toastify-right {\n right: 15px;\n}\n\n.toastify-left {\n left: 15px;\n}\n\n.toastify-top {\n top: -150px;\n}\n\n.toastify-bottom {\n bottom: -150px;\n}\n\n.toastify-rounded {\n border-radius: 25px;\n}\n\n.toastify-avatar {\n border-radius: 2px;\n width: 1.5em;\n height: 1.5em;\n margin: -7px 5px;\n}\n\n.toastify-center {\n max-width: -moz-fit-content;\n margin-left: auto;\n margin-right: auto;\n left: 0;\n right: 0;\n}\n\n@media only screen and (width <= 360px) {\n .toastify-right, .toastify-left {\n max-width: -moz-fit-content;\n max-width: fit-content;\n margin-left: auto;\n margin-right: auto;\n left: 0;\n right: 0;\n }\n}\n\n/*# sourceMappingURL=index.65c2cb26.css.map */\n","@charset \"UTF-8\";/*!\n * Pico CSS v1.5.10 (https://picocss.com)\n * Copyright 2019-2023 - Licensed under MIT\n */:root{--font-family:system-ui,-apple-system,\"Segoe UI\",\"Roboto\",\"Ubuntu\",\"Cantarell\",\"Noto Sans\",sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\";--line-height:1.5;--font-weight:400;--font-size:16px;--border-radius:0.25rem;--border-width:1px;--outline-width:3px;--spacing:1rem;--typography-spacing-vertical:1.5rem;--block-spacing-vertical:calc(var(--spacing) * 2);--block-spacing-horizontal:var(--spacing);--grid-spacing-vertical:0;--grid-spacing-horizontal:var(--spacing);--form-element-spacing-vertical:0.75rem;--form-element-spacing-horizontal:1rem;--nav-element-spacing-vertical:1rem;--nav-element-spacing-horizontal:0.5rem;--nav-link-spacing-vertical:0.5rem;--nav-link-spacing-horizontal:0.5rem;--form-label-font-weight:var(--font-weight);--transition:0.2s ease-in-out;--modal-overlay-backdrop-filter:blur(0.25rem)}@media (min-width:576px){:root{--font-size:17px}}@media (min-width:768px){:root{--font-size:18px}}@media (min-width:992px){:root{--font-size:19px}}@media (min-width:1200px){:root{--font-size:20px}}@media (min-width:576px){body>footer,body>header,body>main,section{--block-spacing-vertical:calc(var(--spacing) * 2.5)}}@media (min-width:768px){body>footer,body>header,body>main,section{--block-spacing-vertical:calc(var(--spacing) * 3)}}@media (min-width:992px){body>footer,body>header,body>main,section{--block-spacing-vertical:calc(var(--spacing) * 3.5)}}@media (min-width:1200px){body>footer,body>header,body>main,section{--block-spacing-vertical:calc(var(--spacing) * 4)}}@media (min-width:576px){article{--block-spacing-horizontal:calc(var(--spacing) * 1.25)}}@media (min-width:768px){article{--block-spacing-horizontal:calc(var(--spacing) * 1.5)}}@media (min-width:992px){article{--block-spacing-horizontal:calc(var(--spacing) * 1.75)}}@media (min-width:1200px){article{--block-spacing-horizontal:calc(var(--spacing) * 2)}}dialog>article{--block-spacing-vertical:calc(var(--spacing) * 2);--block-spacing-horizontal:var(--spacing)}@media (min-width:576px){dialog>article{--block-spacing-vertical:calc(var(--spacing) * 2.5);--block-spacing-horizontal:calc(var(--spacing) * 1.25)}}@media (min-width:768px){dialog>article{--block-spacing-vertical:calc(var(--spacing) * 3);--block-spacing-horizontal:calc(var(--spacing) * 1.5)}}a{--text-decoration:none}a.contrast,a.secondary{--text-decoration:underline}small{--font-size:0.875em}h1,h2,h3,h4,h5,h6{--font-weight:700}h1{--font-size:2rem;--typography-spacing-vertical:3rem}h2{--font-size:1.75rem;--typography-spacing-vertical:2.625rem}h3{--font-size:1.5rem;--typography-spacing-vertical:2.25rem}h4{--font-size:1.25rem;--typography-spacing-vertical:1.874rem}h5{--font-size:1.125rem;--typography-spacing-vertical:1.6875rem}[type=checkbox],[type=radio]{--border-width:2px}[type=checkbox][role=switch]{--border-width:3px}tfoot td,tfoot th,thead td,thead th{--border-width:3px}:not(thead,tfoot)>*>td{--font-size:0.875em}code,kbd,pre,samp{--font-family:\"Menlo\",\"Consolas\",\"Roboto Mono\",\"Ubuntu Monospace\",\"Noto Mono\",\"Oxygen Mono\",\"Liberation Mono\",monospace,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\"}kbd{--font-weight:bolder}:root:not([data-theme=dark]),[data-theme=light]{--background-color:#fff;--color:hsl(205, 20%, 32%);--h1-color:hsl(205, 30%, 15%);--h2-color:#24333e;--h3-color:hsl(205, 25%, 23%);--h4-color:#374956;--h5-color:hsl(205, 20%, 32%);--h6-color:#4d606d;--muted-color:hsl(205, 10%, 50%);--muted-border-color:hsl(205, 20%, 94%);--primary:hsl(195, 85%, 41%);--primary-hover:hsl(195, 90%, 32%);--primary-focus:rgba(16, 149, 193, 0.125);--primary-inverse:#fff;--secondary:hsl(205, 15%, 41%);--secondary-hover:hsl(205, 20%, 32%);--secondary-focus:rgba(89, 107, 120, 0.125);--secondary-inverse:#fff;--contrast:hsl(205, 30%, 15%);--contrast-hover:#000;--contrast-focus:rgba(89, 107, 120, 0.125);--contrast-inverse:#fff;--mark-background-color:#fff2ca;--mark-color:#543a26;--ins-color:#388e3c;--del-color:#c62828;--blockquote-border-color:var(--muted-border-color);--blockquote-footer-color:var(--muted-color);--button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--form-element-background-color:transparent;--form-element-border-color:hsl(205, 14%, 68%);--form-element-color:var(--color);--form-element-placeholder-color:var(--muted-color);--form-element-active-background-color:transparent;--form-element-active-border-color:var(--primary);--form-element-focus-color:var(--primary-focus);--form-element-disabled-background-color:hsl(205, 18%, 86%);--form-element-disabled-border-color:hsl(205, 14%, 68%);--form-element-disabled-opacity:0.5;--form-element-invalid-border-color:#c62828;--form-element-invalid-active-border-color:#d32f2f;--form-element-invalid-focus-color:rgba(211, 47, 47, 0.125);--form-element-valid-border-color:#388e3c;--form-element-valid-active-border-color:#43a047;--form-element-valid-focus-color:rgba(67, 160, 71, 0.125);--switch-background-color:hsl(205, 16%, 77%);--switch-color:var(--primary-inverse);--switch-checked-background-color:var(--primary);--range-border-color:hsl(205, 18%, 86%);--range-active-border-color:hsl(205, 16%, 77%);--range-thumb-border-color:var(--background-color);--range-thumb-color:var(--secondary);--range-thumb-hover-color:var(--secondary-hover);--range-thumb-active-color:var(--primary);--table-border-color:var(--muted-border-color);--table-row-stripped-background-color:#f6f8f9;--code-background-color:hsl(205, 20%, 94%);--code-color:var(--muted-color);--code-kbd-background-color:var(--contrast);--code-kbd-color:var(--contrast-inverse);--code-tag-color:hsl(330, 40%, 50%);--code-property-color:hsl(185, 40%, 40%);--code-value-color:hsl(40, 20%, 50%);--code-comment-color:hsl(205, 14%, 68%);--accordion-border-color:var(--muted-border-color);--accordion-close-summary-color:var(--color);--accordion-open-summary-color:var(--muted-color);--card-background-color:var(--background-color);--card-border-color:var(--muted-border-color);--card-box-shadow:0.0145rem 0.029rem 0.174rem rgba(27, 40, 50, 0.01698),0.0335rem 0.067rem 0.402rem rgba(27, 40, 50, 0.024),0.0625rem 0.125rem 0.75rem rgba(27, 40, 50, 0.03),0.1125rem 0.225rem 1.35rem rgba(27, 40, 50, 0.036),0.2085rem 0.417rem 2.502rem rgba(27, 40, 50, 0.04302),0.5rem 1rem 6rem rgba(27, 40, 50, 0.06),0 0 0 0.0625rem rgba(27, 40, 50, 0.015);--card-sectionning-background-color:#fbfbfc;--dropdown-background-color:#fbfbfc;--dropdown-border-color:#e1e6eb;--dropdown-box-shadow:var(--card-box-shadow);--dropdown-color:var(--color);--dropdown-hover-background-color:hsl(205, 20%, 94%);--modal-overlay-background-color:rgba(213, 220, 226, 0.7);--progress-background-color:hsl(205, 18%, 86%);--progress-color:var(--primary);--loading-spinner-opacity:0.5;--tooltip-background-color:var(--contrast);--tooltip-color:var(--contrast-inverse);--icon-checkbox:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");--icon-chevron:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");--icon-chevron-button:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");--icon-chevron-button-inverse:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");--icon-close:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E\");--icon-date:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E\");--icon-invalid:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(198, 40, 40)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E\");--icon-minus:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E\");--icon-search:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E\");--icon-time:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(65, 84, 98)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E\");--icon-valid:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(56, 142, 60)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");color-scheme:light}@media only screen and (prefers-color-scheme:dark){:root:not([data-theme]){--background-color:#11191f;--color:hsl(205, 16%, 77%);--h1-color:hsl(205, 20%, 94%);--h2-color:#e1e6eb;--h3-color:hsl(205, 18%, 86%);--h4-color:#c8d1d8;--h5-color:hsl(205, 16%, 77%);--h6-color:#afbbc4;--muted-color:hsl(205, 10%, 50%);--muted-border-color:#1f2d38;--primary:hsl(195, 85%, 41%);--primary-hover:hsl(195, 80%, 50%);--primary-focus:rgba(16, 149, 193, 0.25);--primary-inverse:#fff;--secondary:hsl(205, 15%, 41%);--secondary-hover:hsl(205, 10%, 50%);--secondary-focus:rgba(115, 130, 140, 0.25);--secondary-inverse:#fff;--contrast:hsl(205, 20%, 94%);--contrast-hover:#fff;--contrast-focus:rgba(115, 130, 140, 0.25);--contrast-inverse:#000;--mark-background-color:#d1c284;--mark-color:#11191f;--ins-color:#388e3c;--del-color:#c62828;--blockquote-border-color:var(--muted-border-color);--blockquote-footer-color:var(--muted-color);--button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--form-element-background-color:#11191f;--form-element-border-color:#374956;--form-element-color:var(--color);--form-element-placeholder-color:var(--muted-color);--form-element-active-background-color:var(--form-element-background-color);--form-element-active-border-color:var(--primary);--form-element-focus-color:var(--primary-focus);--form-element-disabled-background-color:hsl(205, 25%, 23%);--form-element-disabled-border-color:hsl(205, 20%, 32%);--form-element-disabled-opacity:0.5;--form-element-invalid-border-color:#b71c1c;--form-element-invalid-active-border-color:#c62828;--form-element-invalid-focus-color:rgba(198, 40, 40, 0.25);--form-element-valid-border-color:#2e7d32;--form-element-valid-active-border-color:#388e3c;--form-element-valid-focus-color:rgba(56, 142, 60, 0.25);--switch-background-color:#374956;--switch-color:var(--primary-inverse);--switch-checked-background-color:var(--primary);--range-border-color:#24333e;--range-active-border-color:hsl(205, 25%, 23%);--range-thumb-border-color:var(--background-color);--range-thumb-color:var(--secondary);--range-thumb-hover-color:var(--secondary-hover);--range-thumb-active-color:var(--primary);--table-border-color:var(--muted-border-color);--table-row-stripped-background-color:rgba(115, 130, 140, 0.05);--code-background-color:#18232c;--code-color:var(--muted-color);--code-kbd-background-color:var(--contrast);--code-kbd-color:var(--contrast-inverse);--code-tag-color:hsl(330, 30%, 50%);--code-property-color:hsl(185, 30%, 50%);--code-value-color:hsl(40, 10%, 50%);--code-comment-color:#4d606d;--accordion-border-color:var(--muted-border-color);--accordion-active-summary-color:var(--primary);--accordion-close-summary-color:var(--color);--accordion-open-summary-color:var(--muted-color);--card-background-color:#141e26;--card-border-color:var(--card-background-color);--card-box-shadow:0.0145rem 0.029rem 0.174rem rgba(0, 0, 0, 0.01698),0.0335rem 0.067rem 0.402rem rgba(0, 0, 0, 0.024),0.0625rem 0.125rem 0.75rem rgba(0, 0, 0, 0.03),0.1125rem 0.225rem 1.35rem rgba(0, 0, 0, 0.036),0.2085rem 0.417rem 2.502rem rgba(0, 0, 0, 0.04302),0.5rem 1rem 6rem rgba(0, 0, 0, 0.06),0 0 0 0.0625rem rgba(0, 0, 0, 0.015);--card-sectionning-background-color:#18232c;--dropdown-background-color:hsl(205, 30%, 15%);--dropdown-border-color:#24333e;--dropdown-box-shadow:var(--card-box-shadow);--dropdown-color:var(--color);--dropdown-hover-background-color:rgba(36, 51, 62, 0.75);--modal-overlay-background-color:rgba(36, 51, 62, 0.8);--progress-background-color:#24333e;--progress-color:var(--primary);--loading-spinner-opacity:0.5;--tooltip-background-color:var(--contrast);--tooltip-color:var(--contrast-inverse);--icon-checkbox:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");--icon-chevron:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");--icon-chevron-button:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");--icon-chevron-button-inverse:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(0, 0, 0)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");--icon-close:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E\");--icon-date:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E\");--icon-invalid:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(183, 28, 28)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E\");--icon-minus:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E\");--icon-search:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E\");--icon-time:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E\");--icon-valid:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(46, 125, 50)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");color-scheme:dark}}[data-theme=dark]{--background-color:#11191f;--color:hsl(205, 16%, 77%);--h1-color:hsl(205, 20%, 94%);--h2-color:#e1e6eb;--h3-color:hsl(205, 18%, 86%);--h4-color:#c8d1d8;--h5-color:hsl(205, 16%, 77%);--h6-color:#afbbc4;--muted-color:hsl(205, 10%, 50%);--muted-border-color:#1f2d38;--primary:hsl(195, 85%, 41%);--primary-hover:hsl(195, 80%, 50%);--primary-focus:rgba(16, 149, 193, 0.25);--primary-inverse:#fff;--secondary:hsl(205, 15%, 41%);--secondary-hover:hsl(205, 10%, 50%);--secondary-focus:rgba(115, 130, 140, 0.25);--secondary-inverse:#fff;--contrast:hsl(205, 20%, 94%);--contrast-hover:#fff;--contrast-focus:rgba(115, 130, 140, 0.25);--contrast-inverse:#000;--mark-background-color:#d1c284;--mark-color:#11191f;--ins-color:#388e3c;--del-color:#c62828;--blockquote-border-color:var(--muted-border-color);--blockquote-footer-color:var(--muted-color);--button-box-shadow:0 0 0 rgba(0, 0, 0, 0);--button-hover-box-shadow:0 0 0 rgba(0, 0, 0, 0);--form-element-background-color:#11191f;--form-element-border-color:#374956;--form-element-color:var(--color);--form-element-placeholder-color:var(--muted-color);--form-element-active-background-color:var(--form-element-background-color);--form-element-active-border-color:var(--primary);--form-element-focus-color:var(--primary-focus);--form-element-disabled-background-color:hsl(205, 25%, 23%);--form-element-disabled-border-color:hsl(205, 20%, 32%);--form-element-disabled-opacity:0.5;--form-element-invalid-border-color:#b71c1c;--form-element-invalid-active-border-color:#c62828;--form-element-invalid-focus-color:rgba(198, 40, 40, 0.25);--form-element-valid-border-color:#2e7d32;--form-element-valid-active-border-color:#388e3c;--form-element-valid-focus-color:rgba(56, 142, 60, 0.25);--switch-background-color:#374956;--switch-color:var(--primary-inverse);--switch-checked-background-color:var(--primary);--range-border-color:#24333e;--range-active-border-color:hsl(205, 25%, 23%);--range-thumb-border-color:var(--background-color);--range-thumb-color:var(--secondary);--range-thumb-hover-color:var(--secondary-hover);--range-thumb-active-color:var(--primary);--table-border-color:var(--muted-border-color);--table-row-stripped-background-color:rgba(115, 130, 140, 0.05);--code-background-color:#18232c;--code-color:var(--muted-color);--code-kbd-background-color:var(--contrast);--code-kbd-color:var(--contrast-inverse);--code-tag-color:hsl(330, 30%, 50%);--code-property-color:hsl(185, 30%, 50%);--code-value-color:hsl(40, 10%, 50%);--code-comment-color:#4d606d;--accordion-border-color:var(--muted-border-color);--accordion-active-summary-color:var(--primary);--accordion-close-summary-color:var(--color);--accordion-open-summary-color:var(--muted-color);--card-background-color:#141e26;--card-border-color:var(--card-background-color);--card-box-shadow:0.0145rem 0.029rem 0.174rem rgba(0, 0, 0, 0.01698),0.0335rem 0.067rem 0.402rem rgba(0, 0, 0, 0.024),0.0625rem 0.125rem 0.75rem rgba(0, 0, 0, 0.03),0.1125rem 0.225rem 1.35rem rgba(0, 0, 0, 0.036),0.2085rem 0.417rem 2.502rem rgba(0, 0, 0, 0.04302),0.5rem 1rem 6rem rgba(0, 0, 0, 0.06),0 0 0 0.0625rem rgba(0, 0, 0, 0.015);--card-sectionning-background-color:#18232c;--dropdown-background-color:hsl(205, 30%, 15%);--dropdown-border-color:#24333e;--dropdown-box-shadow:var(--card-box-shadow);--dropdown-color:var(--color);--dropdown-hover-background-color:rgba(36, 51, 62, 0.75);--modal-overlay-background-color:rgba(36, 51, 62, 0.8);--progress-background-color:#24333e;--progress-color:var(--primary);--loading-spinner-opacity:0.5;--tooltip-background-color:var(--contrast);--tooltip-color:var(--contrast-inverse);--icon-checkbox:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");--icon-chevron:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");--icon-chevron-button:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");--icon-chevron-button-inverse:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(0, 0, 0)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E\");--icon-close:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(115, 130, 140)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='18' y1='6' x2='6' y2='18'%3E%3C/line%3E%3Cline x1='6' y1='6' x2='18' y2='18'%3E%3C/line%3E%3C/svg%3E\");--icon-date:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'%3E%3C/rect%3E%3Cline x1='16' y1='2' x2='16' y2='6'%3E%3C/line%3E%3Cline x1='8' y1='2' x2='8' y2='6'%3E%3C/line%3E%3Cline x1='3' y1='10' x2='21' y2='10'%3E%3C/line%3E%3C/svg%3E\");--icon-invalid:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(183, 28, 28)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cline x1='12' y1='8' x2='12' y2='12'%3E%3C/line%3E%3Cline x1='12' y1='16' x2='12.01' y2='16'%3E%3C/line%3E%3C/svg%3E\");--icon-minus:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(255, 255, 255)' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='5' y1='12' x2='19' y2='12'%3E%3C/line%3E%3C/svg%3E\");--icon-search:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'%3E%3C/circle%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'%3E%3C/line%3E%3C/svg%3E\");--icon-time:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(162, 175, 185)' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'%3E%3C/circle%3E%3Cpolyline points='12 6 12 12 16 14'%3E%3C/polyline%3E%3C/svg%3E\");--icon-valid:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='rgb(46, 125, 50)' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E\");color-scheme:dark}[type=checkbox],[type=radio],[type=range],progress{accent-color:var(--primary)}*,::after,::before{box-sizing:border-box;background-repeat:no-repeat}::after,::before{text-decoration:inherit;vertical-align:inherit}:where(:root){-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--background-color);color:var(--color);font-weight:var(--font-weight);font-size:var(--font-size);line-height:var(--line-height);font-family:var(--font-family);text-rendering:optimizeLegibility;overflow-wrap:break-word;cursor:default;-moz-tab-size:4;-o-tab-size:4;tab-size:4}main{display:block}body{width:100%;margin:0}body>footer,body>header,body>main{width:100%;margin-right:auto;margin-left:auto;padding:var(--block-spacing-vertical) 0}.container,.container-fluid{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--spacing);padding-left:var(--spacing)}@media (min-width:576px){.container{max-width:510px;padding-right:0;padding-left:0}}@media (min-width:768px){.container{max-width:700px}}@media (min-width:992px){.container{max-width:920px}}@media (min-width:1200px){.container{max-width:1130px}}section{margin-bottom:var(--block-spacing-vertical)}.grid{grid-column-gap:var(--grid-spacing-horizontal);grid-row-gap:var(--grid-spacing-vertical);display:grid;grid-template-columns:1fr;margin:0}@media (min-width:992px){.grid{grid-template-columns:repeat(auto-fit,minmax(0%,1fr))}}.grid>*{min-width:0}figure{display:block;margin:0;padding:0;overflow-x:auto}figure figcaption{padding:calc(var(--spacing) * .5) 0;color:var(--muted-color)}b,strong{font-weight:bolder}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}address,blockquote,dl,figure,form,ol,p,pre,table,ul{margin-top:0;margin-bottom:var(--typography-spacing-vertical);color:var(--color);font-style:normal;font-weight:var(--font-weight);font-size:var(--font-size)}[role=link],a{--color:var(--primary);--background-color:transparent;outline:0;background-color:var(--background-color);color:var(--color);-webkit-text-decoration:var(--text-decoration);text-decoration:var(--text-decoration);transition:background-color var(--transition),color var(--transition),box-shadow var(--transition),-webkit-text-decoration var(--transition);transition:background-color var(--transition),color var(--transition),text-decoration var(--transition),box-shadow var(--transition);transition:background-color var(--transition),color var(--transition),text-decoration var(--transition),box-shadow var(--transition),-webkit-text-decoration var(--transition)}[role=link]:is([aria-current],:hover,:active,:focus),a:is([aria-current],:hover,:active,:focus){--color:var(--primary-hover);--text-decoration:underline}[role=link]:focus,a:focus{--background-color:var(--primary-focus)}[role=link].secondary,a.secondary{--color:var(--secondary)}[role=link].secondary:is([aria-current],:hover,:active,:focus),a.secondary:is([aria-current],:hover,:active,:focus){--color:var(--secondary-hover)}[role=link].secondary:focus,a.secondary:focus{--background-color:var(--secondary-focus)}[role=link].contrast,a.contrast{--color:var(--contrast)}[role=link].contrast:is([aria-current],:hover,:active,:focus),a.contrast:is([aria-current],:hover,:active,:focus){--color:var(--contrast-hover)}[role=link].contrast:focus,a.contrast:focus{--background-color:var(--contrast-focus)}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:var(--typography-spacing-vertical);color:var(--color);font-weight:var(--font-weight);font-size:var(--font-size);font-family:var(--font-family)}h1{--color:var(--h1-color)}h2{--color:var(--h2-color)}h3{--color:var(--h3-color)}h4{--color:var(--h4-color)}h5{--color:var(--h5-color)}h6{--color:var(--h6-color)}:where(address,blockquote,dl,figure,form,ol,p,pre,table,ul)~:is(h1,h2,h3,h4,h5,h6){margin-top:var(--typography-spacing-vertical)}.headings,hgroup{margin-bottom:var(--typography-spacing-vertical)}.headings>*,hgroup>*{margin-bottom:0}.headings>:last-child,hgroup>:last-child{--color:var(--muted-color);--font-weight:unset;font-size:1rem;font-family:unset}p{margin-bottom:var(--typography-spacing-vertical)}small{font-size:var(--font-size)}:where(dl,ol,ul){padding-right:0;padding-left:var(--spacing);-webkit-padding-start:var(--spacing);padding-inline-start:var(--spacing);-webkit-padding-end:0;padding-inline-end:0}:where(dl,ol,ul) li{margin-bottom:calc(var(--typography-spacing-vertical) * .25)}:where(dl,ol,ul) :is(dl,ol,ul){margin:0;margin-top:calc(var(--typography-spacing-vertical) * .25)}ul li{list-style:square}mark{padding:.125rem .25rem;background-color:var(--mark-background-color);color:var(--mark-color);vertical-align:baseline}blockquote{display:block;margin:var(--typography-spacing-vertical) 0;padding:var(--spacing);border-right:none;border-left:.25rem solid var(--blockquote-border-color);-webkit-border-start:0.25rem solid var(--blockquote-border-color);border-inline-start:0.25rem solid var(--blockquote-border-color);-webkit-border-end:none;border-inline-end:none}blockquote footer{margin-top:calc(var(--typography-spacing-vertical) * .5);color:var(--blockquote-footer-color)}abbr[title]{border-bottom:1px dotted;text-decoration:none;cursor:help}ins{color:var(--ins-color);text-decoration:none}del{color:var(--del-color)}::-moz-selection{background-color:var(--primary-focus)}::selection{background-color:var(--primary-focus)}:where(audio,canvas,iframe,img,svg,video){vertical-align:middle}audio,video{display:inline-block}audio:not([controls]){display:none;height:0}:where(iframe){border-style:none}img{max-width:100%;height:auto;border-style:none}:where(svg:not([fill])){fill:currentColor}svg:not(:root){overflow:hidden}button{margin:0;overflow:visible;font-family:inherit;text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}button{display:block;width:100%;margin-bottom:var(--spacing)}[role=button]{display:inline-block;text-decoration:none}[role=button],button,input[type=button],input[type=reset],input[type=submit]{--background-color:var(--primary);--border-color:var(--primary);--color:var(--primary-inverse);--box-shadow:var(--button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));padding:var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);outline:0;background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);font-size:1rem;line-height:var(--line-height);text-align:center;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}[role=button]:is([aria-current],:hover,:active,:focus),button:is([aria-current],:hover,:active,:focus),input[type=button]:is([aria-current],:hover,:active,:focus),input[type=reset]:is([aria-current],:hover,:active,:focus),input[type=submit]:is([aria-current],:hover,:active,:focus){--background-color:var(--primary-hover);--border-color:var(--primary-hover);--box-shadow:var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0));--color:var(--primary-inverse)}[role=button]:focus,button:focus,input[type=button]:focus,input[type=reset]:focus,input[type=submit]:focus{--box-shadow:var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--outline-width) var(--primary-focus)}:is(button,input[type=submit],input[type=button],[role=button]).secondary,input[type=reset]{--background-color:var(--secondary);--border-color:var(--secondary);--color:var(--secondary-inverse);cursor:pointer}:is(button,input[type=submit],input[type=button],[role=button]).secondary:is([aria-current],:hover,:active,:focus),input[type=reset]:is([aria-current],:hover,:active,:focus){--background-color:var(--secondary-hover);--border-color:var(--secondary-hover);--color:var(--secondary-inverse)}:is(button,input[type=submit],input[type=button],[role=button]).secondary:focus,input[type=reset]:focus{--box-shadow:var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--outline-width) var(--secondary-focus)}:is(button,input[type=submit],input[type=button],[role=button]).contrast{--background-color:var(--contrast);--border-color:var(--contrast);--color:var(--contrast-inverse)}:is(button,input[type=submit],input[type=button],[role=button]).contrast:is([aria-current],:hover,:active,:focus){--background-color:var(--contrast-hover);--border-color:var(--contrast-hover);--color:var(--contrast-inverse)}:is(button,input[type=submit],input[type=button],[role=button]).contrast:focus{--box-shadow:var(--button-hover-box-shadow, 0 0 0 rgba(0, 0, 0, 0)),0 0 0 var(--outline-width) var(--contrast-focus)}:is(button,input[type=submit],input[type=button],[role=button]).outline,input[type=reset].outline{--background-color:transparent;--color:var(--primary)}:is(button,input[type=submit],input[type=button],[role=button]).outline:is([aria-current],:hover,:active,:focus),input[type=reset].outline:is([aria-current],:hover,:active,:focus){--background-color:transparent;--color:var(--primary-hover)}:is(button,input[type=submit],input[type=button],[role=button]).outline.secondary,input[type=reset].outline{--color:var(--secondary)}:is(button,input[type=submit],input[type=button],[role=button]).outline.secondary:is([aria-current],:hover,:active,:focus),input[type=reset].outline:is([aria-current],:hover,:active,:focus){--color:var(--secondary-hover)}:is(button,input[type=submit],input[type=button],[role=button]).outline.contrast{--color:var(--contrast)}:is(button,input[type=submit],input[type=button],[role=button]).outline.contrast:is([aria-current],:hover,:active,:focus){--color:var(--contrast-hover)}:where(button,[type=submit],[type=button],[type=reset],[role=button])[disabled],:where(fieldset[disabled]) :is(button,[type=submit],[type=button],[type=reset],[role=button]),a[role=button]:not([href]){opacity:.5;pointer-events:none}input,optgroup,select,textarea{margin:0;font-size:1rem;line-height:var(--line-height);font-family:inherit;letter-spacing:inherit}input{overflow:visible}select{text-transform:none}legend{max-width:100%;padding:0;color:inherit;white-space:normal}textarea{overflow:auto}[type=checkbox],[type=radio]{padding:0}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}::-moz-focus-inner{padding:0;border-style:none}:-moz-focusring{outline:0}:-moz-ui-invalid{box-shadow:none}::-ms-expand{display:none}[type=file],[type=range]{padding:0;border-width:0}input:not([type=checkbox],[type=radio],[type=range]){height:calc(1rem * var(--line-height) + var(--form-element-spacing-vertical) * 2 + var(--border-width) * 2)}fieldset{margin:0;margin-bottom:var(--spacing);padding:0;border:0}fieldset legend,label{display:block;margin-bottom:calc(var(--spacing) * .25);font-weight:var(--form-label-font-weight,var(--font-weight))}input:not([type=checkbox],[type=radio]),select,textarea{width:100%}input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal)}input,select,textarea{--background-color:var(--form-element-background-color);--border-color:var(--form-element-border-color);--color:var(--form-element-color);--box-shadow:none;border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);outline:0;background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}:where(select,textarea):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[type=checkbox],[type=radio],[readonly]):is(:active,:focus){--background-color:var(--form-element-active-background-color)}:where(select,textarea):is(:active,:focus),input:not([type=submit],[type=button],[type=reset],[role=switch],[readonly]):is(:active,:focus){--border-color:var(--form-element-active-border-color)}input:not([type=submit],[type=button],[type=reset],[type=range],[type=file],[readonly]):focus,select:focus,textarea:focus{--box-shadow:0 0 0 var(--outline-width) var(--form-element-focus-color)}:where(fieldset[disabled]) :is(input:not([type=submit],[type=button],[type=reset]),select,textarea),input:not([type=submit],[type=button],[type=reset])[disabled],select[disabled],textarea[disabled]{--background-color:var(--form-element-disabled-background-color);--border-color:var(--form-element-disabled-border-color);opacity:var(--form-element-disabled-opacity);pointer-events:none}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])[aria-invalid]{padding-right:calc(var(--form-element-spacing-horizontal) + 1.5rem)!important;padding-left:var(--form-element-spacing-horizontal);-webkit-padding-start:var(--form-element-spacing-horizontal)!important;padding-inline-start:var(--form-element-spacing-horizontal)!important;-webkit-padding-end:calc(var(--form-element-spacing-horizontal) + 1.5rem)!important;padding-inline-end:calc(var(--form-element-spacing-horizontal) + 1.5rem)!important;background-position:center right .75rem;background-size:1rem auto;background-repeat:no-repeat}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])[aria-invalid=false]{background-image:var(--icon-valid)}:where(input,select,textarea):not([type=checkbox],[type=radio],[type=date],[type=datetime-local],[type=month],[type=time],[type=week])[aria-invalid=true]{background-image:var(--icon-invalid)}:where(input,select,textarea)[aria-invalid=false]{--border-color:var(--form-element-valid-border-color)}:where(input,select,textarea)[aria-invalid=false]:is(:active,:focus){--border-color:var(--form-element-valid-active-border-color)!important;--box-shadow:0 0 0 var(--outline-width) var(--form-element-valid-focus-color)!important}:where(input,select,textarea)[aria-invalid=true]{--border-color:var(--form-element-invalid-border-color)}:where(input,select,textarea)[aria-invalid=true]:is(:active,:focus){--border-color:var(--form-element-invalid-active-border-color)!important;--box-shadow:0 0 0 var(--outline-width) var(--form-element-invalid-focus-color)!important}[dir=rtl] :where(input,select,textarea):not([type=checkbox],[type=radio]):is([aria-invalid],[aria-invalid=true],[aria-invalid=false]){background-position:center left .75rem}input::-webkit-input-placeholder,input::placeholder,select:invalid,textarea::-webkit-input-placeholder,textarea::placeholder{color:var(--form-element-placeholder-color);opacity:1}input:not([type=checkbox],[type=radio]),select,textarea{margin-bottom:var(--spacing)}select::-ms-expand{border:0;background-color:transparent}select:not([multiple],[size]){padding-right:calc(var(--form-element-spacing-horizontal) + 1.5rem);padding-left:var(--form-element-spacing-horizontal);-webkit-padding-start:var(--form-element-spacing-horizontal);padding-inline-start:var(--form-element-spacing-horizontal);-webkit-padding-end:calc(var(--form-element-spacing-horizontal) + 1.5rem);padding-inline-end:calc(var(--form-element-spacing-horizontal) + 1.5rem);background-image:var(--icon-chevron);background-position:center right .75rem;background-size:1rem auto;background-repeat:no-repeat}[dir=rtl] select:not([multiple],[size]){background-position:center left .75rem}:where(input,select,textarea,.grid)+small{display:block;width:100%;margin-top:calc(var(--spacing) * -.75);margin-bottom:var(--spacing);color:var(--muted-color)}label>:where(input,select,textarea){margin-top:calc(var(--spacing) * .25)}[type=checkbox],[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.25em;height:1.25em;margin-top:-.125em;margin-right:.375em;margin-left:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:.375em;margin-inline-end:.375em;border-width:var(--border-width);font-size:inherit;vertical-align:middle;cursor:pointer}[type=checkbox]::-ms-check,[type=radio]::-ms-check{display:none}[type=checkbox]:checked,[type=checkbox]:checked:active,[type=checkbox]:checked:focus,[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--background-color:var(--primary);--border-color:var(--primary);background-image:var(--icon-checkbox);background-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=checkbox]~label,[type=radio]~label{display:inline-block;margin-right:.375em;margin-bottom:0;cursor:pointer}[type=checkbox]:indeterminate{--background-color:var(--primary);--border-color:var(--primary);background-image:var(--icon-minus);background-position:center;background-size:.75em auto;background-repeat:no-repeat}[type=radio]{border-radius:50%}[type=radio]:checked,[type=radio]:checked:active,[type=radio]:checked:focus{--background-color:var(--primary-inverse);border-width:.35em;background-image:none}[type=checkbox][role=switch]{--background-color:var(--switch-background-color);--border-color:var(--switch-background-color);--color:var(--switch-color);width:2.25em;height:1.25em;border:var(--border-width) solid var(--border-color);border-radius:1.25em;background-color:var(--background-color);line-height:1.25em}[type=checkbox][role=switch]:focus{--background-color:var(--switch-background-color);--border-color:var(--switch-background-color)}[type=checkbox][role=switch]:checked{--background-color:var(--switch-checked-background-color);--border-color:var(--switch-checked-background-color)}[type=checkbox][role=switch]:before{display:block;width:calc(1.25em - (var(--border-width) * 2));height:100%;border-radius:50%;background-color:var(--color);content:\"\";transition:margin .1s ease-in-out}[type=checkbox][role=switch]:checked{background-image:none}[type=checkbox][role=switch]:checked::before{margin-left:calc(1.125em - var(--border-width));-webkit-margin-start:calc(1.125em - var(--border-width));margin-inline-start:calc(1.125em - var(--border-width))}[type=checkbox]:checked[aria-invalid=false],[type=checkbox][aria-invalid=false],[type=checkbox][role=switch]:checked[aria-invalid=false],[type=checkbox][role=switch][aria-invalid=false],[type=radio]:checked[aria-invalid=false],[type=radio][aria-invalid=false]{--border-color:var(--form-element-valid-border-color)}[type=checkbox]:checked[aria-invalid=true],[type=checkbox][aria-invalid=true],[type=checkbox][role=switch]:checked[aria-invalid=true],[type=checkbox][role=switch][aria-invalid=true],[type=radio]:checked[aria-invalid=true],[type=radio][aria-invalid=true]{--border-color:var(--form-element-invalid-border-color)}[type=color]::-webkit-color-swatch-wrapper{padding:0}[type=color]::-moz-focus-inner{padding:0}[type=color]::-webkit-color-swatch{border:0;border-radius:calc(var(--border-radius) * .5)}[type=color]::-moz-color-swatch{border:0;border-radius:calc(var(--border-radius) * .5)}input:not([type=checkbox],[type=radio],[type=range],[type=file]):is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){--icon-position:0.75rem;--icon-width:1rem;padding-right:calc(var(--icon-width) + var(--icon-position));background-image:var(--icon-date);background-position:center right var(--icon-position);background-size:var(--icon-width) auto;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=time]{background-image:var(--icon-time)}[type=date]::-webkit-calendar-picker-indicator,[type=datetime-local]::-webkit-calendar-picker-indicator,[type=month]::-webkit-calendar-picker-indicator,[type=time]::-webkit-calendar-picker-indicator,[type=week]::-webkit-calendar-picker-indicator{width:var(--icon-width);margin-right:calc(var(--icon-width) * -1);margin-left:var(--icon-position);opacity:0}[dir=rtl] :is([type=date],[type=datetime-local],[type=month],[type=time],[type=week]){text-align:right}@-moz-document url-prefix(){[type=date],[type=datetime-local],[type=month],[type=time],[type=week]{padding-right:var(--form-element-spacing-horizontal)!important;background-image:none!important}}[type=file]{--color:var(--muted-color);padding:calc(var(--form-element-spacing-vertical) * .5) 0;border:0;border-radius:0;background:0 0}[type=file]::file-selector-button{--background-color:var(--secondary);--border-color:var(--secondary);--color:var(--secondary-inverse);margin-right:calc(var(--spacing)/ 2);margin-left:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:calc(var(--spacing)/ 2);margin-inline-end:calc(var(--spacing)/ 2);padding:calc(var(--form-element-spacing-vertical) * .5) calc(var(--form-element-spacing-horizontal) * .5);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);outline:0;background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);font-size:1rem;line-height:var(--line-height);text-align:center;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}[type=file]::file-selector-button:is(:hover,:active,:focus){--background-color:var(--secondary-hover);--border-color:var(--secondary-hover)}[type=file]::-webkit-file-upload-button{--background-color:var(--secondary);--border-color:var(--secondary);--color:var(--secondary-inverse);margin-right:calc(var(--spacing)/ 2);margin-left:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:calc(var(--spacing)/ 2);margin-inline-end:calc(var(--spacing)/ 2);padding:calc(var(--form-element-spacing-vertical) * .5) calc(var(--form-element-spacing-horizontal) * .5);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);outline:0;background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);font-size:1rem;line-height:var(--line-height);text-align:center;cursor:pointer;-webkit-transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}[type=file]::-webkit-file-upload-button:is(:hover,:active,:focus){--background-color:var(--secondary-hover);--border-color:var(--secondary-hover)}[type=file]::-ms-browse{--background-color:var(--secondary);--border-color:var(--secondary);--color:var(--secondary-inverse);margin-right:calc(var(--spacing)/ 2);margin-left:0;margin-inline-start:0;margin-inline-end:calc(var(--spacing)/ 2);padding:calc(var(--form-element-spacing-vertical) * .5) calc(var(--form-element-spacing-horizontal) * .5);border:var(--border-width) solid var(--border-color);border-radius:var(--border-radius);outline:0;background-color:var(--background-color);box-shadow:var(--box-shadow);color:var(--color);font-weight:var(--font-weight);font-size:1rem;line-height:var(--line-height);text-align:center;cursor:pointer;-ms-transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}[type=file]::-ms-browse:is(:hover,:active,:focus){--background-color:var(--secondary-hover);--border-color:var(--secondary-hover)}[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:1.25rem;background:0 0}[type=range]::-webkit-slider-runnable-track{width:100%;height:.25rem;border-radius:var(--border-radius);background-color:var(--range-border-color);-webkit-transition:background-color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),box-shadow var(--transition)}[type=range]::-moz-range-track{width:100%;height:.25rem;border-radius:var(--border-radius);background-color:var(--range-border-color);-moz-transition:background-color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),box-shadow var(--transition)}[type=range]::-ms-track{width:100%;height:.25rem;border-radius:var(--border-radius);background-color:var(--range-border-color);-ms-transition:background-color var(--transition),box-shadow var(--transition);transition:background-color var(--transition),box-shadow var(--transition)}[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.5rem;border:2px solid var(--range-thumb-border-color);border-radius:50%;background-color:var(--range-thumb-color);cursor:pointer;-webkit-transition:background-color var(--transition),transform var(--transition);transition:background-color var(--transition),transform var(--transition)}[type=range]::-moz-range-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.5rem;border:2px solid var(--range-thumb-border-color);border-radius:50%;background-color:var(--range-thumb-color);cursor:pointer;-moz-transition:background-color var(--transition),transform var(--transition);transition:background-color var(--transition),transform var(--transition)}[type=range]::-ms-thumb{-webkit-appearance:none;width:1.25rem;height:1.25rem;margin-top:-.5rem;border:2px solid var(--range-thumb-border-color);border-radius:50%;background-color:var(--range-thumb-color);cursor:pointer;-ms-transition:background-color var(--transition),transform var(--transition);transition:background-color var(--transition),transform var(--transition)}[type=range]:focus,[type=range]:hover{--range-border-color:var(--range-active-border-color);--range-thumb-color:var(--range-thumb-hover-color)}[type=range]:active{--range-thumb-color:var(--range-thumb-active-color)}[type=range]:active::-webkit-slider-thumb{transform:scale(1.25)}[type=range]:active::-moz-range-thumb{transform:scale(1.25)}[type=range]:active::-ms-thumb{transform:scale(1.25)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{-webkit-padding-start:calc(var(--form-element-spacing-horizontal) + 1.75rem);padding-inline-start:calc(var(--form-element-spacing-horizontal) + 1.75rem);border-radius:5rem;background-image:var(--icon-search);background-position:center left 1.125rem;background-size:1rem auto;background-repeat:no-repeat}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{-webkit-padding-start:calc(var(--form-element-spacing-horizontal) + 1.75rem)!important;padding-inline-start:calc(var(--form-element-spacing-horizontal) + 1.75rem)!important;background-position:center left 1.125rem,center right .75rem}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=false]{background-image:var(--icon-search),var(--icon-valid)}input:not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid=true]{background-image:var(--icon-search),var(--icon-invalid)}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search]{background-position:center right 1.125rem}[dir=rtl] :where(input):not([type=checkbox],[type=radio],[type=range],[type=file])[type=search][aria-invalid]{background-position:center right 1.125rem,center left .75rem}:where(table){width:100%;border-collapse:collapse;border-spacing:0;text-indent:0}td,th{padding:calc(var(--spacing)/ 2) var(--spacing);border-bottom:var(--border-width) solid var(--table-border-color);color:var(--color);font-weight:var(--font-weight);font-size:var(--font-size);text-align:left;text-align:start}tfoot td,tfoot th{border-top:var(--border-width) solid var(--table-border-color);border-bottom:0}table[role=grid] tbody tr:nth-child(odd){background-color:var(--table-row-stripped-background-color)}code,kbd,pre,samp{font-size:.875em;font-family:var(--font-family)}pre{-ms-overflow-style:scrollbar;overflow:auto}code,kbd,pre{border-radius:var(--border-radius);background:var(--code-background-color);color:var(--code-color);font-weight:var(--font-weight);line-height:initial}code,kbd{display:inline-block;padding:.375rem .5rem}pre{display:block;margin-bottom:var(--spacing);overflow-x:auto}pre>code{display:block;padding:var(--spacing);background:0 0;font-size:14px;line-height:var(--line-height)}code b{color:var(--code-tag-color);font-weight:var(--font-weight)}code i{color:var(--code-property-color);font-style:normal}code u{color:var(--code-value-color);text-decoration:none}code em{color:var(--code-comment-color);font-style:normal}kbd{background-color:var(--code-kbd-background-color);color:var(--code-kbd-color);vertical-align:baseline}hr{height:0;border:0;border-top:1px solid var(--muted-border-color);color:inherit}[hidden],template{display:none!important}canvas{display:inline-block}details{display:block;margin-bottom:var(--spacing);padding-bottom:var(--spacing);border-bottom:var(--border-width) solid var(--accordion-border-color)}details summary{line-height:1rem;list-style-type:none;cursor:pointer;transition:color var(--transition)}details summary:not([role]){color:var(--accordion-close-summary-color)}details summary::-webkit-details-marker{display:none}details summary::marker{display:none}details summary::-moz-list-bullet{list-style-type:none}details summary::after{display:block;width:1rem;height:1rem;-webkit-margin-start:calc(var(--spacing,1rem) * 0.5);margin-inline-start:calc(var(--spacing,1rem) * .5);float:right;transform:rotate(-90deg);background-image:var(--icon-chevron);background-position:right center;background-size:1rem auto;background-repeat:no-repeat;content:\"\";transition:transform var(--transition)}details summary:focus{outline:0}details summary:focus:not([role=button]){color:var(--accordion-active-summary-color)}details summary[role=button]{width:100%;text-align:left}details summary[role=button]::after{height:calc(1rem * var(--line-height,1.5));background-image:var(--icon-chevron-button)}details summary[role=button]:not(.outline).contrast::after{background-image:var(--icon-chevron-button-inverse)}details[open]>summary{margin-bottom:calc(var(--spacing))}details[open]>summary:not([role]):not(:focus){color:var(--accordion-open-summary-color)}details[open]>summary::after{transform:rotate(0)}[dir=rtl] details summary{text-align:right}[dir=rtl] details summary::after{float:left;background-position:left center}article{margin:var(--block-spacing-vertical) 0;padding:var(--block-spacing-vertical) var(--block-spacing-horizontal);border-radius:var(--border-radius);background:var(--card-background-color);box-shadow:var(--card-box-shadow)}article>footer,article>header{margin-right:calc(var(--block-spacing-horizontal) * -1);margin-left:calc(var(--block-spacing-horizontal) * -1);padding:calc(var(--block-spacing-vertical) * .66) var(--block-spacing-horizontal);background-color:var(--card-sectionning-background-color)}article>header{margin-top:calc(var(--block-spacing-vertical) * -1);margin-bottom:var(--block-spacing-vertical);border-bottom:var(--border-width) solid var(--card-border-color);border-top-right-radius:var(--border-radius);border-top-left-radius:var(--border-radius)}article>footer{margin-top:var(--block-spacing-vertical);margin-bottom:calc(var(--block-spacing-vertical) * -1);border-top:var(--border-width) solid var(--card-border-color);border-bottom-right-radius:var(--border-radius);border-bottom-left-radius:var(--border-radius)}:root{--scrollbar-width:0px}dialog{display:flex;z-index:999;position:fixed;top:0;right:0;bottom:0;left:0;align-items:center;justify-content:center;width:inherit;min-width:100%;height:inherit;min-height:100%;padding:var(--spacing);border:0;-webkit-backdrop-filter:var(--modal-overlay-backdrop-filter);backdrop-filter:var(--modal-overlay-backdrop-filter);background-color:var(--modal-overlay-background-color);color:var(--color)}dialog article{max-height:calc(100vh - var(--spacing) * 2);overflow:auto}@media (min-width:576px){dialog article{max-width:510px}}@media (min-width:768px){dialog article{max-width:700px}}dialog article>footer,dialog article>header{padding:calc(var(--block-spacing-vertical) * .5) var(--block-spacing-horizontal)}dialog article>header .close{margin:0;margin-left:var(--spacing);float:right}dialog article>footer{text-align:right}dialog article>footer [role=button]{margin-bottom:0}dialog article>footer [role=button]:not(:first-of-type){margin-left:calc(var(--spacing) * .5)}dialog article p:last-of-type{margin:0}dialog article .close{display:block;width:1rem;height:1rem;margin-top:calc(var(--block-spacing-vertical) * -.5);margin-bottom:var(--typography-spacing-vertical);margin-left:auto;background-image:var(--icon-close);background-position:center;background-size:auto 1rem;background-repeat:no-repeat;opacity:.5;transition:opacity var(--transition)}dialog article .close:is([aria-current],:hover,:active,:focus){opacity:1}dialog:not([open]),dialog[open=false]{display:none}.modal-is-open{padding-right:var(--scrollbar-width,0);overflow:hidden;pointer-events:none;touch-action:none}.modal-is-open dialog{pointer-events:auto}:where(.modal-is-opening,.modal-is-closing) dialog,:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-duration:.2s;animation-timing-function:ease-in-out;animation-fill-mode:both}:where(.modal-is-opening,.modal-is-closing) dialog{animation-duration:.8s;animation-name:modal-overlay}:where(.modal-is-opening,.modal-is-closing) dialog>article{animation-delay:.2s;animation-name:modal}.modal-is-closing dialog,.modal-is-closing dialog>article{animation-delay:0s;animation-direction:reverse}@keyframes modal-overlay{from{-webkit-backdrop-filter:none;backdrop-filter:none;background-color:transparent}}@keyframes modal{from{transform:translateY(-100%);opacity:0}}:where(nav li)::before{float:left;content:\"​\"}nav,nav ul{display:flex}nav{justify-content:space-between}nav ol,nav ul{align-items:center;margin-bottom:0;padding:0;list-style:none}nav ol:first-of-type,nav ul:first-of-type{margin-left:calc(var(--nav-element-spacing-horizontal) * -1)}nav ol:last-of-type,nav ul:last-of-type{margin-right:calc(var(--nav-element-spacing-horizontal) * -1)}nav li{display:inline-block;margin:0;padding:var(--nav-element-spacing-vertical) var(--nav-element-spacing-horizontal)}nav li>*{--spacing:0}nav :where(a,[role=link]){display:inline-block;margin:calc(var(--nav-link-spacing-vertical) * -1) calc(var(--nav-link-spacing-horizontal) * -1);padding:var(--nav-link-spacing-vertical) var(--nav-link-spacing-horizontal);border-radius:var(--border-radius);text-decoration:none}nav :where(a,[role=link]):is([aria-current],:hover,:active,:focus){text-decoration:none}nav[aria-label=breadcrumb]{align-items:center;justify-content:start}nav[aria-label=breadcrumb] ul li:not(:first-child){-webkit-margin-start:var(--nav-link-spacing-horizontal);margin-inline-start:var(--nav-link-spacing-horizontal)}nav[aria-label=breadcrumb] ul li:not(:last-child) ::after{position:absolute;width:calc(var(--nav-link-spacing-horizontal) * 2);-webkit-margin-start:calc(var(--nav-link-spacing-horizontal)/ 2);margin-inline-start:calc(var(--nav-link-spacing-horizontal)/ 2);content:\"/\";color:var(--muted-color);text-align:center}nav[aria-label=breadcrumb] a[aria-current]{background-color:transparent;color:inherit;text-decoration:none;pointer-events:none}nav [role=button]{margin-right:inherit;margin-left:inherit;padding:var(--nav-link-spacing-vertical) var(--nav-link-spacing-horizontal)}aside li,aside nav,aside ol,aside ul{display:block}aside li{padding:calc(var(--nav-element-spacing-vertical) * .5) var(--nav-element-spacing-horizontal)}aside li a{display:block}aside li [role=button]{margin:inherit}[dir=rtl] nav[aria-label=breadcrumb] ul li:not(:last-child) ::after{content:\"\\\\\"}progress{display:inline-block;vertical-align:baseline}progress{-webkit-appearance:none;-moz-appearance:none;display:inline-block;appearance:none;width:100%;height:.5rem;margin-bottom:calc(var(--spacing) * .5);overflow:hidden;border:0;border-radius:var(--border-radius);background-color:var(--progress-background-color);color:var(--progress-color)}progress::-webkit-progress-bar{border-radius:var(--border-radius);background:0 0}progress[value]::-webkit-progress-value{background-color:var(--progress-color)}progress::-moz-progress-bar{background-color:var(--progress-color)}@media (prefers-reduced-motion:no-preference){progress:indeterminate{background:var(--progress-background-color) linear-gradient(to right,var(--progress-color) 30%,var(--progress-background-color) 30%) top left/150% 150% no-repeat;animation:progress-indeterminate 1s linear infinite}progress:indeterminate[value]::-webkit-progress-value{background-color:transparent}progress:indeterminate::-moz-progress-bar{background-color:transparent}}@media (prefers-reduced-motion:no-preference){[dir=rtl] progress:indeterminate{animation-direction:reverse}}@keyframes progress-indeterminate{0%{background-position:200% 0}100%{background-position:-200% 0}}details[role=list],li[role=list]{position:relative}details[role=list] summary+ul,li[role=list]>ul{display:flex;z-index:99;position:absolute;top:auto;right:0;left:0;flex-direction:column;margin:0;padding:0;border:var(--border-width) solid var(--dropdown-border-color);border-radius:var(--border-radius);border-top-right-radius:0;border-top-left-radius:0;background-color:var(--dropdown-background-color);box-shadow:var(--card-box-shadow);color:var(--dropdown-color);white-space:nowrap}details[role=list] summary+ul li,li[role=list]>ul li{width:100%;margin-bottom:0;padding:calc(var(--form-element-spacing-vertical) * .5) var(--form-element-spacing-horizontal);list-style:none}details[role=list] summary+ul li:first-of-type,li[role=list]>ul li:first-of-type{margin-top:calc(var(--form-element-spacing-vertical) * .5)}details[role=list] summary+ul li:last-of-type,li[role=list]>ul li:last-of-type{margin-bottom:calc(var(--form-element-spacing-vertical) * .5)}details[role=list] summary+ul li a,li[role=list]>ul li a{display:block;margin:calc(var(--form-element-spacing-vertical) * -.5) calc(var(--form-element-spacing-horizontal) * -1);padding:calc(var(--form-element-spacing-vertical) * .5) var(--form-element-spacing-horizontal);overflow:hidden;color:var(--dropdown-color);text-decoration:none;text-overflow:ellipsis}details[role=list] summary+ul li a:hover,li[role=list]>ul li a:hover{background-color:var(--dropdown-hover-background-color)}details[role=list] summary::after,li[role=list]>a::after{display:block;width:1rem;height:calc(1rem * var(--line-height,1.5));-webkit-margin-start:0.5rem;margin-inline-start:.5rem;float:right;transform:rotate(0);background-position:right center;background-size:1rem auto;background-repeat:no-repeat;content:\"\"}details[role=list]{padding:0;border-bottom:none}details[role=list] summary{margin-bottom:0}details[role=list] summary:not([role]){height:calc(1rem * var(--line-height) + var(--form-element-spacing-vertical) * 2 + var(--border-width) * 2);padding:var(--form-element-spacing-vertical) var(--form-element-spacing-horizontal);border:var(--border-width) solid var(--form-element-border-color);border-radius:var(--border-radius);background-color:var(--form-element-background-color);color:var(--form-element-placeholder-color);line-height:inherit;cursor:pointer;transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition)}details[role=list] summary:not([role]):active,details[role=list] summary:not([role]):focus{border-color:var(--form-element-active-border-color);background-color:var(--form-element-active-background-color)}details[role=list] summary:not([role]):focus{box-shadow:0 0 0 var(--outline-width) var(--form-element-focus-color)}details[role=list][open] summary{border-bottom-right-radius:0;border-bottom-left-radius:0}details[role=list][open] summary::before{display:block;z-index:1;position:fixed;top:0;right:0;bottom:0;left:0;background:0 0;content:\"\";cursor:default}nav details[role=list] summary,nav li[role=list] a{display:flex;direction:ltr}nav details[role=list] summary+ul,nav li[role=list]>ul{min-width:-moz-fit-content;min-width:fit-content;border-radius:var(--border-radius)}nav details[role=list] summary+ul li a,nav li[role=list]>ul li a{border-radius:0}nav details[role=list] summary,nav details[role=list] summary:not([role]){height:auto;padding:var(--nav-link-spacing-vertical) var(--nav-link-spacing-horizontal)}nav details[role=list][open] summary{border-radius:var(--border-radius)}nav details[role=list] summary+ul{margin-top:var(--outline-width);-webkit-margin-start:0;margin-inline-start:0}nav details[role=list] summary[role=link]{margin-bottom:calc(var(--nav-link-spacing-vertical) * -1);line-height:var(--line-height)}nav details[role=list] summary[role=link]+ul{margin-top:calc(var(--nav-link-spacing-vertical) + var(--outline-width));-webkit-margin-start:calc(var(--nav-link-spacing-horizontal) * -1);margin-inline-start:calc(var(--nav-link-spacing-horizontal) * -1)}li[role=list] a:active~ul,li[role=list] a:focus~ul,li[role=list]:hover>ul{display:flex}li[role=list]>ul{display:none;margin-top:calc(var(--nav-link-spacing-vertical) + var(--outline-width));-webkit-margin-start:calc(var(--nav-element-spacing-horizontal) - var(--nav-link-spacing-horizontal));margin-inline-start:calc(var(--nav-element-spacing-horizontal) - var(--nav-link-spacing-horizontal))}li[role=list]>a::after{background-image:var(--icon-chevron)}label>details[role=list]{margin-top:calc(var(--spacing) * .25);margin-bottom:var(--spacing)}[aria-busy=true]{cursor:progress}[aria-busy=true]:not(input,select,textarea,html)::before{display:inline-block;width:1em;height:1em;border:.1875em solid currentColor;border-radius:1em;border-right-color:transparent;content:\"\";vertical-align:text-bottom;vertical-align:-.125em;animation:spinner .75s linear infinite;opacity:var(--loading-spinner-opacity)}[aria-busy=true]:not(input,select,textarea,html):not(:empty)::before{margin-right:calc(var(--spacing) * .5);margin-left:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:calc(var(--spacing) * .5);margin-inline-end:calc(var(--spacing) * .5)}[aria-busy=true]:not(input,select,textarea,html):empty{text-align:center}a[aria-busy=true],button[aria-busy=true],input[type=button][aria-busy=true],input[type=reset][aria-busy=true],input[type=submit][aria-busy=true]{pointer-events:none}@keyframes spinner{to{transform:rotate(360deg)}}[data-tooltip]{position:relative}[data-tooltip]:not(a,button,input){border-bottom:1px dotted;text-decoration:none;cursor:help}[data-tooltip]::after,[data-tooltip]::before,[data-tooltip][data-placement=top]::after,[data-tooltip][data-placement=top]::before{display:block;z-index:99;position:absolute;bottom:100%;left:50%;padding:.25rem .5rem;overflow:hidden;transform:translate(-50%,-.25rem);border-radius:var(--border-radius);background:var(--tooltip-background-color);content:attr(data-tooltip);color:var(--tooltip-color);font-style:normal;font-weight:var(--font-weight);font-size:.875rem;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;opacity:0;pointer-events:none}[data-tooltip]::after,[data-tooltip][data-placement=top]::after{padding:0;transform:translate(-50%,0);border-top:.3rem solid;border-right:.3rem solid transparent;border-left:.3rem solid transparent;border-radius:0;background-color:transparent;content:\"\";color:var(--tooltip-background-color)}[data-tooltip][data-placement=bottom]::after,[data-tooltip][data-placement=bottom]::before{top:100%;bottom:auto;transform:translate(-50%,.25rem)}[data-tooltip][data-placement=bottom]:after{transform:translate(-50%,-.3rem);border:.3rem solid transparent;border-bottom:.3rem solid}[data-tooltip][data-placement=left]::after,[data-tooltip][data-placement=left]::before{top:50%;right:100%;bottom:auto;left:auto;transform:translate(-.25rem,-50%)}[data-tooltip][data-placement=left]:after{transform:translate(.3rem,-50%);border:.3rem solid transparent;border-left:.3rem solid}[data-tooltip][data-placement=right]::after,[data-tooltip][data-placement=right]::before{top:50%;right:auto;bottom:auto;left:100%;transform:translate(.25rem,-50%)}[data-tooltip][data-placement=right]:after{transform:translate(-.3rem,-50%);border:.3rem solid transparent;border-right:.3rem solid}[data-tooltip]:focus::after,[data-tooltip]:focus::before,[data-tooltip]:hover::after,[data-tooltip]:hover::before{opacity:1}@media (hover:hover) and (pointer:fine){[data-tooltip]:hover::after,[data-tooltip]:hover::before,[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:focus::before,[data-tooltip][data-placement=bottom]:hover [data-tooltip]:focus::after,[data-tooltip][data-placement=bottom]:hover [data-tooltip]:focus::before{animation-duration:.2s;animation-name:tooltip-slide-top}[data-tooltip]:hover::after,[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:hover [data-tooltip]:focus::after{animation-name:tooltip-caret-slide-top}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:focus::before,[data-tooltip][data-placement=bottom]:hover::after,[data-tooltip][data-placement=bottom]:hover::before{animation-duration:.2s;animation-name:tooltip-slide-bottom}[data-tooltip][data-placement=bottom]:focus::after,[data-tooltip][data-placement=bottom]:hover::after{animation-name:tooltip-caret-slide-bottom}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:focus::before,[data-tooltip][data-placement=left]:hover::after,[data-tooltip][data-placement=left]:hover::before{animation-duration:.2s;animation-name:tooltip-slide-left}[data-tooltip][data-placement=left]:focus::after,[data-tooltip][data-placement=left]:hover::after{animation-name:tooltip-caret-slide-left}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:focus::before,[data-tooltip][data-placement=right]:hover::after,[data-tooltip][data-placement=right]:hover::before{animation-duration:.2s;animation-name:tooltip-slide-right}[data-tooltip][data-placement=right]:focus::after,[data-tooltip][data-placement=right]:hover::after{animation-name:tooltip-caret-slide-right}}@keyframes tooltip-slide-top{from{transform:translate(-50%,.75rem);opacity:0}to{transform:translate(-50%,-.25rem);opacity:1}}@keyframes tooltip-caret-slide-top{from{opacity:0}50%{transform:translate(-50%,-.25rem);opacity:0}to{transform:translate(-50%,0);opacity:1}}@keyframes tooltip-slide-bottom{from{transform:translate(-50%,-.75rem);opacity:0}to{transform:translate(-50%,.25rem);opacity:1}}@keyframes tooltip-caret-slide-bottom{from{opacity:0}50%{transform:translate(-50%,-.5rem);opacity:0}to{transform:translate(-50%,-.3rem);opacity:1}}@keyframes tooltip-slide-left{from{transform:translate(.75rem,-50%);opacity:0}to{transform:translate(-.25rem,-50%);opacity:1}}@keyframes tooltip-caret-slide-left{from{opacity:0}50%{transform:translate(.05rem,-50%);opacity:0}to{transform:translate(.3rem,-50%);opacity:1}}@keyframes tooltip-slide-right{from{transform:translate(-.75rem,-50%);opacity:0}to{transform:translate(.25rem,-50%);opacity:1}}@keyframes tooltip-caret-slide-right{from{opacity:0}50%{transform:translate(-.05rem,-50%);opacity:0}to{transform:translate(-.3rem,-50%);opacity:1}}[aria-controls]{cursor:pointer}[aria-disabled=true],[disabled]{cursor:not-allowed}[aria-hidden=false][hidden]{display:initial}[aria-hidden=false][hidden]:not(:focus){clip:rect(0,0,0,0);position:absolute}[tabindex],a,area,button,input,label,select,summary,textarea{-ms-touch-action:manipulation}[dir=rtl]{direction:rtl}@media (prefers-reduced-motion:reduce){:not([aria-busy=true]),:not([aria-busy=true])::after,:not([aria-busy=true])::before{background-attachment:initial!important;animation-duration:1ms!important;animation-delay:-1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-delay:0s!important;transition-duration:0s!important}}\n/*# sourceMappingURL=pico.min.css.map */","/*!\n * Toastify js 1.12.0\n * https://github.com/apvarun/toastify-js\n * @license MIT licensed\n *\n * Copyright (C) 2018 Varun A P\n */\n\n.toastify {\n padding: 12px 20px;\n color: #ffffff;\n display: inline-block;\n box-shadow: 0 3px 6px -1px rgba(0, 0, 0, 0.12), 0 10px 36px -4px rgba(77, 96, 232, 0.3);\n background: -webkit-linear-gradient(315deg, #73a5ff, #5477f5);\n background: linear-gradient(135deg, #73a5ff, #5477f5);\n position: fixed;\n opacity: 0;\n transition: all 0.4s cubic-bezier(0.215, 0.61, 0.355, 1);\n border-radius: 2px;\n cursor: pointer;\n text-decoration: none;\n max-width: calc(50% - 20px);\n z-index: 2147483647;\n}\n\n.toastify.on {\n opacity: 1;\n}\n\n.toast-close {\n background: transparent;\n border: 0;\n color: white;\n cursor: pointer;\n font-family: inherit;\n font-size: 1em;\n opacity: 0.4;\n padding: 0 5px;\n}\n\n.toastify-right {\n right: 15px;\n}\n\n.toastify-left {\n left: 15px;\n}\n\n.toastify-top {\n top: -150px;\n}\n\n.toastify-bottom {\n bottom: -150px;\n}\n\n.toastify-rounded {\n border-radius: 25px;\n}\n\n.toastify-avatar {\n width: 1.5em;\n height: 1.5em;\n margin: -7px 5px;\n border-radius: 2px;\n}\n\n.toastify-center {\n margin-left: auto;\n margin-right: auto;\n left: 0;\n right: 0;\n max-width: fit-content;\n max-width: -moz-fit-content;\n}\n\n@media only screen and (max-width: 360px) {\n .toastify-right, .toastify-left {\n margin-left: auto;\n margin-right: auto;\n left: 0;\n right: 0;\n max-width: fit-content;\n }\n}\n"],"names":[],"version":3,"file":"index.65c2cb26.css.map"} \ No newline at end of file diff --git a/index.ea486f1f.js b/index.ea486f1f.js deleted file mode 100644 index eee5fe7..0000000 --- a/index.ea486f1f.js +++ /dev/null @@ -1,2 +0,0 @@ -function e(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}function t(e){return e&&e.__esModule?e.default:e}var r="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},n={},i={},a=r.parcelRequireb59e;null==a&&((a=function(e){if(e in n)return n[e].exports;if(e in i){var t=i[e];delete i[e];var r={id:e,exports:{}};return n[e]=r,t.call(r.exports,r,r.exports),r.exports}var a=Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,t){i[e]=t},r.parcelRequireb59e=a),a.register("5UmCz",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0});var r=a("h3YQx");e.exports.default=class{constructor(e){this.contract=e,this.encode=(e,t)=>this.contract.interface.encodeFunctionData(e,t)}getAddress(){return this.contract.address}async performCreate2(e,t,n,i){i&&!i.gasLimit&&(i.gasLimit=await this.estimateGas("performCreate2",[e,t,n],{...i}));let a=await this.contract.performCreate2(e,t,n,i);return(0,r.toTxResult)(a,i)}async performCreate(e,t,n){n&&!n.gasLimit&&(n.gasLimit=await this.estimateGas("performCreate",[e,t],{...n}));let i=await this.contract.performCreate(e,t,n);return(0,r.toTxResult)(i,n)}async estimateGas(e,t,r){return(await this.contract.estimateGas[e](...t,r)).toString()}}}),a.register("h3YQx",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.isSignerCompatible=e.exports.isTypedDataSigner=e.exports.toTxResult=e.exports.sameString=void 0;var r=a("j7x7T");e.exports.sameString=function(e,t){return e.toLowerCase()===t.toLowerCase()},e.exports.toTxResult=function(e,t){return{hash:e.hash,options:t,transactionResponse:e}},e.exports.isTypedDataSigner=function(e){return void 0!==e._signTypedData},e.exports.isSignerCompatible=function(e){return"function"==typeof e.signMessage&&"function"==typeof e.signTransaction&&e._isSigner||e instanceof r.Signer}}),a.register("j7x7T",function(t,r){e(t.exports,"Signer",()=>d),e(t.exports,"VoidSigner",()=>f);"use strict";var n=a("e72ut"),i=a("d1hml"),s=a("2FBHa"),o=function(e,t,r,n){return new(r||(r=Promise))(function(i,a){function s(e){try{u(n.next(e))}catch(e){a(e)}}function o(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(s,o)}u((n=n.apply(e,t||[])).next())})};let u=new i.Logger(s.version),l=["accessList","ccipReadEnabled","chainId","customData","data","from","gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","nonce","to","type","value"],c=[i.Logger.errors.INSUFFICIENT_FUNDS,i.Logger.errors.NONCE_EXPIRED,i.Logger.errors.REPLACEMENT_UNDERPRICED];class d{constructor(){u.checkAbstract(new.target,d),(0,n.defineReadOnly)(this,"_isSigner",!0)}getBalance(e){return o(this,void 0,void 0,function*(){return this._checkProvider("getBalance"),yield this.provider.getBalance(this.getAddress(),e)})}getTransactionCount(e){return o(this,void 0,void 0,function*(){return this._checkProvider("getTransactionCount"),yield this.provider.getTransactionCount(this.getAddress(),e)})}estimateGas(e){return o(this,void 0,void 0,function*(){this._checkProvider("estimateGas");let t=yield(0,n.resolveProperties)(this.checkTransaction(e));return yield this.provider.estimateGas(t)})}call(e,t){return o(this,void 0,void 0,function*(){this._checkProvider("call");let r=yield(0,n.resolveProperties)(this.checkTransaction(e));return yield this.provider.call(r,t)})}sendTransaction(e){return o(this,void 0,void 0,function*(){this._checkProvider("sendTransaction");let t=yield this.populateTransaction(e),r=yield this.signTransaction(t);return yield this.provider.sendTransaction(r)})}getChainId(){return o(this,void 0,void 0,function*(){this._checkProvider("getChainId");let e=yield this.provider.getNetwork();return e.chainId})}getGasPrice(){return o(this,void 0,void 0,function*(){return this._checkProvider("getGasPrice"),yield this.provider.getGasPrice()})}getFeeData(){return o(this,void 0,void 0,function*(){return this._checkProvider("getFeeData"),yield this.provider.getFeeData()})}resolveName(e){return o(this,void 0,void 0,function*(){return this._checkProvider("resolveName"),yield this.provider.resolveName(e)})}checkTransaction(e){for(let t in e)-1===l.indexOf(t)&&u.throwArgumentError("invalid transaction key: "+t,"transaction",e);let t=(0,n.shallowCopy)(e);return null==t.from?t.from=this.getAddress():t.from=Promise.all([Promise.resolve(t.from),this.getAddress()]).then(t=>(t[0].toLowerCase()!==t[1].toLowerCase()&&u.throwArgumentError("from address mismatch","transaction",e),t[0])),t}populateTransaction(e){return o(this,void 0,void 0,function*(){let t=yield(0,n.resolveProperties)(this.checkTransaction(e));null!=t.to&&(t.to=Promise.resolve(t.to).then(e=>o(this,void 0,void 0,function*(){if(null==e)return null;let t=yield this.resolveName(e);return null==t&&u.throwArgumentError("provided ENS name resolves to null","tx.to",e),t})),t.to.catch(e=>{}));let r=null!=t.maxFeePerGas||null!=t.maxPriorityFeePerGas;if(null!=t.gasPrice&&(2===t.type||r)?u.throwArgumentError("eip-1559 transaction do not support gasPrice","transaction",e):(0===t.type||1===t.type)&&r&&u.throwArgumentError("pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas","transaction",e),(2===t.type||null==t.type)&&null!=t.maxFeePerGas&&null!=t.maxPriorityFeePerGas)t.type=2;else if(0===t.type||1===t.type)null==t.gasPrice&&(t.gasPrice=this.getGasPrice());else{let e=yield this.getFeeData();if(null==t.type){if(null!=e.maxFeePerGas&&null!=e.maxPriorityFeePerGas){if(t.type=2,null!=t.gasPrice){let e=t.gasPrice;delete t.gasPrice,t.maxFeePerGas=e,t.maxPriorityFeePerGas=e}else null==t.maxFeePerGas&&(t.maxFeePerGas=e.maxFeePerGas),null==t.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas)}else null!=e.gasPrice?(r&&u.throwError("network does not support EIP-1559",i.Logger.errors.UNSUPPORTED_OPERATION,{operation:"populateTransaction"}),null==t.gasPrice&&(t.gasPrice=e.gasPrice),t.type=0):u.throwError("failed to get consistent fee data",i.Logger.errors.UNSUPPORTED_OPERATION,{operation:"signer.getFeeData"})}else 2===t.type&&(null==t.maxFeePerGas&&(t.maxFeePerGas=e.maxFeePerGas),null==t.maxPriorityFeePerGas&&(t.maxPriorityFeePerGas=e.maxPriorityFeePerGas))}return null==t.nonce&&(t.nonce=this.getTransactionCount("pending")),null==t.gasLimit&&(t.gasLimit=this.estimateGas(t).catch(e=>{if(c.indexOf(e.code)>=0)throw e;return u.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",i.Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:e,tx:t})})),null==t.chainId?t.chainId=this.getChainId():t.chainId=Promise.all([Promise.resolve(t.chainId),this.getChainId()]).then(t=>(0!==t[1]&&t[0]!==t[1]&&u.throwArgumentError("chainId address mismatch","transaction",e),t[0])),yield(0,n.resolveProperties)(t)})}_checkProvider(e){this.provider||u.throwError("missing provider",i.Logger.errors.UNSUPPORTED_OPERATION,{operation:e||"_checkProvider"})}static isSigner(e){return!!(e&&e._isSigner)}}class f extends d{constructor(e,t){super(),(0,n.defineReadOnly)(this,"address",e),(0,n.defineReadOnly)(this,"provider",t||null)}getAddress(){return Promise.resolve(this.address)}_fail(e,t){return Promise.resolve().then(()=>{u.throwError(e,i.Logger.errors.UNSUPPORTED_OPERATION,{operation:t})})}signMessage(e){return this._fail("VoidSigner cannot sign messages","signMessage")}signTransaction(e){return this._fail("VoidSigner cannot sign transactions","signTransaction")}_signTypedData(e,t,r){return this._fail("VoidSigner cannot sign typed data","signTypedData")}connect(e){return new f(this.address,e)}}}),a.register("e72ut",function(t,r){e(t.exports,"defineReadOnly",()=>o),e(t.exports,"getStatic",()=>u),e(t.exports,"resolveProperties",()=>l),e(t.exports,"checkProperties",()=>c),e(t.exports,"shallowCopy",()=>d),e(t.exports,"deepCopy",()=>h),e(t.exports,"Description",()=>p);"use strict";var n=a("d1hml"),i=a("kgXnl");let s=new n.Logger(i.version);function o(e,t,r){Object.defineProperty(e,t,{enumerable:!0,value:r,writable:!1})}function u(e,t){for(let r=0;r<32;r++){if(e[t])return e[t];if(!e.prototype||"object"!=typeof e.prototype)break;e=Object.getPrototypeOf(e.prototype).constructor}return null}function l(e){var t,r,n,i;return t=this,r=void 0,n=void 0,i=function*(){let t=Object.keys(e).map(t=>{let r=e[t];return Promise.resolve(r).then(e=>({key:t,value:e}))}),r=yield Promise.all(t);return r.reduce((e,t)=>(e[t.key]=t.value,e),{})},new(n||(n=Promise))(function(e,a){function s(e){try{u(i.next(e))}catch(e){a(e)}}function o(e){try{u(i.throw(e))}catch(e){a(e)}}function u(t){var r;t.done?e(t.value):((r=t.value)instanceof n?r:new n(function(e){e(r)})).then(s,o)}u((i=i.apply(t,r||[])).next())})}function c(e,t){e&&"object"==typeof e||s.throwArgumentError("invalid object","object",e),Object.keys(e).forEach(r=>{t[r]||s.throwArgumentError("invalid object key - "+r,"transaction:"+r,e)})}function d(e){let t={};for(let r in e)t[r]=e[r];return t}let f={bigint:!0,boolean:!0,function:!0,number:!0,string:!0};function h(e){return function(e){if(function e(t){if(null==t||f[typeof t])return!0;if(Array.isArray(t)||"object"==typeof t){if(!Object.isFrozen(t))return!1;let r=Object.keys(t);for(let n=0;nh(e)));if("object"==typeof e){let t={};for(let r in e){let n=e[r];void 0!==n&&o(t,r,h(n))}return t}return s.throwArgumentError(`Cannot deepCopy ${typeof e}`,"object",e)}(e)}class p{constructor(e){for(let t in e)this[t]=h(e[t])}}}),a.register("d1hml",function(t,r){e(t.exports,"ErrorCode",()=>o),e(t.exports,"Logger",()=>m);"use strict";var n,i,s,o,u=a("6utZY");let l=!1,c=!1,d={debug:1,default:2,info:2,warning:3,error:4,off:5},f=d.default,h=null,p=function(){try{let e=[];if(["NFD","NFC","NFKD","NFKC"].forEach(t=>{try{if("test"!=="test".normalize(t))throw Error("bad normalize")}catch(r){e.push(t)}}),e.length)throw Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw Error("broken implementation")}catch(e){return e.message}return null}();(n=s||(s={})).DEBUG="DEBUG",n.INFO="INFO",n.WARNING="WARNING",n.ERROR="ERROR",n.OFF="OFF",(i=o||(o={})).UNKNOWN_ERROR="UNKNOWN_ERROR",i.NOT_IMPLEMENTED="NOT_IMPLEMENTED",i.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",i.NETWORK_ERROR="NETWORK_ERROR",i.SERVER_ERROR="SERVER_ERROR",i.TIMEOUT="TIMEOUT",i.BUFFER_OVERRUN="BUFFER_OVERRUN",i.NUMERIC_FAULT="NUMERIC_FAULT",i.MISSING_NEW="MISSING_NEW",i.INVALID_ARGUMENT="INVALID_ARGUMENT",i.MISSING_ARGUMENT="MISSING_ARGUMENT",i.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",i.CALL_EXCEPTION="CALL_EXCEPTION",i.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",i.NONCE_EXPIRED="NONCE_EXPIRED",i.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",i.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",i.TRANSACTION_REPLACED="TRANSACTION_REPLACED",i.ACTION_REJECTED="ACTION_REJECTED";let y="0123456789abcdef";class m{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){let r=e.toLowerCase();null==d[r]&&this.throwArgumentError("invalid log level name","logLevel",e),f>d[r]||console.log.apply(console,t)}debug(...e){this._log(m.levels.DEBUG,e)}info(...e){this._log(m.levels.INFO,e)}warn(...e){this._log(m.levels.WARNING,e)}makeError(e,t,r){if(c)return this.makeError("censored error",t,{});t||(t=m.errors.UNKNOWN_ERROR),r||(r={});let n=[];Object.keys(r).forEach(e=>{let t=r[e];try{if(t instanceof Uint8Array){let r="";for(let e=0;e>4]+y[15&t[e]];n.push(e+"=Uint8Array(0x"+r+")")}else n.push(e+"="+JSON.stringify(t))}catch(t){n.push(e+"="+JSON.stringify(r[e].toString()))}}),n.push(`code=${t}`),n.push(`version=${this.version}`);let i=e,a="";switch(t){case o.NUMERIC_FAULT:{a="NUMERIC_FAULT";let t=e;switch(t){case"overflow":case"underflow":case"division-by-zero":a+="-"+t;break;case"negative-power":case"negative-width":a+="-unsupported";break;case"unbound-bitwise-result":a+="-unbound-result"}break}case o.CALL_EXCEPTION:case o.INSUFFICIENT_FUNDS:case o.MISSING_NEW:case o.NONCE_EXPIRED:case o.REPLACEMENT_UNDERPRICED:case o.TRANSACTION_REPLACED:case o.UNPREDICTABLE_GAS_LIMIT:a=t}a&&(e+=" [ See: https://links.ethers.org/v5-errors-"+a+" ]"),n.length&&(e+=" ("+n.join(", ")+")");let s=Error(e);return s.reason=i,s.code=t,Object.keys(r).forEach(function(e){s[e]=r[e]}),s}throwError(e,t,r){throw this.makeError(e,t,r)}throwArgumentError(e,t,r){return this.throwError(e,m.errors.INVALID_ARGUMENT,{argument:t,value:r})}assert(e,t,r,n){e||this.throwError(t,r,n)}assertArgument(e,t,r,n){e||this.throwArgumentError(t,r,n)}checkNormalize(e){null==e&&(e="platform missing String.prototype.normalize"),p&&this.throwError("platform missing String.prototype.normalize",m.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:p})}checkSafeUint53(e,t){"number"==typeof e&&(null==t&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,m.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,m.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,t,r){r=r?": "+r:"",et&&this.throwError("too many arguments"+r,m.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){(e===Object||null==e)&&this.throwError("missing new",m.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",m.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||null==e)&&this.throwError("missing new",m.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return h||(h=new m(u.version)),h}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",m.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),l){if(!e)return;this.globalLogger().throwError("error censorship permanent",m.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}c=!!e,l=!!t}static setLogLevel(e){let t=d[e.toLowerCase()];if(null==t){m.globalLogger().warn("invalid log level - "+e);return}f=t}static from(e){return new m(e)}}m.errors=o,m.levels=s}),a.register("6utZY",function(t,r){e(t.exports,"version",()=>n);let n="logger/5.7.0"}),a.register("kgXnl",function(t,r){e(t.exports,"version",()=>n);let n="properties/5.7.0"}),a.register("2FBHa",function(t,r){e(t.exports,"version",()=>n);let n="abstract-signer/5.7.0"}),a.register("i0h9t",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0});var r=a("h3YQx");e.exports.default=class{constructor(e){this.contract=e,this.encode=(e,t)=>this.contract.interface.encodeFunctionData(e,t)}async getVersion(){return await this.contract.VERSION()}getAddress(){return this.contract.address}async getNonce(){return(await this.contract.nonce()).toNumber()}async getThreshold(){return(await this.contract.getThreshold()).toNumber()}async getOwners(){return this.contract.getOwners()}async isOwner(e){return this.contract.isOwner(e)}async getTransactionHash(e){return this.contract.getTransactionHash(e.to,e.value,e.data,e.operation,e.safeTxGas,e.baseGas,e.gasPrice,e.gasToken,e.refundReceiver,e.nonce)}async approvedHashes(e,t){return this.contract.approvedHashes(e,t)}async approveHash(e,t){t&&!t.gasLimit&&(t.gasLimit=await this.estimateGas("approveHash",[e],{...t}));let n=await this.contract.approveHash(e,t);return(0,r.toTxResult)(n,t)}async isValidTransaction(e,t){let r=!1;try{t&&!t.gasLimit&&(t.gasLimit=await this.estimateGas("execTransaction",[e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures()],{...t})),r=await this.contract.callStatic.execTransaction(e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures(),t)}catch{}return r}async execTransaction(e,t){t&&!t.gasLimit&&(t.gasLimit=await this.estimateGas("execTransaction",[e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures()],{...t}));let n=await this.contract.execTransaction(e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures(),t);return(0,r.toTxResult)(n,t)}async estimateGas(e,t,r){return(await this.contract.estimateGas[e](...t,r)).toString()}}}),a.register("bITUK",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0});var r=a("1chjt");e.exports.default=class{constructor(e){this.contract=e}getAddress(){return this.contract.address}async proxyCreationCode(){return this.contract.proxyCreationCode()}async createProxy({safeMasterCopyAddress:e,initializer:t,saltNonce:n,options:i,callback:a}){if(r.BigNumber.from(n).lt(0))throw Error("saltNonce must be greater than or equal to 0");i&&!i.gasLimit&&(i.gasLimit=await this.estimateGas("createProxyWithNonce",[e,t,n],{...i}));let s=this.contract.createProxyWithNonce(e,t,n,i).then(async e=>{var t;a&&a(e.hash);let r=await e.wait(),n=null===(t=null==r?void 0:r.events)||void 0===t?void 0:t.find(({event:e})=>"ProxyCreation"===e);if(!n||!n.args)throw Error("SafeProxy was not deployed correctly");let i=n.args[0];return i});return s}encode(e,t){return this.contract.interface.encodeFunctionData(e,t)}async estimateGas(e,t,r){return(await this.contract.estimateGas[e](...t,r)).toString()}}}),a.register("1chjt",function(r,n){e(r.exports,"isBigNumberish",()=>f),e(r.exports,"BigNumber",()=>p),e(r.exports,"_base36To16",()=>v),e(r.exports,"_base16To36",()=>w);"use strict";var i=a("dEXSZ"),s=a("aBzgs"),o=a("d1hml"),u=a("e2x6L"),l=t(i).BN;let c=new o.Logger(u.version),d={};function f(e){return null!=e&&(p.isBigNumber(e)||"number"==typeof e&&e%1==0||"string"==typeof e&&!!e.match(/^-?[0-9]+$/)||(0,s.isHexString)(e)||"bigint"==typeof e||(0,s.isBytes)(e))}let h=!1;class p{constructor(e,t){e!==d&&c.throwError("cannot call constructor directly; use BigNumber.from",o.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new (BigNumber)"}),this._hex=t,this._isBigNumber=!0,Object.freeze(this)}fromTwos(e){return m(b(this).fromTwos(e))}toTwos(e){return m(b(this).toTwos(e))}abs(){return"-"===this._hex[0]?p.from(this._hex.substring(1)):this}add(e){return m(b(this).add(b(e)))}sub(e){return m(b(this).sub(b(e)))}div(e){let t=p.from(e);return t.isZero()&&g("division-by-zero","div"),m(b(this).div(b(e)))}mul(e){return m(b(this).mul(b(e)))}mod(e){let t=b(e);return t.isNeg()&&g("division-by-zero","mod"),m(b(this).umod(t))}pow(e){let t=b(e);return t.isNeg()&&g("negative-power","pow"),m(b(this).pow(t))}and(e){let t=b(e);return(this.isNegative()||t.isNeg())&&g("unbound-bitwise-result","and"),m(b(this).and(t))}or(e){let t=b(e);return(this.isNegative()||t.isNeg())&&g("unbound-bitwise-result","or"),m(b(this).or(t))}xor(e){let t=b(e);return(this.isNegative()||t.isNeg())&&g("unbound-bitwise-result","xor"),m(b(this).xor(t))}mask(e){return(this.isNegative()||e<0)&&g("negative-width","mask"),m(b(this).maskn(e))}shl(e){return(this.isNegative()||e<0)&&g("negative-width","shl"),m(b(this).shln(e))}shr(e){return(this.isNegative()||e<0)&&g("negative-width","shr"),m(b(this).shrn(e))}eq(e){return b(this).eq(b(e))}lt(e){return b(this).lt(b(e))}lte(e){return b(this).lte(b(e))}gt(e){return b(this).gt(b(e))}gte(e){return b(this).gte(b(e))}isNegative(){return"-"===this._hex[0]}isZero(){return b(this).isZero()}toNumber(){try{return b(this).toNumber()}catch(e){g("overflow","toNumber",this.toString())}return null}toBigInt(){try{return BigInt(this.toString())}catch(e){}return c.throwError("this platform does not support BigInt",o.Logger.errors.UNSUPPORTED_OPERATION,{value:this.toString()})}toString(){return arguments.length>0&&(10===arguments[0]?h||(h=!0,c.warn("BigNumber.toString does not accept any parameters; base-10 is assumed")):16===arguments[0]?c.throwError("BigNumber.toString does not accept any parameters; use bigNumber.toHexString()",o.Logger.errors.UNEXPECTED_ARGUMENT,{}):c.throwError("BigNumber.toString does not accept parameters",o.Logger.errors.UNEXPECTED_ARGUMENT,{})),b(this).toString(10)}toHexString(){return this._hex}toJSON(e){return{type:"BigNumber",hex:this.toHexString()}}static from(e){if(e instanceof p)return e;if("string"==typeof e)return e.match(/^-?0x[0-9a-f]+$/i)?new p(d,y(e)):e.match(/^-?[0-9]+$/)?new p(d,y(new l(e))):c.throwArgumentError("invalid BigNumber string","value",e);if("number"==typeof e)return e%1&&g("underflow","BigNumber.from",e),(e>=9007199254740991||e<=-9007199254740991)&&g("overflow","BigNumber.from",e),p.from(String(e));if("bigint"==typeof e)return p.from(e.toString());if((0,s.isBytes)(e))return p.from((0,s.hexlify)(e));if(e){if(e.toHexString){let t=e.toHexString();if("string"==typeof t)return p.from(t)}else{let t=e._hex;if(null==t&&"BigNumber"===e.type&&(t=e.hex),"string"==typeof t&&((0,s.isHexString)(t)||"-"===t[0]&&(0,s.isHexString)(t.substring(1))))return p.from(t)}}return c.throwArgumentError("invalid BigNumber value","value",e)}static isBigNumber(e){return!!(e&&e._isBigNumber)}}function y(e){if("string"!=typeof e)return y(e.toString(16));if("-"===e[0])return("-"===(e=e.substring(1))[0]&&c.throwArgumentError("invalid hex","value",e),"0x00"===(e=y(e)))?e:"-"+e;if("0x"!==e.substring(0,2)&&(e="0x"+e),"0x"===e)return"0x00";for(e.length%2&&(e="0x0"+e.substring(2));e.length>4&&"0x00"===e.substring(0,4);)e="0x"+e.substring(4);return e}function m(e){return p.from(y(e))}function b(e){let t=p.from(e).toHexString();return"-"===t[0]?new l("-"+t.substring(3),16):new l(t.substring(2),16)}function g(e,t,r){let n={fault:e,operation:t};return null!=r&&(n.value=r),c.throwError(e,o.Logger.errors.NUMERIC_FAULT,n)}function v(e){return new l(e,36).toString(16)}function w(e){return new l(e,16).toString(36)}}),a.register("dEXSZ",function(e,t){!function(e,t){"use strict";function r(e,t){if(!e)throw Error(t||"Assertion failed")}function n(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function i(e,t,r){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&(("le"===t||"be"===t)&&(r=t,t=10),this._init(e||0,t||10,r||"be"))}"object"==typeof e?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;try{d="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:a("kjyEk").Buffer}catch(e){}function s(e,t){var n=e.charCodeAt(t);return n>=48&&n<=57?n-48:n>=65&&n<=70?n-55:n>=97&&n<=102?n-87:void r(!1,"Invalid character in "+e)}function o(e,t,r){var n=s(e,r);return r-1>=t&&(n|=s(e,r-1)<<4),n}function u(e,t,n,i){for(var a=0,s=0,o=Math.min(e.length,n),u=t;u=49?l-49+10:l>=17?l-17+10:l,r(l>=0&&s0?e:t},i.min=function(e,t){return 0>e.cmp(t)?e:t},i.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;s-=3)a=e[s]|e[s-1]<<8|e[s-2]<<16,this.words[i]|=a<>>26-o&67108863,(o+=24)>=26&&(o-=26,i++);else if("le"===n)for(s=0,i=0;s>>26-o&67108863,(o+=24)>=26&&(o-=26,i++);return this._strip()},i.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=Array(this.length);for(var n,i=0;i=t;i-=2)n=o(e,t,i)<=18?(a-=18,s+=1,this.words[s]|=n>>>26):a+=8;else for(i=(e.length-t)%2==0?t+1:t;i=18?(a-=18,s+=1,this.words[s]|=n>>>26):a+=8;this._strip()},i.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,s=a%n,o=Math.min(a,a-s)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{i.prototype[Symbol.for("nodejs.util.inspect.custom")]=c}catch(e){i.prototype.inspect=c}else i.prototype.inspect=c;function c(){return(this.red?""}var d,f=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],h=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],p=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function y(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],s=i*a,o=67108863&s,u=s/67108864|0;r.words[0]=o;for(var l=1;l>>26,d=67108863&u,f=Math.min(l,t.length-1),h=Math.max(0,l-e.length+1);h<=f;h++){var p=l-h|0;c+=(s=(i=0|e.words[p])*(a=0|t.words[h])+d)/67108864|0,d=67108863&s}r.words[l]=0|d,u=0|c}return 0!==u?r.words[l]=0|u:r.length--,r._strip()}i.prototype.toString=function(e,t){if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var n,i=0,a=0,s=0;s>>24-i&16777215,(i+=2)>=26&&(i-=26,s--),n=0!==a||s!==this.length-1?f[6-u.length]+u+n:u+n}for(0!==a&&(n=a.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var l=h[e],c=p[e];n="";var d=this.clone();for(d.negative=0;!d.isZero();){var y=d.modrn(c).toString(e);n=(d=d.idivn(c)).isZero()?y+n:f[l-y.length]+y+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16,2)},d&&(i.prototype.toBuffer=function(e,t){return this.toArrayLike(d,e,t)}),i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,n){this._strip();var i=this.byteLength(),a=n||Math.max(1,i);r(i<=a,"byte array longer than desired length"),r(a>0,"Requested array length <= 0");var s=e.allocUnsafe?e.allocUnsafe(a):new e(a);return this["_toArrayLike"+("le"===t?"LE":"BE")](s,i),s},i.prototype._toArrayLikeLE=function(e,t){for(var r=0,n=0,i=0,a=0;i>8&255),r>16&255),6===a?(r>24&255),n=0,a=0):(n=s>>>24,a+=2)}if(r=0&&(e[r--]=s>>8&255),r>=0&&(e[r--]=s>>16&255),6===a?(r>=0&&(e[r--]=s>>24&255),n=0,a=0):(n=s>>>24,a+=2)}if(r>=0)for(e[r--]=n;r>=0;)e[r--]=0},Math.clz32?i.prototype._countBits=function(e){return 32-Math.clz32(e)}:i.prototype._countBits=function(e){var t=e,r=0;return t>=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return(8191&t)==0&&(r+=13,t>>>=13),(127&t)==0&&(r+=7,t>>>=7),(15&t)==0&&(r+=4,t>>>=4),(3&t)==0&&(r+=2,t>>>=2),(1&t)==0&&r++,r},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return(this.length-1)*26+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){this.length>e.length?(t=this,r=e):(t=e,r=this);for(var t,r,n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this._strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),t?this.words[n]=this.words[n]|1<e.length?(r=this,n=e):(r=e,n=this);for(var t,r,n,i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ae.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t,r,n=this.iadd(e);return e.negative=1,n._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(t=this,r=e):(t=e,r=this);for(var a=0,s=0;s>26,this.words[s]=67108863&n;for(;0!==a&&s>26,this.words[s]=67108863&n;if(0===a&&s>>13,h=0|s[1],p=8191&h,y=h>>>13,m=0|s[2],b=8191&m,g=m>>>13,v=0|s[3],w=8191&v,A=v>>>13,E=0|s[4],x=8191&E,M=E>>>13,T=0|s[5],C=8191&T,_=T>>>13,S=0|s[6],B=8191&S,F=S>>>13,k=0|s[7],D=8191&k,P=k>>>13,O=0|s[8],N=8191&O,R=O>>>13,I=0|s[9],L=8191&I,j=I>>>13,U=0|o[0],H=8191&U,G=U>>>13,z=0|o[1],q=8191&z,V=z>>>13,W=0|o[2],K=8191&W,J=W>>>13,Z=0|o[3],Y=8191&Z,$=Z>>>13,X=0|o[4],Q=8191&X,ee=X>>>13,et=0|o[5],er=8191&et,en=et>>>13,ei=0|o[6],ea=8191&ei,es=ei>>>13,eo=0|o[7],eu=8191&eo,el=eo>>>13,ec=0|o[8],ed=8191&ec,ef=ec>>>13,eh=0|o[9],ep=8191&eh,ey=eh>>>13;r.negative=e.negative^t.negative,r.length=19;var em=(l+(n=Math.imul(d,H))|0)+((8191&(i=(i=Math.imul(d,G))+Math.imul(f,H)|0))<<13)|0;l=((a=Math.imul(f,G))+(i>>>13)|0)+(em>>>26)|0,em&=67108863,n=Math.imul(p,H),i=(i=Math.imul(p,G))+Math.imul(y,H)|0,a=Math.imul(y,G);var eb=(l+(n=n+Math.imul(d,q)|0)|0)+((8191&(i=(i=i+Math.imul(d,V)|0)+Math.imul(f,q)|0))<<13)|0;l=((a=a+Math.imul(f,V)|0)+(i>>>13)|0)+(eb>>>26)|0,eb&=67108863,n=Math.imul(b,H),i=(i=Math.imul(b,G))+Math.imul(g,H)|0,a=Math.imul(g,G),n=n+Math.imul(p,q)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(y,q)|0,a=a+Math.imul(y,V)|0;var eg=(l+(n=n+Math.imul(d,K)|0)|0)+((8191&(i=(i=i+Math.imul(d,J)|0)+Math.imul(f,K)|0))<<13)|0;l=((a=a+Math.imul(f,J)|0)+(i>>>13)|0)+(eg>>>26)|0,eg&=67108863,n=Math.imul(w,H),i=(i=Math.imul(w,G))+Math.imul(A,H)|0,a=Math.imul(A,G),n=n+Math.imul(b,q)|0,i=(i=i+Math.imul(b,V)|0)+Math.imul(g,q)|0,a=a+Math.imul(g,V)|0,n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(y,K)|0,a=a+Math.imul(y,J)|0;var ev=(l+(n=n+Math.imul(d,Y)|0)|0)+((8191&(i=(i=i+Math.imul(d,$)|0)+Math.imul(f,Y)|0))<<13)|0;l=((a=a+Math.imul(f,$)|0)+(i>>>13)|0)+(ev>>>26)|0,ev&=67108863,n=Math.imul(x,H),i=(i=Math.imul(x,G))+Math.imul(M,H)|0,a=Math.imul(M,G),n=n+Math.imul(w,q)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(A,q)|0,a=a+Math.imul(A,V)|0,n=n+Math.imul(b,K)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(g,K)|0,a=a+Math.imul(g,J)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,$)|0;var ew=(l+(n=n+Math.imul(d,Q)|0)|0)+((8191&(i=(i=i+Math.imul(d,ee)|0)+Math.imul(f,Q)|0))<<13)|0;l=((a=a+Math.imul(f,ee)|0)+(i>>>13)|0)+(ew>>>26)|0,ew&=67108863,n=Math.imul(C,H),i=(i=Math.imul(C,G))+Math.imul(_,H)|0,a=Math.imul(_,G),n=n+Math.imul(x,q)|0,i=(i=i+Math.imul(x,V)|0)+Math.imul(M,q)|0,a=a+Math.imul(M,V)|0,n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(A,K)|0,a=a+Math.imul(A,J)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,$)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,$)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(y,Q)|0,a=a+Math.imul(y,ee)|0;var eA=(l+(n=n+Math.imul(d,er)|0)|0)+((8191&(i=(i=i+Math.imul(d,en)|0)+Math.imul(f,er)|0))<<13)|0;l=((a=a+Math.imul(f,en)|0)+(i>>>13)|0)+(eA>>>26)|0,eA&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(F,H)|0,a=Math.imul(F,G),n=n+Math.imul(C,q)|0,i=(i=i+Math.imul(C,V)|0)+Math.imul(_,q)|0,a=a+Math.imul(_,V)|0,n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(M,K)|0,a=a+Math.imul(M,J)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(A,Y)|0,a=a+Math.imul(A,$)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,ee)|0)+Math.imul(g,Q)|0,a=a+Math.imul(g,ee)|0,n=n+Math.imul(p,er)|0,i=(i=i+Math.imul(p,en)|0)+Math.imul(y,er)|0,a=a+Math.imul(y,en)|0;var eE=(l+(n=n+Math.imul(d,ea)|0)|0)+((8191&(i=(i=i+Math.imul(d,es)|0)+Math.imul(f,ea)|0))<<13)|0;l=((a=a+Math.imul(f,es)|0)+(i>>>13)|0)+(eE>>>26)|0,eE&=67108863,n=Math.imul(D,H),i=(i=Math.imul(D,G))+Math.imul(P,H)|0,a=Math.imul(P,G),n=n+Math.imul(B,q)|0,i=(i=i+Math.imul(B,V)|0)+Math.imul(F,q)|0,a=a+Math.imul(F,V)|0,n=n+Math.imul(C,K)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(_,K)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(M,Y)|0,a=a+Math.imul(M,$)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(A,Q)|0,a=a+Math.imul(A,ee)|0,n=n+Math.imul(b,er)|0,i=(i=i+Math.imul(b,en)|0)+Math.imul(g,er)|0,a=a+Math.imul(g,en)|0,n=n+Math.imul(p,ea)|0,i=(i=i+Math.imul(p,es)|0)+Math.imul(y,ea)|0,a=a+Math.imul(y,es)|0;var ex=(l+(n=n+Math.imul(d,eu)|0)|0)+((8191&(i=(i=i+Math.imul(d,el)|0)+Math.imul(f,eu)|0))<<13)|0;l=((a=a+Math.imul(f,el)|0)+(i>>>13)|0)+(ex>>>26)|0,ex&=67108863,n=Math.imul(N,H),i=(i=Math.imul(N,G))+Math.imul(R,H)|0,a=Math.imul(R,G),n=n+Math.imul(D,q)|0,i=(i=i+Math.imul(D,V)|0)+Math.imul(P,q)|0,a=a+Math.imul(P,V)|0,n=n+Math.imul(B,K)|0,i=(i=i+Math.imul(B,J)|0)+Math.imul(F,K)|0,a=a+Math.imul(F,J)|0,n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,$)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,$)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(M,Q)|0,a=a+Math.imul(M,ee)|0,n=n+Math.imul(w,er)|0,i=(i=i+Math.imul(w,en)|0)+Math.imul(A,er)|0,a=a+Math.imul(A,en)|0,n=n+Math.imul(b,ea)|0,i=(i=i+Math.imul(b,es)|0)+Math.imul(g,ea)|0,a=a+Math.imul(g,es)|0,n=n+Math.imul(p,eu)|0,i=(i=i+Math.imul(p,el)|0)+Math.imul(y,eu)|0,a=a+Math.imul(y,el)|0;var eM=(l+(n=n+Math.imul(d,ed)|0)|0)+((8191&(i=(i=i+Math.imul(d,ef)|0)+Math.imul(f,ed)|0))<<13)|0;l=((a=a+Math.imul(f,ef)|0)+(i>>>13)|0)+(eM>>>26)|0,eM&=67108863,n=Math.imul(L,H),i=(i=Math.imul(L,G))+Math.imul(j,H)|0,a=Math.imul(j,G),n=n+Math.imul(N,q)|0,i=(i=i+Math.imul(N,V)|0)+Math.imul(R,q)|0,a=a+Math.imul(R,V)|0,n=n+Math.imul(D,K)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(P,K)|0,a=a+Math.imul(P,J)|0,n=n+Math.imul(B,Y)|0,i=(i=i+Math.imul(B,$)|0)+Math.imul(F,Y)|0,a=a+Math.imul(F,$)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,ee)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,ee)|0,n=n+Math.imul(x,er)|0,i=(i=i+Math.imul(x,en)|0)+Math.imul(M,er)|0,a=a+Math.imul(M,en)|0,n=n+Math.imul(w,ea)|0,i=(i=i+Math.imul(w,es)|0)+Math.imul(A,ea)|0,a=a+Math.imul(A,es)|0,n=n+Math.imul(b,eu)|0,i=(i=i+Math.imul(b,el)|0)+Math.imul(g,eu)|0,a=a+Math.imul(g,el)|0,n=n+Math.imul(p,ed)|0,i=(i=i+Math.imul(p,ef)|0)+Math.imul(y,ed)|0,a=a+Math.imul(y,ef)|0;var eT=(l+(n=n+Math.imul(d,ep)|0)|0)+((8191&(i=(i=i+Math.imul(d,ey)|0)+Math.imul(f,ep)|0))<<13)|0;l=((a=a+Math.imul(f,ey)|0)+(i>>>13)|0)+(eT>>>26)|0,eT&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,V))+Math.imul(j,q)|0,a=Math.imul(j,V),n=n+Math.imul(N,K)|0,i=(i=i+Math.imul(N,J)|0)+Math.imul(R,K)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(D,Y)|0,i=(i=i+Math.imul(D,$)|0)+Math.imul(P,Y)|0,a=a+Math.imul(P,$)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,ee)|0)+Math.imul(F,Q)|0,a=a+Math.imul(F,ee)|0,n=n+Math.imul(C,er)|0,i=(i=i+Math.imul(C,en)|0)+Math.imul(_,er)|0,a=a+Math.imul(_,en)|0,n=n+Math.imul(x,ea)|0,i=(i=i+Math.imul(x,es)|0)+Math.imul(M,ea)|0,a=a+Math.imul(M,es)|0,n=n+Math.imul(w,eu)|0,i=(i=i+Math.imul(w,el)|0)+Math.imul(A,eu)|0,a=a+Math.imul(A,el)|0,n=n+Math.imul(b,ed)|0,i=(i=i+Math.imul(b,ef)|0)+Math.imul(g,ed)|0,a=a+Math.imul(g,ef)|0;var eC=(l+(n=n+Math.imul(p,ep)|0)|0)+((8191&(i=(i=i+Math.imul(p,ey)|0)+Math.imul(y,ep)|0))<<13)|0;l=((a=a+Math.imul(y,ey)|0)+(i>>>13)|0)+(eC>>>26)|0,eC&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,J))+Math.imul(j,K)|0,a=Math.imul(j,J),n=n+Math.imul(N,Y)|0,i=(i=i+Math.imul(N,$)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,$)|0,n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,ee)|0)+Math.imul(P,Q)|0,a=a+Math.imul(P,ee)|0,n=n+Math.imul(B,er)|0,i=(i=i+Math.imul(B,en)|0)+Math.imul(F,er)|0,a=a+Math.imul(F,en)|0,n=n+Math.imul(C,ea)|0,i=(i=i+Math.imul(C,es)|0)+Math.imul(_,ea)|0,a=a+Math.imul(_,es)|0,n=n+Math.imul(x,eu)|0,i=(i=i+Math.imul(x,el)|0)+Math.imul(M,eu)|0,a=a+Math.imul(M,el)|0,n=n+Math.imul(w,ed)|0,i=(i=i+Math.imul(w,ef)|0)+Math.imul(A,ed)|0,a=a+Math.imul(A,ef)|0;var e_=(l+(n=n+Math.imul(b,ep)|0)|0)+((8191&(i=(i=i+Math.imul(b,ey)|0)+Math.imul(g,ep)|0))<<13)|0;l=((a=a+Math.imul(g,ey)|0)+(i>>>13)|0)+(e_>>>26)|0,e_&=67108863,n=Math.imul(L,Y),i=(i=Math.imul(L,$))+Math.imul(j,Y)|0,a=Math.imul(j,$),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,ee)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,ee)|0,n=n+Math.imul(D,er)|0,i=(i=i+Math.imul(D,en)|0)+Math.imul(P,er)|0,a=a+Math.imul(P,en)|0,n=n+Math.imul(B,ea)|0,i=(i=i+Math.imul(B,es)|0)+Math.imul(F,ea)|0,a=a+Math.imul(F,es)|0,n=n+Math.imul(C,eu)|0,i=(i=i+Math.imul(C,el)|0)+Math.imul(_,eu)|0,a=a+Math.imul(_,el)|0,n=n+Math.imul(x,ed)|0,i=(i=i+Math.imul(x,ef)|0)+Math.imul(M,ed)|0,a=a+Math.imul(M,ef)|0;var eS=(l+(n=n+Math.imul(w,ep)|0)|0)+((8191&(i=(i=i+Math.imul(w,ey)|0)+Math.imul(A,ep)|0))<<13)|0;l=((a=a+Math.imul(A,ey)|0)+(i>>>13)|0)+(eS>>>26)|0,eS&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,ee))+Math.imul(j,Q)|0,a=Math.imul(j,ee),n=n+Math.imul(N,er)|0,i=(i=i+Math.imul(N,en)|0)+Math.imul(R,er)|0,a=a+Math.imul(R,en)|0,n=n+Math.imul(D,ea)|0,i=(i=i+Math.imul(D,es)|0)+Math.imul(P,ea)|0,a=a+Math.imul(P,es)|0,n=n+Math.imul(B,eu)|0,i=(i=i+Math.imul(B,el)|0)+Math.imul(F,eu)|0,a=a+Math.imul(F,el)|0,n=n+Math.imul(C,ed)|0,i=(i=i+Math.imul(C,ef)|0)+Math.imul(_,ed)|0,a=a+Math.imul(_,ef)|0;var eB=(l+(n=n+Math.imul(x,ep)|0)|0)+((8191&(i=(i=i+Math.imul(x,ey)|0)+Math.imul(M,ep)|0))<<13)|0;l=((a=a+Math.imul(M,ey)|0)+(i>>>13)|0)+(eB>>>26)|0,eB&=67108863,n=Math.imul(L,er),i=(i=Math.imul(L,en))+Math.imul(j,er)|0,a=Math.imul(j,en),n=n+Math.imul(N,ea)|0,i=(i=i+Math.imul(N,es)|0)+Math.imul(R,ea)|0,a=a+Math.imul(R,es)|0,n=n+Math.imul(D,eu)|0,i=(i=i+Math.imul(D,el)|0)+Math.imul(P,eu)|0,a=a+Math.imul(P,el)|0,n=n+Math.imul(B,ed)|0,i=(i=i+Math.imul(B,ef)|0)+Math.imul(F,ed)|0,a=a+Math.imul(F,ef)|0;var eF=(l+(n=n+Math.imul(C,ep)|0)|0)+((8191&(i=(i=i+Math.imul(C,ey)|0)+Math.imul(_,ep)|0))<<13)|0;l=((a=a+Math.imul(_,ey)|0)+(i>>>13)|0)+(eF>>>26)|0,eF&=67108863,n=Math.imul(L,ea),i=(i=Math.imul(L,es))+Math.imul(j,ea)|0,a=Math.imul(j,es),n=n+Math.imul(N,eu)|0,i=(i=i+Math.imul(N,el)|0)+Math.imul(R,eu)|0,a=a+Math.imul(R,el)|0,n=n+Math.imul(D,ed)|0,i=(i=i+Math.imul(D,ef)|0)+Math.imul(P,ed)|0,a=a+Math.imul(P,ef)|0;var ek=(l+(n=n+Math.imul(B,ep)|0)|0)+((8191&(i=(i=i+Math.imul(B,ey)|0)+Math.imul(F,ep)|0))<<13)|0;l=((a=a+Math.imul(F,ey)|0)+(i>>>13)|0)+(ek>>>26)|0,ek&=67108863,n=Math.imul(L,eu),i=(i=Math.imul(L,el))+Math.imul(j,eu)|0,a=Math.imul(j,el),n=n+Math.imul(N,ed)|0,i=(i=i+Math.imul(N,ef)|0)+Math.imul(R,ed)|0,a=a+Math.imul(R,ef)|0;var eD=(l+(n=n+Math.imul(D,ep)|0)|0)+((8191&(i=(i=i+Math.imul(D,ey)|0)+Math.imul(P,ep)|0))<<13)|0;l=((a=a+Math.imul(P,ey)|0)+(i>>>13)|0)+(eD>>>26)|0,eD&=67108863,n=Math.imul(L,ed),i=(i=Math.imul(L,ef))+Math.imul(j,ed)|0,a=Math.imul(j,ef);var eP=(l+(n=n+Math.imul(N,ep)|0)|0)+((8191&(i=(i=i+Math.imul(N,ey)|0)+Math.imul(R,ep)|0))<<13)|0;l=((a=a+Math.imul(R,ey)|0)+(i>>>13)|0)+(eP>>>26)|0,eP&=67108863;var eO=(l+(n=Math.imul(L,ep))|0)+((8191&(i=(i=Math.imul(L,ey))+Math.imul(j,ep)|0))<<13)|0;return l=((a=Math.imul(j,ey))+(i>>>13)|0)+(eO>>>26)|0,eO&=67108863,u[0]=em,u[1]=eb,u[2]=eg,u[3]=ev,u[4]=ew,u[5]=eA,u[6]=eE,u[7]=ex,u[8]=eM,u[9]=eT,u[10]=eC,u[11]=e_,u[12]=eS,u[13]=eB,u[14]=eF,u[15]=ek,u[16]=eD,u[17]=eP,u[18]=eO,0!==l&&(u[19]=l,r.length++),r};function b(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,s&=67108863}r.words[a]=o,n=s,s=i}return 0!==n?r.words[a]=n:r.length--,r._strip()}function g(e,t){this.x=e,this.y=t}Math.imul||(m=y),i.prototype.mulTo=function(e,t){var r,n=this.length+e.length;return 10===this.length&&10===e.length?m(this,e,t):n<63?y(this,e,t):b(this,e,t)},g.prototype.makeRBT=function(e){for(var t=Array(e),r=i.prototype._countBits(e)-1,n=0;n>=1;return n},g.prototype.permute=function(e,t,r,n,i,a){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&a,a>>>=13;for(s=2*t;s>=26,n+=(a/67108864|0)+(s>>>26),this.words[i]=67108863&s}return 0!==n&&(this.words[i]=n,this.length++),t?this.ineg():this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=Array(e.bitLength()),r=0;r>>i&1}return t}(e);if(0===t.length)return new i(1);for(var r=this,n=0;n=0);var t,n=e%26,i=(e-n)/26,a=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var i,a=e%26,s=Math.min((e-a)/26,this.length),o=67108863^67108863>>>a<s)for(this.length-=s,u=0;u=0&&(0!==l||u>=i);u--){var c=0|this.words[u];this.words[u]=l<<26-a|c>>>a,l=c&o}return n&&0!==l&&(n.words[n.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},i.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26;return!(this.length<=n)&&!!(this.words[n]&1<=0);var t=e%26,n=(e-t)/26;return(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)?this:(0!==t&&n++,this.length=Math.min(n,this.length),0!==t&&(this.words[this.length-1]&=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[i+n]=67108863&a}for(;i>26,this.words[i+n]=67108863&a;if(0===o)return this._strip();for(r(-1===o),o=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this._strip()},i.prototype._wordDiv=function(e,t){var r,n=this.length-e.length,a=this.clone(),s=e,o=0|s.words[s.length-1];0!=(n=26-this._countBits(o))&&(s=s.ushln(n),a.iushln(n),o=0|s.words[s.length-1]);var u=a.length-s.length;if("mod"!==t){(r=new i(null)).length=u+1,r.words=Array(r.length);for(var l=0;l=0;d--){var f=(0|a.words[s.length+d])*67108864+(0|a.words[s.length+d-1]);for(f=Math.min(f/o|0,67108863),a._ishlnsubmul(s,f,d);0!==a.negative;)f--,a.negative=0,a._ishlnsubmul(s,1,d),a.isZero()||(a.negative^=1);r&&(r.words[d]=f)}return r&&r._strip(),a._strip(),"div"!==t&&0!==n&&a.iushrn(n),{div:r||null,mod:a}},i.prototype.divmod=function(e,t,n){var a,s,o;return(r(!e.isZero()),this.isZero())?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(a=o.div.neg()),"div"!==t&&(s=o.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:a,mod:s}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(a=o.div.neg()),{div:a,mod:o.mod}):(this.negative&e.negative)!=0?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(s=o.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:o.div,mod:s}):e.length>this.length||0>this.cmp(e)?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modrn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modrn(e.words[0]))}:this._wordDiv(e,t)},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modrn=function(e){var t=e<0;t&&(e=-e),r(e<=67108863);for(var n=67108864%e,i=0,a=this.length-1;a>=0;a--)i=(n*i+(0|this.words[a]))%e;return t?-i:i},i.prototype.modn=function(e){return this.modrn(e)},i.prototype.idivn=function(e){var t=e<0;t&&(e=-e),r(e<=67108863);for(var n=0,i=this.length-1;i>=0;i--){var a=(0|this.words[i])+67108864*n;this.words[i]=a/e|0,n=a%e}return this._strip(),t?this.ineg():this},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var a=new i(1),s=new i(0),o=new i(0),u=new i(1),l=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++l;for(var c=n.clone(),d=t.clone();!t.isZero();){for(var f=0,h=1;(t.words[0]&h)==0&&f<26;++f,h<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(a.isOdd()||s.isOdd())&&(a.iadd(c),s.isub(d)),a.iushrn(1),s.iushrn(1);for(var p=0,y=1;(n.words[0]&y)==0&&p<26;++p,y<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(o.isOdd()||u.isOdd())&&(o.iadd(c),u.isub(d)),o.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(o),s.isub(u)):(n.isub(t),o.isub(a),u.isub(s))}return{a:o,b:u,gcd:n.iushln(l)}},i.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t,n=this,a=e.clone();n=0!==n.negative?n.umod(e):n.clone();for(var s=new i(1),o=new i(0),u=a.clone();n.cmpn(1)>0&&a.cmpn(1)>0;){for(var l=0,c=1;(n.words[0]&c)==0&&l<26;++l,c<<=1);if(l>0)for(n.iushrn(l);l-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var d=0,f=1;(a.words[0]&f)==0&&d<26;++d,f<<=1);if(d>0)for(a.iushrn(d);d-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);n.cmp(a)>=0?(n.isub(a),s.isub(o)):(a.isub(n),o.isub(s))}return 0>(t=0===n.cmpn(1)?s:o).cmpn(0)&&t.iadd(e),t},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return(1&this.words[0])==0},i.prototype.isOdd=function(){return(1&this.words[0])==1},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<>>26,o&=67108863,this.words[s]=o}return 0!==a&&(this.words[s]=a,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return -1;if(0===this.negative&&n)return 1;if(this._strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return -1===this.cmpn(e)},i.prototype.lt=function(e){return -1===this.cmp(e)},i.prototype.lten=function(e){return 0>=this.cmpn(e)},i.prototype.lte=function(e){return 0>=this.cmp(e)},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new T(e)},i.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var v={k256:null,p224:null,p192:null,p25519:null};function w(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function A(){w.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function E(){w.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function x(){w.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){w.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function T(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function C(e){T.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}w.prototype._tmp=function(){var e=new i(null);return e.words=Array(Math.ceil(this.n/13)),e},w.prototype.ireduce=function(e){var t,r=e;do this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength();while(t>this.n)var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},w.prototype.split=function(e,t){e.iushrn(this.n,0,t)},w.prototype.imulK=function(e){return e.imul(this.k)},n(A,w),A.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,i=a}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},A.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){var t;if(v[e])return v[e];if("k256"===e)t=new A;else if("p224"===e)t=new E;else if("p192"===e)t=new x;else if("p25519"===e)t=new M;else throw Error("Unknown prime "+e);return v[e]=t,t},T.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},T.prototype._verify2=function(e,t){r((e.negative|t.negative)==0,"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},T.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):(l(e,e.umod(this.m)._forceRed(this)),e)},T.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},T.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},T.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},T.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return 0>r.cmpn(0)&&r.iadd(this.m),r._forceRed(this)},T.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return 0>r.cmpn(0)&&r.iadd(this.m),r},T.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},T.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},T.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},T.prototype.isqr=function(e){return this.imul(e,e.clone())},T.prototype.sqr=function(e){return this.mul(e,e)},T.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new i(1)).iushrn(2);return this.pow(e,n)}for(var a=this.m.subn(1),s=0;!a.isZero()&&0===a.andln(1);)s++,a.iushrn(1);r(!a.isZero());var o=new i(1).toRed(this),u=o.redNeg(),l=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new i(2*c*c).toRed(this);0!==this.pow(c,l).cmp(u);)c.redIAdd(u);for(var d=this.pow(c,a),f=this.pow(e,a.addn(1).iushrn(1)),h=this.pow(e,a),p=s;0!==h.cmp(o);){for(var y=h,m=0;0!==y.cmp(o);m++)y=y.redSqr();r(m=0;n--){for(var l=t.words[n],c=u-1;c>=0;c--){var d=l>>c&1;if(a!==r[0]&&(a=this.sqr(a)),0===d&&0===s){o=0;continue}s<<=1,s|=d,(4==++o||0===n&&0===c)&&(a=this.mul(a,r[s]),o=0,s=0)}u=26}return a},T.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},T.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new C(e)},n(C,T),C.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},C.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},C.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):0>i.cmpn(0)&&(a=i.iadd(this.m)),a._forceRed(this)},C.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),s=a;return a.cmp(this.m)>=0?s=a.isub(this.m):0>a.cmpn(0)&&(s=a.iadd(this.m)),s._forceRed(this)},C.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}),a.register("kjyEk",function(e,t){}),a.register("aBzgs",function(t,r){e(t.exports,"isBytesLike",()=>l),e(t.exports,"isHexString",()=>m),e(t.exports,"isBytes",()=>d),e(t.exports,"arrayify",()=>f),e(t.exports,"concat",()=>h),e(t.exports,"stripZeros",()=>p),e(t.exports,"zeroPad",()=>y),e(t.exports,"hexlify",()=>g),e(t.exports,"hexDataLength",()=>v),e(t.exports,"hexDataSlice",()=>w),e(t.exports,"hexConcat",()=>A),e(t.exports,"hexValue",()=>E),e(t.exports,"hexStripZeros",()=>x),e(t.exports,"hexZeroPad",()=>M),e(t.exports,"splitSignature",()=>T),e(t.exports,"joinSignature",()=>C);"use strict";var n=a("d1hml"),i=a("cSpPr");let s=new n.Logger(i.version);function o(e){return!!e.toHexString}function u(e){return e.slice||(e.slice=function(){let t=Array.prototype.slice.call(arguments);return u(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function l(e){return m(e)&&!(e.length%2)||d(e)}function c(e){return"number"==typeof e&&e==e&&e%1==0}function d(e){if(null==e)return!1;if(e.constructor===Uint8Array)return!0;if("string"==typeof e||!c(e.length)||e.length<0)return!1;for(let t=0;t=256)return!1}return!0}function f(e,t){if(t||(t={}),"number"==typeof e){s.checkSafeUint53(e,"invalid arrayify value");let t=[];for(;e;)t.unshift(255&e),e=parseInt(String(e/256));return 0===t.length&&t.push(0),u(new Uint8Array(t))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),o(e)&&(e=e.toHexString()),m(e)){let r=e.substring(2);r.length%2&&("left"===t.hexPad?r="0"+r:"right"===t.hexPad?r+="0":s.throwArgumentError("hex data is odd-length","value",e));let n=[];for(let e=0;ef(e)),r=t.reduce((e,t)=>e+t.length,0),n=new Uint8Array(r);return t.reduce((e,t)=>(n.set(t,e),e+t.length),0),u(n)}function p(e){let t=f(e);if(0===t.length)return t;let r=0;for(;rt&&s.throwArgumentError("value out of range","value",arguments[0]);let r=new Uint8Array(t);return r.set(e,t-e.length),u(r)}function m(e,t){return"string"==typeof e&&!!e.match(/^0x[0-9A-Fa-f]*$/)&&(!t||e.length===2+2*t)}let b="0123456789abcdef";function g(e,t){if(t||(t={}),"number"==typeof e){s.checkSafeUint53(e,"invalid hexlify value");let t="";for(;e;)t=b[15&e]+t,e=Math.floor(e/16);return t.length?(t.length%2&&(t="0"+t),"0x"+t):"0x00"}if("bigint"==typeof e)return(e=e.toString(16)).length%2?"0x0"+e:"0x"+e;if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),o(e))return e.toHexString();if(m(e))return e.length%2&&("left"===t.hexPad?e="0x0"+e.substring(2):"right"===t.hexPad?e+="0":s.throwArgumentError("hex data is odd-length","value",e)),e.toLowerCase();if(d(e)){let t="0x";for(let r=0;r>4]+b[15&n]}return t}return s.throwArgumentError("invalid hexlify value","value",e)}function v(e){if("string"!=typeof e)e=g(e);else if(!m(e)||e.length%2)return null;return(e.length-2)/2}function w(e,t,r){return("string"!=typeof e?e=g(e):(!m(e)||e.length%2)&&s.throwArgumentError("invalid hexData","value",e),t=2+2*t,null!=r)?"0x"+e.substring(t,2+2*r):"0x"+e.substring(t)}function A(e){let t="0x";return e.forEach(e=>{t+=g(e).substring(2)}),t}function E(e){let t=x(g(e,{hexPad:"left"}));return"0x"===t?"0x0":t}function x(e){"string"!=typeof e&&(e=g(e)),m(e)||s.throwArgumentError("invalid hex string","value",e),e=e.substring(2);let t=0;for(;t2*t+2&&s.throwArgumentError("value out of range","value",arguments[1]);e.length<2*t+2;)e="0x0"+e.substring(2);return e}function T(e){let t={r:"0x",s:"0x",_vs:"0x",recoveryParam:0,v:0,yParityAndS:"0x",compact:"0x"};if(l(e)){let r=f(e);64===r.length?(t.v=27+(r[32]>>7),r[32]&=127,t.r=g(r.slice(0,32)),t.s=g(r.slice(32,64))):65===r.length?(t.r=g(r.slice(0,32)),t.s=g(r.slice(32,64)),t.v=r[64]):s.throwArgumentError("invalid signature string","signature",e),t.v<27&&(0===t.v||1===t.v?t.v+=27:s.throwArgumentError("signature invalid v byte","signature",e)),t.recoveryParam=1-t.v%2,t.recoveryParam&&(r[32]|=128),t._vs=g(r.slice(32,64))}else{if(t.r=e.r,t.s=e.s,t.v=e.v,t.recoveryParam=e.recoveryParam,t._vs=e._vs,null!=t._vs){let r=y(f(t._vs),32);t._vs=g(r);let n=r[0]>=128?1:0;null==t.recoveryParam?t.recoveryParam=n:t.recoveryParam!==n&&s.throwArgumentError("signature recoveryParam mismatch _vs","signature",e),r[0]&=127;let i=g(r);null==t.s?t.s=i:t.s!==i&&s.throwArgumentError("signature v mismatch _vs","signature",e)}if(null==t.recoveryParam)null==t.v?s.throwArgumentError("signature missing v and recoveryParam","signature",e):0===t.v||1===t.v?t.recoveryParam=t.v:t.recoveryParam=1-t.v%2;else if(null==t.v)t.v=27+t.recoveryParam;else{let r=0===t.v||1===t.v?t.v:1-t.v%2;t.recoveryParam!==r&&s.throwArgumentError("signature recoveryParam mismatch v","signature",e)}null!=t.r&&m(t.r)?t.r=M(t.r,32):s.throwArgumentError("signature missing or invalid r","signature",e),null!=t.s&&m(t.s)?t.s=M(t.s,32):s.throwArgumentError("signature missing or invalid s","signature",e);let r=f(t.s);r[0]>=128&&s.throwArgumentError("signature s out of range","signature",e),t.recoveryParam&&(r[0]|=128);let n=g(r);t._vs&&(m(t._vs)||s.throwArgumentError("signature invalid _vs","signature",e),t._vs=M(t._vs,32)),null==t._vs?t._vs=n:t._vs!==n&&s.throwArgumentError("signature _vs mismatch v and s","signature",e)}return t.yParityAndS=t._vs,t.compact=t.r+t.yParityAndS.substring(2),t}function C(e){return g(h([(e=T(e)).r,e.s,e.recoveryParam?"0x1c":"0x1b"]))}}),a.register("cSpPr",function(t,r){e(t.exports,"version",()=>n);let n="bytes/5.7.0"}),a.register("e2x6L",function(t,r){e(t.exports,"version",()=>n);let n="bignumber/5.7.0"}),a.register("gtiOu",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.default=class{constructor(e){this.contract=e,this.encode=(e,t)=>this.contract.interface.encodeFunctionData(e,t)}getAddress(){return this.contract.address}}}),a.register("dTiG3",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.default=class{constructor(e){this.contract=e,this.encode=(e,t)=>this.contract.interface.encodeFunctionData(e,t)}getAddress(){return this.contract.address}}}),a.register("8Chaz",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0});var r=a("h3YQx");e.exports.default=class{constructor(e){this.contract=e,this.encode=(e,t)=>this.contract.interface.encodeFunctionData(e,t)}getAddress(){return this.contract.address}async signMessage(e,t){t&&!t.gasLimit&&(t.gasLimit=await this.estimateGas("signMessage",[e],{...t}));let n=await this.contract.signMessage(e,t);return(0,r.toTxResult)(n,t)}async getMessageHash(e){return this.contract.getMessageHash(e)}async estimateGas(e,t,r){return(await this.contract.estimateGas[e](...t,r)).toString()}}}),a.register("iOLGS",function(e,t){"use strict";var r,n,i,s=e.exports&&e.exports.__classPrivateFieldSet||function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},o=e.exports&&e.exports.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};Object.defineProperty(e.exports,"__esModule",{value:!0});var u=a("1chjt"),l=a("7a7Pr"),c=a("86UQU"),d=a("h3YQx");r=new WeakMap,n=new WeakMap,i=new WeakMap,e.exports.default=class{constructor({ethers:e,signerOrProvider:t}){if(r.set(this,void 0),n.set(this,void 0),i.set(this,void 0),!e)throw Error("ethers property missing from options");s(this,r,e,"f");let a=(0,d.isSignerCompatible)(t);if(a){if(!t.provider)throw Error("Signer must be connected to a provider");s(this,i,t.provider,"f"),s(this,n,t,"f")}else s(this,i,t,"f")}getProvider(){return o(this,i,"f")}getSigner(){return o(this,n,"f")}isAddress(e){return o(this,r,"f").utils.isAddress(e)}async getEip3770Address(e){let t=await this.getChainId();return(0,l.validateEip3770Address)(e,t)}async getBalance(e,t){return u.BigNumber.from(await o(this,i,"f").getBalance(e,t))}async getNonce(e,t){return o(this,i,"f").getTransactionCount(e,t)}async getChainId(){return(await o(this,i,"f").getNetwork()).chainId}getChecksummedAddress(e){return o(this,r,"f").utils.getAddress(e)}async getSafeContract({safeVersion:e,singletonDeployment:t,customContractAddress:r}){let a=await this.getChainId(),s=null!=r?r:null==t?void 0:t.networkAddresses[a];if(!s)throw Error("Invalid SafeProxy contract address");let u=o(this,n,"f")||o(this,i,"f");return(0,c.getSafeContractInstance)(e,s,u)}async getSafeProxyFactoryContract({safeVersion:e,singletonDeployment:t,customContractAddress:r}){let a=await this.getChainId(),s=null!=r?r:null==t?void 0:t.networkAddresses[a];if(!s)throw Error("Invalid SafeProxyFactory contract address");let u=o(this,n,"f")||o(this,i,"f");return(0,c.getSafeProxyFactoryContractInstance)(e,s,u)}async getMultiSendContract({safeVersion:e,singletonDeployment:t,customContractAddress:r}){let a=await this.getChainId(),s=null!=r?r:null==t?void 0:t.networkAddresses[a];if(!s)throw Error("Invalid MultiSend contract address");let u=o(this,n,"f")||o(this,i,"f");return(0,c.getMultiSendContractInstance)(e,s,u)}async getMultiSendCallOnlyContract({safeVersion:e,singletonDeployment:t,customContractAddress:r}){let a=await this.getChainId(),s=null!=r?r:null==t?void 0:t.networkAddresses[a];if(!s)throw Error("Invalid MultiSendCallOnly contract address");let u=o(this,n,"f")||o(this,i,"f");return(0,c.getMultiSendCallOnlyContractInstance)(e,s,u)}async getCompatibilityFallbackHandlerContract({safeVersion:e,singletonDeployment:t,customContractAddress:r}){let a=await this.getChainId(),s=null!=r?r:null==t?void 0:t.networkAddresses[a];if(!s)throw Error("Invalid CompatibilityFallbackHandler contract address");let u=o(this,n,"f")||o(this,i,"f");return(0,c.getCompatibilityFallbackHandlerContractInstance)(e,s,u)}async getSignMessageLibContract({safeVersion:e,singletonDeployment:t,customContractAddress:r}){let a=await this.getChainId(),s=null!=r?r:null==t?void 0:t.networkAddresses[a];if(!s)throw Error("Invalid SignMessageLib contract address");let u=o(this,n,"f")||o(this,i,"f");return(0,c.getSignMessageLibContractInstance)(e,s,u)}async getCreateCallContract({safeVersion:e,singletonDeployment:t,customContractAddress:r}){let a=await this.getChainId(),s=null!=r?r:null==t?void 0:t.networkAddresses[a];if(!s)throw Error("Invalid CreateCall contract address");let u=o(this,n,"f")||o(this,i,"f");return(0,c.getCreateCallContractInstance)(e,s,u)}async getContractCode(e,t){return o(this,i,"f").getCode(e,t)}async isContractDeployed(e,t){let r=await o(this,i,"f").getCode(e,t);return"0x"!==r}async getStorageAt(e,t){let r=await o(this,i,"f").getStorageAt(e,t),n=this.decodeParameters(["address"],r);return n[0]}async getTransaction(e){return o(this,i,"f").getTransaction(e)}async getSignerAddress(){var e;return null===(e=o(this,n,"f"))||void 0===e?void 0:e.getAddress()}signMessage(e){if(!o(this,n,"f"))throw Error("EthAdapter must be initialized with a signer to use this method");let t=o(this,r,"f").utils.arrayify(e);return o(this,n,"f").signMessage(t)}async signTypedData(e){if(!o(this,n,"f"))throw Error("EthAdapter must be initialized with a signer to use this method");if((0,d.isTypedDataSigner)(o(this,n,"f"))){let t=(0,l.generateTypedData)(e),r=await o(this,n,"f")._signTypedData(t.domain,{SafeTx:t.types.SafeTx},t.message);return r}throw Error("The current signer does not implement EIP-712 to sign typed data")}async estimateGas(e){return(await o(this,i,"f").estimateGas(e)).toString()}call(e,t){return o(this,i,"f").call(e,t)}encodeParameters(e,t){return new(o(this,r,"f")).utils.AbiCoder().encode(e,t)}decodeParameters(e,t){return new(o(this,r,"f")).utils.AbiCoder().decode(e,t)}}}),a.register("7a7Pr",function(e,t){"use strict";var r=e.exports&&e.exports.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=e.exports&&e.exports.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(e.exports,"__esModule",{value:!0}),n(a("gOIod"),e.exports),n(a("4pOCo"),e.exports),n(a("cbPuo"),e.exports),n(a("17085"),e.exports),n(a("b8YZZ"),e.exports),n(a("8jNYJ"),e.exports)}),a.register("gOIod",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.isRestrictedAddress=e.exports.isZeroAddress=e.exports.sameString=void 0;var r=a("cm07l");function n(e,t){return e.toLowerCase()===t.toLowerCase()}function i(e){return n(e,r.ZERO_ADDRESS)}e.exports.sameString=n,e.exports.isZeroAddress=i,e.exports.isRestrictedAddress=function(e){return i(e)||n(e,r.SENTINEL_ADDRESS)}}),a.register("cm07l",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.SENTINEL_ADDRESS=e.exports.EMPTY_DATA=e.exports.ZERO_ADDRESS=void 0,e.exports.ZERO_ADDRESS=`0x${"0".repeat(40)}`,e.exports.EMPTY_DATA="0x",e.exports.SENTINEL_ADDRESS="0x0000000000000000000000000000000000000001"}),a.register("4pOCo",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.validateEip3770Address=e.exports.validateEthereumAddress=e.exports.validateEip3770NetworkPrefix=e.exports.isValidEip3770NetworkPrefix=e.exports.getEip3770NetworkPrefixFromChainId=e.exports.parseEip3770Address=void 0;var r=a("9y1Dl"),n=a("ulSff");function i(e){let t=e.split(":"),r=t.length>1?t[1]:t[0],n=t.length>1?t[0]:"";return{prefix:n,address:r}}function s(e){let t=n.networks.find(t=>e===t.chainId);if(!t)throw Error("No network prefix supported for the current chainId");return t.shortName}function o(e){return n.networks.some(({shortName:t})=>t===e)}function u(e,t){let r=e===s(t);if(!o(e)||!r)throw Error("The network prefix must match the current network")}function l(e){let t=(0,r.isHexStrict)(e)&&(0,r.isAddress)(e);if(!t)throw Error(`Invalid Ethereum address ${e}`)}e.exports.parseEip3770Address=i,e.exports.getEip3770NetworkPrefixFromChainId=s,e.exports.isValidEip3770NetworkPrefix=o,e.exports.validateEip3770NetworkPrefix=u,e.exports.validateEthereumAddress=l,e.exports.validateEip3770Address=function(e,t){let{address:r,prefix:n}=i(e);return l(r),n&&u(n,t),{address:r,prefix:n}}}),a.register("9y1Dl",function(e,t){var r=a("bijMU"),n=a("eNPzt"),i=a("gQOic"),s=a("hkN9y"),o=a("dEXSZ"),u=function(e,t){var r=[];return t.forEach(function(t){if("object"==typeof t.components){if("tuple"!==t.type.substring(0,5))throw Error("components found but type is not tuple; report on GitHub");var n="",i=t.type.indexOf("[");i>=0&&(n=t.type.substring(i));var a=u(e,t.components);Array.isArray(a)&&e?r.push("tuple("+a.join(",")+")"+n):e?r.push("("+a+")"):r.push("("+a.join(",")+")"+n)}else r.push(t.type)}),r},l=function(e){if(!n.isHexStrict(e))throw Error("The parameter must be a valid HEX string.");var t="",r=0,i=e.length;for("0x"===e.substring(0,2)&&(r=2);r7?r+=e[i].toUpperCase():r+=e[i];return r},toHex:n.toHex,toBN:n.toBN,bytesToHex:n.bytesToHex,hexToBytes:n.hexToBytes,hexToNumberString:n.hexToNumberString,hexToNumber:n.hexToNumber,toDecimal:n.hexToNumber,numberToHex:n.numberToHex,fromDecimal:n.numberToHex,hexToUtf8:n.hexToUtf8,hexToString:n.hexToUtf8,toUtf8:n.hexToUtf8,stripHexPrefix:n.stripHexPrefix,utf8ToHex:n.utf8ToHex,stringToHex:n.utf8ToHex,fromUtf8:n.utf8ToHex,hexToAscii:l,toAscii:l,asciiToHex:c,fromAscii:c,unitMap:r.unitMap,toWei:function(e,t){if(t=d(t),!n.isBN(e)&&"string"!=typeof e)throw Error("Please pass numbers as strings or BN objects to avoid precision errors.");return n.isBN(e)?r.toWei(e,t):r.toWei(e,t).toString(10)},fromWei:function(e,t){if(t=d(t),!n.isBN(e)&&"string"!=typeof e)throw Error("Please pass numbers as strings or BN objects to avoid precision errors.");return n.isBN(e)?r.fromWei(e,t):r.fromWei(e,t).toString(10)},padLeft:n.leftPad,leftPad:n.leftPad,padRight:n.rightPad,rightPad:n.rightPad,toTwosComplement:n.toTwosComplement,isBloom:n.isBloom,isUserEthereumAddressInBloom:n.isUserEthereumAddressInBloom,isContractAddressInBloom:n.isContractAddressInBloom,isTopic:n.isTopic,isTopicInBloom:n.isTopicInBloom,isInBloom:n.isInBloom,compareBlockNumbers:function(e,t){if(e===t||("genesis"===e||"earliest"===e||0===e)&&("genesis"===t||"earliest"===t||0===t))return 0;if("genesis"===e||"earliest"===e||0===e)return -1;{if("genesis"===t||"earliest"===t||0===t)return 1;if("latest"===e||"finalized"===e)return"pending"===t?-1:1;if("latest"===t||"finalized"===t)return"pending"===e?1:-1;if("pending"===e)return 1;if("pending"===t)return -1;if("safe"===e||"safe"===t)return;let r=new o(e),n=new o(t);return r.lt(n)?-1:r.eq(n)?0:1}},toNumber:n.toNumber}}),a.register("bijMU",function(e,t){"use strict";var r=a("37ApY"),n=a("lrNtv"),i=new r(0),s=new r(-1),o={noether:"0",wei:"1",kwei:"1000",Kwei:"1000",babbage:"1000",femtoether:"1000",mwei:"1000000",Mwei:"1000000",lovelace:"1000000",picoether:"1000000",gwei:"1000000000",Gwei:"1000000000",shannon:"1000000000",nanoether:"1000000000",nano:"1000000000",szabo:"1000000000000",microether:"1000000000000",micro:"1000000000000",finney:"1000000000000000",milliether:"1000000000000000",milli:"1000000000000000",ether:"1000000000000000000",kether:"1000000000000000000000",grand:"1000000000000000000000",mether:"1000000000000000000000000",gether:"1000000000000000000000000000",tether:"1000000000000000000000000000000"};function u(e){var t=o[e?e.toLowerCase():"ether"];if("string"!=typeof t)throw Error("[ethjs-unit] the unit provided "+e+" doesn't exists, please use the one of the following units "+JSON.stringify(o,null,2));return new r(t,10)}function l(e){if("string"==typeof e){if(!e.match(/^-?[0-9.]+$/))throw Error("while converting number to string, invalid number value '"+e+"', should be a number matching (^-?[0-9.]+).");return e}if("number"==typeof e)return String(e);if("object"==typeof e&&e.toString&&(e.toTwos||e.dividedToIntegerBy))return e.toPrecision?String(e.toPrecision()):e.toString(10);throw Error("while converting number to string, invalid number value '"+e+"' type "+typeof e+".")}e.exports={unitMap:o,numberToString:l,getValueOfUnit:u,fromWei:function(e,t,r){var a=n(e),l=a.lt(i),c=u(t),d=o[t].length-1||1,f=r||{};l&&(a=a.mul(s));for(var h=a.mod(c).toString(10);h.length2)throw Error("[ethjs-unit] while converting number "+e+" to wei, too many decimal points");var f=d[0],h=d[1];if(f||(f="0"),h||(h="0"),h.length>a)throw Error("[ethjs-unit] while converting number "+e+" to wei, too many decimal places");for(;h.length=49&&s<=54?n|=s-49+10:s>=17&&s<=22?n|=s-17+10:n|=15&s}return n}function o(e,t,r,n){for(var i=0,a=Math.min(e.length,r),s=t;s=49?i+=o-49+10:o>=17?i+=o-17+10:i+=o}return i}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return 0>e.cmp(t)?e:t},i.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},i.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},i.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=Array(this.length);for(var i,a,s=0;s=0;s-=3)a=e[s]|e[s-1]<<8|e[s-2]<<16,this.words[i]|=a<>>26-o&67108863,(o+=24)>=26&&(o-=26,i++);else if("le"===n)for(s=0,i=0;s>>26-o&67108863,(o+=24)>=26&&(o-=26,i++);return this.strip()},i.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=Array(this.length);for(var r,n,i=0;i=t;i-=6)n=s(e,i,i+6),this.words[r]|=n<>>26-a&4194303,(a+=24)>=26&&(a-=26,r++);i+6!==t&&(n=s(e,t,i+6),this.words[r]|=n<>>26-a&4194303),this.strip()},i.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,s=a%n,u=Math.min(a,a-s)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var u,l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],s=i*a,o=67108863&s,u=s/67108864|0;r.words[0]=o;for(var l=1;l>>26,d=67108863&u,f=Math.min(l,t.length-1),h=Math.max(0,l-e.length+1);h<=f;h++){var p=l-h|0;c+=(s=(i=0|e.words[p])*(a=0|t.words[h])+d)/67108864|0,d=67108863&s}r.words[l]=0|d,u=0|c}return 0!==u?r.words[l]=0|u:r.length--,r.strip()}i.prototype.toString=function(e,t){if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var n,i=0,a=0,s=0;s>>24-i&16777215)||s!==this.length-1?l[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==a&&(n=a.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var f=c[e],h=d[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var y=p.modn(h).toString(e);n=(p=p.idivn(h)).isZero()?y+n:l[f-y.length]+y+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return r(void 0!==u),this.toArrayLike(u,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,n){var i,a,s=this.byteLength(),o=n||Math.max(1,s);r(s<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var u=new e(o),l=this.clone();if("le"===t){for(a=0;!l.isZero();a++)i=l.andln(255),l.iushrn(8),u[a]=i;for(;a=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return(8191&t)==0&&(r+=13,t>>>=13),(127&t)==0&&(r+=7,t>>>=7),(15&t)==0&&(r+=4,t>>>=4),(3&t)==0&&(r+=2,t>>>=2),(1&t)==0&&r++,r},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return(this.length-1)*26+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){this.length>e.length?(t=this,r=e):(t=e,r=this);for(var t,r,n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),t?this.words[n]=this.words[n]|1<e.length?(r=this,n=e):(r=e,n=this);for(var t,r,n,i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ae.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t,r,n=this.iadd(e);return e.negative=1,n._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(t=this,r=e):(t=e,r=this);for(var a=0,s=0;s>26,this.words[s]=67108863&n;for(;0!==a&&s>26,this.words[s]=67108863&n;if(0===a&&s>>13,h=0|s[1],p=8191&h,y=h>>>13,m=0|s[2],b=8191&m,g=m>>>13,v=0|s[3],w=8191&v,A=v>>>13,E=0|s[4],x=8191&E,M=E>>>13,T=0|s[5],C=8191&T,_=T>>>13,S=0|s[6],B=8191&S,F=S>>>13,k=0|s[7],D=8191&k,P=k>>>13,O=0|s[8],N=8191&O,R=O>>>13,I=0|s[9],L=8191&I,j=I>>>13,U=0|o[0],H=8191&U,G=U>>>13,z=0|o[1],q=8191&z,V=z>>>13,W=0|o[2],K=8191&W,J=W>>>13,Z=0|o[3],Y=8191&Z,$=Z>>>13,X=0|o[4],Q=8191&X,ee=X>>>13,et=0|o[5],er=8191&et,en=et>>>13,ei=0|o[6],ea=8191&ei,es=ei>>>13,eo=0|o[7],eu=8191&eo,el=eo>>>13,ec=0|o[8],ed=8191&ec,ef=ec>>>13,eh=0|o[9],ep=8191&eh,ey=eh>>>13;r.negative=e.negative^t.negative,r.length=19;var em=(l+(n=Math.imul(d,H))|0)+((8191&(i=(i=Math.imul(d,G))+Math.imul(f,H)|0))<<13)|0;l=((a=Math.imul(f,G))+(i>>>13)|0)+(em>>>26)|0,em&=67108863,n=Math.imul(p,H),i=(i=Math.imul(p,G))+Math.imul(y,H)|0,a=Math.imul(y,G);var eb=(l+(n=n+Math.imul(d,q)|0)|0)+((8191&(i=(i=i+Math.imul(d,V)|0)+Math.imul(f,q)|0))<<13)|0;l=((a=a+Math.imul(f,V)|0)+(i>>>13)|0)+(eb>>>26)|0,eb&=67108863,n=Math.imul(b,H),i=(i=Math.imul(b,G))+Math.imul(g,H)|0,a=Math.imul(g,G),n=n+Math.imul(p,q)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(y,q)|0,a=a+Math.imul(y,V)|0;var eg=(l+(n=n+Math.imul(d,K)|0)|0)+((8191&(i=(i=i+Math.imul(d,J)|0)+Math.imul(f,K)|0))<<13)|0;l=((a=a+Math.imul(f,J)|0)+(i>>>13)|0)+(eg>>>26)|0,eg&=67108863,n=Math.imul(w,H),i=(i=Math.imul(w,G))+Math.imul(A,H)|0,a=Math.imul(A,G),n=n+Math.imul(b,q)|0,i=(i=i+Math.imul(b,V)|0)+Math.imul(g,q)|0,a=a+Math.imul(g,V)|0,n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(y,K)|0,a=a+Math.imul(y,J)|0;var ev=(l+(n=n+Math.imul(d,Y)|0)|0)+((8191&(i=(i=i+Math.imul(d,$)|0)+Math.imul(f,Y)|0))<<13)|0;l=((a=a+Math.imul(f,$)|0)+(i>>>13)|0)+(ev>>>26)|0,ev&=67108863,n=Math.imul(x,H),i=(i=Math.imul(x,G))+Math.imul(M,H)|0,a=Math.imul(M,G),n=n+Math.imul(w,q)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(A,q)|0,a=a+Math.imul(A,V)|0,n=n+Math.imul(b,K)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(g,K)|0,a=a+Math.imul(g,J)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,$)|0;var ew=(l+(n=n+Math.imul(d,Q)|0)|0)+((8191&(i=(i=i+Math.imul(d,ee)|0)+Math.imul(f,Q)|0))<<13)|0;l=((a=a+Math.imul(f,ee)|0)+(i>>>13)|0)+(ew>>>26)|0,ew&=67108863,n=Math.imul(C,H),i=(i=Math.imul(C,G))+Math.imul(_,H)|0,a=Math.imul(_,G),n=n+Math.imul(x,q)|0,i=(i=i+Math.imul(x,V)|0)+Math.imul(M,q)|0,a=a+Math.imul(M,V)|0,n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(A,K)|0,a=a+Math.imul(A,J)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,$)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,$)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(y,Q)|0,a=a+Math.imul(y,ee)|0;var eA=(l+(n=n+Math.imul(d,er)|0)|0)+((8191&(i=(i=i+Math.imul(d,en)|0)+Math.imul(f,er)|0))<<13)|0;l=((a=a+Math.imul(f,en)|0)+(i>>>13)|0)+(eA>>>26)|0,eA&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(F,H)|0,a=Math.imul(F,G),n=n+Math.imul(C,q)|0,i=(i=i+Math.imul(C,V)|0)+Math.imul(_,q)|0,a=a+Math.imul(_,V)|0,n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(M,K)|0,a=a+Math.imul(M,J)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(A,Y)|0,a=a+Math.imul(A,$)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,ee)|0)+Math.imul(g,Q)|0,a=a+Math.imul(g,ee)|0,n=n+Math.imul(p,er)|0,i=(i=i+Math.imul(p,en)|0)+Math.imul(y,er)|0,a=a+Math.imul(y,en)|0;var eE=(l+(n=n+Math.imul(d,ea)|0)|0)+((8191&(i=(i=i+Math.imul(d,es)|0)+Math.imul(f,ea)|0))<<13)|0;l=((a=a+Math.imul(f,es)|0)+(i>>>13)|0)+(eE>>>26)|0,eE&=67108863,n=Math.imul(D,H),i=(i=Math.imul(D,G))+Math.imul(P,H)|0,a=Math.imul(P,G),n=n+Math.imul(B,q)|0,i=(i=i+Math.imul(B,V)|0)+Math.imul(F,q)|0,a=a+Math.imul(F,V)|0,n=n+Math.imul(C,K)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(_,K)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(M,Y)|0,a=a+Math.imul(M,$)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(A,Q)|0,a=a+Math.imul(A,ee)|0,n=n+Math.imul(b,er)|0,i=(i=i+Math.imul(b,en)|0)+Math.imul(g,er)|0,a=a+Math.imul(g,en)|0,n=n+Math.imul(p,ea)|0,i=(i=i+Math.imul(p,es)|0)+Math.imul(y,ea)|0,a=a+Math.imul(y,es)|0;var ex=(l+(n=n+Math.imul(d,eu)|0)|0)+((8191&(i=(i=i+Math.imul(d,el)|0)+Math.imul(f,eu)|0))<<13)|0;l=((a=a+Math.imul(f,el)|0)+(i>>>13)|0)+(ex>>>26)|0,ex&=67108863,n=Math.imul(N,H),i=(i=Math.imul(N,G))+Math.imul(R,H)|0,a=Math.imul(R,G),n=n+Math.imul(D,q)|0,i=(i=i+Math.imul(D,V)|0)+Math.imul(P,q)|0,a=a+Math.imul(P,V)|0,n=n+Math.imul(B,K)|0,i=(i=i+Math.imul(B,J)|0)+Math.imul(F,K)|0,a=a+Math.imul(F,J)|0,n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,$)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,$)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(M,Q)|0,a=a+Math.imul(M,ee)|0,n=n+Math.imul(w,er)|0,i=(i=i+Math.imul(w,en)|0)+Math.imul(A,er)|0,a=a+Math.imul(A,en)|0,n=n+Math.imul(b,ea)|0,i=(i=i+Math.imul(b,es)|0)+Math.imul(g,ea)|0,a=a+Math.imul(g,es)|0,n=n+Math.imul(p,eu)|0,i=(i=i+Math.imul(p,el)|0)+Math.imul(y,eu)|0,a=a+Math.imul(y,el)|0;var eM=(l+(n=n+Math.imul(d,ed)|0)|0)+((8191&(i=(i=i+Math.imul(d,ef)|0)+Math.imul(f,ed)|0))<<13)|0;l=((a=a+Math.imul(f,ef)|0)+(i>>>13)|0)+(eM>>>26)|0,eM&=67108863,n=Math.imul(L,H),i=(i=Math.imul(L,G))+Math.imul(j,H)|0,a=Math.imul(j,G),n=n+Math.imul(N,q)|0,i=(i=i+Math.imul(N,V)|0)+Math.imul(R,q)|0,a=a+Math.imul(R,V)|0,n=n+Math.imul(D,K)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(P,K)|0,a=a+Math.imul(P,J)|0,n=n+Math.imul(B,Y)|0,i=(i=i+Math.imul(B,$)|0)+Math.imul(F,Y)|0,a=a+Math.imul(F,$)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,ee)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,ee)|0,n=n+Math.imul(x,er)|0,i=(i=i+Math.imul(x,en)|0)+Math.imul(M,er)|0,a=a+Math.imul(M,en)|0,n=n+Math.imul(w,ea)|0,i=(i=i+Math.imul(w,es)|0)+Math.imul(A,ea)|0,a=a+Math.imul(A,es)|0,n=n+Math.imul(b,eu)|0,i=(i=i+Math.imul(b,el)|0)+Math.imul(g,eu)|0,a=a+Math.imul(g,el)|0,n=n+Math.imul(p,ed)|0,i=(i=i+Math.imul(p,ef)|0)+Math.imul(y,ed)|0,a=a+Math.imul(y,ef)|0;var eT=(l+(n=n+Math.imul(d,ep)|0)|0)+((8191&(i=(i=i+Math.imul(d,ey)|0)+Math.imul(f,ep)|0))<<13)|0;l=((a=a+Math.imul(f,ey)|0)+(i>>>13)|0)+(eT>>>26)|0,eT&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,V))+Math.imul(j,q)|0,a=Math.imul(j,V),n=n+Math.imul(N,K)|0,i=(i=i+Math.imul(N,J)|0)+Math.imul(R,K)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(D,Y)|0,i=(i=i+Math.imul(D,$)|0)+Math.imul(P,Y)|0,a=a+Math.imul(P,$)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,ee)|0)+Math.imul(F,Q)|0,a=a+Math.imul(F,ee)|0,n=n+Math.imul(C,er)|0,i=(i=i+Math.imul(C,en)|0)+Math.imul(_,er)|0,a=a+Math.imul(_,en)|0,n=n+Math.imul(x,ea)|0,i=(i=i+Math.imul(x,es)|0)+Math.imul(M,ea)|0,a=a+Math.imul(M,es)|0,n=n+Math.imul(w,eu)|0,i=(i=i+Math.imul(w,el)|0)+Math.imul(A,eu)|0,a=a+Math.imul(A,el)|0,n=n+Math.imul(b,ed)|0,i=(i=i+Math.imul(b,ef)|0)+Math.imul(g,ed)|0,a=a+Math.imul(g,ef)|0;var eC=(l+(n=n+Math.imul(p,ep)|0)|0)+((8191&(i=(i=i+Math.imul(p,ey)|0)+Math.imul(y,ep)|0))<<13)|0;l=((a=a+Math.imul(y,ey)|0)+(i>>>13)|0)+(eC>>>26)|0,eC&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,J))+Math.imul(j,K)|0,a=Math.imul(j,J),n=n+Math.imul(N,Y)|0,i=(i=i+Math.imul(N,$)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,$)|0,n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,ee)|0)+Math.imul(P,Q)|0,a=a+Math.imul(P,ee)|0,n=n+Math.imul(B,er)|0,i=(i=i+Math.imul(B,en)|0)+Math.imul(F,er)|0,a=a+Math.imul(F,en)|0,n=n+Math.imul(C,ea)|0,i=(i=i+Math.imul(C,es)|0)+Math.imul(_,ea)|0,a=a+Math.imul(_,es)|0,n=n+Math.imul(x,eu)|0,i=(i=i+Math.imul(x,el)|0)+Math.imul(M,eu)|0,a=a+Math.imul(M,el)|0,n=n+Math.imul(w,ed)|0,i=(i=i+Math.imul(w,ef)|0)+Math.imul(A,ed)|0,a=a+Math.imul(A,ef)|0;var e_=(l+(n=n+Math.imul(b,ep)|0)|0)+((8191&(i=(i=i+Math.imul(b,ey)|0)+Math.imul(g,ep)|0))<<13)|0;l=((a=a+Math.imul(g,ey)|0)+(i>>>13)|0)+(e_>>>26)|0,e_&=67108863,n=Math.imul(L,Y),i=(i=Math.imul(L,$))+Math.imul(j,Y)|0,a=Math.imul(j,$),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,ee)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,ee)|0,n=n+Math.imul(D,er)|0,i=(i=i+Math.imul(D,en)|0)+Math.imul(P,er)|0,a=a+Math.imul(P,en)|0,n=n+Math.imul(B,ea)|0,i=(i=i+Math.imul(B,es)|0)+Math.imul(F,ea)|0,a=a+Math.imul(F,es)|0,n=n+Math.imul(C,eu)|0,i=(i=i+Math.imul(C,el)|0)+Math.imul(_,eu)|0,a=a+Math.imul(_,el)|0,n=n+Math.imul(x,ed)|0,i=(i=i+Math.imul(x,ef)|0)+Math.imul(M,ed)|0,a=a+Math.imul(M,ef)|0;var eS=(l+(n=n+Math.imul(w,ep)|0)|0)+((8191&(i=(i=i+Math.imul(w,ey)|0)+Math.imul(A,ep)|0))<<13)|0;l=((a=a+Math.imul(A,ey)|0)+(i>>>13)|0)+(eS>>>26)|0,eS&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,ee))+Math.imul(j,Q)|0,a=Math.imul(j,ee),n=n+Math.imul(N,er)|0,i=(i=i+Math.imul(N,en)|0)+Math.imul(R,er)|0,a=a+Math.imul(R,en)|0,n=n+Math.imul(D,ea)|0,i=(i=i+Math.imul(D,es)|0)+Math.imul(P,ea)|0,a=a+Math.imul(P,es)|0,n=n+Math.imul(B,eu)|0,i=(i=i+Math.imul(B,el)|0)+Math.imul(F,eu)|0,a=a+Math.imul(F,el)|0,n=n+Math.imul(C,ed)|0,i=(i=i+Math.imul(C,ef)|0)+Math.imul(_,ed)|0,a=a+Math.imul(_,ef)|0;var eB=(l+(n=n+Math.imul(x,ep)|0)|0)+((8191&(i=(i=i+Math.imul(x,ey)|0)+Math.imul(M,ep)|0))<<13)|0;l=((a=a+Math.imul(M,ey)|0)+(i>>>13)|0)+(eB>>>26)|0,eB&=67108863,n=Math.imul(L,er),i=(i=Math.imul(L,en))+Math.imul(j,er)|0,a=Math.imul(j,en),n=n+Math.imul(N,ea)|0,i=(i=i+Math.imul(N,es)|0)+Math.imul(R,ea)|0,a=a+Math.imul(R,es)|0,n=n+Math.imul(D,eu)|0,i=(i=i+Math.imul(D,el)|0)+Math.imul(P,eu)|0,a=a+Math.imul(P,el)|0,n=n+Math.imul(B,ed)|0,i=(i=i+Math.imul(B,ef)|0)+Math.imul(F,ed)|0,a=a+Math.imul(F,ef)|0;var eF=(l+(n=n+Math.imul(C,ep)|0)|0)+((8191&(i=(i=i+Math.imul(C,ey)|0)+Math.imul(_,ep)|0))<<13)|0;l=((a=a+Math.imul(_,ey)|0)+(i>>>13)|0)+(eF>>>26)|0,eF&=67108863,n=Math.imul(L,ea),i=(i=Math.imul(L,es))+Math.imul(j,ea)|0,a=Math.imul(j,es),n=n+Math.imul(N,eu)|0,i=(i=i+Math.imul(N,el)|0)+Math.imul(R,eu)|0,a=a+Math.imul(R,el)|0,n=n+Math.imul(D,ed)|0,i=(i=i+Math.imul(D,ef)|0)+Math.imul(P,ed)|0,a=a+Math.imul(P,ef)|0;var ek=(l+(n=n+Math.imul(B,ep)|0)|0)+((8191&(i=(i=i+Math.imul(B,ey)|0)+Math.imul(F,ep)|0))<<13)|0;l=((a=a+Math.imul(F,ey)|0)+(i>>>13)|0)+(ek>>>26)|0,ek&=67108863,n=Math.imul(L,eu),i=(i=Math.imul(L,el))+Math.imul(j,eu)|0,a=Math.imul(j,el),n=n+Math.imul(N,ed)|0,i=(i=i+Math.imul(N,ef)|0)+Math.imul(R,ed)|0,a=a+Math.imul(R,ef)|0;var eD=(l+(n=n+Math.imul(D,ep)|0)|0)+((8191&(i=(i=i+Math.imul(D,ey)|0)+Math.imul(P,ep)|0))<<13)|0;l=((a=a+Math.imul(P,ey)|0)+(i>>>13)|0)+(eD>>>26)|0,eD&=67108863,n=Math.imul(L,ed),i=(i=Math.imul(L,ef))+Math.imul(j,ed)|0,a=Math.imul(j,ef);var eP=(l+(n=n+Math.imul(N,ep)|0)|0)+((8191&(i=(i=i+Math.imul(N,ey)|0)+Math.imul(R,ep)|0))<<13)|0;l=((a=a+Math.imul(R,ey)|0)+(i>>>13)|0)+(eP>>>26)|0,eP&=67108863;var eO=(l+(n=Math.imul(L,ep))|0)+((8191&(i=(i=Math.imul(L,ey))+Math.imul(j,ep)|0))<<13)|0;return l=((a=Math.imul(j,ey))+(i>>>13)|0)+(eO>>>26)|0,eO&=67108863,u[0]=em,u[1]=eb,u[2]=eg,u[3]=ev,u[4]=ew,u[5]=eA,u[6]=eE,u[7]=ex,u[8]=eM,u[9]=eT,u[10]=eC,u[11]=e_,u[12]=eS,u[13]=eB,u[14]=eF,u[15]=ek,u[16]=eD,u[17]=eP,u[18]=eO,0!==l&&(u[19]=l,r.length++),r};function p(e,t,r){return new y().mulp(e,t,r)}function y(e,t){this.x=e,this.y=t}Math.imul||(h=f),i.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?h(this,e,t):r<63?f(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,s&=67108863}r.words[a]=o,n=s,s=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,e,t):p(this,e,t)},y.prototype.makeRBT=function(e){for(var t=Array(e),r=i.prototype._countBits(e)-1,n=0;n>=1;return n},y.prototype.permute=function(e,t,r,n,i,a){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&a,a>>>=13;for(s=2*t;s>=26,t+=(i/67108864|0)+(a>>>26),this.words[n]=67108863&a}return 0!==t&&(this.words[n]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new i(1);for(var r=this,n=0;n=0);var t,n=e%26,i=(e-n)/26,a=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var i,a=e%26,s=Math.min((e-a)/26,this.length),o=67108863^67108863>>>a<s)for(this.length-=s,u=0;u=0&&(0!==l||u>=i);u--){var c=0|this.words[u];this.words[u]=l<<26-a|c>>>a,l=c&o}return n&&0!==l&&(n.words[n.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26;return!(this.length<=n)&&!!(this.words[n]&1<=0);var t=e%26,n=(e-t)/26;return(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)?this:(0!==t&&n++,this.length=Math.min(n,this.length),0!==t&&(this.words[this.length-1]&=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[i+n]=67108863&a}for(;i>26,this.words[i+n]=67108863&a;if(0===o)return this.strip();for(r(-1===o),o=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var r,n=this.length-e.length,a=this.clone(),s=e,o=0|s.words[s.length-1];0!=(n=26-this._countBits(o))&&(s=s.ushln(n),a.iushln(n),o=0|s.words[s.length-1]);var u=a.length-s.length;if("mod"!==t){(r=new i(null)).length=u+1,r.words=Array(r.length);for(var l=0;l=0;d--){var f=(0|a.words[s.length+d])*67108864+(0|a.words[s.length+d-1]);for(f=Math.min(f/o|0,67108863),a._ishlnsubmul(s,f,d);0!==a.negative;)f--,a.negative=0,a._ishlnsubmul(s,1,d),a.isZero()||(a.negative^=1);r&&(r.words[d]=f)}return r&&r.strip(),a.strip(),"div"!==t&&0!==n&&a.iushrn(n),{div:r||null,mod:a}},i.prototype.divmod=function(e,t,n){var a,s,o;return(r(!e.isZero()),this.isZero())?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(a=o.div.neg()),"div"!==t&&(s=o.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:a,mod:s}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(a=o.div.neg()),{div:a,mod:o.mod}):(this.negative&e.negative)!=0?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(s=o.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:o.div,mod:s}):e.length>this.length||0>this.cmp(e)?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t)},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){r(e<=67108863);for(var t=67108864%e,n=0,i=this.length-1;i>=0;i--)n=(t*n+(0|this.words[i]))%e;return n},i.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*t;this.words[n]=i/e|0,t=i%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var a=new i(1),s=new i(0),o=new i(0),u=new i(1),l=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++l;for(var c=n.clone(),d=t.clone();!t.isZero();){for(var f=0,h=1;(t.words[0]&h)==0&&f<26;++f,h<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(a.isOdd()||s.isOdd())&&(a.iadd(c),s.isub(d)),a.iushrn(1),s.iushrn(1);for(var p=0,y=1;(n.words[0]&y)==0&&p<26;++p,y<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(o.isOdd()||u.isOdd())&&(o.iadd(c),u.isub(d)),o.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(o),s.isub(u)):(n.isub(t),o.isub(a),u.isub(s))}return{a:o,b:u,gcd:n.iushln(l)}},i.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t,n=this,a=e.clone();n=0!==n.negative?n.umod(e):n.clone();for(var s=new i(1),o=new i(0),u=a.clone();n.cmpn(1)>0&&a.cmpn(1)>0;){for(var l=0,c=1;(n.words[0]&c)==0&&l<26;++l,c<<=1);if(l>0)for(n.iushrn(l);l-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var d=0,f=1;(a.words[0]&f)==0&&d<26;++d,f<<=1);if(d>0)for(a.iushrn(d);d-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);n.cmp(a)>=0?(n.isub(a),s.isub(o)):(a.isub(n),o.isub(s))}return 0>(t=0===n.cmpn(1)?s:o).cmpn(0)&&t.iadd(e),t},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return(1&this.words[0])==0},i.prototype.isOdd=function(){return(1&this.words[0])==1},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<>>26,o&=67108863,this.words[s]=o}return 0!==a&&(this.words[s]=a,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return -1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return -1===this.cmpn(e)},i.prototype.lt=function(e){return -1===this.cmp(e)},i.prototype.lten=function(e){return 0>=this.cmpn(e)},i.prototype.lte=function(e){return 0>=this.cmp(e)},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new E(e)},i.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function b(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function g(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function v(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function x(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var e=new i(null);return e.words=Array(Math.ceil(this.n/13)),e},b.prototype.ireduce=function(e){var t,r=e;do this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength();while(t>this.n)var n=t0?r.isub(this.p):r.strip(),r},b.prototype.split=function(e,t){e.iushrn(this.n,0,t)},b.prototype.imulK=function(e){return e.imul(this.k)},n(g,b),g.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,i=a}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},g.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){var t;if(m[e])return m[e];if("k256"===e)t=new g;else if("p224"===e)t=new v;else if("p192"===e)t=new w;else if("p25519"===e)t=new A;else throw Error("Unknown prime "+e);return m[e]=t,t},E.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,t){r((e.negative|t.negative)==0,"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return 0>r.cmpn(0)&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return 0>r.cmpn(0)&&r.iadd(this.m),r},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new i(1)).iushrn(2);return this.pow(e,n)}for(var a=this.m.subn(1),s=0;!a.isZero()&&0===a.andln(1);)s++,a.iushrn(1);r(!a.isZero());var o=new i(1).toRed(this),u=o.redNeg(),l=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new i(2*c*c).toRed(this);0!==this.pow(c,l).cmp(u);)c.redIAdd(u);for(var d=this.pow(c,a),f=this.pow(e,a.addn(1).iushrn(1)),h=this.pow(e,a),p=s;0!==h.cmp(o);){for(var y=h,m=0;0!==y.cmp(o);m++)y=y.redSqr();r(m=0;n--){for(var l=t.words[n],c=u-1;c>=0;c--){var d=l>>c&1;if(a!==r[0]&&(a=this.sqr(a)),0===d&&0===s){o=0;continue}s<<=1,s|=d,(4==++o||0===n&&0===c)&&(a=this.mul(a,r[s]),o=0,s=0)}u=26}return a},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new x(e)},n(x,E),x.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},x.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},x.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):0>i.cmpn(0)&&(a=i.iadd(this.m)),a._forceRed(this)},x.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),s=a;return a.cmp(this.m)>=0?s=a.isub(this.m):0>a.cmpn(0)&&(s=a.iadd(this.m)),s._forceRed(this)},x.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}),a.register("6ZWSX",function(t,r){"use strict";e(t.exports,"Buffer",()=>n,e=>n=e),e(t.exports,"SlowBuffer",()=>i,e=>i=e),e(t.exports,"INSPECT_MAX_BYTES",()=>s,e=>s=e),e(t.exports,"kMaxLength",()=>o,e=>o=e);var n,i,s,o,u=a("kuxul"),l=a("9NvM5"),c="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;function d(e){if(e>2147483647)throw RangeError('The value "'+e+'" is invalid for option "size"');var t=new Uint8Array(e);return Object.setPrototypeOf(t,f.prototype),t}function f(e,t,r){if("number"==typeof e){if("string"==typeof t)throw TypeError('The "string" argument must be of type string. Received type number');return y(e)}return h(e,t,r)}function h(e,t,r){if("string"==typeof e)return function(e,t){if(("string"!=typeof t||""===t)&&(t="utf8"),!f.isEncoding(t))throw TypeError("Unknown encoding: "+t);var r=0|v(e,t),n=d(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}(e,t);if(ArrayBuffer.isView(e))return function(e){if(O(e,Uint8Array)){var t=new Uint8Array(e);return b(t.buffer,t.byteOffset,t.byteLength)}return m(e)}(e);if(null==e)throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(O(e,ArrayBuffer)||e&&O(e.buffer,ArrayBuffer)||"undefined"!=typeof SharedArrayBuffer&&(O(e,SharedArrayBuffer)||e&&O(e.buffer,SharedArrayBuffer)))return b(e,t,r);if("number"==typeof e)throw TypeError('The "value" argument must not be of type number. Received type number');var n=e.valueOf&&e.valueOf();if(null!=n&&n!==e)return f.from(n,t,r);var i=function(e){if(f.isBuffer(e)){var t,r=0|g(e.length),n=d(r);return 0===n.length||e.copy(n,0,0,r),n}return void 0!==e.length?"number"!=typeof e.length||(t=e.length)!=t?d(0):m(e):"Buffer"===e.type&&Array.isArray(e.data)?m(e.data):void 0}(e);if(i)return i;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof e[Symbol.toPrimitive])return f.from(e[Symbol.toPrimitive]("string"),t,r);throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}function p(e){if("number"!=typeof e)throw TypeError('"size" argument must be of type number');if(e<0)throw RangeError('The value "'+e+'" is invalid for option "size"')}function y(e){return p(e),d(e<0?0:0|g(e))}function m(e){for(var t=e.length<0?0:0|g(e.length),r=d(t),n=0;n=2147483647)throw RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|e}function v(e,t){if(f.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||O(e,ArrayBuffer))return e.byteLength;if("string"!=typeof e)throw TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);var r=e.length,n=arguments.length>2&&!0===arguments[2];if(!n&&0===r)return 0;for(var i=!1;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return k(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return D(e).length;default:if(i)return n?-1:k(e).length;t=(""+t).toLowerCase(),i=!0}}function w(e,t,r){var n,i,a=!1;if((void 0===t||t<0)&&(t=0),t>this.length||((void 0===r||r>this.length)&&(r=this.length),r<=0||(r>>>=0)<=(t>>>=0)))return"";for(e||(e="utf8");;)switch(e){case"hex":return function(e,t,r){var n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);for(var i="",a=t;a2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),(a=r=+r)!=a&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return -1;r=e.length-1}else if(r<0){if(!i)return -1;r=0}if("string"==typeof t&&(t=f.from(t,n)),f.isBuffer(t))return 0===t.length?-1:x(e,t,r,n,i);if("number"==typeof t)return(t&=255,"function"==typeof Uint8Array.prototype.indexOf)?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):x(e,[t],r,n,i);throw TypeError("val must be string, number or Buffer")}function x(e,t,r,n,i){var a,s=1,o=e.length,u=t.length;if(void 0!==n&&("ucs2"===(n=String(n).toLowerCase())||"ucs-2"===n||"utf16le"===n||"utf-16le"===n)){if(e.length<2||t.length<2)return -1;s=2,o/=2,u/=2,r/=2}function l(e,t){return 1===s?e[t]:e.readUInt16BE(t*s)}if(i){var c=-1;for(a=r;ao&&(r=o-u),a=r;a>=0;a--){for(var d=!0,f=0;f239?4:l>223?3:l>191?2:1;if(i+d<=r)switch(d){case 1:l<128&&(c=l);break;case 2:(192&(a=e[i+1]))==128&&(u=(31&l)<<6|63&a)>127&&(c=u);break;case 3:a=e[i+1],s=e[i+2],(192&a)==128&&(192&s)==128&&(u=(15&l)<<12|(63&a)<<6|63&s)>2047&&(u<55296||u>57343)&&(c=u);break;case 4:a=e[i+1],s=e[i+2],o=e[i+3],(192&a)==128&&(192&s)==128&&(192&o)==128&&(u=(15&l)<<18|(63&a)<<12|(63&s)<<6|63&o)>65535&&u<1114112&&(c=u)}null===c?(c=65533,d=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),i+=d}return function(e){var t=e.length;if(t<=4096)return String.fromCharCode.apply(String,e);for(var r="",n=0;nr)throw RangeError("Trying to access beyond buffer length")}function C(e,t,r,n,i,a){if(!f.isBuffer(e))throw TypeError('"buffer" argument must be a Buffer instance');if(t>i||te.length)throw RangeError("Index out of range")}function _(e,t,r,n,i,a){if(r+n>e.length||r<0)throw RangeError("Index out of range")}function S(e,t,r,n,i){return t=+t,r>>>=0,i||_(e,t,r,4,34028234663852886e22,-34028234663852886e22),l.write(e,t,r,n,23,4),r+4}function B(e,t,r,n,i){return t=+t,r>>>=0,i||_(e,t,r,8,17976931348623157e292,-17976931348623157e292),l.write(e,t,r,n,52,8),r+8}n=f,i=function(e){return+e!=e&&(e=0),f.alloc(+e)},s=50,o=2147483647,f.TYPED_ARRAY_SUPPORT=function(){try{var e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),42===e.foo()}catch(e){return!1}}(),f.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(f.prototype,"parent",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.buffer}}),Object.defineProperty(f.prototype,"offset",{enumerable:!0,get:function(){if(f.isBuffer(this))return this.byteOffset}}),f.poolSize=8192,f.from=function(e,t,r){return h(e,t,r)},Object.setPrototypeOf(f.prototype,Uint8Array.prototype),Object.setPrototypeOf(f,Uint8Array),f.alloc=function(e,t,r){return(p(e),e<=0)?d(e):void 0!==t?"string"==typeof r?d(e).fill(t,r):d(e).fill(t):d(e)},f.allocUnsafe=function(e){return y(e)},f.allocUnsafeSlow=function(e){return y(e)},f.isBuffer=function(e){return null!=e&&!0===e._isBuffer&&e!==f.prototype},f.compare=function(e,t){if(O(e,Uint8Array)&&(e=f.from(e,e.offset,e.byteLength)),O(t,Uint8Array)&&(t=f.from(t,t.offset,t.byteLength)),!f.isBuffer(e)||!f.isBuffer(t))throw TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);in.length?f.from(a).copy(n,i):Uint8Array.prototype.set.call(n,a,i);else if(f.isBuffer(a))a.copy(n,i);else throw TypeError('"list" argument must be an Array of Buffers');i+=a.length}return n},f.byteLength=v,f.prototype._isBuffer=!0,f.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;tt&&(e+=" ... "),""},c&&(f.prototype[c]=f.prototype.inspect),f.prototype.compare=function(e,t,r,n,i){if(O(e,Uint8Array)&&(e=f.from(e,e.offset,e.byteLength)),!f.isBuffer(e))throw TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(void 0===t&&(t=0),void 0===r&&(r=e?e.length:0),void 0===n&&(n=0),void 0===i&&(i=this.length),t<0||r>e.length||n<0||i>this.length)throw RangeError("out of range index");if(n>=i&&t>=r)return 0;if(n>=i)return -1;if(t>=r)return 1;if(t>>>=0,r>>>=0,n>>>=0,i>>>=0,this===e)return 0;for(var a=i-n,s=r-t,o=Math.min(a,s),u=this.slice(n,i),l=e.slice(t,r),c=0;c>>=0,isFinite(r)?(r>>>=0,void 0===n&&(n="utf8")):(n=r,r=void 0);else throw Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var i,a,s,o,u,l,c,d,f=this.length-t;if((void 0===r||r>f)&&(r=f),e.length>0&&(r<0||t<0)||t>this.length)throw RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var h=!1;;)switch(n){case"hex":return function(e,t,r,n){r=Number(r)||0;var i=e.length-r;n?(n=Number(n))>i&&(n=i):n=i;var a=t.length;n>a/2&&(n=a/2);for(var s=0;s>8,i.push(r%256),i.push(n);return i}(e,this.length-c),this,c,d);default:if(h)throw TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),h=!0}},f.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},f.prototype.slice=function(e,t){var r=this.length;e=~~e,t=void 0===t?r:~~t,e<0?(e+=r)<0&&(e=0):e>r&&(e=r),t<0?(t+=r)<0&&(t=0):t>r&&(t=r),t>>=0,t>>>=0,r||T(e,t,this.length);for(var n=this[e],i=1,a=0;++a>>=0,t>>>=0,r||T(e,t,this.length);for(var n=this[e+--t],i=1;t>0&&(i*=256);)n+=this[e+--t]*i;return n},f.prototype.readUint8=f.prototype.readUInt8=function(e,t){return e>>>=0,t||T(e,1,this.length),this[e]},f.prototype.readUint16LE=f.prototype.readUInt16LE=function(e,t){return e>>>=0,t||T(e,2,this.length),this[e]|this[e+1]<<8},f.prototype.readUint16BE=f.prototype.readUInt16BE=function(e,t){return e>>>=0,t||T(e,2,this.length),this[e]<<8|this[e+1]},f.prototype.readUint32LE=f.prototype.readUInt32LE=function(e,t){return e>>>=0,t||T(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+16777216*this[e+3]},f.prototype.readUint32BE=f.prototype.readUInt32BE=function(e,t){return e>>>=0,t||T(e,4,this.length),16777216*this[e]+(this[e+1]<<16|this[e+2]<<8|this[e+3])},f.prototype.readIntLE=function(e,t,r){e>>>=0,t>>>=0,r||T(e,t,this.length);for(var n=this[e],i=1,a=0;++a=(i*=128)&&(n-=Math.pow(2,8*t)),n},f.prototype.readIntBE=function(e,t,r){e>>>=0,t>>>=0,r||T(e,t,this.length);for(var n=t,i=1,a=this[e+--n];n>0&&(i*=256);)a+=this[e+--n]*i;return a>=(i*=128)&&(a-=Math.pow(2,8*t)),a},f.prototype.readInt8=function(e,t){return(e>>>=0,t||T(e,1,this.length),128&this[e])?-((255-this[e]+1)*1):this[e]},f.prototype.readInt16LE=function(e,t){e>>>=0,t||T(e,2,this.length);var r=this[e]|this[e+1]<<8;return 32768&r?4294901760|r:r},f.prototype.readInt16BE=function(e,t){e>>>=0,t||T(e,2,this.length);var r=this[e+1]|this[e]<<8;return 32768&r?4294901760|r:r},f.prototype.readInt32LE=function(e,t){return e>>>=0,t||T(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24},f.prototype.readInt32BE=function(e,t){return e>>>=0,t||T(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]},f.prototype.readFloatLE=function(e,t){return e>>>=0,t||T(e,4,this.length),l.read(this,e,!0,23,4)},f.prototype.readFloatBE=function(e,t){return e>>>=0,t||T(e,4,this.length),l.read(this,e,!1,23,4)},f.prototype.readDoubleLE=function(e,t){return e>>>=0,t||T(e,8,this.length),l.read(this,e,!0,52,8)},f.prototype.readDoubleBE=function(e,t){return e>>>=0,t||T(e,8,this.length),l.read(this,e,!1,52,8)},f.prototype.writeUintLE=f.prototype.writeUIntLE=function(e,t,r,n){if(e=+e,t>>>=0,r>>>=0,!n){var i=Math.pow(2,8*r)-1;C(this,e,t,r,i,0)}var a=1,s=0;for(this[t]=255&e;++s>>=0,r>>>=0,!n){var i=Math.pow(2,8*r)-1;C(this,e,t,r,i,0)}var a=r-1,s=1;for(this[t+a]=255&e;--a>=0&&(s*=256);)this[t+a]=e/s&255;return t+r},f.prototype.writeUint8=f.prototype.writeUInt8=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,1,255,0),this[t]=255&e,t+1},f.prototype.writeUint16LE=f.prototype.writeUInt16LE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,2,65535,0),this[t]=255&e,this[t+1]=e>>>8,t+2},f.prototype.writeUint16BE=f.prototype.writeUInt16BE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,2,65535,0),this[t]=e>>>8,this[t+1]=255&e,t+2},f.prototype.writeUint32LE=f.prototype.writeUInt32LE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,4,4294967295,0),this[t+3]=e>>>24,this[t+2]=e>>>16,this[t+1]=e>>>8,this[t]=255&e,t+4},f.prototype.writeUint32BE=f.prototype.writeUInt32BE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,4,4294967295,0),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},f.prototype.writeIntLE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);C(this,e,t,r,i-1,-i)}var a=0,s=1,o=0;for(this[t]=255&e;++a>0)-o&255;return t+r},f.prototype.writeIntBE=function(e,t,r,n){if(e=+e,t>>>=0,!n){var i=Math.pow(2,8*r-1);C(this,e,t,r,i-1,-i)}var a=r-1,s=1,o=0;for(this[t+a]=255&e;--a>=0&&(s*=256);)e<0&&0===o&&0!==this[t+a+1]&&(o=1),this[t+a]=(e/s>>0)-o&255;return t+r},f.prototype.writeInt8=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,1,127,-128),e<0&&(e=255+e+1),this[t]=255&e,t+1},f.prototype.writeInt16LE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,2,32767,-32768),this[t]=255&e,this[t+1]=e>>>8,t+2},f.prototype.writeInt16BE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,2,32767,-32768),this[t]=e>>>8,this[t+1]=255&e,t+2},f.prototype.writeInt32LE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,4,2147483647,-2147483648),this[t]=255&e,this[t+1]=e>>>8,this[t+2]=e>>>16,this[t+3]=e>>>24,t+4},f.prototype.writeInt32BE=function(e,t,r){return e=+e,t>>>=0,r||C(this,e,t,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[t]=e>>>24,this[t+1]=e>>>16,this[t+2]=e>>>8,this[t+3]=255&e,t+4},f.prototype.writeFloatLE=function(e,t,r){return S(this,e,t,!0,r)},f.prototype.writeFloatBE=function(e,t,r){return S(this,e,t,!1,r)},f.prototype.writeDoubleLE=function(e,t,r){return B(this,e,t,!0,r)},f.prototype.writeDoubleBE=function(e,t,r){return B(this,e,t,!1,r)},f.prototype.copy=function(e,t,r,n){if(!f.isBuffer(e))throw TypeError("argument should be a Buffer");if(r||(r=0),n||0===n||(n=this.length),t>=e.length&&(t=e.length),t||(t=0),n>0&&n=this.length)throw RangeError("Index out of range");if(n<0)throw RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-t>>=0,r=void 0===r?this.length:r>>>0,e||(e=0),"number"==typeof e)for(i=t;i55295&&r<57344){if(!i){if(r>56319||s+1===n){(t-=3)>-1&&a.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&a.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&a.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;a.push(r)}else if(r<2048){if((t-=2)<0)break;a.push(r>>6|192,63&r|128)}else if(r<65536){if((t-=3)<0)break;a.push(r>>12|224,r>>6&63|128,63&r|128)}else if(r<1114112){if((t-=4)<0)break;a.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}else throw Error("Invalid code point")}return a}function D(e){return u.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(F,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(e))}function P(e,t,r,n){for(var i=0;i=t.length)&&!(i>=e.length);++i)t[i+r]=e[i];return i}function O(e,t){return e instanceof t||null!=e&&null!=e.constructor&&null!=e.constructor.name&&e.constructor.name===t.name}var N=function(){for(var e="0123456789abcdef",t=Array(256),r=0;r<16;++r)for(var n=16*r,i=0;i<16;++i)t[n+i]=e[r]+e[i];return t}()}),a.register("kuxul",function(t,r){"use strict";e(t.exports,"toByteArray",()=>n,e=>n=e),e(t.exports,"fromByteArray",()=>i,e=>i=e),n=function(e){var t,r,n=function(e){var t=e.length;if(t%4>0)throw Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");-1===r&&(r=t);var n=r===t?0:4-r%4;return[r,n]}(e),i=n[0],a=n[1],u=new o((i+a)*3/4-a),l=0,c=a>0?i-4:i;for(r=0;r>16&255,u[l++]=t>>8&255,u[l++]=255&t;return 2===a&&(t=s[e.charCodeAt(r)]<<2|s[e.charCodeAt(r+1)]>>4,u[l++]=255&t),1===a&&(t=s[e.charCodeAt(r)]<<10|s[e.charCodeAt(r+1)]<<4|s[e.charCodeAt(r+2)]>>2,u[l++]=t>>8&255,u[l++]=255&t),u},i=function(e){for(var t,r=e.length,n=r%3,i=[],s=0,o=r-n;s>18&63]+a[n>>12&63]+a[n>>6&63]+a[63&n]);return i.join("")}(e,s,s+16383>o?o:s+16383));return 1===n?i.push(a[(t=e[r-1])>>2]+a[t<<4&63]+"=="):2===n&&i.push(a[(t=(e[r-2]<<8)+e[r-1])>>10]+a[t>>4&63]+a[t<<2&63]+"="),i.join("")};for(var n,i,a=[],s=[],o="undefined"!=typeof Uint8Array?Uint8Array:Array,u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",l=0,c=u.length;ln,e=>n=e),e(t.exports,"write",()=>i,e=>i=e),n=function(e,t,r,n,i){var a,s,o=8*i-n-1,u=(1<>1,c=-7,d=r?i-1:0,f=r?-1:1,h=e[t+d];for(d+=f,a=h&(1<<-c)-1,h>>=-c,c+=o;c>0;a=256*a+e[t+d],d+=f,c-=8);for(s=a&(1<<-c)-1,a>>=-c,c+=n;c>0;s=256*s+e[t+d],d+=f,c-=8);if(0===a)a=1-l;else{if(a===u)return s?NaN:(h?-1:1)*(1/0);s+=Math.pow(2,n),a-=l}return(h?-1:1)*s*Math.pow(2,a-n)},i=function(e,t,r,n,i,a){var s,o,u,l=8*a-i-1,c=(1<>1,f=23===i?5960464477539062e-23:0,h=n?0:a-1,p=n?1:-1,y=t<0||0===t&&1/t<0?1:0;for(isNaN(t=Math.abs(t))||t===1/0?(o=isNaN(t)?1:0,s=c):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),s+d>=1?t+=f/u:t+=f*Math.pow(2,1-d),t*u>=2&&(s++,u/=2),s+d>=c?(o=0,s=c):s+d>=1?(o=(t*u-1)*Math.pow(2,i),s+=d):(o=t*Math.pow(2,d-1)*Math.pow(2,i),s=0));i>=8;e[r+h]=255&o,h+=p,o/=256,i-=8);for(s=s<0;e[r+h]=255&s,h+=p,s/=256,l-=8);e[r+h-p]|=128*y}}),a.register("lrNtv",function(e,t){var r=a("aVYM4"),n=a("edrkG");e.exports=function(e){if("string"==typeof e||"number"==typeof e){var t=new r(1),i=String(e).toLowerCase().trim(),a="0x"===i.substr(0,2)||"-0x"===i.substr(0,3),s=n(i);if("-"===s.substr(0,1)&&(s=n(s.slice(1)),t=new r(-1,10)),!(s=""===s?"0":s).match(/^-?[0-9]+$/)&&s.match(/^[0-9A-Fa-f]+$/)||s.match(/^[a-fA-F]+$/)||!0===a&&s.match(/^[0-9A-Fa-f]+$/))return new r(s,16).mul(t);if((s.match(/^-?[0-9]+$/)||""===s)&&!1===a)return new r(s,10).mul(t)}else if("object"==typeof e&&e.toString&&!e.pop&&!e.push&&e.toString(10).match(/^-?[0-9]+$/)&&(e.mul||e.dividedToIntegerBy))return new r(e.toString(10),10);throw Error("[number-to-bn] while converting number "+JSON.stringify(e)+" to BN.js instance, error: invalid number value. Value must be an integer, hex string, BN or BigNumber instance. Note, decimals are not supported.")}}),a.register("aVYM4",function(e,t){!function(e,t){"use strict";function r(e,t){if(!e)throw Error(t||"Assertion failed")}function n(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function i(e,t,r){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&(("le"===t||"be"===t)&&(r=t,t=10),this._init(e||0,t||10,r||"be"))}"object"==typeof e?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;try{u=a("6ZWSX").Buffer}catch(e){}function s(e,t,r){for(var n=0,i=Math.min(e.length,r),a=t;a=49&&s<=54?n|=s-49+10:s>=17&&s<=22?n|=s-17+10:n|=15&s}return n}function o(e,t,r,n){for(var i=0,a=Math.min(e.length,r),s=t;s=49?i+=o-49+10:o>=17?i+=o-17+10:i+=o}return i}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return 0>e.cmp(t)?e:t},i.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&i++,16===t?this._parseHex(e,i):this._parseBase(e,t,i),"-"===e[0]&&(this.negative=1),this.strip(),"le"===n&&this._initArray(this.toArray(),t,n)},i.prototype._initNumber=function(e,t,n){e<0&&(this.negative=1,e=-e),e<67108864?(this.words=[67108863&e],this.length=1):e<4503599627370496?(this.words=[67108863&e,e/67108864&67108863],this.length=2):(r(e<9007199254740992),this.words=[67108863&e,e/67108864&67108863,1],this.length=3),"le"===n&&this._initArray(this.toArray(),t,n)},i.prototype._initArray=function(e,t,n){if(r("number"==typeof e.length),e.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(e.length/3),this.words=Array(this.length);for(var i,a,s=0;s=0;s-=3)a=e[s]|e[s-1]<<8|e[s-2]<<16,this.words[i]|=a<>>26-o&67108863,(o+=24)>=26&&(o-=26,i++);else if("le"===n)for(s=0,i=0;s>>26-o&67108863,(o+=24)>=26&&(o-=26,i++);return this.strip()},i.prototype._parseHex=function(e,t){this.length=Math.ceil((e.length-t)/6),this.words=Array(this.length);for(var r,n,i=0;i=t;i-=6)n=s(e,i,i+6),this.words[r]|=n<>>26-a&4194303,(a+=24)>=26&&(a-=26,r++);i+6!==t&&(n=s(e,t,i+6),this.words[r]|=n<>>26-a&4194303),this.strip()},i.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,s=a%n,u=Math.min(a,a-s)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var u,l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function f(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],s=i*a,o=67108863&s,u=s/67108864|0;r.words[0]=o;for(var l=1;l>>26,d=67108863&u,f=Math.min(l,t.length-1),h=Math.max(0,l-e.length+1);h<=f;h++){var p=l-h|0;c+=(s=(i=0|e.words[p])*(a=0|t.words[h])+d)/67108864|0,d=67108863&s}r.words[l]=0|d,u=0|c}return 0!==u?r.words[l]=0|u:r.length--,r.strip()}i.prototype.toString=function(e,t){if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var n,i=0,a=0,s=0;s>>24-i&16777215)||s!==this.length-1?l[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==a&&(n=a.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var f=c[e],h=d[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var y=p.modn(h).toString(e);n=(p=p.idivn(h)).isZero()?y+n:l[f-y.length]+y+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return r(void 0!==u),this.toArrayLike(u,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,n){var i,a,s=this.byteLength(),o=n||Math.max(1,s);r(s<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var u=new e(o),l=this.clone();if("le"===t){for(a=0;!l.isZero();a++)i=l.andln(255),l.iushrn(8),u[a]=i;for(;a=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return(8191&t)==0&&(r+=13,t>>>=13),(127&t)==0&&(r+=7,t>>>=7),(15&t)==0&&(r+=4,t>>>=4),(3&t)==0&&(r+=2,t>>>=2),(1&t)==0&&r++,r},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return(this.length-1)*26+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){this.length>e.length?(t=this,r=e):(t=e,r=this);for(var t,r,n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),t?this.words[n]=this.words[n]|1<e.length?(r=this,n=e):(r=e,n=this);for(var t,r,n,i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ae.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t,r,n=this.iadd(e);return e.negative=1,n._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(t=this,r=e):(t=e,r=this);for(var a=0,s=0;s>26,this.words[s]=67108863&n;for(;0!==a&&s>26,this.words[s]=67108863&n;if(0===a&&s>>13,h=0|s[1],p=8191&h,y=h>>>13,m=0|s[2],b=8191&m,g=m>>>13,v=0|s[3],w=8191&v,A=v>>>13,E=0|s[4],x=8191&E,M=E>>>13,T=0|s[5],C=8191&T,_=T>>>13,S=0|s[6],B=8191&S,F=S>>>13,k=0|s[7],D=8191&k,P=k>>>13,O=0|s[8],N=8191&O,R=O>>>13,I=0|s[9],L=8191&I,j=I>>>13,U=0|o[0],H=8191&U,G=U>>>13,z=0|o[1],q=8191&z,V=z>>>13,W=0|o[2],K=8191&W,J=W>>>13,Z=0|o[3],Y=8191&Z,$=Z>>>13,X=0|o[4],Q=8191&X,ee=X>>>13,et=0|o[5],er=8191&et,en=et>>>13,ei=0|o[6],ea=8191&ei,es=ei>>>13,eo=0|o[7],eu=8191&eo,el=eo>>>13,ec=0|o[8],ed=8191&ec,ef=ec>>>13,eh=0|o[9],ep=8191&eh,ey=eh>>>13;r.negative=e.negative^t.negative,r.length=19;var em=(l+(n=Math.imul(d,H))|0)+((8191&(i=(i=Math.imul(d,G))+Math.imul(f,H)|0))<<13)|0;l=((a=Math.imul(f,G))+(i>>>13)|0)+(em>>>26)|0,em&=67108863,n=Math.imul(p,H),i=(i=Math.imul(p,G))+Math.imul(y,H)|0,a=Math.imul(y,G);var eb=(l+(n=n+Math.imul(d,q)|0)|0)+((8191&(i=(i=i+Math.imul(d,V)|0)+Math.imul(f,q)|0))<<13)|0;l=((a=a+Math.imul(f,V)|0)+(i>>>13)|0)+(eb>>>26)|0,eb&=67108863,n=Math.imul(b,H),i=(i=Math.imul(b,G))+Math.imul(g,H)|0,a=Math.imul(g,G),n=n+Math.imul(p,q)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(y,q)|0,a=a+Math.imul(y,V)|0;var eg=(l+(n=n+Math.imul(d,K)|0)|0)+((8191&(i=(i=i+Math.imul(d,J)|0)+Math.imul(f,K)|0))<<13)|0;l=((a=a+Math.imul(f,J)|0)+(i>>>13)|0)+(eg>>>26)|0,eg&=67108863,n=Math.imul(w,H),i=(i=Math.imul(w,G))+Math.imul(A,H)|0,a=Math.imul(A,G),n=n+Math.imul(b,q)|0,i=(i=i+Math.imul(b,V)|0)+Math.imul(g,q)|0,a=a+Math.imul(g,V)|0,n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(y,K)|0,a=a+Math.imul(y,J)|0;var ev=(l+(n=n+Math.imul(d,Y)|0)|0)+((8191&(i=(i=i+Math.imul(d,$)|0)+Math.imul(f,Y)|0))<<13)|0;l=((a=a+Math.imul(f,$)|0)+(i>>>13)|0)+(ev>>>26)|0,ev&=67108863,n=Math.imul(x,H),i=(i=Math.imul(x,G))+Math.imul(M,H)|0,a=Math.imul(M,G),n=n+Math.imul(w,q)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(A,q)|0,a=a+Math.imul(A,V)|0,n=n+Math.imul(b,K)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(g,K)|0,a=a+Math.imul(g,J)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,$)|0;var ew=(l+(n=n+Math.imul(d,Q)|0)|0)+((8191&(i=(i=i+Math.imul(d,ee)|0)+Math.imul(f,Q)|0))<<13)|0;l=((a=a+Math.imul(f,ee)|0)+(i>>>13)|0)+(ew>>>26)|0,ew&=67108863,n=Math.imul(C,H),i=(i=Math.imul(C,G))+Math.imul(_,H)|0,a=Math.imul(_,G),n=n+Math.imul(x,q)|0,i=(i=i+Math.imul(x,V)|0)+Math.imul(M,q)|0,a=a+Math.imul(M,V)|0,n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(A,K)|0,a=a+Math.imul(A,J)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,$)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,$)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(y,Q)|0,a=a+Math.imul(y,ee)|0;var eA=(l+(n=n+Math.imul(d,er)|0)|0)+((8191&(i=(i=i+Math.imul(d,en)|0)+Math.imul(f,er)|0))<<13)|0;l=((a=a+Math.imul(f,en)|0)+(i>>>13)|0)+(eA>>>26)|0,eA&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(F,H)|0,a=Math.imul(F,G),n=n+Math.imul(C,q)|0,i=(i=i+Math.imul(C,V)|0)+Math.imul(_,q)|0,a=a+Math.imul(_,V)|0,n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(M,K)|0,a=a+Math.imul(M,J)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(A,Y)|0,a=a+Math.imul(A,$)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,ee)|0)+Math.imul(g,Q)|0,a=a+Math.imul(g,ee)|0,n=n+Math.imul(p,er)|0,i=(i=i+Math.imul(p,en)|0)+Math.imul(y,er)|0,a=a+Math.imul(y,en)|0;var eE=(l+(n=n+Math.imul(d,ea)|0)|0)+((8191&(i=(i=i+Math.imul(d,es)|0)+Math.imul(f,ea)|0))<<13)|0;l=((a=a+Math.imul(f,es)|0)+(i>>>13)|0)+(eE>>>26)|0,eE&=67108863,n=Math.imul(D,H),i=(i=Math.imul(D,G))+Math.imul(P,H)|0,a=Math.imul(P,G),n=n+Math.imul(B,q)|0,i=(i=i+Math.imul(B,V)|0)+Math.imul(F,q)|0,a=a+Math.imul(F,V)|0,n=n+Math.imul(C,K)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(_,K)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(M,Y)|0,a=a+Math.imul(M,$)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(A,Q)|0,a=a+Math.imul(A,ee)|0,n=n+Math.imul(b,er)|0,i=(i=i+Math.imul(b,en)|0)+Math.imul(g,er)|0,a=a+Math.imul(g,en)|0,n=n+Math.imul(p,ea)|0,i=(i=i+Math.imul(p,es)|0)+Math.imul(y,ea)|0,a=a+Math.imul(y,es)|0;var ex=(l+(n=n+Math.imul(d,eu)|0)|0)+((8191&(i=(i=i+Math.imul(d,el)|0)+Math.imul(f,eu)|0))<<13)|0;l=((a=a+Math.imul(f,el)|0)+(i>>>13)|0)+(ex>>>26)|0,ex&=67108863,n=Math.imul(N,H),i=(i=Math.imul(N,G))+Math.imul(R,H)|0,a=Math.imul(R,G),n=n+Math.imul(D,q)|0,i=(i=i+Math.imul(D,V)|0)+Math.imul(P,q)|0,a=a+Math.imul(P,V)|0,n=n+Math.imul(B,K)|0,i=(i=i+Math.imul(B,J)|0)+Math.imul(F,K)|0,a=a+Math.imul(F,J)|0,n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,$)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,$)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(M,Q)|0,a=a+Math.imul(M,ee)|0,n=n+Math.imul(w,er)|0,i=(i=i+Math.imul(w,en)|0)+Math.imul(A,er)|0,a=a+Math.imul(A,en)|0,n=n+Math.imul(b,ea)|0,i=(i=i+Math.imul(b,es)|0)+Math.imul(g,ea)|0,a=a+Math.imul(g,es)|0,n=n+Math.imul(p,eu)|0,i=(i=i+Math.imul(p,el)|0)+Math.imul(y,eu)|0,a=a+Math.imul(y,el)|0;var eM=(l+(n=n+Math.imul(d,ed)|0)|0)+((8191&(i=(i=i+Math.imul(d,ef)|0)+Math.imul(f,ed)|0))<<13)|0;l=((a=a+Math.imul(f,ef)|0)+(i>>>13)|0)+(eM>>>26)|0,eM&=67108863,n=Math.imul(L,H),i=(i=Math.imul(L,G))+Math.imul(j,H)|0,a=Math.imul(j,G),n=n+Math.imul(N,q)|0,i=(i=i+Math.imul(N,V)|0)+Math.imul(R,q)|0,a=a+Math.imul(R,V)|0,n=n+Math.imul(D,K)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(P,K)|0,a=a+Math.imul(P,J)|0,n=n+Math.imul(B,Y)|0,i=(i=i+Math.imul(B,$)|0)+Math.imul(F,Y)|0,a=a+Math.imul(F,$)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,ee)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,ee)|0,n=n+Math.imul(x,er)|0,i=(i=i+Math.imul(x,en)|0)+Math.imul(M,er)|0,a=a+Math.imul(M,en)|0,n=n+Math.imul(w,ea)|0,i=(i=i+Math.imul(w,es)|0)+Math.imul(A,ea)|0,a=a+Math.imul(A,es)|0,n=n+Math.imul(b,eu)|0,i=(i=i+Math.imul(b,el)|0)+Math.imul(g,eu)|0,a=a+Math.imul(g,el)|0,n=n+Math.imul(p,ed)|0,i=(i=i+Math.imul(p,ef)|0)+Math.imul(y,ed)|0,a=a+Math.imul(y,ef)|0;var eT=(l+(n=n+Math.imul(d,ep)|0)|0)+((8191&(i=(i=i+Math.imul(d,ey)|0)+Math.imul(f,ep)|0))<<13)|0;l=((a=a+Math.imul(f,ey)|0)+(i>>>13)|0)+(eT>>>26)|0,eT&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,V))+Math.imul(j,q)|0,a=Math.imul(j,V),n=n+Math.imul(N,K)|0,i=(i=i+Math.imul(N,J)|0)+Math.imul(R,K)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(D,Y)|0,i=(i=i+Math.imul(D,$)|0)+Math.imul(P,Y)|0,a=a+Math.imul(P,$)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,ee)|0)+Math.imul(F,Q)|0,a=a+Math.imul(F,ee)|0,n=n+Math.imul(C,er)|0,i=(i=i+Math.imul(C,en)|0)+Math.imul(_,er)|0,a=a+Math.imul(_,en)|0,n=n+Math.imul(x,ea)|0,i=(i=i+Math.imul(x,es)|0)+Math.imul(M,ea)|0,a=a+Math.imul(M,es)|0,n=n+Math.imul(w,eu)|0,i=(i=i+Math.imul(w,el)|0)+Math.imul(A,eu)|0,a=a+Math.imul(A,el)|0,n=n+Math.imul(b,ed)|0,i=(i=i+Math.imul(b,ef)|0)+Math.imul(g,ed)|0,a=a+Math.imul(g,ef)|0;var eC=(l+(n=n+Math.imul(p,ep)|0)|0)+((8191&(i=(i=i+Math.imul(p,ey)|0)+Math.imul(y,ep)|0))<<13)|0;l=((a=a+Math.imul(y,ey)|0)+(i>>>13)|0)+(eC>>>26)|0,eC&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,J))+Math.imul(j,K)|0,a=Math.imul(j,J),n=n+Math.imul(N,Y)|0,i=(i=i+Math.imul(N,$)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,$)|0,n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,ee)|0)+Math.imul(P,Q)|0,a=a+Math.imul(P,ee)|0,n=n+Math.imul(B,er)|0,i=(i=i+Math.imul(B,en)|0)+Math.imul(F,er)|0,a=a+Math.imul(F,en)|0,n=n+Math.imul(C,ea)|0,i=(i=i+Math.imul(C,es)|0)+Math.imul(_,ea)|0,a=a+Math.imul(_,es)|0,n=n+Math.imul(x,eu)|0,i=(i=i+Math.imul(x,el)|0)+Math.imul(M,eu)|0,a=a+Math.imul(M,el)|0,n=n+Math.imul(w,ed)|0,i=(i=i+Math.imul(w,ef)|0)+Math.imul(A,ed)|0,a=a+Math.imul(A,ef)|0;var e_=(l+(n=n+Math.imul(b,ep)|0)|0)+((8191&(i=(i=i+Math.imul(b,ey)|0)+Math.imul(g,ep)|0))<<13)|0;l=((a=a+Math.imul(g,ey)|0)+(i>>>13)|0)+(e_>>>26)|0,e_&=67108863,n=Math.imul(L,Y),i=(i=Math.imul(L,$))+Math.imul(j,Y)|0,a=Math.imul(j,$),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,ee)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,ee)|0,n=n+Math.imul(D,er)|0,i=(i=i+Math.imul(D,en)|0)+Math.imul(P,er)|0,a=a+Math.imul(P,en)|0,n=n+Math.imul(B,ea)|0,i=(i=i+Math.imul(B,es)|0)+Math.imul(F,ea)|0,a=a+Math.imul(F,es)|0,n=n+Math.imul(C,eu)|0,i=(i=i+Math.imul(C,el)|0)+Math.imul(_,eu)|0,a=a+Math.imul(_,el)|0,n=n+Math.imul(x,ed)|0,i=(i=i+Math.imul(x,ef)|0)+Math.imul(M,ed)|0,a=a+Math.imul(M,ef)|0;var eS=(l+(n=n+Math.imul(w,ep)|0)|0)+((8191&(i=(i=i+Math.imul(w,ey)|0)+Math.imul(A,ep)|0))<<13)|0;l=((a=a+Math.imul(A,ey)|0)+(i>>>13)|0)+(eS>>>26)|0,eS&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,ee))+Math.imul(j,Q)|0,a=Math.imul(j,ee),n=n+Math.imul(N,er)|0,i=(i=i+Math.imul(N,en)|0)+Math.imul(R,er)|0,a=a+Math.imul(R,en)|0,n=n+Math.imul(D,ea)|0,i=(i=i+Math.imul(D,es)|0)+Math.imul(P,ea)|0,a=a+Math.imul(P,es)|0,n=n+Math.imul(B,eu)|0,i=(i=i+Math.imul(B,el)|0)+Math.imul(F,eu)|0,a=a+Math.imul(F,el)|0,n=n+Math.imul(C,ed)|0,i=(i=i+Math.imul(C,ef)|0)+Math.imul(_,ed)|0,a=a+Math.imul(_,ef)|0;var eB=(l+(n=n+Math.imul(x,ep)|0)|0)+((8191&(i=(i=i+Math.imul(x,ey)|0)+Math.imul(M,ep)|0))<<13)|0;l=((a=a+Math.imul(M,ey)|0)+(i>>>13)|0)+(eB>>>26)|0,eB&=67108863,n=Math.imul(L,er),i=(i=Math.imul(L,en))+Math.imul(j,er)|0,a=Math.imul(j,en),n=n+Math.imul(N,ea)|0,i=(i=i+Math.imul(N,es)|0)+Math.imul(R,ea)|0,a=a+Math.imul(R,es)|0,n=n+Math.imul(D,eu)|0,i=(i=i+Math.imul(D,el)|0)+Math.imul(P,eu)|0,a=a+Math.imul(P,el)|0,n=n+Math.imul(B,ed)|0,i=(i=i+Math.imul(B,ef)|0)+Math.imul(F,ed)|0,a=a+Math.imul(F,ef)|0;var eF=(l+(n=n+Math.imul(C,ep)|0)|0)+((8191&(i=(i=i+Math.imul(C,ey)|0)+Math.imul(_,ep)|0))<<13)|0;l=((a=a+Math.imul(_,ey)|0)+(i>>>13)|0)+(eF>>>26)|0,eF&=67108863,n=Math.imul(L,ea),i=(i=Math.imul(L,es))+Math.imul(j,ea)|0,a=Math.imul(j,es),n=n+Math.imul(N,eu)|0,i=(i=i+Math.imul(N,el)|0)+Math.imul(R,eu)|0,a=a+Math.imul(R,el)|0,n=n+Math.imul(D,ed)|0,i=(i=i+Math.imul(D,ef)|0)+Math.imul(P,ed)|0,a=a+Math.imul(P,ef)|0;var ek=(l+(n=n+Math.imul(B,ep)|0)|0)+((8191&(i=(i=i+Math.imul(B,ey)|0)+Math.imul(F,ep)|0))<<13)|0;l=((a=a+Math.imul(F,ey)|0)+(i>>>13)|0)+(ek>>>26)|0,ek&=67108863,n=Math.imul(L,eu),i=(i=Math.imul(L,el))+Math.imul(j,eu)|0,a=Math.imul(j,el),n=n+Math.imul(N,ed)|0,i=(i=i+Math.imul(N,ef)|0)+Math.imul(R,ed)|0,a=a+Math.imul(R,ef)|0;var eD=(l+(n=n+Math.imul(D,ep)|0)|0)+((8191&(i=(i=i+Math.imul(D,ey)|0)+Math.imul(P,ep)|0))<<13)|0;l=((a=a+Math.imul(P,ey)|0)+(i>>>13)|0)+(eD>>>26)|0,eD&=67108863,n=Math.imul(L,ed),i=(i=Math.imul(L,ef))+Math.imul(j,ed)|0,a=Math.imul(j,ef);var eP=(l+(n=n+Math.imul(N,ep)|0)|0)+((8191&(i=(i=i+Math.imul(N,ey)|0)+Math.imul(R,ep)|0))<<13)|0;l=((a=a+Math.imul(R,ey)|0)+(i>>>13)|0)+(eP>>>26)|0,eP&=67108863;var eO=(l+(n=Math.imul(L,ep))|0)+((8191&(i=(i=Math.imul(L,ey))+Math.imul(j,ep)|0))<<13)|0;return l=((a=Math.imul(j,ey))+(i>>>13)|0)+(eO>>>26)|0,eO&=67108863,u[0]=em,u[1]=eb,u[2]=eg,u[3]=ev,u[4]=ew,u[5]=eA,u[6]=eE,u[7]=ex,u[8]=eM,u[9]=eT,u[10]=eC,u[11]=e_,u[12]=eS,u[13]=eB,u[14]=eF,u[15]=ek,u[16]=eD,u[17]=eP,u[18]=eO,0!==l&&(u[19]=l,r.length++),r};function p(e,t,r){return new y().mulp(e,t,r)}function y(e,t){this.x=e,this.y=t}Math.imul||(h=f),i.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?h(this,e,t):r<63?f(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,s&=67108863}r.words[a]=o,n=s,s=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,e,t):p(this,e,t)},y.prototype.makeRBT=function(e){for(var t=Array(e),r=i.prototype._countBits(e)-1,n=0;n>=1;return n},y.prototype.permute=function(e,t,r,n,i,a){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&a,a>>>=13;for(s=2*t;s>=26,t+=(i/67108864|0)+(a>>>26),this.words[n]=67108863&a}return 0!==t&&(this.words[n]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new i(1);for(var r=this,n=0;n=0);var t,n=e%26,i=(e-n)/26,a=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var i,a=e%26,s=Math.min((e-a)/26,this.length),o=67108863^67108863>>>a<s)for(this.length-=s,u=0;u=0&&(0!==l||u>=i);u--){var c=0|this.words[u];this.words[u]=l<<26-a|c>>>a,l=c&o}return n&&0!==l&&(n.words[n.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26;return!(this.length<=n)&&!!(this.words[n]&1<=0);var t=e%26,n=(e-t)/26;return(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)?this:(0!==t&&n++,this.length=Math.min(n,this.length),0!==t&&(this.words[this.length-1]&=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[i+n]=67108863&a}for(;i>26,this.words[i+n]=67108863&a;if(0===o)return this.strip();for(r(-1===o),o=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var r,n=this.length-e.length,a=this.clone(),s=e,o=0|s.words[s.length-1];0!=(n=26-this._countBits(o))&&(s=s.ushln(n),a.iushln(n),o=0|s.words[s.length-1]);var u=a.length-s.length;if("mod"!==t){(r=new i(null)).length=u+1,r.words=Array(r.length);for(var l=0;l=0;d--){var f=(0|a.words[s.length+d])*67108864+(0|a.words[s.length+d-1]);for(f=Math.min(f/o|0,67108863),a._ishlnsubmul(s,f,d);0!==a.negative;)f--,a.negative=0,a._ishlnsubmul(s,1,d),a.isZero()||(a.negative^=1);r&&(r.words[d]=f)}return r&&r.strip(),a.strip(),"div"!==t&&0!==n&&a.iushrn(n),{div:r||null,mod:a}},i.prototype.divmod=function(e,t,n){var a,s,o;return(r(!e.isZero()),this.isZero())?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(a=o.div.neg()),"div"!==t&&(s=o.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:a,mod:s}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(a=o.div.neg()),{div:a,mod:o.mod}):(this.negative&e.negative)!=0?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(s=o.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:o.div,mod:s}):e.length>this.length||0>this.cmp(e)?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t)},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){r(e<=67108863);for(var t=67108864%e,n=0,i=this.length-1;i>=0;i--)n=(t*n+(0|this.words[i]))%e;return n},i.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*t;this.words[n]=i/e|0,t=i%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var a=new i(1),s=new i(0),o=new i(0),u=new i(1),l=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++l;for(var c=n.clone(),d=t.clone();!t.isZero();){for(var f=0,h=1;(t.words[0]&h)==0&&f<26;++f,h<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(a.isOdd()||s.isOdd())&&(a.iadd(c),s.isub(d)),a.iushrn(1),s.iushrn(1);for(var p=0,y=1;(n.words[0]&y)==0&&p<26;++p,y<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(o.isOdd()||u.isOdd())&&(o.iadd(c),u.isub(d)),o.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(o),s.isub(u)):(n.isub(t),o.isub(a),u.isub(s))}return{a:o,b:u,gcd:n.iushln(l)}},i.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t,n=this,a=e.clone();n=0!==n.negative?n.umod(e):n.clone();for(var s=new i(1),o=new i(0),u=a.clone();n.cmpn(1)>0&&a.cmpn(1)>0;){for(var l=0,c=1;(n.words[0]&c)==0&&l<26;++l,c<<=1);if(l>0)for(n.iushrn(l);l-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var d=0,f=1;(a.words[0]&f)==0&&d<26;++d,f<<=1);if(d>0)for(a.iushrn(d);d-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);n.cmp(a)>=0?(n.isub(a),s.isub(o)):(a.isub(n),o.isub(s))}return 0>(t=0===n.cmpn(1)?s:o).cmpn(0)&&t.iadd(e),t},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return(1&this.words[0])==0},i.prototype.isOdd=function(){return(1&this.words[0])==1},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<>>26,o&=67108863,this.words[s]=o}return 0!==a&&(this.words[s]=a,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return -1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return -1===this.cmpn(e)},i.prototype.lt=function(e){return -1===this.cmp(e)},i.prototype.lten=function(e){return 0>=this.cmpn(e)},i.prototype.lte=function(e){return 0>=this.cmp(e)},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new E(e)},i.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var m={k256:null,p224:null,p192:null,p25519:null};function b(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function g(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function v(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function A(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function x(e){E.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var e=new i(null);return e.words=Array(Math.ceil(this.n/13)),e},b.prototype.ireduce=function(e){var t,r=e;do this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength();while(t>this.n)var n=t0?r.isub(this.p):r.strip(),r},b.prototype.split=function(e,t){e.iushrn(this.n,0,t)},b.prototype.imulK=function(e){return e.imul(this.k)},n(g,b),g.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,i=a}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},g.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){var t;if(m[e])return m[e];if("k256"===e)t=new g;else if("p224"===e)t=new v;else if("p192"===e)t=new w;else if("p25519"===e)t=new A;else throw Error("Unknown prime "+e);return m[e]=t,t},E.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},E.prototype._verify2=function(e,t){r((e.negative|t.negative)==0,"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},E.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},E.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},E.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return 0>r.cmpn(0)&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return 0>r.cmpn(0)&&r.iadd(this.m),r},E.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},E.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},E.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},E.prototype.isqr=function(e){return this.imul(e,e.clone())},E.prototype.sqr=function(e){return this.mul(e,e)},E.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new i(1)).iushrn(2);return this.pow(e,n)}for(var a=this.m.subn(1),s=0;!a.isZero()&&0===a.andln(1);)s++,a.iushrn(1);r(!a.isZero());var o=new i(1).toRed(this),u=o.redNeg(),l=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new i(2*c*c).toRed(this);0!==this.pow(c,l).cmp(u);)c.redIAdd(u);for(var d=this.pow(c,a),f=this.pow(e,a.addn(1).iushrn(1)),h=this.pow(e,a),p=s;0!==h.cmp(o);){for(var y=h,m=0;0!==y.cmp(o);m++)y=y.redSqr();r(m=0;n--){for(var l=t.words[n],c=u-1;c>=0;c--){var d=l>>c&1;if(a!==r[0]&&(a=this.sqr(a)),0===d&&0===s){o=0;continue}s<<=1,s|=d,(4==++o||0===n&&0===c)&&(a=this.mul(a,r[s]),o=0,s=0)}u=26}return a},E.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},E.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new x(e)},n(x,E),x.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},x.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},x.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):0>i.cmpn(0)&&(a=i.iadd(this.m)),a._forceRed(this)},x.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),s=a;return a.cmp(this.m)>=0?s=a.isub(this.m):0>a.cmpn(0)&&(s=a.iadd(this.m)),s._forceRed(this)},x.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}),a.register("edrkG",function(e,t){var r=a("1Gpd4");e.exports=function(e){return"string"!=typeof e?e:r(e)?e.slice(2):e}}),a.register("1Gpd4",function(e,t){e.exports=function(e){if("string"!=typeof e)throw Error("[is-hex-prefixed] value must be type 'string', is currently type "+typeof e+", while checking isHexPrefixed.");return"0x"===e.slice(0,2)}}),a.register("eNPzt",function(e,t){var r=a("6ZWSX").Buffer,n=a("dEXSZ"),i=a("lrNtv"),s=a("7gSD0"),o=a("7Z98w"),u=a("36d7k"),l=function(e){return n.isBN(e)},c=function(e){return e&&e.constructor&&"BigNumber"===e.constructor.name},d=function(e){try{return i.apply(null,arguments)}catch(t){throw Error(t+' Given value: "'+e+'"')}},f=function(e){return!!/^(0x)?[0-9a-f]{40}$/i.test(e)&&(!!(/^(0x|0X)?[0-9a-f]{40}$/.test(e)||/^(0x|0X)?[0-9A-F]{40}$/.test(e))||h(e))},h=function(e){for(var t=A((e=e.replace(/^0x/i,"")).toLowerCase()).replace(/^0x/i,""),r=0;r<40;r++)if(parseInt(t[r],16)>7&&e[r].toUpperCase()!==e[r]||7>=parseInt(t[r],16)&&e[r].toLowerCase()!==e[r])return!1;return!0},p=function(e){e=s.encode(e);var t="";e=(e=(e=(e=e.replace(/^(?:\u0000)*/,"")).split("").reverse().join("")).replace(/^(?:\u0000)*/,"")).split("").reverse().join("");for(var r=0;rNumber.MAX_SAFE_INTEGER||r>>4).toString(16)),t.push((15&e[r]).toString(16));return"0x"+t.join("")},isHex:v,isHexStrict:g,stripHexPrefix:function(e){return 0!==e&&v(e)?e.replace(/^(-)?0x/i,"$1"):e},leftPad:function(e,t,r){return(/^0x/i.test(e)||"number"==typeof e?"0x":"")+Array(t-(e=e.toString(16).replace(/^0x/i,"")).length+1>=0?t-e.length+1:0).join(r||"0")+e},rightPad:function(e,t,r){var n=/^0x/i.test(e)||"number"==typeof e,i=t-(e=e.toString(16).replace(/^0x/i,"")).length+1>=0?t-e.length+1:0;return(n?"0x":"")+e+Array(i).join(r||"0")},toTwosComplement:function(e){return"0x"+d(e).toTwos(256).toString(16,64)},sha3:A,sha3Raw:function(e){return null===(e=A(e))?w:e},toNumber:function(e,t=!1){return"number"==typeof e?e:y(b(e),t)}}}),a.register("7gSD0",function(e,t){!function(e){var t,r,n,i=String.fromCharCode;function a(e){for(var t,r,n=[],i=0,a=e.length;i=55296&&t<=56319&&i=55296&&e<=57343)throw Error("Lone surrogate U+"+e.toString(16).toUpperCase()+" is not a scalar value")}function o(e,t){return i(e>>t&63|128)}function u(){if(n>=r)throw Error("Invalid byte index");var e=255&t[n];if(n++,(192&e)==128)return 63&e;throw Error("Invalid continuation byte")}e.version="3.0.0",e.encode=function(e){for(var t=a(e),r=t.length,n=-1,u="";++n>6&31|192):(4294901760&e)==0?(s(e),t=i(e>>12&15|224)+o(e,6)):(4292870144&e)==0&&(t=i(e>>18&7|240)+o(e,12)+o(e,6)),t+=i(63&e|128)}(t[n]);return u},e.decode=function(e){r=(t=a(e)).length,n=0;for(var o,l=[];!1!==(o=function(){var e,i,a,o;if(n>r)throw Error("Invalid byte index");if(n==r)return!1;if(e=255&t[n],n++,(128&e)==0)return e;if((224&e)==192){if((o=(31&e)<<6|(i=u()))>=128)return o;throw Error("Invalid continuation byte")}if((240&e)==224){if((o=(15&e)<<12|(i=u())<<6|u())>=2048)return s(o),o;throw Error("Invalid continuation byte")}if((248&e)==240&&(o=(7&e)<<18|(i=u())<<12|u()<<6|u())>=65536&&o<=1114111)return o;throw Error("Invalid UTF-8 detected")}());)l.push(o);return function(e){for(var t,r=e.length,n=-1,a="";++n65535&&(t-=65536,a+=i(t>>>10&1023|55296),t=56320|1023&t),a+=i(t);return a}(l)}}(e.exports)}),a.register("7Z98w",function(e,t){"use strict";var r=e.exports&&e.exports.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=e.exports&&e.exports.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.isHexString=e.exports.getKeys=e.exports.fromAscii=e.exports.fromUtf8=e.exports.toAscii=e.exports.arrayContainsArray=e.exports.getBinarySize=e.exports.padToEven=e.exports.stripHexPrefix=e.exports.isHexPrefixed=void 0,n(a("5jI7y"),e.exports),n(a("idiNS"),e.exports),n(a("aSXhg"),e.exports),n(a("gKSHR"),e.exports),n(a("67JT1"),e.exports),n(a("b61lJ"),e.exports),n(a("cLPFP"),e.exports),n(a("4jhio"),e.exports),n(a("eLj8Y"),e.exports);var i=a("aj8Qm");Object.defineProperty(e.exports,"isHexPrefixed",{enumerable:!0,get:function(){return i.isHexPrefixed}}),Object.defineProperty(e.exports,"stripHexPrefix",{enumerable:!0,get:function(){return i.stripHexPrefix}}),Object.defineProperty(e.exports,"padToEven",{enumerable:!0,get:function(){return i.padToEven}}),Object.defineProperty(e.exports,"getBinarySize",{enumerable:!0,get:function(){return i.getBinarySize}}),Object.defineProperty(e.exports,"arrayContainsArray",{enumerable:!0,get:function(){return i.arrayContainsArray}}),Object.defineProperty(e.exports,"toAscii",{enumerable:!0,get:function(){return i.toAscii}}),Object.defineProperty(e.exports,"fromUtf8",{enumerable:!0,get:function(){return i.fromUtf8}}),Object.defineProperty(e.exports,"fromAscii",{enumerable:!0,get:function(){return i.fromAscii}}),Object.defineProperty(e.exports,"getKeys",{enumerable:!0,get:function(){return i.getKeys}}),Object.defineProperty(e.exports,"isHexString",{enumerable:!0,get:function(){return i.isHexString}})}),a.register("5jI7y",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.KECCAK256_RLP=e.exports.KECCAK256_RLP_S=e.exports.KECCAK256_RLP_ARRAY=e.exports.KECCAK256_RLP_ARRAY_S=e.exports.KECCAK256_NULL=e.exports.KECCAK256_NULL_S=e.exports.TWO_POW256=e.exports.MAX_INTEGER=e.exports.MAX_UINT64=void 0;var r=a("6ZWSX"),n=a("4jhio");e.exports.MAX_UINT64=new n.BN("ffffffffffffffff",16),e.exports.MAX_INTEGER=new n.BN("ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",16),e.exports.TWO_POW256=new n.BN("10000000000000000000000000000000000000000000000000000000000000000",16),e.exports.KECCAK256_NULL_S="c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470",e.exports.KECCAK256_NULL=r.Buffer.from(e.exports.KECCAK256_NULL_S,"hex"),e.exports.KECCAK256_RLP_ARRAY_S="1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",e.exports.KECCAK256_RLP_ARRAY=r.Buffer.from(e.exports.KECCAK256_RLP_ARRAY_S,"hex"),e.exports.KECCAK256_RLP_S="56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",e.exports.KECCAK256_RLP=r.Buffer.from(e.exports.KECCAK256_RLP_S,"hex")}),a.register("4jhio",function(e,t){"use strict";var r=e.exports&&e.exports.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=e.exports&&e.exports.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),i=e.exports&&e.exports.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)"default"!==i&&Object.prototype.hasOwnProperty.call(e,i)&&r(t,e,i);return n(t,e),t},s=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.rlp=e.exports.BN=void 0;var o=s(a("dEXSZ"));e.exports.BN=o.default;var u=i(a("15efp"));e.exports.rlp=u}),a.register("15efp",function(e,t){var r=a("6ZWSX").Buffer;"use strict";var n=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.getLength=e.exports.decode=e.exports.encode=void 0;var i=n(a("dEXSZ"));function s(e,t){if("0"===e[0]&&"0"===e[1])throw Error("invalid RLP: extra zeros");return parseInt(e,t)}function o(e,t){if(e<56)return r.from([e+t]);var n=l(e),i=l(t+55+n.length/2);return r.from(i+n,"hex")}function u(e){return"0x"===e.slice(0,2)}function l(e){if(e<0)throw Error("Invalid integer as argument, must be unsigned!");var t=e.toString(16);return t.length%2?"0"+t:t}function c(e){if(!r.isBuffer(e)){var t,n;if("string"==typeof e)return u(e)?r.from((t="string"!=typeof e?e:u(e)?e.slice(2):e).length%2?"0"+t:t,"hex"):r.from(e);if("number"==typeof e||"bigint"==typeof e)return e?(n=l(e),r.from(n,"hex")):r.from([]);if(null==e)return r.from([]);if(e instanceof Uint8Array)return r.from(e);else if(i.default.isBN(e))return r.from(e.toArray());else throw Error("invalid type")}return e}e.exports.encode=function e(t){if(Array.isArray(t)){for(var n=[],i=0;it.length)throw Error("invalid rlp: total length is larger than the data");if(0===(o=t.slice(i,d)).length)throw Error("invalid rlp, List has a invalid length");for(;o.length;)u=e(o),l.push(u.data),o=u.remainder;return{data:l,remainder:t.slice(d)}}(c(e));if(t)return n;if(0!==n.remainder.length)throw Error("invalid remainder");return n.data},e.exports.getLength=function(e){if(!e||0===e.length)return r.from([]);var t=c(e),n=t[0];if(n<=127)return t.length;if(n<=183)return n-127;if(n<=191)return n-182;if(n<=247)return n-191;var i=n-246,a=s(t.slice(1,i).toString("hex"),16);return i+a}}),a.register("idiNS",function(e,t){"use strict";var r=a("6ZWSX").Buffer,n=e.exports&&e.exports.__read||function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,a=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return s},i=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.isZeroAddress=e.exports.zeroAddress=e.exports.importPublic=e.exports.privateToAddress=e.exports.privateToPublic=e.exports.publicToAddress=e.exports.pubToAddress=e.exports.isValidPublic=e.exports.isValidPrivate=e.exports.generateAddress2=e.exports.generateAddress=e.exports.isValidChecksumAddress=e.exports.toChecksumAddress=e.exports.isValidAddress=e.exports.Account=void 0;var s=i(a("aLUwE")),o=a("4jhio"),u=a("iET4t"),l=a("aj8Qm"),c=a("5jI7y"),d=a("b61lJ"),f=a("gKSHR"),h=a("7jIKp"),p=a("eLj8Y"),y=function(){function e(e,t,r,n){void 0===e&&(e=new o.BN(0)),void 0===t&&(t=new o.BN(0)),void 0===r&&(r=c.KECCAK256_RLP),void 0===n&&(n=c.KECCAK256_NULL),this.nonce=e,this.balance=t,this.stateRoot=r,this.codeHash=n,this._validate()}return e.fromAccountData=function(t){var r=t.nonce,n=t.balance,i=t.stateRoot,a=t.codeHash;return new e(r?new o.BN((0,d.toBuffer)(r)):void 0,n?new o.BN((0,d.toBuffer)(n)):void 0,i?(0,d.toBuffer)(i):void 0,a?(0,d.toBuffer)(a):void 0)},e.fromRlpSerializedAccount=function(e){var t=o.rlp.decode(e);if(!Array.isArray(t))throw Error("Invalid serialized account input. Must be array");return this.fromValuesArray(t)},e.fromValuesArray=function(t){var r=n(t,4),i=r[0],a=r[1],s=r[2],u=r[3];return new e(new o.BN(i),new o.BN(a),s,u)},e.prototype._validate=function(){if(this.nonce.lt(new o.BN(0)))throw Error("nonce must be greater than zero");if(this.balance.lt(new o.BN(0)))throw Error("balance must be greater than zero");if(32!==this.stateRoot.length)throw Error("stateRoot must have a length of 32");if(32!==this.codeHash.length)throw Error("codeHash must have a length of 32")},e.prototype.raw=function(){return[(0,p.bnToUnpaddedBuffer)(this.nonce),(0,p.bnToUnpaddedBuffer)(this.balance),this.stateRoot,this.codeHash]},e.prototype.serialize=function(){return o.rlp.encode(this.raw())},e.prototype.isContract=function(){return!this.codeHash.equals(c.KECCAK256_NULL)},e.prototype.isEmpty=function(){return this.balance.isZero()&&this.nonce.isZero()&&this.codeHash.equals(c.KECCAK256_NULL)},e}();e.exports.Account=y,e.exports.isValidAddress=function(e){try{(0,h.assertIsString)(e)}catch(e){return!1}return/^0x[0-9a-fA-F]{40}$/.test(e)},e.exports.toChecksumAddress=function(e,t){(0,h.assertIsHexString)(e);var r=(0,l.stripHexPrefix)(e).toLowerCase(),n="";t&&(n=(0,p.toType)(t,p.TypeOutput.BN).toString()+"0x");for(var i=(0,f.keccakFromString)(n+r).toString("hex"),a="0x",s=0;s=8?a+=r[s].toUpperCase():a+=r[s];return a},e.exports.isValidChecksumAddress=function(t,r){return(0,e.exports.isValidAddress)(t)&&(0,e.exports.toChecksumAddress)(t,r)===t},e.exports.generateAddress=function(e,t){(0,h.assertIsBuffer)(e),(0,h.assertIsBuffer)(t);var n=new o.BN(t);return n.isZero()?(0,f.rlphash)([e,null]).slice(-20):(0,f.rlphash)([e,r.from(n.toArray())]).slice(-20)},e.exports.generateAddress2=function(e,t,n){return(0,h.assertIsBuffer)(e),(0,h.assertIsBuffer)(t),(0,h.assertIsBuffer)(n),(0,s.default)(20===e.length),(0,s.default)(32===t.length),(0,f.keccak256)(r.concat([r.from("ff","hex"),e,t,(0,f.keccak256)(n)])).slice(-20)},e.exports.isValidPrivate=function(e){return(0,u.privateKeyVerify)(e)},e.exports.isValidPublic=function(e,t){return(void 0===t&&(t=!1),(0,h.assertIsBuffer)(e),64===e.length)?(0,u.publicKeyVerify)(r.concat([r.from([4]),e])):!!t&&(0,u.publicKeyVerify)(e)},e.exports.pubToAddress=function(e,t){return void 0===t&&(t=!1),(0,h.assertIsBuffer)(e),t&&64!==e.length&&(e=r.from((0,u.publicKeyConvert)(e,!1).slice(1))),(0,s.default)(64===e.length),(0,f.keccak)(e).slice(-20)},e.exports.publicToAddress=e.exports.pubToAddress,e.exports.privateToPublic=function(e){return(0,h.assertIsBuffer)(e),r.from((0,u.publicKeyCreate)(e,!1)).slice(1)},e.exports.privateToAddress=function(t){return(0,e.exports.publicToAddress)((0,e.exports.privateToPublic)(t))},e.exports.importPublic=function(e){return(0,h.assertIsBuffer)(e),64!==e.length&&(e=r.from((0,u.publicKeyConvert)(e,!1).slice(1))),e},e.exports.zeroAddress=function(){var e=(0,d.zeros)(20);return(0,d.bufferToHex)(e)},e.exports.isZeroAddress=function(t){try{(0,h.assertIsString)(t)}catch(e){return!1}return(0,e.exports.zeroAddress)()===t}}),a.register("aLUwE",function(e,t){"use strict";var r,n,i=a("hPtJY");function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var o=a("cCihK").codes,u=o.ERR_AMBIGUOUS_ARGUMENT,l=o.ERR_INVALID_ARG_TYPE,c=o.ERR_INVALID_ARG_VALUE,d=o.ERR_INVALID_RETURN_VALUE,f=o.ERR_MISSING_ARGS,h=a("8pS6q"),p=a("N7Lcz"),y=p.inspect,p=a("N7Lcz"),m=p.types,b=m.isPromise,g=m.isRegExp,v=Object.assign?Object.assign:a("dYBnA").assign,w=Object.is?Object.is:a("eT9RM");function A(){var e=a("3LKhK");r=e.isDeepEqual,n=e.isDeepStrictEqual}var E=!1,x=e.exports=_,M={};function T(e){if(e.message instanceof Error)throw e.message;throw new h(e)}function C(e,t,r,n){if(!r){var i=!1;if(0===t)i=!0,n="No value argument passed to `assert.ok()`";else if(n instanceof Error)throw n;var a=new h({actual:r,expected:!0,message:n,operator:"==",stackStartFn:e});throw a.generatedMessage=i,a}}function _(){for(var e=arguments.length,t=Array(e),r=0;r1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1?r-1:0),i=1;i1)for(var r=1;ro,e=>o=e);var o,u,l,c={};function d(e,t,r){r||(r=Error);var a=function(r){function a(r,s,o){var u,l;return function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,a),(u=(l=i(a).call(this,"string"==typeof t?t:t(r,s,o)))&&("object"===n(l)||"function"==typeof l)?l:function(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this)).code=e,u}return function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&s(e,t)}(a,r),a}(r);c[e]=a}function f(e,t){if(!Array.isArray(e))return"of ".concat(t," ").concat(String(e));var r=e.length;return(e=e.map(function(e){return String(e)}),r>2)?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}d("ERR_AMBIGUOUS_ARGUMENT",'The "%s" argument is ambiguous. %s',TypeError),d("ERR_INVALID_ARG_TYPE",function(e,t,r){if((void 0===u&&(u=a("aLUwE")),u("string"==typeof e,"'name' must be a string"),"string"==typeof t&&(i="not ",t.substr(!s||s<0?0:+s,i.length)===i))?(d="must not be",t=t.replace(/^not /,"")):d="must be",o=" argument",(void 0===l||l>e.length)&&(l=e.length),e.substring(l-o.length,l)===o)h="The ".concat(e," ").concat(d," ").concat(f(t,"type"));else{var i,s,o,l,c,d,h,p=("number"!=typeof c&&(c=0),c+1>e.length||-1===e.indexOf(".",c))?"argument":"property";h='The "'.concat(e,'" ').concat(p," ").concat(d," ").concat(f(t,"type"))}return h+". Received type ".concat(n(r))},TypeError),d("ERR_INVALID_ARG_VALUE",function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"is invalid";void 0===l&&(l=a("N7Lcz"));var n=l.inspect(t);return n.length>128&&(n="".concat(n.slice(0,128),"...")),"The argument '".concat(e,"' ").concat(r,". Received ").concat(n)},TypeError,RangeError),d("ERR_INVALID_RETURN_VALUE",function(e,t,r){var i;return i=r&&r.constructor&&r.constructor.name?"instance of ".concat(r.constructor.name):"type ".concat(n(r)),"Expected ".concat(e,' to be returned from the "').concat(t,'"')+" function but got ".concat(i,".")},TypeError),d("ERR_MISSING_ARGS",function(){for(var e=arguments.length,t=Array(e),r=0;r0,"At least one arg needs to be specified");var n="The ",i=t.length;switch(t=t.map(function(e){return'"'.concat(e,'"')}),i){case 1:n+="".concat(t[0]," argument");break;case 2:n+="".concat(t[0]," and ").concat(t[1]," arguments");break;default:n+=t.slice(0,i-1).join(", ")+", and ".concat(t[i-1]," arguments")}return"".concat(n," must be specified")},TypeError),o=c}),a.register("N7Lcz",function(e,t){var r=a("hPtJY"),n=Object.getOwnPropertyDescriptors||function(e){for(var t=Object.keys(e),r={},n=0;n=a)return e;switch(e){case"%s":return String(n[r++]);case"%d":return Number(n[r++]);case"%j":try{return JSON.stringify(n[r++])}catch(e){return"[Circular]"}default:return e}}),o=n[r];r=3&&(n.depth=arguments[2]),arguments.length>=4&&(n.colors=arguments[3]),y(r)?n.showHidden=r:r&&e.exports._extend(n,r),v(n.showHidden)&&(n.showHidden=!1),v(n.depth)&&(n.depth=2),v(n.colors)&&(n.colors=!1),v(n.customInspect)&&(n.customInspect=!0),n.colors&&(n.stylize=l),d(n,t,n.depth)}function l(e,t){var r=u.styles[t];return r?"\x1b["+u.colors[r][0]+"m"+e+"\x1b["+u.colors[r][1]+"m":e}function c(e,t){return e}function d(t,r,n){if(t.customInspect&&r&&M(r.inspect)&&r.inspect!==e.exports.inspect&&!(r.constructor&&r.constructor.prototype===r)){var i,a,s,o,u,l=r.inspect(n,t);return g(l)||(l=d(t,l,n)),l}var c=function(e,t){if(v(t))return e.stylize("undefined","undefined");if(g(t)){var r="'"+JSON.stringify(t).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return e.stylize(r,"string")}return b(t)?e.stylize(""+t,"number"):y(t)?e.stylize(""+t,"boolean"):m(t)?e.stylize("null","null"):void 0}(t,r);if(c)return c;var A=Object.keys(r),T=(o={},A.forEach(function(e,t){o[e]=!0}),o);if(t.showHidden&&(A=Object.getOwnPropertyNames(r)),x(r)&&(A.indexOf("message")>=0||A.indexOf("description")>=0))return f(r);if(0===A.length){if(M(r)){var C=r.name?": "+r.name:"";return t.stylize("[Function"+C+"]","special")}if(w(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(E(r))return t.stylize(Date.prototype.toString.call(r),"date");if(x(r))return f(r)}var _="",B=!1,F=["{","}"];return(p(r)&&(B=!0,F=["[","]"]),M(r)&&(_=" [Function"+(r.name?": "+r.name:"")+"]"),w(r)&&(_=" "+RegExp.prototype.toString.call(r)),E(r)&&(_=" "+Date.prototype.toUTCString.call(r)),x(r)&&(_=" "+f(r)),0!==A.length||B&&0!=r.length)?n<0?w(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),u=B?function(e,t,r,n,i){for(var a=[],s=0,o=t.length;s=0&&s++,e+t.replace(/\u001b\[\d\d?m/g,"").length+1},0)>60?a[0]+(""===i?"":i+"\n ")+" "+u.join(",\n ")+" "+a[1]:a[0]+i+" "+u.join(", ")+" "+a[1]):F[0]+_+F[1]}function f(e){return"["+Error.prototype.toString.call(e)+"]"}function h(e,t,r,n,i,a){var s,o,u;if((u=Object.getOwnPropertyDescriptor(t,i)||{value:t[i]}).get?o=u.set?e.stylize("[Getter/Setter]","special"):e.stylize("[Getter]","special"):u.set&&(o=e.stylize("[Setter]","special")),S(n,i)||(s="["+i+"]"),!o&&(0>e.seen.indexOf(u.value)?(o=m(r)?d(e,u.value,null):d(e,u.value,r-1)).indexOf("\n")>-1&&(o=a?o.split("\n").map(function(e){return" "+e}).join("\n").slice(2):"\n"+o.split("\n").map(function(e){return" "+e}).join("\n")):o=e.stylize("[Circular]","special")),v(s)){if(a&&i.match(/^\d+$/))return o;(s=JSON.stringify(""+i)).match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(s=s.slice(1,-1),s=e.stylize(s,"name")):(s=s.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),s=e.stylize(s,"string"))}return s+": "+o}function p(e){return Array.isArray(e)}function y(e){return"boolean"==typeof e}function m(e){return null===e}function b(e){return"number"==typeof e}function g(e){return"string"==typeof e}function v(e){return void 0===e}function w(e){return A(e)&&"[object RegExp]"===T(e)}function A(e){return"object"==typeof e&&null!==e}function E(e){return A(e)&&"[object Date]"===T(e)}function x(e){return A(e)&&("[object Error]"===T(e)||e instanceof Error)}function M(e){return"function"==typeof e}function T(e){return Object.prototype.toString.call(e)}function C(e){return e<10?"0"+e.toString(10):e.toString(10)}e.exports.debuglog=function(t){if(!s[t=t.toUpperCase()]){if(o.test(t)){var n=r.pid;s[t]=function(){var r=e.exports.format.apply(e.exports,arguments);console.error("%s %d: %s",t,n,r)}}else s[t]=function(){}}return s[t]},e.exports.inspect=u,u.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},u.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.exports.types=a("7He6T"),e.exports.isArray=p,e.exports.isBoolean=y,e.exports.isNull=m,e.exports.isNullOrUndefined=function(e){return null==e},e.exports.isNumber=b,e.exports.isString=g,e.exports.isSymbol=function(e){return"symbol"==typeof e},e.exports.isUndefined=v,e.exports.isRegExp=w,e.exports.types.isRegExp=w,e.exports.isObject=A,e.exports.isDate=E,e.exports.types.isDate=E,e.exports.isError=x,e.exports.types.isNativeError=x,e.exports.isFunction=M,e.exports.isPrimitive=function(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e||"symbol"==typeof e||void 0===e},e.exports.isBuffer=a("kotBY");var _=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)}e.exports.log=function(){var t,r;console.log("%s - %s",(r=[C((t=new Date).getHours()),C(t.getMinutes()),C(t.getSeconds())].join(":"),[t.getDate(),_[t.getMonth()],r].join(" ")),e.exports.format.apply(e.exports,arguments))},e.exports.inherits=a("dlqwk"),e.exports._extend=function(e,t){if(!t||!A(t))return e;for(var r=Object.keys(t),n=r.length;n--;)e[r[n]]=t[r[n]];return e};var B="undefined"!=typeof Symbol?Symbol("util.promisify.custom"):void 0;function F(e,t){if(!e){var r=Error("Promise was rejected with a falsy value");r.reason=e,e=r}return t(e)}e.exports.promisify=function(e){if("function"!=typeof e)throw TypeError('The "original" argument must be of type Function');if(B&&e[B]){var t=e[B];if("function"!=typeof t)throw TypeError('The "util.promisify.custom" argument must be of type Function');return Object.defineProperty(t,B,{value:t,enumerable:!1,writable:!1,configurable:!0}),t}function t(){for(var t,r,n=new Promise(function(e,n){t=e,r=n}),i=[],a=0;a=0&&"[object Array]"!==n(e)&&"[object Function]"===n(e.callee)},o=function(){return i(arguments)}();i.isLegacyArguments=s,e.exports=o?i:s}),a.register("3KyxH",function(e,t){"use strict";var r=a("7YWkK");e.exports=function(){return r()&&!!Symbol.toStringTag}}),a.register("7YWkK",function(e,t){"use strict";e.exports=function(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),r=Object(t);if("string"==typeof t||"[object Symbol]"!==Object.prototype.toString.call(t)||"[object Symbol]"!==Object.prototype.toString.call(r))return!1;for(t in e[t]=42,e)return!1;if("function"==typeof Object.keys&&0!==Object.keys(e).length||"function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var n=Object.getOwnPropertySymbols(e);if(1!==n.length||n[0]!==t||!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(e,t);if(42!==i.value||!0!==i.enumerable)return!1}return!0}}),a.register("hXu6F",function(e,t){"use strict";var r=a("1zENl"),n=a("cOB0F"),i=n(r("String.prototype.indexOf"));e.exports=function(e,t){var a=r(e,!!t);return"function"==typeof a&&i(e,".prototype.")>-1?n(a):a}}),a.register("1zENl",function(e,t){"use strict";var r,n=SyntaxError,i=Function,s=TypeError,o=function(e){try{return i('"use strict"; return ('+e+").constructor;")()}catch(e){}},u=Object.getOwnPropertyDescriptor;if(u)try{u({},"")}catch(e){u=null}var l=function(){throw new s},c=u?function(){try{return arguments.callee,l}catch(e){try{return u(arguments,"callee").get}catch(e){return l}}}():l,d=a("24qIq")(),f=a("dSRh6")(),h=Object.getPrototypeOf||(f?function(e){return e.__proto__}:null),p={},y="undefined"!=typeof Uint8Array&&h?h(Uint8Array):r,m={"%AggregateError%":"undefined"==typeof AggregateError?r:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?r:ArrayBuffer,"%ArrayIteratorPrototype%":d&&h?h([][Symbol.iterator]()):r,"%AsyncFromSyncIteratorPrototype%":r,"%AsyncFunction%":p,"%AsyncGenerator%":p,"%AsyncGeneratorFunction%":p,"%AsyncIteratorPrototype%":p,"%Atomics%":"undefined"==typeof Atomics?r:Atomics,"%BigInt%":"undefined"==typeof BigInt?r:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?r:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?r:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?r:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":Error,"%eval%":eval,"%EvalError%":EvalError,"%Float32Array%":"undefined"==typeof Float32Array?r:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?r:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?r:FinalizationRegistry,"%Function%":i,"%GeneratorFunction%":p,"%Int8Array%":"undefined"==typeof Int8Array?r:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?r:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?r:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":d&&h?h(h([][Symbol.iterator]())):r,"%JSON%":"object"==typeof JSON?JSON:r,"%Map%":"undefined"==typeof Map?r:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&d&&h?h(new Map()[Symbol.iterator]()):r,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?r:Promise,"%Proxy%":"undefined"==typeof Proxy?r:Proxy,"%RangeError%":RangeError,"%ReferenceError%":ReferenceError,"%Reflect%":"undefined"==typeof Reflect?r:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?r:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&d&&h?h(new Set()[Symbol.iterator]()):r,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?r:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":d&&h?h(""[Symbol.iterator]()):r,"%Symbol%":d?Symbol:r,"%SyntaxError%":n,"%ThrowTypeError%":c,"%TypedArray%":y,"%TypeError%":s,"%Uint8Array%":"undefined"==typeof Uint8Array?r:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?r:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?r:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?r:Uint32Array,"%URIError%":URIError,"%WeakMap%":"undefined"==typeof WeakMap?r:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?r:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?r:WeakSet};if(h)try{null.error}catch(e){var b=h(h(e));m["%Error.prototype%"]=b}var g=function e(t){var r;if("%AsyncFunction%"===t)r=o("async function () {}");else if("%GeneratorFunction%"===t)r=o("function* () {}");else if("%AsyncGeneratorFunction%"===t)r=o("async function* () {}");else if("%AsyncGenerator%"===t){var n=e("%AsyncGeneratorFunction%");n&&(r=n.prototype)}else if("%AsyncIteratorPrototype%"===t){var i=e("%AsyncGenerator%");i&&h&&(r=h(i.prototype))}return m[t]=r,r},v={"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},w=a("gvair"),A=a("8aKn2"),E=w.call(Function.call,Array.prototype.concat),x=w.call(Function.apply,Array.prototype.splice),M=w.call(Function.call,String.prototype.replace),T=w.call(Function.call,String.prototype.slice),C=w.call(Function.call,RegExp.prototype.exec),_=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,S=/\\(\\)?/g,B=function(e){var t=T(e,0,1),r=T(e,-1);if("%"===t&&"%"!==r)throw new n("invalid intrinsic syntax, expected closing `%`");if("%"===r&&"%"!==t)throw new n("invalid intrinsic syntax, expected opening `%`");var i=[];return M(e,_,function(e,t,r,n){i[i.length]=r?M(n,S,"$1"):t||e}),i},F=function(e,t){var r,i=e;if(A(v,i)&&(i="%"+(r=v[i])[0]+"%"),A(m,i)){var a=m[i];if(a===p&&(a=g(i)),void 0===a&&!t)throw new s("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:r,name:i,value:a}}throw new n("intrinsic "+e+" does not exist!")};e.exports=function(e,t){if("string"!=typeof e||0===e.length)throw new s("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof t)throw new s('"allowMissing" argument must be a boolean');if(null===C(/^%?[^%]*%?$/,e))throw new n("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var r=B(e),i=r.length>0?r[0]:"",a=F("%"+i+"%",t),o=a.name,l=a.value,c=!1,d=a.alias;d&&(i=d[0],x(r,E([0,1],d)));for(var f=1,h=!0;f=r.length){var g=u(l,p);l=(h=!!g)&&"get"in g&&!("originalValue"in g.get)?g.get:l[p]}else h=A(l,p),l=l[p];h&&!c&&(m[o]=l)}}return l}}),a.register("24qIq",function(e,t){"use strict";var r="undefined"!=typeof Symbol&&Symbol,n=a("7YWkK");e.exports=function(){return"function"==typeof r&&"function"==typeof Symbol&&"symbol"==typeof r("foo")&&"symbol"==typeof Symbol("bar")&&n()}}),a.register("dSRh6",function(e,t){"use strict";var r={foo:{}},n=Object;e.exports=function(){return({__proto__:r}).foo===r.foo&&!(({__proto__:null})instanceof n)}}),a.register("gvair",function(e,t){"use strict";var r=a("kAGnA");e.exports=Function.prototype.bind||r}),a.register("kAGnA",function(e,t){"use strict";var r=Array.prototype.slice,n=Object.prototype.toString;e.exports=function(e){var t,i=this;if("function"!=typeof i||"[object Function]"!==n.call(i))throw TypeError("Function.prototype.bind called on incompatible "+i);for(var a=r.call(arguments,1),s=Math.max(0,i.length-a.length),o=[],u=0;u=3&&(a=i),"[object Array]"===n.call(e)?s(e,t,a):"string"==typeof e?o(e,t,a):u(e,t,a)}}),a.register("63RD0",function(e,t){"use strict";var r,n,i=Function.prototype.toString,a="object"==typeof Reflect&&null!==Reflect&&Reflect.apply;if("function"==typeof a&&"function"==typeof Object.defineProperty)try{r=Object.defineProperty({},"length",{get:function(){throw n}}),n={},a(function(){throw 42},null,r)}catch(e){e!==n&&(a=null)}else a=null;var s=/^\s*class\b/,o=function(e){try{var t=i.call(e);return s.test(t)}catch(e){return!1}},u=function(e){try{if(o(e))return!1;return i.call(e),!0}catch(e){return!1}},l=Object.prototype.toString,c="function"==typeof Symbol&&!!Symbol.toStringTag,d=!(0 in[,]),f=function(){return!1};if("object"==typeof document){var h=document.all;l.call(h)===l.call(document.all)&&(f=function(e){if((d||!e)&&(void 0===e||"object"==typeof e))try{var t=l.call(e);return("[object HTMLAllCollection]"===t||"[object HTML document.all class]"===t||"[object HTMLCollection]"===t||"[object Object]"===t)&&null==e("")}catch(e){}return!1})}e.exports=a?function(e){if(f(e))return!0;if(!e||"function"!=typeof e&&"object"!=typeof e)return!1;try{a(e,null,r)}catch(e){if(e!==n)return!1}return!o(e)&&u(e)}:function(e){if(f(e))return!0;if(!e||"function"!=typeof e&&"object"!=typeof e)return!1;if(c)return u(e);if(o(e))return!1;var t=l.call(e);return!!("[object Function]"===t||"[object GeneratorFunction]"===t||/^\[object HTML/.test(t))&&u(e)}}),a.register("8yXCr",function(e,t){"use strict";var n=["BigInt64Array","BigUint64Array","Float32Array","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray"],i="undefined"==typeof globalThis?r:globalThis;e.exports=function(){for(var e=[],t=0;t-1)}}),a.register("kotBY",function(e,t){e.exports=function(e){return e&&"object"==typeof e&&"function"==typeof e.copy&&"function"==typeof e.fill&&"function"==typeof e.readUInt8}}),a.register("dlqwk",function(e,t){"function"==typeof Object.create?e.exports=function(e,t){t&&(e.super_=t,e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(e,t){if(t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}}}),a.register("8pS6q",function(e,t){"use strict";var r=a("hPtJY");function n(e,t){for(var r=0;re.length)&&(r=e.length),e.substring(r-t.length,r)===t}var y="",m="",b="",g="",v={deepStrictEqual:"Expected values to be strictly deep-equal:",strictEqual:"Expected values to be strictly equal:",strictEqualObject:'Expected "actual" to be reference-equal to "expected":',deepEqual:"Expected values to be loosely deep-equal:",equal:"Expected values to be loosely equal:",notDeepStrictEqual:'Expected "actual" not to be strictly deep-equal to:',notStrictEqual:'Expected "actual" to be strictly unequal to:',notStrictEqualObject:'Expected "actual" not to be reference-equal to "expected":',notDeepEqual:'Expected "actual" not to be loosely deep-equal to:',notEqual:'Expected "actual" to be loosely unequal to:',notIdentical:"Values identical but not reference-equal:"};function w(e){var t=Object.keys(e),r=Object.create(Object.getPrototypeOf(e));return t.forEach(function(t){r[t]=e[t]}),Object.defineProperty(r,"message",{value:e.message}),r}function A(e){return f(e,{compact:!1,customInspect:!1,depth:1e3,maxArrayLength:1/0,showHidden:!1,breakLength:1/0,showProxy:!1,sorted:!0,getters:!0})}var E=function(e){var t,a;function o(e){if(function(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}(this,o),"object"!==d(e)||null===e)throw new h("options","Object",e);var t,n=e.message,a=e.operator,u=e.stackStartFn,l=e.actual,f=e.expected,E=Error.stackTraceLimit;if(Error.stackTraceLimit=0,null!=n)t=i(this,c(o).call(this,String(n)));else if(r.stderr&&r.stderr.isTTY&&(r.stderr&&r.stderr.getColorDepth&&1!==r.stderr.getColorDepth()?(y="\x1b[34m",m="\x1b[32m",g="\x1b[39m",b="\x1b[31m"):(y="",m="",g="",b="")),"object"===d(l)&&null!==l&&"object"===d(f)&&null!==f&&"stack"in l&&l instanceof Error&&"stack"in f&&f instanceof Error&&(l=w(l),f=w(f)),"deepStrictEqual"===a||"strictEqual"===a)t=i(this,c(o).call(this,function(e,t,n){var i="",a="",s=0,o="",u=!1,l=A(e),c=l.split("\n"),f=A(t).split("\n"),h=0,w="";if("strictEqual"===n&&"object"===d(e)&&"object"===d(t)&&null!==e&&null!==t&&(n="strictEqualObject"),1===c.length&&1===f.length&&c[0]!==f[0]){var E=c[0].length+f[0].length;if(E<=10){if(("object"!==d(e)||null===e)&&("object"!==d(t)||null===t)&&(0!==e||0!==t))return"".concat(v[n],"\n\n")+"".concat(c[0]," !== ").concat(f[0],"\n")}else if("strictEqualObject"!==n&&E<(r.stderr&&r.stderr.isTTY?r.stderr.columns:80)){for(;c[0][h]===f[0][h];)h++;h>2&&(w="\n ".concat(function(e,t){if(t=Math.floor(t),0==e.length||0==t)return"";var r=e.length*t;for(t=Math.floor(Math.log(t)/Math.log(2));t;)e+=e,t--;return e+e.substring(0,r-e.length)}(" ",h),"^"),h=0)}}for(var x=c[c.length-1],M=f[f.length-1];x===M&&(h++<2?o="\n ".concat(x).concat(o):i=x,c.pop(),f.pop(),0!==c.length&&0!==f.length);)x=c[c.length-1],M=f[f.length-1];var T=Math.max(c.length,f.length);if(0===T){var C=l.split("\n");if(C.length>30)for(C[26]="".concat(y,"...").concat(g);C.length>27;)C.pop();return"".concat(v.notIdentical,"\n\n").concat(C.join("\n"),"\n")}h>3&&(o="\n".concat(y,"...").concat(g).concat(o),u=!0),""!==i&&(o="\n ".concat(i).concat(o),i="");var _=0,S=v[n]+"\n".concat(m,"+ actual").concat(g," ").concat(b,"- expected").concat(g),B=" ".concat(y,"...").concat(g," Lines skipped");for(h=0;h1&&h>2&&(F>4?(a+="\n".concat(y,"...").concat(g),u=!0):F>3&&(a+="\n ".concat(f[h-2]),_++),a+="\n ".concat(f[h-1]),_++),s=h,i+="\n".concat(b,"-").concat(g," ").concat(f[h]),_++;else if(f.length1&&h>2&&(F>4?(a+="\n".concat(y,"...").concat(g),u=!0):F>3&&(a+="\n ".concat(c[h-2]),_++),a+="\n ".concat(c[h-1]),_++),s=h,a+="\n".concat(m,"+").concat(g," ").concat(c[h]),_++;else{var k=f[h],D=c[h],P=D!==k&&(!p(D,",")||D.slice(0,-1)!==k);P&&p(k,",")&&k.slice(0,-1)===D&&(P=!1,D+=","),P?(F>1&&h>2&&(F>4?(a+="\n".concat(y,"...").concat(g),u=!0):F>3&&(a+="\n ".concat(c[h-2]),_++),a+="\n ".concat(c[h-1]),_++),s=h,a+="\n".concat(m,"+").concat(g," ").concat(D),i+="\n".concat(b,"-").concat(g," ").concat(k),_+=2):(a+=i,i="",(1===F||0===h)&&(a+="\n ".concat(D),_++))}if(_>20&&h30)for(M[26]="".concat(y,"...").concat(g);M.length>27;)M.pop();t=1===M.length?i(this,c(o).call(this,"".concat(x," ").concat(M[0]))):i(this,c(o).call(this,"".concat(x,"\n\n").concat(M.join("\n"),"\n")))}else{var T=A(l),C="",_=v[a];"notDeepEqual"===a||"notEqual"===a?(T="".concat(v[a],"\n\n").concat(T)).length>1024&&(T="".concat(T.slice(0,1021),"...")):(C="".concat(A(f)),T.length>512&&(T="".concat(T.slice(0,509),"...")),C.length>512&&(C="".concat(C.slice(0,509),"...")),"deepEqual"===a||"equal"===a?T="".concat(_,"\n\n").concat(T,"\n\nshould equal\n\n"):C=" ".concat(a," ").concat(C)),t=i(this,c(o).call(this,"".concat(T).concat(C)))}return Error.stackTraceLimit=E,t.generatedMessage=!n,Object.defineProperty(s(t),"name",{value:"AssertionError [ERR_ASSERTION]",enumerable:!1,writable:!0,configurable:!0}),t.code="ERR_ASSERTION",t.actual=l,t.expected=f,t.operator=a,Error.captureStackTrace&&Error.captureStackTrace(s(t),u),t.stack,t.name="AssertionError",i(t)}return function(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(o,e),t=[{key:"toString",value:function(){return"".concat(this.name," [").concat(this.code,"]: ").concat(this.message)}},{key:f.custom,value:function(e,t){return f(this,function(e){for(var t=1;t2?arguments[2]:{},a=r(t);n&&(a=s.call(a,Object.getOwnPropertySymbols(t)));for(var o=0;o=0&&"[object Function]"===r.call(e.callee)),n}}),a.register("4nFCC",function(e,t){"use strict";var r;if(!Object.keys){var n=Object.prototype.hasOwnProperty,i=Object.prototype.toString,s=a("z1gio"),o=Object.prototype.propertyIsEnumerable,u=!o.call({toString:null},"toString"),l=o.call(function(){},"prototype"),c=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],d=function(e){var t=e.constructor;return t&&t.prototype===e},f={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},h=function(){if("undefined"==typeof window)return!1;for(var e in window)try{if(!f["$"+e]&&n.call(window,e)&&null!==window[e]&&"object"==typeof window[e])try{d(window[e])}catch(e){return!0}}catch(e){return!0}return!1}(),p=function(e){if("undefined"==typeof window||!h)return d(e);try{return d(e)}catch(e){return!1}};r=function(e){var t=null!==e&&"object"==typeof e,r="[object Function]"===i.call(e),a=s(e),o=t&&"[object String]"===i.call(e),d=[];if(!t&&!r&&!a)throw TypeError("Object.keys called on a non-object");var f=l&&r;if(o&&e.length>0&&!n.call(e,0))for(var h=0;h0)for(var y=0;y10)return!0;for(var t=0;t57)return!0}return 10===e.length&&e>=4294967296}function D(e){return Object.keys(e).filter(k).concat(l(e).filter(Object.prototype.propertyIsEnumerable.bind(e)))}function P(e,t){if(e===t)return 0;for(var r=e.length,n=t.length,i=0,a=Math.min(r,n);i0&&i[i.length-1])&&(6===a[0]||2===a[0])){s=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]new Uint8Array(e),t){return"function"==typeof e&&(e=e(t)),i("output",e,t),e}function o(e){return Object.prototype.toString.call(e).slice(8,-1)}e.exports=e=>({contextRandomize(t){if(n(null===t||t instanceof Uint8Array,"Expected seed to be an Uint8Array or null"),null!==t&&i("seed",t,32),1===e.contextRandomize(t))throw Error(r.CONTEXT_RANDOMIZE_UNKNOW)},privateKeyVerify:t=>(i("private key",t,32),0===e.privateKeyVerify(t)),privateKeyNegate(t){switch(i("private key",t,32),e.privateKeyNegate(t)){case 0:return t;case 1:throw Error(r.IMPOSSIBLE_CASE)}},privateKeyTweakAdd(t,n){switch(i("private key",t,32),i("tweak",n,32),e.privateKeyTweakAdd(t,n)){case 0:return t;case 1:throw Error(r.TWEAK_ADD)}},privateKeyTweakMul(t,n){switch(i("private key",t,32),i("tweak",n,32),e.privateKeyTweakMul(t,n)){case 0:return t;case 1:throw Error(r.TWEAK_MUL)}},publicKeyVerify:t=>(i("public key",t,[33,65]),0===e.publicKeyVerify(t)),publicKeyCreate(t,n=!0,o){switch(i("private key",t,32),a(n),o=s(o,n?33:65),e.publicKeyCreate(o,t)){case 0:return o;case 1:throw Error(r.SECKEY_INVALID);case 2:throw Error(r.PUBKEY_SERIALIZE)}},publicKeyConvert(t,n=!0,o){switch(i("public key",t,[33,65]),a(n),o=s(o,n?33:65),e.publicKeyConvert(o,t)){case 0:return o;case 1:throw Error(r.PUBKEY_PARSE);case 2:throw Error(r.PUBKEY_SERIALIZE)}},publicKeyNegate(t,n=!0,o){switch(i("public key",t,[33,65]),a(n),o=s(o,n?33:65),e.publicKeyNegate(o,t)){case 0:return o;case 1:throw Error(r.PUBKEY_PARSE);case 2:throw Error(r.IMPOSSIBLE_CASE);case 3:throw Error(r.PUBKEY_SERIALIZE)}},publicKeyCombine(t,o=!0,u){for(let e of(n(Array.isArray(t),"Expected public keys to be an Array"),n(t.length>0,"Expected public keys array will have more than zero items"),t))i("public key",e,[33,65]);switch(a(o),u=s(u,o?33:65),e.publicKeyCombine(u,t)){case 0:return u;case 1:throw Error(r.PUBKEY_PARSE);case 2:throw Error(r.PUBKEY_COMBINE);case 3:throw Error(r.PUBKEY_SERIALIZE)}},publicKeyTweakAdd(t,n,o=!0,u){switch(i("public key",t,[33,65]),i("tweak",n,32),a(o),u=s(u,o?33:65),e.publicKeyTweakAdd(u,t,n)){case 0:return u;case 1:throw Error(r.PUBKEY_PARSE);case 2:throw Error(r.TWEAK_ADD)}},publicKeyTweakMul(t,n,o=!0,u){switch(i("public key",t,[33,65]),i("tweak",n,32),a(o),u=s(u,o?33:65),e.publicKeyTweakMul(u,t,n)){case 0:return u;case 1:throw Error(r.PUBKEY_PARSE);case 2:throw Error(r.TWEAK_MUL)}},signatureNormalize(t){switch(i("signature",t,64),e.signatureNormalize(t)){case 0:return t;case 1:throw Error(r.SIG_PARSE)}},signatureExport(t,n){i("signature",t,64),n=s(n,72);let a={output:n,outputlen:72};switch(e.signatureExport(a,t)){case 0:return n.slice(0,a.outputlen);case 1:throw Error(r.SIG_PARSE);case 2:throw Error(r.IMPOSSIBLE_CASE)}},signatureImport(t,n){switch(i("signature",t),n=s(n,64),e.signatureImport(n,t)){case 0:return n;case 1:throw Error(r.SIG_PARSE);case 2:throw Error(r.IMPOSSIBLE_CASE)}},ecdsaSign(t,a,u={},l){i("message",t,32),i("private key",a,32),n("Object"===o(u),"Expected options to be an Object"),void 0!==u.data&&i("options.data",u.data),void 0!==u.noncefn&&n("Function"===o(u.noncefn),"Expected options.noncefn to be a Function"),l=s(l,64);let c={signature:l,recid:null};switch(e.ecdsaSign(c,t,a,u.data,u.noncefn)){case 0:return c;case 1:throw Error(r.SIGN);case 2:throw Error(r.IMPOSSIBLE_CASE)}},ecdsaVerify(t,n,a){switch(i("signature",t,64),i("message",n,32),i("public key",a,[33,65]),e.ecdsaVerify(t,n,a)){case 0:return!0;case 3:return!1;case 1:throw Error(r.SIG_PARSE);case 2:throw Error(r.PUBKEY_PARSE)}},ecdsaRecover(t,u,l,c=!0,d){switch(i("signature",t,64),n("Number"===o(u)&&u>=0&&u<=3,"Expected recovery id to be a Number within interval [0, 3]"),i("message",l,32),a(c),d=s(d,c?33:65),e.ecdsaRecover(d,t,u,l)){case 0:return d;case 1:throw Error(r.SIG_PARSE);case 2:throw Error(r.RECOVER);case 3:throw Error(r.IMPOSSIBLE_CASE)}},ecdh(t,a,u={},l){switch(i("public key",t,[33,65]),i("private key",a,32),n("Object"===o(u),"Expected options to be an Object"),void 0!==u.data&&i("options.data",u.data),void 0!==u.hashfn?(n("Function"===o(u.hashfn),"Expected options.hashfn to be a Function"),void 0!==u.xbuf&&i("options.xbuf",u.xbuf,32),void 0!==u.ybuf&&i("options.ybuf",u.ybuf,32),i("output",l)):l=s(l,32),e.ecdh(l,t,a,u.data,u.hashfn,u.xbuf,u.ybuf)){case 0:return l;case 1:throw Error(r.PUBKEY_PARSE);case 2:throw Error(r.ECDH)}}})}),a.register("ejO33",function(e,t){var r=a("1zUcV").ec;let n=new r("secp256k1"),i=n.curve,s=i.n.constructor;function o(e){let t=e[0];switch(t){case 2:case 3:if(33!==e.length)return null;return function(e,t){let r=new s(t);if(r.cmp(i.p)>=0)return null;let a=(r=r.toRed(i.red)).redSqr().redIMul(r).redIAdd(i.b).redSqrt();return 3===e!==a.isOdd()&&(a=a.redNeg()),n.keyPair({pub:{x:r,y:a}})}(t,e.subarray(1,33));case 4:case 6:case 7:if(65!==e.length)return null;return function(e,t,r){let a=new s(t),o=new s(r);if(a.cmp(i.p)>=0||o.cmp(i.p)>=0||(a=a.toRed(i.red),o=o.toRed(i.red),(6===e||7===e)&&o.isOdd()!==(7===e)))return null;let u=a.redSqr().redIMul(a);return o.redSqr().redISub(u.redIAdd(i.b)).isZero()?n.keyPair({pub:{x:a,y:o}}):null}(t,e.subarray(1,33),e.subarray(33,65));default:return null}}function u(e,t){let r=t.encode(null,33===e.length);for(let t=0;t0,privateKeyVerify(e){let t=new s(e);return 0>t.cmp(i.n)&&!t.isZero()?0:1},privateKeyNegate(e){let t=new s(e),r=i.n.sub(t).umod(i.n).toArrayLike(Uint8Array,"be",32);return e.set(r),0},privateKeyTweakAdd(e,t){let r=new s(t);if(r.cmp(i.n)>=0||(r.iadd(new s(e)),r.cmp(i.n)>=0&&r.isub(i.n),r.isZero()))return 1;let n=r.toArrayLike(Uint8Array,"be",32);return e.set(n),0},privateKeyTweakMul(e,t){let r=new s(t);if(r.cmp(i.n)>=0||r.isZero())return 1;r.imul(new s(e)),r.cmp(i.n)>=0&&(r=r.umod(i.n));let n=r.toArrayLike(Uint8Array,"be",32);return e.set(n),0},publicKeyVerify(e){let t=o(e);return null===t?1:0},publicKeyCreate(e,t){let r=new s(t);if(r.cmp(i.n)>=0||r.isZero())return 1;let a=n.keyFromPrivate(t).getPublic();return u(e,a),0},publicKeyConvert(e,t){let r=o(t);if(null===r)return 1;let n=r.getPublic();return u(e,n),0},publicKeyNegate(e,t){let r=o(t);if(null===r)return 1;let n=r.getPublic();return n.y=n.y.redNeg(),u(e,n),0},publicKeyCombine(e,t){let r=Array(t.length);for(let e=0;e=0)return 2;let a=n.getPublic().add(i.g.mul(r));return a.isInfinity()?2:(u(e,a),0)},publicKeyTweakMul(e,t,r){let n=o(t);if(null===n)return 1;if((r=new s(r)).cmp(i.n)>=0||r.isZero())return 2;let a=n.getPublic().mul(r);return u(e,a),0},signatureNormalize(e){let t=new s(e.subarray(0,32)),r=new s(e.subarray(32,64));return t.cmp(i.n)>=0||r.cmp(i.n)>=0?1:(1===r.cmp(n.nh)&&e.set(i.n.sub(r).toArrayLike(Uint8Array,"be",32),32),0)},signatureExport(e,t){let r=t.subarray(0,32),n=t.subarray(32,64);if(new s(r).cmp(i.n)>=0||new s(n).cmp(i.n)>=0)return 1;let{output:a}=e,o=a.subarray(4,37);o[0]=0,o.set(r,1);let u=33,l=0;for(;u>1&&0===o[l]&&!(128&o[l+1]);--u,++l);if(128&(o=o.subarray(l))[0]||u>1&&0===o[0]&&!(128&o[1]))return 1;let c=a.subarray(39,72);c[0]=0,c.set(n,1);let d=33,f=0;for(;d>1&&0===c[f]&&!(128&c[f+1]);--d,++f);return 128&(c=c.subarray(f))[0]||d>1&&0===c[0]&&!(128&c[1])?1:(e.outputlen=6+u+d,a[0]=48,a[1]=e.outputlen-2,a[2]=2,a[3]=o.length,a.set(o,4),a[4+u]=2,a[5+u]=c.length,a.set(c,6+u),0)},signatureImport(e,t){if(t.length<8||t.length>72||48!==t[0]||t[1]!==t.length-2||2!==t[2])return 1;let r=t[3];if(0===r||5+r>=t.length||2!==t[4+r])return 1;let n=t[5+r];if(0===n||6+r+n!==t.length||128&t[4]||r>1&&0===t[4]&&!(128&t[5])||128&t[r+6]||n>1&&0===t[r+6]&&!(128&t[r+7]))return 1;let a=t.subarray(4,4+r);if(33===a.length&&0===a[0]&&(a=a.subarray(1)),a.length>32)return 1;let o=t.subarray(6+r);if(33===o.length&&0===o[0]&&(o=o.slice(1)),o.length>32)throw Error("S length is too long");let u=new s(a);u.cmp(i.n)>=0&&(u=new s(0));let l=new s(t.subarray(6+r));return l.cmp(i.n)>=0&&(l=new s(0)),e.set(u.toArrayLike(Uint8Array,"be",32),0),e.set(l.toArrayLike(Uint8Array,"be",32),32),0},ecdsaSign(e,t,r,a,o){let u;if(o){let e=o;o=n=>{let i=e(t,r,null,a,n),o=i instanceof Uint8Array&&32===i.length;if(!o)throw Error("This is the way");return new s(i)}}let l=new s(r);if(l.cmp(i.n)>=0||l.isZero())return 1;try{u=n.sign(t,r,{canonical:!0,k:o,pers:a})}catch(e){return 1}return e.signature.set(u.r.toArrayLike(Uint8Array,"be",32),0),e.signature.set(u.s.toArrayLike(Uint8Array,"be",32),32),e.recid=u.recoveryParam,0},ecdsaVerify(e,t,r){let a={r:e.subarray(0,32),s:e.subarray(32,64)},u=new s(a.r),l=new s(a.s);if(u.cmp(i.n)>=0||l.cmp(i.n)>=0)return 1;if(1===l.cmp(n.nh)||u.isZero()||l.isZero())return 3;let c=o(r);if(null===c)return 2;let d=c.getPublic(),f=n.verify(t,a,d);return f?0:3},ecdsaRecover(e,t,r,a){let o;let l={r:t.slice(0,32),s:t.slice(32,64)},c=new s(l.r),d=new s(l.s);if(c.cmp(i.n)>=0||d.cmp(i.n)>=0)return 1;if(c.isZero()||d.isZero())return 2;try{o=n.recoverPubKey(a,l,r)}catch(e){return 2}return u(e,o),0},ecdh(e,t,r,a,u,l,c){let d=o(t);if(null===d)return 1;let f=new s(r);if(f.cmp(i.n)>=0||f.isZero())return 2;let h=d.getPublic().mul(f);if(void 0===u){let t=h.encode(null,!0),r=n.hash().update(t).digest();for(let t=0;t<32;++t)e[t]=r[t]}else{l||(l=new Uint8Array(32));let t=h.getX().toArray("be",32);for(let e=0;e<32;++e)l[e]=t[e];c||(c=new Uint8Array(32));let r=h.getY().toArray("be",32);for(let e=0;e<32;++e)c[e]=r[e];let n=u(l,c,a),i=n instanceof Uint8Array&&n.length===e.length;if(!i)return 2;e.set(n)}return 0}}}),a.register("1zUcV",function(e,t){"use strict";var r=e.exports;r.version=a("fuV4H").version,r.utils=a("gEVtY"),r.rand=a("7JHF0"),r.curve=a("cP1GP"),r.curves=a("fbTbW"),r.ec=a("220Zx"),r.eddsa=a("esmmS")}),a.register("fuV4H",function(e,t){e.exports=JSON.parse('{"name":"elliptic","version":"6.5.4","description":"EC cryptography","main":"lib/elliptic.js","files":["lib"],"scripts":{"lint":"eslint lib test","lint:fix":"npm run lint -- --fix","unit":"istanbul test _mocha --reporter=spec test/index.js","test":"npm run lint && npm run unit","version":"grunt dist && git add dist/"},"repository":{"type":"git","url":"git@github.com:indutny/elliptic"},"keywords":["EC","Elliptic","curve","Cryptography"],"author":"Fedor Indutny ","license":"MIT","bugs":{"url":"https://github.com/indutny/elliptic/issues"},"homepage":"https://github.com/indutny/elliptic","devDependencies":{"brfs":"^2.0.2","coveralls":"^3.1.0","eslint":"^7.6.0","grunt":"^1.2.1","grunt-browserify":"^5.3.0","grunt-cli":"^1.3.2","grunt-contrib-connect":"^3.0.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-uglify":"^5.0.0","grunt-mocha-istanbul":"^5.0.2","grunt-saucelabs":"^9.0.1","istanbul":"^0.4.5","mocha":"^8.0.1"},"dependencies":{"bn.js":"^4.11.9","brorand":"^1.1.0","hash.js":"^1.0.0","hmac-drbg":"^1.0.1","inherits":"^2.0.4","minimalistic-assert":"^1.0.1","minimalistic-crypto-utils":"^1.0.1"}}')}),a.register("gEVtY",function(e,t){"use strict";var r=e.exports,n=a("jX0xT"),i=a("koC21"),s=a("lC4vN");r.assert=i,r.toArray=s.toArray,r.zero2=s.zero2,r.toHex=s.toHex,r.encode=s.encode,r.getNAF=function(e,t,r){var n=Array(Math.max(e.bitLength(),r)+1);n.fill(0);for(var i=1<(i>>1)-1?(i>>1)-u:u,a.isubn(o)):o=0,n[s]=o,a.iushrn(1)}return n},r.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n=0,i=0;e.cmpn(-n)>0||t.cmpn(-i)>0;){var a,s,o,u=e.andln(3)+n&3,l=t.andln(3)+i&3;3===u&&(u=-1),3===l&&(l=-1),s=(1&u)==0?0:(3==(a=e.andln(7)+n&7)||5===a)&&2===l?-u:u,r[0].push(s),o=(1&l)==0?0:(3==(a=t.andln(7)+i&7)||5===a)&&2===u?-l:l,r[1].push(o),2*n===s+1&&(n=1-n),2*i===o+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return r},r.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new n(e,"hex","le")}}),a.register("jX0xT",function(e,t){!function(e,t){"use strict";function r(e,t){if(!e)throw Error(t||"Assertion failed")}function n(e,t){e.super_=t;var r=function(){};r.prototype=t.prototype,e.prototype=new r,e.prototype.constructor=e}function i(e,t,r){if(i.isBN(e))return e;this.negative=0,this.words=null,this.length=0,this.red=null,null!==e&&(("le"===t||"be"===t)&&(r=t,t=10),this._init(e||0,t||10,r||"be"))}"object"==typeof e?e.exports=i:t.BN=i,i.BN=i,i.wordSize=26;try{l="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:a("kjyEk").Buffer}catch(e){}function s(e,t){var r=e.charCodeAt(t);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function o(e,t,r){var n=s(e,r);return r-1>=t&&(n|=s(e,r-1)<<4),n}function u(e,t,r,n){for(var i=0,a=Math.min(e.length,r),s=t;s=49?i+=o-49+10:o>=17?i+=o-17+10:i+=o}return i}i.isBN=function(e){return e instanceof i||null!==e&&"object"==typeof e&&e.constructor.wordSize===i.wordSize&&Array.isArray(e.words)},i.max=function(e,t){return e.cmp(t)>0?e:t},i.min=function(e,t){return 0>e.cmp(t)?e:t},i.prototype._init=function(e,t,n){if("number"==typeof e)return this._initNumber(e,t,n);if("object"==typeof e)return this._initArray(e,t,n);"hex"===t&&(t=16),r(t===(0|t)&&t>=2&&t<=36);var i=0;"-"===(e=e.toString().replace(/\s+/g,""))[0]&&(i++,this.negative=1),i=0;s-=3)a=e[s]|e[s-1]<<8|e[s-2]<<16,this.words[i]|=a<>>26-o&67108863,(o+=24)>=26&&(o-=26,i++);else if("le"===n)for(s=0,i=0;s>>26-o&67108863,(o+=24)>=26&&(o-=26,i++);return this.strip()},i.prototype._parseHex=function(e,t,r){this.length=Math.ceil((e.length-t)/6),this.words=Array(this.length);for(var n,i=0;i=t;i-=2)n=o(e,t,i)<=18?(a-=18,s+=1,this.words[s]|=n>>>26):a+=8;else for(i=(e.length-t)%2==0?t+1:t;i=18?(a-=18,s+=1,this.words[s]|=n>>>26):a+=8;this.strip()},i.prototype._parseBase=function(e,t,r){this.words=[0],this.length=1;for(var n=0,i=1;i<=67108863;i*=t)n++;n--,i=i/t|0;for(var a=e.length-r,s=a%n,o=Math.min(a,a-s)+r,l=0,c=r;c1&&0===this.words[this.length-1];)this.length--;return this._normSign()},i.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},i.prototype.inspect=function(){return(this.red?""};var l,c=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],d=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],f=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function h(e,t,r){r.negative=t.negative^e.negative;var n=e.length+t.length|0;r.length=n,n=n-1|0;var i=0|e.words[0],a=0|t.words[0],s=i*a,o=67108863&s,u=s/67108864|0;r.words[0]=o;for(var l=1;l>>26,d=67108863&u,f=Math.min(l,t.length-1),h=Math.max(0,l-e.length+1);h<=f;h++){var p=l-h|0;c+=(s=(i=0|e.words[p])*(a=0|t.words[h])+d)/67108864|0,d=67108863&s}r.words[l]=0|d,u=0|c}return 0!==u?r.words[l]=0|u:r.length--,r.strip()}i.prototype.toString=function(e,t){if(t=0|t||1,16===(e=e||10)||"hex"===e){n="";for(var n,i=0,a=0,s=0;s>>24-i&16777215)||s!==this.length-1?c[6-u.length]+u+n:u+n,(i+=2)>=26&&(i-=26,s--)}for(0!==a&&(n=a.toString(16)+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}if(e===(0|e)&&e>=2&&e<=36){var l=d[e],h=f[e];n="";var p=this.clone();for(p.negative=0;!p.isZero();){var y=p.modn(h).toString(e);n=(p=p.idivn(h)).isZero()?y+n:c[l-y.length]+y+n}for(this.isZero()&&(n="0"+n);n.length%t!=0;)n="0"+n;return 0!==this.negative&&(n="-"+n),n}r(!1,"Base should be between 2 and 36")},i.prototype.toNumber=function(){var e=this.words[0];return 2===this.length?e+=67108864*this.words[1]:3===this.length&&1===this.words[2]?e+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-e:e},i.prototype.toJSON=function(){return this.toString(16)},i.prototype.toBuffer=function(e,t){return r(void 0!==l),this.toArrayLike(l,e,t)},i.prototype.toArray=function(e,t){return this.toArrayLike(Array,e,t)},i.prototype.toArrayLike=function(e,t,n){var i,a,s=this.byteLength(),o=n||Math.max(1,s);r(s<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var u=new e(o),l=this.clone();if("le"===t){for(a=0;!l.isZero();a++)i=l.andln(255),l.iushrn(8),u[a]=i;for(;a=4096&&(r+=13,t>>>=13),t>=64&&(r+=7,t>>>=7),t>=8&&(r+=4,t>>>=4),t>=2&&(r+=2,t>>>=2),r+t},i.prototype._zeroBits=function(e){if(0===e)return 26;var t=e,r=0;return(8191&t)==0&&(r+=13,t>>>=13),(127&t)==0&&(r+=7,t>>>=7),(15&t)==0&&(r+=4,t>>>=4),(3&t)==0&&(r+=2,t>>>=2),(1&t)==0&&r++,r},i.prototype.bitLength=function(){var e=this.words[this.length-1],t=this._countBits(e);return(this.length-1)*26+t},i.prototype.zeroBits=function(){if(this.isZero())return 0;for(var e=0,t=0;te.length?this.clone().ior(e):e.clone().ior(this)},i.prototype.uor=function(e){return this.length>e.length?this.clone().iuor(e):e.clone().iuor(this)},i.prototype.iuand=function(e){var t;t=this.length>e.length?e:this;for(var r=0;re.length?this.clone().iand(e):e.clone().iand(this)},i.prototype.uand=function(e){return this.length>e.length?this.clone().iuand(e):e.clone().iuand(this)},i.prototype.iuxor=function(e){this.length>e.length?(t=this,r=e):(t=e,r=this);for(var t,r,n=0;ne.length?this.clone().ixor(e):e.clone().ixor(this)},i.prototype.uxor=function(e){return this.length>e.length?this.clone().iuxor(e):e.clone().iuxor(this)},i.prototype.inotn=function(e){r("number"==typeof e&&e>=0);var t=0|Math.ceil(e/26),n=e%26;this._expand(t),n>0&&t--;for(var i=0;i0&&(this.words[i]=~this.words[i]&67108863>>26-n),this.strip()},i.prototype.notn=function(e){return this.clone().inotn(e)},i.prototype.setn=function(e,t){r("number"==typeof e&&e>=0);var n=e/26|0,i=e%26;return this._expand(n+1),t?this.words[n]=this.words[n]|1<e.length?(r=this,n=e):(r=e,n=this);for(var t,r,n,i=0,a=0;a>>26;for(;0!==i&&a>>26;if(this.length=r.length,0!==i)this.words[this.length]=i,this.length++;else if(r!==this)for(;ae.length?this.clone().iadd(e):e.clone().iadd(this)},i.prototype.isub=function(e){if(0!==e.negative){e.negative=0;var t,r,n=this.iadd(e);return e.negative=1,n._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(e),this.negative=1,this._normSign();var i=this.cmp(e);if(0===i)return this.negative=0,this.length=1,this.words[0]=0,this;i>0?(t=this,r=e):(t=e,r=this);for(var a=0,s=0;s>26,this.words[s]=67108863&n;for(;0!==a&&s>26,this.words[s]=67108863&n;if(0===a&&s>>13,h=0|s[1],p=8191&h,y=h>>>13,m=0|s[2],b=8191&m,g=m>>>13,v=0|s[3],w=8191&v,A=v>>>13,E=0|s[4],x=8191&E,M=E>>>13,T=0|s[5],C=8191&T,_=T>>>13,S=0|s[6],B=8191&S,F=S>>>13,k=0|s[7],D=8191&k,P=k>>>13,O=0|s[8],N=8191&O,R=O>>>13,I=0|s[9],L=8191&I,j=I>>>13,U=0|o[0],H=8191&U,G=U>>>13,z=0|o[1],q=8191&z,V=z>>>13,W=0|o[2],K=8191&W,J=W>>>13,Z=0|o[3],Y=8191&Z,$=Z>>>13,X=0|o[4],Q=8191&X,ee=X>>>13,et=0|o[5],er=8191&et,en=et>>>13,ei=0|o[6],ea=8191&ei,es=ei>>>13,eo=0|o[7],eu=8191&eo,el=eo>>>13,ec=0|o[8],ed=8191&ec,ef=ec>>>13,eh=0|o[9],ep=8191&eh,ey=eh>>>13;r.negative=e.negative^t.negative,r.length=19;var em=(l+(n=Math.imul(d,H))|0)+((8191&(i=(i=Math.imul(d,G))+Math.imul(f,H)|0))<<13)|0;l=((a=Math.imul(f,G))+(i>>>13)|0)+(em>>>26)|0,em&=67108863,n=Math.imul(p,H),i=(i=Math.imul(p,G))+Math.imul(y,H)|0,a=Math.imul(y,G);var eb=(l+(n=n+Math.imul(d,q)|0)|0)+((8191&(i=(i=i+Math.imul(d,V)|0)+Math.imul(f,q)|0))<<13)|0;l=((a=a+Math.imul(f,V)|0)+(i>>>13)|0)+(eb>>>26)|0,eb&=67108863,n=Math.imul(b,H),i=(i=Math.imul(b,G))+Math.imul(g,H)|0,a=Math.imul(g,G),n=n+Math.imul(p,q)|0,i=(i=i+Math.imul(p,V)|0)+Math.imul(y,q)|0,a=a+Math.imul(y,V)|0;var eg=(l+(n=n+Math.imul(d,K)|0)|0)+((8191&(i=(i=i+Math.imul(d,J)|0)+Math.imul(f,K)|0))<<13)|0;l=((a=a+Math.imul(f,J)|0)+(i>>>13)|0)+(eg>>>26)|0,eg&=67108863,n=Math.imul(w,H),i=(i=Math.imul(w,G))+Math.imul(A,H)|0,a=Math.imul(A,G),n=n+Math.imul(b,q)|0,i=(i=i+Math.imul(b,V)|0)+Math.imul(g,q)|0,a=a+Math.imul(g,V)|0,n=n+Math.imul(p,K)|0,i=(i=i+Math.imul(p,J)|0)+Math.imul(y,K)|0,a=a+Math.imul(y,J)|0;var ev=(l+(n=n+Math.imul(d,Y)|0)|0)+((8191&(i=(i=i+Math.imul(d,$)|0)+Math.imul(f,Y)|0))<<13)|0;l=((a=a+Math.imul(f,$)|0)+(i>>>13)|0)+(ev>>>26)|0,ev&=67108863,n=Math.imul(x,H),i=(i=Math.imul(x,G))+Math.imul(M,H)|0,a=Math.imul(M,G),n=n+Math.imul(w,q)|0,i=(i=i+Math.imul(w,V)|0)+Math.imul(A,q)|0,a=a+Math.imul(A,V)|0,n=n+Math.imul(b,K)|0,i=(i=i+Math.imul(b,J)|0)+Math.imul(g,K)|0,a=a+Math.imul(g,J)|0,n=n+Math.imul(p,Y)|0,i=(i=i+Math.imul(p,$)|0)+Math.imul(y,Y)|0,a=a+Math.imul(y,$)|0;var ew=(l+(n=n+Math.imul(d,Q)|0)|0)+((8191&(i=(i=i+Math.imul(d,ee)|0)+Math.imul(f,Q)|0))<<13)|0;l=((a=a+Math.imul(f,ee)|0)+(i>>>13)|0)+(ew>>>26)|0,ew&=67108863,n=Math.imul(C,H),i=(i=Math.imul(C,G))+Math.imul(_,H)|0,a=Math.imul(_,G),n=n+Math.imul(x,q)|0,i=(i=i+Math.imul(x,V)|0)+Math.imul(M,q)|0,a=a+Math.imul(M,V)|0,n=n+Math.imul(w,K)|0,i=(i=i+Math.imul(w,J)|0)+Math.imul(A,K)|0,a=a+Math.imul(A,J)|0,n=n+Math.imul(b,Y)|0,i=(i=i+Math.imul(b,$)|0)+Math.imul(g,Y)|0,a=a+Math.imul(g,$)|0,n=n+Math.imul(p,Q)|0,i=(i=i+Math.imul(p,ee)|0)+Math.imul(y,Q)|0,a=a+Math.imul(y,ee)|0;var eA=(l+(n=n+Math.imul(d,er)|0)|0)+((8191&(i=(i=i+Math.imul(d,en)|0)+Math.imul(f,er)|0))<<13)|0;l=((a=a+Math.imul(f,en)|0)+(i>>>13)|0)+(eA>>>26)|0,eA&=67108863,n=Math.imul(B,H),i=(i=Math.imul(B,G))+Math.imul(F,H)|0,a=Math.imul(F,G),n=n+Math.imul(C,q)|0,i=(i=i+Math.imul(C,V)|0)+Math.imul(_,q)|0,a=a+Math.imul(_,V)|0,n=n+Math.imul(x,K)|0,i=(i=i+Math.imul(x,J)|0)+Math.imul(M,K)|0,a=a+Math.imul(M,J)|0,n=n+Math.imul(w,Y)|0,i=(i=i+Math.imul(w,$)|0)+Math.imul(A,Y)|0,a=a+Math.imul(A,$)|0,n=n+Math.imul(b,Q)|0,i=(i=i+Math.imul(b,ee)|0)+Math.imul(g,Q)|0,a=a+Math.imul(g,ee)|0,n=n+Math.imul(p,er)|0,i=(i=i+Math.imul(p,en)|0)+Math.imul(y,er)|0,a=a+Math.imul(y,en)|0;var eE=(l+(n=n+Math.imul(d,ea)|0)|0)+((8191&(i=(i=i+Math.imul(d,es)|0)+Math.imul(f,ea)|0))<<13)|0;l=((a=a+Math.imul(f,es)|0)+(i>>>13)|0)+(eE>>>26)|0,eE&=67108863,n=Math.imul(D,H),i=(i=Math.imul(D,G))+Math.imul(P,H)|0,a=Math.imul(P,G),n=n+Math.imul(B,q)|0,i=(i=i+Math.imul(B,V)|0)+Math.imul(F,q)|0,a=a+Math.imul(F,V)|0,n=n+Math.imul(C,K)|0,i=(i=i+Math.imul(C,J)|0)+Math.imul(_,K)|0,a=a+Math.imul(_,J)|0,n=n+Math.imul(x,Y)|0,i=(i=i+Math.imul(x,$)|0)+Math.imul(M,Y)|0,a=a+Math.imul(M,$)|0,n=n+Math.imul(w,Q)|0,i=(i=i+Math.imul(w,ee)|0)+Math.imul(A,Q)|0,a=a+Math.imul(A,ee)|0,n=n+Math.imul(b,er)|0,i=(i=i+Math.imul(b,en)|0)+Math.imul(g,er)|0,a=a+Math.imul(g,en)|0,n=n+Math.imul(p,ea)|0,i=(i=i+Math.imul(p,es)|0)+Math.imul(y,ea)|0,a=a+Math.imul(y,es)|0;var ex=(l+(n=n+Math.imul(d,eu)|0)|0)+((8191&(i=(i=i+Math.imul(d,el)|0)+Math.imul(f,eu)|0))<<13)|0;l=((a=a+Math.imul(f,el)|0)+(i>>>13)|0)+(ex>>>26)|0,ex&=67108863,n=Math.imul(N,H),i=(i=Math.imul(N,G))+Math.imul(R,H)|0,a=Math.imul(R,G),n=n+Math.imul(D,q)|0,i=(i=i+Math.imul(D,V)|0)+Math.imul(P,q)|0,a=a+Math.imul(P,V)|0,n=n+Math.imul(B,K)|0,i=(i=i+Math.imul(B,J)|0)+Math.imul(F,K)|0,a=a+Math.imul(F,J)|0,n=n+Math.imul(C,Y)|0,i=(i=i+Math.imul(C,$)|0)+Math.imul(_,Y)|0,a=a+Math.imul(_,$)|0,n=n+Math.imul(x,Q)|0,i=(i=i+Math.imul(x,ee)|0)+Math.imul(M,Q)|0,a=a+Math.imul(M,ee)|0,n=n+Math.imul(w,er)|0,i=(i=i+Math.imul(w,en)|0)+Math.imul(A,er)|0,a=a+Math.imul(A,en)|0,n=n+Math.imul(b,ea)|0,i=(i=i+Math.imul(b,es)|0)+Math.imul(g,ea)|0,a=a+Math.imul(g,es)|0,n=n+Math.imul(p,eu)|0,i=(i=i+Math.imul(p,el)|0)+Math.imul(y,eu)|0,a=a+Math.imul(y,el)|0;var eM=(l+(n=n+Math.imul(d,ed)|0)|0)+((8191&(i=(i=i+Math.imul(d,ef)|0)+Math.imul(f,ed)|0))<<13)|0;l=((a=a+Math.imul(f,ef)|0)+(i>>>13)|0)+(eM>>>26)|0,eM&=67108863,n=Math.imul(L,H),i=(i=Math.imul(L,G))+Math.imul(j,H)|0,a=Math.imul(j,G),n=n+Math.imul(N,q)|0,i=(i=i+Math.imul(N,V)|0)+Math.imul(R,q)|0,a=a+Math.imul(R,V)|0,n=n+Math.imul(D,K)|0,i=(i=i+Math.imul(D,J)|0)+Math.imul(P,K)|0,a=a+Math.imul(P,J)|0,n=n+Math.imul(B,Y)|0,i=(i=i+Math.imul(B,$)|0)+Math.imul(F,Y)|0,a=a+Math.imul(F,$)|0,n=n+Math.imul(C,Q)|0,i=(i=i+Math.imul(C,ee)|0)+Math.imul(_,Q)|0,a=a+Math.imul(_,ee)|0,n=n+Math.imul(x,er)|0,i=(i=i+Math.imul(x,en)|0)+Math.imul(M,er)|0,a=a+Math.imul(M,en)|0,n=n+Math.imul(w,ea)|0,i=(i=i+Math.imul(w,es)|0)+Math.imul(A,ea)|0,a=a+Math.imul(A,es)|0,n=n+Math.imul(b,eu)|0,i=(i=i+Math.imul(b,el)|0)+Math.imul(g,eu)|0,a=a+Math.imul(g,el)|0,n=n+Math.imul(p,ed)|0,i=(i=i+Math.imul(p,ef)|0)+Math.imul(y,ed)|0,a=a+Math.imul(y,ef)|0;var eT=(l+(n=n+Math.imul(d,ep)|0)|0)+((8191&(i=(i=i+Math.imul(d,ey)|0)+Math.imul(f,ep)|0))<<13)|0;l=((a=a+Math.imul(f,ey)|0)+(i>>>13)|0)+(eT>>>26)|0,eT&=67108863,n=Math.imul(L,q),i=(i=Math.imul(L,V))+Math.imul(j,q)|0,a=Math.imul(j,V),n=n+Math.imul(N,K)|0,i=(i=i+Math.imul(N,J)|0)+Math.imul(R,K)|0,a=a+Math.imul(R,J)|0,n=n+Math.imul(D,Y)|0,i=(i=i+Math.imul(D,$)|0)+Math.imul(P,Y)|0,a=a+Math.imul(P,$)|0,n=n+Math.imul(B,Q)|0,i=(i=i+Math.imul(B,ee)|0)+Math.imul(F,Q)|0,a=a+Math.imul(F,ee)|0,n=n+Math.imul(C,er)|0,i=(i=i+Math.imul(C,en)|0)+Math.imul(_,er)|0,a=a+Math.imul(_,en)|0,n=n+Math.imul(x,ea)|0,i=(i=i+Math.imul(x,es)|0)+Math.imul(M,ea)|0,a=a+Math.imul(M,es)|0,n=n+Math.imul(w,eu)|0,i=(i=i+Math.imul(w,el)|0)+Math.imul(A,eu)|0,a=a+Math.imul(A,el)|0,n=n+Math.imul(b,ed)|0,i=(i=i+Math.imul(b,ef)|0)+Math.imul(g,ed)|0,a=a+Math.imul(g,ef)|0;var eC=(l+(n=n+Math.imul(p,ep)|0)|0)+((8191&(i=(i=i+Math.imul(p,ey)|0)+Math.imul(y,ep)|0))<<13)|0;l=((a=a+Math.imul(y,ey)|0)+(i>>>13)|0)+(eC>>>26)|0,eC&=67108863,n=Math.imul(L,K),i=(i=Math.imul(L,J))+Math.imul(j,K)|0,a=Math.imul(j,J),n=n+Math.imul(N,Y)|0,i=(i=i+Math.imul(N,$)|0)+Math.imul(R,Y)|0,a=a+Math.imul(R,$)|0,n=n+Math.imul(D,Q)|0,i=(i=i+Math.imul(D,ee)|0)+Math.imul(P,Q)|0,a=a+Math.imul(P,ee)|0,n=n+Math.imul(B,er)|0,i=(i=i+Math.imul(B,en)|0)+Math.imul(F,er)|0,a=a+Math.imul(F,en)|0,n=n+Math.imul(C,ea)|0,i=(i=i+Math.imul(C,es)|0)+Math.imul(_,ea)|0,a=a+Math.imul(_,es)|0,n=n+Math.imul(x,eu)|0,i=(i=i+Math.imul(x,el)|0)+Math.imul(M,eu)|0,a=a+Math.imul(M,el)|0,n=n+Math.imul(w,ed)|0,i=(i=i+Math.imul(w,ef)|0)+Math.imul(A,ed)|0,a=a+Math.imul(A,ef)|0;var e_=(l+(n=n+Math.imul(b,ep)|0)|0)+((8191&(i=(i=i+Math.imul(b,ey)|0)+Math.imul(g,ep)|0))<<13)|0;l=((a=a+Math.imul(g,ey)|0)+(i>>>13)|0)+(e_>>>26)|0,e_&=67108863,n=Math.imul(L,Y),i=(i=Math.imul(L,$))+Math.imul(j,Y)|0,a=Math.imul(j,$),n=n+Math.imul(N,Q)|0,i=(i=i+Math.imul(N,ee)|0)+Math.imul(R,Q)|0,a=a+Math.imul(R,ee)|0,n=n+Math.imul(D,er)|0,i=(i=i+Math.imul(D,en)|0)+Math.imul(P,er)|0,a=a+Math.imul(P,en)|0,n=n+Math.imul(B,ea)|0,i=(i=i+Math.imul(B,es)|0)+Math.imul(F,ea)|0,a=a+Math.imul(F,es)|0,n=n+Math.imul(C,eu)|0,i=(i=i+Math.imul(C,el)|0)+Math.imul(_,eu)|0,a=a+Math.imul(_,el)|0,n=n+Math.imul(x,ed)|0,i=(i=i+Math.imul(x,ef)|0)+Math.imul(M,ed)|0,a=a+Math.imul(M,ef)|0;var eS=(l+(n=n+Math.imul(w,ep)|0)|0)+((8191&(i=(i=i+Math.imul(w,ey)|0)+Math.imul(A,ep)|0))<<13)|0;l=((a=a+Math.imul(A,ey)|0)+(i>>>13)|0)+(eS>>>26)|0,eS&=67108863,n=Math.imul(L,Q),i=(i=Math.imul(L,ee))+Math.imul(j,Q)|0,a=Math.imul(j,ee),n=n+Math.imul(N,er)|0,i=(i=i+Math.imul(N,en)|0)+Math.imul(R,er)|0,a=a+Math.imul(R,en)|0,n=n+Math.imul(D,ea)|0,i=(i=i+Math.imul(D,es)|0)+Math.imul(P,ea)|0,a=a+Math.imul(P,es)|0,n=n+Math.imul(B,eu)|0,i=(i=i+Math.imul(B,el)|0)+Math.imul(F,eu)|0,a=a+Math.imul(F,el)|0,n=n+Math.imul(C,ed)|0,i=(i=i+Math.imul(C,ef)|0)+Math.imul(_,ed)|0,a=a+Math.imul(_,ef)|0;var eB=(l+(n=n+Math.imul(x,ep)|0)|0)+((8191&(i=(i=i+Math.imul(x,ey)|0)+Math.imul(M,ep)|0))<<13)|0;l=((a=a+Math.imul(M,ey)|0)+(i>>>13)|0)+(eB>>>26)|0,eB&=67108863,n=Math.imul(L,er),i=(i=Math.imul(L,en))+Math.imul(j,er)|0,a=Math.imul(j,en),n=n+Math.imul(N,ea)|0,i=(i=i+Math.imul(N,es)|0)+Math.imul(R,ea)|0,a=a+Math.imul(R,es)|0,n=n+Math.imul(D,eu)|0,i=(i=i+Math.imul(D,el)|0)+Math.imul(P,eu)|0,a=a+Math.imul(P,el)|0,n=n+Math.imul(B,ed)|0,i=(i=i+Math.imul(B,ef)|0)+Math.imul(F,ed)|0,a=a+Math.imul(F,ef)|0;var eF=(l+(n=n+Math.imul(C,ep)|0)|0)+((8191&(i=(i=i+Math.imul(C,ey)|0)+Math.imul(_,ep)|0))<<13)|0;l=((a=a+Math.imul(_,ey)|0)+(i>>>13)|0)+(eF>>>26)|0,eF&=67108863,n=Math.imul(L,ea),i=(i=Math.imul(L,es))+Math.imul(j,ea)|0,a=Math.imul(j,es),n=n+Math.imul(N,eu)|0,i=(i=i+Math.imul(N,el)|0)+Math.imul(R,eu)|0,a=a+Math.imul(R,el)|0,n=n+Math.imul(D,ed)|0,i=(i=i+Math.imul(D,ef)|0)+Math.imul(P,ed)|0,a=a+Math.imul(P,ef)|0;var ek=(l+(n=n+Math.imul(B,ep)|0)|0)+((8191&(i=(i=i+Math.imul(B,ey)|0)+Math.imul(F,ep)|0))<<13)|0;l=((a=a+Math.imul(F,ey)|0)+(i>>>13)|0)+(ek>>>26)|0,ek&=67108863,n=Math.imul(L,eu),i=(i=Math.imul(L,el))+Math.imul(j,eu)|0,a=Math.imul(j,el),n=n+Math.imul(N,ed)|0,i=(i=i+Math.imul(N,ef)|0)+Math.imul(R,ed)|0,a=a+Math.imul(R,ef)|0;var eD=(l+(n=n+Math.imul(D,ep)|0)|0)+((8191&(i=(i=i+Math.imul(D,ey)|0)+Math.imul(P,ep)|0))<<13)|0;l=((a=a+Math.imul(P,ey)|0)+(i>>>13)|0)+(eD>>>26)|0,eD&=67108863,n=Math.imul(L,ed),i=(i=Math.imul(L,ef))+Math.imul(j,ed)|0,a=Math.imul(j,ef);var eP=(l+(n=n+Math.imul(N,ep)|0)|0)+((8191&(i=(i=i+Math.imul(N,ey)|0)+Math.imul(R,ep)|0))<<13)|0;l=((a=a+Math.imul(R,ey)|0)+(i>>>13)|0)+(eP>>>26)|0,eP&=67108863;var eO=(l+(n=Math.imul(L,ep))|0)+((8191&(i=(i=Math.imul(L,ey))+Math.imul(j,ep)|0))<<13)|0;return l=((a=Math.imul(j,ey))+(i>>>13)|0)+(eO>>>26)|0,eO&=67108863,u[0]=em,u[1]=eb,u[2]=eg,u[3]=ev,u[4]=ew,u[5]=eA,u[6]=eE,u[7]=ex,u[8]=eM,u[9]=eT,u[10]=eC,u[11]=e_,u[12]=eS,u[13]=eB,u[14]=eF,u[15]=ek,u[16]=eD,u[17]=eP,u[18]=eO,0!==l&&(u[19]=l,r.length++),r};function y(e,t,r){return new m().mulp(e,t,r)}function m(e,t){this.x=e,this.y=t}Math.imul||(p=h),i.prototype.mulTo=function(e,t){var r=this.length+e.length;return 10===this.length&&10===e.length?p(this,e,t):r<63?h(this,e,t):r<1024?function(e,t,r){r.negative=t.negative^e.negative,r.length=e.length+t.length;for(var n=0,i=0,a=0;a>>26)|0)>>>26,s&=67108863}r.words[a]=o,n=s,s=i}return 0!==n?r.words[a]=n:r.length--,r.strip()}(this,e,t):y(this,e,t)},m.prototype.makeRBT=function(e){for(var t=Array(e),r=i.prototype._countBits(e)-1,n=0;n>=1;return n},m.prototype.permute=function(e,t,r,n,i,a){for(var s=0;s>>=1)i++;return 1<>>=13,n[2*s+1]=8191&a,a>>>=13;for(s=2*t;s>=26,t+=(i/67108864|0)+(a>>>26),this.words[n]=67108863&a}return 0!==t&&(this.words[n]=t,this.length++),this},i.prototype.muln=function(e){return this.clone().imuln(e)},i.prototype.sqr=function(){return this.mul(this)},i.prototype.isqr=function(){return this.imul(this.clone())},i.prototype.pow=function(e){var t=function(e){for(var t=Array(e.bitLength()),r=0;r>>i}return t}(e);if(0===t.length)return new i(1);for(var r=this,n=0;n=0);var t,n=e%26,i=(e-n)/26,a=67108863>>>26-n<<26-n;if(0!==n){var s=0;for(t=0;t>>26-n}s&&(this.words[t]=s,this.length++)}if(0!==i){for(t=this.length-1;t>=0;t--)this.words[t+i]=this.words[t];for(t=0;t=0),i=t?(t-t%26)/26:0;var i,a=e%26,s=Math.min((e-a)/26,this.length),o=67108863^67108863>>>a<s)for(this.length-=s,u=0;u=0&&(0!==l||u>=i);u--){var c=0|this.words[u];this.words[u]=l<<26-a|c>>>a,l=c&o}return n&&0!==l&&(n.words[n.length++]=l),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},i.prototype.ishrn=function(e,t,n){return r(0===this.negative),this.iushrn(e,t,n)},i.prototype.shln=function(e){return this.clone().ishln(e)},i.prototype.ushln=function(e){return this.clone().iushln(e)},i.prototype.shrn=function(e){return this.clone().ishrn(e)},i.prototype.ushrn=function(e){return this.clone().iushrn(e)},i.prototype.testn=function(e){r("number"==typeof e&&e>=0);var t=e%26,n=(e-t)/26;return!(this.length<=n)&&!!(this.words[n]&1<=0);var t=e%26,n=(e-t)/26;return(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=n)?this:(0!==t&&n++,this.length=Math.min(n,this.length),0!==t&&(this.words[this.length-1]&=67108863^67108863>>>t<=67108864;t++)this.words[t]-=67108864,t===this.length-1?this.words[t+1]=1:this.words[t+1]++;return this.length=Math.max(this.length,t+1),this},i.prototype.isubn=function(e){if(r("number"==typeof e),r(e<67108864),e<0)return this.iaddn(-e);if(0!==this.negative)return this.negative=0,this.iaddn(e),this.negative=1,this;if(this.words[0]-=e,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var t=0;t>26)-(u/67108864|0),this.words[i+n]=67108863&a}for(;i>26,this.words[i+n]=67108863&a;if(0===o)return this.strip();for(r(-1===o),o=0,i=0;i>26,this.words[i]=67108863&a;return this.negative=1,this.strip()},i.prototype._wordDiv=function(e,t){var r,n=this.length-e.length,a=this.clone(),s=e,o=0|s.words[s.length-1];0!=(n=26-this._countBits(o))&&(s=s.ushln(n),a.iushln(n),o=0|s.words[s.length-1]);var u=a.length-s.length;if("mod"!==t){(r=new i(null)).length=u+1,r.words=Array(r.length);for(var l=0;l=0;d--){var f=(0|a.words[s.length+d])*67108864+(0|a.words[s.length+d-1]);for(f=Math.min(f/o|0,67108863),a._ishlnsubmul(s,f,d);0!==a.negative;)f--,a.negative=0,a._ishlnsubmul(s,1,d),a.isZero()||(a.negative^=1);r&&(r.words[d]=f)}return r&&r.strip(),a.strip(),"div"!==t&&0!==n&&a.iushrn(n),{div:r||null,mod:a}},i.prototype.divmod=function(e,t,n){var a,s,o;return(r(!e.isZero()),this.isZero())?{div:new i(0),mod:new i(0)}:0!==this.negative&&0===e.negative?(o=this.neg().divmod(e,t),"mod"!==t&&(a=o.div.neg()),"div"!==t&&(s=o.mod.neg(),n&&0!==s.negative&&s.iadd(e)),{div:a,mod:s}):0===this.negative&&0!==e.negative?(o=this.divmod(e.neg(),t),"mod"!==t&&(a=o.div.neg()),{div:a,mod:o.mod}):(this.negative&e.negative)!=0?(o=this.neg().divmod(e.neg(),t),"div"!==t&&(s=o.mod.neg(),n&&0!==s.negative&&s.isub(e)),{div:o.div,mod:s}):e.length>this.length||0>this.cmp(e)?{div:new i(0),mod:this}:1===e.length?"div"===t?{div:this.divn(e.words[0]),mod:null}:"mod"===t?{div:null,mod:new i(this.modn(e.words[0]))}:{div:this.divn(e.words[0]),mod:new i(this.modn(e.words[0]))}:this._wordDiv(e,t)},i.prototype.div=function(e){return this.divmod(e,"div",!1).div},i.prototype.mod=function(e){return this.divmod(e,"mod",!1).mod},i.prototype.umod=function(e){return this.divmod(e,"mod",!0).mod},i.prototype.divRound=function(e){var t=this.divmod(e);if(t.mod.isZero())return t.div;var r=0!==t.div.negative?t.mod.isub(e):t.mod,n=e.ushrn(1),i=e.andln(1),a=r.cmp(n);return a<0||1===i&&0===a?t.div:0!==t.div.negative?t.div.isubn(1):t.div.iaddn(1)},i.prototype.modn=function(e){r(e<=67108863);for(var t=67108864%e,n=0,i=this.length-1;i>=0;i--)n=(t*n+(0|this.words[i]))%e;return n},i.prototype.idivn=function(e){r(e<=67108863);for(var t=0,n=this.length-1;n>=0;n--){var i=(0|this.words[n])+67108864*t;this.words[n]=i/e|0,t=i%e}return this.strip()},i.prototype.divn=function(e){return this.clone().idivn(e)},i.prototype.egcd=function(e){r(0===e.negative),r(!e.isZero());var t=this,n=e.clone();t=0!==t.negative?t.umod(e):t.clone();for(var a=new i(1),s=new i(0),o=new i(0),u=new i(1),l=0;t.isEven()&&n.isEven();)t.iushrn(1),n.iushrn(1),++l;for(var c=n.clone(),d=t.clone();!t.isZero();){for(var f=0,h=1;(t.words[0]&h)==0&&f<26;++f,h<<=1);if(f>0)for(t.iushrn(f);f-- >0;)(a.isOdd()||s.isOdd())&&(a.iadd(c),s.isub(d)),a.iushrn(1),s.iushrn(1);for(var p=0,y=1;(n.words[0]&y)==0&&p<26;++p,y<<=1);if(p>0)for(n.iushrn(p);p-- >0;)(o.isOdd()||u.isOdd())&&(o.iadd(c),u.isub(d)),o.iushrn(1),u.iushrn(1);t.cmp(n)>=0?(t.isub(n),a.isub(o),s.isub(u)):(n.isub(t),o.isub(a),u.isub(s))}return{a:o,b:u,gcd:n.iushln(l)}},i.prototype._invmp=function(e){r(0===e.negative),r(!e.isZero());var t,n=this,a=e.clone();n=0!==n.negative?n.umod(e):n.clone();for(var s=new i(1),o=new i(0),u=a.clone();n.cmpn(1)>0&&a.cmpn(1)>0;){for(var l=0,c=1;(n.words[0]&c)==0&&l<26;++l,c<<=1);if(l>0)for(n.iushrn(l);l-- >0;)s.isOdd()&&s.iadd(u),s.iushrn(1);for(var d=0,f=1;(a.words[0]&f)==0&&d<26;++d,f<<=1);if(d>0)for(a.iushrn(d);d-- >0;)o.isOdd()&&o.iadd(u),o.iushrn(1);n.cmp(a)>=0?(n.isub(a),s.isub(o)):(a.isub(n),o.isub(s))}return 0>(t=0===n.cmpn(1)?s:o).cmpn(0)&&t.iadd(e),t},i.prototype.gcd=function(e){if(this.isZero())return e.abs();if(e.isZero())return this.abs();var t=this.clone(),r=e.clone();t.negative=0,r.negative=0;for(var n=0;t.isEven()&&r.isEven();n++)t.iushrn(1),r.iushrn(1);for(;;){for(;t.isEven();)t.iushrn(1);for(;r.isEven();)r.iushrn(1);var i=t.cmp(r);if(i<0){var a=t;t=r,r=a}else if(0===i||0===r.cmpn(1))break;t.isub(r)}return r.iushln(n)},i.prototype.invm=function(e){return this.egcd(e).a.umod(e)},i.prototype.isEven=function(){return(1&this.words[0])==0},i.prototype.isOdd=function(){return(1&this.words[0])==1},i.prototype.andln=function(e){return this.words[0]&e},i.prototype.bincn=function(e){r("number"==typeof e);var t=e%26,n=(e-t)/26,i=1<>>26,o&=67108863,this.words[s]=o}return 0!==a&&(this.words[s]=a,this.length++),this},i.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},i.prototype.cmpn=function(e){var t,n=e<0;if(0!==this.negative&&!n)return -1;if(0===this.negative&&n)return 1;if(this.strip(),this.length>1)t=1;else{n&&(e=-e),r(e<=67108863,"Number is too big");var i=0|this.words[0];t=i===e?0:ie.length)return 1;if(this.length=0;r--){var n=0|this.words[r],i=0|e.words[r];if(n!==i){ni&&(t=1);break}}return t},i.prototype.gtn=function(e){return 1===this.cmpn(e)},i.prototype.gt=function(e){return 1===this.cmp(e)},i.prototype.gten=function(e){return this.cmpn(e)>=0},i.prototype.gte=function(e){return this.cmp(e)>=0},i.prototype.ltn=function(e){return -1===this.cmpn(e)},i.prototype.lt=function(e){return -1===this.cmp(e)},i.prototype.lten=function(e){return 0>=this.cmpn(e)},i.prototype.lte=function(e){return 0>=this.cmp(e)},i.prototype.eqn=function(e){return 0===this.cmpn(e)},i.prototype.eq=function(e){return 0===this.cmp(e)},i.red=function(e){return new x(e)},i.prototype.toRed=function(e){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),e.convertTo(this)._forceRed(e)},i.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},i.prototype._forceRed=function(e){return this.red=e,this},i.prototype.forceRed=function(e){return r(!this.red,"Already a number in reduction context"),this._forceRed(e)},i.prototype.redAdd=function(e){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,e)},i.prototype.redIAdd=function(e){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,e)},i.prototype.redSub=function(e){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,e)},i.prototype.redISub=function(e){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,e)},i.prototype.redShl=function(e){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,e)},i.prototype.redMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.mul(this,e)},i.prototype.redIMul=function(e){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,e),this.red.imul(this,e)},i.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},i.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},i.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},i.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},i.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},i.prototype.redPow=function(e){return r(this.red&&!e.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,e)};var b={k256:null,p224:null,p192:null,p25519:null};function g(e,t){this.name=e,this.p=new i(t,16),this.n=this.p.bitLength(),this.k=new i(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){g.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function w(){g.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function A(){g.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function E(){g.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function x(e){if("string"==typeof e){var t=i._prime(e);this.m=t.p,this.prime=t}else r(e.gtn(1),"modulus must be greater than 1"),this.m=e,this.prime=null}function M(e){x.call(this,e),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new i(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}g.prototype._tmp=function(){var e=new i(null);return e.words=Array(Math.ceil(this.n/13)),e},g.prototype.ireduce=function(e){var t,r=e;do this.split(r,this.tmp),t=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength();while(t>this.n)var n=t0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},g.prototype.split=function(e,t){e.iushrn(this.n,0,t)},g.prototype.imulK=function(e){return e.imul(this.k)},n(v,g),v.prototype.split=function(e,t){for(var r=Math.min(e.length,9),n=0;n>>22,i=a}i>>>=22,e.words[n-10]=i,0===i&&e.length>10?e.length-=10:e.length-=9},v.prototype.imulK=function(e){e.words[e.length]=0,e.words[e.length+1]=0,e.length+=2;for(var t=0,r=0;r>>=26,e.words[r]=i,t=n}return 0!==t&&(e.words[e.length++]=t),e},i._prime=function(e){var t;if(b[e])return b[e];if("k256"===e)t=new v;else if("p224"===e)t=new w;else if("p192"===e)t=new A;else if("p25519"===e)t=new E;else throw Error("Unknown prime "+e);return b[e]=t,t},x.prototype._verify1=function(e){r(0===e.negative,"red works only with positives"),r(e.red,"red works only with red numbers")},x.prototype._verify2=function(e,t){r((e.negative|t.negative)==0,"red works only with positives"),r(e.red&&e.red===t.red,"red works only with red numbers")},x.prototype.imod=function(e){return this.prime?this.prime.ireduce(e)._forceRed(this):e.umod(this.m)._forceRed(this)},x.prototype.neg=function(e){return e.isZero()?e.clone():this.m.sub(e)._forceRed(this)},x.prototype.add=function(e,t){this._verify2(e,t);var r=e.add(t);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},x.prototype.iadd=function(e,t){this._verify2(e,t);var r=e.iadd(t);return r.cmp(this.m)>=0&&r.isub(this.m),r},x.prototype.sub=function(e,t){this._verify2(e,t);var r=e.sub(t);return 0>r.cmpn(0)&&r.iadd(this.m),r._forceRed(this)},x.prototype.isub=function(e,t){this._verify2(e,t);var r=e.isub(t);return 0>r.cmpn(0)&&r.iadd(this.m),r},x.prototype.shl=function(e,t){return this._verify1(e),this.imod(e.ushln(t))},x.prototype.imul=function(e,t){return this._verify2(e,t),this.imod(e.imul(t))},x.prototype.mul=function(e,t){return this._verify2(e,t),this.imod(e.mul(t))},x.prototype.isqr=function(e){return this.imul(e,e.clone())},x.prototype.sqr=function(e){return this.mul(e,e)},x.prototype.sqrt=function(e){if(e.isZero())return e.clone();var t=this.m.andln(3);if(r(t%2==1),3===t){var n=this.m.add(new i(1)).iushrn(2);return this.pow(e,n)}for(var a=this.m.subn(1),s=0;!a.isZero()&&0===a.andln(1);)s++,a.iushrn(1);r(!a.isZero());var o=new i(1).toRed(this),u=o.redNeg(),l=this.m.subn(1).iushrn(1),c=this.m.bitLength();for(c=new i(2*c*c).toRed(this);0!==this.pow(c,l).cmp(u);)c.redIAdd(u);for(var d=this.pow(c,a),f=this.pow(e,a.addn(1).iushrn(1)),h=this.pow(e,a),p=s;0!==h.cmp(o);){for(var y=h,m=0;0!==y.cmp(o);m++)y=y.redSqr();r(m=0;n--){for(var l=t.words[n],c=u-1;c>=0;c--){var d=l>>c&1;if(a!==r[0]&&(a=this.sqr(a)),0===d&&0===s){o=0;continue}s<<=1,s|=d,(4==++o||0===n&&0===c)&&(a=this.mul(a,r[s]),o=0,s=0)}u=26}return a},x.prototype.convertTo=function(e){var t=e.umod(this.m);return t===e?t.clone():t},x.prototype.convertFrom=function(e){var t=e.clone();return t.red=null,t},i.mont=function(e){return new M(e)},n(M,x),M.prototype.convertTo=function(e){return this.imod(e.ushln(this.shift))},M.prototype.convertFrom=function(e){var t=this.imod(e.mul(this.rinv));return t.red=null,t},M.prototype.imul=function(e,t){if(e.isZero()||t.isZero())return e.words[0]=0,e.length=1,e;var r=e.imul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),i=r.isub(n).iushrn(this.shift),a=i;return i.cmp(this.m)>=0?a=i.isub(this.m):0>i.cmpn(0)&&(a=i.iadd(this.m)),a._forceRed(this)},M.prototype.mul=function(e,t){if(e.isZero()||t.isZero())return new i(0)._forceRed(this);var r=e.mul(t),n=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),a=r.isub(n).iushrn(this.shift),s=a;return a.cmp(this.m)>=0?s=a.isub(this.m):0>a.cmpn(0)&&(s=a.iadd(this.m)),s._forceRed(this)},M.prototype.invm=function(e){return this.imod(e._invmp(this.m).mul(this.r2))._forceRed(this)}}(e,this)}),a.register("koC21",function(e,t){function r(e,t){if(!e)throw Error(t||"Assertion failed")}e.exports=r,r.equal=function(e,t,r){if(e!=t)throw Error(r||"Assertion failed: "+e+" != "+t)}}),a.register("lC4vN",function(e,t){"use strict";var r=e.exports;function n(e){return 1===e.length?"0"+e:e}function i(e){for(var t="",r=0;r>8,s=255&i;a?r.push(a,s):r.push(s)}return r},r.zero2=n,r.toHex=i,r.encode=function(e,t){return"hex"===t?i(e):e}}),a.register("7JHF0",function(e,t){var r;function n(e){this.rand=e}if(e.exports=function(e){return r||(r=new n(null)),r.generate(e)},e.exports.Rand=n,n.prototype.generate=function(e){return this._rand(e)},n.prototype._rand=function(e){if(this.rand.getBytes)return this.rand.getBytes(e);for(var t=new Uint8Array(e),r=0;r0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function l(e,t){this.curve=e,this.type=t,this.precomputed=null}e.exports=u,u.prototype.point=function(){throw Error("Not implemented")},u.prototype.validate=function(){throw Error("Not implemented")},u.prototype._fixedNafMul=function(e,t){o(e.precomputed);var r,n,a=e._getDoubles(),s=i(t,1,this._bitLength),u=(1<=r;c--)n=(n<<1)+s[c];l.push(n)}for(var d=this.jpoint(null,null,null),f=this.jpoint(null,null,null),h=u;h>0;h--){for(r=0;r=0;l--){for(var c=0;l>=0&&0===s[l];l--)c++;if(l>=0&&c++,u=u.dblp(c),l<0)break;var d=s[l];o(0!==d),u="affine"===e.type?d>0?u.mixedAdd(a[d-1>>1]):u.mixedAdd(a[-d-1>>1].neg()):d>0?u.add(a[d-1>>1]):u.add(a[-d-1>>1].neg())}return"affine"===e.type?u.toP():u},u.prototype._wnafMulAdd=function(e,t,r,n,a){var o,u,l,c=this._wnafT1,d=this._wnafT2,f=this._wnafT3,h=0;for(o=0;o=1;o-=2){var y=o-1,m=o;if(1!==c[y]||1!==c[m]){f[y]=i(r[y],c[y],this._bitLength),f[m]=i(r[m],c[m],this._bitLength),h=Math.max(f[y].length,h),h=Math.max(f[m].length,h);continue}var b=[t[y],null,null,t[m]];0===t[y].y.cmp(t[m].y)?(b[1]=t[y].add(t[m]),b[2]=t[y].toJ().mixedAdd(t[m].neg())):0===t[y].y.cmp(t[m].y.redNeg())?(b[1]=t[y].toJ().mixedAdd(t[m]),b[2]=t[y].add(t[m].neg())):(b[1]=t[y].toJ().mixedAdd(t[m]),b[2]=t[y].toJ().mixedAdd(t[m].neg()));var g=[-3,-1,-5,-7,0,7,5,1,3],v=s(r[y],r[m]);for(u=0,h=Math.max(v[0].length,h),f[y]=Array(h),f[m]=Array(h);u=0;o--){for(var M=0;o>=0;){var T=!0;for(u=0;u=0&&M++,E=E.dblp(M),o<0)break;for(u=0;u0?l=d[u][C-1>>1]:C<0&&(l=d[u][-C-1>>1].neg()),E="affine"===l.type?E.mixedAdd(l):E.add(l))}}for(o=0;o=Math.ceil((e.bitLength()+1)/t.step)},l.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;ia[0].cmp(a[1])?a[0]:a[1]).toRed(this.red)}if(e.lambda)r=new n(e.lambda,16);else{var s=this._getEndoRoots(this.n);0===this.g.mul(s[0]).x.cmp(this.g.x.redMul(t))?r=s[0]:(r=s[1],o(0===this.g.mul(r).x.cmp(this.g.x.redMul(t))))}return i=e.basis?e.basis.map(function(e){return{a:new n(e.a,16),b:new n(e.b,16)}}):this._getEndoBasis(r),{beta:t,lambda:r,basis:i}}},u.prototype._getEndoRoots=function(e){var t=e===this.p?this.red:n.mont(e),r=new n(2).toRed(t).redInvm(),i=r.redNeg(),a=new n(3).toRed(t).redNeg().redSqrt().redMul(r);return[i.redAdd(a).fromRed(),i.redSub(a).fromRed()]},u.prototype._getEndoBasis=function(e){for(var t,r,i,a,s,o,u,l,c,d=this.n.ushrn(Math.floor(this.n.bitLength()/2)),f=e,h=this.n.clone(),p=new n(1),y=new n(0),m=new n(0),b=new n(1),g=0;0!==f.cmpn(0);){var v=h.div(f);l=h.sub(v.mul(f)),c=m.sub(v.mul(p));var w=b.sub(v.mul(y));if(!i&&0>l.cmp(d))t=u.neg(),r=p,i=l.neg(),a=c;else if(i&&2==++g)break;u=l,h=f,f=l,m=p,p=c,b=y,y=w}s=l.neg(),o=c;var A=i.sqr().add(a.sqr());return s.sqr().add(o.sqr()).cmp(A)>=0&&(s=t,o=r),i.negative&&(i=i.neg(),a=a.neg()),s.negative&&(s=s.neg(),o=o.neg()),[{a:i,b:a},{a:s,b:o}]},u.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),a=r.b.neg().mul(e).divRound(this.n),s=i.mul(r.a),o=a.mul(n.a),u=i.mul(r.b),l=a.mul(n.b);return{k1:e.sub(s).sub(o),k2:u.add(l).neg()}},u.prototype.pointFromX=function(e,t){(e=new n(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).cmp(this.zero))throw Error("invalid point");var a=i.fromRed().isOdd();return(t&&!a||!t&&a)&&(i=i.redNeg()),this.point(e,i)},u.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},u.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,a=0;a":""},l.prototype.isInfinity=function(){return this.inf},l.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e)||0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},l.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),a=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,s)},l.prototype.getX=function(){return this.x.fromRed()},l.prototype.getY=function(){return this.y.fromRed()},l.prototype.mul=function(e){return(e=new n(e,16),this.isInfinity())?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},l.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},l.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},l.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},l.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},l.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},i(c,s.BasePoint),u.prototype.jpoint=function(e,t,r){return new c(this,e,t,r)},c.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},c.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},c.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),a=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(r.redMul(this.z)),o=n.redSub(i),u=a.redSub(s);if(0===o.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=o.redSqr(),c=l.redMul(o),d=n.redMul(l),f=u.redSqr().redIAdd(c).redISub(d).redISub(d),h=u.redMul(d.redISub(f)).redISub(a.redMul(c)),p=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(f,h,p)},c.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,a=e.y.redMul(t).redMul(this.z),s=r.redSub(n),o=i.redSub(a);if(0===s.cmpn(0))return 0!==o.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),l=u.redMul(s),c=r.redMul(u),d=o.redSqr().redIAdd(l).redISub(c).redISub(c),f=o.redMul(c.redISub(d)).redISub(i.redMul(l)),h=this.z.redMul(s);return this.curve.jpoint(d,f,h)},c.prototype.dblp=function(e){if(0===e||this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){var t,r=this;for(t=0;t=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},c.prototype.inspect=function(){return this.isInfinity()?"":""},c.prototype.isInfinity=function(){return 0===this.z.cmpn(0)}}),a.register("av2Yx",function(e,t){"use strict";var r=a("jX0xT"),n=a("dlqwk"),i=a("hSu7V"),s=a("gEVtY");function o(e){i.call(this,"mont",e),this.a=new r(e.a,16).toRed(this.red),this.b=new r(e.b,16).toRed(this.red),this.i4=new r(4).toRed(this.red).redInvm(),this.two=new r(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}function u(e,t,n){i.BasePoint.call(this,e,"projective"),null===t&&null===n?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new r(t,16),this.z=new r(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}n(o,i),e.exports=o,o.prototype.validate=function(e){var t=e.normalize().x,r=t.redSqr(),n=r.redMul(t).redAdd(r.redMul(this.a)).redAdd(t);return 0===n.redSqrt().redSqr().cmp(n)},n(u,i.BasePoint),o.prototype.decodePoint=function(e,t){return this.point(s.toArray(e,t),1)},o.prototype.point=function(e,t){return new u(this,e,t)},o.prototype.pointFromJSON=function(e){return u.fromJSON(this,e)},u.prototype.precompute=function(){},u.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},u.fromJSON=function(e,t){return new u(e,t[0],t[1]||e.one)},u.prototype.inspect=function(){return this.isInfinity()?"":""},u.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},u.prototype.dbl=function(){var e=this.x.redAdd(this.z).redSqr(),t=this.x.redSub(this.z).redSqr(),r=e.redSub(t),n=e.redMul(t),i=r.redMul(t.redAdd(this.curve.a24.redMul(r)));return this.curve.point(n,i)},u.prototype.add=function(){throw Error("Not supported on Montgomery curve")},u.prototype.diffAdd=function(e,t){var r=this.x.redAdd(this.z),n=this.x.redSub(this.z),i=e.x.redAdd(e.z),a=e.x.redSub(e.z).redMul(r),s=i.redMul(n),o=t.z.redMul(a.redAdd(s).redSqr()),u=t.x.redMul(a.redISub(s).redSqr());return this.curve.point(o,u)},u.prototype.mul=function(e){for(var t=e.clone(),r=this,n=this.curve.point(null,null),i=[];0!==t.cmpn(0);t.iushrn(1))i.push(t.andln(1));for(var a=i.length-1;a>=0;a--)0===i[a]?(r=r.diffAdd(n,this),n=n.dbl()):(n=r.diffAdd(n,this),r=r.dbl());return n},u.prototype.mulAdd=function(){throw Error("Not supported on Montgomery curve")},u.prototype.jumlAdd=function(){throw Error("Not supported on Montgomery curve")},u.prototype.eq=function(e){return 0===this.getX().cmp(e.getX())},u.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},u.prototype.getX=function(){return this.normalize(),this.x.fromRed()}}),a.register("dqmX9",function(e,t){"use strict";var r=a("gEVtY"),n=a("jX0xT"),i=a("dlqwk"),s=a("hSu7V"),o=r.assert;function u(e){this.twisted=(0|e.a)!=1,this.mOneA=this.twisted&&(0|e.a)==-1,this.extended=this.mOneA,s.call(this,"edwards",e),this.a=new n(e.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new n(e.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new n(e.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),o(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=(0|e.c)==1}function l(e,t,r,i,a){s.BasePoint.call(this,e,"projective"),null===t&&null===r&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new n(t,16),this.y=new n(r,16),this.z=i?new n(i,16):this.curve.one,this.t=a&&new n(a,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,!this.curve.extended||this.t||(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}i(u,s),e.exports=u,u.prototype._mulA=function(e){return this.mOneA?e.redNeg():this.a.redMul(e)},u.prototype._mulC=function(e){return this.oneC?e:this.c.redMul(e)},u.prototype.jpoint=function(e,t,r,n){return this.point(e,t,r,n)},u.prototype.pointFromX=function(e,t){(e=new n(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),i=this.c2.redSub(this.a.redMul(r)),a=this.one.redSub(this.c2.redMul(this.d).redMul(r)),s=i.redMul(a.redInvm()),o=s.redSqrt();if(0!==o.redSqr().redSub(s).cmp(this.zero))throw Error("invalid point");var u=o.fromRed().isOdd();return(t&&!u||!t&&u)&&(o=o.redNeg()),this.point(e,o)},u.prototype.pointFromY=function(e,t){(e=new n(e,16)).red||(e=e.toRed(this.red));var r=e.redSqr(),i=r.redSub(this.c2),a=r.redMul(this.d).redMul(this.c2).redSub(this.a),s=i.redMul(a.redInvm());if(0===s.cmp(this.zero)){if(!t)return this.point(this.zero,e);throw Error("invalid point")}var o=s.redSqrt();if(0!==o.redSqr().redSub(s).cmp(this.zero))throw Error("invalid point");return o.fromRed().isOdd()!==t&&(o=o.redNeg()),this.point(o,e)},u.prototype.validate=function(e){if(e.isInfinity())return!0;e.normalize();var t=e.x.redSqr(),r=e.y.redSqr(),n=t.redMul(this.a).redAdd(r),i=this.c2.redMul(this.one.redAdd(this.d.redMul(t).redMul(r)));return 0===n.cmp(i)},i(l,s.BasePoint),u.prototype.pointFromJSON=function(e){return l.fromJSON(this,e)},u.prototype.point=function(e,t,r,n){return new l(this,e,t,r,n)},l.fromJSON=function(e,t){return new l(e,t[0],t[1],t[2])},l.prototype.inspect=function(){return this.isInfinity()?"":""},l.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},l.prototype._extDbl=function(){var e=this.x.redSqr(),t=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var n=this.curve._mulA(e),i=this.x.redAdd(this.y).redSqr().redISub(e).redISub(t),a=n.redAdd(t),s=a.redSub(r),o=n.redSub(t),u=i.redMul(s),l=a.redMul(o),c=i.redMul(o),d=s.redMul(a);return this.curve.point(u,l,d,c)},l.prototype._projDbl=function(){var e,t,r,n,i,a,s=this.x.redAdd(this.y).redSqr(),o=this.x.redSqr(),u=this.y.redSqr();if(this.curve.twisted){var l=(n=this.curve._mulA(o)).redAdd(u);this.zOne?(e=s.redSub(o).redSub(u).redMul(l.redSub(this.curve.two)),t=l.redMul(n.redSub(u)),r=l.redSqr().redSub(l).redSub(l)):(i=this.z.redSqr(),a=l.redSub(i).redISub(i),e=s.redSub(o).redISub(u).redMul(a),t=l.redMul(n.redSub(u)),r=l.redMul(a))}else n=o.redAdd(u),i=this.curve._mulC(this.z).redSqr(),a=n.redSub(i).redSub(i),e=this.curve._mulC(s.redISub(n)).redMul(a),t=this.curve._mulC(n).redMul(o.redISub(u)),r=n.redMul(a);return this.curve.point(e,t,r)},l.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},l.prototype._extAdd=function(e){var t=this.y.redSub(this.x).redMul(e.y.redSub(e.x)),r=this.y.redAdd(this.x).redMul(e.y.redAdd(e.x)),n=this.t.redMul(this.curve.dd).redMul(e.t),i=this.z.redMul(e.z.redAdd(e.z)),a=r.redSub(t),s=i.redSub(n),o=i.redAdd(n),u=r.redAdd(t),l=a.redMul(s),c=o.redMul(u),d=a.redMul(u),f=s.redMul(o);return this.curve.point(l,c,f,d)},l.prototype._projAdd=function(e){var t,r,n=this.z.redMul(e.z),i=n.redSqr(),a=this.x.redMul(e.x),s=this.y.redMul(e.y),o=this.curve.d.redMul(a).redMul(s),u=i.redSub(o),l=i.redAdd(o),c=this.x.redAdd(this.y).redMul(e.x.redAdd(e.y)).redISub(a).redISub(s),d=n.redMul(u).redMul(c);return this.curve.twisted?(t=n.redMul(l).redMul(s.redSub(this.curve._mulA(a))),r=u.redMul(l)):(t=n.redMul(l).redMul(s.redSub(a)),r=this.curve._mulC(u).redMul(l)),this.curve.point(d,t,r)},l.prototype.add=function(e){return this.isInfinity()?e:e.isInfinity()?this:this.curve.extended?this._extAdd(e):this._projAdd(e)},l.prototype.mul=function(e){return this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve._wnafMul(this,e)},l.prototype.mulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!1)},l.prototype.jmulAdd=function(e,t,r){return this.curve._wnafMulAdd(1,[this,t],[e,r],2,!0)},l.prototype.normalize=function(){if(this.zOne)return this;var e=this.z.redInvm();return this.x=this.x.redMul(e),this.y=this.y.redMul(e),this.t&&(this.t=this.t.redMul(e)),this.z=this.curve.one,this.zOne=!0,this},l.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},l.prototype.getX=function(){return this.normalize(),this.x.fromRed()},l.prototype.getY=function(){return this.normalize(),this.y.fromRed()},l.prototype.eq=function(e){return this===e||0===this.getX().cmp(e.getX())&&0===this.getY().cmp(e.getY())},l.prototype.eqXToP=function(e){var t=e.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(t))return!0;for(var r=e.clone(),n=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(t.redIAdd(n),0===this.x.cmp(t))return!0}},l.prototype.toP=l.prototype.normalize,l.prototype.mixedAdd=l.prototype.add}),a.register("fbTbW",function(e,t){"use strict";var r,n=e.exports,i=a("kiSKt"),s=a("cP1GP"),o=a("gEVtY").assert;function u(e){"short"===e.type?this.curve=new s.short(e):"edwards"===e.type?this.curve=new s.edwards(e):this.curve=new s.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,o(this.g.validate(),"Invalid curve"),o(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function l(e,t){Object.defineProperty(n,e,{configurable:!0,enumerable:!0,get:function(){var r=new u(t);return Object.defineProperty(n,e,{configurable:!0,enumerable:!0,value:r}),r}})}n.PresetCurve=u,l("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:i.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),l("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:i.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),l("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:i.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),l("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:i.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),l("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:i.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),l("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:i.sha256,gRed:!1,g:["9"]}),l("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:i.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{r=a("lNVWe")}catch(e){r=void 0}l("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:i.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",r]})}),a.register("kiSKt",function(e,t){var r=e.exports;r.utils=a("btcbI"),r.common=a("aAb7n"),r.sha=a("2wnQk"),r.ripemd=a("05eZB"),r.hmac=a("ap2lu"),r.sha1=r.sha.sha1,r.sha256=r.sha.sha256,r.sha224=r.sha.sha224,r.sha384=r.sha.sha384,r.sha512=r.sha.sha512,r.ripemd160=r.ripemd.ripemd160}),a.register("btcbI",function(t,r){"use strict";e(t.exports,"inherits",()=>n,e=>n=e),e(t.exports,"toArray",()=>i,e=>i=e),e(t.exports,"toHex",()=>s,e=>s=e),e(t.exports,"htonl",()=>o,e=>o=e),e(t.exports,"toHex32",()=>u,e=>u=e),e(t.exports,"zero2",()=>l,e=>l=e),e(t.exports,"zero8",()=>c,e=>c=e),e(t.exports,"join32",()=>d,e=>d=e),e(t.exports,"split32",()=>f,e=>f=e),e(t.exports,"rotr32",()=>h,e=>h=e),e(t.exports,"rotl32",()=>p,e=>p=e),e(t.exports,"sum32",()=>y,e=>y=e),e(t.exports,"sum32_3",()=>m,e=>m=e),e(t.exports,"sum32_4",()=>b,e=>b=e),e(t.exports,"sum32_5",()=>g,e=>g=e),e(t.exports,"sum64",()=>v,e=>v=e),e(t.exports,"sum64_hi",()=>w,e=>w=e),e(t.exports,"sum64_lo",()=>A,e=>A=e),e(t.exports,"sum64_4_hi",()=>E,e=>E=e),e(t.exports,"sum64_4_lo",()=>x,e=>x=e),e(t.exports,"sum64_5_hi",()=>M,e=>M=e),e(t.exports,"sum64_5_lo",()=>T,e=>T=e),e(t.exports,"rotr64_hi",()=>C,e=>C=e),e(t.exports,"rotr64_lo",()=>_,e=>_=e),e(t.exports,"shr64_hi",()=>S,e=>S=e),e(t.exports,"shr64_lo",()=>B,e=>B=e);var n,i,s,o,u,l,c,d,f,h,p,y,m,b,g,v,w,A,E,x,M,T,C,_,S,B,F=a("koC21");function k(e){return(e>>>24|e>>>8&65280|e<<8&16711680|(255&e)<<24)>>>0}function D(e){return 1===e.length?"0"+e:e}function P(e){if(7===e.length)return"0"+e;if(6===e.length)return"00"+e;if(5===e.length)return"000"+e;if(4===e.length)return"0000"+e;if(3===e.length)return"00000"+e;if(2===e.length)return"000000"+e;if(1===e.length)return"0000000"+e;else return e}n=a("dlqwk"),i=function(e,t){if(Array.isArray(e))return e.slice();if(!e)return[];var r=[];if("string"==typeof e){if(t){if("hex"===t)for((e=e.replace(/[^a-z0-9]+/ig,"")).length%2!=0&&(e="0"+e),i=0;i>6|192,r[n++]=63&o|128):(a=e,s=i,(64512&a.charCodeAt(s))!=55296||s<0||s+1>=a.length?1:(64512&a.charCodeAt(s+1))!=56320)?(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=63&o|128):(o=65536+((1023&o)<<10)+(1023&e.charCodeAt(++i)),r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=63&o|128)}}else for(i=0;i>>0;return s},f=function(e,t){for(var r=Array(4*e.length),n=0,i=0;n>>24,r[i+1]=a>>>16&255,r[i+2]=a>>>8&255,r[i+3]=255&a):(r[i+3]=a>>>24,r[i+2]=a>>>16&255,r[i+1]=a>>>8&255,r[i]=255&a)}return r},h=function(e,t){return e>>>t|e<<32-t},p=function(e,t){return e<>>32-t},y=function(e,t){return e+t>>>0},m=function(e,t,r){return e+t+r>>>0},b=function(e,t,r,n){return e+t+r+n>>>0},g=function(e,t,r,n,i){return e+t+r+n+i>>>0},v=function(e,t,r,n){var i=e[t],a=n+e[t+1]>>>0;e[t]=(a>>0,e[t+1]=a},w=function(e,t,r,n){return(t+n>>>0>>0},A=function(e,t,r,n){return t+n>>>0},E=function(e,t,r,n,i,a,s,o){var u,l=t;return e+r+i+s+(0+((l=l+n>>>0)>>0)>>0)>>0},x=function(e,t,r,n,i,a,s,o){return t+n+a+o>>>0},M=function(e,t,r,n,i,a,s,o,u,l){var c,d=t;return e+r+i+s+u+(0+((d=d+n>>>0)>>0)>>0)>>0)>>0},T=function(e,t,r,n,i,a,s,o,u,l){return t+n+a+o+l>>>0},C=function(e,t,r){return(t<<32-r|e>>>r)>>>0},_=function(e,t,r){return(e<<32-r|t>>>r)>>>0},S=function(e,t,r){return e>>>r},B=function(e,t,r){return(e<<32-r|t>>>r)>>>0}}),a.register("aAb7n",function(t,r){"use strict";e(t.exports,"BlockHash",()=>n,e=>n=e);var n,i=a("btcbI"),s=a("koC21");function o(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}n=o,o.prototype.update=function(e,t){if(e=i.toArray(e,t),this.pending?this.pending=this.pending.concat(e):this.pending=e,this.pendingTotal+=e.length,this.pending.length>=this._delta8){var r=(e=this.pending).length%this._delta8;this.pending=e.slice(e.length-r,e.length),0===this.pending.length&&(this.pending=null),e=i.join32(e,0,e.length-r,this.endian);for(var n=0;n>>24&255,n[i++]=e>>>16&255,n[i++]=e>>>8&255,n[i++]=255&e}else for(a=8,n[i++]=255&e,n[i++]=e>>>8&255,n[i++]=e>>>16&255,n[i++]=e>>>24&255,n[i++]=0,n[i++]=0,n[i++]=0,n[i++]=0;an,e=>n=e),e(t.exports,"sha224",()=>i,e=>i=e),e(t.exports,"sha256",()=>s,e=>s=e),e(t.exports,"sha384",()=>o,e=>o=e),e(t.exports,"sha512",()=>u,e=>u=e),n=a("IUW6G"),i=a("gBE2w"),s=a("a9EzX"),o=a("7j4cV"),u=a("lMBCM")}),a.register("IUW6G",function(e,t){"use strict";var r=a("btcbI"),n=a("aAb7n"),i=a("dV8oa"),s=r.rotl32,o=r.sum32,u=r.sum32_5,l=i.ft_1,c=n.BlockHash,d=[1518500249,1859775393,2400959708,3395469782];function f(){if(!(this instanceof f))return new f;c.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=Array(80)}r.inherits(f,c),e.exports=f,f.blockSize=512,f.outSize=160,f.hmacStrength=80,f.padLength=64,f.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;nn,e=>n=e),e(t.exports,"ch32",()=>i,e=>i=e),e(t.exports,"maj32",()=>s,e=>s=e),e(t.exports,"s0_256",()=>o,e=>o=e),e(t.exports,"s1_256",()=>u,e=>u=e),e(t.exports,"g0_256",()=>l,e=>l=e),e(t.exports,"g1_256",()=>c,e=>c=e);var n,i,s,o,u,l,c,d=a("btcbI").rotr32;function f(e,t,r){return e&t^e&r^t&r}n=function(e,t,r,n){return 0===e?t&r^~t&n:1===e||3===e?t^r^n:2===e?f(t,r,n):void 0},i=function(e,t,r){return e&t^~e&r},s=f,o=function(e){return d(e,2)^d(e,13)^d(e,22)},u=function(e){return d(e,6)^d(e,11)^d(e,25)},l=function(e){return d(e,7)^d(e,18)^e>>>3},c=function(e){return d(e,17)^d(e,19)^e>>>10}}),a.register("gBE2w",function(e,t){"use strict";var r=a("btcbI"),n=a("a9EzX");function i(){if(!(this instanceof i))return new i;n.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}r.inherits(i,n),e.exports=i,i.blockSize=512,i.outSize=224,i.hmacStrength=192,i.padLength=64,i.prototype._digest=function(e){return"hex"===e?r.toHex32(this.h.slice(0,7),"big"):r.split32(this.h.slice(0,7),"big")}}),a.register("a9EzX",function(e,t){"use strict";var r=a("btcbI"),n=a("aAb7n"),i=a("dV8oa"),s=a("koC21"),o=r.sum32,u=r.sum32_4,l=r.sum32_5,c=i.ch32,d=i.maj32,f=i.s0_256,h=i.s1_256,p=i.g0_256,y=i.g1_256,m=n.BlockHash,b=[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];function g(){if(!(this instanceof g))return new g;m.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=b,this.W=Array(64)}r.inherits(g,m),e.exports=g,g.blockSize=512,g.outSize=256,g.hmacStrength=192,g.padLength=64,g.prototype._update=function(e,t){for(var r=this.W,n=0;n<16;n++)r[n]=e[t+n];for(;nn,e=>n=e);var n,i=a("btcbI"),s=a("aAb7n"),o=i.rotl32,u=i.sum32,l=i.sum32_3,c=i.sum32_4,d=s.BlockHash;function f(){if(!(this instanceof f))return new f;d.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function h(e,t,r,n){return e<=15?t^r^n:e<=31?t&r|~t&n:e<=47?(t|~r)^n:e<=63?t&n|r&~n:t^(r|~n)}i.inherits(f,d),n=f,f.blockSize=512,f.outSize=160,f.hmacStrength=192,f.padLength=64,f.prototype._update=function(e,t){for(var r=this.h[0],n=this.h[1],i=this.h[2],a=this.h[3],s=this.h[4],d=r,f=n,g=i,v=a,w=s,A=0;A<80;A++){var E,x,M=u(o(c(r,h(A,n,i,a),e[p[A]+t],(E=A)<=15?0:E<=31?1518500249:E<=47?1859775393:E<=63?2400959708:2840853838),m[A]),s);r=s,s=a,a=o(i,10),i=n,n=M,M=u(o(c(d,h(79-A,f,g,v),e[y[A]+t],(x=A)<=15?1352829926:x<=31?1548603684:x<=47?1836072691:x<=63?2053994217:0),b[A]),w),d=w,w=v,v=o(g,10),g=f,f=M}M=l(this.h[1],i,v),this.h[1]=l(this.h[2],a,w),this.h[2]=l(this.h[3],s,d),this.h[3]=l(this.h[4],r,f),this.h[4]=l(this.h[0],n,g),this.h[0]=M},f.prototype._digest=function(e){return"hex"===e?i.toHex32(this.h,"little"):i.split32(this.h,"little")};var p=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],y=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],m=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],b=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11]}),a.register("ap2lu",function(e,t){"use strict";var r=a("btcbI"),n=a("koC21");function i(e,t,n){if(!(this instanceof i))return new i(e,t,n);this.Hash=e,this.blockSize=e.blockSize/8,this.outSize=e.outSize/8,this.inner=null,this.outer=null,this._init(r.toArray(t,n))}e.exports=i,i.prototype._init=function(e){e.length>this.blockSize&&(e=new this.Hash().update(e).digest()),n(e.length<=this.blockSize);for(var t=e.length;t0))return s.iaddn(1),this.keyFromPrivate(s)}},d.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return(r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0)?e.sub(this.n):e},d.prototype.sign=function(e,t,i,a){"object"==typeof i&&(a=i,i=null),a||(a={}),t=this.keyFromPrivate(t,i),e=this._truncateToN(new r(e,16));for(var s=this.n.byteLength(),o=t.getPrivate().toArray("be",s),u=e.toArray("be",s),l=new n({hash:this.hash,entropy:o,nonce:u,pers:a.pers,persEnc:a.persEnc||"utf8"}),d=this.n.sub(new r(1)),f=0;;f++){var h=a.k?a.k(f):new r(l.generate(this.n.byteLength()));if(!(0>=(h=this._truncateToN(h,!0)).cmpn(1)||h.cmp(d)>=0)){var p=this.g.mul(h);if(!p.isInfinity()){var y=p.getX(),m=y.umod(this.n);if(0!==m.cmpn(0)){var b=h.invm(this.n).mul(m.mul(t.getPrivate()).iadd(e));if(0!==(b=b.umod(this.n)).cmpn(0)){var g=(p.getY().isOdd()?1:0)|(0!==y.cmp(m)?2:0);return a.canonical&&b.cmp(this.nh)>0&&(b=this.n.sub(b),g^=1),new c({r:m,s:b,recoveryParam:g})}}}}}},d.prototype.verify=function(e,t,n,i){e=this._truncateToN(new r(e,16)),n=this.keyFromPublic(n,i);var a,s=(t=new c(t,"hex")).r,o=t.s;if(0>s.cmpn(1)||s.cmp(this.n)>=0||0>o.cmpn(1)||o.cmp(this.n)>=0)return!1;var u=o.invm(this.n),l=u.mul(e).umod(this.n),d=u.mul(s).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(l,n.getPublic(),d)).isInfinity()&&a.eqXToP(s):!(a=this.g.mulAdd(l,n.getPublic(),d)).isInfinity()&&0===a.getX().umod(this.n).cmp(s)},d.prototype.recoverPubKey=function(e,t,n,i){u((3&n)===n,"The recovery param is more than two bits"),t=new c(t,i);var a=this.n,s=new r(e),o=t.r,l=t.s,d=1&n,f=n>>1;if(o.cmp(this.curve.p.umod(this.curve.n))>=0&&f)throw Error("Unable to find sencond key candinate");o=f?this.curve.pointFromX(o.add(this.curve.n),d):this.curve.pointFromX(o,d);var h=t.r.invm(a),p=a.sub(s).mul(h).umod(a),y=l.mul(h).umod(a);return this.g.mulAdd(p,o,y)},d.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new c(t,n)).recoveryParam)return t.recoveryParam;for(var i,a=0;a<4;a++){try{i=this.recoverPubKey(e,t,a)}catch(e){continue}if(i.eq(r))return a}throw Error("Unable to find valid recovery factor")}}),a.register("kKonu",function(e,t){"use strict";var r=a("kiSKt"),n=a("lC4vN"),i=a("koC21");function s(e){if(!(this instanceof s))return new s(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=n.toArray(e.entropy,e.entropyEnc||"hex"),r=n.toArray(e.nonce,e.nonceEnc||"hex"),a=n.toArray(e.pers,e.persEnc||"hex");i(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,a)}e.exports=s,s.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},s.prototype.generate=function(e,t,r,i){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");"string"!=typeof t&&(i=r,r=t,t=null),r&&(r=n.toArray(r,i||"hex"),this._update(r));for(var a=[];a.length"}}),a.register("i46nc",function(e,t){"use strict";var r=a("jX0xT"),n=a("gEVtY"),i=n.assert;function s(e,t){if(e instanceof s)return e;this._importDER(e,t)||(i(e.r&&e.s,"Signature without r or s"),this.r=new r(e.r,16),this.s=new r(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function o(){this.place=0}function u(e,t){var r=e[t.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,a=0,s=t.place;a>>=0;return!(i<=127)&&(t.place=s,i)}function l(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}e.exports=s,s.prototype._importDER=function(e,t){e=n.toArray(e,t);var i=new o;if(48!==e[i.place++])return!1;var a=u(e,i);if(!1===a||a+i.place!==e.length||2!==e[i.place++])return!1;var s=u(e,i);if(!1===s)return!1;var l=e.slice(i.place,s+i.place);if(i.place+=s,2!==e[i.place++])return!1;var c=u(e,i);if(!1===c||e.length!==c+i.place)return!1;var d=e.slice(i.place,c+i.place);if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}if(0===d[0]){if(!(128&d[1]))return!1;d=d.slice(1)}return this.r=new r(l),this.s=new r(d),this.recoveryParam=null,!0},s.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=l(t),r=l(r);!r[0]&&!(128&r[1]);)r=r.slice(1);var i=[2];c(i,t.length),(i=i.concat(t)).push(2),c(i,r.length);var a=i.concat(r),s=[48];return c(s,a.length),s=s.concat(a),n.encode(s,e)}}),a.register("esmmS",function(e,t){"use strict";var r=a("kiSKt"),n=a("fbTbW"),i=a("gEVtY"),s=i.assert,o=i.parseBytes,u=a("1D85n"),l=a("7XcGE");function c(e){if(s("ed25519"===e,"only tested with ed25519 so far"),!(this instanceof c))return new c(e);e=n[e].curve,this.curve=e,this.g=e.g,this.g.precompute(e.n.bitLength()+1),this.pointClass=e.point().constructor,this.encodingLength=Math.ceil(e.n.bitLength()/8),this.hash=r.sha512}e.exports=c,c.prototype.sign=function(e,t){e=o(e);var r=this.keyFromSecret(t),n=this.hashInt(r.messagePrefix(),e),i=this.g.mul(n),a=this.encodePoint(i),s=this.hashInt(a,r.pubBytes(),e).mul(r.priv()),u=n.add(s).umod(this.curve.n);return this.makeSignature({R:i,S:u,Rencoded:a})},c.prototype.verify=function(e,t,r){e=o(e),t=this.makeSignature(t);var n=this.keyFromPublic(r),i=this.hashInt(t.Rencoded(),n.pubBytes(),e),a=this.g.mul(t.S());return t.R().add(n.pub().mul(i)).eq(a)},c.prototype.hashInt=function(){for(var e=this.hash(),t=0;t4294967295)throw RangeError("requested too many random bytes");var r=i.allocUnsafe(e);if(e>0){if(e>65536)for(var a=0;a=0})},e.exports.toAscii=function(e){var t="",r=0,n=e.length;for("0x"===e.substring(0,2)&&(r=2);r=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},i=e.exports&&e.exports.__read||function(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,a=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)s.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return s};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.bufArrToArr=e.exports.arrToBufArr=e.exports.validateNoLeadingZeroes=e.exports.baToJSON=e.exports.toUtf8=e.exports.addHexPrefix=e.exports.toUnsigned=e.exports.fromSigned=e.exports.bufferToHex=e.exports.bufferToInt=e.exports.toBuffer=e.exports.unpadHexString=e.exports.unpadArray=e.exports.unpadBuffer=e.exports.setLengthRight=e.exports.setLengthLeft=e.exports.zeros=e.exports.intToBuffer=e.exports.intToHex=void 0;var s=a("4jhio"),o=a("aj8Qm"),u=a("7jIKp");e.exports.intToHex=function(e){if(!Number.isSafeInteger(e)||e<0)throw Error("Received an invalid integer type: ".concat(e));return"0x".concat(e.toString(16))},e.exports.intToBuffer=function(t){var n=(0,e.exports.intToHex)(t);return r.from((0,o.padToEven)(n.slice(2)),"hex")},e.exports.zeros=function(e){return r.allocUnsafe(e).fill(0)};var l=function(t,r,n){var i=(0,e.exports.zeros)(r);return n?t.length0&&"0"===t.toString();)t=(e=e.slice(1))[0];return e};e.exports.unpadBuffer=function(e){return(0,u.assertIsBuffer)(e),c(e)},e.exports.unpadArray=function(e){return(0,u.assertIsArray)(e),c(e)},e.exports.unpadHexString=function(e){return(0,u.assertIsHexString)(e),c(e=(0,o.stripHexPrefix)(e))},e.exports.toBuffer=function(t){if(null==t)return r.allocUnsafe(0);if(r.isBuffer(t)||Array.isArray(t)||t instanceof Uint8Array)return r.from(t);if("string"==typeof t){if(!(0,o.isHexString)(t))throw Error("Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: ".concat(t));return r.from((0,o.padToEven)((0,o.stripHexPrefix)(t)),"hex")}if("number"==typeof t)return(0,e.exports.intToBuffer)(t);if(s.BN.isBN(t)){if(t.isNeg())throw Error("Cannot convert negative BN to buffer. Given: ".concat(t));return t.toArrayLike(r)}if(t.toArray)return r.from(t.toArray());if(t.toBuffer)return r.from(t.toBuffer());throw Error("invalid type")},e.exports.bufferToInt=function(t){return new s.BN((0,e.exports.toBuffer)(t)).toNumber()},e.exports.bufferToHex=function(t){return"0x"+(t=(0,e.exports.toBuffer)(t)).toString("hex")},e.exports.fromSigned=function(e){return new s.BN(e).fromTwos(256)},e.exports.toUnsigned=function(e){return r.from(e.toTwos(256).toArray())},e.exports.addHexPrefix=function(e){return"string"!=typeof e?e:(0,o.isHexPrefixed)(e)?e:"0x"+e},e.exports.toUtf8=function(e){if((e=(0,o.stripHexPrefix)(e)).length%2!=0)throw Error("Invalid non-even hex string input for toUtf8() provided");return r.from(e.replace(/^(00)+|(00)+$/g,""),"hex").toString("utf8")},e.exports.baToJSON=function(t){if(r.isBuffer(t))return"0x".concat(t.toString("hex"));if(t instanceof Array){for(var n=[],i=0;i0&&0===l[0])throw Error("".concat(u," cannot have leading zeroes, received: ").concat(l.toString("hex")))}}catch(e){t={error:e}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}},e.exports.arrToBufArr=function e(t){return Array.isArray(t)?t.map(function(t){return e(t)}):r.from(t)},e.exports.bufArrToArr=function e(t){return Array.isArray(t)?t.map(function(t){return e(t)}):Uint8Array.from(null!=t?t:[])}}),a.register("7jIKp",function(e,t){var r=a("6ZWSX").Buffer;"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.assertIsString=e.exports.assertIsArray=e.exports.assertIsBuffer=e.exports.assertIsHexString=void 0;var n=a("aj8Qm");e.exports.assertIsHexString=function(e){if(!(0,n.isHexString)(e))throw Error("This method only supports 0x-prefixed hex strings but input was: ".concat(e))},e.exports.assertIsBuffer=function(e){if(!r.isBuffer(e))throw Error("This method only supports Buffer but input was: ".concat(e))},e.exports.assertIsArray=function(e){if(!Array.isArray(e))throw Error("This method only supports number arrays but input was: ".concat(e))},e.exports.assertIsString=function(e){if("string"!=typeof e)throw Error("This method only supports strings but input was: ".concat(e))}}),a.register("gKSHR",function(e,t){"use strict";var r=a("6ZWSX").Buffer;Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.rlphash=e.exports.ripemd160FromArray=e.exports.ripemd160FromString=e.exports.ripemd160=e.exports.sha256FromArray=e.exports.sha256FromString=e.exports.sha256=e.exports.keccakFromArray=e.exports.keccakFromHexString=e.exports.keccakFromString=e.exports.keccak256=e.exports.keccak=void 0;var n=a("bnmFi"),i=a("1R2J7"),s=a("4jhio"),o=a("b61lJ"),u=a("7jIKp");e.exports.keccak=function(e,t){switch(void 0===t&&(t=256),(0,u.assertIsBuffer)(e),t){case 224:return(0,n.keccak224)(e);case 256:return(0,n.keccak256)(e);case 384:return(0,n.keccak384)(e);case 512:return(0,n.keccak512)(e);default:throw Error("Invald algorithm: keccak".concat(t))}},e.exports.keccak256=function(t){return(0,e.exports.keccak)(t)},e.exports.keccakFromString=function(t,n){void 0===n&&(n=256),(0,u.assertIsString)(t);var i=r.from(t,"utf8");return(0,e.exports.keccak)(i,n)},e.exports.keccakFromHexString=function(t,r){return void 0===r&&(r=256),(0,u.assertIsHexString)(t),(0,e.exports.keccak)((0,o.toBuffer)(t),r)},e.exports.keccakFromArray=function(t,r){return void 0===r&&(r=256),(0,u.assertIsArray)(t),(0,e.exports.keccak)((0,o.toBuffer)(t),r)};var l=function(e){return e=(0,o.toBuffer)(e),i("sha256").update(e).digest()};e.exports.sha256=function(e){return(0,u.assertIsBuffer)(e),l(e)},e.exports.sha256FromString=function(e){return(0,u.assertIsString)(e),l(e)},e.exports.sha256FromArray=function(e){return(0,u.assertIsArray)(e),l(e)};var c=function(e,t){e=(0,o.toBuffer)(e);var r=i("rmd160").update(e).digest();return!0===t?(0,o.setLengthLeft)(r,32):r};e.exports.ripemd160=function(e,t){return(0,u.assertIsBuffer)(e),c(e,t)},e.exports.ripemd160FromString=function(e,t){return(0,u.assertIsString)(e),c(e,t)},e.exports.ripemd160FromArray=function(e,t){return(0,u.assertIsArray)(e),c(e,t)},e.exports.rlphash=function(t){return(0,e.exports.keccak)(s.rlp.encode(t))}}),a.register("bnmFi",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0});var r=a("7udHx"),n=a("X8PsT");e.exports.keccak224=r.createHashFunction(function(){return n("keccak224")}),e.exports.keccak256=r.createHashFunction(function(){return n("keccak256")}),e.exports.keccak384=r.createHashFunction(function(){return n("keccak384")}),e.exports.keccak512=r.createHashFunction(function(){return n("keccak512")})}),a.register("7udHx",function(e,t){var r=a("6ZWSX").Buffer;"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.createHashFunction=function(e){return function(t){var n=e();return n.update(t),r.from(n.digest())}}}),a.register("X8PsT",function(e,t){e.exports=a("d8tul")(a("l2DpN"))}),a.register("d8tul",function(e,t){var r=a("lO6fo"),n=a("4jc6M");e.exports=function(e){let t=r(e),i=n(e);return function(e,r){let n="string"==typeof e?e.toLowerCase():e;switch(n){case"keccak224":return new t(1152,448,null,224,r);case"keccak256":return new t(1088,512,null,256,r);case"keccak384":return new t(832,768,null,384,r);case"keccak512":return new t(576,1024,null,512,r);case"sha3-224":return new t(1152,448,6,224,r);case"sha3-256":return new t(1088,512,6,256,r);case"sha3-384":return new t(832,768,6,384,r);case"sha3-512":return new t(576,1024,6,512,r);case"shake128":return new i(1344,256,31,r);case"shake256":return new i(1088,512,31,r);default:throw Error("Invald algorithm: "+e)}}}}),a.register("lO6fo",function(e,t){var r=a("6ZWSX").Buffer,n=a("b6RFW").Transform;e.exports=e=>class t extends n{constructor(t,r,n,i,a){super(a),this._rate=t,this._capacity=r,this._delimitedSuffix=n,this._hashBitLength=i,this._options=a,this._state=new e,this._state.initialize(t,r),this._finalized=!1}_transform(e,t,r){let n=null;try{this.update(e,t)}catch(e){n=e}r(n)}_flush(e){let t=null;try{this.push(this.digest())}catch(e){t=e}e(t)}update(e,t){if(!r.isBuffer(e)&&"string"!=typeof e)throw TypeError("Data must be a string or a buffer");if(this._finalized)throw Error("Digest already called");return r.isBuffer(e)||(e=r.from(e,t)),this._state.absorb(e),this}digest(e){if(this._finalized)throw Error("Digest already called");this._finalized=!0,this._delimitedSuffix&&this._state.absorbLastFewBits(this._delimitedSuffix);let t=this._state.squeeze(this._hashBitLength/8);return void 0!==e&&(t=t.toString(e)),this._resetState(),t}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){let e=new t(this._rate,this._capacity,this._delimitedSuffix,this._hashBitLength,this._options);return this._state.copy(e._state),e._finalized=this._finalized,e}}}),a.register("b6RFW",function(e,t){(t=e.exports=a("d4xg3")).Stream=t,t.Readable=t,t.Writable=a("3LwY7"),t.Duplex=a("DwJuQ"),t.Transform=a("b7kl8"),t.PassThrough=a("4wWcs"),t.finished=a("fiCvv"),t.pipeline=a("aGSwO")}),a.register("d4xg3",function(e,t){"use strict";var n,i,s,o,u,l=a("hPtJY");e.exports=C,C.ReadableState=T,a("7etJZ").EventEmitter;var c=function(e,t){return e.listeners(t).length},d=a("jfAlf"),f=a("6ZWSX").Buffer,h=(void 0!==r?r:"undefined"!=typeof window?window:"undefined"!=typeof self?self:{}).Uint8Array||function(){},p=a("kjyEk");i=p&&p.debuglog?p.debuglog("stream"):function(){};var y=a("bF5dL"),m=a("fMCbt"),b=a("04a3B").getHighWaterMark,g=a("6JySE").codes,v=g.ERR_INVALID_ARG_TYPE,w=g.ERR_STREAM_PUSH_AFTER_EOF,A=g.ERR_METHOD_NOT_IMPLEMENTED,E=g.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;a("dlqwk")(C,d);var x=m.errorOrDestroy,M=["error","close","destroy","pause","resume"];function T(e,t,r){n=n||a("DwJuQ"),e=e||{},"boolean"!=typeof r&&(r=t instanceof n),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=b(this,e,"readableHighWaterMark",r),this.buffer=new y,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==e.emitClose,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(s||(s=a("eNRCS").StringDecoder),this.decoder=new s(e.encoding),this.encoding=e.encoding)}function C(e){if(n=n||a("DwJuQ"),!(this instanceof C))return new C(e);var t=this instanceof n;this._readableState=new T(e,this,t),this.readable=!0,e&&("function"==typeof e.read&&(this._read=e.read),"function"==typeof e.destroy&&(this._destroy=e.destroy)),d.call(this)}function _(e,t,r,n,a){i("readableAddChunk",t);var s,o,u,l,c,d=e._readableState;if(null===t)d.reading=!1,function(e,t){if(i("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?F(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,k(e)))}}(e,d);else{if(a||(s=d,o=t,f.isBuffer(o)||o instanceof h||"string"==typeof o||void 0===o||s.objectMode||(u=new v("chunk",["string","Buffer","Uint8Array"],o)),c=u),c)x(e,c);else if(d.objectMode||t&&t.length>0){if("string"==typeof t||d.objectMode||Object.getPrototypeOf(t)===f.prototype||(l=t,t=f.from(l)),n)d.endEmitted?x(e,new E):S(e,d,t,!0);else if(d.ended)x(e,new w);else{if(d.destroyed)return!1;d.reading=!1,d.decoder&&!r?(t=d.decoder.write(t),d.objectMode||0!==t.length?S(e,d,t,!1):D(e,d)):S(e,d,t,!1)}}else n||(d.reading=!1,D(e,d))}return!d.ended&&(d.lengtht.highWaterMark){var r;t.highWaterMark=((r=e)>=1073741824?r=1073741824:(r--,r|=r>>>1,r|=r>>>2,r|=r>>>4,r|=r>>>8,r|=r>>>16,r++),r)}return e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0)}function F(e){var t=e._readableState;i("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(i("emitReadable",t.flowing),t.emittedReadable=!0,l.nextTick(k,e))}function k(e){var t=e._readableState;i("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,I(e)}function D(e,t){t.readingMore||(t.readingMore=!0,l.nextTick(P,e,t))}function P(e,t){for(;!t.reading&&!t.ended&&(t.length0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function N(e){i("readable nexttick read 0"),e.read(0)}function R(e,t){i("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),I(e),t.flowing&&!t.reading&&e.read(0)}function I(e){var t=e._readableState;for(i("flow",t.flowing);t.flowing&&null!==e.read(););}function L(e,t){var r;return 0===t.length?null:(t.objectMode?r=t.buffer.shift():!e||e>=t.length?(r=t.decoder?t.buffer.join(""):1===t.buffer.length?t.buffer.first():t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r)}function j(e){var t=e._readableState;i("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,l.nextTick(U,t,e))}function U(e,t){if(i("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&0===e.length&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}function H(e,t){for(var r=0,n=e.length;r=r.highWaterMark:r.length>0)||r.ended))return i("read: emitReadable",r.length,r.ended),0===r.length&&r.ended?j(this):F(this),null;if(0===(e=B(e,r))&&r.ended)return 0===r.length&&j(this),null;var a=r.needReadable;return i("need readable",a),(0===r.length||r.length-e0?L(e,r):null)?(r.needReadable=r.length<=r.highWaterMark,e=0):(r.length-=e,r.awaitDrain=0),0===r.length&&(r.ended||(r.needReadable=!0),n!==e&&r.ended&&j(this)),null!==t&&this.emit("data",t),t},C.prototype._read=function(e){x(this,new A("_read()"))},C.prototype.pipe=function(e,t){var r=this,n=this._readableState;switch(n.pipesCount){case 0:n.pipes=e;break;case 1:n.pipes=[n.pipes,e];break;default:n.pipes.push(e)}n.pipesCount+=1,i("pipe count=%d opts=%j",n.pipesCount,t);var a=t&&!1===t.end||e===l.stdout||e===l.stderr?y:s;function s(){i("onend"),e.end()}n.endEmitted?l.nextTick(a):r.once("end",a),e.on("unpipe",function t(a,l){i("onunpipe"),a===r&&l&&!1===l.hasUnpiped&&(l.hasUnpiped=!0,i("cleanup"),e.removeListener("close",h),e.removeListener("finish",p),e.removeListener("drain",o),e.removeListener("error",f),e.removeListener("unpipe",t),r.removeListener("end",s),r.removeListener("end",y),r.removeListener("data",d),u=!0,n.awaitDrain&&(!e._writableState||e._writableState.needDrain)&&o())});var o=function(){var e=r._readableState;i("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&c(r,"data")&&(e.flowing=!0,I(r))};e.on("drain",o);var u=!1;function d(t){i("ondata");var a=e.write(t);i("dest.write",a),!1===a&&((1===n.pipesCount&&n.pipes===e||n.pipesCount>1&&-1!==H(n.pipes,e))&&!u&&(i("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function f(t){i("onerror",t),y(),e.removeListener("error",f),0===c(e,"error")&&x(e,t)}function h(){e.removeListener("finish",p),y()}function p(){i("onfinish"),e.removeListener("close",h),y()}function y(){i("unpipe"),r.unpipe(e)}return r.on("data",d),function(e,t,r){if("function"==typeof e.prependListener)return e.prependListener(t,r);e._events&&e._events[t]?Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]:e.on(t,r)}(e,"error",f),e.once("close",h),e.once("finish",p),e.emit("pipe",r),n.flowing||(i("pipe resume"),r.resume()),e},C.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(0===t.pipesCount)return this;if(1===t.pipesCount)return e&&e!==t.pipes||(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r)),this;if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var a=0;a0,!1!==n.flowing&&this.resume()):"readable"!==e||n.endEmitted||n.readableListening||(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,i("on readable",n.length,n.reading),n.length?F(this):n.reading||l.nextTick(N,this)),r},C.prototype.addListener=C.prototype.on,C.prototype.removeListener=function(e,t){var r=d.prototype.removeListener.call(this,e,t);return"readable"===e&&l.nextTick(O,this),r},C.prototype.removeAllListeners=function(e){var t=d.prototype.removeAllListeners.apply(this,arguments);return("readable"===e||void 0===e)&&l.nextTick(O,this),t},C.prototype.resume=function(){var e=this._readableState;return e.flowing||(i("resume"),e.flowing=!e.readableListening,e.resumeScheduled||(e.resumeScheduled=!0,l.nextTick(R,this,e))),e.paused=!1,this},C.prototype.pause=function(){return i("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(i("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},C.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;for(var a in e.on("end",function(){if(i("wrapped end"),r.decoder&&!r.ended){var e=r.decoder.end();e&&e.length&&t.push(e)}t.push(null)}),e.on("data",function(a){i("wrapped data"),r.decoder&&(a=r.decoder.write(a)),(!r.objectMode||null!=a)&&(r.objectMode||a&&a.length)&&(t.push(a)||(n=!0,e.pause()))}),e)void 0===this[a]&&"function"==typeof e[a]&&(this[a]=function(t){return function(){return e[t].apply(e,arguments)}}(a));for(var s=0;s0&&s.length>i&&!s.warned){s.warned=!0;var i,a,s,o=Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=s.length,console&&console.warn&&console.warn(o)}return e}function d(){if(!this.fired)return(this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0==arguments.length)?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function f(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=d.bind(n);return i.listener=r,n.wrapFn=i,i}function h(e,t,r){var n=e._events;if(void 0===n)return[];var i=n[t];return void 0===i?[]:"function"==typeof i?r?[i.listener||i]:[i]:r?function(e){for(var t=Array(e.length),r=0;r0&&(s=t[0]),s instanceof Error)throw s;var s,o=Error("Unhandled error."+(s?" ("+s.message+")":""));throw o.context=s,o}var u=a[e];if(void 0===u)return!1;if("function"==typeof u)i(u,this,t);else for(var l=u.length,c=y(u,l),r=0;r=0;a--)if(r[a]===t||r[a].listener===t){s=r[a].listener,i=a;break}if(i<0)return this;0===i?r.shift():function(e,t){for(;t+1=0;n--)this.removeListener(e,t[n]);return this},s.prototype.listeners=function(e){return h(this,e,!0)},s.prototype.rawListeners=function(e){return h(this,e,!1)},s.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):p.call(e,t)},s.prototype.listenerCount=p,s.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]}}),a.register("jfAlf",function(e,t){e.exports=a("7etJZ").EventEmitter}),a.register("bF5dL",function(e,t){"use strict";function r(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),r.push.apply(r,n)}return r}function n(e){for(var t=1;t0?this.tail.next=t:this.head=t,this.tail=t,++this.length}},{key:"unshift",value:function(e){var t={data:e,next:this.head};0===this.length&&(this.tail=t),this.head=t,++this.length}},{key:"shift",value:function(){if(0!==this.length){var e=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,e}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(e){if(0===this.length)return"";for(var t=this.head,r=""+t.data;t=t.next;)r+=e+t.data;return r}},{key:"concat",value:function(e){if(0===this.length)return o.alloc(0);for(var t,r,n=o.allocUnsafe(e>>>0),i=this.head,a=0;i;)t=i.data,r=a,o.prototype.copy.call(t,n,r),a+=i.data.length,i=i.next;return n}},{key:"consume",value:function(e,t){var r;return ei.length?i.length:e;if(a===i.length?n+=i:n+=i.slice(0,e),0==(e-=a)){a===i.length?(++r,t.next?this.head=t.next:this.head=this.tail=null):(this.head=t,t.data=i.slice(a));break}++r}return this.length-=r,n}},{key:"_getBuffer",value:function(e){var t=o.allocUnsafe(e),r=this.head,n=1;for(r.data.copy(t),e-=r.data.length;r=r.next;){var i=r.data,a=e>i.length?i.length:e;if(i.copy(t,t.length-e,0,a),0==(e-=a)){a===i.length?(++n,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=i.slice(a));break}++n}return this.length-=n,t}},{key:l,value:function(e,t){return u(this,n(n({},t),{},{depth:0,customInspect:!1}))}}],i(r.prototype,e),t&&i(r,t),Object.defineProperty(r,"prototype",{writable:!1}),r}()}),a.register("fMCbt",function(e,t){var r=a("hPtJY");"use strict";function n(e,t){s(e,t),i(e)}function i(e){(!e._writableState||e._writableState.emitClose)&&(!e._readableState||e._readableState.emitClose)&&e.emit("close")}function s(e,t){e.emit("error",t)}e.exports={destroy:function(e,t){var a=this,o=this._readableState&&this._readableState.destroyed,u=this._writableState&&this._writableState.destroyed;return o||u?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,r.nextTick(s,this,e)):r.nextTick(s,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(e){!t&&e?a._writableState?a._writableState.errorEmitted?r.nextTick(i,a):(a._writableState.errorEmitted=!0,r.nextTick(n,a,e)):r.nextTick(n,a,e):t?(r.nextTick(i,a),t(e)):r.nextTick(i,a)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}}}),a.register("04a3B",function(e,t){"use strict";var r=a("6JySE").codes.ERR_INVALID_OPT_VALUE;e.exports={getHighWaterMark:function(e,t,n,i){var a=null!=t.highWaterMark?t.highWaterMark:i?t[n]:null;if(null!=a){if(!(isFinite(a)&&Math.floor(a)===a)||a<0){var s=i?n:"highWaterMark";throw new r(s,a)}return Math.floor(a)}return e.objectMode?16:16384}}}),a.register("6JySE",function(t,r){"use strict";e(t.exports,"codes",()=>n,e=>n=e);var n,i={};function a(e,t,r){r||(r=Error);var n=function(e){function r(r,n,i){return e.call(this,"string"==typeof t?t:t(r,n,i))||this}return r.prototype=Object.create(e.prototype),r.prototype.constructor=r,r.__proto__=e,r}(r);n.prototype.name=r.name,n.prototype.code=e,i[e]=n}function s(e,t){if(!Array.isArray(e))return"of ".concat(t," ").concat(String(e));var r=e.length;return(e=e.map(function(e){return String(e)}),r>2)?"one of ".concat(t," ").concat(e.slice(0,r-1).join(", "),", or ")+e[r-1]:2===r?"one of ".concat(t," ").concat(e[0]," or ").concat(e[1]):"of ".concat(t," ").concat(e[0])}a("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError),a("ERR_INVALID_ARG_TYPE",function(e,t,r){if("string"==typeof t&&(n="not ",t.substr(!i||i<0?0:+i,n.length)===n)?(l="must not be",t=t.replace(/^not /,"")):l="must be",a=" argument",(void 0===o||o>e.length)&&(o=e.length),e.substring(o-a.length,o)===a)c="The ".concat(e," ").concat(l," ").concat(s(t,"type"));else{var n,i,a,o,u,l,c,d=("number"!=typeof u&&(u=0),u+1>e.length||-1===e.indexOf(".",u))?"argument":"property";c='The "'.concat(e,'" ').concat(d," ").concat(l," ").concat(s(t,"type"))}return c+". Received type ".concat(typeof r)},TypeError),a("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),a("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"}),a("ERR_STREAM_PREMATURE_CLOSE","Premature close"),a("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"}),a("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),a("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),a("ERR_STREAM_WRITE_AFTER_END","write after end"),a("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),a("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError),a("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),n=i}),a.register("DwJuQ",function(e,t){"use strict";var r=a("hPtJY"),n=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};e.exports=c;var i=a("d4xg3"),s=a("3LwY7");a("dlqwk")(c,i);for(var o=n(s.prototype),u=0;u-1))throw new E(e);return this._writableState.defaultEncoding=e,this},Object.defineProperty(C.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(C.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),C.prototype._write=function(e,t,r){r(new m("_write()"))},C.prototype._writev=null,C.prototype.end=function(e,t,r){var n,i=this._writableState;return"function"==typeof e?(r=e,e=null,t=null):"function"==typeof t&&(r=t,t=null),null!=e&&this.write(e,t),i.corked&&(i.corked=1,this.uncork()),i.ending||(n=r,i.ending=!0,D(this,i),n&&(i.finished?s.nextTick(n):this.once("finish",n)),i.ended=!0,this.writable=!1),this},Object.defineProperty(C.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(C.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(e){this._writableState&&(this._writableState.destroyed=e)}}),C.prototype.destroy=f.destroy,C.prototype._undestroy=f.undestroy,C.prototype._destroy=function(e,t){t(e)}}),a.register("39vsn",function(e,t){e.exports=function(e,t){if(n("noDeprecation"))return e;var r=!1;return function(){if(!r){if(n("throwDeprecation"))throw Error(t);n("traceDeprecation")?console.trace(t):console.warn(t),r=!0}return e.apply(this,arguments)}};function n(e){try{if(!r.localStorage)return!1}catch(e){return!1}var t=r.localStorage[e];return null!=t&&"true"===String(t).toLowerCase()}}),a.register("eNRCS",function(t,r){"use strict";e(t.exports,"StringDecoder",()=>n,e=>n=e);var n,i=a("1U9GM").Buffer,s=i.isEncoding||function(e){switch((e=""+e)&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function o(e){var t;switch(this.encoding=function(e){var t=function(e){var t;if(!e)return"utf8";for(;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}(e);if("string"!=typeof t&&(i.isEncoding===s||!s(e)))throw Error("Unknown encoding: "+e);return t||e}(e),this.encoding){case"utf16le":this.text=c,this.end=d,t=4;break;case"utf8":this.fillLast=l,t=4;break;case"base64":this.text=f,this.end=h,t=3;break;default:this.write=p,this.end=y;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(t)}function u(e){return e<=127?0:e>>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function l(e){var t=this.lastTotal-this.lastNeed,r=function(e,t,r){if((192&t[0])!=128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((192&t[1])!=128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(192&t[2])!=128)return e.lastNeed=2,"�"}}(this,e,0);return void 0!==r?r:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):void(e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length)}function c(e,t){if((e.length-t)%2==0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function d(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function f(e,t){var r=(e.length-t)%3;return 0===r?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function p(e){return e.toString(this.encoding)}function y(e){return e&&e.length?this.write(e):""}n=o,o.prototype.write=function(e){var t,r;if(0===e.length)return"";if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r=0?(i>0&&(e.lastNeed=i-1),i):--n=0?(i>0&&(e.lastNeed=i-2),i):--n=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)},o.prototype.fillLast=function(e){if(this.lastNeed<=e.length)return e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,this.lastTotal-this.lastNeed,0,e.length),this.lastNeed-=e.length}}),a.register("2UdT6",function(e,t){"use strict";var r,n=a("hPtJY");function i(e,t,r){var n;return(t="symbol"==typeof(n=function(e,t){if("object"!=typeof e||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=typeof n)return n;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"))?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var s=a("fiCvv"),o=Symbol("lastResolve"),u=Symbol("lastReject"),l=Symbol("error"),c=Symbol("ended"),d=Symbol("lastPromise"),f=Symbol("handlePromise"),h=Symbol("stream");function p(e,t){return{value:e,done:t}}function y(e){var t=e[o];if(null!==t){var r=e[h].read();null!==r&&(e[d]=null,e[o]=null,e[u]=null,t(p(r,!1)))}}function m(e){n.nextTick(y,e)}var b=Object.getPrototypeOf(function(){}),g=Object.setPrototypeOf((i(r={get stream(){return this[h]},next:function(){var e,t,r=this,i=this[l];if(null!==i)return Promise.reject(i);if(this[c])return Promise.resolve(p(void 0,!0));if(this[h].destroyed)return new Promise(function(e,t){n.nextTick(function(){r[l]?t(r[l]):e(p(void 0,!0))})});var a=this[d];if(a)t=new Promise((e=this,function(t,r){a.then(function(){if(e[c]){t(p(void 0,!0));return}e[f](t,r)},r)}));else{var s=this[h].read();if(null!==s)return Promise.resolve(p(s,!1));t=new Promise(this[f])}return this[d]=t,t}},Symbol.asyncIterator,function(){return this}),i(r,"return",function(){var e=this;return new Promise(function(t,r){e[h].destroy(null,function(e){if(e){r(e);return}t(p(void 0,!0))})})}),r),b);e.exports=function(e){var t,r=Object.create(g,(i(t={},h,{value:e,writable:!0}),i(t,o,{value:null,writable:!0}),i(t,u,{value:null,writable:!0}),i(t,l,{value:null,writable:!0}),i(t,c,{value:e._readableState.endEmitted,writable:!0}),i(t,f,{value:function(e,t){var n=r[h].read();n?(r[d]=null,r[o]=null,r[u]=null,e(p(n,!1))):(r[o]=e,r[u]=t)},writable:!0}),t));return r[d]=null,s(e,function(e){if(e&&"ERR_STREAM_PREMATURE_CLOSE"!==e.code){var t=r[u];null!==t&&(r[d]=null,r[o]=null,r[u]=null,t(e)),r[l]=e;return}var n=r[o];null!==n&&(r[d]=null,r[o]=null,r[u]=null,n(p(void 0,!0))),r[c]=!0}),e.on("readable",m.bind(null,r)),r}}),a.register("fiCvv",function(e,t){"use strict";var r=a("6JySE").codes.ERR_STREAM_PREMATURE_CLOSE;function n(){}e.exports=function e(t,i,a){if("function"==typeof i)return e(t,null,i);i||(i={}),s=a||n,o=!1,a=function(){if(!o){o=!0;for(var e=arguments.length,t=Array(e),r=0;r0},function(e){if(e)return i(e);d=!0,i()}),p=!1,function(t){if(!d&&!p){if(p=!0,e.setHeader&&"function"==typeof e.abort)return e.abort();if("function"==typeof e.destroy)return e.destroy();i(t||new s("pipe"))}}});return c.reduce(l)}}),a.register("4jc6M",function(e,t){var r=a("6ZWSX").Buffer,n=a("b6RFW").Transform;e.exports=e=>class t extends n{constructor(t,r,n,i){super(i),this._rate=t,this._capacity=r,this._delimitedSuffix=n,this._options=i,this._state=new e,this._state.initialize(t,r),this._finalized=!1}_transform(e,t,r){let n=null;try{this.update(e,t)}catch(e){n=e}r(n)}_flush(){}_read(e){this.push(this.squeeze(e))}update(e,t){if(!r.isBuffer(e)&&"string"!=typeof e)throw TypeError("Data must be a string or a buffer");if(this._finalized)throw Error("Squeeze already called");return r.isBuffer(e)||(e=r.from(e,t)),this._state.absorb(e),this}squeeze(e,t){this._finalized||(this._finalized=!0,this._state.absorbLastFewBits(this._delimitedSuffix));let r=this._state.squeeze(e);return void 0!==t&&(r=r.toString(t)),r}_resetState(){return this._state.initialize(this._rate,this._capacity),this}_clone(){let e=new t(this._rate,this._capacity,this._delimitedSuffix,this._options);return this._state.copy(e._state),e._finalized=this._finalized,e}}}),a.register("l2DpN",function(e,t){var r=a("6ZWSX").Buffer,n=a("93Kfq");function i(){this.state=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this.blockSize=null,this.count=0,this.squeezing=!1}i.prototype.initialize=function(e,t){for(let e=0;e<50;++e)this.state[e]=0;this.blockSize=e/8,this.count=0,this.squeezing=!1},i.prototype.absorb=function(e){for(let t=0;t>>8*(this.count%4)&255,this.count+=1,this.count===this.blockSize&&(n.p1600(this.state),this.count=0);return t},i.prototype.copy=function(e){for(let t=0;t<50;++t)e.state[t]=this.state[t];e.blockSize=this.blockSize,e.count=this.count,e.squeezing=this.squeezing},e.exports=i}),a.register("93Kfq",function(t,r){var n;e(t.exports,"p1600",()=>n,e=>n=e);let i=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648];n=function(e){for(let t=0;t<24;++t){let r=e[0]^e[10]^e[20]^e[30]^e[40],n=e[1]^e[11]^e[21]^e[31]^e[41],a=e[2]^e[12]^e[22]^e[32]^e[42],s=e[3]^e[13]^e[23]^e[33]^e[43],o=e[4]^e[14]^e[24]^e[34]^e[44],u=e[5]^e[15]^e[25]^e[35]^e[45],l=e[6]^e[16]^e[26]^e[36]^e[46],c=e[7]^e[17]^e[27]^e[37]^e[47],d=e[8]^e[18]^e[28]^e[38]^e[48],f=e[9]^e[19]^e[29]^e[39]^e[49],h=d^(a<<1|s>>>31),p=f^(s<<1|a>>>31),y=e[0]^h,m=e[1]^p,b=e[10]^h,g=e[11]^p,v=e[20]^h,w=e[21]^p,A=e[30]^h,E=e[31]^p,x=e[40]^h,M=e[41]^p;h=r^(o<<1|u>>>31),p=n^(u<<1|o>>>31);let T=e[2]^h,C=e[3]^p,_=e[12]^h,S=e[13]^p,B=e[22]^h,F=e[23]^p,k=e[32]^h,D=e[33]^p,P=e[42]^h,O=e[43]^p;h=a^(l<<1|c>>>31),p=s^(c<<1|l>>>31);let N=e[4]^h,R=e[5]^p,I=e[14]^h,L=e[15]^p,j=e[24]^h,U=e[25]^p,H=e[34]^h,G=e[35]^p,z=e[44]^h,q=e[45]^p;h=o^(d<<1|f>>>31),p=u^(f<<1|d>>>31);let V=e[6]^h,W=e[7]^p,K=e[16]^h,J=e[17]^p,Z=e[26]^h,Y=e[27]^p,$=e[36]^h,X=e[37]^p,Q=e[46]^h,ee=e[47]^p;h=l^(r<<1|n>>>31),p=c^(n<<1|r>>>31);let et=e[8]^h,er=e[9]^p,en=e[18]^h,ei=e[19]^p,ea=e[28]^h,es=e[29]^p,eo=e[38]^h,eu=e[39]^p,el=e[48]^h,ec=e[49]^p,ed=g<<4|b>>>28,ef=b<<4|g>>>28,eh=v<<3|w>>>29,ep=w<<3|v>>>29,ey=E<<9|A>>>23,em=A<<9|E>>>23,eb=x<<18|M>>>14,eg=M<<18|x>>>14,ev=T<<1|C>>>31,ew=C<<1|T>>>31,eA=S<<12|_>>>20,eE=_<<12|S>>>20,ex=B<<10|F>>>22,eM=F<<10|B>>>22,eT=D<<13|k>>>19,eC=k<<13|D>>>19,e_=P<<2|O>>>30,eS=O<<2|P>>>30,eB=R<<30|N>>>2,eF=N<<30|R>>>2,ek=I<<6|L>>>26,eD=L<<6|I>>>26,eP=U<<11|j>>>21,eO=j<<11|U>>>21,eN=H<<15|G>>>17,eR=G<<15|H>>>17,eI=q<<29|z>>>3,eL=z<<29|q>>>3,ej=V<<28|W>>>4,eU=W<<28|V>>>4,eH=J<<23|K>>>9,eG=K<<23|J>>>9,ez=Z<<25|Y>>>7,eq=Y<<25|Z>>>7,eV=$<<21|X>>>11,eW=X<<21|$>>>11,eK=ee<<24|Q>>>8,eJ=Q<<24|ee>>>8,eZ=et<<27|er>>>5,eY=er<<27|et>>>5,e$=en<<20|ei>>>12,eX=ei<<20|en>>>12,eQ=es<<7|ea>>>25,e0=ea<<7|es>>>25,e1=eo<<8|eu>>>24,e2=eu<<8|eo>>>24,e3=el<<14|ec>>>18,e6=ec<<14|el>>>18;e[0]=y^~eA&eP,e[1]=m^~eE&eO,e[10]=ej^~e$&eh,e[11]=eU^~eX&ep,e[20]=ev^~ek&ez,e[21]=ew^~eD&eq,e[30]=eZ^~ed&ex,e[31]=eY^~ef&eM,e[40]=eB^~eH&eQ,e[41]=eF^~eG&e0,e[2]=eA^~eP&eV,e[3]=eE^~eO&eW,e[12]=e$^~eh&eT,e[13]=eX^~ep&eC,e[22]=ek^~ez&e1,e[23]=eD^~eq&e2,e[32]=ed^~ex&eN,e[33]=ef^~eM&eR,e[42]=eH^~eQ&ey,e[43]=eG^~e0&em,e[4]=eP^~eV&e3,e[5]=eO^~eW&e6,e[14]=eh^~eT&eI,e[15]=ep^~eC&eL,e[24]=ez^~e1&eb,e[25]=eq^~e2&eg,e[34]=ex^~eN&eK,e[35]=eM^~eR&eJ,e[44]=eQ^~ey&e_,e[45]=e0^~em&eS,e[6]=eV^~e3&y,e[7]=eW^~e6&m,e[16]=eT^~eI&ej,e[17]=eC^~eL&eU,e[26]=e1^~eb&ev,e[27]=e2^~eg&ew,e[36]=eN^~eK&eZ,e[37]=eR^~eJ&eY,e[46]=ey^~e_&eB,e[47]=em^~eS&eF,e[8]=e3^~y&eA,e[9]=e6^~m&eE,e[18]=eI^~ej&e$,e[19]=eL^~eU&eX,e[28]=eb^~ev&ek,e[29]=eg^~ew&eD,e[38]=eK^~eZ&ed,e[39]=eJ^~eY&ef,e[48]=e_^~eB&eH,e[49]=eS^~eF&eG,e[0]^=i[2*t],e[1]^=i[2*t+1]}}}),a.register("1R2J7",function(e,t){"use strict";var r=a("dlqwk"),n=a("loYLU"),i=a("a8qBR"),s=a("5Z1sR"),o=a("26nOC");function u(e){o.call(this,"digest"),this._hash=e}r(u,o),u.prototype._update=function(e){this._hash.update(e)},u.prototype._final=function(){return this._hash.digest()},e.exports=function(e){return"md5"===(e=e.toLowerCase())?new n:"rmd160"===e||"ripemd160"===e?new i:new u(s(e))}}),a.register("loYLU",function(e,t){"use strict";var r=a("dlqwk"),n=a("eLdEM"),i=a("1U9GM").Buffer,s=Array(16);function o(){n.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function u(e,t){return e<>>32-t}function l(e,t,r,n,i,a,s){return u(e+(t&r|~t&n)+i+a|0,s)+t|0}function c(e,t,r,n,i,a,s){return u(e+(t&n|r&~n)+i+a|0,s)+t|0}function d(e,t,r,n,i,a,s){return u(e+(t^r^n)+i+a|0,s)+t|0}function f(e,t,r,n,i,a,s){return u(e+(r^(t|~n))+i+a|0,s)+t|0}r(o,n),o.prototype._update=function(){for(var e=0;e<16;++e)s[e]=this._block.readInt32LE(4*e);var t=this._a,r=this._b,n=this._c,i=this._d;t=l(t,r,n,i,s[0],3614090360,7),i=l(i,t,r,n,s[1],3905402710,12),n=l(n,i,t,r,s[2],606105819,17),r=l(r,n,i,t,s[3],3250441966,22),t=l(t,r,n,i,s[4],4118548399,7),i=l(i,t,r,n,s[5],1200080426,12),n=l(n,i,t,r,s[6],2821735955,17),r=l(r,n,i,t,s[7],4249261313,22),t=l(t,r,n,i,s[8],1770035416,7),i=l(i,t,r,n,s[9],2336552879,12),n=l(n,i,t,r,s[10],4294925233,17),r=l(r,n,i,t,s[11],2304563134,22),t=l(t,r,n,i,s[12],1804603682,7),i=l(i,t,r,n,s[13],4254626195,12),n=l(n,i,t,r,s[14],2792965006,17),r=l(r,n,i,t,s[15],1236535329,22),t=c(t,r,n,i,s[1],4129170786,5),i=c(i,t,r,n,s[6],3225465664,9),n=c(n,i,t,r,s[11],643717713,14),r=c(r,n,i,t,s[0],3921069994,20),t=c(t,r,n,i,s[5],3593408605,5),i=c(i,t,r,n,s[10],38016083,9),n=c(n,i,t,r,s[15],3634488961,14),r=c(r,n,i,t,s[4],3889429448,20),t=c(t,r,n,i,s[9],568446438,5),i=c(i,t,r,n,s[14],3275163606,9),n=c(n,i,t,r,s[3],4107603335,14),r=c(r,n,i,t,s[8],1163531501,20),t=c(t,r,n,i,s[13],2850285829,5),i=c(i,t,r,n,s[2],4243563512,9),n=c(n,i,t,r,s[7],1735328473,14),r=c(r,n,i,t,s[12],2368359562,20),t=d(t,r,n,i,s[5],4294588738,4),i=d(i,t,r,n,s[8],2272392833,11),n=d(n,i,t,r,s[11],1839030562,16),r=d(r,n,i,t,s[14],4259657740,23),t=d(t,r,n,i,s[1],2763975236,4),i=d(i,t,r,n,s[4],1272893353,11),n=d(n,i,t,r,s[7],4139469664,16),r=d(r,n,i,t,s[10],3200236656,23),t=d(t,r,n,i,s[13],681279174,4),i=d(i,t,r,n,s[0],3936430074,11),n=d(n,i,t,r,s[3],3572445317,16),r=d(r,n,i,t,s[6],76029189,23),t=d(t,r,n,i,s[9],3654602809,4),i=d(i,t,r,n,s[12],3873151461,11),n=d(n,i,t,r,s[15],530742520,16),r=d(r,n,i,t,s[2],3299628645,23),t=f(t,r,n,i,s[0],4096336452,6),i=f(i,t,r,n,s[7],1126891415,10),n=f(n,i,t,r,s[14],2878612391,15),r=f(r,n,i,t,s[5],4237533241,21),t=f(t,r,n,i,s[12],1700485571,6),i=f(i,t,r,n,s[3],2399980690,10),n=f(n,i,t,r,s[10],4293915773,15),r=f(r,n,i,t,s[1],2240044497,21),t=f(t,r,n,i,s[8],1873313359,6),i=f(i,t,r,n,s[15],4264355552,10),n=f(n,i,t,r,s[6],2734768916,15),r=f(r,n,i,t,s[13],1309151649,21),t=f(t,r,n,i,s[4],4149444226,6),i=f(i,t,r,n,s[11],3174756917,10),n=f(n,i,t,r,s[2],718787259,15),r=f(r,n,i,t,s[9],3951481745,21),this._a=this._a+t|0,this._b=this._b+r|0,this._c=this._c+n|0,this._d=this._d+i|0},o.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=i.allocUnsafe(16);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e},e.exports=o}),a.register("eLdEM",function(e,t){"use strict";var r=a("1U9GM").Buffer,n=a("b6RFW").Transform;function i(e){n.call(this),this._block=r.allocUnsafe(e),this._blockSize=e,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}a("dlqwk")(i,n),i.prototype._transform=function(e,t,r){var n=null;try{this.update(e,t)}catch(e){n=e}r(n)},i.prototype._flush=function(e){var t=null;try{this.push(this.digest())}catch(e){t=e}e(t)},i.prototype.update=function(e,t){if(function(e,t){if(!r.isBuffer(e)&&"string"!=typeof e)throw TypeError(t+" must be a string or a buffer")}(e,"Data"),this._finalized)throw Error("Digest already called");r.isBuffer(e)||(e=r.from(e,t));for(var n=this._block,i=0;this._blockOffset+e.length-i>=this._blockSize;){for(var a=this._blockOffset;a0;++s)this._length[s]+=o,(o=this._length[s]/4294967296|0)>0&&(this._length[s]-=4294967296*o);return this},i.prototype._update=function(){throw Error("_update is not implemented")},i.prototype.digest=function(e){if(this._finalized)throw Error("Digest already called");this._finalized=!0;var t=this._digest();void 0!==e&&(t=t.toString(e)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return t},i.prototype._digest=function(){throw Error("_digest is not implemented")},e.exports=i}),a.register("a8qBR",function(e,t){"use strict";var r=a("6ZWSX").Buffer,n=a("dlqwk"),i=a("eLdEM"),s=Array(16),o=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],u=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],l=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],c=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11];function d(){i.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function f(e,t){return e<>>32-t}n(d,i),d.prototype._update=function(){for(var e,t,r,n,i,a,d,h,p,y,m,b,g,v,w,A,E,x,M,T,C,_,S,B,F,k,D,P,O,N,R,I,L,j,U,H,G,z,q,V,W,K,J,Z,Y,$,X,Q,ee,et,er,en,ei,ea,es,eo,eu,el,ec,ed,ef,eh,ep,ey,em,eb,eg,ev,ew,eA,eE,ex,eM=0;eM<16;++eM)s[eM]=this._block.readInt32LE(4*eM);for(var eT=0|this._a,eC=0|this._b,e_=0|this._c,eS=0|this._d,eB=0|this._e,eF=0|this._a,ek=0|this._b,eD=0|this._c,eP=0|this._d,eO=0|this._e,eN=0;eN<80;eN+=1)eN<16?(e=eT,t=eC,r=e_,n=eS,i=eB,eE=f(e+(t^r^n)+s[o[eN]]+0|0,l[eN])+i|0,h=eF,p=ek,y=eD,m=eP,b=eO,ex=f(h+(p^(y|~m))+s[u[eN]]+1352829926|0,c[eN])+b|0):eN<32?(w=eT,A=eC,E=e_,x=eS,M=eB,eE=f(w+(A&E|~A&x)+s[o[eN]]+1518500249|0,l[eN])+M|0,_=eF,S=ek,B=eD,F=eP,k=eO,ex=f(_+(S&F|B&~F)+s[u[eN]]+1548603684|0,c[eN])+k|0):eN<48?(O=eT,N=eC,R=e_,I=eS,L=eB,eE=f(O+((N|~R)^I)+s[o[eN]]+1859775393|0,l[eN])+L|0,H=eF,G=ek,z=eD,q=eP,V=eO,ex=f(H+((G|~z)^q)+s[u[eN]]+1836072691|0,c[eN])+V|0):eN<64?(J=eT,Z=eC,Y=e_,$=eS,X=eB,eE=f(J+(Z&$|Y&~$)+s[o[eN]]+2400959708|0,l[eN])+X|0,et=eF,er=ek,en=eD,ei=eP,ea=eO,ex=f(et+(er&en|~er&ei)+s[u[eN]]+2053994217|0,c[eN])+ea|0):(eu=eT,el=eC,ec=e_,ed=eS,ef=eB,eE=f(eu+(el^(ec|~ed))+s[o[eN]]+2840853838|0,l[eN])+ef|0,ey=eF,em=ek,eb=eD,eg=eP,ev=eO,ex=f(ey+(em^eb^eg)+s[u[eN]]+0|0,c[eN])+ev|0),eT=eB,eB=eS,eS=f(e_,10),e_=eC,eC=eE,eF=eO,eO=eP,eP=f(eD,10),eD=ek,ek=ex;var eR=this._b+e_+eP|0;this._b=this._c+eS+eO|0,this._c=this._d+eB+eF|0,this._d=this._e+eT+ek|0,this._e=this._a+eC+eD|0,this._a=eR},d.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var e=r.alloc?r.alloc(20):new r(20);return e.writeInt32LE(this._a,0),e.writeInt32LE(this._b,4),e.writeInt32LE(this._c,8),e.writeInt32LE(this._d,12),e.writeInt32LE(this._e,16),e},e.exports=d}),a.register("5Z1sR",function(e,t){var r=e.exports=function(e){var t=r[e=e.toLowerCase()];if(!t)throw Error(e+" is not supported (we accept pull requests)");return new t};r.sha=a("dECyV"),r.sha1=a("dVcFO"),r.sha224=a("3wNjm"),r.sha256=a("3BFQx"),r.sha384=a("5qHaZ"),r.sha512=a("bZI17")}),a.register("dECyV",function(e,t){var r=a("dlqwk"),n=a("O5ywn"),i=a("1U9GM").Buffer,s=[1518500249,1859775393,-1894007588,-899497514],o=Array(80);function u(){this.init(),this._w=o,n.call(this,64,56)}r(u,n),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t=this._w,r=0|this._a,n=0|this._b,i=0|this._c,a=0|this._d,o=0|this._e,u=0;u<16;++u)t[u]=e.readInt32BE(4*u);for(;u<80;++u)t[u]=t[u-3]^t[u-8]^t[u-14]^t[u-16];for(var l=0;l<80;++l){var c,d,f,h,p,y=~~(l/20),m=((c=r)<<5|c>>>27)+(d=n,f=i,h=a,0===y?d&f|~d&h:2===y?d&f|d&h|f&h:d^f^h)+o+t[l]+s[y]|0;o=a,a=i,i=(p=n)<<30|p>>>2,n=r,r=m}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=a+this._d|0,this._e=o+this._e|0},u.prototype._hash=function(){var e=i.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u}),a.register("O5ywn",function(e,t){var r=a("1U9GM").Buffer;function n(e,t){this._block=r.alloc(e),this._finalSize=t,this._blockSize=e,this._len=0}n.prototype.update=function(e,t){"string"==typeof e&&(t=t||"utf8",e=r.from(e,t));for(var n=this._block,i=this._blockSize,a=e.length,s=this._len,o=0;o=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var n=(4294967295&r)>>>0,i=(r-n)/4294967296;this._block.writeUInt32BE(i,this._blockSize-8),this._block.writeUInt32BE(n,this._blockSize-4)}this._update(this._block);var a=this._hash();return e?a.toString(e):a},n.prototype._update=function(){throw Error("_update must be implemented by subclass")},e.exports=n}),a.register("dVcFO",function(e,t){var r=a("dlqwk"),n=a("O5ywn"),i=a("1U9GM").Buffer,s=[1518500249,1859775393,-1894007588,-899497514],o=Array(80);function u(){this.init(),this._w=o,n.call(this,64,56)}r(u,n),u.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},u.prototype._update=function(e){for(var t=this._w,r=0|this._a,n=0|this._b,i=0|this._c,a=0|this._d,o=0|this._e,u=0;u<16;++u)t[u]=e.readInt32BE(4*u);for(;u<80;++u)t[u]=(c=t[u-3]^t[u-8]^t[u-14]^t[u-16])<<1|c>>>31;for(var l=0;l<80;++l){var c,d,f,h,p,y,m=~~(l/20),b=((d=r)<<5|d>>>27)+(f=n,h=i,p=a,0===m?f&h|~f&p:2===m?f&h|f&p|h&p:f^h^p)+o+t[l]+s[m]|0;o=a,a=i,i=(y=n)<<30|y>>>2,n=r,r=b}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=a+this._d|0,this._e=o+this._e|0},u.prototype._hash=function(){var e=i.allocUnsafe(20);return e.writeInt32BE(0|this._a,0),e.writeInt32BE(0|this._b,4),e.writeInt32BE(0|this._c,8),e.writeInt32BE(0|this._d,12),e.writeInt32BE(0|this._e,16),e},e.exports=u}),a.register("3wNjm",function(e,t){var r=a("dlqwk"),n=a("3BFQx"),i=a("O5ywn"),s=a("1U9GM").Buffer,o=Array(64);function u(){this.init(),this._w=o,i.call(this,64,56)}r(u,n),u.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},u.prototype._hash=function(){var e=s.allocUnsafe(28);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e},e.exports=u}),a.register("3BFQx",function(e,t){var r=a("dlqwk"),n=a("O5ywn"),i=a("1U9GM").Buffer,s=[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],o=Array(64);function u(){this.init(),this._w=o,n.call(this,64,56)}r(u,n),u.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},u.prototype._update=function(e){for(var t=this._w,r=0|this._a,n=0|this._b,i=0|this._c,a=0|this._d,o=0|this._e,u=0|this._f,l=0|this._g,c=0|this._h,d=0;d<16;++d)t[d]=e.readInt32BE(4*d);for(;d<64;++d)t[d]=(((h=t[d-2])>>>17|h<<15)^(h>>>19|h<<13)^h>>>10)+t[d-7]+(((p=t[d-15])>>>7|p<<25)^(p>>>18|p<<14)^p>>>3)+t[d-16]|0;for(var f=0;f<64;++f){var h,p,y,m,b,g,v,w,A,E=c+(((y=o)>>>6|y<<26)^(y>>>11|y<<21)^(y>>>25|y<<7))+(m=o,b=u,(g=l)^m&(b^g))+s[f]+t[f]|0,x=(((v=r)>>>2|v<<30)^(v>>>13|v<<19)^(v>>>22|v<<10))+((w=r)&(A=n)|i&(w|A))|0;c=l,l=u,u=o,o=a+E|0,a=i,i=n,n=r,r=E+x|0}this._a=r+this._a|0,this._b=n+this._b|0,this._c=i+this._c|0,this._d=a+this._d|0,this._e=o+this._e|0,this._f=u+this._f|0,this._g=l+this._g|0,this._h=c+this._h|0},u.prototype._hash=function(){var e=i.allocUnsafe(32);return e.writeInt32BE(this._a,0),e.writeInt32BE(this._b,4),e.writeInt32BE(this._c,8),e.writeInt32BE(this._d,12),e.writeInt32BE(this._e,16),e.writeInt32BE(this._f,20),e.writeInt32BE(this._g,24),e.writeInt32BE(this._h,28),e},e.exports=u}),a.register("5qHaZ",function(e,t){var r=a("dlqwk"),n=a("bZI17"),i=a("O5ywn"),s=a("1U9GM").Buffer,o=Array(160);function u(){this.init(),this._w=o,i.call(this,128,112)}r(u,n),u.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},u.prototype._hash=function(){var e=s.allocUnsafe(48);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),e},e.exports=u}),a.register("bZI17",function(e,t){var r=a("dlqwk"),n=a("O5ywn"),i=a("1U9GM").Buffer,s=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591],o=Array(160);function u(){this.init(),this._w=o,n.call(this,128,112)}function l(e,t){return(e>>>28|t<<4)^(t>>>2|e<<30)^(t>>>7|e<<25)}function c(e,t){return(e>>>14|t<<18)^(e>>>18|t<<14)^(t>>>9|e<<23)}function d(e,t){return e>>>0>>0?1:0}r(u,n),u.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},u.prototype._update=function(e){for(var t=this._w,r=0|this._ah,n=0|this._bh,i=0|this._ch,a=0|this._dh,o=0|this._eh,u=0|this._fh,f=0|this._gh,h=0|this._hh,p=0|this._al,y=0|this._bl,m=0|this._cl,b=0|this._dl,g=0|this._el,v=0|this._fl,w=0|this._gl,A=0|this._hl,E=0;E<32;E+=2)t[E]=e.readInt32BE(4*E),t[E+1]=e.readInt32BE(4*E+4);for(;E<160;E+=2){var x,M,T,C,_,S,B,F,k=t[E-30],D=t[E-30+1],P=((x=k)>>>1|(M=D)<<31)^(x>>>8|M<<24)^x>>>7,O=((T=D)>>>1|(C=k)<<31)^(T>>>8|C<<24)^(T>>>7|C<<25);k=t[E-4],D=t[E-4+1];var N=((_=k)>>>19|(S=D)<<13)^(S>>>29|_<<3)^_>>>6,R=((B=D)>>>19|(F=k)<<13)^(F>>>29|B<<3)^(B>>>6|F<<26),I=t[E-14],L=t[E-14+1],j=t[E-32],U=t[E-32+1],H=O+L|0,G=P+I+d(H,O)|0;G=(G=G+N+d(H=H+R|0,R)|0)+j+d(H=H+U|0,U)|0,t[E]=G,t[E+1]=H}for(var z=0;z<160;z+=2){G=t[z],H=t[z+1];var q,V,W,K,J,Z,Y,$,X,Q,ee=(q=r)&(V=n)|i&(q|V),et=(W=p)&(K=y)|m&(W|K),er=l(r,p),en=l(p,r),ei=c(o,g),ea=c(g,o),es=s[z],eo=s[z+1],eu=(J=o,Z=u,(Y=f)^J&(Z^Y)),el=($=g,X=v,(Q=w)^$&(X^Q)),ec=A+ea|0,ed=h+ei+d(ec,A)|0;ed=(ed=(ed=ed+eu+d(ec=ec+el|0,el)|0)+es+d(ec=ec+eo|0,eo)|0)+G+d(ec=ec+H|0,H)|0;var ef=en+et|0,eh=er+ee+d(ef,en)|0;h=f,A=w,f=u,w=v,u=o,v=g,o=a+ed+d(g=b+ec|0,b)|0,a=i,b=m,i=n,m=y,n=r,y=p,r=ed+eh+d(p=ec+ef|0,ec)|0}this._al=this._al+p|0,this._bl=this._bl+y|0,this._cl=this._cl+m|0,this._dl=this._dl+b|0,this._el=this._el+g|0,this._fl=this._fl+v|0,this._gl=this._gl+w|0,this._hl=this._hl+A|0,this._ah=this._ah+r+d(this._al,p)|0,this._bh=this._bh+n+d(this._bl,y)|0,this._ch=this._ch+i+d(this._cl,m)|0,this._dh=this._dh+a+d(this._dl,b)|0,this._eh=this._eh+o+d(this._el,g)|0,this._fh=this._fh+u+d(this._fl,v)|0,this._gh=this._gh+f+d(this._gl,w)|0,this._hh=this._hh+h+d(this._hl,A)|0},u.prototype._hash=function(){var e=i.allocUnsafe(64);function t(t,r,n){e.writeInt32BE(t,n),e.writeInt32BE(r,n+4)}return t(this._ah,this._al,0),t(this._bh,this._bl,8),t(this._ch,this._cl,16),t(this._dh,this._dl,24),t(this._eh,this._el,32),t(this._fh,this._fl,40),t(this._gh,this._gl,48),t(this._hh,this._hl,56),e},e.exports=u}),a.register("26nOC",function(e,t){var r=a("1U9GM").Buffer,n=a("ioRHp").Transform,i=a("eNRCS").StringDecoder;function s(e){n.call(this),this.hashMode="string"==typeof e,this.hashMode?this[e]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}a("dlqwk")(s,n),s.prototype.update=function(e,t,n){"string"==typeof e&&(e=r.from(e,t));var i=this._update(e);return this.hashMode?this:(n&&(i=this._toString(i,n)),i)},s.prototype.setAutoPadding=function(){},s.prototype.getAuthTag=function(){throw Error("trying to get auth tag in unsupported state")},s.prototype.setAuthTag=function(){throw Error("trying to set auth tag in unsupported state")},s.prototype.setAAD=function(){throw Error("trying to set aad in unsupported state")},s.prototype._transform=function(e,t,r){var n;try{this.hashMode?this._update(e):this.push(this._update(e))}catch(e){n=e}finally{r(n)}},s.prototype._flush=function(e){var t;try{this.push(this.__final())}catch(e){t=e}e(t)},s.prototype._finalOrDigest=function(e){var t=this.__final()||r.alloc(0);return e&&(t=this._toString(t,e,!0)),t},s.prototype._toString=function(e,t,r){if(this._decoder||(this._decoder=new i(t),this._encoding=t),this._encoding!==t)throw Error("can't switch encodings");var n=this._decoder.write(e);return r&&(n+=this._decoder.end()),n},e.exports=s}),a.register("ioRHp",function(e,t){e.exports=n;var r=a("7etJZ").EventEmitter;function n(){r.call(this)}a("dlqwk")(n,r),n.Readable=a("d4xg3"),n.Writable=a("3LwY7"),n.Duplex=a("DwJuQ"),n.Transform=a("b7kl8"),n.PassThrough=a("4wWcs"),n.finished=a("fiCvv"),n.pipeline=a("aGSwO"),n.Stream=n,n.prototype.pipe=function(e,t){var n=this;function i(t){e.writable&&!1===e.write(t)&&n.pause&&n.pause()}function a(){n.readable&&n.resume&&n.resume()}n.on("data",i),e.on("drain",a),e._isStdio||t&&!1===t.end||(n.on("end",o),n.on("close",u));var s=!1;function o(){s||(s=!0,e.end())}function u(){s||(s=!0,"function"==typeof e.destroy&&e.destroy())}function l(e){if(c(),0===r.listenerCount(this,"error"))throw e}function c(){n.removeListener("data",i),e.removeListener("drain",a),n.removeListener("end",o),n.removeListener("close",u),n.removeListener("error",l),e.removeListener("error",l),n.removeListener("end",c),n.removeListener("close",c),e.removeListener("close",c)}return n.on("error",l),e.on("error",l),n.on("end",c),n.on("close",c),e.on("close",c),e.emit("pipe",n),e}}),a.register("eLj8Y",function(e,t){"use strict";var r,n,i=a("6ZWSX").Buffer;Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.toType=e.exports.TypeOutput=e.exports.bnToRlp=e.exports.bnToUnpaddedBuffer=e.exports.bnToHex=void 0;var s=a("4jhio"),o=a("aj8Qm"),u=a("b61lJ");function l(e){return(0,u.unpadBuffer)(e.toArrayLike(i))}e.exports.bnToHex=function(e){return"0x".concat(e.toString(16))},e.exports.bnToUnpaddedBuffer=l,e.exports.bnToRlp=function(e){return l(e)},(n=r=e.exports.TypeOutput||(e.exports.TypeOutput={}))[n.Number=0]="Number",n[n.BN=1]="BN",n[n.Buffer=2]="Buffer",n[n.PrefixedHexString=3]="PrefixedHexString",e.exports.toType=function(e,t){if(null===e)return null;if(void 0!==e){if("string"!=typeof e||(0,o.isHexString)(e)){if("number"==typeof e&&!Number.isSafeInteger(e))throw Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)")}else throw Error("A string must be provided with a 0x-prefix, given: ".concat(e));var n=(0,u.toBuffer)(e);if(t===r.Buffer)return n;if(t===r.BN)return new s.BN(n);if(t!==r.Number)return"0x".concat(n.toString("hex"));var i=new s.BN(n),a=new s.BN(Number.MAX_SAFE_INTEGER.toString());if(i.gt(a))throw Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)");return i.toNumber()}}}),a.register("aSXhg",function(e,t){"use strict";var r=a("6ZWSX").Buffer,n=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Address=void 0;var i=n(a("aLUwE")),s=a("4jhio"),o=a("b61lJ"),u=a("idiNS"),l=function(){function e(e){(0,i.default)(20===e.length,"Invalid address length"),this.buf=e}return e.zero=function(){return new e((0,o.zeros)(20))},e.fromString=function(t){return(0,i.default)((0,u.isValidAddress)(t),"Invalid address"),new e((0,o.toBuffer)(t))},e.fromPublicKey=function(t){(0,i.default)(r.isBuffer(t),"Public key should be Buffer");var n=(0,u.pubToAddress)(t);return new e(n)},e.fromPrivateKey=function(t){(0,i.default)(r.isBuffer(t),"Private key should be Buffer");var n=(0,u.privateToAddress)(t);return new e(n)},e.generate=function(t,n){return(0,i.default)(s.BN.isBN(n)),new e((0,u.generateAddress)(t.buf,n.toArrayLike(r)))},e.generate2=function(t,n,a){return(0,i.default)(r.isBuffer(n)),(0,i.default)(r.isBuffer(a)),new e((0,u.generateAddress2)(t.buf,n,a))},e.prototype.equals=function(e){return this.buf.equals(e.buf)},e.prototype.isZero=function(){return this.equals(e.zero())},e.prototype.isPrecompileOrSystemAddress=function(){var e=new s.BN(this.buf),t=new s.BN(0),r=new s.BN("ffff","hex");return e.gte(t)&&e.lte(r)},e.prototype.toString=function(){return"0x"+this.buf.toString("hex")},e.prototype.toBuffer=function(){return r.from(this.buf)},e}();e.exports.Address=l}),a.register("67JT1",function(e,t){"use strict";var r=a("6ZWSX").Buffer;Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.hashPersonalMessage=e.exports.isValidSignature=e.exports.fromRpcSig=e.exports.toCompactSig=e.exports.toRpcSig=e.exports.ecrecover=e.exports.ecsign=void 0;var n=a("iET4t"),i=a("4jhio"),s=a("b61lJ"),o=a("gKSHR"),u=a("7jIKp"),l=a("eLj8Y");function c(e,t){var r=(0,l.toType)(e,l.TypeOutput.BN);if(r.eqn(0)||r.eqn(1))return(0,l.toType)(e,l.TypeOutput.BN);if(!t)return r.subn(27);var n=(0,l.toType)(t,l.TypeOutput.BN);return r.sub(n.muln(2).addn(35))}function d(e){var t=new i.BN(e);return t.eqn(0)||t.eqn(1)}e.exports.ecsign=function(e,t,i){var a=(0,n.ecdsaSign)(e,t),s=a.signature,o=a.recid,u=r.from(s.slice(0,32)),c=r.from(s.slice(32,64));if(!i||"number"==typeof i){if(i&&!Number.isSafeInteger(i))throw Error("The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)");return{r:u,s:c,v:i?o+(2*i+35):o+27}}return{r:u,s:c,v:(0,l.toType)(i,l.TypeOutput.BN).muln(2).addn(35).addn(o).toArrayLike(r)}},e.exports.ecrecover=function(e,t,i,a,o){var u=r.concat([(0,s.setLengthLeft)(i,32),(0,s.setLengthLeft)(a,32)],64),l=c(t,o);if(!d(l))throw Error("Invalid signature v value");var f=(0,n.ecdsaRecover)(u,l.toNumber(),e);return r.from((0,n.publicKeyConvert)(f,!1).slice(1))},e.exports.toRpcSig=function(e,t,n,i){if(!d(c(e,i)))throw Error("Invalid signature v value");return(0,s.bufferToHex)(r.concat([(0,s.setLengthLeft)(t,32),(0,s.setLengthLeft)(n,32),(0,s.toBuffer)(e)]))},e.exports.toCompactSig=function(e,t,n,i){if(!d(c(e,i)))throw Error("Invalid signature v value");var a=(0,l.toType)(e,l.TypeOutput.Number),o=n;return(a>28&&a%2==1||1===a||28===a)&&(o=r.from(n),o[0]|=128),(0,s.bufferToHex)(r.concat([(0,s.setLengthLeft)(t,32),(0,s.setLengthLeft)(o,32)]))},e.exports.fromRpcSig=function(e){var t,r,n,i=(0,s.toBuffer)(e);if(i.length>=65)t=i.slice(0,32),r=i.slice(32,64),n=(0,s.bufferToInt)(i.slice(64));else if(64===i.length)t=i.slice(0,32),r=i.slice(32,64),n=(0,s.bufferToInt)(i.slice(32,33))>>7,r[0]&=127;else throw Error("Invalid signature length");return n<27&&(n+=27),{v:n,r:t,s:r}},e.exports.isValidSignature=function(e,t,r,n,a){void 0===n&&(n=!0);var s=new i.BN("7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0",16),o=new i.BN("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",16);if(32!==t.length||32!==r.length||!d(c(e,a)))return!1;var u=new i.BN(t),l=new i.BN(r);return!(u.isZero()||u.gt(o)||l.isZero()||l.gt(o))&&(!n||1!==l.cmp(s))},e.exports.hashPersonalMessage=function(e){(0,u.assertIsBuffer)(e);var t=r.from("\x19Ethereum Signed Message:\n".concat(e.length),"utf-8");return(0,o.keccak)(r.concat([t,e]))}}),a.register("cLPFP",function(e,t){"use strict";var r=a("6ZWSX").Buffer,n=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.defineProperties=void 0;var i=n(a("aLUwE")),s=a("aj8Qm"),o=a("4jhio"),u=a("b61lJ");e.exports.defineProperties=function(e,t,n){if(e.raw=[],e._fields=[],e.toJSON=function(t){if(void 0===t&&(t=!1),t){var r={};return e._fields.forEach(function(t){r[t]="0x".concat(e[t].toString("hex"))}),r}return(0,u.baToJSON)(e.raw)},e.serialize=function(){return o.rlp.encode(e.raw)},t.forEach(function(t,n){function a(){return e.raw[n]}function s(a){"00"!==(a=(0,u.toBuffer)(a)).toString("hex")||t.allowZero||(a=r.allocUnsafe(0)),t.allowLess&&t.length?(a=(0,u.unpadBuffer)(a),(0,i.default)(t.length>=a.length,"The field ".concat(t.name," must not have more ").concat(t.length," bytes"))):!(t.allowZero&&0===a.length)&&t.length&&(0,i.default)(t.length===a.length,"The field ".concat(t.name," must have byte length of ").concat(t.length)),e.raw[n]=a}e._fields.push(t.name),Object.defineProperty(e,t.name,{enumerable:!0,configurable:!0,get:a,set:s}),t.default&&(e[t.name]=t.default),t.alias&&Object.defineProperty(e,t.alias,{enumerable:!1,configurable:!0,set:s,get:a})}),n){if("string"==typeof n&&(n=r.from((0,s.stripHexPrefix)(n),"hex")),r.isBuffer(n)&&(n=o.rlp.decode(n)),Array.isArray(n)){if(n.length>e._fields.length)throw Error("wrong number of fields in data");n.forEach(function(t,r){e[e._fields[r]]=(0,u.toBuffer)(t)})}else if("object"==typeof n){var a=Object.keys(n);t.forEach(function(t){-1!==a.indexOf(t.name)&&(e[t.name]=n[t.name]),-1!==a.indexOf(t.alias)&&(e[t.alias]=n[t.alias])})}else throw Error("invalid data")}}}),a.register("36d7k",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0});var r=a("h9flZ");function n(e){return!!("string"==typeof e&&/^(0x)?[0-9a-f]{512}$/i.test(e))&&!!(/^(0x)?[0-9a-f]{512}$/.test(e)||/^(0x)?[0-9A-F]{512}$/.test(e))}function i(e,t){"object"==typeof t&&t.constructor===Uint8Array&&(t=r.bytesToHex(t));let n=r.keccak256(t).replace("0x","");for(let t=0;t<12;t+=4){let r=(parseInt(n.substr(t,2),16)<<8)+parseInt(n.substr(t+2,2),16)&2047,i=function(e){if(e>=48&&e<=57)return e-48;if(e>=65&&e<=70)return e-55;if(e>=97&&e<=102)return e-87;throw Error("invalid bloom")}(e.charCodeAt(e.length-1-Math.floor(r/4))),a=1<=256||parseInt(String(r))!=r)return!1}return!0}(e))return i(new Uint8Array(e));throw Error("invalid arrayify value")}function i(e){return void 0!==e.slice||(e.slice=()=>{let t=Array.prototype.slice.call(arguments);return i(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}e.exports.keccak256=function(e){return"0x"+r.keccak_256(n(e))},e.exports.padLeft=(e,t)=>{let r=/^0x/i.test(e)||"number"==typeof e;e=e.toString().replace(/^0x/i,"");let n=t-e.length+1>=0?t-e.length+1:0;return(r?"0x":"")+Array(n).join("0")+e},e.exports.bytesToHex=function(e){let t=[];for(let r=0;r>>4).toString(16)),t.push((15&e[r]).toString(16));return`0x${t.join("").replace(/^0+/,"")}`},e.exports.toByteArray=n}),a.register("1IGmO",function(e,t){var n=a("hPtJY");!function(){"use strict";var t="input is invalid type",i="object"==typeof window,a=i?window:{};a.JS_SHA3_NO_WINDOW&&(i=!1);var s=!i&&"object"==typeof self;!a.JS_SHA3_NO_NODE_JS&&"object"==typeof n&&n.versions&&n.versions.node?a=r:s&&(a=self);var o=!a.JS_SHA3_NO_COMMON_JS&&e.exports,u="function"==typeof define&&define.amd,l=!a.JS_SHA3_NO_ARRAY_BUFFER&&"undefined"!=typeof ArrayBuffer,c="0123456789abcdef".split(""),d=[4,1024,262144,67108864],f=[0,8,16,24],h=[1,0,32898,0,32906,2147483648,2147516416,2147483648,32907,0,2147483649,0,2147516545,2147483648,32777,2147483648,138,0,136,0,2147516425,0,2147483658,0,2147516555,0,139,2147483648,32905,2147483648,32771,2147483648,32770,2147483648,128,2147483648,32778,0,2147483658,2147483648,2147516545,2147483648,32896,2147483648,2147483649,0,2147516424,2147483648],p=[224,256,384,512],y=[128,256],m=["hex","buffer","arrayBuffer","array","digest"],b={128:168,256:136};(a.JS_SHA3_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(e){return"[object Array]"===Object.prototype.toString.call(e)}),l&&(a.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(e){return"object"==typeof e&&e.buffer&&e.buffer.constructor===ArrayBuffer});for(var g=function(e,t,r){return function(n){return new P(e,t,e).update(n)[r]()}},v=function(e,t,r){return function(n,i){return new P(e,t,i).update(n)[r]()}},w=function(e,t,r){return function(t,n,i,a){return T["cshake"+e].update(t,n,i,a)[r]()}},A=function(e,t,r){return function(t,n,i,a){return T["kmac"+e].update(t,n,i,a)[r]()}},E=function(e,t,r,n){for(var i=0;i>5,this.byteCount=this.blockCount<<2,this.outputBlocks=r>>5,this.extraBytes=(31&r)>>3;for(var n=0;n<50;++n)this.s[n]=0}function O(e,t,r){P.call(this,e,t,r)}P.prototype.update=function(e){if(this.finalized)throw Error("finalize already called");var r,n=typeof e;if("string"!==n){if("object"===n){if(null===e)throw Error(t);if(l&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!l||!ArrayBuffer.isView(e)))throw Error(t)}else throw Error(t);r=!0}for(var i,a,s=this.blocks,o=this.byteCount,u=e.length,c=this.blockCount,d=0,h=this.s;d>2]|=e[d]<>2]|=a<>2]|=(192|a>>6)<>2]|=(128|63&a)<=57344?(s[i>>2]|=(224|a>>12)<>2]|=(128|a>>6&63)<>2]|=(128|63&a)<>2]|=(240|a>>18)<>2]|=(128|a>>12&63)<>2]|=(128|a>>6&63)<>2]|=(128|63&a)<=o){for(this.start=i-o,this.block=s[c],i=0;i>=8,r=255&e;r>0;)i.unshift(r),e>>=8,r=255&e,++n;return t?i.push(n):i.unshift(n),this.update(i),i.length},P.prototype.encodeString=function(e){var r,n=typeof e;if("string"!==n){if("object"===n){if(null===e)throw Error(t);if(l&&e.constructor===ArrayBuffer)e=new Uint8Array(e);else if(!Array.isArray(e)&&(!l||!ArrayBuffer.isView(e)))throw Error(t)}else throw Error(t);r=!0}var i=0,a=e.length;if(r)i=a;else for(var s=0;s=57344?i+=3:(o=65536+((1023&o)<<10|1023&e.charCodeAt(++s)),i+=4)}return i+=this.encode(8*i),this.update(e),i},P.prototype.bytepad=function(e,t){for(var r=this.encode(t),n=0;n>2]|=this.padding[3&t],this.lastByteIndex===this.byteCount)for(t=1,e[0]=e[r];t>4&15]+c[15&e]+c[e>>12&15]+c[e>>8&15]+c[e>>20&15]+c[e>>16&15]+c[e>>28&15]+c[e>>24&15];s%t==0&&(N(r),a=0)}return i&&(o+=c[(e=r[a])>>4&15]+c[15&e],i>1&&(o+=c[e>>12&15]+c[e>>8&15]),i>2&&(o+=c[e>>20&15]+c[e>>16&15])),o},P.prototype.arrayBuffer=function(){this.finalize();var e,t=this.blockCount,r=this.s,n=this.outputBlocks,i=this.extraBytes,a=0,s=0,o=this.outputBits>>3;e=new ArrayBuffer(i?n+1<<2:o);for(var u=new Uint32Array(e);s>8&255,u[e+2]=t>>16&255,u[e+3]=t>>24&255;o%r==0&&N(n)}return a&&(e=o<<2,t=n[s],u[e]=255&t,a>1&&(u[e+1]=t>>8&255),a>2&&(u[e+2]=t>>16&255)),u},O.prototype=new P,O.prototype.finalize=function(){return this.encode(this.outputBits,!0),P.prototype.finalize.call(this)};var N=function(e){var t,r,n,i,a,s,o,u,l,c,d,f,p,y,m,b,g,v,w,A,E,x,M,T,C,_,S,B,F,k,D,P,O,N,R,I,L,j,U,H,G,z,q,V,W,K,J,Z,Y,$,X,Q,ee,et,er,en,ei,ea,es,eo,eu,el,ec;for(n=0;n<48;n+=2)i=e[0]^e[10]^e[20]^e[30]^e[40],a=e[1]^e[11]^e[21]^e[31]^e[41],s=e[2]^e[12]^e[22]^e[32]^e[42],o=e[3]^e[13]^e[23]^e[33]^e[43],u=e[4]^e[14]^e[24]^e[34]^e[44],l=e[5]^e[15]^e[25]^e[35]^e[45],c=e[6]^e[16]^e[26]^e[36]^e[46],d=e[7]^e[17]^e[27]^e[37]^e[47],f=e[8]^e[18]^e[28]^e[38]^e[48],p=e[9]^e[19]^e[29]^e[39]^e[49],t=f^(s<<1|o>>>31),r=p^(o<<1|s>>>31),e[0]^=t,e[1]^=r,e[10]^=t,e[11]^=r,e[20]^=t,e[21]^=r,e[30]^=t,e[31]^=r,e[40]^=t,e[41]^=r,t=i^(u<<1|l>>>31),r=a^(l<<1|u>>>31),e[2]^=t,e[3]^=r,e[12]^=t,e[13]^=r,e[22]^=t,e[23]^=r,e[32]^=t,e[33]^=r,e[42]^=t,e[43]^=r,t=s^(c<<1|d>>>31),r=o^(d<<1|c>>>31),e[4]^=t,e[5]^=r,e[14]^=t,e[15]^=r,e[24]^=t,e[25]^=r,e[34]^=t,e[35]^=r,e[44]^=t,e[45]^=r,t=u^(f<<1|p>>>31),r=l^(p<<1|f>>>31),e[6]^=t,e[7]^=r,e[16]^=t,e[17]^=r,e[26]^=t,e[27]^=r,e[36]^=t,e[37]^=r,e[46]^=t,e[47]^=r,t=c^(i<<1|a>>>31),r=d^(a<<1|i>>>31),e[8]^=t,e[9]^=r,e[18]^=t,e[19]^=r,e[28]^=t,e[29]^=r,e[38]^=t,e[39]^=r,e[48]^=t,e[49]^=r,y=e[0],m=e[1],K=e[11]<<4|e[10]>>>28,J=e[10]<<4|e[11]>>>28,B=e[20]<<3|e[21]>>>29,F=e[21]<<3|e[20]>>>29,eo=e[31]<<9|e[30]>>>23,eu=e[30]<<9|e[31]>>>23,z=e[40]<<18|e[41]>>>14,q=e[41]<<18|e[40]>>>14,N=e[2]<<1|e[3]>>>31,R=e[3]<<1|e[2]>>>31,b=e[13]<<12|e[12]>>>20,g=e[12]<<12|e[13]>>>20,Z=e[22]<<10|e[23]>>>22,Y=e[23]<<10|e[22]>>>22,k=e[33]<<13|e[32]>>>19,D=e[32]<<13|e[33]>>>19,el=e[42]<<2|e[43]>>>30,ec=e[43]<<2|e[42]>>>30,et=e[5]<<30|e[4]>>>2,er=e[4]<<30|e[5]>>>2,I=e[14]<<6|e[15]>>>26,L=e[15]<<6|e[14]>>>26,v=e[25]<<11|e[24]>>>21,w=e[24]<<11|e[25]>>>21,$=e[34]<<15|e[35]>>>17,X=e[35]<<15|e[34]>>>17,P=e[45]<<29|e[44]>>>3,O=e[44]<<29|e[45]>>>3,T=e[6]<<28|e[7]>>>4,C=e[7]<<28|e[6]>>>4,en=e[17]<<23|e[16]>>>9,ei=e[16]<<23|e[17]>>>9,j=e[26]<<25|e[27]>>>7,U=e[27]<<25|e[26]>>>7,A=e[36]<<21|e[37]>>>11,E=e[37]<<21|e[36]>>>11,Q=e[47]<<24|e[46]>>>8,ee=e[46]<<24|e[47]>>>8,V=e[8]<<27|e[9]>>>5,W=e[9]<<27|e[8]>>>5,_=e[18]<<20|e[19]>>>12,S=e[19]<<20|e[18]>>>12,ea=e[29]<<7|e[28]>>>25,es=e[28]<<7|e[29]>>>25,H=e[38]<<8|e[39]>>>24,G=e[39]<<8|e[38]>>>24,x=e[48]<<14|e[49]>>>18,M=e[49]<<14|e[48]>>>18,e[0]=y^~b&v,e[1]=m^~g&w,e[10]=T^~_&B,e[11]=C^~S&F,e[20]=N^~I&j,e[21]=R^~L&U,e[30]=V^~K&Z,e[31]=W^~J&Y,e[40]=et^~en&ea,e[41]=er^~ei&es,e[2]=b^~v&A,e[3]=g^~w&E,e[12]=_^~B&k,e[13]=S^~F&D,e[22]=I^~j&H,e[23]=L^~U&G,e[32]=K^~Z&$,e[33]=J^~Y&X,e[42]=en^~ea&eo,e[43]=ei^~es&eu,e[4]=v^~A&x,e[5]=w^~E&M,e[14]=B^~k&P,e[15]=F^~D&O,e[24]=j^~H&z,e[25]=U^~G&q,e[34]=Z^~$&Q,e[35]=Y^~X&ee,e[44]=ea^~eo&el,e[45]=es^~eu&ec,e[6]=A^~x&y,e[7]=E^~M&m,e[16]=k^~P&T,e[17]=D^~O&C,e[26]=H^~z&N,e[27]=G^~q&R,e[36]=$^~Q&V,e[37]=X^~ee&W,e[46]=eo^~el&et,e[47]=eu^~ec&er,e[8]=x^~y&b,e[9]=M^~m&g,e[18]=P^~T&_,e[19]=O^~C&S,e[28]=z^~N&I,e[29]=q^~R&L,e[38]=Q^~V&K,e[39]=ee^~W&J,e[48]=el^~et&en,e[49]=ec^~er&ei,e[0]^=h[n],e[1]^=h[n+1]};if(o)e.exports=T;else{for(_=0;_32||o256)throw Error("Invalid uint"+o+" size");if((l=u(t)).bitLength()>o)throw Error("Supplied uint exceeds width: "+o+" vs "+l.bitLength());if(l.lt(new r(0)))throw Error("Supplied uint "+l.toString()+" is negative");return o?n.leftPad(l.toString("hex"),o/8*2):l}if(e.startsWith("int")){if(o%8||o<8||o>256)throw Error("Invalid int"+o+" size");if((l=u(t)).bitLength()>o)throw Error("Supplied int exceeds width: "+o+" vs "+l.bitLength());return l.lt(new r(0))?l.toTwos(o).toString("hex"):o?n.leftPad(l.toString("hex"),o/8*2):l}throw Error("Unsupported or invalid type: "+e)},c=function(e){if(Array.isArray(e))throw Error("Autodetection of array types is not supported.");var t,i,a="";if(e&&"object"==typeof e&&(e.hasOwnProperty("v")||e.hasOwnProperty("t")||e.hasOwnProperty("value")||e.hasOwnProperty("type"))?(i=e.hasOwnProperty("t")?e.t:e.type,a=e.hasOwnProperty("v")?e.v:e.value):(i=n.toHex(e,!0),a=n.toHex(e),i.startsWith("int")||i.startsWith("uint")||(i="bytes")),(i.startsWith("int")||i.startsWith("uint"))&&"string"==typeof a&&!/^(-)?0x/i.test(a)&&(a=new r(a)),Array.isArray(a)){if((t=o(i))&&a.length!==t)throw Error(i+" is not matching the given array "+JSON.stringify(a));t=a.length}return Array.isArray(a)?a.map(function(e){return l(i,e,t).toString("hex").replace("0x","")}).join(""):l(i,a,t).toString("hex").replace("0x","")};e.exports={soliditySha3:function(){var e=Array.prototype.slice.call(arguments),t=e.map(c);return n.sha3("0x"+t.join(""))},soliditySha3Raw:function(){return n.sha3Raw("0x"+Array.prototype.slice.call(arguments).map(c).join(""))},encodePacked:function(){var e=Array.prototype.slice.call(arguments);return"0x"+e.map(c).join("").toLowerCase()}}}),a.register("ulSff",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.networks=void 0,e.exports.networks=[{chainId:1,shortName:"eth"},{chainId:3,shortName:"rop"},{chainId:4,shortName:"rin"},{chainId:5,shortName:"gor"},{chainId:10,shortName:"oeth"},{chainId:11,shortName:"meta"},{chainId:12,shortName:"kal"},{chainId:18,shortName:"tst"},{chainId:25,shortName:"cro"},{chainId:28,shortName:"bobarinkeby"},{chainId:39,shortName:"u2u"},{chainId:40,shortName:"telosevm"},{chainId:41,shortName:"telosevmtestnet"},{chainId:42,shortName:"kov"},{chainId:50,shortName:"xdc"},{chainId:51,shortName:"txdc"},{chainId:56,shortName:"bnb"},{chainId:61,shortName:"etc"},{chainId:63,shortName:"metc"},{chainId:69,shortName:"okov"},{chainId:82,shortName:"meter"},{chainId:83,shortName:"meter-test"},{chainId:97,shortName:"bnbt"},{chainId:100,shortName:"gno"},{chainId:106,shortName:"vlx"},{chainId:108,shortName:"tt"},{chainId:111,shortName:"etl"},{chainId:122,shortName:"fuse"},{chainId:123,shortName:"spark"},{chainId:137,shortName:"matic"},{chainId:246,shortName:"ewt"},{chainId:250,shortName:"ftm"},{chainId:288,shortName:"boba"},{chainId:300,shortName:"ogn"},{chainId:321,shortName:"kcs"},{chainId:322,shortName:"kcst"},{chainId:336,shortName:"sdn"},{chainId:338,shortName:"tcro"},{chainId:420,shortName:"ogor"},{chainId:588,shortName:"metis-stardust"},{chainId:592,shortName:"astr"},{chainId:595,shortName:"maca"},{chainId:599,shortName:"metis-goerli"},{chainId:686,shortName:"kar"},{chainId:787,shortName:"aca"},{chainId:1001,shortName:"baobab"},{chainId:1008,shortName:"eun"},{chainId:1088,shortName:"metis-andromeda"},{chainId:1101,shortName:"zkevm"},{chainId:1111,shortName:"wemix"},{chainId:1112,shortName:"twemix"},{chainId:1115,shortName:"tcore"},{chainId:1116,shortName:"core"},{chainId:1284,shortName:"mbeam"},{chainId:1285,shortName:"mriver"},{chainId:1287,shortName:"mbase"},{chainId:1294,shortName:"bobabeam"},{chainId:1807,shortName:"rana"},{chainId:1984,shortName:"euntest"},{chainId:2001,shortName:"milkada"},{chainId:2002,shortName:"milkalgo"},{chainId:2008,shortName:"cloudwalk_testnet"},{chainId:2019,shortName:"pmint_test"},{chainId:2020,shortName:"pmint"},{chainId:2221,shortName:"tkava"},{chainId:2222,shortName:"kava"},{chainId:3737,shortName:"csb"},{chainId:4002,shortName:"tftm"},{chainId:4689,shortName:"iotex-mainnet"},{chainId:4918,shortName:"txvm"},{chainId:4919,shortName:"xvm"},{chainId:7341,shortName:"shyft"},{chainId:7700,shortName:"canto"},{chainId:8217,shortName:"cypress"},{chainId:9e3,shortName:"evmos-testnet"},{chainId:9001,shortName:"evmos"},{chainId:9728,shortName:"boba-testnet"},{chainId:1e4,shortName:"smartbch"},{chainId:10001,shortName:"smartbchtest"},{chainId:10200,shortName:"chi"},{chainId:11235,shortName:"islm"},{chainId:11437,shortName:"shyftt"},{chainId:12357,shortName:"rei-testnet"},{chainId:23294,shortName:"sapphire"},{chainId:42161,shortName:"arb1"},{chainId:42170,shortName:"arb-nova"},{chainId:42220,shortName:"celo"},{chainId:43113,shortName:"fuji"},{chainId:43114,shortName:"avax"},{chainId:43288,shortName:"boba-avax"},{chainId:44787,shortName:"alfa"},{chainId:45e3,shortName:"autobahnnetwork"},{chainId:47805,shortName:"rei"},{chainId:54211,shortName:"islmt"},{chainId:56288,shortName:"boba-bnb"},{chainId:71401,shortName:"gw-testnet-v1"},{chainId:71402,shortName:"gw-mainnet-v1"},{chainId:73799,shortName:"vt"},{chainId:80001,shortName:"maticmum"},{chainId:84531,shortName:"base-gor"},{chainId:200101,shortName:"milktada"},{chainId:200202,shortName:"milktalgo"},{chainId:333999,shortName:"olympus"},{chainId:421611,shortName:"arb-rinkeby"},{chainId:421613,shortName:"arb-goerli"},{chainId:534353,shortName:"scr-alpha"},{chainId:11155111,shortName:"sep"},{chainId:245022926,shortName:"neonevm-devnet"},{chainId:1313161554,shortName:"aurora"},{chainId:1313161555,shortName:"aurora-testnet"},{chainId:16666e5,shortName:"hmy-s0"},{chainId:16667e5,shortName:"hmy-b-s0"},{chainId:11297108099,shortName:"tpalm"},{chainId:11297108109,shortName:"palm"}]}),a.register("cbPuo",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.generateTypedData=e.exports.getEip712MessageTypes=e.exports.EIP712_DOMAIN=e.exports.EIP712_DOMAIN_BEFORE_V130=void 0;let n=r(a("eHBEA")),i=">=1.3.0";function s(t){let r=(0,n.default)(t,i);return{EIP712Domain:r?e.exports.EIP712_DOMAIN:e.exports.EIP712_DOMAIN_BEFORE_V130,SafeTx:[{type:"address",name:"to"},{type:"uint256",name:"value"},{type:"bytes",name:"data"},{type:"uint8",name:"operation"},{type:"uint256",name:"safeTxGas"},{type:"uint256",name:"baseGas"},{type:"uint256",name:"gasPrice"},{type:"address",name:"gasToken"},{type:"address",name:"refundReceiver"},{type:"uint256",name:"nonce"}]}}e.exports.EIP712_DOMAIN_BEFORE_V130=[{type:"address",name:"verifyingContract"}],e.exports.EIP712_DOMAIN=[{type:"uint256",name:"chainId"},{type:"address",name:"verifyingContract"}],e.exports.getEip712MessageTypes=s,e.exports.generateTypedData=function({safeAddress:e,safeVersion:t,chainId:r,safeTransactionData:a}){let o=(0,n.default)(t,i),u={types:s(t),domain:{verifyingContract:e},primaryType:"SafeTx",message:{...a,value:a.value,safeTxGas:a.safeTxGas,baseGas:a.baseGas,gasPrice:a.gasPrice,nonce:a.nonce}};return o&&(u.domain.chainId=r),u}}),a.register("eHBEA",function(e,t){var r=a("2bwZd");e.exports=(e,t,n)=>{try{t=new r(t,n)}catch(e){return!1}return t.test(e)}}),a.register("2bwZd",function(e,t){class r{constructor(e,t){if(t=s(t),e instanceof r){if(!!t.loose===e.loose&&!!t.includePrerelease===e.includePrerelease)return e;return new r(e.raw,t)}if(e instanceof o)return this.raw=e.value,this.set=[[e]],this.format(),this;if(this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease,this.raw=e,this.set=e.split("||").map(e=>this.parseRange(e.trim())).filter(e=>e.length),!this.set.length)throw TypeError(`Invalid SemVer Range: ${e}`);if(this.set.length>1){let e=this.set[0];if(this.set=this.set.filter(e=>!v(e[0])),0===this.set.length)this.set=[e];else if(this.set.length>1){for(let e of this.set)if(1===e.length&&w(e[0])){this.set=[e];break}}}this.format()}format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||").trim(),this.range}toString(){return this.range}parseRange(e){e=e.trim();let t=(this.options.includePrerelease&&b)|(this.options.loose&&g),r=t+":"+e,n=i.get(r);if(n)return n;let a=this.options.loose,s=a?d[f.HYPHENRANGELOOSE]:d[f.HYPHENRANGE];u("hyphen replace",e=e.replace(s,D(this.options.includePrerelease))),u("comparator trim",e=e.replace(d[f.COMPARATORTRIM],h));let l=(e=(e=(e=e.replace(d[f.TILDETRIM],p)).replace(d[f.CARETTRIM],y)).split(/\s+/).join(" ")).split(" ").map(e=>E(e,this.options)).join(" ").split(/\s+/).map(e=>k(e,this.options));a&&(l=l.filter(e=>(u("loose invalid filter",e,this.options),!!e.match(d[f.COMPARATORLOOSE])))),u("range list",l);let c=new Map,m=l.map(e=>new o(e,this.options));for(let e of m){if(v(e))return[e];c.set(e.value,e)}c.size>1&&c.has("")&&c.delete("");let w=[...c.values()];return i.set(r,w),w}intersects(e,t){if(!(e instanceof r))throw TypeError("a Range is required");return this.set.some(r=>A(r,t)&&e.set.some(e=>A(e,t)&&r.every(r=>e.every(e=>r.intersects(e,t)))))}test(e){if(!e)return!1;if("string"==typeof e)try{e=new l(e,this.options)}catch(e){return!1}for(let t=0;t"<0.0.0-0"===e.value,w=e=>""===e.value,A=(e,t)=>{let r=!0,n=e.slice(),i=n.pop();for(;r&&n.length;)r=n.every(e=>i.intersects(e,t)),i=n.pop();return r},E=(e,t)=>(u("comp",e,t),e=C(e,t),u("caret",e),e=M(e,t),u("tildes",e),e=S(e,t),u("xrange",e),e=F(e,t),u("stars",e),e),x=e=>!e||"x"===e.toLowerCase()||"*"===e,M=(e,t)=>e.trim().split(/\s+/).map(e=>T(e,t)).join(" "),T=(e,t)=>{let r=t.loose?d[f.TILDELOOSE]:d[f.TILDE];return e.replace(r,(t,r,n,i,a)=>{let s;return u("tilde",e,t,r,n,i,a),x(r)?s="":x(n)?s=`>=${r}.0.0 <${+r+1}.0.0-0`:x(i)?s=`>=${r}.${n}.0 <${r}.${+n+1}.0-0`:a?(u("replaceTilde pr",a),s=`>=${r}.${n}.${i}-${a} <${r}.${+n+1}.0-0`):s=`>=${r}.${n}.${i} <${r}.${+n+1}.0-0`,u("tilde return",s),s})},C=(e,t)=>e.trim().split(/\s+/).map(e=>_(e,t)).join(" "),_=(e,t)=>{u("caret",e,t);let r=t.loose?d[f.CARETLOOSE]:d[f.CARET],n=t.includePrerelease?"-0":"";return e.replace(r,(t,r,i,a,s)=>{let o;return u("caret",e,t,r,i,a,s),x(r)?o="":x(i)?o=`>=${r}.0.0${n} <${+r+1}.0.0-0`:x(a)?o="0"===r?`>=${r}.${i}.0${n} <${r}.${+i+1}.0-0`:`>=${r}.${i}.0${n} <${+r+1}.0.0-0`:s?(u("replaceCaret pr",s),o="0"===r?"0"===i?`>=${r}.${i}.${a}-${s} <${r}.${i}.${+a+1}-0`:`>=${r}.${i}.${a}-${s} <${r}.${+i+1}.0-0`:`>=${r}.${i}.${a}-${s} <${+r+1}.0.0-0`):(u("no pr"),o="0"===r?"0"===i?`>=${r}.${i}.${a}${n} <${r}.${i}.${+a+1}-0`:`>=${r}.${i}.${a}${n} <${r}.${+i+1}.0-0`:`>=${r}.${i}.${a} <${+r+1}.0.0-0`),u("caret return",o),o})},S=(e,t)=>(u("replaceXRanges",e,t),e.split(/\s+/).map(e=>B(e,t)).join(" ")),B=(e,t)=>{e=e.trim();let r=t.loose?d[f.XRANGELOOSE]:d[f.XRANGE];return e.replace(r,(r,n,i,a,s,o)=>{u("xRange",e,r,n,i,a,s,o);let l=x(i),c=l||x(a),d=c||x(s);return"="===n&&d&&(n=""),o=t.includePrerelease?"-0":"",l?r=">"===n||"<"===n?"<0.0.0-0":"*":n&&d?(c&&(a=0),s=0,">"===n?(n=">=",c?(i=+i+1,a=0,s=0):(a=+a+1,s=0)):"<="===n&&(n="<",c?i=+i+1:a=+a+1),"<"===n&&(o="-0"),r=`${n+i}.${a}.${s}${o}`):c?r=`>=${i}.0.0${o} <${+i+1}.0.0-0`:d&&(r=`>=${i}.${a}.0${o} <${i}.${+a+1}.0-0`),u("xRange return",r),r})},F=(e,t)=>(u("replaceStars",e,t),e.trim().replace(d[f.STAR],"")),k=(e,t)=>(u("replaceGTE0",e,t),e.trim().replace(d[t.includePrerelease?f.GTE0PRE:f.GTE0],"")),D=e=>(t,r,n,i,a,s,o,u,l,c,d,f,h)=>`${r=x(n)?"":x(i)?`>=${n}.0.0${e?"-0":""}`:x(a)?`>=${n}.${i}.0${e?"-0":""}`:s?`>=${r}`:`>=${r}${e?"-0":""}`} ${u=x(l)?"":x(c)?`<${+l+1}.0.0-0`:x(d)?`<${l}.${+c+1}.0-0`:f?`<=${l}.${c}.${d}-${f}`:e?`<${l}.${c}.${+d+1}-0`:`<=${u}`}`.trim(),P=(e,t,r)=>{for(let r=0;r0){let n=e[r].semver;if(n.major===t.major&&n.minor===t.minor&&n.patch===t.patch)return!0}return!1}return!0}}),a.register("bnToR",function(e,t){"use strict";var r=a("276rC");let n=Symbol("max"),i=Symbol("length"),s=Symbol("lengthCalculator"),o=Symbol("allowStale"),u=Symbol("maxAge"),l=Symbol("dispose"),c=Symbol("noDisposeOnSet"),d=Symbol("lruList"),f=Symbol("cache"),h=Symbol("updateAgeOnGet"),p=()=>1,y=(e,t,r)=>{let n=e[f].get(t);if(n){let t=n.value;if(m(e,t)){if(g(e,n),!e[o])return}else r&&(e[h]&&(n.value.now=Date.now()),e[d].unshiftNode(n));return t.value}},m=(e,t)=>{if(!t||!t.maxAge&&!e[u])return!1;let r=Date.now()-t.now;return t.maxAge?r>t.maxAge:e[u]&&r>e[u]},b=e=>{if(e[i]>e[n])for(let t=e[d].tail;e[i]>e[n]&&null!==t;){let r=t.prev;g(e,t),t=r}},g=(e,t)=>{if(t){let r=t.value;e[l]&&e[l](r.key,r.value),e[i]-=r.length,e[f].delete(r.key),e[d].removeNode(t)}};class v{constructor(e,t,r,n,i){this.key=e,this.value=t,this.length=r,this.now=n,this.maxAge=i||0}}let w=(e,t,r,n)=>{let i=r.value;m(e,i)&&(g(e,r),e[o]||(i=void 0)),i&&t.call(n,i.value,i.key,e)};e.exports=class{constructor(e){if("number"==typeof e&&(e={max:e}),e||(e={}),e.max&&("number"!=typeof e.max||e.max<0))throw TypeError("max must be a non-negative number");this[n]=e.max||1/0;let t=e.length||p;if(this[s]="function"!=typeof t?p:t,this[o]=e.stale||!1,e.maxAge&&"number"!=typeof e.maxAge)throw TypeError("maxAge must be a number");this[u]=e.maxAge||0,this[l]=e.dispose,this[c]=e.noDisposeOnSet||!1,this[h]=e.updateAgeOnGet||!1,this.reset()}set max(e){if("number"!=typeof e||e<0)throw TypeError("max must be a non-negative number");this[n]=e||1/0,b(this)}get max(){return this[n]}set allowStale(e){this[o]=!!e}get allowStale(){return this[o]}set maxAge(e){if("number"!=typeof e)throw TypeError("maxAge must be a non-negative number");this[u]=e,b(this)}get maxAge(){return this[u]}set lengthCalculator(e){"function"!=typeof e&&(e=p),e!==this[s]&&(this[s]=e,this[i]=0,this[d].forEach(e=>{e.length=this[s](e.value,e.key),this[i]+=e.length})),b(this)}get lengthCalculator(){return this[s]}get length(){return this[i]}get itemCount(){return this[d].length}rforEach(e,t){t=t||this;for(let r=this[d].tail;null!==r;){let n=r.prev;w(this,e,r,t),r=n}}forEach(e,t){t=t||this;for(let r=this[d].head;null!==r;){let n=r.next;w(this,e,r,t),r=n}}keys(){return this[d].toArray().map(e=>e.key)}values(){return this[d].toArray().map(e=>e.value)}reset(){this[l]&&this[d]&&this[d].length&&this[d].forEach(e=>this[l](e.key,e.value)),this[f]=new Map,this[d]=new r,this[i]=0}dump(){return this[d].map(e=>!m(this,e)&&{k:e.key,v:e.value,e:e.now+(e.maxAge||0)}).toArray().filter(e=>e)}dumpLru(){return this[d]}set(e,t,r){if((r=r||this[u])&&"number"!=typeof r)throw TypeError("maxAge must be a number");let a=r?Date.now():0,o=this[s](t,e);if(this[f].has(e)){if(o>this[n])return g(this,this[f].get(e)),!1;let s=this[f].get(e),u=s.value;return this[l]&&!this[c]&&this[l](e,u.value),u.now=a,u.maxAge=r,u.value=t,this[i]+=o-u.length,u.length=o,this.get(e),b(this),!0}let h=new v(e,t,o,a,r);return h.length>this[n]?(this[l]&&this[l](e,t),!1):(this[i]+=h.length,this[d].unshift(h),this[f].set(e,this[d].head),b(this),!0)}has(e){if(!this[f].has(e))return!1;let t=this[f].get(e).value;return!m(this,t)}get(e){return y(this,e,!0)}peek(e){return y(this,e,!1)}pop(){let e=this[d].tail;return e?(g(this,e),e.value):null}del(e){g(this,this[f].get(e))}load(e){this.reset();let t=Date.now();for(let r=e.length-1;r>=0;r--){let n=e[r],i=n.e||0;if(0===i)this.set(n.k,n.v);else{let e=i-t;e>0&&this.set(n.k,n.v,e)}}}prune(){this[f].forEach((e,t)=>y(this,t,!1))}}}),a.register("276rC",function(e,t){"use strict";function r(e){var t=this;if(t instanceof r||(t=new r),t.tail=null,t.head=null,t.length=0,e&&"function"==typeof e.forEach)e.forEach(function(e){t.push(e)});else if(arguments.length>0)for(var n=0,i=arguments.length;n1)r=t;else if(this.head)n=this.head.next,r=this.head.value;else throw TypeError("Reduce of empty list with no initial value");for(var i=0;null!==n;i++)r=e(r,n.value,i),n=n.next;return r},r.prototype.reduceReverse=function(e,t){var r,n=this.tail;if(arguments.length>1)r=t;else if(this.tail)n=this.tail.prev,r=this.tail.value;else throw TypeError("Reduce of empty list with no initial value");for(var i=this.length-1;null!==n;i--)r=e(r,n.value,i),n=n.prev;return r},r.prototype.toArray=function(){for(var e=Array(this.length),t=0,r=this.head;null!==r;t++)e[t]=r.value,r=r.next;return e},r.prototype.toArrayReverse=function(){for(var e=Array(this.length),t=0,r=this.tail;null!==r;t++)e[t]=r.value,r=r.prev;return e},r.prototype.slice=function(e,t){(t=t||this.length)<0&&(t+=this.length),(e=e||0)<0&&(e+=this.length);var n=new r;if(tthis.length&&(t=this.length);for(var i=0,a=this.head;null!==a&&ithis.length&&(t=this.length);for(var i=this.length,a=this.tail;null!==a&&i>t;i--)a=a.prev;for(;null!==a&&i>e;i--,a=a.prev)n.push(a.value);return n},r.prototype.splice=function(e,t,...r){e>this.length&&(e=this.length-1),e<0&&(e=this.length+e);for(var i=0,a=this.head;null!==a&&ie?"object"!=typeof e?r:e:n}),a.register("azCrR",function(e,t){let r=Symbol("SemVer ANY");class n{static get ANY(){return r}constructor(e,t){if(t=i(t),e instanceof n){if(!!t.loose===e.loose)return e;e=e.value}c("comparator",e,t),this.options=t,this.loose=!!t.loose,this.parse(e),this.semver===r?this.value="":this.value=this.operator+this.semver.version,c("comp",this)}parse(e){let t=this.options.loose?o[u.COMPARATORLOOSE]:o[u.COMPARATOR],n=e.match(t);if(!n)throw TypeError(`Invalid comparator: ${e}`);this.operator=void 0!==n[1]?n[1]:"","="===this.operator&&(this.operator=""),n[2]?this.semver=new d(n[2],this.options.loose):this.semver=r}toString(){return this.value}test(e){if(c("Comparator.test",e,this.options.loose),this.semver===r||e===r)return!0;if("string"==typeof e)try{e=new d(e,this.options)}catch(e){return!1}return l(e,this.operator,this.semver,this.options)}intersects(e,t){if(!(e instanceof n))throw TypeError("a Comparator is required");return""===this.operator?""===this.value||new f(e.value,t).test(this.value):""===e.operator?""===e.value||new f(this.value,t).test(e.semver):!((t=i(t)).includePrerelease&&("<0.0.0-0"===this.value||"<0.0.0-0"===e.value)||!t.includePrerelease&&(this.value.startsWith("<0.0.0")||e.value.startsWith("<0.0.0")))&&!!(this.operator.startsWith(">")&&e.operator.startsWith(">")||this.operator.startsWith("<")&&e.operator.startsWith("<")||this.semver.version===e.semver.version&&this.operator.includes("=")&&e.operator.includes("=")||l(this.semver,"<",e.semver,t)&&this.operator.startsWith(">")&&e.operator.startsWith("<")||l(this.semver,">",e.semver,t)&&this.operator.startsWith("<")&&e.operator.startsWith(">"))}}e.exports=n;var i=a("aWnqj"),s=a("1RjJH"),o=s.re,u=s.t,l=a("Zfh0y"),c=a("afJI7"),d=a("8YHM6"),f=a("2bwZd")}),a.register("1RjJH",function(e,t){var r=a("hScrW").MAX_SAFE_COMPONENT_LENGTH,n=a("afJI7");t=e.exports={};let i=t.re=[],s=t.src=[],o=t.t={},u=0,l=(e,t,r)=>{let a=u++;n(e,a,t),o[e]=a,s[a]=t,i[a]=new RegExp(t,r?"g":void 0)};l("NUMERICIDENTIFIER","0|[1-9]\\d*"),l("NUMERICIDENTIFIERLOOSE","[0-9]+"),l("NONNUMERICIDENTIFIER","\\d*[a-zA-Z-][a-zA-Z0-9-]*"),l("MAINVERSION",`(${s[o.NUMERICIDENTIFIER]})\\.(${s[o.NUMERICIDENTIFIER]})\\.(${s[o.NUMERICIDENTIFIER]})`),l("MAINVERSIONLOOSE",`(${s[o.NUMERICIDENTIFIERLOOSE]})\\.(${s[o.NUMERICIDENTIFIERLOOSE]})\\.(${s[o.NUMERICIDENTIFIERLOOSE]})`),l("PRERELEASEIDENTIFIER",`(?:${s[o.NUMERICIDENTIFIER]}|${s[o.NONNUMERICIDENTIFIER]})`),l("PRERELEASEIDENTIFIERLOOSE",`(?:${s[o.NUMERICIDENTIFIERLOOSE]}|${s[o.NONNUMERICIDENTIFIER]})`),l("PRERELEASE",`(?:-(${s[o.PRERELEASEIDENTIFIER]}(?:\\.${s[o.PRERELEASEIDENTIFIER]})*))`),l("PRERELEASELOOSE",`(?:-?(${s[o.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${s[o.PRERELEASEIDENTIFIERLOOSE]})*))`),l("BUILDIDENTIFIER","[0-9A-Za-z-]+"),l("BUILD",`(?:\\+(${s[o.BUILDIDENTIFIER]}(?:\\.${s[o.BUILDIDENTIFIER]})*))`),l("FULLPLAIN",`v?${s[o.MAINVERSION]}${s[o.PRERELEASE]}?${s[o.BUILD]}?`),l("FULL",`^${s[o.FULLPLAIN]}$`),l("LOOSEPLAIN",`[v=\\s]*${s[o.MAINVERSIONLOOSE]}${s[o.PRERELEASELOOSE]}?${s[o.BUILD]}?`),l("LOOSE",`^${s[o.LOOSEPLAIN]}$`),l("GTLT","((?:<|>)?=?)"),l("XRANGEIDENTIFIERLOOSE",`${s[o.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),l("XRANGEIDENTIFIER",`${s[o.NUMERICIDENTIFIER]}|x|X|\\*`),l("XRANGEPLAIN",`[v=\\s]*(${s[o.XRANGEIDENTIFIER]})(?:\\.(${s[o.XRANGEIDENTIFIER]})(?:\\.(${s[o.XRANGEIDENTIFIER]})(?:${s[o.PRERELEASE]})?${s[o.BUILD]}?)?)?`),l("XRANGEPLAINLOOSE",`[v=\\s]*(${s[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[o.XRANGEIDENTIFIERLOOSE]})(?:\\.(${s[o.XRANGEIDENTIFIERLOOSE]})(?:${s[o.PRERELEASELOOSE]})?${s[o.BUILD]}?)?)?`),l("XRANGE",`^${s[o.GTLT]}\\s*${s[o.XRANGEPLAIN]}$`),l("XRANGELOOSE",`^${s[o.GTLT]}\\s*${s[o.XRANGEPLAINLOOSE]}$`),l("COERCE",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?(?:$|[^\\d])`),l("COERCERTL",s[o.COERCE],!0),l("LONETILDE","(?:~>?)"),l("TILDETRIM",`(\\s*)${s[o.LONETILDE]}\\s+`,!0),t.tildeTrimReplace="$1~",l("TILDE",`^${s[o.LONETILDE]}${s[o.XRANGEPLAIN]}$`),l("TILDELOOSE",`^${s[o.LONETILDE]}${s[o.XRANGEPLAINLOOSE]}$`),l("LONECARET","(?:\\^)"),l("CARETTRIM",`(\\s*)${s[o.LONECARET]}\\s+`,!0),t.caretTrimReplace="$1^",l("CARET",`^${s[o.LONECARET]}${s[o.XRANGEPLAIN]}$`),l("CARETLOOSE",`^${s[o.LONECARET]}${s[o.XRANGEPLAINLOOSE]}$`),l("COMPARATORLOOSE",`^${s[o.GTLT]}\\s*(${s[o.LOOSEPLAIN]})$|^$`),l("COMPARATOR",`^${s[o.GTLT]}\\s*(${s[o.FULLPLAIN]})$|^$`),l("COMPARATORTRIM",`(\\s*)${s[o.GTLT]}\\s*(${s[o.LOOSEPLAIN]}|${s[o.XRANGEPLAIN]})`,!0),t.comparatorTrimReplace="$1$2$3",l("HYPHENRANGE",`^\\s*(${s[o.XRANGEPLAIN]})\\s+-\\s+(${s[o.XRANGEPLAIN]})\\s*$`),l("HYPHENRANGELOOSE",`^\\s*(${s[o.XRANGEPLAINLOOSE]})\\s+-\\s+(${s[o.XRANGEPLAINLOOSE]})\\s*$`),l("STAR","(<|>)?=?\\s*\\*"),l("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),l("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}),a.register("hScrW",function(e,t){let r=Number.MAX_SAFE_INTEGER||9007199254740991;e.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:16,MAX_SAFE_INTEGER:r,RELEASE_TYPES:["major","premajor","minor","preminor","patch","prepatch","prerelease"],SEMVER_SPEC_VERSION:"2.0.0",FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}),a.register("afJI7",function(e,t){var r=a("hPtJY");let n=("object"==typeof r&&r.env,()=>{});e.exports=n}),a.register("Zfh0y",function(e,t){var r=a("4rHoZ"),n=a("5cTal"),i=a("ezqsK"),s=a("6UaFa"),o=a("7yK7E"),u=a("9azxQ");e.exports=(e,t,a,l)=>{switch(t){case"===":return"object"==typeof e&&(e=e.version),"object"==typeof a&&(a=a.version),e===a;case"!==":return"object"==typeof e&&(e=e.version),"object"==typeof a&&(a=a.version),e!==a;case"":case"=":case"==":return r(e,a,l);case"!=":return n(e,a,l);case">":return i(e,a,l);case">=":return s(e,a,l);case"<":return o(e,a,l);case"<=":return u(e,a,l);default:throw TypeError(`Invalid operator: ${t}`)}}}),a.register("4rHoZ",function(e,t){var r=a("cUCev");e.exports=(e,t,n)=>0===r(e,t,n)}),a.register("cUCev",function(e,t){var r=a("8YHM6");e.exports=(e,t,n)=>new r(e,n).compare(new r(t,n))}),a.register("8YHM6",function(e,t){var r=a("afJI7"),n=a("hScrW"),i=n.MAX_LENGTH,s=n.MAX_SAFE_INTEGER,o=a("1RjJH"),u=o.re,l=o.t,c=a("aWnqj"),d=a("g1Y8Y").compareIdentifiers;class f{constructor(e,t){if(t=c(t),e instanceof f){if(!!t.loose===e.loose&&!!t.includePrerelease===e.includePrerelease)return e;e=e.version}else if("string"!=typeof e)throw TypeError(`Invalid version. Must be a string. Got type "${typeof e}".`);if(e.length>i)throw TypeError(`version is longer than ${i} characters`);r("SemVer",e,t),this.options=t,this.loose=!!t.loose,this.includePrerelease=!!t.includePrerelease;let n=e.trim().match(t.loose?u[l.LOOSE]:u[l.FULL]);if(!n)throw TypeError(`Invalid Version: ${e}`);if(this.raw=e,this.major=+n[1],this.minor=+n[2],this.patch=+n[3],this.major>s||this.major<0)throw TypeError("Invalid major version");if(this.minor>s||this.minor<0)throw TypeError("Invalid minor version");if(this.patch>s||this.patch<0)throw TypeError("Invalid patch version");n[4]?this.prerelease=n[4].split(".").map(e=>{if(/^[0-9]+$/.test(e)){let t=+e;if(t>=0&&t=0;)"number"==typeof this.prerelease[n]&&(this.prerelease[n]++,n=-2);if(-1===n){if(t===this.prerelease.join(".")&&!1===r)throw Error("invalid increment argument: identifier already exists");this.prerelease.push(e)}}if(t){let n=[t,e];!1===r&&(n=[t]),0===d(this.prerelease[0],t)?isNaN(this.prerelease[1])&&(this.prerelease=n):this.prerelease=n}break}default:throw Error(`invalid increment argument: ${e}`)}return this.format(),this.raw=this.version,this}}e.exports=f}),a.register("g1Y8Y",function(e,t){let r=/^[0-9]+$/,n=(e,t)=>{let n=r.test(e),i=r.test(t);return n&&i&&(e=+e,t=+t),e===t?0:n&&!i?-1:i&&!n?1:en(t,e)}}),a.register("5cTal",function(e,t){var r=a("cUCev");e.exports=(e,t,n)=>0!==r(e,t,n)}),a.register("ezqsK",function(e,t){var r=a("cUCev");e.exports=(e,t,n)=>r(e,t,n)>0}),a.register("6UaFa",function(e,t){var r=a("cUCev");e.exports=(e,t,n)=>r(e,t,n)>=0}),a.register("7yK7E",function(e,t){var r=a("cUCev");e.exports=(e,t,n)=>0>r(e,t,n)}),a.register("9azxQ",function(e,t){var r=a("cUCev");e.exports=(e,t,n)=>0>=r(e,t,n)}),a.register("17085",function(e,t){"use strict";var r,n,i=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.hasSafeFeature=e.exports.SAFE_FEATURES=void 0;let s=i(a("eHBEA"));(r=n=e.exports.SAFE_FEATURES||(e.exports.SAFE_FEATURES={})).SAFE_TX_GAS_OPTIONAL="SAFE_TX_GAS_OPTIONAL",r.SAFE_TX_GUARDS="SAFE_TX_GUARDS",r.SAFE_FALLBACK_HANDLER="SAFE_FALLBACK_HANDLER",r.ETH_SIGN="ETH_SIGN",r.ACCOUNT_ABSTRACTION="ACCOUNT_ABSTRACTION";let o={[n.SAFE_TX_GAS_OPTIONAL]:">=1.3.0",[n.SAFE_TX_GUARDS]:">=1.3.0",[n.SAFE_FALLBACK_HANDLER]:">=1.1.1",[n.ETH_SIGN]:">=1.1.0",[n.ACCOUNT_ABSTRACTION]:">=1.3.0"};e.exports.hasSafeFeature=(e,t)=>e in o&&(0,s.default)(t,o[e])}),a.register("b8YZZ",function(e,t){"use strict";var r=e.exports&&e.exports.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=e.exports&&e.exports.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(e.exports,"__esModule",{value:!0}),n(a("MGmAF"),e.exports),n(a("jLUEs"),e.exports)}),a.register("MGmAF",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.EthSafeSignature=void 0,e.exports.EthSafeSignature=class{constructor(e,t){this.signer=e,this.data=t}staticPart(){return this.data}dynamicPart(){return""}}}),a.register("jLUEs",function(e,t){"use strict";var r=a("6ZWSX").Buffer;Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.generateEIP712Signature=e.exports.generateSignature=e.exports.adjustVInSignature=e.exports.isTxHashSignedWithPrefix=e.exports.generatePreValidatedSignature=void 0;var n=a("7Z98w"),i=a("gOIod"),s=a("MGmAF");function o(e,t,a){let s;try{let o={r:r.from(t.slice(2,66),"hex"),s:r.from(t.slice(66,130),"hex"),v:parseInt(t.slice(130,132),16)},u=(0,n.ecrecover)(r.from(e.slice(2),"hex"),o.v,o.r,o.s),l=(0,n.bufferToHex)((0,n.pubToAddress)(u));s=!(0,i.sameString)(l,a)}catch(e){s=!0}return s}async function u(t,r){let n=await t.getSignerAddress();if(!n)throw Error("EthAdapter must be initialized with a signer to use this method");let i=await t.signMessage(r);return i=(0,e.exports.adjustVInSignature)("eth_sign",i,r,n),new s.EthSafeSignature(n,i)}async function l(t,r,n){let i=await t.getSignerAddress();if(!i)throw Error("EthAdapter must be initialized with a signer to use this method");let a=await t.signTypedData(r,n);return a=(0,e.exports.adjustVInSignature)("eth_signTypedData",a),new s.EthSafeSignature(i,a)}e.exports.generatePreValidatedSignature=function(e){let t="0x000000000000000000000000"+e.slice(2)+"000000000000000000000000000000000000000000000000000000000000000001";return new s.EthSafeSignature(e,t)},e.exports.isTxHashSignedWithPrefix=o,e.exports.adjustVInSignature=(e,t,r,n)=>{let i=parseInt(t.slice(-2),16);if(![0,1,27,28].includes(i))throw Error("Invalid signature");if("eth_sign"===e){i<27&&(i+=27);let e=t.slice(0,-2)+i.toString(16),a=o(r,e,n);a&&(i+=4)}return"eth_signTypedData"===e&&i<27&&(i+=27),t=t.slice(0,-2)+i.toString(16)},e.exports.generateSignature=u,e.exports.generateEIP712Signature=l}),a.register("8jNYJ",function(e,t){"use strict";var r=e.exports&&e.exports.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=e.exports&&e.exports.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(e.exports,"__esModule",{value:!0}),n(a("aEGrt"),e.exports),n(a("dYBmn"),e.exports),n(a("2S2B6"),e.exports),n(a("3MW9o"),e.exports)}),a.register("aEGrt",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.estimateTxGas=void 0;var r=a("1chjt"),n=a("5xott");async function i(e,t,i,a,s,o){let u=r.BigNumber.from(0),l=e.getAddress(),c=e.encode("requiredTxGas",[i,a,s,o]);try{let e=await t.estimateGas({to:l,from:l,data:c});u=r.BigNumber.from("0x"+e.substring(138)).add(1e4)}catch(e){}if(u.gt(0)){let e=c.match(/.{2}/g).reduce((e,t)=>"0x"===t?e+0:"00"===t?e+4:e+16,0),r=1e4;for(let n=0;n<10;n++){try{let n=await t.call({to:l,from:l,data:c,gasPrice:"0",gasLimit:u.add(e).add(r).toString()});if("0x"!==n)break}catch(e){}u=u.add(r),r*=2}return u.add(r).toString()}try{let e=await t.estimateGas({to:i,from:l,value:a,data:s});return e}catch(e){if(o===n.OperationType.DelegateCall)return"0";return Promise.reject(e)}}e.exports.estimateTxGas=i}),a.register("5xott",function(e,t){"use strict";var r=e.exports&&e.exports.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=e.exports&&e.exports.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(e.exports,"__esModule",{value:!0}),n(a("98Upe"),e.exports),n(a("eBrln"),e.exports),n(a("jwLNT"),e.exports),n(a("lODmU"),e.exports),n(a("abJTq"),e.exports),n(a("5NuDf"),e.exports),n(a("7sVXL"),e.exports),n(a("7vCaT"),e.exports),n(a("ch9f0"),e.exports)}),a.register("98Upe",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0})}),a.register("eBrln",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0})}),a.register("jwLNT",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0})}),a.register("lODmU",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0})}),a.register("abJTq",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0})}),a.register("5NuDf",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0})}),a.register("7sVXL",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0})}),a.register("7vCaT",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0})}),a.register("ch9f0",function(e,t){"use strict";var r;Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.OperationType=void 0,(r=e.exports.OperationType||(e.exports.OperationType={}))[r.Call=0]="Call",r[r.DelegateCall=1]="DelegateCall"}),a.register("dYBmn",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.default=class{constructor(e){this.signatures=new Map,this.data=e}addSignature(e){this.signatures.set(e.signer.toLowerCase(),e)}encodedSignatures(){let e=Array.from(this.signatures.keys()).sort();e.length;let t="",r="";return e.forEach(e=>{let n=this.signatures.get(e);t+=null==n?void 0:n.staticPart().slice(2),r+=null==n?void 0:n.dynamicPart()}),"0x"+t+r}}}),a.register("2S2B6",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0})}),a.register("3MW9o",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.isSafeMultisigTransactionResponse=e.exports.isMetaTransactionArray=e.exports.decodeMultiSendData=e.exports.encodeMultiSendData=e.exports.standardizeSafeTransactionData=e.exports.standardizeMetaTransactionData=void 0;var r=a("kzlBy"),n=a("aBzgs"),i=a("iYAoV"),s=a("7a7Pr"),o=a("cm07l"),u=a("5xott"),l=a("9y1Dl"),c=a("aEGrt");async function d({safeContract:e,predictedSafe:t,ethAdapter:r,tx:n}){var i,a,l,d,f;let h;let p={to:n.to,value:n.value,data:n.data,operation:null!==(i=n.operation)&&void 0!==i?i:u.OperationType.Call,baseGas:null!==(a=n.baseGas)&&void 0!==a?a:"0",gasPrice:null!==(l=n.gasPrice)&&void 0!==l?l:"0",gasToken:n.gasToken||o.ZERO_ADDRESS,refundReceiver:n.refundReceiver||o.ZERO_ADDRESS,nonce:null!==(d=n.nonce)&&void 0!==d?d:e?await e.getNonce():0};if(void 0!==n.safeTxGas)return{...p,safeTxGas:n.safeTxGas};if(null===(f=null==t?void 0:t.safeDeploymentConfig)||void 0===f?void 0:f.safeVersion)h=null==t?void 0:t.safeDeploymentConfig.safeVersion;else{if(!e)throw Error("Safe is not deployed");h=await e.getVersion()}let y=(0,s.hasSafeFeature)(s.SAFE_FEATURES.SAFE_TX_GAS_OPTIONAL,h);if(y&&"0"===p.gasPrice||y&&t)return{...p,safeTxGas:"0"};if(!e)throw Error("Safe is not deployed");let m=await (0,c.estimateTxGas)(e,r,p.to,p.value,p.data,p.operation);return{...p,safeTxGas:m}}e.exports.standardizeMetaTransactionData=function(e){var t;let r={...e,operation:null!==(t=e.operation)&&void 0!==t?t:u.OperationType.Call};return r},e.exports.standardizeSafeTransactionData=d,e.exports.encodeMultiSendData=function(e){return"0x"+e.map(e=>(function(e){let t=(0,n.arrayify)(e.data),r=(0,i.pack)(["uint8","address","uint256","uint256","bytes"],[e.operation,e.to,e.value,t.length,t]);return r.slice(2)})(e)).join("")},e.exports.decodeMultiSendData=function(e){let t=new r.Interface(["function multiSend(bytes memory transactions) public payable"]),[n]=t.decodeFunctionData("multiSend",e),i=[],a=2;for(;ay),e(t.exports,"TransactionDescription",()=>m),e(t.exports,"Indexed",()=>g),e(t.exports,"Interface",()=>A);var n=a("bVwUc"),i=a("1chjt"),s=a("aBzgs"),o=a("aIo2D"),u=a("2yhyU"),l=a("e72ut"),c=a("45kY3");a("3Mwuv");"use strict";var d=a("bB9qw"),f=a("d1hml"),h=a("aBVaX");let p=new f.Logger(h.version);class y extends l.Description{}class m extends l.Description{}class b extends l.Description{}class g extends l.Description{static isIndexed(e){return!!(e&&e._isIndexed)}}let v={"0x08c379a0":{signature:"Error(string)",name:"Error",inputs:["string"],reason:!0},"0x4e487b71":{signature:"Panic(uint256)",name:"Panic",inputs:["uint256"]}};function w(e,t){let r=Error(`deferred error during ABI decoding triggered accessing ${e}`);return r.error=t,r}class A{constructor(e){let t=[];t="string"==typeof e?JSON.parse(e):e,(0,l.defineReadOnly)(this,"fragments",t.map(e=>(0,d.Fragment).from(e)).filter(e=>null!=e)),(0,l.defineReadOnly)(this,"_abiCoder",(0,l.getStatic)(new.target,"getAbiCoder")()),(0,l.defineReadOnly)(this,"functions",{}),(0,l.defineReadOnly)(this,"errors",{}),(0,l.defineReadOnly)(this,"events",{}),(0,l.defineReadOnly)(this,"structs",{}),this.fragments.forEach(e=>{let t=null;switch(e.type){case"constructor":if(this.deploy){p.warn("duplicate definition - constructor");return}(0,l.defineReadOnly)(this,"deploy",e);return;case"function":t=this.functions;break;case"event":t=this.events;break;case"error":t=this.errors;break;default:return}let r=e.format();if(t[r]){p.warn("duplicate definition - "+r);return}t[r]=e}),this.deploy||(0,l.defineReadOnly)(this,"deploy",(0,d.ConstructorFragment).from({payable:!1,type:"constructor"})),(0,l.defineReadOnly)(this,"_isInterface",!0)}format(e){e||(e=d.FormatTypes.full),e===d.FormatTypes.sighash&&p.throwArgumentError("interface does not support formatting sighash","format",e);let t=this.fragments.map(t=>t.format(e));return e===d.FormatTypes.json?JSON.stringify(t.map(e=>JSON.parse(e))):t}static getAbiCoder(){return c.defaultAbiCoder}static getAddress(e){return(0,n.getAddress)(e)}static getSighash(e){return(0,s.hexDataSlice)((0,o.id)(e.format()),0,4)}static getEventTopic(e){return(0,o.id)(e.format())}getFunction(e){if((0,s.isHexString)(e)){for(let t in this.functions)if(e===this.getSighash(t))return this.functions[t];p.throwArgumentError("no matching function","sighash",e)}if(-1===e.indexOf("(")){let t=e.trim(),r=Object.keys(this.functions).filter(e=>e.split("(")[0]===t);return 0===r.length?p.throwArgumentError("no matching function","name",t):r.length>1&&p.throwArgumentError("multiple matching functions","name",t),this.functions[r[0]]}let t=this.functions[(0,d.FunctionFragment).fromString(e).format()];return t||p.throwArgumentError("no matching function","signature",e),t}getEvent(e){if((0,s.isHexString)(e)){let t=e.toLowerCase();for(let e in this.events)if(t===this.getEventTopic(e))return this.events[e];p.throwArgumentError("no matching event","topichash",t)}if(-1===e.indexOf("(")){let t=e.trim(),r=Object.keys(this.events).filter(e=>e.split("(")[0]===t);return 0===r.length?p.throwArgumentError("no matching event","name",t):r.length>1&&p.throwArgumentError("multiple matching events","name",t),this.events[r[0]]}let t=this.events[(0,d.EventFragment).fromString(e).format()];return t||p.throwArgumentError("no matching event","signature",e),t}getError(e){if((0,s.isHexString)(e)){let t=(0,l.getStatic)(this.constructor,"getSighash");for(let r in this.errors){let n=this.errors[r];if(e===t(n))return this.errors[r]}p.throwArgumentError("no matching error","sighash",e)}if(-1===e.indexOf("(")){let t=e.trim(),r=Object.keys(this.errors).filter(e=>e.split("(")[0]===t);return 0===r.length?p.throwArgumentError("no matching error","name",t):r.length>1&&p.throwArgumentError("multiple matching errors","name",t),this.errors[r[0]]}let t=this.errors[(0,d.FunctionFragment).fromString(e).format()];return t||p.throwArgumentError("no matching error","signature",e),t}getSighash(e){if("string"==typeof e)try{e=this.getFunction(e)}catch(t){try{e=this.getError(e)}catch(e){throw t}}return(0,l.getStatic)(this.constructor,"getSighash")(e)}getEventTopic(e){return"string"==typeof e&&(e=this.getEvent(e)),(0,l.getStatic)(this.constructor,"getEventTopic")(e)}_decodeParams(e,t){return this._abiCoder.decode(e,t)}_encodeParams(e,t){return this._abiCoder.encode(e,t)}encodeDeploy(e){return this._encodeParams(this.deploy.inputs,e||[])}decodeErrorResult(e,t){"string"==typeof e&&(e=this.getError(e));let r=(0,s.arrayify)(t);return(0,s.hexlify)(r.slice(0,4))!==this.getSighash(e)&&p.throwArgumentError(`data signature does not match error ${e.name}.`,"data",(0,s.hexlify)(r)),this._decodeParams(e.inputs,r.slice(4))}encodeErrorResult(e,t){return"string"==typeof e&&(e=this.getError(e)),(0,s.hexlify)((0,s.concat)([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionData(e,t){"string"==typeof e&&(e=this.getFunction(e));let r=(0,s.arrayify)(t);return(0,s.hexlify)(r.slice(0,4))!==this.getSighash(e)&&p.throwArgumentError(`data signature does not match function ${e.name}.`,"data",(0,s.hexlify)(r)),this._decodeParams(e.inputs,r.slice(4))}encodeFunctionData(e,t){return"string"==typeof e&&(e=this.getFunction(e)),(0,s.hexlify)((0,s.concat)([this.getSighash(e),this._encodeParams(e.inputs,t||[])]))}decodeFunctionResult(e,t){"string"==typeof e&&(e=this.getFunction(e));let r=(0,s.arrayify)(t),n=null,i="",a=null,o=null,u=null;switch(r.length%this._abiCoder._getWordSize()){case 0:try{return this._abiCoder.decode(e.outputs,r)}catch(e){}break;case 4:{let e=(0,s.hexlify)(r.slice(0,4)),t=v[e];if(t)a=this._abiCoder.decode(t.inputs,r.slice(4)),o=t.name,u=t.signature,t.reason&&(n=a[0]),"Error"===o?i=`; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(a[0])}`:"Panic"===o&&(i=`; VM Exception while processing transaction: reverted with panic code ${a[0]}`);else try{let t=this.getError(e);a=this._abiCoder.decode(t.inputs,r.slice(4)),o=t.name,u=t.format()}catch(e){}}}return p.throwError("call revert exception"+i,f.Logger.errors.CALL_EXCEPTION,{method:e.format(),data:(0,s.hexlify)(t),errorArgs:a,errorName:o,errorSignature:u,reason:n})}encodeFunctionResult(e,t){return"string"==typeof e&&(e=this.getFunction(e)),(0,s.hexlify)(this._abiCoder.encode(e.outputs,t||[]))}encodeFilterTopics(e,t){"string"==typeof e&&(e=this.getEvent(e)),t.length>e.inputs.length&&p.throwError("too many arguments for "+e.format(),f.Logger.errors.UNEXPECTED_ARGUMENT,{argument:"values",value:t});let r=[];e.anonymous||r.push(this.getEventTopic(e));let n=(e,t)=>"string"===e.type?(0,o.id)(t):"bytes"===e.type?(0,u.keccak256)((0,s.hexlify)(t)):("bool"===e.type&&"boolean"==typeof t&&(t=t?"0x01":"0x00"),e.type.match(/^u?int/)&&(t=(0,i.BigNumber).from(t).toHexString()),"address"===e.type&&this._abiCoder.encode(["address"],[t]),(0,s.hexZeroPad)((0,s.hexlify)(t),32));for(t.forEach((t,i)=>{let a=e.inputs[i];if(!a.indexed){null!=t&&p.throwArgumentError("cannot filter non-indexed parameters; must be null","contract."+a.name,t);return}null==t?r.push(null):"array"===a.baseType||"tuple"===a.baseType?p.throwArgumentError("filtering with tuples or arrays not supported","contract."+a.name,t):Array.isArray(t)?r.push(t.map(e=>n(a,e))):r.push(n(a,t))});r.length&&null===r[r.length-1];)r.pop();return r}encodeEventLog(e,t){"string"==typeof e&&(e=this.getEvent(e));let r=[],n=[],i=[];return e.anonymous||r.push(this.getEventTopic(e)),t.length!==e.inputs.length&&p.throwArgumentError("event arguments/values mismatch","values",t),e.inputs.forEach((e,a)=>{let s=t[a];if(e.indexed){if("string"===e.type)r.push((0,o.id)(s));else if("bytes"===e.type)r.push((0,u.keccak256)(s));else if("tuple"===e.baseType||"array"===e.baseType)throw Error("not implemented");else r.push(this._abiCoder.encode([e.type],[s]))}else n.push(e),i.push(s)}),{data:this._abiCoder.encode(n,i),topics:r}}decodeEventLog(e,t,r){if("string"==typeof e&&(e=this.getEvent(e)),null!=r&&!e.anonymous){let t=this.getEventTopic(e);(0,s.isHexString)(r[0],32)&&r[0].toLowerCase()===t||p.throwError("fragment/topic mismatch",f.Logger.errors.INVALID_ARGUMENT,{argument:"topics[0]",expected:t,value:r[0]}),r=r.slice(1)}let n=[],i=[],a=[];e.inputs.forEach((e,t)=>{e.indexed?"string"===e.type||"bytes"===e.type||"tuple"===e.baseType||"array"===e.baseType?(n.push((0,d.ParamType).fromObject({type:"bytes32",name:e.name})),a.push(!0)):(n.push(e),a.push(!1)):(i.push(e),a.push(!1))});let o=null!=r?this._abiCoder.decode(n,(0,s.concat)(r)):null,u=this._abiCoder.decode(i,t,!0),l=[],c=0,h=0;e.inputs.forEach((e,t)=>{if(e.indexed){if(null==o)l[t]=new g({_isIndexed:!0,hash:null});else if(a[t])l[t]=new g({_isIndexed:!0,hash:o[h++]});else try{l[t]=o[h++]}catch(e){l[t]=e}}else try{l[t]=u[c++]}catch(e){l[t]=e}if(e.name&&null==l[e.name]){let r=l[t];r instanceof Error?Object.defineProperty(l,e.name,{enumerable:!0,get:()=>{throw w(`property ${JSON.stringify(e.name)}`,r)}}):l[e.name]=r}});for(let e=0;e{throw w(`index ${e}`,t)}})}return Object.freeze(l)}parseTransaction(e){let t=this.getFunction(e.data.substring(0,10).toLowerCase());return t?new m({args:this._abiCoder.decode(t.inputs,"0x"+e.data.substring(10)),functionFragment:t,name:t.name,signature:t.format(),sighash:this.getSighash(t),value:(0,i.BigNumber).from(e.value||"0")}):null}parseLog(e){let t=this.getEvent(e.topics[0]);return!t||t.anonymous?null:new y({eventFragment:t,name:t.name,signature:t.format(),topic:this.getEventTopic(t),args:this.decodeEventLog(t,e.data,e.topics)})}parseError(e){let t=(0,s.hexlify)(e),r=this.getError(t.substring(0,10).toLowerCase());return r?new b({args:this._abiCoder.decode(r.inputs,"0x"+t.substring(10)),errorFragment:r,name:r.name,signature:r.format(),sighash:this.getSighash(r)}):null}static isInterface(e){return!!(e&&e._isInterface)}}}),a.register("bVwUc",function(t,r){e(t.exports,"getAddress",()=>y),e(t.exports,"isAddress",()=>m),e(t.exports,"getIcapAddress",()=>b),e(t.exports,"getContractAddress",()=>g),e(t.exports,"getCreate2Address",()=>v);"use strict";var n=a("aBzgs"),i=a("1chjt"),s=a("2yhyU"),o=a("9BTKH"),u=a("d1hml"),l=a("kFJax");let c=new u.Logger(l.version);function d(e){(0,n.isHexString)(e,20)||c.throwArgumentError("invalid address","address",e),e=e.toLowerCase();let t=e.substring(2).split(""),r=new Uint8Array(40);for(let e=0;e<40;e++)r[e]=t[e].charCodeAt(0);let i=(0,n.arrayify)((0,s.keccak256)(r));for(let e=0;e<40;e+=2)i[e>>1]>>4>=8&&(t[e]=t[e].toUpperCase()),(15&i[e>>1])>=8&&(t[e+1]=t[e+1].toUpperCase());return"0x"+t.join("")}let f={};for(let e=0;e<10;e++)f[String(e)]=String(e);for(let e=0;e<26;e++)f[String.fromCharCode(65+e)]=String(10+e);let h=Math.floor(Math.log10?Math.log10(9007199254740991):Math.log(9007199254740991)/Math.LN10);function p(e){let t=(e=(e=e.toUpperCase()).substring(4)+e.substring(0,2)+"00").split("").map(e=>f[e]).join("");for(;t.length>=h;){let e=t.substring(0,h);t=parseInt(e,10)%97+t.substring(e.length)}let r=String(98-parseInt(t,10)%97);for(;r.length<2;)r="0"+r;return r}function y(e){let t=null;if("string"!=typeof e&&c.throwArgumentError("invalid address","address",e),e.match(/^(0x)?[0-9a-fA-F]{40}$/))"0x"!==e.substring(0,2)&&(e="0x"+e),t=d(e),e.match(/([A-F].*[a-f])|([a-f].*[A-F])/)&&t!==e&&c.throwArgumentError("bad address checksum","address",e);else if(e.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)){for(e.substring(2,4)!==p(e)&&c.throwArgumentError("bad icap checksum","address",e),t=(0,i._base36To16)(e.substring(4));t.length<40;)t="0"+t;t=d("0x"+t)}else c.throwArgumentError("invalid address","address",e);return t}function m(e){try{return y(e),!0}catch(e){}return!1}function b(e){let t=(0,i._base16To36)(y(e).substring(2)).toUpperCase();for(;t.length<30;)t="0"+t;return"XE"+p("XE00"+t)+t}function g(e){let t=null;try{t=y(e.from)}catch(t){c.throwArgumentError("missing from address","transaction",e)}let r=(0,n.stripZeros)((0,n.arrayify)((0,i.BigNumber).from(e.nonce).toHexString()));return y((0,n.hexDataSlice)((0,s.keccak256)((0,o.encode)([t,r])),12))}function v(e,t,r){return 32!==(0,n.hexDataLength)(t)&&c.throwArgumentError("salt must be 32 bytes","salt",t),32!==(0,n.hexDataLength)(r)&&c.throwArgumentError("initCodeHash must be 32 bytes","initCodeHash",r),y((0,n.hexDataSlice)((0,s.keccak256)((0,n.concat)(["0xff",y(e),t,r])),12))}}),a.register("2yhyU",function(r,n){e(r.exports,"keccak256",()=>o);"use strict";var i=a("1IGmO"),s=a("aBzgs");function o(e){return"0x"+t(i).keccak_256((0,s.arrayify)(e))}}),a.register("9BTKH",function(t,r){e(t.exports,"encode",()=>c),e(t.exports,"decode",()=>h);"use strict";var n=a("aBzgs"),i=a("d1hml"),s=a("bcrL7");let o=new i.Logger(s.version);function u(e){let t=[];for(;e;)t.unshift(255&e),e>>=8;return t}function l(e,t,r){let n=0;for(let i=0;it+1+n&&o.throwError("child data too short",i.Logger.errors.BUFFER_OVERRUN,{})}return{consumed:1+n,result:a}}function f(e,t){if(0===e.length&&o.throwError("data too short",i.Logger.errors.BUFFER_OVERRUN,{}),e[t]>=248){let r=e[t]-247;t+1+r>e.length&&o.throwError("data short segment too short",i.Logger.errors.BUFFER_OVERRUN,{});let n=l(e,t+1,r);return t+1+r+n>e.length&&o.throwError("data long segment too short",i.Logger.errors.BUFFER_OVERRUN,{}),d(e,t,t+1+r,r+n)}if(e[t]>=192){let r=e[t]-192;return t+1+r>e.length&&o.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{}),d(e,t,t+1,r)}if(e[t]>=184){let r=e[t]-183;t+1+r>e.length&&o.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{});let a=l(e,t+1,r);t+1+r+a>e.length&&o.throwError("data array too short",i.Logger.errors.BUFFER_OVERRUN,{});let s=(0,n.hexlify)(e.slice(t+1+r,t+1+r+a));return{consumed:1+r+a,result:s}}if(e[t]>=128){let r=e[t]-128;t+1+r>e.length&&o.throwError("data too short",i.Logger.errors.BUFFER_OVERRUN,{});let a=(0,n.hexlify)(e.slice(t+1,t+1+r));return{consumed:1+r,result:a}}return{consumed:1,result:(0,n.hexlify)(e[t])}}function h(e){let t=(0,n.arrayify)(e),r=f(t,0);return r.consumed!==t.length&&o.throwArgumentError("invalid rlp data","data",e),r.result}}),a.register("bcrL7",function(t,r){e(t.exports,"version",()=>n);let n="rlp/5.7.0"}),a.register("kFJax",function(t,r){e(t.exports,"version",()=>n);let n="address/5.7.0"}),a.register("aIo2D",function(t,r){e(t.exports,"id",()=>s);var n=a("2yhyU"),i=a("fkVsY");function s(e){return(0,n.keccak256)((0,i.toUtf8Bytes)(e))}}),a.register("fkVsY",function(t,r){"use strict";e(t.exports,"UnicodeNormalizationForm",()=>s),e(t.exports,"Utf8ErrorReason",()=>o),e(t.exports,"Utf8ErrorFuncs",()=>h),e(t.exports,"toUtf8Bytes",()=>y),e(t.exports,"_toEscapedUtf8String",()=>b),e(t.exports,"_toUtf8String",()=>g),e(t.exports,"toUtf8String",()=>v),e(t.exports,"toUtf8CodePoints",()=>w);var n,i,s,o,u=a("aBzgs"),l=a("d1hml"),c=a("lrjmA");let d=new l.Logger(c.version);function f(e,t,r,n,i){if(e===o.BAD_PREFIX||e===o.UNEXPECTED_CONTINUE){let e=0;for(let n=t+1;n>6==2;n++)e++;return e}return e===o.OVERRUN?r.length-t-1:0}(n=s||(s={})).current="",n.NFC="NFC",n.NFD="NFD",n.NFKC="NFKC",n.NFKD="NFKD",(i=o||(o={})).UNEXPECTED_CONTINUE="unexpected continuation byte",i.BAD_PREFIX="bad codepoint prefix",i.OVERRUN="string overrun",i.MISSING_CONTINUE="missing continuation byte",i.OUT_OF_RANGE="out of UTF-8 range",i.UTF16_SURROGATE="UTF-16 surrogate",i.OVERLONG="overlong representation";let h=Object.freeze({error:function(e,t,r,n,i){return d.throwArgumentError(`invalid codepoint at offset ${t}; ${e}`,"bytes",r)},ignore:f,replace:function(e,t,r,n,i){return e===o.OVERLONG?(n.push(i),0):(n.push(65533),f(e,t,r,n,i))}});function p(e,t){null==t&&(t=h.error),e=(0,u.arrayify)(e);let r=[],n=0;for(;n>7==0){r.push(i);continue}let a=null,s=null;if((224&i)==192)a=1,s=127;else if((240&i)==224)a=2,s=2047;else if((248&i)==240)a=3,s=65535;else{(192&i)==128?n+=t(o.UNEXPECTED_CONTINUE,n-1,e,r):n+=t(o.BAD_PREFIX,n-1,e,r);continue}if(n-1+a>=e.length){n+=t(o.OVERRUN,n-1,e,r);continue}let u=i&(1<<8-a-1)-1;for(let i=0;i1114111){n+=t(o.OUT_OF_RANGE,n-1-a,e,r,u);continue}if(u>=55296&&u<=57343){n+=t(o.UTF16_SURROGATE,n-1-a,e,r,u);continue}if(u<=s){n+=t(o.OVERLONG,n-1-a,e,r,u);continue}r.push(u)}}return r}function y(e,t=s.current){t!=s.current&&(d.checkNormalize(),e=e.normalize(t));let r=[];for(let t=0;t>6|192),r.push(63&n|128);else if((64512&n)==55296){t++;let i=e.charCodeAt(t);if(t>=e.length||(64512&i)!=56320)throw Error("invalid utf-8 string");let a=65536+((1023&n)<<10)+(1023&i);r.push(a>>18|240),r.push(a>>12&63|128),r.push(a>>6&63|128),r.push(63&a|128)}else r.push(n>>12|224),r.push(n>>6&63|128),r.push(63&n|128)}return(0,u.arrayify)(r)}function m(e){let t="0000"+e.toString(16);return"\\u"+t.substring(t.length-4)}function b(e,t){return'"'+p(e,t).map(e=>{if(e<256){switch(e){case 8:return"\\b";case 9:return"\\t";case 10:return"\\n";case 13:return"\\r";case 34:return'\\"';case 92:return"\\\\"}if(e>=32&&e<127)return String.fromCharCode(e)}return e<=65535?m(e):m(((e-=65536)>>10&1023)+55296)+m((1023&e)+56320)}).join("")+'"'}function g(e){return e.map(e=>e<=65535?String.fromCharCode(e):String.fromCharCode(((e-=65536)>>10&1023)+55296,(1023&e)+56320)).join("")}function v(e,t){return g(p(e,t))}function w(e,t=s.current){return p(y(e,t))}}),a.register("lrjmA",function(t,r){e(t.exports,"version",()=>n);let n="strings/5.7.0"}),a.register("45kY3",function(t,r){e(t.exports,"AbiCoder",()=>E),e(t.exports,"defaultAbiCoder",()=>x);"use strict";var n=a("aBzgs"),i=a("e72ut"),s=a("d1hml"),o=a("aBVaX"),u=a("3Mwuv"),l=a("306EP"),c=a("dZXkS"),d=a("4V4hc"),f=a("9siMZ"),h=a("dr1ok"),p=a("bGn0W"),y=a("lrGft"),m=a("cpHaC"),b=a("h11H8"),g=a("bB9qw");let v=new s.Logger(o.version),w=new RegExp(/^bytes([0-9]*)$/),A=new RegExp(/^(u?int)([0-9]*)$/);class E{constructor(e){(0,i.defineReadOnly)(this,"coerceFunc",e||null)}_getCoder(e){switch(e.baseType){case"address":return new l.AddressCoder(e.name);case"bool":return new d.BooleanCoder(e.name);case"string":return new m.StringCoder(e.name);case"bytes":return new f.BytesCoder(e.name);case"array":return new c.ArrayCoder(this._getCoder(e.arrayChildren),e.arrayLength,e.name);case"tuple":return new b.TupleCoder((e.components||[]).map(e=>this._getCoder(e)),e.name);case"":return new p.NullCoder(e.name)}let t=e.type.match(A);if(t){let r=parseInt(t[2]||"256");return(0===r||r>256||r%8!=0)&&v.throwArgumentError("invalid "+t[1]+" bit length","param",e),new y.NumberCoder(r/8,"int"===t[1],e.name)}if(t=e.type.match(w)){let r=parseInt(t[1]);return(0===r||r>32)&&v.throwArgumentError("invalid bytes length","param",e),new h.FixedBytesCoder(r,e.name)}return v.throwArgumentError("invalid type","type",e.type)}_getWordSize(){return 32}_getReader(e,t){return new u.Reader(e,this._getWordSize(),this.coerceFunc,t)}_getWriter(){return new u.Writer(this._getWordSize())}getDefaultValue(e){let t=e.map(e=>this._getCoder((0,g.ParamType).from(e))),r=new b.TupleCoder(t,"_");return r.defaultValue()}encode(e,t){e.length!==t.length&&v.throwError("types/values length mismatch",s.Logger.errors.INVALID_ARGUMENT,{count:{types:e.length,values:t.length},value:{types:e,values:t}});let r=e.map(e=>this._getCoder((0,g.ParamType).from(e))),n=new b.TupleCoder(r,"_"),i=this._getWriter();return n.encode(i,t),i.data}decode(e,t,r){let i=e.map(e=>this._getCoder((0,g.ParamType).from(e))),a=new b.TupleCoder(i,"_");return a.decode(this._getReader((0,n.arrayify)(t),r))}}let x=new E}),a.register("aBVaX",function(t,r){e(t.exports,"version",()=>n);let n="abi/5.7.0"}),a.register("3Mwuv",function(t,r){e(t.exports,"checkResultErrors",()=>c),e(t.exports,"Coder",()=>d),e(t.exports,"Writer",()=>f),e(t.exports,"Reader",()=>h);"use strict";var n=a("aBzgs"),i=a("1chjt"),s=a("e72ut"),o=a("d1hml"),u=a("aBVaX");let l=new o.Logger(u.version);function c(e){let t=[],r=function(e,n){if(Array.isArray(n))for(let i in n){let a=e.slice();a.push(i);try{r(a,n[i])}catch(e){t.push({path:a,error:e})}}};return r([],e),t}class d{constructor(e,t,r,n){this.name=e,this.type=t,this.localName=r,this.dynamic=n}_throwError(e,t){l.throwArgumentError(e,this.localName,t)}}class f{constructor(e){(0,s.defineReadOnly)(this,"wordSize",e||32),this._data=[],this._dataLength=0,this._padding=new Uint8Array(e)}get data(){return(0,n.hexConcat)(this._data)}get length(){return this._dataLength}_writeData(e){return this._data.push(e),this._dataLength+=e.length,e.length}appendWriter(e){return this._writeData((0,n.concat)(e._data))}writeBytes(e){let t=(0,n.arrayify)(e),r=t.length%this.wordSize;return r&&(t=(0,n.concat)([t,this._padding.slice(r)])),this._writeData(t)}_getValue(e){let t=(0,n.arrayify)((0,i.BigNumber).from(e));return t.length>this.wordSize&&l.throwError("value out-of-bounds",o.Logger.errors.BUFFER_OVERRUN,{length:this.wordSize,offset:t.length}),t.length%this.wordSize&&(t=(0,n.concat)([this._padding.slice(t.length%this.wordSize),t])),t}writeValue(e){return this._writeData(this._getValue(e))}writeUpdatableValue(){let e=this._data.length;return this._data.push(this._padding),this._dataLength+=this.wordSize,t=>{this._data[e]=this._getValue(t)}}}class h{constructor(e,t,r,i){(0,s.defineReadOnly)(this,"_data",(0,n.arrayify)(e)),(0,s.defineReadOnly)(this,"wordSize",t||32),(0,s.defineReadOnly)(this,"_coerceFunc",r),(0,s.defineReadOnly)(this,"allowLoose",i),this._offset=0}get data(){return(0,n.hexlify)(this._data)}get consumed(){return this._offset}static coerce(e,t){let r=e.match("^u?int([0-9]+)$");return r&&48>=parseInt(r[1])&&(t=t.toNumber()),t}coerce(e,t){return this._coerceFunc?this._coerceFunc(e,t):h.coerce(e,t)}_peekBytes(e,t,r){let n=Math.ceil(t/this.wordSize)*this.wordSize;return this._offset+n>this._data.length&&(this.allowLoose&&r&&this._offset+t<=this._data.length?n=t:l.throwError("data out-of-bounds",o.Logger.errors.BUFFER_OVERRUN,{length:this._data.length,offset:this._offset+n})),this._data.slice(this._offset,this._offset+n)}subReader(e){return new h(this._data.slice(this._offset+e),this.wordSize,this._coerceFunc,this.allowLoose)}readBytes(e,t){let r=this._peekBytes(0,e,!!t);return this._offset+=r.length,r.slice(0,e)}readValue(){return(0,i.BigNumber).from(this.readBytes(this.wordSize))}}}),a.register("306EP",function(t,r){e(t.exports,"AddressCoder",()=>o);"use strict";var n=a("bVwUc"),i=a("aBzgs"),s=a("3Mwuv");class o extends s.Coder{constructor(e){super("address","address",e,!1)}defaultValue(){return"0x0000000000000000000000000000000000000000"}encode(e,t){try{t=(0,n.getAddress)(t)}catch(e){this._throwError(e.message,t)}return e.writeValue(t)}decode(e){return(0,n.getAddress)((0,i.hexZeroPad)(e.readValue().toHexString(),20))}}}),a.register("dZXkS",function(t,r){e(t.exports,"pack",()=>l),e(t.exports,"unpack",()=>c),e(t.exports,"ArrayCoder",()=>d);"use strict";var n=a("d1hml"),i=a("aBVaX"),s=a("3Mwuv"),o=a("4Zvuy");let u=new n.Logger(i.version);function l(e,t,r){let i=null;if(Array.isArray(r))i=r;else if(r&&"object"==typeof r){let e={};i=t.map(t=>{let i=t.localName;return i||u.throwError("cannot encode object for signature with missing names",n.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),e[i]&&u.throwError("cannot encode object for signature with duplicate names",n.Logger.errors.INVALID_ARGUMENT,{argument:"values",coder:t,value:r}),e[i]=!0,r[i]})}else u.throwArgumentError("invalid tuple value","tuple",r);t.length!==i.length&&u.throwArgumentError("types/value length mismatch","tuple",r);let a=new s.Writer(e.wordSize),o=new s.Writer(e.wordSize),l=[];return t.forEach((e,t)=>{let r=i[t];if(e.dynamic){let t=o.length;e.encode(o,r);let n=a.writeUpdatableValue();l.push(e=>{n(e+t)})}else e.encode(a,r)}),l.forEach(e=>{e(a.length)}),e.appendWriter(a)+e.appendWriter(o)}function c(e,t){let r=[],i=e.subReader(0);t.forEach(t=>{let a=null;if(t.dynamic){let r=e.readValue(),s=i.subReader(r.toNumber());try{a=t.decode(s)}catch(e){if(e.code===n.Logger.errors.BUFFER_OVERRUN)throw e;(a=e).baseType=t.name,a.name=t.localName,a.type=t.type}}else try{a=t.decode(e)}catch(e){if(e.code===n.Logger.errors.BUFFER_OVERRUN)throw e;(a=e).baseType=t.name,a.name=t.localName,a.type=t.type}void 0!=a&&r.push(a)});let a=t.reduce((e,t)=>{let r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e},{});t.forEach((e,t)=>{let n=e.localName;if(!n||1!==a[n]||("length"===n&&(n="_length"),null!=r[n]))return;let i=r[t];i instanceof Error?Object.defineProperty(r,n,{enumerable:!0,get:()=>{throw i}}):r[n]=i});for(let e=0;e{throw t}})}return Object.freeze(r)}class d extends s.Coder{constructor(e,t,r){let n=e.type+"["+(t>=0?t:"")+"]",i=-1===t||e.dynamic;super("array",n,r,i),this.coder=e,this.length=t}defaultValue(){let e=this.coder.defaultValue(),t=[];for(let r=0;re._data.length&&u.throwError("insufficient data length",n.Logger.errors.BUFFER_OVERRUN,{length:e._data.length,count:t});let r=[];for(let e=0;ei);var n=a("3Mwuv");"use strict";class i extends n.Coder{constructor(e){super(e.name,e.type,void 0,e.dynamic),this.coder=e}defaultValue(){return this.coder.defaultValue()}encode(e,t){return this.coder.encode(e,t)}decode(e){return this.coder.decode(e)}}}),a.register("4V4hc",function(t,r){e(t.exports,"BooleanCoder",()=>i);var n=a("3Mwuv");"use strict";class i extends n.Coder{constructor(e){super("bool","bool",e,!1)}defaultValue(){return!1}encode(e,t){return e.writeValue(t?1:0)}decode(e){return e.coerce(this.type,!e.readValue().isZero())}}}),a.register("9siMZ",function(t,r){e(t.exports,"DynamicBytesCoder",()=>s),e(t.exports,"BytesCoder",()=>o);"use strict";var n=a("aBzgs"),i=a("3Mwuv");class s extends i.Coder{constructor(e,t){super(e,e,t,!0)}defaultValue(){return"0x"}encode(e,t){return t=(0,n.arrayify)(t),e.writeValue(t.length)+e.writeBytes(t)}decode(e){return e.readBytes(e.readValue().toNumber(),!0)}}class o extends s{constructor(e){super("bytes",e)}decode(e){return e.coerce(this.name,(0,n.hexlify)(super.decode(e)))}}}),a.register("dr1ok",function(t,r){e(t.exports,"FixedBytesCoder",()=>s);"use strict";var n=a("aBzgs"),i=a("3Mwuv");class s extends i.Coder{constructor(e,t){let r="bytes"+String(e);super(r,r,t,!1),this.size=e}defaultValue(){return"0x0000000000000000000000000000000000000000000000000000000000000000".substring(0,2+2*this.size)}encode(e,t){let r=(0,n.arrayify)(t);return r.length!==this.size&&this._throwError("incorrect data length",t),e.writeBytes(r)}decode(e){return e.coerce(this.name,(0,n.hexlify)(e.readBytes(this.size)))}}}),a.register("bGn0W",function(t,r){e(t.exports,"NullCoder",()=>i);var n=a("3Mwuv");"use strict";class i extends n.Coder{constructor(e){super("null","",e,!1)}defaultValue(){return null}encode(e,t){return null!=t&&this._throwError("not null",t),e.writeBytes([])}decode(e){return e.readBytes(0),e.coerce(this.name,null)}}}),a.register("lrGft",function(t,r){e(t.exports,"NumberCoder",()=>o);"use strict";var n=a("1chjt"),i=a("gVGT9"),s=a("3Mwuv");class o extends s.Coder{constructor(e,t,r){let n=(t?"int":"uint")+8*e;super(n,n,r,!1),this.size=e,this.signed=t}defaultValue(){return 0}encode(e,t){let r=(0,n.BigNumber).from(t),a=(0,i.MaxUint256).mask(8*e.wordSize);if(this.signed){let e=a.mask(8*this.size-1);(r.gt(e)||r.lt(e.add(i.One).mul(i.NegativeOne)))&&this._throwError("value out-of-bounds",t)}else(r.lt(i.Zero)||r.gt(a.mask(8*this.size)))&&this._throwError("value out-of-bounds",t);return r=r.toTwos(8*this.size).mask(8*this.size),this.signed&&(r=r.fromTwos(8*this.size).toTwos(8*e.wordSize)),e.writeValue(r)}decode(e){let t=e.readValue().mask(8*this.size);return this.signed&&(t=t.fromTwos(8*this.size)),e.coerce(this.name,t)}}}),a.register("gVGT9",function(t,r){e(t.exports,"NegativeOne",()=>i),e(t.exports,"Zero",()=>s),e(t.exports,"One",()=>o),e(t.exports,"Two",()=>u),e(t.exports,"WeiPerEther",()=>l),e(t.exports,"MaxUint256",()=>c),e(t.exports,"MinInt256",()=>d),e(t.exports,"MaxInt256",()=>f);var n=a("1chjt");let i=(0,n.BigNumber).from(-1),s=(0,n.BigNumber).from(0),o=(0,n.BigNumber).from(1),u=(0,n.BigNumber).from(2),l=(0,n.BigNumber).from("1000000000000000000"),c=(0,n.BigNumber).from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),d=(0,n.BigNumber).from("-0x8000000000000000000000000000000000000000000000000000000000000000"),f=(0,n.BigNumber).from("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff")}),a.register("cpHaC",function(t,r){e(t.exports,"StringCoder",()=>s);"use strict";var n=a("fkVsY"),i=a("9siMZ");class s extends i.DynamicBytesCoder{constructor(e){super("string",e)}defaultValue(){return""}encode(e,t){return super.encode(e,(0,n.toUtf8Bytes)(t))}decode(e){return(0,n.toUtf8String)(super.decode(e))}}}),a.register("h11H8",function(t,r){e(t.exports,"TupleCoder",()=>s);"use strict";var n=a("3Mwuv"),i=a("dZXkS");class s extends n.Coder{constructor(e,t){let r=!1,n=[];e.forEach(e=>{e.dynamic&&(r=!0),n.push(e.type)});let i="tuple("+n.join(",")+")";super("tuple",i,t,r),this.coders=e}defaultValue(){let e=[];this.coders.forEach(t=>{e.push(t.defaultValue())});let t=this.coders.reduce((e,t)=>{let r=t.localName;return r&&(e[r]||(e[r]=0),e[r]++),e},{});return this.coders.forEach((r,n)=>{let i=r.localName;i&&1===t[i]&&("length"===i&&(i="_length"),null==e[i]&&(e[i]=e[n]))}),Object.freeze(e)}encode(e,t){return(0,i.pack)(e,this.coders,t)}decode(e){return e.coerce(this.name,(0,i.unpack)(e,this.coders))}}}),a.register("bB9qw",function(t,r){e(t.exports,"FormatTypes",()=>p),e(t.exports,"ParamType",()=>m),e(t.exports,"Fragment",()=>g),e(t.exports,"FunctionFragment",()=>M),e(t.exports,"EventFragment",()=>v),e(t.exports,"ConstructorFragment",()=>x),e(t.exports,"ErrorFragment",()=>C);"use strict";var n=a("1chjt"),i=a("e72ut"),s=a("d1hml"),o=a("aBVaX");let u=new s.Logger(o.version),l={},c={calldata:!0,memory:!0,storage:!0},d={calldata:!0,memory:!0};function f(e,t){if("bytes"===e||"string"===e){if(c[t])return!0}else if("address"===e){if("payable"===t)return!0}else if((e.indexOf("[")>=0||"tuple"===e)&&d[t])return!0;return(c[t]||"payable"===t)&&u.throwArgumentError("invalid modifier","name",t),!1}function h(e,t){for(let r in t)(0,i.defineReadOnly)(e,r,t[r])}let p=Object.freeze({sighash:"sighash",minimal:"minimal",full:"full",json:"json"}),y=new RegExp(/^(.*)\[([0-9]*)\]$/);class m{constructor(e,t){e!==l&&u.throwError("use fromString",s.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new ParamType()"}),h(this,t);let r=this.type.match(y);r?h(this,{arrayLength:parseInt(r[2]||"-1"),arrayChildren:m.fromObject({type:r[1],components:this.components}),baseType:"array"}):h(this,{arrayLength:null,arrayChildren:null,baseType:null!=this.components?"tuple":this.type}),this._isParamType=!0,Object.freeze(this)}format(e){if(e||(e=p.sighash),p[e]||u.throwArgumentError("invalid format type","format",e),e===p.json){let t={type:"tuple"===this.baseType?"tuple":this.type,name:this.name||void 0};return"boolean"==typeof this.indexed&&(t.indexed=this.indexed),this.components&&(t.components=this.components.map(t=>JSON.parse(t.format(e)))),JSON.stringify(t)}let t="";return"array"===this.baseType?t+=this.arrayChildren.format(e)+"["+(this.arrayLength<0?"":String(this.arrayLength))+"]":"tuple"===this.baseType?(e!==p.sighash&&(t+=this.type),t+="("+this.components.map(t=>t.format(e)).join(e===p.full?", ":",")+")"):t+=this.type,e!==p.sighash&&(!0===this.indexed&&(t+=" indexed"),e===p.full&&this.name&&(t+=" "+this.name)),t}static from(e,t){return"string"==typeof e?m.fromString(e,t):m.fromObject(e)}static fromObject(e){return m.isParamType(e)?e:new m(l,{name:e.name||null,type:_(e.type),indexed:null==e.indexed?null:!!e.indexed,components:e.components?e.components.map(m.fromObject):null})}static fromString(e,t){var r;return r=function(e,t){let r=e;function n(t){u.throwArgumentError(`unexpected character at position ${t}`,"param",e)}function i(e){let r={type:"",name:"",parent:e,state:{allowType:!0}};return t&&(r.indexed=!1),r}e=e.replace(/\s/g," ");let a={type:"",name:"",state:{allowType:!0}},s=a;for(let r=0;rm.fromString(e,t))}class g{constructor(e,t){e!==l&&u.throwError("use a static from method",s.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new Fragment()"}),h(this,t),this._isFragment=!0,Object.freeze(this)}static from(e){return g.isFragment(e)?e:"string"==typeof e?g.fromString(e):g.fromObject(e)}static fromObject(e){if(g.isFragment(e))return e;switch(e.type){case"function":return M.fromObject(e);case"event":return v.fromObject(e);case"constructor":return x.fromObject(e);case"error":return C.fromObject(e);case"fallback":case"receive":return null}return u.throwArgumentError("invalid fragment object","value",e)}static fromString(e){return"event"===(e=(e=(e=e.replace(/\s/g," ")).replace(/\(/g," (").replace(/\)/g,") ").replace(/\s+/g," ")).trim()).split(" ")[0]?v.fromString(e.substring(5).trim()):"function"===e.split(" ")[0]?M.fromString(e.substring(8).trim()):"constructor"===e.split("(")[0].trim()?x.fromString(e.trim()):"error"===e.split(" ")[0]?C.fromString(e.substring(5).trim()):u.throwArgumentError("unsupported fragment","value",e)}static isFragment(e){return!!(e&&e._isFragment)}}class v extends g{format(e){if(e||(e=p.sighash),p[e]||u.throwArgumentError("invalid format type","format",e),e===p.json)return JSON.stringify({type:"event",anonymous:this.anonymous,name:this.name,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});let t="";return e!==p.sighash&&(t+="event "),t+=this.name+"("+this.inputs.map(t=>t.format(e)).join(e===p.full?", ":",")+") ",e!==p.sighash&&this.anonymous&&(t+="anonymous "),t.trim()}static from(e){return"string"==typeof e?v.fromString(e):v.fromObject(e)}static fromObject(e){if(v.isEventFragment(e))return e;"event"!==e.type&&u.throwArgumentError("invalid event object","value",e);let t={name:B(e.name),anonymous:e.anonymous,inputs:e.inputs?e.inputs.map(m.fromObject):[],type:"event"};return new v(l,t)}static fromString(e){let t=e.match(F);t||u.throwArgumentError("invalid event string","value",e);let r=!1;return t[3].split(" ").forEach(e=>{switch(e.trim()){case"anonymous":r=!0;break;case"":break;default:u.warn("unknown modifier: "+e)}}),v.fromObject({name:t[1].trim(),anonymous:r,inputs:b(t[2],!0),type:"event"})}static isEventFragment(e){return e&&e._isFragment&&"event"===e.type}}function w(e,t){t.gas=null;let r=e.split("@");return 1!==r.length?(r.length>2&&u.throwArgumentError("invalid human-readable ABI signature","value",e),r[1].match(/^[0-9]+$/)||u.throwArgumentError("invalid human-readable ABI signature gas","value",e),t.gas=(0,n.BigNumber).from(r[1]),r[0]):e}function A(e,t){t.constant=!1,t.payable=!1,t.stateMutability="nonpayable",e.split(" ").forEach(e=>{switch(e.trim()){case"constant":t.constant=!0;break;case"payable":t.payable=!0,t.stateMutability="payable";break;case"nonpayable":t.payable=!1,t.stateMutability="nonpayable";break;case"pure":t.constant=!0,t.stateMutability="pure";break;case"view":t.constant=!0,t.stateMutability="view";break;case"external":case"public":case"":break;default:console.log("unknown modifier: "+e)}})}function E(e){let t={constant:!1,payable:!0,stateMutability:"payable"};return null!=e.stateMutability?(t.stateMutability=e.stateMutability,t.constant="view"===t.stateMutability||"pure"===t.stateMutability,null!=e.constant&&!!e.constant!==t.constant&&u.throwArgumentError("cannot have constant function with mutability "+t.stateMutability,"value",e),t.payable="payable"===t.stateMutability,null!=e.payable&&!!e.payable!==t.payable&&u.throwArgumentError("cannot have payable function with mutability "+t.stateMutability,"value",e)):null!=e.payable?(t.payable=!!e.payable,null!=e.constant||t.payable||"constructor"===e.type||u.throwArgumentError("unable to determine stateMutability","value",e),t.constant=!!e.constant,t.constant?t.stateMutability="view":t.stateMutability=t.payable?"payable":"nonpayable",t.payable&&t.constant&&u.throwArgumentError("cannot have constant payable function","value",e)):null!=e.constant?(t.constant=!!e.constant,t.payable=!t.constant,t.stateMutability=t.constant?"view":"payable"):"constructor"!==e.type&&u.throwArgumentError("unable to determine stateMutability","value",e),t}class x extends g{format(e){if(e||(e=p.sighash),p[e]||u.throwArgumentError("invalid format type","format",e),e===p.json)return JSON.stringify({type:"constructor",stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});e===p.sighash&&u.throwError("cannot format a constructor for sighash",s.Logger.errors.UNSUPPORTED_OPERATION,{operation:"format(sighash)"});let t="constructor("+this.inputs.map(t=>t.format(e)).join(e===p.full?", ":",")+") ";return this.stateMutability&&"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "),t.trim()}static from(e){return"string"==typeof e?x.fromString(e):x.fromObject(e)}static fromObject(e){if(x.isConstructorFragment(e))return e;"constructor"!==e.type&&u.throwArgumentError("invalid constructor object","value",e);let t=E(e);t.constant&&u.throwArgumentError("constructor cannot be constant","value",e);let r={name:null,type:e.type,inputs:e.inputs?e.inputs.map(m.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?(0,n.BigNumber).from(e.gas):null};return new x(l,r)}static fromString(e){let t={type:"constructor"},r=(e=w(e,t)).match(F);return r&&"constructor"===r[1].trim()||u.throwArgumentError("invalid constructor string","value",e),t.inputs=b(r[2].trim(),!1),A(r[3].trim(),t),x.fromObject(t)}static isConstructorFragment(e){return e&&e._isFragment&&"constructor"===e.type}}class M extends x{format(e){if(e||(e=p.sighash),p[e]||u.throwArgumentError("invalid format type","format",e),e===p.json)return JSON.stringify({type:"function",name:this.name,constant:this.constant,stateMutability:"nonpayable"!==this.stateMutability?this.stateMutability:void 0,payable:this.payable,gas:this.gas?this.gas.toNumber():void 0,inputs:this.inputs.map(t=>JSON.parse(t.format(e))),outputs:this.outputs.map(t=>JSON.parse(t.format(e)))});let t="";return e!==p.sighash&&(t+="function "),t+=this.name+"("+this.inputs.map(t=>t.format(e)).join(e===p.full?", ":",")+") ",e!==p.sighash&&(this.stateMutability?"nonpayable"!==this.stateMutability&&(t+=this.stateMutability+" "):this.constant&&(t+="view "),this.outputs&&this.outputs.length&&(t+="returns ("+this.outputs.map(t=>t.format(e)).join(", ")+") "),null!=this.gas&&(t+="@"+this.gas.toString()+" ")),t.trim()}static from(e){return"string"==typeof e?M.fromString(e):M.fromObject(e)}static fromObject(e){if(M.isFunctionFragment(e))return e;"function"!==e.type&&u.throwArgumentError("invalid function object","value",e);let t=E(e),r={type:e.type,name:B(e.name),constant:t.constant,inputs:e.inputs?e.inputs.map(m.fromObject):[],outputs:e.outputs?e.outputs.map(m.fromObject):[],payable:t.payable,stateMutability:t.stateMutability,gas:e.gas?(0,n.BigNumber).from(e.gas):null};return new M(l,r)}static fromString(e){let t={type:"function"},r=(e=w(e,t)).split(" returns ");r.length>2&&u.throwArgumentError("invalid function string","value",e);let n=r[0].match(F);if(n||u.throwArgumentError("invalid function signature","value",e),t.name=n[1].trim(),t.name&&B(t.name),t.inputs=b(n[2],!1),A(n[3].trim(),t),r.length>1){let n=r[1].match(F);(""!=n[1].trim()||""!=n[3].trim())&&u.throwArgumentError("unexpected tokens","value",e),t.outputs=b(n[2],!1)}else t.outputs=[];return M.fromObject(t)}static isFunctionFragment(e){return e&&e._isFragment&&"function"===e.type}}function T(e){let t=e.format();return("Error(string)"===t||"Panic(uint256)"===t)&&u.throwArgumentError(`cannot specify user defined ${t} error`,"fragment",e),e}class C extends g{format(e){if(e||(e=p.sighash),p[e]||u.throwArgumentError("invalid format type","format",e),e===p.json)return JSON.stringify({type:"error",name:this.name,inputs:this.inputs.map(t=>JSON.parse(t.format(e)))});let t="";return e!==p.sighash&&(t+="error "),(t+=this.name+"("+this.inputs.map(t=>t.format(e)).join(e===p.full?", ":",")+") ").trim()}static from(e){return"string"==typeof e?C.fromString(e):C.fromObject(e)}static fromObject(e){if(C.isErrorFragment(e))return e;"error"!==e.type&&u.throwArgumentError("invalid error object","value",e);let t={type:e.type,name:B(e.name),inputs:e.inputs?e.inputs.map(m.fromObject):[]};return T(new C(l,t))}static fromString(e){let t={type:"error"},r=e.match(F);return r||u.throwArgumentError("invalid error signature","value",e),t.name=r[1].trim(),t.name&&B(t.name),t.inputs=b(r[2],!1),T(C.fromObject(t))}static isErrorFragment(e){return e&&e._isFragment&&"error"===e.type}}function _(e){return e.match(/^uint($|[^1-9])/)?e="uint256"+e.substring(4):e.match(/^int($|[^1-9])/)&&(e="int256"+e.substring(3)),e}let S=RegExp("^[a-zA-Z$_][a-zA-Z0-9$_]*$");function B(e){return e&&e.match(S)||u.throwArgumentError(`invalid identifier "${e}"`,"value",e),e}let F=RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$")}),a.register("iYAoV",function(t,r){e(t.exports,"pack",()=>y),e(t.exports,"keccak256",()=>m),e(t.exports,"sha256",()=>b);"use strict";var n=a("1chjt"),i=a("aBzgs"),s=a("2yhyU"),o=a("g67nD"),u=a("fkVsY"),l=a("d1hml"),c=a("6QiU2");let d=RegExp("^bytes([0-9]+)$"),f=RegExp("^(u?int)([0-9]*)$"),h=RegExp("^(.*)\\[([0-9]*)\\]$"),p=new l.Logger(c.version);function y(e,t){e.length!=t.length&&p.throwArgumentError("wrong number of values; expected ${ types.length }","values",t);let r=[];return e.forEach(function(e,a){r.push(function e(t,r,a){switch(t){case"address":if(a)return(0,i.zeroPad)(r,32);return(0,i.arrayify)(r);case"string":return(0,u.toUtf8Bytes)(r);case"bytes":return(0,i.arrayify)(r);case"bool":if(r=r?"0x01":"0x00",a)return(0,i.zeroPad)(r,32);return(0,i.arrayify)(r)}let s=t.match(f);if(s){let e=parseInt(s[2]||"256");return(s[2]&&String(e)!==s[2]||e%8!=0||0===e||e>256)&&p.throwArgumentError("invalid number type","type",t),a&&(e=256),r=(0,n.BigNumber).from(r).toTwos(e),(0,i.zeroPad)(r,e/8)}if(s=t.match(d)){let e=parseInt(s[1]);return((String(e)!==s[1]||0===e||e>32)&&p.throwArgumentError("invalid bytes type","type",t),(0,i.arrayify)(r).byteLength!==e&&p.throwArgumentError(`invalid value for ${t}`,"value",r),a)?(0,i.arrayify)((r+"0000000000000000000000000000000000000000000000000000000000000000").substring(0,66)):r}if((s=t.match(h))&&Array.isArray(r)){let n=s[1],a=parseInt(s[2]||String(r.length));a!=r.length&&p.throwArgumentError(`invalid array length for ${t}`,"value",r);let o=[];return r.forEach(function(t){o.push(e(n,t,!0))}),(0,i.concat)(o)}return p.throwArgumentError("invalid type","type",t)}(e,t[a]))}),(0,i.hexlify)((0,i.concat)(r))}function m(e,t){return(0,s.keccak256)(y(e,t))}function b(e,t){return(0,o.sha256)(y(e,t))}}),a.register("g67nD",function(r,n){e(r.exports,"ripemd160",()=>d),e(r.exports,"sha256",()=>f),e(r.exports,"sha512",()=>h),e(r.exports,"computeHmac",()=>p);"use strict";var i=a("kiSKt"),s=a("aBzgs"),o=a("iLptM"),u=a("d1hml"),l=a("aF6L7");let c=new u.Logger(l.version);function d(e){return"0x"+t(i).ripemd160().update((0,s.arrayify)(e)).digest("hex")}function f(e){return"0x"+t(i).sha256().update((0,s.arrayify)(e)).digest("hex")}function h(e){return"0x"+t(i).sha512().update((0,s.arrayify)(e)).digest("hex")}function p(e,r,n){return o.SupportedAlgorithm[e]||c.throwError("unsupported algorithm "+e,u.Logger.errors.UNSUPPORTED_OPERATION,{operation:"hmac",algorithm:e}),"0x"+t(i).hmac(t(i)[e],(0,s.arrayify)(r)).update((0,s.arrayify)(n)).digest("hex")}}),a.register("iLptM",function(t,r){var n,i;e(t.exports,"SupportedAlgorithm",()=>n),(i=n||(n={})).sha256="sha256",i.sha512="sha512"}),a.register("aF6L7",function(t,r){e(t.exports,"version",()=>n);let n="sha2/5.7.0"}),a.register("6QiU2",function(t,r){e(t.exports,"version",()=>n);let n="solidity/5.7.0"}),a.register("86UQU",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.getCreateCallContractInstance=e.exports.getSignMessageLibContractInstance=e.exports.getSafeProxyFactoryContractInstance=e.exports.getMultiSendCallOnlyContractInstance=e.exports.getMultiSendContractInstance=e.exports.getCompatibilityFallbackHandlerContractInstance=e.exports.getSafeContractInstance=void 0;var n=a("140z0"),i=a("8Nuj2"),s=a("82Wpd"),o=a("d6MDD"),u=a("3o2CW"),l=a("dcuKN"),c=a("7KTUJ"),d=a("jFirz"),f=a("99eEw"),h=a("2NOmM"),p=a("51bJz"),y=a("j9o7h"),m=a("2Vt7J");let b=r(a("2vrlu")),g=r(a("dBXlG")),v=r(a("fv2IJ")),w=r(a("8rERv")),A=r(a("9Zjr6")),E=r(a("4GhFu")),x=r(a("4DMxy")),M=r(a("AaKBn")),T=r(a("7R9Ea")),C=r(a("9WYg7")),_=r(a("9ia5V")),S=r(a("e87Wo")),B=r(a("4nbRm"));e.exports.getSafeContractInstance=function(e,t,r){let i;switch(e){case"1.3.0":return i=d.Gnosis_safe__factory.connect(t,r),new E.default(i);case"1.2.0":return i=l.Gnosis_safe__factory.connect(t,r),new A.default(i);case"1.1.1":return i=s.Gnosis_safe__factory.connect(t,r),new w.default(i);case"1.0.0":return i=n.Gnosis_safe__factory.connect(t,r),new v.default(i);default:throw Error("Invalid Safe version")}},e.exports.getCompatibilityFallbackHandlerContractInstance=function(e,t,r){let n;switch(e){case"1.3.0":case"1.2.0":case"1.1.1":return n=c.Compatibility_fallback_handler__factory.connect(t,r),new b.default(n);default:throw Error("Invalid Safe version")}},e.exports.getMultiSendContractInstance=function(e,t,r){let n;switch(e){case"1.3.0":return n=h.Multi_send__factory.connect(t,r),new _.default(n);case"1.2.0":case"1.1.1":case"1.0.0":return n=o.Multi_send__factory.connect(t,r),new C.default(n);default:throw Error("Invalid Safe version")}},e.exports.getMultiSendCallOnlyContractInstance=function(e,t,r){let n;switch(e){case"1.3.0":case"1.2.0":case"1.1.1":case"1.0.0":return n=f.Multi_send_call_only__factory.connect(t,r),new S.default(n);default:throw Error("Invalid Safe version")}},e.exports.getSafeProxyFactoryContractInstance=function(e,t,r){let n;switch(e){case"1.3.0":return n=p.Proxy_factory__factory.connect(t,r),new T.default(n);case"1.2.0":case"1.1.1":return n=u.Proxy_factory__factory.connect(t,r),new M.default(n);case"1.0.0":return n=i.Proxy_factory__factory.connect(t,r),new x.default(n);default:throw Error("Invalid Safe version")}},e.exports.getSignMessageLibContractInstance=function(e,t,r){let n;if("1.3.0"===e)return n=y.Sign_message_lib__factory.connect(t,r),new B.default(n);throw Error("Invalid Safe version")},e.exports.getCreateCallContractInstance=function(e,t,r){let n;switch(e){case"1.3.0":case"1.2.0":case"1.1.1":case"1.0.0":return n=m.Create_call__factory.connect(t,r),new g.default(n);default:throw Error("Invalid Safe version")}}}),a.register("140z0",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Gnosis_safe__factory=void 0;var r=a("fP04X"),n=a("1f1He");let i=[{constant:!1,inputs:[{name:"owner",type:"address"},{name:"_threshold",type:"uint256"}],name:"addOwnerWithThreshold",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"DOMAIN_SEPARATOR_TYPEHASH",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"owner",type:"address"}],name:"isOwner",outputs:[{name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"}],name:"execTransactionFromModule",outputs:[{name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"bytes32"}],name:"signedMessages",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"module",type:"address"}],name:"enableModule",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_threshold",type:"uint256"}],name:"changeThreshold",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"",type:"address"},{name:"",type:"bytes32"}],name:"approvedHashes",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"_masterCopy",type:"address"}],name:"changeMasterCopy",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"SENTINEL_MODULES",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"SENTINEL_OWNERS",outputs:[{name:"",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOwners",outputs:[{name:"",type:"address[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"NAME",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"nonce",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getModules",outputs:[{name:"",type:"address[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"SAFE_MSG_TYPEHASH",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"SAFE_TX_TYPEHASH",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"prevModule",type:"address"},{name:"module",type:"address"}],name:"disableModule",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"prevOwner",type:"address"},{name:"oldOwner",type:"address"},{name:"newOwner",type:"address"}],name:"swapOwner",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getThreshold",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"domainSeparator",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{name:"prevOwner",type:"address"},{name:"owner",type:"address"},{name:"_threshold",type:"uint256"}],name:"removeOwner",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"VERSION",outputs:[{name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{payable:!0,stateMutability:"payable",type:"fallback"},{anonymous:!1,inputs:[{indexed:!1,name:"txHash",type:"bytes32"}],name:"ExecutionFailed",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"owner",type:"address"}],name:"AddedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"owner",type:"address"}],name:"RemovedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"threshold",type:"uint256"}],name:"ChangedThreshold",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"module",type:"address"}],name:"EnabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"module",type:"address"}],name:"DisabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,name:"newContract",type:"address"}],name:"ContractCreation",type:"event"},{constant:!1,inputs:[{name:"_owners",type:"address[]"},{name:"_threshold",type:"uint256"},{name:"to",type:"address"},{name:"data",type:"bytes"},{name:"paymentToken",type:"address"},{name:"payment",type:"uint256"},{name:"paymentReceiver",type:"address"}],name:"setup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"},{name:"safeTxGas",type:"uint256"},{name:"baseGas",type:"uint256"},{name:"gasPrice",type:"uint256"},{name:"gasToken",type:"address"},{name:"refundReceiver",type:"address"},{name:"signatures",type:"bytes"}],name:"execTransaction",outputs:[{name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"}],name:"requiredTxGas",outputs:[{name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"hashToApprove",type:"bytes32"}],name:"approveHash",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_data",type:"bytes"}],name:"signMessage",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{name:"_data",type:"bytes"},{name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{name:"message",type:"bytes"}],name:"getMessageHash",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"},{name:"safeTxGas",type:"uint256"},{name:"baseGas",type:"uint256"},{name:"gasPrice",type:"uint256"},{name:"gasToken",type:"address"},{name:"refundReceiver",type:"address"},{name:"_nonce",type:"uint256"}],name:"encodeTransactionData",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{name:"to",type:"address"},{name:"value",type:"uint256"},{name:"data",type:"bytes"},{name:"operation",type:"uint8"},{name:"safeTxGas",type:"uint256"},{name:"baseGas",type:"uint256"},{name:"gasPrice",type:"uint256"},{name:"gasToken",type:"address"},{name:"refundReceiver",type:"address"},{name:"_nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"}];class s{static createInterface(){return new n.Interface(i)}static connect(e,t){return new r.Contract(e,i,t)}}e.exports.Gnosis_safe__factory=s,s.abi=i}),a.register("fP04X",function(t,r){e(t.exports,"BaseContract",()=>B),e(t.exports,"Contract",()=>F),e(t.exports,"ContractFactory",()=>k);"use strict";var n=a("3Mwuv"),i=a("kzlBy"),s=a("b6M4l"),o=a("j7x7T"),u=a("bVwUc"),l=a("1chjt"),c=a("aBzgs"),d=a("e72ut"),f=a("TyNFl"),h=a("d1hml"),p=a("jnIQZ"),y=function(e,t,r,n){return new(r||(r=Promise))(function(i,a){function s(e){try{u(n.next(e))}catch(e){a(e)}}function o(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(s,o)}u((n=n.apply(e,t||[])).next())})};let m=new h.Logger(p.version),b={chainId:!0,data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0,customData:!0,ccipReadEnabled:!0};function g(e,t){return y(this,void 0,void 0,function*(){let r=yield t;"string"!=typeof r&&m.throwArgumentError("invalid address or ENS name","name",r);try{return(0,u.getAddress)(r)}catch(e){}e||m.throwError("a provider or signer is needed to resolve ENS names",h.Logger.errors.UNSUPPORTED_OPERATION,{operation:"resolveName"});let n=yield e.resolveName(r);return null==n&&m.throwArgumentError("resolver or addr is not configured for ENS name","name",r),n})}function v(e,t,r){return y(this,void 0,void 0,function*(){return Array.isArray(r)?yield Promise.all(r.map((r,n)=>v(e,Array.isArray(t)?t[n]:t[r.name],r))):"address"===r.type?yield g(e,t):"tuple"===r.type?yield v(e,t,r.components):"array"===r.baseType?Array.isArray(t)?yield Promise.all(t.map(t=>v(e,t,r.arrayChildren))):Promise.reject(m.makeError("invalid value for array",h.Logger.errors.INVALID_ARGUMENT,{argument:"value",value:t})):t})}function w(e,t,r){return y(this,void 0,void 0,function*(){let n={};r.length===t.inputs.length+1&&"object"==typeof r[r.length-1]&&(n=(0,d.shallowCopy)(r.pop())),m.checkArgumentCount(r.length,t.inputs.length,"passed to contract"),e.signer?n.from?n.from=(0,d.resolveProperties)({override:g(e.signer,n.from),signer:e.signer.getAddress()}).then(e=>y(this,void 0,void 0,function*(){return(0,u.getAddress)(e.signer)!==e.override&&m.throwError("Contract with a Signer cannot override from",h.Logger.errors.UNSUPPORTED_OPERATION,{operation:"overrides.from"}),e.override})):n.from=e.signer.getAddress():n.from&&(n.from=g(e.provider,n.from));let i=yield(0,d.resolveProperties)({args:v(e.signer||e.provider,r,t.inputs),address:e.resolvedAddress,overrides:(0,d.resolveProperties)(n)||{}}),a=e.interface.encodeFunctionData(t,i.args),s={data:a,to:i.address},o=i.overrides;if(null!=o.nonce&&(s.nonce=(0,l.BigNumber).from(o.nonce).toNumber()),null!=o.gasLimit&&(s.gasLimit=(0,l.BigNumber).from(o.gasLimit)),null!=o.gasPrice&&(s.gasPrice=(0,l.BigNumber).from(o.gasPrice)),null!=o.maxFeePerGas&&(s.maxFeePerGas=(0,l.BigNumber).from(o.maxFeePerGas)),null!=o.maxPriorityFeePerGas&&(s.maxPriorityFeePerGas=(0,l.BigNumber).from(o.maxPriorityFeePerGas)),null!=o.from&&(s.from=o.from),null!=o.type&&(s.type=o.type),null!=o.accessList&&(s.accessList=(0,f.accessListify)(o.accessList)),null==s.gasLimit&&null!=t.gas){let e=21e3,r=(0,c.arrayify)(a);for(let t=0;tnull!=n[e]);return p.length&&m.throwError(`cannot override ${p.map(e=>JSON.stringify(e)).join(",")}`,h.Logger.errors.UNSUPPORTED_OPERATION,{operation:"overrides",overrides:p}),s})}function A(e,t){let r=t.wait.bind(t);t.wait=t=>r(t).then(t=>(t.events=t.logs.map(r=>{let n=(0,d.deepCopy)(r),i=null;try{i=e.interface.parseLog(r)}catch(e){}return i&&(n.args=i.args,n.decode=(t,r)=>e.interface.decodeEventLog(i.eventFragment,t,r),n.event=i.name,n.eventSignature=i.signature),n.removeListener=()=>e.provider,n.getBlock=()=>e.provider.getBlock(t.blockHash),n.getTransaction=()=>e.provider.getTransaction(t.transactionHash),n.getTransactionReceipt=()=>Promise.resolve(t),n}),t))}function E(e,t,r){let n=e.signer||e.provider;return function(...i){return y(this,void 0,void 0,function*(){let a;if(i.length===t.inputs.length+1&&"object"==typeof i[i.length-1]){let e=(0,d.shallowCopy)(i.pop());null!=e.blockTag&&(a=yield e.blockTag),delete e.blockTag,i.push(e)}null!=e.deployTransaction&&(yield e._deployed(a));let s=yield w(e,t,i),o=yield n.call(s,a);try{let n=e.interface.decodeFunctionResult(t,o);return r&&1===t.outputs.length&&(n=n[0]),n}catch(t){throw t.code===h.Logger.errors.CALL_EXCEPTION&&(t.address=e.address,t.args=i,t.transaction=s),t}})}}function x(e,t,r){return t.constant?E(e,t,r):function(...r){return y(this,void 0,void 0,function*(){e.signer||m.throwError("sending a transaction requires a signer",h.Logger.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=e.deployTransaction&&(yield e._deployed());let n=yield w(e,t,r),i=yield e.signer.sendTransaction(n);return A(e,i),i})}}function M(e){return e.address&&(null==e.topics||0===e.topics.length)?"*":(e.address||"*")+"@"+(e.topics?e.topics.map(e=>Array.isArray(e)?e.join("|"):e).join(":"):"")}class T{constructor(e,t){(0,d.defineReadOnly)(this,"tag",e),(0,d.defineReadOnly)(this,"filter",t),this._listeners=[]}addListener(e,t){this._listeners.push({listener:e,once:t})}removeListener(e){let t=!1;this._listeners=this._listeners.filter(r=>!!t||r.listener!==e||(t=!0,!1))}removeAllListeners(){this._listeners=[]}listeners(){return this._listeners.map(e=>e.listener)}listenerCount(){return this._listeners.length}run(e){let t=this.listenerCount();return this._listeners=this._listeners.filter(t=>{let r=e.slice();return setTimeout(()=>{t.listener.apply(this,r)},0),!t.once}),t}prepareEvent(e){}getEmit(e){return[e]}}class C extends T{constructor(){super("error",null)}}class _ extends T{constructor(e,t,r,n){let i={address:e},a=t.getEventTopic(r);n?(a!==n[0]&&m.throwArgumentError("topic mismatch","topics",n),i.topics=n.slice()):i.topics=[a],super(M(i),i),(0,d.defineReadOnly)(this,"address",e),(0,d.defineReadOnly)(this,"interface",t),(0,d.defineReadOnly)(this,"fragment",r)}prepareEvent(e){super.prepareEvent(e),e.event=this.fragment.name,e.eventSignature=this.fragment.format(),e.decode=(e,t)=>this.interface.decodeEventLog(this.fragment,e,t);try{e.args=this.interface.decodeEventLog(this.fragment,e.data,e.topics)}catch(t){e.args=null,e.decodeError=t}}getEmit(e){let t=(0,n.checkResultErrors)(e.args);if(t.length)throw t[0].error;let r=(e.args||[]).slice();return r.push(e),r}}class S extends T{constructor(e,t){super("*",{address:e}),(0,d.defineReadOnly)(this,"address",e),(0,d.defineReadOnly)(this,"interface",t)}prepareEvent(e){super.prepareEvent(e);try{let t=this.interface.parseLog(e);e.event=t.name,e.eventSignature=t.signature,e.decode=(e,r)=>this.interface.decodeEventLog(t.eventFragment,e,r),e.args=t.args}catch(e){}}}class B{constructor(e,t,r){(0,d.defineReadOnly)(this,"interface",(0,d.getStatic)(new.target,"getInterface")(t)),null==r?((0,d.defineReadOnly)(this,"provider",null),(0,d.defineReadOnly)(this,"signer",null)):(0,o.Signer).isSigner(r)?((0,d.defineReadOnly)(this,"provider",r.provider||null),(0,d.defineReadOnly)(this,"signer",r)):(0,s.Provider).isProvider(r)?((0,d.defineReadOnly)(this,"provider",r),(0,d.defineReadOnly)(this,"signer",null)):m.throwArgumentError("invalid signer or provider","signerOrProvider",r),(0,d.defineReadOnly)(this,"callStatic",{}),(0,d.defineReadOnly)(this,"estimateGas",{}),(0,d.defineReadOnly)(this,"functions",{}),(0,d.defineReadOnly)(this,"populateTransaction",{}),(0,d.defineReadOnly)(this,"filters",{});{let e={};Object.keys(this.interface.events).forEach(t=>{let r=this.interface.events[t];(0,d.defineReadOnly)(this.filters,t,(...e)=>({address:this.address,topics:this.interface.encodeFilterTopics(r,e)})),e[r.name]||(e[r.name]=[]),e[r.name].push(t)}),Object.keys(e).forEach(t=>{let r=e[t];1===r.length?(0,d.defineReadOnly)(this.filters,t,this.filters[r[0]]):m.warn(`Duplicate definition of ${t} (${r.join(", ")})`)})}if((0,d.defineReadOnly)(this,"_runningEvents",{}),(0,d.defineReadOnly)(this,"_wrappedEmits",{}),null==e&&m.throwArgumentError("invalid contract address or ENS name","addressOrName",e),(0,d.defineReadOnly)(this,"address",e),this.provider)(0,d.defineReadOnly)(this,"resolvedAddress",g(this.provider,e));else try{(0,d.defineReadOnly)(this,"resolvedAddress",Promise.resolve((0,u.getAddress)(e)))}catch(e){m.throwError("provider is required to use ENS name as contract address",h.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new Contract"})}this.resolvedAddress.catch(e=>{});let n={},i={};Object.keys(this.interface.functions).forEach(e=>{let t=this.interface.functions[e];if(i[e]){m.warn(`Duplicate ABI entry for ${JSON.stringify(e)}`);return}i[e]=!0;{let r=t.name;n[`%${r}`]||(n[`%${r}`]=[]),n[`%${r}`].push(e)}if(null==this[e]&&(0,d.defineReadOnly)(this,e,x(this,t,!0)),null==this.functions[e]&&(0,d.defineReadOnly)(this.functions,e,x(this,t,!1)),null==this.callStatic[e]&&(0,d.defineReadOnly)(this.callStatic,e,E(this,t,!0)),null==this.populateTransaction[e]){var r;(0,d.defineReadOnly)(this.populateTransaction,e,(r=this,function(...e){return w(r,t,e)}))}null==this.estimateGas[e]&&(0,d.defineReadOnly)(this.estimateGas,e,function(e,t){let r=e.signer||e.provider;return function(...n){return y(this,void 0,void 0,function*(){r||m.throwError("estimate require a provider or signer",h.Logger.errors.UNSUPPORTED_OPERATION,{operation:"estimateGas"});let i=yield w(e,t,n);return yield r.estimateGas(i)})}}(this,t))}),Object.keys(n).forEach(e=>{let t=n[e];if(t.length>1)return;e=e.substring(1);let r=t[0];try{null==this[e]&&(0,d.defineReadOnly)(this,e,this[r])}catch(e){}null==this.functions[e]&&(0,d.defineReadOnly)(this.functions,e,this.functions[r]),null==this.callStatic[e]&&(0,d.defineReadOnly)(this.callStatic,e,this.callStatic[r]),null==this.populateTransaction[e]&&(0,d.defineReadOnly)(this.populateTransaction,e,this.populateTransaction[r]),null==this.estimateGas[e]&&(0,d.defineReadOnly)(this.estimateGas,e,this.estimateGas[r])})}static getContractAddress(e){return(0,u.getContractAddress)(e)}static getInterface(e){return(0,i.Interface).isInterface(e)?e:new i.Interface(e)}deployed(){return this._deployed()}_deployed(e){return this._deployedPromise||(this.deployTransaction?this._deployedPromise=this.deployTransaction.wait().then(()=>this):this._deployedPromise=this.provider.getCode(this.address,e).then(e=>("0x"===e&&m.throwError("contract not deployed",h.Logger.errors.UNSUPPORTED_OPERATION,{contractAddress:this.address,operation:"getDeployed"}),this))),this._deployedPromise}fallback(e){this.signer||m.throwError("sending a transactions require a signer",h.Logger.errors.UNSUPPORTED_OPERATION,{operation:"sendTransaction(fallback)"});let t=(0,d.shallowCopy)(e||{});return["from","to"].forEach(function(e){null!=t[e]&&m.throwError("cannot override "+e,h.Logger.errors.UNSUPPORTED_OPERATION,{operation:e})}),t.to=this.resolvedAddress,this.deployed().then(()=>this.signer.sendTransaction(t))}connect(e){"string"==typeof e&&(e=new o.VoidSigner(e,this.provider));let t=new this.constructor(this.address,this.interface,e);return this.deployTransaction&&(0,d.defineReadOnly)(t,"deployTransaction",this.deployTransaction),t}attach(e){return new this.constructor(e,this.interface,this.signer||this.provider)}static isIndexed(e){return(0,i.Indexed).isIndexed(e)}_normalizeRunningEvent(e){return this._runningEvents[e.tag]?this._runningEvents[e.tag]:e}_getRunningEvent(e){if("string"==typeof e){if("error"===e)return this._normalizeRunningEvent(new C);if("event"===e)return this._normalizeRunningEvent(new T("event",null));if("*"===e)return this._normalizeRunningEvent(new S(this.address,this.interface));let t=this.interface.getEvent(e);return this._normalizeRunningEvent(new _(this.address,this.interface,t))}if(e.topics&&e.topics.length>0){try{let t=e.topics[0];if("string"!=typeof t)throw Error("invalid topic");let r=this.interface.getEvent(t);return this._normalizeRunningEvent(new _(this.address,this.interface,r,e.topics))}catch(e){}let t={address:this.address,topics:e.topics};return this._normalizeRunningEvent(new T(M(t),t))}return this._normalizeRunningEvent(new S(this.address,this.interface))}_checkRunningEvents(e){if(0===e.listenerCount()){delete this._runningEvents[e.tag];let t=this._wrappedEmits[e.tag];t&&e.filter&&(this.provider.off(e.filter,t),delete this._wrappedEmits[e.tag])}}_wrapEvent(e,t,r){let n=(0,d.deepCopy)(t);return n.removeListener=()=>{r&&(e.removeListener(r),this._checkRunningEvents(e))},n.getBlock=()=>this.provider.getBlock(t.blockHash),n.getTransaction=()=>this.provider.getTransaction(t.transactionHash),n.getTransactionReceipt=()=>this.provider.getTransactionReceipt(t.transactionHash),e.prepareEvent(n),n}_addEventListener(e,t,r){if(this.provider||m.throwError("events require a provider or a signer with a provider",h.Logger.errors.UNSUPPORTED_OPERATION,{operation:"once"}),e.addListener(t,r),this._runningEvents[e.tag]=e,!this._wrappedEmits[e.tag]){let r=r=>{let n=this._wrapEvent(e,r,t);if(null==n.decodeError)try{let t=e.getEmit(n);this.emit(e.filter,...t)}catch(e){n.decodeError=e.error}null!=e.filter&&this.emit("event",n),null!=n.decodeError&&this.emit("error",n.decodeError,n)};this._wrappedEmits[e.tag]=r,null!=e.filter&&this.provider.on(e.filter,r)}}queryFilter(e,t,r){let n=this._getRunningEvent(e),i=(0,d.shallowCopy)(n.filter);return"string"==typeof t&&(0,c.isHexString)(t,32)?(null!=r&&m.throwArgumentError("cannot specify toBlock with blockhash","toBlock",r),i.blockHash=t):(i.fromBlock=null!=t?t:0,i.toBlock=null!=r?r:"latest"),this.provider.getLogs(i).then(e=>e.map(e=>this._wrapEvent(n,e,null)))}on(e,t){return this._addEventListener(this._getRunningEvent(e),t,!1),this}once(e,t){return this._addEventListener(this._getRunningEvent(e),t,!0),this}emit(e,...t){if(!this.provider)return!1;let r=this._getRunningEvent(e),n=r.run(t)>0;return this._checkRunningEvents(r),n}listenerCount(e){return this.provider?null==e?Object.keys(this._runningEvents).reduce((e,t)=>e+this._runningEvents[t].listenerCount(),0):this._getRunningEvent(e).listenerCount():0}listeners(e){if(!this.provider)return[];if(null==e){let e=[];for(let t in this._runningEvents)this._runningEvents[t].listeners().forEach(t=>{e.push(t)});return e}return this._getRunningEvent(e).listeners()}removeAllListeners(e){if(!this.provider)return this;if(null==e){for(let e in this._runningEvents){let t=this._runningEvents[e];t.removeAllListeners(),this._checkRunningEvents(t)}return this}let t=this._getRunningEvent(e);return t.removeAllListeners(),this._checkRunningEvents(t),this}off(e,t){if(!this.provider)return this;let r=this._getRunningEvent(e);return r.removeListener(t),this._checkRunningEvents(r),this}removeListener(e,t){return this.off(e,t)}}class F extends B{}class k{constructor(e,t,r){let n=null;"0x"!==(n="string"==typeof t?t:(0,c.isBytes)(t)?(0,c.hexlify)(t):t&&"string"==typeof t.object?t.object:"!").substring(0,2)&&(n="0x"+n),(!(0,c.isHexString)(n)||n.length%2)&&m.throwArgumentError("invalid bytecode","bytecode",t),r&&!(0,o.Signer).isSigner(r)&&m.throwArgumentError("invalid signer","signer",r),(0,d.defineReadOnly)(this,"bytecode",n),(0,d.defineReadOnly)(this,"interface",(0,d.getStatic)(new.target,"getInterface")(e)),(0,d.defineReadOnly)(this,"signer",r||null)}getDeployTransaction(...e){let t={};if(e.length===this.interface.deploy.inputs.length+1&&"object"==typeof e[e.length-1]){for(let r in t=(0,d.shallowCopy)(e.pop()))if(!b[r])throw Error("unknown transaction override "+r)}if(["data","from","to"].forEach(e=>{null!=t[e]&&m.throwError("cannot override "+e,h.Logger.errors.UNSUPPORTED_OPERATION,{operation:e})}),t.value){let e=(0,l.BigNumber).from(t.value);e.isZero()||this.interface.deploy.payable||m.throwError("non-payable constructor cannot override value",h.Logger.errors.UNSUPPORTED_OPERATION,{operation:"overrides.value",value:t.value})}return m.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor"),t.data=(0,c.hexlify)((0,c.concat)([this.bytecode,this.interface.encodeDeploy(e)])),t}deploy(...e){return y(this,void 0,void 0,function*(){let t={};e.length===this.interface.deploy.inputs.length+1&&(t=e.pop()),m.checkArgumentCount(e.length,this.interface.deploy.inputs.length," in Contract constructor");let r=yield v(this.signer,e,this.interface.deploy.inputs);r.push(t);let n=this.getDeployTransaction(...r),i=yield this.signer.sendTransaction(n),a=(0,d.getStatic)(this.constructor,"getContractAddress")(i),s=(0,d.getStatic)(this.constructor,"getContract")(a,this.interface,this.signer);return A(s,i),(0,d.defineReadOnly)(s,"deployTransaction",i),s})}attach(e){return this.constructor.getContract(e,this.interface,this.signer)}connect(e){return new this.constructor(this.interface,this.bytecode,e)}static fromSolidity(e,t){null==e&&m.throwError("missing compiler output",h.Logger.errors.MISSING_ARGUMENT,{argument:"compilerOutput"}),"string"==typeof e&&(e=JSON.parse(e));let r=e.abi,n=null;return e.bytecode?n=e.bytecode:e.evm&&e.evm.bytecode&&(n=e.evm.bytecode),new this(r,n,t)}static getInterface(e){return F.getInterface(e)}static getContractAddress(e){return(0,u.getContractAddress)(e)}static getContract(e,t,r){return new F(e,t,r)}}}),a.register("b6M4l",function(t,r){e(t.exports,"ForkEvent",()=>l),e(t.exports,"Provider",()=>c);var n=a("1chjt");a("aBzgs");"use strict";var i=a("e72ut"),s=a("d1hml"),o=a("apA7Z");let u=new s.Logger(o.version);class l extends i.Description{static isForkEvent(e){return!!(e&&e._isForkEvent)}}class c{constructor(){u.checkAbstract(new.target,c),(0,i.defineReadOnly)(this,"_isProvider",!0)}getFeeData(){var e,t,r,a;return e=this,t=void 0,r=void 0,a=function*(){let{block:e,gasPrice:t}=yield(0,i.resolveProperties)({block:this.getBlock("latest"),gasPrice:this.getGasPrice().catch(e=>null)}),r=null,a=null,s=null;return e&&e.baseFeePerGas&&(r=e.baseFeePerGas,s=(0,n.BigNumber).from("1500000000"),a=e.baseFeePerGas.mul(2).add(s)),{lastBaseFeePerGas:r,maxFeePerGas:a,maxPriorityFeePerGas:s,gasPrice:t}},new(r||(r=Promise))(function(n,i){function s(e){try{u(a.next(e))}catch(e){i(e)}}function o(e){try{u(a.throw(e))}catch(e){i(e)}}function u(e){var t;e.done?n(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(s,o)}u((a=a.apply(e,t||[])).next())})}addListener(e,t){return this.on(e,t)}removeListener(e,t){return this.off(e,t)}static isProvider(e){return!!(e&&e._isProvider)}}}),a.register("apA7Z",function(t,r){e(t.exports,"version",()=>n);let n="abstract-provider/5.7.0"}),a.register("TyNFl",function(t,r){e(t.exports,"TransactionTypes",()=>i),e(t.exports,"computeAddress",()=>A),e(t.exports,"recoverAddress",()=>E),e(t.exports,"accessListify",()=>T),e(t.exports,"serialize",()=>B),e(t.exports,"parse",()=>k);"use strict";var n,i,s=a("bVwUc"),o=a("1chjt"),u=a("aBzgs"),l=a("gVGT9"),c=a("2yhyU"),d=a("e72ut"),f=a("9BTKH"),h=a("lWFPp"),p=a("d1hml"),y=a("cmrHY");let m=new p.Logger(y.version);function b(e){return"0x"===e?null:(0,s.getAddress)(e)}function g(e){return"0x"===e?l.Zero:(0,o.BigNumber).from(e)}(n=i||(i={}))[n.legacy=0]="legacy",n[n.eip2930=1]="eip2930",n[n.eip1559=2]="eip1559";let v=[{name:"nonce",maxLength:32,numeric:!0},{name:"gasPrice",maxLength:32,numeric:!0},{name:"gasLimit",maxLength:32,numeric:!0},{name:"to",length:20},{name:"value",maxLength:32,numeric:!0},{name:"data"}],w={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,type:!0,value:!0};function A(e){let t=(0,h.computePublicKey)(e);return(0,s.getAddress)((0,u.hexDataSlice)((0,c.keccak256)((0,u.hexDataSlice)(t,1)),12))}function E(e,t){return A((0,h.recoverPublicKey)((0,u.arrayify)(e),t))}function x(e,t){let r=(0,u.stripZeros)((0,o.BigNumber).from(e).toHexString());return r.length>32&&m.throwArgumentError("invalid length for "+t,"transaction:"+t,e),r}function M(e,t){return{address:(0,s.getAddress)(e),storageKeys:(t||[]).map((t,r)=>(32!==(0,u.hexDataLength)(t)&&m.throwArgumentError("invalid access list storageKey",`accessList[${e}:${r}]`,t),t.toLowerCase()))}}function T(e){if(Array.isArray(e))return e.map((e,t)=>Array.isArray(e)?(e.length>2&&m.throwArgumentError("access list expected to be [ address, storageKeys[] ]",`value[${t}]`,e),M(e[0],e[1])):M(e.address,e.storageKeys));let t=Object.keys(e).map(t=>{let r=e[t].reduce((e,t)=>(e[t]=!0,e),{});return M(t,Object.keys(r).sort())});return t.sort((e,t)=>e.address.localeCompare(t.address)),t}function C(e){return T(e).map(e=>[e.address,e.storageKeys])}function _(e,t){if(null!=e.gasPrice){let t=(0,o.BigNumber).from(e.gasPrice),r=(0,o.BigNumber).from(e.maxFeePerGas||0);t.eq(r)||m.throwArgumentError("mismatch EIP-1559 gasPrice != maxFeePerGas","tx",{gasPrice:t,maxFeePerGas:r})}let r=[x(e.chainId||0,"chainId"),x(e.nonce||0,"nonce"),x(e.maxPriorityFeePerGas||0,"maxPriorityFeePerGas"),x(e.maxFeePerGas||0,"maxFeePerGas"),x(e.gasLimit||0,"gasLimit"),null!=e.to?(0,s.getAddress)(e.to):"0x",x(e.value||0,"value"),e.data||"0x",C(e.accessList||[])];if(t){let e=(0,u.splitSignature)(t);r.push(x(e.recoveryParam,"recoveryParam")),r.push((0,u.stripZeros)(e.r)),r.push((0,u.stripZeros)(e.s))}return(0,u.hexConcat)(["0x02",f.encode(r)])}function S(e,t){let r=[x(e.chainId||0,"chainId"),x(e.nonce||0,"nonce"),x(e.gasPrice||0,"gasPrice"),x(e.gasLimit||0,"gasLimit"),null!=e.to?(0,s.getAddress)(e.to):"0x",x(e.value||0,"value"),e.data||"0x",C(e.accessList||[])];if(t){let e=(0,u.splitSignature)(t);r.push(x(e.recoveryParam,"recoveryParam")),r.push((0,u.stripZeros)(e.r)),r.push((0,u.stripZeros)(e.s))}return(0,u.hexConcat)(["0x01",f.encode(r)])}function B(e,t){if(null==e.type||0===e.type)return null!=e.accessList&&m.throwArgumentError("untyped transactions do not support accessList; include type: 1","transaction",e),function(e,t){(0,d.checkProperties)(e,w);let r=[];v.forEach(function(t){let n=e[t.name]||[],i={};t.numeric&&(i.hexPad="left"),n=(0,u.arrayify)((0,u.hexlify)(n,i)),t.length&&n.length!==t.length&&n.length>0&&m.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,n),t.maxLength&&(n=(0,u.stripZeros)(n)).length>t.maxLength&&m.throwArgumentError("invalid length for "+t.name,"transaction:"+t.name,n),r.push((0,u.hexlify)(n))});let n=0;if(null!=e.chainId?"number"!=typeof(n=e.chainId)&&m.throwArgumentError("invalid transaction.chainId","transaction",e):t&&!(0,u.isBytesLike)(t)&&t.v>28&&(n=Math.floor((t.v-35)/2)),0!==n&&(r.push((0,u.hexlify)(n)),r.push("0x"),r.push("0x")),!t)return f.encode(r);let i=(0,u.splitSignature)(t),a=27+i.recoveryParam;return 0!==n?(r.pop(),r.pop(),r.pop(),a+=2*n+8,i.v>28&&i.v!==a&&m.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t)):i.v!==a&&m.throwArgumentError("transaction.chainId/signature.v mismatch","signature",t),r.push((0,u.hexlify)(a)),r.push((0,u.stripZeros)((0,u.arrayify)(i.r))),r.push((0,u.stripZeros)((0,u.arrayify)(i.s))),f.encode(r)}(e,t);switch(e.type){case 1:return S(e,t);case 2:return _(e,t)}return m.throwError(`unsupported transaction type: ${e.type}`,p.Logger.errors.UNSUPPORTED_OPERATION,{operation:"serializeTransaction",transactionType:e.type})}function F(e,t,r){try{let r=g(t[0]).toNumber();if(0!==r&&1!==r)throw Error("bad recid");e.v=r}catch(e){m.throwArgumentError("invalid v for transaction type: 1","v",t[0])}e.r=(0,u.hexZeroPad)(t[1],32),e.s=(0,u.hexZeroPad)(t[2],32);try{let t=(0,c.keccak256)(r(e));e.from=E(t,{r:e.r,s:e.s,recoveryParam:e.v})}catch(e){}}function k(e){let t=(0,u.arrayify)(e);if(t[0]>127)return function(e){let t=f.decode(e);9!==t.length&&6!==t.length&&m.throwArgumentError("invalid raw transaction","rawTransaction",e);let r={nonce:g(t[0]).toNumber(),gasPrice:g(t[1]),gasLimit:g(t[2]),to:b(t[3]),value:g(t[4]),data:t[5],chainId:0};if(6===t.length)return r;try{r.v=(0,o.BigNumber).from(t[6]).toNumber()}catch(e){return r}if(r.r=(0,u.hexZeroPad)(t[7],32),r.s=(0,u.hexZeroPad)(t[8],32),(0,o.BigNumber).from(r.r).isZero()&&(0,o.BigNumber).from(r.s).isZero())r.chainId=r.v,r.v=0;else{r.chainId=Math.floor((r.v-35)/2),r.chainId<0&&(r.chainId=0);let n=r.v-27,i=t.slice(0,6);0!==r.chainId&&(i.push((0,u.hexlify)(r.chainId)),i.push("0x"),i.push("0x"),n-=2*r.chainId+8);let a=(0,c.keccak256)(f.encode(i));try{r.from=E(a,{r:(0,u.hexlify)(r.r),s:(0,u.hexlify)(r.s),recoveryParam:n})}catch(e){}r.hash=(0,c.keccak256)(e)}return r.type=null,r}(t);switch(t[0]){case 1:return function(e){let t=f.decode(e.slice(1));8!==t.length&&11!==t.length&&m.throwArgumentError("invalid component count for transaction type: 1","payload",(0,u.hexlify)(e));let r={type:1,chainId:g(t[0]).toNumber(),nonce:g(t[1]).toNumber(),gasPrice:g(t[2]),gasLimit:g(t[3]),to:b(t[4]),value:g(t[5]),data:t[6],accessList:T(t[7])};return 8===t.length||(r.hash=(0,c.keccak256)(e),F(r,t.slice(8),S)),r}(t);case 2:return function(e){let t=f.decode(e.slice(1));9!==t.length&&12!==t.length&&m.throwArgumentError("invalid component count for transaction type: 2","payload",(0,u.hexlify)(e));let r=g(t[2]),n=g(t[3]),i={type:2,chainId:g(t[0]).toNumber(),nonce:g(t[1]).toNumber(),maxPriorityFeePerGas:r,maxFeePerGas:n,gasPrice:null,gasLimit:g(t[4]),to:b(t[5]),value:g(t[6]),data:t[7],accessList:T(t[8])};return 9===t.length||(i.hash=(0,c.keccak256)(e),F(i,t.slice(9),_)),i}(t)}return m.throwError(`unsupported transaction type: ${t[0]}`,p.Logger.errors.UNSUPPORTED_OPERATION,{operation:"parseTransaction",transactionType:t[0]})}}),a.register("lWFPp",function(t,r){e(t.exports,"SigningKey",()=>f),e(t.exports,"computePublicKey",()=>p),e(t.exports,"recoverPublicKey",()=>h);"use strict";var n=a("8ywx4"),i=a("aBzgs"),s=a("e72ut"),o=a("d1hml"),u=a("eaG84");let l=new o.Logger(u.version),c=null;function d(){return c||(c=new n.EC("secp256k1")),c}class f{constructor(e){(0,s.defineReadOnly)(this,"curve","secp256k1"),(0,s.defineReadOnly)(this,"privateKey",(0,i.hexlify)(e)),32!==(0,i.hexDataLength)(this.privateKey)&&l.throwArgumentError("invalid private key","privateKey","[[ REDACTED ]]");let t=d().keyFromPrivate((0,i.arrayify)(this.privateKey));(0,s.defineReadOnly)(this,"publicKey","0x"+t.getPublic(!1,"hex")),(0,s.defineReadOnly)(this,"compressedPublicKey","0x"+t.getPublic(!0,"hex")),(0,s.defineReadOnly)(this,"_isSigningKey",!0)}_addPoint(e){let t=d().keyFromPublic((0,i.arrayify)(this.publicKey)),r=d().keyFromPublic((0,i.arrayify)(e));return"0x"+t.pub.add(r.pub).encodeCompressed("hex")}signDigest(e){let t=d().keyFromPrivate((0,i.arrayify)(this.privateKey)),r=(0,i.arrayify)(e);32!==r.length&&l.throwArgumentError("bad digest length","digest",e);let n=t.sign(r,{canonical:!0});return(0,i.splitSignature)({recoveryParam:n.recoveryParam,r:(0,i.hexZeroPad)("0x"+n.r.toString(16),32),s:(0,i.hexZeroPad)("0x"+n.s.toString(16),32)})}computeSharedSecret(e){let t=d().keyFromPrivate((0,i.arrayify)(this.privateKey)),r=d().keyFromPublic((0,i.arrayify)(p(e)));return(0,i.hexZeroPad)("0x"+t.derive(r.getPublic()).toString(16),32)}static isSigningKey(e){return!!(e&&e._isSigningKey)}}function h(e,t){let r=(0,i.splitSignature)(t),n={r:(0,i.arrayify)(r.r),s:(0,i.arrayify)(r.s)};return"0x"+d().recoverPubKey((0,i.arrayify)(e),n,r.recoveryParam).encode("hex",!1)}function p(e,t){let r=(0,i.arrayify)(e);if(32===r.length){let e=new f(r);return t?"0x"+d().keyFromPrivate(r).getPublic(!0,"hex"):e.publicKey}return 33===r.length?t?(0,i.hexlify)(r):"0x"+d().keyFromPublic(r).getPublic(!1,"hex"):65===r.length?t?"0x"+d().keyFromPublic(r).getPublic(!0,"hex"):(0,i.hexlify)(r):l.throwArgumentError("invalid public or private key","key","[REDACTED]")}}),a.register("8ywx4",function(n,i){e(n.exports,"EC",()=>I);var s=a("dEXSZ"),o=a("kiSKt");function u(e,t,r){return e(r={path:t,exports:{},require:function(e,t){return function(){throw Error("Dynamic requires are not currently supported by @rollup/plugin-commonjs")}(e,null==t?r.path:t)}},r.exports),r.exports}"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:void 0!==r||"undefined"!=typeof self&&self;var l=c;function c(e,t){if(!e)throw Error(t||"Assertion failed")}"use strict";c.equal=function(e,t,r){if(e!=t)throw Error(r||"Assertion failed: "+e+" != "+t)};var d=u(function(e,t){"use strict";function r(e){return 1===e.length?"0"+e:e}function n(e){for(var t="",n=0;n>8,s=255&i;a?r.push(a,s):r.push(s)}return r},t.zero2=r,t.toHex=n,t.encode=function(e,t){return"hex"===t?n(e):e}}),f=u(function(e,r){"use strict";r.assert=l,r.toArray=d.toArray,r.zero2=d.zero2,r.toHex=d.toHex,r.encode=d.encode,r.getNAF=function(e,t,r){var n=Array(Math.max(e.bitLength(),r)+1);n.fill(0);for(var i=1<(i>>1)-1?(i>>1)-u:u,a.isubn(o)):o=0,n[s]=o,a.iushrn(1)}return n},r.getJSF=function(e,t){var r=[[],[]];e=e.clone(),t=t.clone();for(var n=0,i=0;e.cmpn(-n)>0||t.cmpn(-i)>0;){var a,s,o,u=e.andln(3)+n&3,l=t.andln(3)+i&3;3===u&&(u=-1),3===l&&(l=-1),s=(1&u)==0?0:(3==(a=e.andln(7)+n&7)||5===a)&&2===l?-u:u,r[0].push(s),o=(1&l)==0?0:(3==(a=t.andln(7)+i&7)||5===a)&&2===u?-l:l,r[1].push(o),2*n===s+1&&(n=1-n),2*i===o+1&&(i=1-i),e.iushrn(1),t.iushrn(1)}return r},r.cachedProperty=function(e,t,r){var n="_"+t;e.prototype[t]=function(){return void 0!==this[n]?this[n]:this[n]=r.call(this)}},r.parseBytes=function(e){return"string"==typeof e?r.toArray(e,"hex"):e},r.intFromLE=function(e){return new(t(s))(e,"hex","le")}}),h=f.getNAF,p=f.getJSF,y=f.assert;function m(e,r){this.type=e,this.p=new(t(s))(r.p,16),this.red=r.prime?t(s).red(r.prime):t(s).mont(this.p),this.zero=new(t(s))(0).toRed(this.red),this.one=new(t(s))(1).toRed(this.red),this.two=new(t(s))(2).toRed(this.red),this.n=r.n&&new(t(s))(r.n,16),this.g=r.g&&this.pointFromJSON(r.g,r.gRed),this._wnafT1=[,,,,],this._wnafT2=[,,,,],this._wnafT3=[,,,,],this._wnafT4=[,,,,],this._bitLength=this.n?this.n.bitLength():0;var n=this.n&&this.p.div(this.n);!n||n.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}function b(e,t){this.curve=e,this.type=t,this.precomputed=null}"use strict";m.prototype.point=function(){throw Error("Not implemented")},m.prototype.validate=function(){throw Error("Not implemented")},m.prototype._fixedNafMul=function(e,t){y(e.precomputed);var r,n,i=e._getDoubles(),a=h(t,1,this._bitLength),s=(1<=r;u--)n=(n<<1)+a[u];o.push(n)}for(var l=this.jpoint(null,null,null),c=this.jpoint(null,null,null),d=s;d>0;d--){for(r=0;r=0;o--){for(var u=0;o>=0&&0===a[o];o--)u++;if(o>=0&&u++,s=s.dblp(u),o<0)break;var l=a[o];y(0!==l),s="affine"===e.type?l>0?s.mixedAdd(i[l-1>>1]):s.mixedAdd(i[-l-1>>1].neg()):l>0?s.add(i[l-1>>1]):s.add(i[-l-1>>1].neg())}return"affine"===e.type?s.toP():s},m.prototype._wnafMulAdd=function(e,t,r,n,i){var a,s,o,u=this._wnafT1,l=this._wnafT2,c=this._wnafT3,d=0;for(a=0;a=1;a-=2){var y=a-1,m=a;if(1!==u[y]||1!==u[m]){c[y]=h(r[y],u[y],this._bitLength),c[m]=h(r[m],u[m],this._bitLength),d=Math.max(c[y].length,d),d=Math.max(c[m].length,d);continue}var b=[t[y],null,null,t[m]];0===t[y].y.cmp(t[m].y)?(b[1]=t[y].add(t[m]),b[2]=t[y].toJ().mixedAdd(t[m].neg())):0===t[y].y.cmp(t[m].y.redNeg())?(b[1]=t[y].toJ().mixedAdd(t[m]),b[2]=t[y].add(t[m].neg())):(b[1]=t[y].toJ().mixedAdd(t[m]),b[2]=t[y].toJ().mixedAdd(t[m].neg()));var g=[-3,-1,-5,-7,0,7,5,1,3],v=p(r[y],r[m]);for(s=0,d=Math.max(v[0].length,d),c[y]=Array(d),c[m]=Array(d);s=0;a--){for(var M=0;a>=0;){var T=!0;for(s=0;s=0&&M++,E=E.dblp(M),a<0)break;for(s=0;s0?o=l[s][C-1>>1]:C<0&&(o=l[s][-C-1>>1].neg()),E="affine"===o.type?E.mixedAdd(o):E.add(o))}}for(a=0;a=Math.ceil((e.bitLength()+1)/t.step)},b.prototype._getDoubles=function(e,t){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],n=this,i=0;ia[0].cmp(a[1])?a[0]:a[1]).toRed(this.red)}if(e.lambda)n=new(t(s))(e.lambda,16);else{var o=this._getEndoRoots(this.n);0===this.g.mul(o[0]).x.cmp(this.g.x.redMul(r))?n=o[0]:(n=o[1],v(0===this.g.mul(n).x.cmp(this.g.x.redMul(r))))}return i=e.basis?e.basis.map(function(e){return{a:new(t(s))(e.a,16),b:new(t(s))(e.b,16)}}):this._getEndoBasis(n),{beta:r,lambda:n,basis:i}}},w.prototype._getEndoRoots=function(e){var r=e===this.p?this.red:t(s).mont(e),n=new(t(s))(2).toRed(r).redInvm(),i=n.redNeg(),a=new(t(s))(3).toRed(r).redNeg().redSqrt().redMul(n);return[i.redAdd(a).fromRed(),i.redSub(a).fromRed()]},w.prototype._getEndoBasis=function(e){for(var r,n,i,a,o,u,l,c,d,f=this.n.ushrn(Math.floor(this.n.bitLength()/2)),h=e,p=this.n.clone(),y=new(t(s))(1),m=new(t(s))(0),b=new(t(s))(0),g=new(t(s))(1),v=0;0!==h.cmpn(0);){var w=p.div(h);c=p.sub(w.mul(h)),d=b.sub(w.mul(y));var A=g.sub(w.mul(m));if(!i&&0>c.cmp(f))r=l.neg(),n=y,i=c.neg(),a=d;else if(i&&2==++v)break;l=c,p=h,h=c,b=y,y=d,g=m,m=A}o=c.neg(),u=d;var E=i.sqr().add(a.sqr());return o.sqr().add(u.sqr()).cmp(E)>=0&&(o=r,u=n),i.negative&&(i=i.neg(),a=a.neg()),o.negative&&(o=o.neg(),u=u.neg()),[{a:i,b:a},{a:o,b:u}]},w.prototype._endoSplit=function(e){var t=this.endo.basis,r=t[0],n=t[1],i=n.b.mul(e).divRound(this.n),a=r.b.neg().mul(e).divRound(this.n),s=i.mul(r.a),o=a.mul(n.a),u=i.mul(r.b),l=a.mul(n.b);return{k1:e.sub(s).sub(o),k2:u.add(l).neg()}},w.prototype.pointFromX=function(e,r){(e=new(t(s))(e,16)).red||(e=e.toRed(this.red));var n=e.redSqr().redMul(e).redIAdd(e.redMul(this.a)).redIAdd(this.b),i=n.redSqrt();if(0!==i.redSqr().redSub(n).cmp(this.zero))throw Error("invalid point");var a=i.fromRed().isOdd();return(r&&!a||!r&&a)&&(i=i.redNeg()),this.point(e,i)},w.prototype.validate=function(e){if(e.inf)return!0;var t=e.x,r=e.y,n=this.a.redMul(t),i=t.redSqr().redMul(t).redIAdd(n).redIAdd(this.b);return 0===r.redSqr().redISub(i).cmpn(0)},w.prototype._endoWnafMulAdd=function(e,t,r){for(var n=this._endoWnafT1,i=this._endoWnafT2,a=0;a":""},A.prototype.isInfinity=function(){return this.inf},A.prototype.add=function(e){if(this.inf)return e;if(e.inf)return this;if(this.eq(e))return this.dbl();if(this.neg().eq(e)||0===this.x.cmp(e.x))return this.curve.point(null,null);var t=this.y.redSub(e.y);0!==t.cmpn(0)&&(t=t.redMul(this.x.redSub(e.x).redInvm()));var r=t.redSqr().redISub(this.x).redISub(e.x),n=t.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,n)},A.prototype.dbl=function(){if(this.inf)return this;var e=this.y.redAdd(this.y);if(0===e.cmpn(0))return this.curve.point(null,null);var t=this.curve.a,r=this.x.redSqr(),n=e.redInvm(),i=r.redAdd(r).redIAdd(r).redIAdd(t).redMul(n),a=i.redSqr().redISub(this.x.redAdd(this.x)),s=i.redMul(this.x.redSub(a)).redISub(this.y);return this.curve.point(a,s)},A.prototype.getX=function(){return this.x.fromRed()},A.prototype.getY=function(){return this.y.fromRed()},A.prototype.mul=function(e){return(e=new(t(s))(e,16),this.isInfinity())?this:this._hasDoubles(e)?this.curve._fixedNafMul(this,e):this.curve.endo?this.curve._endoWnafMulAdd([this],[e]):this.curve._wnafMul(this,e)},A.prototype.mulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i):this.curve._wnafMulAdd(1,n,i,2)},A.prototype.jmulAdd=function(e,t,r){var n=[this,t],i=[e,r];return this.curve.endo?this.curve._endoWnafMulAdd(n,i,!0):this.curve._wnafMulAdd(1,n,i,2,!0)},A.prototype.eq=function(e){return this===e||this.inf===e.inf&&(this.inf||0===this.x.cmp(e.x)&&0===this.y.cmp(e.y))},A.prototype.neg=function(e){if(this.inf)return this;var t=this.curve.point(this.x,this.y.redNeg());if(e&&this.precomputed){var r=this.precomputed,n=function(e){return e.neg()};t.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(n)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(n)}}}return t},A.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},g(E,m.BasePoint),w.prototype.jpoint=function(e,t,r){return new E(this,e,t,r)},E.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var e=this.z.redInvm(),t=e.redSqr(),r=this.x.redMul(t),n=this.y.redMul(t).redMul(e);return this.curve.point(r,n)},E.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},E.prototype.add=function(e){if(this.isInfinity())return e;if(e.isInfinity())return this;var t=e.z.redSqr(),r=this.z.redSqr(),n=this.x.redMul(t),i=e.x.redMul(r),a=this.y.redMul(t.redMul(e.z)),s=e.y.redMul(r.redMul(this.z)),o=n.redSub(i),u=a.redSub(s);if(0===o.cmpn(0))return 0!==u.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var l=o.redSqr(),c=l.redMul(o),d=n.redMul(l),f=u.redSqr().redIAdd(c).redISub(d).redISub(d),h=u.redMul(d.redISub(f)).redISub(a.redMul(c)),p=this.z.redMul(e.z).redMul(o);return this.curve.jpoint(f,h,p)},E.prototype.mixedAdd=function(e){if(this.isInfinity())return e.toJ();if(e.isInfinity())return this;var t=this.z.redSqr(),r=this.x,n=e.x.redMul(t),i=this.y,a=e.y.redMul(t).redMul(this.z),s=r.redSub(n),o=i.redSub(a);if(0===s.cmpn(0))return 0!==o.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=s.redSqr(),l=u.redMul(s),c=r.redMul(u),d=o.redSqr().redIAdd(l).redISub(c).redISub(c),f=o.redMul(c.redISub(d)).redISub(i.redMul(l)),h=this.z.redMul(s);return this.curve.jpoint(d,f,h)},E.prototype.dblp=function(e){if(0===e||this.isInfinity())return this;if(!e)return this.dbl();if(this.curve.zeroA||this.curve.threeA){var t,r=this;for(t=0;t=0)return!1;if(r.redIAdd(i),0===this.x.cmp(r))return!0}},E.prototype.inspect=function(){return this.isInfinity()?"":""},E.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var x=u(function(e,t){"use strict";t.base=m,t.short=w,t.mont=null,t.edwards=null}),M=u(function(e,r){"use strict";var n,i=f.assert;function a(e){"short"===e.type?this.curve=new x.short(e):"edwards"===e.type?this.curve=new x.edwards(e):this.curve=new x.mont(e),this.g=this.curve.g,this.n=this.curve.n,this.hash=e.hash,i(this.g.validate(),"Invalid curve"),i(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function s(e,t){Object.defineProperty(r,e,{configurable:!0,enumerable:!0,get:function(){var n=new a(t);return Object.defineProperty(r,e,{configurable:!0,enumerable:!0,value:n}),n}})}r.PresetCurve=a,s("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:t(o).sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),s("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:t(o).sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),s("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:t(o).sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),s("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:t(o).sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),s("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:t(o).sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),s("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t(o).sha256,gRed:!1,g:["9"]}),s("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:t(o).sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{n=null.crash()}catch(e){n=void 0}s("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:t(o).sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",n]})});function T(e){if(!(this instanceof T))return new T(e);this.hash=e.hash,this.predResist=!!e.predResist,this.outLen=this.hash.outSize,this.minEntropy=e.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var t=d.toArray(e.entropy,e.entropyEnc||"hex"),r=d.toArray(e.nonce,e.nonceEnc||"hex"),n=d.toArray(e.pers,e.persEnc||"hex");l(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(t,r,n)}"use strict";T.prototype._init=function(e,t,r){var n=e.concat(t).concat(r);this.K=Array(this.outLen/8),this.V=Array(this.outLen/8);for(var i=0;i=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(e.concat(r||[])),this._reseed=1},T.prototype.generate=function(e,t,r,n){if(this._reseed>this.reseedInterval)throw Error("Reseed is required");"string"!=typeof t&&(n=r,r=t,t=null),r&&(r=d.toArray(r,n||"hex"),this._update(r));for(var i=[];i.length"};var S=f.assert;function B(e,r){if(e instanceof B)return e;this._importDER(e,r)||(S(e.r&&e.s,"Signature without r or s"),this.r=new(t(s))(e.r,16),this.s=new(t(s))(e.s,16),void 0===e.recoveryParam?this.recoveryParam=null:this.recoveryParam=e.recoveryParam)}function F(){this.place=0}function k(e,t){var r=e[t.place++];if(!(128&r))return r;var n=15&r;if(0===n||n>4)return!1;for(var i=0,a=0,s=t.place;a>>=0;return!(i<=127)&&(t.place=s,i)}function D(e){for(var t=0,r=e.length-1;!e[t]&&!(128&e[t+1])&&t>>3);for(e.push(128|r);--r;)e.push(t>>>(r<<3)&255);e.push(t)}"use strict";B.prototype._importDER=function(e,r){e=f.toArray(e,r);var n=new F;if(48!==e[n.place++])return!1;var i=k(e,n);if(!1===i||i+n.place!==e.length||2!==e[n.place++])return!1;var a=k(e,n);if(!1===a)return!1;var o=e.slice(n.place,a+n.place);if(n.place+=a,2!==e[n.place++])return!1;var u=k(e,n);if(!1===u||e.length!==u+n.place)return!1;var l=e.slice(n.place,u+n.place);if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}if(0===l[0]){if(!(128&l[1]))return!1;l=l.slice(1)}return this.r=new(t(s))(o),this.s=new(t(s))(l),this.recoveryParam=null,!0},B.prototype.toDER=function(e){var t=this.r.toArray(),r=this.s.toArray();for(128&t[0]&&(t=[0].concat(t)),128&r[0]&&(r=[0].concat(r)),t=D(t),r=D(r);!r[0]&&!(128&r[1]);)r=r.slice(1);var n=[2];P(n,t.length),(n=n.concat(t)).push(2),P(n,r.length);var i=n.concat(r),a=[48];return P(a,i.length),a=a.concat(i),f.encode(a,e)};var O=function(){throw Error("unsupported")},N=f.assert;function R(e){if(!(this instanceof R))return new R(e);"string"==typeof e&&(N(Object.prototype.hasOwnProperty.call(M,e),"Unknown curve "+e),e=M[e]),e instanceof M.PresetCurve&&(e={curve:e}),this.curve=e.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=e.curve.g,this.g.precompute(e.curve.n.bitLength()+1),this.hash=e.hash||e.curve.hash}R.prototype.keyPair=function(e){return new _(this,e)},R.prototype.keyFromPrivate=function(e,t){return _.fromPrivate(this,e,t)},R.prototype.keyFromPublic=function(e,t){return _.fromPublic(this,e,t)},R.prototype.genKeyPair=function(e){e||(e={});for(var r=new T({hash:this.hash,pers:e.pers,persEnc:e.persEnc||"utf8",entropy:e.entropy||O(this.hash.hmacStrength),entropyEnc:e.entropy&&e.entropyEnc||"utf8",nonce:this.n.toArray()}),n=this.n.byteLength(),i=this.n.sub(new(t(s))(2));;){var a=new(t(s))(r.generate(n));if(!(a.cmp(i)>0))return a.iaddn(1),this.keyFromPrivate(a)}},R.prototype._truncateToN=function(e,t){var r=8*e.byteLength()-this.n.bitLength();return(r>0&&(e=e.ushrn(r)),!t&&e.cmp(this.n)>=0)?e.sub(this.n):e},R.prototype.sign=function(e,r,n,i){"object"==typeof n&&(i=n,n=null),i||(i={}),r=this.keyFromPrivate(r,n),e=this._truncateToN(new(t(s))(e,16));for(var a=this.n.byteLength(),o=r.getPrivate().toArray("be",a),u=e.toArray("be",a),l=new T({hash:this.hash,entropy:o,nonce:u,pers:i.pers,persEnc:i.persEnc||"utf8"}),c=this.n.sub(new(t(s))(1)),d=0;;d++){var f=i.k?i.k(d):new(t(s))(l.generate(this.n.byteLength()));if(!(0>=(f=this._truncateToN(f,!0)).cmpn(1)||f.cmp(c)>=0)){var h=this.g.mul(f);if(!h.isInfinity()){var p=h.getX(),y=p.umod(this.n);if(0!==y.cmpn(0)){var m=f.invm(this.n).mul(y.mul(r.getPrivate()).iadd(e));if(0!==(m=m.umod(this.n)).cmpn(0)){var b=(h.getY().isOdd()?1:0)|(0!==p.cmp(y)?2:0);return i.canonical&&m.cmp(this.nh)>0&&(m=this.n.sub(m),b^=1),new B({r:y,s:m,recoveryParam:b})}}}}}},R.prototype.verify=function(e,r,n,i){e=this._truncateToN(new(t(s))(e,16)),n=this.keyFromPublic(n,i);var a,o=(r=new B(r,"hex")).r,u=r.s;if(0>o.cmpn(1)||o.cmp(this.n)>=0||0>u.cmpn(1)||u.cmp(this.n)>=0)return!1;var l=u.invm(this.n),c=l.mul(e).umod(this.n),d=l.mul(o).umod(this.n);return this.curve._maxwellTrick?!(a=this.g.jmulAdd(c,n.getPublic(),d)).isInfinity()&&a.eqXToP(o):!(a=this.g.mulAdd(c,n.getPublic(),d)).isInfinity()&&0===a.getX().umod(this.n).cmp(o)},R.prototype.recoverPubKey=function(e,r,n,i){N((3&n)===n,"The recovery param is more than two bits"),r=new B(r,i);var a=this.n,o=new(t(s))(e),u=r.r,l=r.s,c=1&n,d=n>>1;if(u.cmp(this.curve.p.umod(this.curve.n))>=0&&d)throw Error("Unable to find sencond key candinate");u=d?this.curve.pointFromX(u.add(this.curve.n),c):this.curve.pointFromX(u,c);var f=r.r.invm(a),h=a.sub(o).mul(f).umod(a),p=l.mul(f).umod(a);return this.g.mulAdd(h,u,p)},R.prototype.getKeyRecoveryParam=function(e,t,r,n){if(null!==(t=new B(t,n)).recoveryParam)return t.recoveryParam;for(var i,a=0;a<4;a++){try{i=this.recoverPubKey(e,t,a)}catch(e){continue}if(i.eq(r))return a}throw Error("Unable to find valid recovery factor")};var I=u(function(e,t){"use strict";t.version="6.5.4",t.utils=f,t.rand=function(){throw Error("unsupported")},t.curve=x,t.curves=M,t.ec=R,t.eddsa=null}).ec}),a.register("eaG84",function(t,r){e(t.exports,"version",()=>n);let n="signing-key/5.7.0"}),a.register("cmrHY",function(t,r){e(t.exports,"version",()=>n);let n="transactions/5.7.0"}),a.register("jnIQZ",function(t,r){e(t.exports,"version",()=>n);let n="contracts/5.7.0"}),a.register("1f1He",function(t,r){"use strict";e(t.exports,"AbiCoder",()=>a("45kY3").AbiCoder),e(t.exports,"defaultAbiCoder",()=>a("45kY3").defaultAbiCoder),e(t.exports,"Fragment",()=>a("bB9qw").Fragment),e(t.exports,"ConstructorFragment",()=>a("bB9qw").ConstructorFragment),e(t.exports,"ErrorFragment",()=>a("bB9qw").ErrorFragment),e(t.exports,"EventFragment",()=>a("bB9qw").EventFragment),e(t.exports,"FunctionFragment",()=>a("bB9qw").FunctionFragment),e(t.exports,"ParamType",()=>a("bB9qw").ParamType),e(t.exports,"FormatTypes",()=>a("bB9qw").FormatTypes),e(t.exports,"checkResultErrors",()=>a("3Mwuv").checkResultErrors),e(t.exports,"Logger",()=>a("d1hml").Logger),e(t.exports,"RLP",()=>a("9BTKH")),e(t.exports,"_fetchData",()=>a("6BV0e")._fetchData),e(t.exports,"fetchJson",()=>a("6BV0e").fetchJson),e(t.exports,"poll",()=>a("6BV0e").poll),e(t.exports,"checkProperties",()=>a("e72ut").checkProperties),e(t.exports,"deepCopy",()=>a("e72ut").deepCopy),e(t.exports,"defineReadOnly",()=>a("e72ut").defineReadOnly),e(t.exports,"getStatic",()=>a("e72ut").getStatic),e(t.exports,"resolveProperties",()=>a("e72ut").resolveProperties),e(t.exports,"shallowCopy",()=>a("e72ut").shallowCopy),e(t.exports,"arrayify",()=>a("aBzgs").arrayify),e(t.exports,"concat",()=>a("aBzgs").concat),e(t.exports,"stripZeros",()=>a("aBzgs").stripZeros),e(t.exports,"zeroPad",()=>a("aBzgs").zeroPad),e(t.exports,"isBytes",()=>a("aBzgs").isBytes),e(t.exports,"isBytesLike",()=>a("aBzgs").isBytesLike),e(t.exports,"defaultPath",()=>a("iyMjQ").defaultPath),e(t.exports,"HDNode",()=>a("iyMjQ").HDNode),e(t.exports,"SigningKey",()=>a("lWFPp").SigningKey),e(t.exports,"Interface",()=>a("kzlBy").Interface),e(t.exports,"LogDescription",()=>a("kzlBy").LogDescription),e(t.exports,"TransactionDescription",()=>a("kzlBy").TransactionDescription),e(t.exports,"base58",()=>a("5tyfw").Base58),e(t.exports,"base64",()=>a("eGcmO")),e(t.exports,"hexlify",()=>a("aBzgs").hexlify),e(t.exports,"isHexString",()=>a("aBzgs").isHexString),e(t.exports,"hexConcat",()=>a("aBzgs").hexConcat),e(t.exports,"hexStripZeros",()=>a("aBzgs").hexStripZeros),e(t.exports,"hexValue",()=>a("aBzgs").hexValue),e(t.exports,"hexZeroPad",()=>a("aBzgs").hexZeroPad),e(t.exports,"hexDataLength",()=>a("aBzgs").hexDataLength),e(t.exports,"hexDataSlice",()=>a("aBzgs").hexDataSlice),e(t.exports,"nameprep",()=>a("dvY5r").nameprep),e(t.exports,"_toEscapedUtf8String",()=>a("fkVsY")._toEscapedUtf8String),e(t.exports,"toUtf8Bytes",()=>a("fkVsY").toUtf8Bytes),e(t.exports,"toUtf8CodePoints",()=>a("fkVsY").toUtf8CodePoints),e(t.exports,"toUtf8String",()=>a("fkVsY").toUtf8String),e(t.exports,"Utf8ErrorFuncs",()=>a("fkVsY").Utf8ErrorFuncs),e(t.exports,"formatBytes32String",()=>a("jaF8b").formatBytes32String),e(t.exports,"parseBytes32String",()=>a("jaF8b").parseBytes32String),e(t.exports,"dnsEncode",()=>a("8s7ds").dnsEncode),e(t.exports,"hashMessage",()=>a("iz1PA").hashMessage),e(t.exports,"namehash",()=>a("8s7ds").namehash),e(t.exports,"isValidName",()=>a("8s7ds").isValidName),e(t.exports,"id",()=>a("aIo2D").id),e(t.exports,"_TypedDataEncoder",()=>a("a2n8k").TypedDataEncoder),e(t.exports,"getAddress",()=>a("bVwUc").getAddress),e(t.exports,"getIcapAddress",()=>a("bVwUc").getIcapAddress),e(t.exports,"getContractAddress",()=>a("bVwUc").getContractAddress),e(t.exports,"getCreate2Address",()=>a("bVwUc").getCreate2Address),e(t.exports,"isAddress",()=>a("bVwUc").isAddress),e(t.exports,"formatEther",()=>a("gvpJp").formatEther),e(t.exports,"parseEther",()=>a("gvpJp").parseEther),e(t.exports,"formatUnits",()=>a("gvpJp").formatUnits),e(t.exports,"parseUnits",()=>a("gvpJp").parseUnits),e(t.exports,"commify",()=>a("gvpJp").commify),e(t.exports,"computeHmac",()=>a("g67nD").computeHmac),e(t.exports,"keccak256",()=>a("2yhyU").keccak256),e(t.exports,"ripemd160",()=>a("g67nD").ripemd160),e(t.exports,"sha256",()=>a("g67nD").sha256),e(t.exports,"sha512",()=>a("g67nD").sha512),e(t.exports,"randomBytes",()=>a("hWtVn").randomBytes),e(t.exports,"shuffled",()=>a("iW3ip").shuffled),e(t.exports,"solidityPack",()=>a("iYAoV").pack),e(t.exports,"solidityKeccak256",()=>a("iYAoV").keccak256),e(t.exports,"soliditySha256",()=>a("iYAoV").sha256),e(t.exports,"splitSignature",()=>a("aBzgs").splitSignature),e(t.exports,"joinSignature",()=>a("aBzgs").joinSignature),e(t.exports,"accessListify",()=>a("TyNFl").accessListify),e(t.exports,"parseTransaction",()=>a("TyNFl").parse),e(t.exports,"serializeTransaction",()=>a("TyNFl").serialize),e(t.exports,"TransactionTypes",()=>a("TyNFl").TransactionTypes),e(t.exports,"getJsonWalletAddress",()=>a("jpzbw").getJsonWalletAddress),e(t.exports,"computeAddress",()=>a("TyNFl").computeAddress),e(t.exports,"recoverAddress",()=>a("TyNFl").recoverAddress),e(t.exports,"computePublicKey",()=>a("lWFPp").computePublicKey),e(t.exports,"recoverPublicKey",()=>a("lWFPp").recoverPublicKey),e(t.exports,"verifyMessage",()=>a("5utYt").verifyMessage),e(t.exports,"verifyTypedData",()=>a("5utYt").verifyTypedData),e(t.exports,"getAccountPath",()=>a("iyMjQ").getAccountPath),e(t.exports,"mnemonicToEntropy",()=>a("iyMjQ").mnemonicToEntropy),e(t.exports,"entropyToMnemonic",()=>a("iyMjQ").entropyToMnemonic),e(t.exports,"isValidMnemonic",()=>a("iyMjQ").isValidMnemonic),e(t.exports,"mnemonicToSeed",()=>a("iyMjQ").mnemonicToSeed),e(t.exports,"SupportedAlgorithm",()=>a("iLptM").SupportedAlgorithm),e(t.exports,"UnicodeNormalizationForm",()=>a("fkVsY").UnicodeNormalizationForm),e(t.exports,"Utf8ErrorReason",()=>a("fkVsY").Utf8ErrorReason),e(t.exports,"Indexed",()=>a("kzlBy").Indexed),a("45kY3"),a("3Mwuv"),a("bB9qw"),a("kzlBy"),a("bVwUc"),a("eGcmO"),a("5tyfw"),a("aBzgs"),a("a2n8k"),a("8s7ds"),a("iz1PA"),a("aIo2D"),a("iyMjQ"),a("jpzbw"),a("2yhyU"),a("d1hml"),a("g67nD"),a("iLptM"),a("iYAoV"),a("hWtVn"),a("iW3ip"),a("e72ut"),a("9BTKH"),a("lWFPp"),a("fkVsY"),a("jaF8b"),a("dvY5r"),a("TyNFl"),a("gvpJp"),a("5utYt"),a("6BV0e")}),a.register("eGcmO",function(t,r){"use strict";e(t.exports,"decode",()=>a("2vfMQ").decode),e(t.exports,"encode",()=>a("2vfMQ").encode),a("2vfMQ")}),a.register("2vfMQ",function(t,r){e(t.exports,"decode",()=>i),e(t.exports,"encode",()=>s);var n=a("aBzgs");"use strict";function i(e){e=atob(e);let t=[];for(let r=0;ro);var n=a("aBzgs"),i=a("e72ut");class s{constructor(e){(0,i.defineReadOnly)(this,"alphabet",e),(0,i.defineReadOnly)(this,"base",e.length),(0,i.defineReadOnly)(this,"_alphabetMap",{}),(0,i.defineReadOnly)(this,"_leader",e.charAt(0));for(let t=0;t0;)r.push(n%this.base),n=n/this.base|0}let i="";for(let e=0;0===t[e]&&e=0;--e)i+=this.alphabet[r[e]];return i}decode(e){if("string"!=typeof e)throw TypeError("Expected String");let t=[];if(0===e.length)return new Uint8Array(t);t.push(0);for(let r=0;r>=8;for(;i>0;)t.push(255&i),i>>=8}for(let r=0;e[r]===this._leader&&rC);var n=a("bVwUc"),i=a("1chjt"),s=a("aBzgs"),o=a("2yhyU"),u=a("e72ut"),l=a("d1hml"),c=a("4RnZg"),d=a("aIo2D");let f=new l.Logger(c.version),h=new Uint8Array(32);h.fill(0);let p=(0,i.BigNumber).from(-1),y=(0,i.BigNumber).from(0),m=(0,i.BigNumber).from(1),b=(0,i.BigNumber).from("0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"),g=(0,s.hexZeroPad)(m.toHexString(),32),v=(0,s.hexZeroPad)(y.toHexString(),32),w={name:"string",version:"string",chainId:"uint256",verifyingContract:"address",salt:"bytes32"},A=["name","version","chainId","verifyingContract","salt"];function E(e){return function(t){return"string"!=typeof t&&f.throwArgumentError(`invalid domain value for ${JSON.stringify(e)}`,`domain.${e}`,t),t}}let x={name:E("name"),version:E("version"),chainId:function(e){try{return(0,i.BigNumber).from(e).toString()}catch(e){}return f.throwArgumentError('invalid domain value for "chainId"',"domain.chainId",e)},verifyingContract:function(e){try{return(0,n.getAddress)(e).toLowerCase()}catch(e){}return f.throwArgumentError('invalid domain value "verifyingContract"',"domain.verifyingContract",e)},salt:function(e){try{let t=(0,s.arrayify)(e);if(32!==t.length)throw Error("bad length");return(0,s.hexlify)(t)}catch(e){}return f.throwArgumentError('invalid domain value "salt"',"domain.salt",e)}};function M(e){{let t=e.match(/^(u?)int(\d*)$/);if(t){let r=""===t[1],n=parseInt(t[2]||"256");(n%8!=0||n>256||t[2]&&t[2]!==String(n))&&f.throwArgumentError("invalid numeric width","type",e);let a=b.mask(r?n-1:n),o=r?a.add(m).mul(p):y;return function(t){let r=(0,i.BigNumber).from(t);return(r.lt(o)||r.gt(a))&&f.throwArgumentError(`value out-of-bounds for ${e}`,"value",t),(0,s.hexZeroPad)(r.toTwos(256).toHexString(),32)}}}{let t=e.match(/^bytes(\d+)$/);if(t){let r=parseInt(t[1]);return(0===r||r>32||t[1]!==String(r))&&f.throwArgumentError("invalid bytes width","type",e),function(t){let n=(0,s.arrayify)(t);return n.length!==r&&f.throwArgumentError(`invalid length for ${e}`,"value",t),function(e){let t=(0,s.arrayify)(e),r=t.length%32;return r?(0,s.hexConcat)([t,h.slice(r)]):(0,s.hexlify)(t)}(t)}}}switch(e){case"address":return function(e){return(0,s.hexZeroPad)((0,n.getAddress)(e),32)};case"bool":return function(e){return e?g:v};case"bytes":return function(e){return(0,o.keccak256)(e)};case"string":return function(e){return(0,d.id)(e)}}return null}function T(e,t){return`${e}(${t.map(({name:e,type:t})=>t+" "+e).join(",")})`}class C{constructor(e){(0,u.defineReadOnly)(this,"types",Object.freeze((0,u.deepCopy)(e))),(0,u.defineReadOnly)(this,"_encoderCache",{}),(0,u.defineReadOnly)(this,"_types",{});let t={},r={},n={};for(let i in Object.keys(e).forEach(e=>{t[e]={},r[e]=[],n[e]={}}),e){let n={};e[i].forEach(a=>{n[a.name]&&f.throwArgumentError(`duplicate variable name ${JSON.stringify(a.name)} in ${JSON.stringify(i)}`,"types",e),n[a.name]=!0;let s=a.type.match(/^([^\x5b]*)(\x5b|$)/)[1];s===i&&f.throwArgumentError(`circular type reference to ${JSON.stringify(s)}`,"types",e);let o=M(s);o||(r[s]||f.throwArgumentError(`unknown type ${JSON.stringify(s)}`,"types",e),r[s].push(i),t[i][s]=!0)})}let i=Object.keys(r).filter(e=>0===r[e].length);for(let a in 0===i.length?f.throwArgumentError("missing primary type","types",e):i.length>1&&f.throwArgumentError(`ambiguous primary types or unused types: ${i.map(e=>JSON.stringify(e)).join(", ")}`,"types",e),(0,u.defineReadOnly)(this,"primaryType",i[0]),function i(a,s){s[a]&&f.throwArgumentError(`circular type reference to ${JSON.stringify(a)}`,"types",e),s[a]=!0,Object.keys(t[a]).forEach(e=>{r[e]&&(i(e,s),Object.keys(s).forEach(t=>{n[t][e]=!0}))}),delete s[a]}(this.primaryType,{}),n){let t=Object.keys(n[a]);t.sort(),this._types[a]=T(a,e[a])+t.map(t=>T(t,e[t])).join("")}}getEncoder(e){let t=this._encoderCache[e];return t||(t=this._encoderCache[e]=this._getEncoder(e)),t}_getEncoder(e){{let t=M(e);if(t)return t}let t=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(t){let e=t[1],r=this.getEncoder(e),n=parseInt(t[3]);return t=>{n>=0&&t.length!==n&&f.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t);let i=t.map(r);return this._types[e]&&(i=i.map(o.keccak256)),(0,o.keccak256)((0,s.hexConcat)(i))}}let r=this.types[e];if(r){let t=(0,d.id)(this._types[e]);return e=>{let n=r.map(({name:t,type:r})=>{let n=this.getEncoder(r)(e[t]);return this._types[r]?(0,o.keccak256)(n):n});return n.unshift(t),(0,s.hexConcat)(n)}}return f.throwArgumentError(`unknown type: ${e}`,"type",e)}encodeType(e){let t=this._types[e];return t||f.throwArgumentError(`unknown type: ${JSON.stringify(e)}`,"name",e),t}encodeData(e,t){return this.getEncoder(e)(t)}hashStruct(e,t){return(0,o.keccak256)(this.encodeData(e,t))}encode(e){return this.encodeData(this.primaryType,e)}hash(e){return this.hashStruct(this.primaryType,e)}_visit(e,t,r){{let n=M(e);if(n)return r(e,t)}let n=e.match(/^(.*)(\x5b(\d*)\x5d)$/);if(n){let e=n[1],i=parseInt(n[3]);return i>=0&&t.length!==i&&f.throwArgumentError("array length mismatch; expected length ${ arrayLength }","value",t),t.map(t=>this._visit(e,t,r))}let i=this.types[e];return i?i.reduce((e,{name:n,type:i})=>(e[n]=this._visit(i,t[n],r),e),{}):f.throwArgumentError(`unknown type: ${e}`,"type",e)}visit(e,t){return this._visit(this.primaryType,e,t)}static from(e){return new C(e)}static getPrimaryType(e){return C.from(e).primaryType}static hashStruct(e,t,r){return C.from(t).hashStruct(e,r)}static hashDomain(e){let t=[];for(let r in e){let n=w[r];n||f.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(r)}`,"domain",e),t.push({name:r,type:n})}return t.sort((e,t)=>A.indexOf(e.name)-A.indexOf(t.name)),C.hashStruct("EIP712Domain",{EIP712Domain:t},e)}static encode(e,t,r){return(0,s.hexConcat)(["0x1901",C.hashDomain(e),C.from(t).hash(r)])}static hash(e,t,r){return(0,o.keccak256)(C.encode(e,t,r))}static resolveNames(e,t,r,n){var i,a,o,l;return i=this,a=void 0,o=void 0,l=function*(){e=(0,u.shallowCopy)(e);let i={};e.verifyingContract&&!(0,s.isHexString)(e.verifyingContract,20)&&(i[e.verifyingContract]="0x");let a=C.from(t);for(let e in a.visit(r,(e,t)=>("address"!==e||(0,s.isHexString)(t,20)||(i[t]="0x"),t)),i)i[e]=yield n(e);return e.verifyingContract&&i[e.verifyingContract]&&(e.verifyingContract=i[e.verifyingContract]),{domain:e,value:r=a.visit(r,(e,t)=>"address"===e&&i[t]?i[t]:t)}},new(o||(o=Promise))(function(e,t){function r(e){try{s(l.next(e))}catch(e){t(e)}}function n(e){try{s(l.throw(e))}catch(e){t(e)}}function s(t){var i;t.done?e(t.value):((i=t.value)instanceof o?i:new o(function(e){e(i)})).then(r,n)}s((l=l.apply(i,a||[])).next())})}static getPayload(e,t,r){C.hashDomain(e);let n={},a=[];A.forEach(t=>{let r=e[t];null!=r&&(n[t]=x[t](r),a.push({name:t,type:w[t]}))});let o=C.from(t),l=(0,u.shallowCopy)(t);return l.EIP712Domain?f.throwArgumentError("types must not contain EIP712Domain type","types.EIP712Domain",t):l.EIP712Domain=a,o.encode(r),{types:l,domain:n,primaryType:o.primaryType,message:o.visit(r,(e,t)=>{if(e.match(/^bytes(\d*)/))return(0,s.hexlify)((0,s.arrayify)(t));if(e.match(/^u?int/))return(0,i.BigNumber).from(t).toString();switch(e){case"address":return t.toLowerCase();case"bool":return!!t;case"string":return"string"!=typeof t&&f.throwArgumentError("invalid string","value",t),t}return f.throwArgumentError("unsupported type","type",e)})}}}}),a.register("4RnZg",function(t,r){e(t.exports,"version",()=>n);let n="hash/5.7.0"}),a.register("8s7ds",function(t,r){e(t.exports,"isValidName",()=>p),e(t.exports,"namehash",()=>y),e(t.exports,"dnsEncode",()=>m);var n=a("aBzgs"),i=a("fkVsY"),s=a("2yhyU"),o=a("d1hml"),u=a("4RnZg"),l=a("bxKmK");let c=new o.Logger(u.version),d=new Uint8Array(32);function f(e){if(0===e.length)throw Error("invalid ENS name; empty component");return e}function h(e){let t=(0,i.toUtf8Bytes)((0,l.ens_normalize)(e)),r=[];if(0===e.length)return r;let n=0;for(let e=0;e=t.length)throw Error("invalid ENS name; empty component");return r.push(f(t.slice(n))),r}function p(e){try{return 0!==h(e).length}catch(e){}return!1}function y(e){"string"!=typeof e&&c.throwArgumentError("invalid ENS name; not a string","name",e);let t=d,r=h(e);for(;r.length;)t=(0,s.keccak256)((0,n.concat)([t,(0,s.keccak256)(r.pop())]));return(0,n.hexlify)(t)}function m(e){return(0,n.hexlify)((0,n.concat)(h(e).map(e=>{if(e.length>63)throw Error("invalid DNS encoded entry; length exceeds 63 bytes");let t=new Uint8Array(e.length+1);return t.set(e,1),t[0]=t.length-1,t})))+"00"}d.fill(0)}),a.register("bxKmK",function(t,r){e(t.exports,"ens_normalize",()=>y);var n=a("fkVsY"),i=a("1PDRM"),s=a("dZE5a");let o=(0,i.getData)(),u=new Set((0,s.read_member_array)(o)),l=new Set((0,s.read_member_array)(o)),c=(0,s.read_mapped_map)(o),d=(0,s.read_emoji_trie)(o);function f(e){return(0,n.toUtf8CodePoints)(e)}function h(e){return e.filter(e=>65039!=e)}function p(e){for(let t of e.split(".")){let e=f(t);try{for(let t=e.lastIndexOf(95)-1;t>=0;t--)if(95!==e[t])throw Error("underscore only allowed at start");if(e.length>=4&&e.every(e=>e<128)&&45===e[2]&&45===e[3])throw Error("invalid label extension")}catch(e){throw Error(`Invalid label "${t}": ${e.message}`)}}return e}function y(e){return p(function(e,t){let r=f(e).reverse(),n=[];for(;r.length;){let e=function(e,t){var r;let n,i;let a=d,s=[],o=e.length;for(t&&(t.length=0);o;){let u=e[--o];if(!(a=null===(r=a.branches.find(e=>e.set.has(u)))||void 0===r?void 0:r.node))break;if(a.save)i=u;else if(a.check&&u===i)break;s.push(u),a.fe0f&&(s.push(65039),o>0&&65039==e[o-1]&&o--),a.valid&&(n=s.slice(),2==a.valid&&n.splice(1,1),t&&t.push(...e.slice(o).reverse()),e.length=o)}return n}(r);if(e){n.push(...t(e));continue}let i=r.pop();if(u.has(i)){n.push(i);continue}if(l.has(i))continue;let a=c[i];if(a){n.push(...a);continue}throw Error(`Disallowed codepoint: 0x${i.toString(16).toUpperCase()}`)}return p(String.fromCodePoint(...n).normalize("NFC"))}(e,h))}}),a.register("1PDRM",function(t,r){e(t.exports,"getData",()=>s);var n=a("2vfMQ"),i=a("dZE5a");function s(){return(0,i.read_compressed_payload)((0,n.decode)("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"))}}),a.register("dZE5a",function(t,r){function n(e,t){null==t&&(t=1);let r=[],n=r.forEach,i=function(e,t){n.call(e,function(e){t>0&&Array.isArray(e)?i(e,t-1):r.push(e)})};return i(e,t),r}function i(e){var t;let r;return t=function(e){let t=0;function r(){return e[t++]<<8|e[t++]}let n=r(),i=1,a=[0,1];for(let e=1;e>--u&1}let d=0;for(let e=0;e<31;e++)d=d<<1|c();let f=[],h=0,p=2147483648;for(;;){let e=Math.floor(((d-h+1)*i-1)/p),t=0,r=n;for(;r-t>1;){let n=t+r>>>1;e{switch(t-y){case 3:return y+65792+(e[o++]<<16|e[o++]<<8|e[o++]);case 2:return y+256+(e[o++]<<8|e[o++]);case 1:return y+e[o++];default:return t-1}})}(e),r=0,()=>t[r++]}function a(e,t){let r=Array(e);for(let n=0,i=-1;nt[e]):r}function o(e){let t=[];for(;;){let r=e();if(0==r)break;t.push(function(e,t){let r=1+t(),i=t(),a=function(e){let t=[];for(;;){let r=e();if(0==r)break;t.push(r)}return t}(t);return n(u(a.length,1+e,t).map((e,t)=>{let n=e[0],s=e.slice(1);return Array(a[t]).fill(void 0).map((e,t)=>{let a=t*i;return[n+t*r,s.map(e=>e+a)]})}))}(r,e))}for(;;){let r=e()-1;if(r<0)break;t.push(u(1+e(),1+r,e).map(e=>[e[0],e.slice(1)]))}return function(e){let t={};for(let r=0;r[]);for(let i=0;i>1:n>>1}return r})(e,r).forEach((e,t)=>n[t].push(e));return n}function l(e){let t=s(e).sort((e,t)=>e-t);return function r(){let n=[];for(;;){let i=s(e,t);if(0==i.length)break;n.push({set:new Set(i),node:r()})}n.sort((e,t)=>t.set.size-e.set.size);let i=e();return{branches:n,valid:i%3,fe0f:!!(1&(i=i/3|0)),save:1==(i>>=1),check:2==i}}()}e(t.exports,"read_compressed_payload",()=>i),e(t.exports,"read_member_array",()=>s),e(t.exports,"read_mapped_map",()=>o),e(t.exports,"read_emoji_trie",()=>l)}),a.register("iz1PA",function(t,r){e(t.exports,"hashMessage",()=>o);var n=a("aBzgs"),i=a("2yhyU"),s=a("fkVsY");function o(e){return"string"==typeof e&&(e=(0,s.toUtf8Bytes)(e)),(0,i.keccak256)((0,n.concat)([(0,s.toUtf8Bytes)("\x19Ethereum Signed Message:\n"),(0,s.toUtf8Bytes)(String(e.length)),e]))}}),a.register("iyMjQ",function(t,r){e(t.exports,"defaultPath",()=>T),e(t.exports,"HDNode",()=>C),e(t.exports,"entropyToMnemonic",()=>B),e(t.exports,"mnemonicToEntropy",()=>S),e(t.exports,"mnemonicToSeed",()=>_),e(t.exports,"isValidMnemonic",()=>F),e(t.exports,"getAccountPath",()=>k);"use strict";var n=a("5tyfw"),i=a("aBzgs"),s=a("1chjt"),o=a("fkVsY"),u=a("76ZnQ"),l=a("e72ut"),c=a("lWFPp"),d=a("g67nD"),f=a("iLptM"),h=a("TyNFl"),p=a("hiOO1"),y=a("d1hml"),m=a("8gKKU");let b=new y.Logger(m.version),g=(0,s.BigNumber).from("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),v=(0,o.toUtf8Bytes)("Bitcoin seed");function w(e){return(1<=256)throw Error("Depth too large!");return E((0,i.concat)([null!=this.privateKey?"0x0488ADE4":"0x0488B21E",(0,i.hexlify)(this.depth),this.parentFingerprint,(0,i.hexZeroPad)((0,i.hexlify)(this.index),4),this.chainCode,null!=this.privateKey?(0,i.concat)(["0x00",this.privateKey]):this.publicKey]))}neuter(){return new C(M,null,this.publicKey,this.parentFingerprint,this.chainCode,this.index,this.depth,this.path)}_derive(e){if(e>4294967295)throw Error("invalid index - "+String(e));let t=this.path;t&&(t+="/"+(2147483647&e));let r=new Uint8Array(37);if(2147483648&e){if(!this.privateKey)throw Error("cannot derive child of neutered node");r.set((0,i.arrayify)(this.privateKey),1),t&&(t+="'")}else r.set((0,i.arrayify)(this.publicKey));for(let t=24;t>=0;t-=8)r[33+(t>>3)]=e>>24-t&255;let n=(0,i.arrayify)((0,d.computeHmac)(f.SupportedAlgorithm.sha512,this.chainCode,r)),a=n.slice(0,32),o=n.slice(32),u=null,l=null;if(this.privateKey)u=A((0,s.BigNumber).from(a).add(this.privateKey).mod(g));else{let e=new c.SigningKey((0,i.hexlify)(a));l=e._addPoint(this.publicKey)}let h=t,p=this.mnemonic;return p&&(h=Object.freeze({phrase:p.phrase,path:t,locale:p.locale||"en"})),new C(M,u,l,this.fingerprint,A(o),e,this.depth+1,h)}derivePath(e){let t=e.split("/");if(0===t.length||"m"===t[0]&&0!==this.depth)throw Error("invalid path - "+e);"m"===t[0]&&t.shift();let r=this;for(let e=0;e=2147483648)throw Error("invalid path index - "+n);r=r._derive(2147483648+e)}else if(n.match(/^[0-9]+$/)){let e=parseInt(n);if(e>=2147483648)throw Error("invalid path index - "+n);r=r._derive(e)}else throw Error("invalid path component - "+n)}return r}static _fromSeed(e,t){let r=(0,i.arrayify)(e);if(r.length<16||r.length>64)throw Error("invalid seed");let n=(0,i.arrayify)((0,d.computeHmac)(f.SupportedAlgorithm.sha512,v,r));return new C(M,A(n.slice(0,32)),null,"0x00000000",A(n.slice(32)),0,0,t)}static fromMnemonic(e,t,r){return e=B(S(e,r=x(r)),r),C._fromSeed(_(e,t),{phrase:e,path:"m",locale:r.locale})}static fromSeed(e){return C._fromSeed(e,null)}static fromExtendedKey(e){let t=(0,n.Base58).decode(e);(82!==t.length||E(t.slice(0,78))!==e)&&b.throwArgumentError("invalid extended key","extendedKey","[REDACTED]");let r=t[4],a=(0,i.hexlify)(t.slice(5,9)),s=parseInt((0,i.hexlify)(t.slice(9,13)).substring(2),16),o=(0,i.hexlify)(t.slice(13,45)),u=t.slice(45,78);switch((0,i.hexlify)(t.slice(0,4))){case"0x0488b21e":case"0x043587cf":return new C(M,null,(0,i.hexlify)(u),a,o,s,r,null);case"0x0488ade4":case"0x04358394 ":if(0!==u[0])break;return new C(M,(0,i.hexlify)(u.slice(1)),null,a,o,s,r,null)}return b.throwArgumentError("invalid extended key","extendedKey","[REDACTED]")}}function _(e,t){t||(t="");let r=(0,o.toUtf8Bytes)("mnemonic"+t,o.UnicodeNormalizationForm.NFKD);return(0,u.pbkdf2)((0,o.toUtf8Bytes)(e,o.UnicodeNormalizationForm.NFKD),r,2048,64,"sha512")}function S(e,t){t=x(t),b.checkNormalize();let r=t.split(e);if(r.length%3!=0)throw Error("invalid mnemonic");let n=(0,i.arrayify)(new Uint8Array(Math.ceil(11*r.length/8))),a=0;for(let e=0;e>3]|=1<<7-a%8),a++}let s=32*r.length/3,o=r.length/3,u=w(o),l=(0,i.arrayify)((0,d.sha256)(n.slice(0,s/8)))[0]&u;if(l!==(n[n.length-1]&u))throw Error("invalid checksum");return(0,i.hexlify)(n.slice(0,s/8))}function B(e,t){if(t=x(t),(e=(0,i.arrayify)(e)).length%4!=0||e.length<16||e.length>32)throw Error("invalid entropy");let r=[0],n=11;for(let t=0;t8?(r[r.length-1]<<=8,r[r.length-1]|=e[t],n-=8):(r[r.length-1]<<=n,r[r.length-1]|=e[t]>>8-n,r.push(e[t]&(1<<8-n)-1),n+=3);let a=e.length/4,s=(0,i.arrayify)((0,d.sha256)(e))[0]&w(a);return r[r.length-1]<<=a,r[r.length-1]|=s>>8-a,t.join(r.map(e=>t.getWord(e)))}function F(e,t){try{return S(e,t),!0}catch(e){}return!1}function k(e){return("number"!=typeof e||e<0||e>=2147483648||e%1)&&b.throwArgumentError("invalid account index","index",e),`m/44'/60'/${e}'/0/0`}}),a.register("76ZnQ",function(t,r){e(t.exports,"pbkdf2",()=>s);"use strict";var n=a("aBzgs"),i=a("g67nD");function s(e,t,r,a,s){let o,u,l;e=(0,n.arrayify)(e),t=(0,n.arrayify)(t);let c=1,d=new Uint8Array(a),f=new Uint8Array(t.length+4);f.set(t);for(let h=1;h<=c;h++){f[t.length]=h>>24&255,f[t.length+1]=h>>16&255,f[t.length+2]=h>>8&255,f[t.length+3]=255&h;let p=(0,n.arrayify)((0,i.computeHmac)(s,e,f));o||(o=p.length,l=new Uint8Array(o),c=Math.ceil(a/o),u=a-(c-1)*o),l.set(p);for(let t=1;ti);var n=a("jnJxW");"use strict";let i={en:n.langEn}}),a.register("jnJxW",function(t,r){e(t.exports,"langEn",()=>u);var n=a("2hNTt");"use strict";let i=null;function s(e){if(null==i&&(i="AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo".replace(/([A-Z])/g," $1").toLowerCase().substring(1).split(" "),"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60"!==(0,n.Wordlist).check(e)))throw i=null,Error("BIP39 Wordlist for en (English) FAILED")}class o extends n.Wordlist{constructor(){super("en")}getWord(e){return s(this),i[e]}getWordIndex(e){return s(this),i.indexOf(e)}}let u=new o;(0,n.Wordlist).register(u)}),a.register("2hNTt",function(t,r){e(t.exports,"Wordlist",()=>l);"use strict";var n=a("aIo2D"),i=a("e72ut"),s=a("d1hml"),o=a("aznsn");let u=new s.Logger(o.version);class l{constructor(e){u.checkAbstract(new.target,l),(0,i.defineReadOnly)(this,"locale",e)}split(e){return e.toLowerCase().split(/ +/g)}join(e){return e.join(" ")}static check(e){let t=[];for(let r=0;r<2048;r++){let n=e.getWord(r);if(r!==e.getWordIndex(n))return"0x";t.push(n)}return(0,n.id)(t.join("\n")+"\n")}static register(e,t){t||(t=e.locale)}}}),a.register("aznsn",function(t,r){e(t.exports,"version",()=>n);let n="wordlists/5.7.0"}),a.register("8gKKU",function(t,r){e(t.exports,"version",()=>n);let n="hdnode/5.7.0"}),a.register("jpzbw",function(t,r){e(t.exports,"isCrowdsaleWallet",()=>i),e(t.exports,"isKeystoreWallet",()=>s),e(t.exports,"getJsonWalletAddress",()=>o);var n=a("bVwUc");"use strict";function i(e){let t=null;try{t=JSON.parse(e)}catch(e){return!1}return t.encseed&&t.ethaddr}function s(e){let t=null;try{t=JSON.parse(e)}catch(e){return!1}return!!t.version&&parseInt(t.version)===t.version&&3===parseInt(t.version)}function o(e){if(i(e))try{return(0,n.getAddress)(JSON.parse(e).ethaddr)}catch(e){return null}if(s(e))try{return(0,n.getAddress)(JSON.parse(e).address)}catch(e){}return null}}),a.register("hWtVn",function(t,n){e(t.exports,"randomBytes",()=>d);"use strict";var i=a("aBzgs"),s=a("d1hml"),o=a("igI81");let u=new s.Logger(o.version),l=function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==r)return r;throw Error("unable to locate global object")}(),c=l.crypto||l.msCrypto;function d(e){(e<=0||e>1024||e%1||e!=e)&&u.throwArgumentError("invalid length","length",e);let t=new Uint8Array(e);return c.getRandomValues(t),(0,i.arrayify)(t)}c&&c.getRandomValues||(u.warn("WARNING: Missing strong random number source"),c={getRandomValues:function(e){return u.throwError("no secure random source avaialble",s.Logger.errors.UNSUPPORTED_OPERATION,{operation:"crypto.getRandomValues"})}})}),a.register("igI81",function(t,r){e(t.exports,"version",()=>n);let n="random/5.7.0"}),a.register("iW3ip",function(t,r){e(t.exports,"shuffled",()=>n);"use strict";function n(e){e=e.slice();for(let t=e.length-1;t>0;t--){let r=Math.floor(Math.random()*(t+1)),n=e[t];e[t]=e[r],e[r]=n}return e}}),a.register("jaF8b",function(t,r){e(t.exports,"formatBytes32String",()=>o),e(t.exports,"parseBytes32String",()=>u);"use strict";var n=a("djR4n"),i=a("aBzgs"),s=a("fkVsY");function o(e){let t=(0,s.toUtf8Bytes)(e);if(t.length>31)throw Error("bytes32 string must be less than 32 bytes");return(0,i.hexlify)((0,i.concat)([t,n.HashZero]).slice(0,32))}function u(e){let t=(0,i.arrayify)(e);if(32!==t.length)throw Error("invalid bytes32 - not 32 bytes long");if(0!==t[31])throw Error("invalid bytes32 string - no null terminator");let r=31;for(;0===t[r-1];)r--;return(0,s.toUtf8String)(t.slice(0,r))}}),a.register("djR4n",function(t,r){e(t.exports,"HashZero",()=>n);let n="0x0000000000000000000000000000000000000000000000000000000000000000"}),a.register("dvY5r",function(t,r){e(t.exports,"nameprep",()=>y);"use strict";var n=a("fkVsY");function i(e,t){t||(t=function(e){return[parseInt(e,16)]});let r=0,n={};return e.split(",").forEach(e=>{let i=e.split(":");n[r+=parseInt(i[0],16)]=t(i[1])}),n}function s(e){let t=0;return e.split(",").map(e=>{let r=e.split("-");return 1===r.length?r[1]="0":""===r[1]&&(r[1]="1"),{l:t+parseInt(r[0],16),h:t=parseInt(r[1],16)}})}function o(e,t){let r=0;for(let n=0;n=(r+=i.l)&&e<=r+i.h&&(e-r)%(i.d||1)==0){if(i.e&&-1!==i.e.indexOf(e-r))continue;return i}}return null}let u=s("221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d"),l="ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff".split(",").map(e=>parseInt(e,16)),c=[{h:25,s:32,l:65},{h:30,s:32,e:[23],l:127},{h:54,s:1,e:[48],l:64,d:2},{h:14,s:1,l:57,d:2},{h:44,s:1,l:17,d:2},{h:10,s:1,e:[2,6,8],l:61,d:2},{h:16,s:1,l:68,d:2},{h:84,s:1,e:[18,24,66],l:19,d:2},{h:26,s:32,e:[17],l:435},{h:22,s:1,l:71,d:2},{h:15,s:80,l:40},{h:31,s:32,l:16},{h:32,s:1,l:80,d:2},{h:52,s:1,l:42,d:2},{h:12,s:1,l:55,d:2},{h:40,s:1,e:[38],l:15,d:2},{h:14,s:1,l:48,d:2},{h:37,s:48,l:49},{h:148,s:1,l:6351,d:2},{h:88,s:1,l:160,d:2},{h:15,s:16,l:704},{h:25,s:26,l:854},{h:25,s:32,l:55915},{h:37,s:40,l:1247},{h:25,s:-119711,l:53248},{h:25,s:-119763,l:52},{h:25,s:-119815,l:52},{h:25,s:-119867,e:[1,4,5,7,8,11,12,17],l:52},{h:25,s:-119919,l:52},{h:24,s:-119971,e:[2,7,8,17],l:52},{h:24,s:-120023,e:[2,7,13,15,16,17],l:52},{h:25,s:-120075,l:52},{h:25,s:-120127,l:52},{h:25,s:-120179,l:52},{h:25,s:-120231,l:52},{h:25,s:-120283,l:52},{h:25,s:-120335,l:52},{h:24,s:-119543,e:[17],l:56},{h:24,s:-119601,e:[17],l:58},{h:24,s:-119659,e:[17],l:58},{h:24,s:-119717,e:[17],l:58},{h:24,s:-119775,e:[17],l:58}],d=i("b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3"),f=i("179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7"),h=i("df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D",function(e){if(e.length%4!=0)throw Error("bad data");let t=[];for(let r=0;rl.indexOf(e)>=0||e>=65024&&e<=65039?[]:function(e){let t=o(e,c);if(t)return[e+t.s];let r=d[e];if(r)return r;let n=f[e];return n?[e+n[0]]:h[e]||null}(e)||[e]).reduce((e,t)=>(t.forEach(t=>{e.push(t)}),e),[]),(t=(0,n.toUtf8CodePoints)((0,n._toUtf8String)(t),n.UnicodeNormalizationForm.NFKC)).forEach(e=>{if(o(e,p))throw Error("STRINGPREP_CONTAINS_PROHIBITED")}),t.forEach(e=>{if(o(e,u))throw Error("STRINGPREP_CONTAINS_UNASSIGNED")});let r=(0,n._toUtf8String)(t);if("-"===r.substring(0,1)||"--"===r.substring(2,4)||"-"===r.substring(r.length-1))throw Error("invalid hyphen");return r}}),a.register("gvpJp",function(t,r){e(t.exports,"commify",()=>l),e(t.exports,"formatUnits",()=>c),e(t.exports,"parseUnits",()=>d),e(t.exports,"formatEther",()=>f),e(t.exports,"parseEther",()=>h);"use strict";var n=a("gi65P"),i=a("d1hml"),s=a("28skd");let o=new i.Logger(s.version),u=["wei","kwei","mwei","gwei","szabo","finney","ether"];function l(e){let t=String(e).split(".");(t.length>2||!t[0].match(/^-?[0-9]*$/)||t[1]&&!t[1].match(/^[0-9]*$/)||"."===e||"-."===e)&&o.throwArgumentError("invalid value","value",e);let r=t[0],n="";for("-"===r.substring(0,1)&&(n="-",r=r.substring(1));"0"===r.substring(0,1);)r=r.substring(1);""===r&&(r="0");let i="";for(2===t.length&&(i="."+(t[1]||"0"));i.length>2&&"0"===i[i.length-1];)i=i.substring(0,i.length-1);let a=[];for(;r.length;)if(r.length<=3){a.unshift(r);break}else{let e=r.length-3;a.unshift(r.substring(e)),r=r.substring(0,e)}return n+a.join(",")+i}function c(e,t){if("string"==typeof t){let e=u.indexOf(t);-1!==e&&(t=3*e)}return(0,n.formatFixed)(e,null!=t?t:18)}function d(e,t){if("string"!=typeof e&&o.throwArgumentError("value must be a string","value",e),"string"==typeof t){let e=u.indexOf(t);-1!==e&&(t=3*e)}return(0,n.parseFixed)(e,null!=t?t:18)}function f(e){return c(e,18)}function h(e){return d(e,18)}}),a.register("gi65P",function(t,r){e(t.exports,"formatFixed",()=>y),e(t.exports,"parseFixed",()=>m),e(t.exports,"FixedNumber",()=>g);"use strict";var n=a("aBzgs"),i=a("d1hml"),s=a("e2x6L"),o=a("1chjt");let u=new i.Logger(s.version),l={},c=(0,o.BigNumber).from(0),d=(0,o.BigNumber).from(-1);function f(e,t,r,n){let a={fault:t,operation:r};return void 0!==n&&(a.value=n),u.throwError(e,i.Logger.errors.NUMERIC_FAULT,a)}let h="0";for(;h.length<256;)h+=h;function p(e){if("number"!=typeof e)try{e=(0,o.BigNumber).from(e).toNumber()}catch(e){}return"number"==typeof e&&e>=0&&e<=256&&!(e%1)?"1"+h.substring(0,e):u.throwArgumentError("invalid decimal size","decimals",e)}function y(e,t){null==t&&(t=0);let r=p(t);e=(0,o.BigNumber).from(e);let n=e.lt(c);n&&(e=e.mul(d));let i=e.mod(r).toString();for(;i.length2&&u.throwArgumentError("too many decimal points","value",e);let a=i[0],s=i[1];for(a||(a="0"),s||(s="0");"0"===s[s.length-1];)s=s.substring(0,s.length-1);for(s.length>r.length-1&&f("fractional component exceeds decimals","underflow","parseFixed"),""===s&&(s="0");s.lengthnull==e[t]?n:(typeof e[t]!==r&&u.throwArgumentError("invalid fixed format ("+t+" not "+r+")","format."+t,e[t]),e[t]);t=i("signed","boolean",t),r=i("width","number",r),n=i("decimals","number",n)}return r%8&&u.throwArgumentError("invalid fixed format width (not byte aligned)","format.width",r),n>80&&u.throwArgumentError("invalid fixed format (decimals too large)","format.decimals",n),new b(l,t,r,n)}}class g{constructor(e,t,r,n){e!==l&&u.throwError("cannot use FixedNumber constructor; use FixedNumber.from",i.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new FixedFormat"}),this.format=n,this._hex=t,this._value=r,this._isFixedNumber=!0,Object.freeze(this)}_checkFormat(e){this.format.name!==e.format.name&&u.throwArgumentError("incompatible format; use fixedNumber.toFormat","other",e)}addUnsafe(e){this._checkFormat(e);let t=m(this._value,this.format.decimals),r=m(e._value,e.format.decimals);return g.fromValue(t.add(r),this.format.decimals,this.format)}subUnsafe(e){this._checkFormat(e);let t=m(this._value,this.format.decimals),r=m(e._value,e.format.decimals);return g.fromValue(t.sub(r),this.format.decimals,this.format)}mulUnsafe(e){this._checkFormat(e);let t=m(this._value,this.format.decimals),r=m(e._value,e.format.decimals);return g.fromValue(t.mul(r).div(this.format._multiplier),this.format.decimals,this.format)}divUnsafe(e){this._checkFormat(e);let t=m(this._value,this.format.decimals),r=m(e._value,e.format.decimals);return g.fromValue(t.mul(this.format._multiplier).div(r),this.format.decimals,this.format)}floor(){let e=this.toString().split(".");1===e.length&&e.push("0");let t=g.from(e[0],this.format),r=!e[1].match(/^(0*)$/);return this.isNegative()&&r&&(t=t.subUnsafe(v.toFormat(t.format))),t}ceiling(){let e=this.toString().split(".");1===e.length&&e.push("0");let t=g.from(e[0],this.format),r=!e[1].match(/^(0*)$/);return!this.isNegative()&&r&&(t=t.addUnsafe(v.toFormat(t.format))),t}round(e){null==e&&(e=0);let t=this.toString().split(".");if(1===t.length&&t.push("0"),(e<0||e>80||e%1)&&u.throwArgumentError("invalid decimal count","decimals",e),t[1].length<=e)return this;let r=g.from("1"+h.substring(0,e),this.format),n=w.toFormat(this.format);return this.mulUnsafe(r).addUnsafe(n).floor().divUnsafe(r)}isZero(){return"0.0"===this._value||"0"===this._value}isNegative(){return"-"===this._value[0]}toString(){return this._value}toHexString(e){if(null==e)return this._hex;e%8&&u.throwArgumentError("invalid byte width","width",e);let t=(0,o.BigNumber).from(this._hex).fromTwos(this.format.width).toTwos(e).toHexString();return(0,n.hexZeroPad)(t,e/8)}toUnsafeFloat(){return parseFloat(this.toString())}toFormat(e){return g.fromString(this._value,e)}static fromValue(e,t,r){return null!=r||null==t||(0,o.isBigNumberish)(t)||(r=t,t=null),null==t&&(t=0),null==r&&(r="fixed"),g.fromString(y(e,t),b.from(r))}static fromString(e,t){null==t&&(t="fixed");let r=b.from(t),i=m(e,r.decimals);!r.signed&&i.lt(c)&&f("unsigned value cannot be negative","overflow","value",e);let a=null;r.signed?a=i.toTwos(r.width).toHexString():(a=i.toHexString(),a=(0,n.hexZeroPad)(a,r.width/8));let s=y(i,r.decimals);return new g(l,a,s,r)}static fromBytes(e,t){null==t&&(t="fixed");let r=b.from(t);if((0,n.arrayify)(e).length>r.width/8)throw Error("overflow");let i=(0,o.BigNumber).from(e);r.signed&&(i=i.fromTwos(r.width));let a=i.toTwos((r.signed?0:1)+r.width).toHexString(),s=y(i,r.decimals);return new g(l,a,s,r)}static from(e,t){if("string"==typeof e)return g.fromString(e,t);if((0,n.isBytes)(e))return g.fromBytes(e,t);try{return g.fromValue(e,0,t)}catch(e){if(e.code!==i.Logger.errors.INVALID_ARGUMENT)throw e}return u.throwArgumentError("invalid FixedNumber value","value",e)}static isFixedNumber(e){return!!(e&&e._isFixedNumber)}}let v=g.from(1),w=g.from("0.5")}),a.register("28skd",function(t,r){e(t.exports,"version",()=>n);let n="units/5.7.0"}),a.register("5utYt",function(t,r){e(t.exports,"Wallet",()=>E),e(t.exports,"verifyMessage",()=>x),e(t.exports,"verifyTypedData",()=>M);"use strict";var n=a("bVwUc"),i=a("b6M4l"),s=a("j7x7T"),o=a("aBzgs"),u=a("a2n8k"),l=a("iz1PA"),c=a("iyMjQ"),d=a("2yhyU"),f=a("e72ut"),h=a("hWtVn"),p=a("lWFPp"),y=a("hmWXb"),m=a("2tHbK"),b=a("TyNFl"),g=a("d1hml"),v=a("jh8UA"),w=function(e,t,r,n){return new(r||(r=Promise))(function(i,a){function s(e){try{u(n.next(e))}catch(e){a(e)}}function o(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(s,o)}u((n=n.apply(e,t||[])).next())})};let A=new g.Logger(v.version);class E extends s.Signer{constructor(e,t){var r;if(super(),null!=(r=e)&&(0,o.isHexString)(r.privateKey,32)&&null!=r.address){let t=new p.SigningKey(e.privateKey);if((0,f.defineReadOnly)(this,"_signingKey",()=>t),(0,f.defineReadOnly)(this,"address",(0,b.computeAddress)(this.publicKey)),this.address!==(0,n.getAddress)(e.address)&&A.throwArgumentError("privateKey/address mismatch","privateKey","[REDACTED]"),function(e){let t=e.mnemonic;return t&&t.phrase}(e)){let t=e.mnemonic;(0,f.defineReadOnly)(this,"_mnemonic",()=>({phrase:t.phrase,path:t.path||c.defaultPath,locale:t.locale||"en"}));let r=this.mnemonic,n=(0,c.HDNode).fromMnemonic(r.phrase,null,r.locale).derivePath(r.path);(0,b.computeAddress)(n.privateKey)!==this.address&&A.throwArgumentError("mnemonic/address mismatch","privateKey","[REDACTED]")}else(0,f.defineReadOnly)(this,"_mnemonic",()=>null)}else{if((0,p.SigningKey).isSigningKey(e))"secp256k1"!==e.curve&&A.throwArgumentError("unsupported curve; must be secp256k1","privateKey","[REDACTED]"),(0,f.defineReadOnly)(this,"_signingKey",()=>e);else{"string"==typeof e&&e.match(/^[0-9a-f]*$/i)&&64===e.length&&(e="0x"+e);let t=new p.SigningKey(e);(0,f.defineReadOnly)(this,"_signingKey",()=>t)}(0,f.defineReadOnly)(this,"_mnemonic",()=>null),(0,f.defineReadOnly)(this,"address",(0,b.computeAddress)(this.publicKey))}t&&!(0,i.Provider).isProvider(t)&&A.throwArgumentError("invalid provider","provider",t),(0,f.defineReadOnly)(this,"provider",t||null)}get mnemonic(){return this._mnemonic()}get privateKey(){return this._signingKey().privateKey}get publicKey(){return this._signingKey().publicKey}getAddress(){return Promise.resolve(this.address)}connect(e){return new E(this,e)}signTransaction(e){return(0,f.resolveProperties)(e).then(t=>{null!=t.from&&((0,n.getAddress)(t.from)!==this.address&&A.throwArgumentError("transaction from address mismatch","transaction.from",e.from),delete t.from);let r=this._signingKey().signDigest((0,d.keccak256)((0,b.serialize)(t)));return(0,b.serialize)(t,r)})}signMessage(e){return w(this,void 0,void 0,function*(){return(0,o.joinSignature)(this._signingKey().signDigest((0,l.hashMessage)(e)))})}_signTypedData(e,t,r){return w(this,void 0,void 0,function*(){let n=yield(0,u.TypedDataEncoder).resolveNames(e,t,r,e=>(null==this.provider&&A.throwError("cannot resolve ENS names without a provider",g.Logger.errors.UNSUPPORTED_OPERATION,{operation:"resolveName",value:e}),this.provider.resolveName(e)));return(0,o.joinSignature)(this._signingKey().signDigest((0,u.TypedDataEncoder).hash(n.domain,t,n.value)))})}encrypt(e,t,r){if("function"!=typeof t||r||(r=t,t={}),r&&"function"!=typeof r)throw Error("invalid callback");return t||(t={}),(0,m.encrypt)(this,e,t,r)}static createRandom(e){let t=(0,h.randomBytes)(16);e||(e={}),e.extraEntropy&&(t=(0,o.arrayify)((0,o.hexDataSlice)((0,d.keccak256)((0,o.concat)([t,e.extraEntropy])),0,16)));let r=(0,c.entropyToMnemonic)(t,e.locale);return E.fromMnemonic(r,e.path,e.locale)}static fromEncryptedJson(e,t,r){return(0,y.decryptJsonWallet)(e,t,r).then(e=>new E(e))}static fromEncryptedJsonSync(e,t){return new E((0,y.decryptJsonWalletSync)(e,t))}static fromMnemonic(e,t,r){return t||(t=c.defaultPath),new E((0,c.HDNode).fromMnemonic(e,null,r).derivePath(t))}}function x(e,t){return(0,b.recoverAddress)((0,l.hashMessage)(e),t)}function M(e,t,r,n){return(0,b.recoverAddress)((0,u.TypedDataEncoder).hash(e,t,r),n)}}),a.register("hmWXb",function(t,r){e(t.exports,"decryptJsonWallet",()=>o),e(t.exports,"decryptJsonWalletSync",()=>u);"use strict";var n=a("gk4i9"),i=a("jpzbw"),s=a("2tHbK");function o(e,t,r){if((0,i.isCrowdsaleWallet)(e)){r&&r(0);let i=(0,n.decrypt)(e,t);return r&&r(1),Promise.resolve(i)}return(0,i.isKeystoreWallet)(e)?(0,s.decrypt)(e,t,r):Promise.reject(Error("invalid JSON wallet"))}function u(e,t){if((0,i.isCrowdsaleWallet)(e))return(0,n.decrypt)(e,t);if((0,i.isKeystoreWallet)(e))return(0,s.decryptSync)(e,t);throw Error("invalid JSON wallet")}}),a.register("gk4i9",function(r,n){e(r.exports,"decrypt",()=>b);"use strict";var i=a("jcj12"),s=a("bVwUc"),o=a("aBzgs"),u=a("2yhyU"),l=a("76ZnQ"),c=a("fkVsY"),d=a("e72ut"),f=a("d1hml"),h=a("3HJiH"),p=a("8n0t3");let y=new f.Logger(h.version);class m extends d.Description{isCrowdsaleAccount(e){return!!(e&&e._isCrowdsaleAccount)}}function b(e,r){let n=JSON.parse(e);r=(0,p.getPassword)(r);let a=(0,s.getAddress)((0,p.searchPath)(n,"ethaddr")),d=(0,p.looseArrayify)((0,p.searchPath)(n,"encseed"));d&&d.length%16==0||y.throwArgumentError("invalid encseed","json",e);let f=(0,o.arrayify)((0,l.pbkdf2)(r,r,2e3,32,"sha256")).slice(0,16),h=d.slice(0,16),b=d.slice(16),g=new(t(i)).ModeOfOperation.cbc(f,h),v=t(i).padding.pkcs7.strip((0,o.arrayify)(g.decrypt(b))),w="";for(let e=0;e255)return!1;return!0}function i(e,t){if(e.buffer&&ArrayBuffer.isView(e)&&"Uint8Array"===e.name)return t&&(e=e.slice?e.slice():Array.prototype.slice.call(e)),e;if(Array.isArray(e)){if(!n(e))throw Error("Array contains invalid value: "+e);return new Uint8Array(e)}if(r(e.length)&&n(e))return new Uint8Array(e);throw Error("unsupported array-like object")}function a(e){return new Uint8Array(e)}function s(e,t,r,n,i){(null!=n||null!=i)&&(e=e.slice?e.slice(n,i):Array.prototype.slice.call(e,n,i)),t.set(e,r)}var o,u=(o="0123456789abcdef",{toBytes:function(e){for(var t=[],r=0;r>4]+o[15&n])}return t.join("")}}),l={16:10,24:12,32:14},c=[1,2,4,8,16,32,64,128,27,54,108,216,171,77,154,47,94,188,99,198,151,53,106,212,179,125,250,239,197,145],d=[99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22],f=[82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125],h=[3328402341,4168907908,4000806809,4135287693,4294111757,3597364157,3731845041,2445657428,1613770832,33620227,3462883241,1445669757,3892248089,3050821474,1303096294,3967186586,2412431941,528646813,2311702848,4202528135,4026202645,2992200171,2387036105,4226871307,1101901292,3017069671,1604494077,1169141738,597466303,1403299063,3832705686,2613100635,1974974402,3791519004,1033081774,1277568618,1815492186,2118074177,4126668546,2211236943,1748251740,1369810420,3521504564,4193382664,3799085459,2883115123,1647391059,706024767,134480908,2512897874,1176707941,2646852446,806885416,932615841,168101135,798661301,235341577,605164086,461406363,3756188221,3454790438,1311188841,2142417613,3933566367,302582043,495158174,1479289972,874125870,907746093,3698224818,3025820398,1537253627,2756858614,1983593293,3084310113,2108928974,1378429307,3722699582,1580150641,327451799,2790478837,3117535592,0,3253595436,1075847264,3825007647,2041688520,3059440621,3563743934,2378943302,1740553945,1916352843,2487896798,2555137236,2958579944,2244988746,3151024235,3320835882,1336584933,3992714006,2252555205,2588757463,1714631509,293963156,2319795663,3925473552,67240454,4269768577,2689618160,2017213508,631218106,1269344483,2723238387,1571005438,2151694528,93294474,1066570413,563977660,1882732616,4059428100,1673313503,2008463041,2950355573,1109467491,537923632,3858759450,4260623118,3218264685,2177748300,403442708,638784309,3287084079,3193921505,899127202,2286175436,773265209,2479146071,1437050866,4236148354,2050833735,3362022572,3126681063,840505643,3866325909,3227541664,427917720,2655997905,2749160575,1143087718,1412049534,999329963,193497219,2353415882,3354324521,1807268051,672404540,2816401017,3160301282,369822493,2916866934,3688947771,1681011286,1949973070,336202270,2454276571,201721354,1210328172,3093060836,2680341085,3184776046,1135389935,3294782118,965841320,831886756,3554993207,4068047243,3588745010,2345191491,1849112409,3664604599,26054028,2983581028,2622377682,1235855840,3630984372,2891339514,4092916743,3488279077,3395642799,4101667470,1202630377,268961816,1874508501,4034427016,1243948399,1546530418,941366308,1470539505,1941222599,2546386513,3421038627,2715671932,3899946140,1042226977,2521517021,1639824860,227249030,260737669,3765465232,2084453954,1907733956,3429263018,2420656344,100860677,4160157185,470683154,3261161891,1781871967,2924959737,1773779408,394692241,2579611992,974986535,664706745,3655459128,3958962195,731420851,571543859,3530123707,2849626480,126783113,865375399,765172662,1008606754,361203602,3387549984,2278477385,2857719295,1344809080,2782912378,59542671,1503764984,160008576,437062935,1707065306,3622233649,2218934982,3496503480,2185314755,697932208,1512910199,504303377,2075177163,2824099068,1841019862,739644986],p=[2781242211,2230877308,2582542199,2381740923,234877682,3184946027,2984144751,1418839493,1348481072,50462977,2848876391,2102799147,434634494,1656084439,3863849899,2599188086,1167051466,2636087938,1082771913,2281340285,368048890,3954334041,3381544775,201060592,3963727277,1739838676,4250903202,3930435503,3206782108,4149453988,2531553906,1536934080,3262494647,484572669,2923271059,1783375398,1517041206,1098792767,49674231,1334037708,1550332980,4098991525,886171109,150598129,2481090929,1940642008,1398944049,1059722517,201851908,1385547719,1699095331,1587397571,674240536,2704774806,252314885,3039795866,151914247,908333586,2602270848,1038082786,651029483,1766729511,3447698098,2682942837,454166793,2652734339,1951935532,775166490,758520603,3000790638,4004797018,4217086112,4137964114,1299594043,1639438038,3464344499,2068982057,1054729187,1901997871,2534638724,4121318227,1757008337,0,750906861,1614815264,535035132,3363418545,3988151131,3201591914,1183697867,3647454910,1265776953,3734260298,3566750796,3903871064,1250283471,1807470800,717615087,3847203498,384695291,3313910595,3617213773,1432761139,2484176261,3481945413,283769337,100925954,2180939647,4037038160,1148730428,3123027871,3813386408,4087501137,4267549603,3229630528,2315620239,2906624658,3156319645,1215313976,82966005,3747855548,3245848246,1974459098,1665278241,807407632,451280895,251524083,1841287890,1283575245,337120268,891687699,801369324,3787349855,2721421207,3431482436,959321879,1469301956,4065699751,2197585534,1199193405,2898814052,3887750493,724703513,2514908019,2696962144,2551808385,3516813135,2141445340,1715741218,2119445034,2872807568,2198571144,3398190662,700968686,3547052216,1009259540,2041044702,3803995742,487983883,1991105499,1004265696,1449407026,1316239930,504629770,3683797321,168560134,1816667172,3837287516,1570751170,1857934291,4014189740,2797888098,2822345105,2754712981,936633572,2347923833,852879335,1133234376,1500395319,3084545389,2348912013,1689376213,3533459022,3762923945,3034082412,4205598294,133428468,634383082,2949277029,2398386810,3913789102,403703816,3580869306,2297460856,1867130149,1918643758,607656988,4049053350,3346248884,1368901318,600565992,2090982877,2632479860,557719327,3717614411,3697393085,2249034635,2232388234,2430627952,1115438654,3295786421,2865522278,3633334344,84280067,33027830,303828494,2747425121,1600795957,4188952407,3496589753,2434238086,1486471617,658119965,3106381470,953803233,334231800,3005978776,857870609,3151128937,1890179545,2298973838,2805175444,3056442267,574365214,2450884487,550103529,1233637070,4289353045,2018519080,2057691103,2399374476,4166623649,2148108681,387583245,3664101311,836232934,3330556482,3100665960,3280093505,2955516313,2002398509,287182607,3413881008,4238890068,3597515707,975967766],y=[1671808611,2089089148,2006576759,2072901243,4061003762,1807603307,1873927791,3310653893,810573872,16974337,1739181671,729634347,4263110654,3613570519,2883997099,1989864566,3393556426,2191335298,3376449993,2106063485,4195741690,1508618841,1204391495,4027317232,2917941677,3563566036,2734514082,2951366063,2629772188,2767672228,1922491506,3227229120,3082974647,4246528509,2477669779,644500518,911895606,1061256767,4144166391,3427763148,878471220,2784252325,3845444069,4043897329,1905517169,3631459288,827548209,356461077,67897348,3344078279,593839651,3277757891,405286936,2527147926,84871685,2595565466,118033927,305538066,2157648768,3795705826,3945188843,661212711,2999812018,1973414517,152769033,2208177539,745822252,439235610,455947803,1857215598,1525593178,2700827552,1391895634,994932283,3596728278,3016654259,695947817,3812548067,795958831,2224493444,1408607827,3513301457,0,3979133421,543178784,4229948412,2982705585,1542305371,1790891114,3410398667,3201918910,961245753,1256100938,1289001036,1491644504,3477767631,3496721360,4012557807,2867154858,4212583931,1137018435,1305975373,861234739,2241073541,1171229253,4178635257,33948674,2139225727,1357946960,1011120188,2679776671,2833468328,1374921297,2751356323,1086357568,2408187279,2460827538,2646352285,944271416,4110742005,3168756668,3066132406,3665145818,560153121,271589392,4279952895,4077846003,3530407890,3444343245,202643468,322250259,3962553324,1608629855,2543990167,1154254916,389623319,3294073796,2817676711,2122513534,1028094525,1689045092,1575467613,422261273,1939203699,1621147744,2174228865,1339137615,3699352540,577127458,712922154,2427141008,2290289544,1187679302,3995715566,3100863416,339486740,3732514782,1591917662,186455563,3681988059,3762019296,844522546,978220090,169743370,1239126601,101321734,611076132,1558493276,3260915650,3547250131,2901361580,1655096418,2443721105,2510565781,3828863972,2039214713,3878868455,3359869896,928607799,1840765549,2374762893,3580146133,1322425422,2850048425,1823791212,1459268694,4094161908,3928346602,1706019429,2056189050,2934523822,135794696,3134549946,2022240376,628050469,779246638,472135708,2800834470,3032970164,3327236038,3894660072,3715932637,1956440180,522272287,1272813131,3185336765,2340818315,2323976074,1888542832,1044544574,3049550261,1722469478,1222152264,50660867,4127324150,236067854,1638122081,895445557,1475980887,3117443513,2257655686,3243809217,489110045,2662934430,3778599393,4162055160,2561878936,288563729,1773916777,3648039385,2391345038,2493985684,2612407707,505560094,2274497927,3911240169,3460925390,1442818645,678973480,3749357023,2358182796,2717407649,2306869641,219617805,3218761151,3862026214,1120306242,1756942440,1103331905,2578459033,762796589,252780047,2966125488,1425844308,3151392187,372911126],m=[1667474886,2088535288,2004326894,2071694838,4075949567,1802223062,1869591006,3318043793,808472672,16843522,1734846926,724270422,4278065639,3621216949,2880169549,1987484396,3402253711,2189597983,3385409673,2105378810,4210693615,1499065266,1195886990,4042263547,2913856577,3570689971,2728590687,2947541573,2627518243,2762274643,1920112356,3233831835,3082273397,4261223649,2475929149,640051788,909531756,1061110142,4160160501,3435941763,875846760,2779116625,3857003729,4059105529,1903268834,3638064043,825316194,353713962,67374088,3351728789,589522246,3284360861,404236336,2526454071,84217610,2593830191,117901582,303183396,2155911963,3806477791,3958056653,656894286,2998062463,1970642922,151591698,2206440989,741110872,437923380,454765878,1852748508,1515908788,2694904667,1381168804,993742198,3604373943,3014905469,690584402,3823320797,791638366,2223281939,1398011302,3520161977,0,3991743681,538992704,4244381667,2981218425,1532751286,1785380564,3419096717,3200178535,960056178,1246420628,1280103576,1482221744,3486468741,3503319995,4025428677,2863326543,4227536621,1128514950,1296947098,859002214,2240123921,1162203018,4193849577,33687044,2139062782,1347481760,1010582648,2678045221,2829640523,1364325282,2745433693,1077985408,2408548869,2459086143,2644360225,943212656,4126475505,3166494563,3065430391,3671750063,555836226,269496352,4294908645,4092792573,3537006015,3452783745,202118168,320025894,3974901699,1600119230,2543297077,1145359496,387397934,3301201811,2812801621,2122220284,1027426170,1684319432,1566435258,421079858,1936954854,1616945344,2172753945,1330631070,3705438115,572679748,707427924,2425400123,2290647819,1179044492,4008585671,3099120491,336870440,3739122087,1583276732,185277718,3688593069,3772791771,842159716,976899700,168435220,1229577106,101059084,606366792,1549591736,3267517855,3553849021,2897014595,1650632388,2442242105,2509612081,3840161747,2038008818,3890688725,3368567691,926374254,1835907034,2374863873,3587531953,1313788572,2846482505,1819063512,1448540844,4109633523,3941213647,1701162954,2054852340,2930698567,134748176,3132806511,2021165296,623210314,774795868,471606328,2795958615,3031746419,3334885783,3907527627,3722280097,1953799400,522133822,1263263126,3183336545,2341176845,2324333839,1886425312,1044267644,3048588401,1718004428,1212733584,50529542,4143317495,235803164,1633788866,892690282,1465383342,3115962473,2256965911,3250673817,488449850,2661202215,3789633753,4177007595,2560144171,286339874,1768537042,3654906025,2391705863,2492770099,2610673197,505291324,2273808917,3924369609,3469625735,1431699370,673740880,3755965093,2358021891,2711746649,2307489801,218961690,3217021541,3873845719,1111672452,1751693520,1094828930,2576986153,757954394,252645662,2964376443,1414855848,3149649517,370555436],b=[1374988112,2118214995,437757123,975658646,1001089995,530400753,2902087851,1273168787,540080725,2910219766,2295101073,4110568485,1340463100,3307916247,641025152,3043140495,3736164937,632953703,1172967064,1576976609,3274667266,2169303058,2370213795,1809054150,59727847,361929877,3211623147,2505202138,3569255213,1484005843,1239443753,2395588676,1975683434,4102977912,2572697195,666464733,3202437046,4035489047,3374361702,2110667444,1675577880,3843699074,2538681184,1649639237,2976151520,3144396420,4269907996,4178062228,1883793496,2403728665,2497604743,1383856311,2876494627,1917518562,3810496343,1716890410,3001755655,800440835,2261089178,3543599269,807962610,599762354,33778362,3977675356,2328828971,2809771154,4077384432,1315562145,1708848333,101039829,3509871135,3299278474,875451293,2733856160,92987698,2767645557,193195065,1080094634,1584504582,3178106961,1042385657,2531067453,3711829422,1306967366,2438237621,1908694277,67556463,1615861247,429456164,3602770327,2302690252,1742315127,2968011453,126454664,3877198648,2043211483,2709260871,2084704233,4169408201,0,159417987,841739592,504459436,1817866830,4245618683,260388950,1034867998,908933415,168810852,1750902305,2606453969,607530554,202008497,2472011535,3035535058,463180190,2160117071,1641816226,1517767529,470948374,3801332234,3231722213,1008918595,303765277,235474187,4069246893,766945465,337553864,1475418501,2943682380,4003061179,2743034109,4144047775,1551037884,1147550661,1543208500,2336434550,3408119516,3069049960,3102011747,3610369226,1113818384,328671808,2227573024,2236228733,3535486456,2935566865,3341394285,496906059,3702665459,226906860,2009195472,733156972,2842737049,294930682,1206477858,2835123396,2700099354,1451044056,573804783,2269728455,3644379585,2362090238,2564033334,2801107407,2776292904,3669462566,1068351396,742039012,1350078989,1784663195,1417561698,4136440770,2430122216,775550814,2193862645,2673705150,1775276924,1876241833,3475313331,3366754619,270040487,3902563182,3678124923,3441850377,1851332852,3969562369,2203032232,3868552805,2868897406,566021896,4011190502,3135740889,1248802510,3936291284,699432150,832877231,708780849,3332740144,899835584,1951317047,4236429990,3767586992,866637845,4043610186,1106041591,2144161806,395441711,1984812685,1139781709,3433712980,3835036895,2664543715,1282050075,3240894392,1181045119,2640243204,25965917,4203181171,4211818798,3009879386,2463879762,3910161971,1842759443,2597806476,933301370,1509430414,3943906441,3467192302,3076639029,3776767469,2051518780,2631065433,1441952575,404016761,1942435775,1408749034,1610459739,3745345300,2017778566,3400528769,3110650942,941896748,3265478751,371049330,3168937228,675039627,4279080257,967311729,135050206,3635733660,1683407248,2076935265,3576870512,1215061108,3501741890],g=[1347548327,1400783205,3273267108,2520393566,3409685355,4045380933,2880240216,2471224067,1428173050,4138563181,2441661558,636813900,4233094615,3620022987,2149987652,2411029155,1239331162,1730525723,2554718734,3781033664,46346101,310463728,2743944855,3328955385,3875770207,2501218972,3955191162,3667219033,768917123,3545789473,692707433,1150208456,1786102409,2029293177,1805211710,3710368113,3065962831,401639597,1724457132,3028143674,409198410,2196052529,1620529459,1164071807,3769721975,2226875310,486441376,2499348523,1483753576,428819965,2274680428,3075636216,598438867,3799141122,1474502543,711349675,129166120,53458370,2592523643,2782082824,4063242375,2988687269,3120694122,1559041666,730517276,2460449204,4042459122,2706270690,3446004468,3573941694,533804130,2328143614,2637442643,2695033685,839224033,1973745387,957055980,2856345839,106852767,1371368976,4181598602,1033297158,2933734917,1179510461,3046200461,91341917,1862534868,4284502037,605657339,2547432937,3431546947,2003294622,3182487618,2282195339,954669403,3682191598,1201765386,3917234703,3388507166,0,2198438022,1211247597,2887651696,1315723890,4227665663,1443857720,507358933,657861945,1678381017,560487590,3516619604,975451694,2970356327,261314535,3535072918,2652609425,1333838021,2724322336,1767536459,370938394,182621114,3854606378,1128014560,487725847,185469197,2918353863,3106780840,3356761769,2237133081,1286567175,3152976349,4255350624,2683765030,3160175349,3309594171,878443390,1988838185,3704300486,1756818940,1673061617,3403100636,272786309,1075025698,545572369,2105887268,4174560061,296679730,1841768865,1260232239,4091327024,3960309330,3497509347,1814803222,2578018489,4195456072,575138148,3299409036,446754879,3629546796,4011996048,3347532110,3252238545,4270639778,915985419,3483825537,681933534,651868046,2755636671,3828103837,223377554,2607439820,1649704518,3270937875,3901806776,1580087799,4118987695,3198115200,2087309459,2842678573,3016697106,1003007129,2802849917,1860738147,2077965243,164439672,4100872472,32283319,2827177882,1709610350,2125135846,136428751,3874428392,3652904859,3460984630,3572145929,3593056380,2939266226,824852259,818324884,3224740454,930369212,2801566410,2967507152,355706840,1257309336,4148292826,243256656,790073846,2373340630,1296297904,1422699085,3756299780,3818836405,457992840,3099667487,2135319889,77422314,1560382517,1945798516,788204353,1521706781,1385356242,870912086,325965383,2358957921,2050466060,2388260884,2313884476,4006521127,901210569,3990953189,1014646705,1503449823,1062597235,2031621326,3212035895,3931371469,1533017514,350174575,2256028891,2177544179,1052338372,741876788,1606591296,1914052035,213705253,2334669897,1107234197,1899603969,3725069491,2631447780,2422494913,1635502980,1893020342,1950903388,1120974935],v=[2807058932,1699970625,2764249623,1586903591,1808481195,1173430173,1487645946,59984867,4199882800,1844882806,1989249228,1277555970,3623636965,3419915562,1149249077,2744104290,1514790577,459744698,244860394,3235995134,1963115311,4027744588,2544078150,4190530515,1608975247,2627016082,2062270317,1507497298,2200818878,567498868,1764313568,3359936201,2305455554,2037970062,1047239e3,1910319033,1337376481,2904027272,2892417312,984907214,1243112415,830661914,861968209,2135253587,2011214180,2927934315,2686254721,731183368,1750626376,4246310725,1820824798,4172763771,3542330227,48394827,2404901663,2871682645,671593195,3254988725,2073724613,145085239,2280796200,2779915199,1790575107,2187128086,472615631,3029510009,4075877127,3802222185,4107101658,3201631749,1646252340,4270507174,1402811438,1436590835,3778151818,3950355702,3963161475,4020912224,2667994737,273792366,2331590177,104699613,95345982,3175501286,2377486676,1560637892,3564045318,369057872,4213447064,3919042237,1137477952,2658625497,1119727848,2340947849,1530455833,4007360968,172466556,266959938,516552836,0,2256734592,3980931627,1890328081,1917742170,4294704398,945164165,3575528878,958871085,3647212047,2787207260,1423022939,775562294,1739656202,3876557655,2530391278,2443058075,3310321856,547512796,1265195639,437656594,3121275539,719700128,3762502690,387781147,218828297,3350065803,2830708150,2848461854,428169201,122466165,3720081049,1627235199,648017665,4122762354,1002783846,2117360635,695634755,3336358691,4234721005,4049844452,3704280881,2232435299,574624663,287343814,612205898,1039717051,840019705,2708326185,793451934,821288114,1391201670,3822090177,376187827,3113855344,1224348052,1679968233,2361698556,1058709744,752375421,2431590963,1321699145,3519142200,2734591178,188127444,2177869557,3727205754,2384911031,3215212461,2648976442,2450346104,3432737375,1180849278,331544205,3102249176,4150144569,2952102595,2159976285,2474404304,766078933,313773861,2570832044,2108100632,1668212892,3145456443,2013908262,418672217,3070356634,2594734927,1852171925,3867060991,3473416636,3907448597,2614737639,919489135,164948639,2094410160,2997825956,590424639,2486224549,1723872674,3157750862,3399941250,3501252752,3625268135,2555048196,3673637356,1343127501,4130281361,3599595085,2957853679,1297403050,81781910,3051593425,2283490410,532201772,1367295589,3926170974,895287692,1953757831,1093597963,492483431,3528626907,1446242576,1192455638,1636604631,209336225,344873464,1015671571,669961897,3375740769,3857572124,2973530695,3747192018,1933530610,3464042516,935293895,3454686199,2858115069,1863638845,3683022916,4085369519,3292445032,875313188,1080017571,3279033885,621591778,1233856572,2504130317,24197544,3017672716,3835484340,3247465558,2220981195,3060847922,1551124588,1463996600],w=[4104605777,1097159550,396673818,660510266,2875968315,2638606623,4200115116,3808662347,821712160,1986918061,3430322568,38544885,3856137295,718002117,893681702,1654886325,2975484382,3122358053,3926825029,4274053469,796197571,1290801793,1184342925,3556361835,2405426947,2459735317,1836772287,1381620373,3196267988,1948373848,3764988233,3385345166,3263785589,2390325492,1480485785,3111247143,3780097726,2293045232,548169417,3459953789,3746175075,439452389,1362321559,1400849762,1685577905,1806599355,2174754046,137073913,1214797936,1174215055,3731654548,2079897426,1943217067,1258480242,529487843,1437280870,3945269170,3049390895,3313212038,923313619,679998e3,3215307299,57326082,377642221,3474729866,2041877159,133361907,1776460110,3673476453,96392454,878845905,2801699524,777231668,4082475170,2330014213,4142626212,2213296395,1626319424,1906247262,1846563261,562755902,3708173718,1040559837,3871163981,1418573201,3294430577,114585348,1343618912,2566595609,3186202582,1078185097,3651041127,3896688048,2307622919,425408743,3371096953,2081048481,1108339068,2216610296,0,2156299017,736970802,292596766,1517440620,251657213,2235061775,2933202493,758720310,265905162,1554391400,1532285339,908999204,174567692,1474760595,4002861748,2610011675,3234156416,3693126241,2001430874,303699484,2478443234,2687165888,585122620,454499602,151849742,2345119218,3064510765,514443284,4044981591,1963412655,2581445614,2137062819,19308535,1928707164,1715193156,4219352155,1126790795,600235211,3992742070,3841024952,836553431,1669664834,2535604243,3323011204,1243905413,3141400786,4180808110,698445255,2653899549,2989552604,2253581325,3252932727,3004591147,1891211689,2487810577,3915653703,4237083816,4030667424,2100090966,865136418,1229899655,953270745,3399679628,3557504664,4118925222,2061379749,3079546586,2915017791,983426092,2022837584,1607244650,2118541908,2366882550,3635996816,972512814,3283088770,1568718495,3499326569,3576539503,621982671,2895723464,410887952,2623762152,1002142683,645401037,1494807662,2595684844,1335535747,2507040230,4293295786,3167684641,367585007,3885750714,1865862730,2668221674,2960971305,2763173681,1059270954,2777952454,2724642869,1320957812,2194319100,2429595872,2815956275,77089521,3973773121,3444575871,2448830231,1305906550,4021308739,2857194700,2516901860,3518358430,1787304780,740276417,1699839814,1592394909,2352307457,2272556026,188821243,1729977011,3687994002,274084841,3594982253,3613494426,2701949495,4162096729,322734571,2837966542,1640576439,484830689,1202797690,3537852828,4067639125,349075736,3342319475,4157467219,4255800159,1030690015,1155237496,2951971274,1757691577,607398968,2738905026,499347990,3794078908,1011452712,227885567,2818666809,213114376,3034881240,1455525988,3414450555,850817237,1817998408,3092726480],A=[0,235474187,470948374,303765277,941896748,908933415,607530554,708780849,1883793496,2118214995,1817866830,1649639237,1215061108,1181045119,1417561698,1517767529,3767586992,4003061179,4236429990,4069246893,3635733660,3602770327,3299278474,3400528769,2430122216,2664543715,2362090238,2193862645,2835123396,2801107407,3035535058,3135740889,3678124923,3576870512,3341394285,3374361702,3810496343,3977675356,4279080257,4043610186,2876494627,2776292904,3076639029,3110650942,2472011535,2640243204,2403728665,2169303058,1001089995,899835584,666464733,699432150,59727847,226906860,530400753,294930682,1273168787,1172967064,1475418501,1509430414,1942435775,2110667444,1876241833,1641816226,2910219766,2743034109,2976151520,3211623147,2505202138,2606453969,2302690252,2269728455,3711829422,3543599269,3240894392,3475313331,3843699074,3943906441,4178062228,4144047775,1306967366,1139781709,1374988112,1610459739,1975683434,2076935265,1775276924,1742315127,1034867998,866637845,566021896,800440835,92987698,193195065,429456164,395441711,1984812685,2017778566,1784663195,1683407248,1315562145,1080094634,1383856311,1551037884,101039829,135050206,437757123,337553864,1042385657,807962610,573804783,742039012,2531067453,2564033334,2328828971,2227573024,2935566865,2700099354,3001755655,3168937228,3868552805,3902563182,4203181171,4102977912,3736164937,3501741890,3265478751,3433712980,1106041591,1340463100,1576976609,1408749034,2043211483,2009195472,1708848333,1809054150,832877231,1068351396,766945465,599762354,159417987,126454664,361929877,463180190,2709260871,2943682380,3178106961,3009879386,2572697195,2538681184,2236228733,2336434550,3509871135,3745345300,3441850377,3274667266,3910161971,3877198648,4110568485,4211818798,2597806476,2497604743,2261089178,2295101073,2733856160,2902087851,3202437046,2968011453,3936291284,3835036895,4136440770,4169408201,3535486456,3702665459,3467192302,3231722213,2051518780,1951317047,1716890410,1750902305,1113818384,1282050075,1584504582,1350078989,168810852,67556463,371049330,404016761,841739592,1008918595,775550814,540080725,3969562369,3801332234,4035489047,4269907996,3569255213,3669462566,3366754619,3332740144,2631065433,2463879762,2160117071,2395588676,2767645557,2868897406,3102011747,3069049960,202008497,33778362,270040487,504459436,875451293,975658646,675039627,641025152,2084704233,1917518562,1615861247,1851332852,1147550661,1248802510,1484005843,1451044056,933301370,967311729,733156972,632953703,260388950,25965917,328671808,496906059,1206477858,1239443753,1543208500,1441952575,2144161806,1908694277,1675577880,1842759443,3610369226,3644379585,3408119516,3307916247,4011190502,3776767469,4077384432,4245618683,2809771154,2842737049,3144396420,3043140495,2673705150,2438237621,2203032232,2370213795],E=[0,185469197,370938394,487725847,741876788,657861945,975451694,824852259,1483753576,1400783205,1315723890,1164071807,1950903388,2135319889,1649704518,1767536459,2967507152,3152976349,2801566410,2918353863,2631447780,2547432937,2328143614,2177544179,3901806776,3818836405,4270639778,4118987695,3299409036,3483825537,3535072918,3652904859,2077965243,1893020342,1841768865,1724457132,1474502543,1559041666,1107234197,1257309336,598438867,681933534,901210569,1052338372,261314535,77422314,428819965,310463728,3409685355,3224740454,3710368113,3593056380,3875770207,3960309330,4045380933,4195456072,2471224067,2554718734,2237133081,2388260884,3212035895,3028143674,2842678573,2724322336,4138563181,4255350624,3769721975,3955191162,3667219033,3516619604,3431546947,3347532110,2933734917,2782082824,3099667487,3016697106,2196052529,2313884476,2499348523,2683765030,1179510461,1296297904,1347548327,1533017514,1786102409,1635502980,2087309459,2003294622,507358933,355706840,136428751,53458370,839224033,957055980,605657339,790073846,2373340630,2256028891,2607439820,2422494913,2706270690,2856345839,3075636216,3160175349,3573941694,3725069491,3273267108,3356761769,4181598602,4063242375,4011996048,3828103837,1033297158,915985419,730517276,545572369,296679730,446754879,129166120,213705253,1709610350,1860738147,1945798516,2029293177,1239331162,1120974935,1606591296,1422699085,4148292826,4233094615,3781033664,3931371469,3682191598,3497509347,3446004468,3328955385,2939266226,2755636671,3106780840,2988687269,2198438022,2282195339,2501218972,2652609425,1201765386,1286567175,1371368976,1521706781,1805211710,1620529459,2105887268,1988838185,533804130,350174575,164439672,46346101,870912086,954669403,636813900,788204353,2358957921,2274680428,2592523643,2441661558,2695033685,2880240216,3065962831,3182487618,3572145929,3756299780,3270937875,3388507166,4174560061,4091327024,4006521127,3854606378,1014646705,930369212,711349675,560487590,272786309,457992840,106852767,223377554,1678381017,1862534868,1914052035,2031621326,1211247597,1128014560,1580087799,1428173050,32283319,182621114,401639597,486441376,768917123,651868046,1003007129,818324884,1503449823,1385356242,1333838021,1150208456,1973745387,2125135846,1673061617,1756818940,2970356327,3120694122,2802849917,2887651696,2637442643,2520393566,2334669897,2149987652,3917234703,3799141122,4284502037,4100872472,3309594171,3460984630,3545789473,3629546796,2050466060,1899603969,1814803222,1730525723,1443857720,1560382517,1075025698,1260232239,575138148,692707433,878443390,1062597235,243256656,91341917,409198410,325965383,3403100636,3252238545,3704300486,3620022987,3874428392,3990953189,4042459122,4227665663,2460449204,2578018489,2226875310,2411029155,3198115200,3046200461,2827177882,2743944855],x=[0,218828297,437656594,387781147,875313188,958871085,775562294,590424639,1750626376,1699970625,1917742170,2135253587,1551124588,1367295589,1180849278,1265195639,3501252752,3720081049,3399941250,3350065803,3835484340,3919042237,4270507174,4085369519,3102249176,3051593425,2734591178,2952102595,2361698556,2177869557,2530391278,2614737639,3145456443,3060847922,2708326185,2892417312,2404901663,2187128086,2504130317,2555048196,3542330227,3727205754,3375740769,3292445032,3876557655,3926170974,4246310725,4027744588,1808481195,1723872674,1910319033,2094410160,1608975247,1391201670,1173430173,1224348052,59984867,244860394,428169201,344873464,935293895,984907214,766078933,547512796,1844882806,1627235199,2011214180,2062270317,1507497298,1423022939,1137477952,1321699145,95345982,145085239,532201772,313773861,830661914,1015671571,731183368,648017665,3175501286,2957853679,2807058932,2858115069,2305455554,2220981195,2474404304,2658625497,3575528878,3625268135,3473416636,3254988725,3778151818,3963161475,4213447064,4130281361,3599595085,3683022916,3432737375,3247465558,3802222185,4020912224,4172763771,4122762354,3201631749,3017672716,2764249623,2848461854,2331590177,2280796200,2431590963,2648976442,104699613,188127444,472615631,287343814,840019705,1058709744,671593195,621591778,1852171925,1668212892,1953757831,2037970062,1514790577,1463996600,1080017571,1297403050,3673637356,3623636965,3235995134,3454686199,4007360968,3822090177,4107101658,4190530515,2997825956,3215212461,2830708150,2779915199,2256734592,2340947849,2627016082,2443058075,172466556,122466165,273792366,492483431,1047239e3,861968209,612205898,695634755,1646252340,1863638845,2013908262,1963115311,1446242576,1530455833,1277555970,1093597963,1636604631,1820824798,2073724613,1989249228,1436590835,1487645946,1337376481,1119727848,164948639,81781910,331544205,516552836,1039717051,821288114,669961897,719700128,2973530695,3157750862,2871682645,2787207260,2232435299,2283490410,2667994737,2450346104,3647212047,3564045318,3279033885,3464042516,3980931627,3762502690,4150144569,4199882800,3070356634,3121275539,2904027272,2686254721,2200818878,2384911031,2570832044,2486224549,3747192018,3528626907,3310321856,3359936201,3950355702,3867060991,4049844452,4234721005,1739656202,1790575107,2108100632,1890328081,1402811438,1586903591,1233856572,1149249077,266959938,48394827,369057872,418672217,1002783846,919489135,567498868,752375421,209336225,24197544,376187827,459744698,945164165,895287692,574624663,793451934,1679968233,1764313568,2117360635,1933530610,1343127501,1560637892,1243112415,1192455638,3704280881,3519142200,3336358691,3419915562,3907448597,3857572124,4075877127,4294704398,3029510009,3113855344,2927934315,2744104290,2159976285,2377486676,2594734927,2544078150],M=[0,151849742,303699484,454499602,607398968,758720310,908999204,1059270954,1214797936,1097159550,1517440620,1400849762,1817998408,1699839814,2118541908,2001430874,2429595872,2581445614,2194319100,2345119218,3034881240,3186202582,2801699524,2951971274,3635996816,3518358430,3399679628,3283088770,4237083816,4118925222,4002861748,3885750714,1002142683,850817237,698445255,548169417,529487843,377642221,227885567,77089521,1943217067,2061379749,1640576439,1757691577,1474760595,1592394909,1174215055,1290801793,2875968315,2724642869,3111247143,2960971305,2405426947,2253581325,2638606623,2487810577,3808662347,3926825029,4044981591,4162096729,3342319475,3459953789,3576539503,3693126241,1986918061,2137062819,1685577905,1836772287,1381620373,1532285339,1078185097,1229899655,1040559837,923313619,740276417,621982671,439452389,322734571,137073913,19308535,3871163981,4021308739,4104605777,4255800159,3263785589,3414450555,3499326569,3651041127,2933202493,2815956275,3167684641,3049390895,2330014213,2213296395,2566595609,2448830231,1305906550,1155237496,1607244650,1455525988,1776460110,1626319424,2079897426,1928707164,96392454,213114376,396673818,514443284,562755902,679998e3,865136418,983426092,3708173718,3557504664,3474729866,3323011204,4180808110,4030667424,3945269170,3794078908,2507040230,2623762152,2272556026,2390325492,2975484382,3092726480,2738905026,2857194700,3973773121,3856137295,4274053469,4157467219,3371096953,3252932727,3673476453,3556361835,2763173681,2915017791,3064510765,3215307299,2156299017,2307622919,2459735317,2610011675,2081048481,1963412655,1846563261,1729977011,1480485785,1362321559,1243905413,1126790795,878845905,1030690015,645401037,796197571,274084841,425408743,38544885,188821243,3613494426,3731654548,3313212038,3430322568,4082475170,4200115116,3780097726,3896688048,2668221674,2516901860,2366882550,2216610296,3141400786,2989552604,2837966542,2687165888,1202797690,1320957812,1437280870,1554391400,1669664834,1787304780,1906247262,2022837584,265905162,114585348,499347990,349075736,736970802,585122620,972512814,821712160,2595684844,2478443234,2293045232,2174754046,3196267988,3079546586,2895723464,2777952454,3537852828,3687994002,3234156416,3385345166,4142626212,4293295786,3841024952,3992742070,174567692,57326082,410887952,292596766,777231668,660510266,1011452712,893681702,1108339068,1258480242,1343618912,1494807662,1715193156,1865862730,1948373848,2100090966,2701949495,2818666809,3004591147,3122358053,2235061775,2352307457,2535604243,2653899549,3915653703,3764988233,4219352155,4067639125,3444575871,3294430577,3746175075,3594982253,836553431,953270745,600235211,718002117,367585007,484830689,133361907,251657213,2041877159,1891211689,1806599355,1654886325,1568718495,1418573201,1335535747,1184342925];function T(e){for(var t=[],r=0;r>2,this._Ke[a][t%4]=i[t],this._Kd[e-a][t%4]=i[t];for(var a,s,o=0,u=n;u>16&255]<<24^d[s>>8&255]<<16^d[255&s]<<8^d[s>>24&255]^c[o]<<24,o+=1,8!=n)for(var t=1;t>8&255]<<8^d[s>>16&255]<<16^d[s>>24&255]<<24;for(var t=n/2+1;t>2,h=u%4,this._Ke[f][h]=i[t],this._Kd[e-f][h]=i[t++],u++}for(var f=1;f>24&255]^E[s>>16&255]^x[s>>8&255]^M[255&s]},C.prototype.encrypt=function(e){if(16!=e.length)throw Error("invalid plaintext size (must be 16 bytes)");for(var t=this._Ke.length-1,r=[0,0,0,0],n=T(e),i=0;i<4;i++)n[i]^=this._Ke[0][i];for(var s=1;s>24&255]^p[n[(i+1)%4]>>16&255]^y[n[(i+2)%4]>>8&255]^m[255&n[(i+3)%4]]^this._Ke[s][i];n=r.slice()}for(var o,u=a(16),i=0;i<4;i++)o=this._Ke[t][i],u[4*i]=(d[n[i]>>24&255]^o>>24)&255,u[4*i+1]=(d[n[(i+1)%4]>>16&255]^o>>16)&255,u[4*i+2]=(d[n[(i+2)%4]>>8&255]^o>>8)&255,u[4*i+3]=(d[255&n[(i+3)%4]]^o)&255;return u},C.prototype.decrypt=function(e){if(16!=e.length)throw Error("invalid ciphertext size (must be 16 bytes)");for(var t=this._Kd.length-1,r=[0,0,0,0],n=T(e),i=0;i<4;i++)n[i]^=this._Kd[0][i];for(var s=1;s>24&255]^g[n[(i+3)%4]>>16&255]^v[n[(i+2)%4]>>8&255]^w[255&n[(i+1)%4]]^this._Kd[s][i];n=r.slice()}for(var o,u=a(16),i=0;i<4;i++)o=this._Kd[t][i],u[4*i]=(f[n[i]>>24&255]^o>>24)&255,u[4*i+1]=(f[n[(i+3)%4]>>16&255]^o>>16)&255,u[4*i+2]=(f[n[(i+2)%4]>>8&255]^o>>8)&255,u[4*i+3]=(f[255&n[(i+1)%4]]^o)&255;return u};var _=function(e){if(!(this instanceof _))throw Error("AES must be instanitated with `new`");this.description="Electronic Code Block",this.name="ecb",this._aes=new C(e)};_.prototype.encrypt=function(e){if((e=i(e)).length%16!=0)throw Error("invalid plaintext size (must be multiple of 16 bytes)");for(var t=a(e.length),r=a(16),n=0;n=0;--t)this._counter[t]=e%256,e>>=8},k.prototype.setBytes=function(e){if(16!=(e=i(e,!0)).length)throw Error("invalid counter bytes size (must be 16 bytes)");this._counter=e},k.prototype.increment=function(){for(var e=15;e>=0;e--)if(255===this._counter[e])this._counter[e]=0;else{this._counter[e]++;break}};var D=function(e,t){if(!(this instanceof D))throw Error("AES must be instanitated with `new`");this.description="Counter",this.name="ctr",t instanceof k||(t=new k(t)),this._counter=t,this._remainingCounter=null,this._remainingCounterIndex=16,this._aes=new C(e)};D.prototype.encrypt=function(e){for(var t=i(e,!0),r=0;r191&&n<224?(t.push(String.fromCharCode((31&n)<<6|63&e[r+1])),r+=2):(t.push(String.fromCharCode((15&n)<<12|(63&e[r+1])<<6|63&e[r+2])),r+=3)}return t.join("")}}},padding:{pkcs7:{pad:function(e){var t=16-(e=i(e,!0)).length%16,r=a(e.length+t);s(e,r);for(var n=e.length;n16)throw Error("PKCS#7 padding byte out of range");for(var r=e.length-t,n=0;nn);let n="json-wallets/5.7.0"}),a.register("8n0t3",function(t,r){e(t.exports,"looseArrayify",()=>s),e(t.exports,"zpad",()=>o),e(t.exports,"getPassword",()=>u),e(t.exports,"searchPath",()=>l),e(t.exports,"uuidV4",()=>c);"use strict";var n=a("aBzgs"),i=a("fkVsY");function s(e){return"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),(0,n.arrayify)(e)}function o(e,t){for(e=String(e);e.lengthT),e(r.exports,"decrypt",()=>C),e(r.exports,"encrypt",()=>_);"use strict";var i=a("jcj12"),s=a("innAd"),o=a("bVwUc"),u=a("aBzgs"),l=a("iyMjQ"),c=a("2yhyU"),d=a("76ZnQ"),f=a("hWtVn"),h=a("e72ut"),p=a("TyNFl"),y=a("8n0t3"),m=a("d1hml"),b=a("3HJiH");let g=new m.Logger(b.version);function v(e){return null!=e&&e.mnemonic&&e.mnemonic.phrase}class w extends h.Description{isKeystoreAccount(e){return!!(e&&e._isKeystoreAccount)}}function A(e,r){let n=(0,y.looseArrayify)((0,y.searchPath)(e,"crypto/ciphertext")),a=(0,u.hexlify)((0,c.keccak256)((0,u.concat)([r.slice(16,32),n]))).substring(2);if(a!==(0,y.searchPath)(e,"crypto/mac").toLowerCase())throw Error("invalid password");let s=function(e,r,n){let a=(0,y.searchPath)(e,"crypto/cipher");if("aes-128-ctr"===a){let a=(0,y.looseArrayify)((0,y.searchPath)(e,"crypto/cipherparams/iv")),s=new(t(i)).Counter(a),o=new(t(i)).ModeOfOperation.ctr(r,s);return(0,u.arrayify)(o.decrypt(n))}return null}(e,r.slice(0,16),n);s||g.throwError("unsupported cipher",m.Logger.errors.UNSUPPORTED_OPERATION,{operation:"decrypt"});let d=r.slice(32,64),f=(0,p.computeAddress)(s);if(e.address){let t=e.address.toLowerCase();if("0x"!==t.substring(0,2)&&(t="0x"+t),(0,o.getAddress)(t)!==f)throw Error("address mismatch")}let h={_isKeystoreAccount:!0,address:f,privateKey:(0,u.hexlify)(s)};if("0.1"===(0,y.searchPath)(e,"x-ethers/version")){let r=(0,y.looseArrayify)((0,y.searchPath)(e,"x-ethers/mnemonicCiphertext")),n=(0,y.looseArrayify)((0,y.searchPath)(e,"x-ethers/mnemonicCounter")),a=new(t(i)).Counter(n),s=new(t(i)).ModeOfOperation.ctr(d,a),o=(0,y.searchPath)(e,"x-ethers/path")||l.defaultPath,c=(0,y.searchPath)(e,"x-ethers/locale")||"en",f=(0,u.arrayify)(s.decrypt(r));try{let e=(0,l.entropyToMnemonic)(f,c),t=(0,l.HDNode).fromMnemonic(e,null,c).derivePath(o);if(t.privateKey!=h.privateKey)throw Error("mnemonic mismatch");h.mnemonic=t.mnemonic}catch(e){if(e.code!==m.Logger.errors.INVALID_ARGUMENT||"wordlist"!==e.argument)throw e}}return new w(h)}function E(e,t,r,n,i){return(0,u.arrayify)((0,d.pbkdf2)(e,t,r,n,i))}function x(e,t,r,n,i){return Promise.resolve(E(e,t,r,n,i))}function M(e,t,r,n,i){let a=(0,y.getPassword)(t),s=(0,y.searchPath)(e,"crypto/kdf");if(s&&"string"==typeof s){let t=function(e,t){return g.throwArgumentError("invalid key-derivation function parameters",e,t)};if("scrypt"===s.toLowerCase()){let r=(0,y.looseArrayify)((0,y.searchPath)(e,"crypto/kdfparams/salt")),o=parseInt((0,y.searchPath)(e,"crypto/kdfparams/n")),u=parseInt((0,y.searchPath)(e,"crypto/kdfparams/r")),l=parseInt((0,y.searchPath)(e,"crypto/kdfparams/p"));o&&u&&l||t("kdf",s),(o&o-1)!=0&&t("N",o);let c=parseInt((0,y.searchPath)(e,"crypto/kdfparams/dklen"));return 32!==c&&t("dklen",c),n(a,r,o,u,l,64,i)}if("pbkdf2"===s.toLowerCase()){let n=(0,y.looseArrayify)((0,y.searchPath)(e,"crypto/kdfparams/salt")),i=null,s=(0,y.searchPath)(e,"crypto/kdfparams/prf");"hmac-sha256"===s?i="sha256":"hmac-sha512"===s?i="sha512":t("prf",s);let o=parseInt((0,y.searchPath)(e,"crypto/kdfparams/c")),u=parseInt((0,y.searchPath)(e,"crypto/kdfparams/dklen"));return 32!==u&&t("dklen",u),r(a,n,o,u,i)}}return g.throwArgumentError("unsupported key-derivation function","kdf",s)}function T(e,r){let n=JSON.parse(e),i=M(n,r,E,t(s).syncScrypt);return A(n,i)}function C(e,r,n){var i,a,o,u;return i=this,a=void 0,o=void 0,u=function*(){let i=JSON.parse(e),a=yield M(i,r,x,t(s).scrypt,n);return A(i,a)},new(o||(o=Promise))(function(e,t){function r(e){try{s(u.next(e))}catch(e){t(e)}}function n(e){try{s(u.throw(e))}catch(e){t(e)}}function s(t){var i;t.done?e(t.value):((i=t.value)instanceof o?i:new o(function(e){e(i)})).then(r,n)}s((u=u.apply(i,a||[])).next())})}function _(e,r,n,a){try{if((0,o.getAddress)(e.address)!==(0,p.computeAddress)(e.privateKey))throw Error("address/privateKey mismatch");if(v(e)){let t=e.mnemonic,r=(0,l.HDNode).fromMnemonic(t.phrase,null,t.locale).derivePath(t.path||l.defaultPath);if(r.privateKey!=e.privateKey)throw Error("mnemonic mismatch")}}catch(e){return Promise.reject(e)}"function"!=typeof n||a||(a=n,n={}),n||(n={});let d=(0,u.arrayify)(e.privateKey),h=(0,y.getPassword)(r),m=null,b=null,g=null;if(v(e)){let t=e.mnemonic;m=(0,u.arrayify)((0,l.mnemonicToEntropy)(t.phrase,t.locale||"en")),b=t.path||l.defaultPath,g=t.locale||"en"}let w=n.client;w||(w="ethers.js");let A=null;A=n.salt?(0,u.arrayify)(n.salt):(0,f.randomBytes)(32);let E=null;if(n.iv){if(16!==(E=(0,u.arrayify)(n.iv)).length)throw Error("invalid iv")}else E=(0,f.randomBytes)(16);let x=null;if(n.uuid){if(16!==(x=(0,u.arrayify)(n.uuid)).length)throw Error("invalid uuid")}else x=(0,f.randomBytes)(16);let M=131072,T=8,C=1;return n.scrypt&&(n.scrypt.N&&(M=n.scrypt.N),n.scrypt.r&&(T=n.scrypt.r),n.scrypt.p&&(C=n.scrypt.p)),t(s).scrypt(h,A,M,T,C,64,a).then(r=>{r=(0,u.arrayify)(r);let n=r.slice(0,16),a=r.slice(16,32),s=r.slice(32,64),o=new(t(i)).Counter(E),l=new(t(i)).ModeOfOperation.ctr(n,o),h=(0,u.arrayify)(l.encrypt(d)),p=(0,c.keccak256)((0,u.concat)([a,h])),v={address:e.address.substring(2).toLowerCase(),id:(0,y.uuidV4)(x),version:3,crypto:{cipher:"aes-128-ctr",cipherparams:{iv:(0,u.hexlify)(E).substring(2)},ciphertext:(0,u.hexlify)(h).substring(2),kdf:"scrypt",kdfparams:{salt:(0,u.hexlify)(A).substring(2),n:M,dklen:32,p:C,r:T},mac:p.substring(2)}};if(m){let e=(0,f.randomBytes)(16),r=new(t(i)).Counter(e),n=new(t(i)).ModeOfOperation.ctr(s,r),a=(0,u.arrayify)(n.encrypt(m)),o=new Date,l=o.getUTCFullYear()+"-"+(0,y.zpad)(o.getUTCMonth()+1,2)+"-"+(0,y.zpad)(o.getUTCDate(),2)+"T"+(0,y.zpad)(o.getUTCHours(),2)+"-"+(0,y.zpad)(o.getUTCMinutes(),2)+"-"+(0,y.zpad)(o.getUTCSeconds(),2)+".0Z";v["x-ethers"]={client:w,gethFilename:"UTC--"+l+"--"+v.address,mnemonicCounter:(0,u.hexlify)(e).substring(2),mnemonicCiphertext:(0,u.hexlify)(a).substring(2),path:b,locale:g,version:"0.1"}}return JSON.stringify(v)})}}),a.register("innAd",function(e,t){"use strict";!function(t){function r(e){let t=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]),r=1779033703,n=3144134277,i=1013904242,a=2773480762,s=1359893119,o=2600822924,u=528734635,l=1541459225,c=new Uint32Array(64);function d(e){let d=0,f=e.length;for(;f>=64;){let h=r,p=n,y=i,m=a,b=s,g=o,v=u,w=l,A,E,x,M,T;for(E=0;E<16;E++)x=d+4*E,c[E]=(255&e[x])<<24|(255&e[x+1])<<16|(255&e[x+2])<<8|255&e[x+3];for(E=16;E<64;E++)M=((A=c[E-2])>>>17|A<<15)^(A>>>19|A<<13)^A>>>10,T=((A=c[E-15])>>>7|A<<25)^(A>>>18|A<<14)^A>>>3,c[E]=(M+c[E-7]|0)+(T+c[E-16]|0)|0;for(E=0;E<64;E++)M=(((b>>>6|b<<26)^(b>>>11|b<<21)^(b>>>25|b<<7))+(b&g^~b&v)|0)+(w+(t[E]+c[E]|0)|0)|0,T=((h>>>2|h<<30)^(h>>>13|h<<19)^(h>>>22|h<<10))+(h&p^h&y^p&y)|0,w=v,v=g,g=b,b=m+M|0,m=y,y=p,p=h,h=M+T|0;r=r+h|0,n=n+p|0,i=i+y|0,a=a+m|0,s=s+b|0,o=o+g|0,u=u+v|0,l=l+w|0,d+=64,f-=64}}d(e);let f,h=e.length%64,p=e.length/536870912|0,y=e.length<<3,m=h<56?56:120,b=e.slice(e.length-h,e.length);for(b.push(128),f=h+1;f>>24&255),b.push(p>>>16&255),b.push(p>>>8&255),b.push(p>>>0&255),b.push(y>>>24&255),b.push(y>>>16&255),b.push(y>>>8&255),b.push(y>>>0&255),d(b),[r>>>24&255,r>>>16&255,r>>>8&255,r>>>0&255,n>>>24&255,n>>>16&255,n>>>8&255,n>>>0&255,i>>>24&255,i>>>16&255,i>>>8&255,i>>>0&255,a>>>24&255,a>>>16&255,a>>>8&255,a>>>0&255,s>>>24&255,s>>>16&255,s>>>8&255,s>>>0&255,o>>>24&255,o>>>16&255,o>>>8&255,o>>>0&255,u>>>24&255,u>>>16&255,u>>>8&255,u>>>0&255,l>>>24&255,l>>>16&255,l>>>8&255,l>>>0&255]}function n(e,t,n){let i;e=e.length<=64?e:r(e);let a=64+t.length+4,s=Array(a),o=Array(64),u=[];for(i=0;i<64;i++)s[i]=54;for(i=0;i=a-4;e--){if(s[e]++,s[e]<=255)return;s[e]=0}}for(;n>=32;)l(),u=u.concat(r(o.concat(r(s)))),n-=32;return n>0&&(l(),u=u.concat(r(o.concat(r(s))).slice(0,n))),u}function i(e,t,r,n,i){let u;for(o(e,(2*r-1)*16,i,0,16),u=0;u<2*r;u++)s(e,16*u,i,16),function(e,t){o(e,0,t,0,16);for(let e=8;e>0;e-=2)t[4]^=a(t[0]+t[12],7),t[8]^=a(t[4]+t[0],9),t[12]^=a(t[8]+t[4],13),t[0]^=a(t[12]+t[8],18),t[9]^=a(t[5]+t[1],7),t[13]^=a(t[9]+t[5],9),t[1]^=a(t[13]+t[9],13),t[5]^=a(t[1]+t[13],18),t[14]^=a(t[10]+t[6],7),t[2]^=a(t[14]+t[10],9),t[6]^=a(t[2]+t[14],13),t[10]^=a(t[6]+t[2],18),t[3]^=a(t[15]+t[11],7),t[7]^=a(t[3]+t[15],9),t[11]^=a(t[7]+t[3],13),t[15]^=a(t[11]+t[7],18),t[1]^=a(t[0]+t[3],7),t[2]^=a(t[1]+t[0],9),t[3]^=a(t[2]+t[1],13),t[0]^=a(t[3]+t[2],18),t[6]^=a(t[5]+t[4],7),t[7]^=a(t[6]+t[5],9),t[4]^=a(t[7]+t[6],13),t[5]^=a(t[4]+t[7],18),t[11]^=a(t[10]+t[9],7),t[8]^=a(t[11]+t[10],9),t[9]^=a(t[8]+t[11],13),t[10]^=a(t[9]+t[8],18),t[12]^=a(t[15]+t[14],7),t[13]^=a(t[12]+t[15],9),t[14]^=a(t[13]+t[12],13),t[15]^=a(t[14]+t[13],18);for(let r=0;r<16;++r)e[r]+=t[r]}(i,n),o(i,0,e,t+16*u,16);for(u=0;u>>32-t}function s(e,t,r,n){for(let i=0;i=256)return!1}return!0}function l(e,t){if("number"!=typeof e||e%1)throw Error("invalid "+t);return e}function c(e,t,r,a,c,d,f){let h;if(r=l(r,"N"),a=l(a,"r"),c=l(c,"p"),d=l(d,"dkLen"),0===r||(r&r-1)!=0)throw Error("N must be power of 2");if(r>2147483647/128/a)throw Error("N too large");if(a>2147483647/128/c)throw Error("r too large");if(!u(e))throw Error("password must be an array or buffer");if(e=Array.prototype.slice.call(e),!u(t))throw Error("salt must be an array or buffer");let p=n(e,t=Array.prototype.slice.call(t),128*c*a),y=new Uint32Array(32*c*a);for(let e=0;eS&&(t=S);for(let e=0;eS&&(t=S);for(let e=0;e>0&255),p.push(y[e]>>8&255),p.push(y[e]>>16&255),p.push(y[e]>>24&255);let u=n(e,p,d);return f&&f(null,1,u),u}f&&B(F)};if(!f)for(;;){let e=F();if(void 0!=e)return e}F()}let d={scrypt:function(e,t,r,n,i,a,s){return new Promise(function(o,u){let l=0;s&&s(0),c(e,t,r,n,i,a,function(e,t,r){if(e)u(e);else if(r)s&&1!==l&&s(1),o(new Uint8Array(r));else if(s&&t!==l)return l=t,s(t)})})},syncScrypt:function(e,t,r,n,i,a){return new Uint8Array(c(e,t,r,n,i,a))}};void 0!==e.exports?e.exports=d:"function"==typeof define&&define.amd?define(d):t&&(t.scrypt&&(t._scrypt=t.scrypt),t.scrypt=d)}(e.exports)}),a.register("jh8UA",function(t,r){e(t.exports,"version",()=>n);let n="wallet/5.7.0"}),a.register("6BV0e",function(t,r){e(t.exports,"_fetchData",()=>p),e(t.exports,"fetchJson",()=>y),e(t.exports,"poll",()=>m);"use strict";var n=a("2vfMQ"),i=a("aBzgs"),s=a("e72ut"),o=a("fkVsY"),u=a("d1hml"),l=a("5GnFG"),c=a("9q8rY");let d=new u.Logger(l.version);function f(e){return new Promise(t=>{setTimeout(t,e)})}function h(e,t){if(null==e)return null;if("string"==typeof e)return e;if((0,i.isBytesLike)(e)){if(t&&("text"===t.split("/")[0]||"application/json"===t.split(";")[0].trim()))try{return(0,o.toUtf8String)(e)}catch(e){}return(0,i.hexlify)(e)}return e}function p(e,t,r){let i="object"==typeof e&&null!=e.throttleLimit?e.throttleLimit:12;d.assertArgument(i>0&&i%1==0,"invalid connection throttle limit","connection.throttleLimit",i);let a="object"==typeof e?e.throttleCallback:null,l="object"==typeof e&&"number"==typeof e.throttleSlotInterval?e.throttleSlotInterval:100;d.assertArgument(l>0&&l%1==0,"invalid connection throttle slot interval","connection.throttleSlotInterval",l);let p="object"==typeof e&&!!e.errorPassThrough,y={},m=null,b={method:"GET"},g=!1,v=12e4;if("string"==typeof e)m=e;else if("object"==typeof e){if((null==e||null==e.url)&&d.throwArgumentError("missing URL","connection.url",e),m=e.url,"number"==typeof e.timeout&&e.timeout>0&&(v=e.timeout),e.headers)for(let t in e.headers)y[t.toLowerCase()]={key:t,value:String(e.headers[t])},["if-none-match","if-modified-since"].indexOf(t.toLowerCase())>=0&&(g=!0);if(b.allowGzip=!!e.allowGzip,null!=e.user&&null!=e.password){"https:"!==m.substring(0,6)&&!0!==e.allowInsecureAuthentication&&d.throwError("basic authentication requires a secure https url",u.Logger.errors.INVALID_ARGUMENT,{argument:"url",url:m,user:e.user,password:"[REDACTED]"});let t=e.user+":"+e.password;y.authorization={key:"Authorization",value:"Basic "+(0,n.encode)((0,o.toUtf8Bytes)(t))}}null!=e.skipFetchSetup&&(b.skipFetchSetup=!!e.skipFetchSetup),null!=e.fetchOptions&&(b.fetchOptions=(0,s.shallowCopy)(e.fetchOptions))}let w=RegExp("^data:([^;:]*)?(;base64)?,(.*)$","i"),A=m?m.match(w):null;if(A)try{var E;let e={statusCode:200,statusMessage:"OK",headers:{"content-type":A[1]||"text/plain"},body:A[2]?(0,n.decode)(A[3]):(E=A[3],(0,o.toUtf8Bytes)(E.replace(/%([0-9a-f][0-9a-f])/gi,(e,t)=>String.fromCharCode(parseInt(t,16)))))},t=e.body;return r&&(t=r(e.body,e)),Promise.resolve(t)}catch(e){d.throwError("processing response error",u.Logger.errors.SERVER_ERROR,{body:h(A[1],A[2]),error:e,requestBody:null,requestMethod:"GET",url:m})}t&&(b.method="POST",b.body=t,null==y["content-type"]&&(y["content-type"]={key:"Content-Type",value:"application/octet-stream"}),null==y["content-length"]&&(y["content-length"]={key:"Content-Length",value:String(t.length)}));let x={};Object.keys(y).forEach(e=>{let t=y[e];x[t.key]=t.value}),b.headers=x;let M=function(){let e=null,t=new Promise(function(t,r){v&&(e=setTimeout(()=>{null!=e&&(e=null,r(d.makeError("timeout",u.Logger.errors.TIMEOUT,{requestBody:h(b.body,x["content-type"]),requestMethod:b.method,timeout:v,url:m})))},v))});return{promise:t,cancel:function(){null!=e&&(clearTimeout(e),e=null)}}}(),T=function(){var e,t,n,s;return e=this,t=void 0,n=void 0,s=function*(){for(let e=0;e=300)&&(M.cancel(),d.throwError("bad response",u.Logger.errors.SERVER_ERROR,{status:t.statusCode,headers:t.headers,body:h(n,t.headers?t.headers["content-type"]:null),requestBody:h(b.body,x["content-type"]),requestMethod:b.method,url:m})),r)try{let e=yield r(n,t);return M.cancel(),e}catch(r){if(r.throttleRetry&&e"content-type"===e.toLowerCase()).length;e||(r.headers=(0,s.shallowCopy)(r.headers),r.headers["content-type"]="application/json")}else r.headers={"content-type":"application/json"};e=r}return p(e,n,(e,t)=>{let n=null;if(null!=e)try{n=JSON.parse((0,o.toUtf8String)(e))}catch(t){d.throwError("invalid JSON",u.Logger.errors.SERVER_ERROR,{body:e,error:t})}return r&&(n=r(n,t)),n})}function m(e,t){return t||(t={}),null==(t=(0,s.shallowCopy)(t)).floor&&(t.floor=0),null==t.ceiling&&(t.ceiling=1e4),null==t.interval&&(t.interval=250),new Promise(function(r,n){let i=null,a=!1,s=()=>!a&&(a=!0,i&&clearTimeout(i),!0);t.timeout&&(i=setTimeout(()=>{s()&&n(Error("timeout"))},t.timeout));let o=t.retryLimit,u=0;!function i(){return e().then(function(e){if(void 0!==e)s()&&r(e);else if(t.oncePoll)t.oncePoll.once("poll",i);else if(t.onceBlock)t.onceBlock.once("block",i);else if(!a){if(++u>o){s()&&n(Error("retry limit reached"));return}let e=t.interval*parseInt(String(Math.random()*Math.pow(2,u)));et.ceiling&&(e=t.ceiling),setTimeout(i,e)}return null},function(e){s()&&n(e)})}()})}}),a.register("5GnFG",function(t,r){e(t.exports,"version",()=>n);let n="web/5.7.1"}),a.register("9q8rY",function(t,r){e(t.exports,"getUrl",()=>i);var n=a("aBzgs");"use strict";function i(e,t){var r,i,a,s;return r=this,i=void 0,a=void 0,s=function*(){null==t&&(t={});let r={method:t.method||"GET",headers:t.headers||{},body:t.body||void 0};if(!0!==t.skipFetchSetup&&(r.mode="cors",r.cache="no-cache",r.credentials="same-origin",r.redirect="follow",r.referrer="client"),null!=t.fetchOptions){let e=t.fetchOptions;e.mode&&(r.mode=e.mode),e.cache&&(r.cache=e.cache),e.credentials&&(r.credentials=e.credentials),e.redirect&&(r.redirect=e.redirect),e.referrer&&(r.referrer=e.referrer)}let i=yield fetch(e,r),a=yield i.arrayBuffer(),s={};return i.headers.forEach?i.headers.forEach((e,t)=>{s[t.toLowerCase()]=e}):i.headers.keys().forEach(e=>{s[e.toLowerCase()]=i.headers.get(e)}),{headers:s,statusCode:i.status,statusMessage:i.statusText,body:(0,n.arrayify)(new Uint8Array(a))}},new(a||(a=Promise))(function(e,t){function n(e){try{u(s.next(e))}catch(e){t(e)}}function o(e){try{u(s.throw(e))}catch(e){t(e)}}function u(t){var r;t.done?e(t.value):((r=t.value)instanceof a?r:new a(function(e){e(r)})).then(n,o)}u((s=s.apply(r,i||[])).next())})}}),a.register("8Nuj2",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Proxy_factory__factory=void 0;var r=a("fP04X"),n=a("1f1He");let i=[{constant:!1,inputs:[{name:"_mastercopy",type:"address"},{name:"initializer",type:"bytes"},{name:"saltNonce",type:"uint256"}],name:"createProxyWithNonce",outputs:[{name:"proxy",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"proxyCreationCode",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!1,inputs:[{name:"masterCopy",type:"address"},{name:"data",type:"bytes"}],name:"createProxy",outputs:[{name:"proxy",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"proxyRuntimeCode",outputs:[{name:"",type:"bytes"}],payable:!1,stateMutability:"pure",type:"function"},{anonymous:!1,inputs:[{indexed:!1,name:"proxy",type:"address"}],name:"ProxyCreation",type:"event"}];class s{static createInterface(){return new n.Interface(i)}static connect(e,t){return new r.Contract(e,i,t)}}e.exports.Proxy_factory__factory=s,s.abi=i}),a.register("82Wpd",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Gnosis_safe__factory=void 0;var r=a("fP04X"),n=a("1f1He");let i=[{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"AddedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"approvedHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"ApproveHash",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"masterCopy",type:"address"}],name:"ChangedMasterCopy",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"}],name:"ChangedThreshold",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract Module",name:"module",type:"address"}],name:"DisabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract Module",name:"module",type:"address"}],name:"EnabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"RemovedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"msgHash",type:"bytes32"}],name:"SignMsg",type:"event"},{payable:!0,stateMutability:"payable",type:"fallback"},{constant:!0,inputs:[],name:"NAME",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"addOwnerWithThreshold",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"approvedHashes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_masterCopy",type:"address"}],name:"changeMasterCopy",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"changeThreshold",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"contract Module",name:"prevModule",type:"address"},{internalType:"contract Module",name:"module",type:"address"}],name:"disableModule",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"contract Module",name:"module",type:"address"}],name:"enableModule",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModule",outputs:[{internalType:"bool",name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModuleReturnData",outputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getModules",outputs:[{internalType:"address[]",name:"",type:"address[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"start",type:"address"},{internalType:"uint256",name:"pageSize",type:"uint256"}],name:"getModulesPaginated",outputs:[{internalType:"address[]",name:"array",type:"address[]"},{internalType:"address",name:"next",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOwners",outputs:[{internalType:"address[]",name:"",type:"address[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"removeOwner",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"handler",type:"address"}],name:"setFallbackHandler",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"signedMessages",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"oldOwner",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"swapOwner",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address[]",name:"_owners",type:"address[]"},{internalType:"uint256",name:"_threshold",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"address",name:"fallbackHandler",type:"address"},{internalType:"address",name:"paymentToken",type:"address"},{internalType:"uint256",name:"payment",type:"uint256"},{internalType:"address payable",name:"paymentReceiver",type:"address"}],name:"setup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address payable",name:"refundReceiver",type:"address"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"execTransaction",outputs:[{internalType:"bool",name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"requiredTxGas",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"bytes32",name:"hashToApprove",type:"bytes32"}],name:"approveHash",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"signMessage",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"bytes",name:"_data",type:"bytes"},{internalType:"bytes",name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"bytes",name:"message",type:"bytes"}],name:"getMessageHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"encodeTransactionData",outputs:[{internalType:"bytes",name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"}];class s{static createInterface(){return new n.Interface(i)}static connect(e,t){return new r.Contract(e,i,t)}}e.exports.Gnosis_safe__factory=s,s.abi=i}),a.register("d6MDD",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Multi_send__factory=void 0;var r=a("fP04X"),n=a("1f1He");let i=[{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{constant:!1,inputs:[{internalType:"bytes",name:"transactions",type:"bytes"}],name:"multiSend",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"}];class s{static createInterface(){return new n.Interface(i)}static connect(e,t){return new r.Contract(e,i,t)}}e.exports.Multi_send__factory=s,s.abi=i}),a.register("3o2CW",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Proxy_factory__factory=void 0;var r=a("fP04X"),n=a("1f1He");let i=[{anonymous:!1,inputs:[{indexed:!1,internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],name:"ProxyCreation",type:"event"},{constant:!1,inputs:[{internalType:"address",name:"masterCopy",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"createProxy",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"proxyRuntimeCode",outputs:[{internalType:"bytes",name:"",type:"bytes"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!0,inputs:[],name:"proxyCreationCode",outputs:[{internalType:"bytes",name:"",type:"bytes"}],payable:!1,stateMutability:"pure",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_mastercopy",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"}],name:"createProxyWithNonce",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_mastercopy",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"},{internalType:"contract IProxyCreationCallback",name:"callback",type:"address"}],name:"createProxyWithCallback",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_mastercopy",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"}],name:"calculateCreateProxyWithNonceAddress",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],payable:!1,stateMutability:"nonpayable",type:"function"}];class s{static createInterface(){return new n.Interface(i)}static connect(e,t){return new r.Contract(e,i,t)}}e.exports.Proxy_factory__factory=s,s.abi=i}),a.register("dcuKN",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Gnosis_safe__factory=void 0;var r=a("fP04X"),n=a("1f1He");let i=[{inputs:[],payable:!1,stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"AddedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"approvedHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"ApproveHash",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"masterCopy",type:"address"}],name:"ChangedMasterCopy",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"}],name:"ChangedThreshold",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract Module",name:"module",type:"address"}],name:"DisabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"contract Module",name:"module",type:"address"}],name:"EnabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"RemovedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"msgHash",type:"bytes32"}],name:"SignMsg",type:"event"},{payable:!0,stateMutability:"payable",type:"fallback"},{constant:!0,inputs:[],name:"NAME",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"addOwnerWithThreshold",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"approvedHashes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"_masterCopy",type:"address"}],name:"changeMasterCopy",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"changeThreshold",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"contract Module",name:"prevModule",type:"address"},{internalType:"contract Module",name:"module",type:"address"}],name:"disableModule",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"contract Module",name:"module",type:"address"}],name:"enableModule",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModule",outputs:[{internalType:"bool",name:"success",type:"bool"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModuleReturnData",outputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[],name:"getModules",outputs:[{internalType:"address[]",name:"",type:"address[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"start",type:"address"},{internalType:"uint256",name:"pageSize",type:"uint256"}],name:"getModulesPaginated",outputs:[{internalType:"address[]",name:"array",type:"address[]"},{internalType:"address",name:"next",type:"address"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getOwners",outputs:[{internalType:"address[]",name:"",type:"address[]"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"getThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"contract Module",name:"module",type:"address"}],name:"isModuleEnabled",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"owner",type:"address"}],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"removeOwner",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"handler",type:"address"}],name:"setFallbackHandler",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"signedMessages",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"view",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"oldOwner",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"swapOwner",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address[]",name:"_owners",type:"address[]"},{internalType:"uint256",name:"_threshold",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"address",name:"fallbackHandler",type:"address"},{internalType:"address",name:"paymentToken",type:"address"},{internalType:"uint256",name:"payment",type:"uint256"},{internalType:"address payable",name:"paymentReceiver",type:"address"}],name:"setup",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address payable",name:"refundReceiver",type:"address"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"execTransaction",outputs:[{internalType:"bool",name:"success",type:"bool"}],payable:!0,stateMutability:"payable",type:"function"},{constant:!1,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"requiredTxGas",outputs:[{internalType:"uint256",name:"",type:"uint256"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"bytes32",name:"hashToApprove",type:"bytes32"}],name:"approveHash",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"signMessage",outputs:[],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!1,inputs:[{internalType:"bytes",name:"_data",type:"bytes"},{internalType:"bytes",name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],payable:!1,stateMutability:"nonpayable",type:"function"},{constant:!0,inputs:[{internalType:"bytes",name:"message",type:"bytes"}],name:"getMessageHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"encodeTransactionData",outputs:[{internalType:"bytes",name:"",type:"bytes"}],payable:!1,stateMutability:"view",type:"function"},{constant:!0,inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],payable:!1,stateMutability:"view",type:"function"}];class s{static createInterface(){return new n.Interface(i)}static connect(e,t){return new r.Contract(e,i,t)}}e.exports.Gnosis_safe__factory=s,s.abi=i}),a.register("7KTUJ",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Compatibility_fallback_handler__factory=void 0;var r=a("fP04X"),n=a("1f1He");let i=[{inputs:[],name:"NAME",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"message",type:"bytes"}],name:"getMessageHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"contract GnosisSafe",name:"safe",type:"address"},{internalType:"bytes",name:"message",type:"bytes"}],name:"getMessageHashForSafe",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"getModules",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"_dataHash",type:"bytes32"},{internalType:"bytes",name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"},{internalType:"bytes",name:"_signature",type:"bytes"}],name:"isValidSignature",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"uint256[]",name:"",type:"uint256[]"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155BatchReceived",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC1155Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"}],name:"onERC721Received",outputs:[{internalType:"bytes4",name:"",type:"bytes4"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"address",name:"targetContract",type:"address"},{internalType:"bytes",name:"calldataPayload",type:"bytes"}],name:"simulate",outputs:[{internalType:"bytes",name:"response",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"address",name:"",type:"address"},{internalType:"uint256",name:"",type:"uint256"},{internalType:"bytes",name:"",type:"bytes"},{internalType:"bytes",name:"",type:"bytes"}],name:"tokensReceived",outputs:[],stateMutability:"pure",type:"function"}];class s{static createInterface(){return new n.Interface(i)}static connect(e,t){return new r.Contract(e,i,t)}}e.exports.Compatibility_fallback_handler__factory=s,s.abi=i}),a.register("jFirz",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Gnosis_safe__factory=void 0;var r=a("fP04X"),n=a("1f1He");let i=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"AddedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"approvedHash",type:"bytes32"},{indexed:!0,internalType:"address",name:"owner",type:"address"}],name:"ApproveHash",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"handler",type:"address"}],name:"ChangedFallbackHandler",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"guard",type:"address"}],name:"ChangedGuard",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"}],name:"ChangedThreshold",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"module",type:"address"}],name:"DisabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"module",type:"address"}],name:"EnabledModule",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleFailure",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"module",type:"address"}],name:"ExecutionFromModuleSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"bytes32",name:"txHash",type:"bytes32"},{indexed:!1,internalType:"uint256",name:"payment",type:"uint256"}],name:"ExecutionSuccess",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"owner",type:"address"}],name:"RemovedOwner",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"SafeReceived",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"initiator",type:"address"},{indexed:!1,internalType:"address[]",name:"owners",type:"address[]"},{indexed:!1,internalType:"uint256",name:"threshold",type:"uint256"},{indexed:!1,internalType:"address",name:"initializer",type:"address"},{indexed:!1,internalType:"address",name:"fallbackHandler",type:"address"}],name:"SafeSetup",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"msgHash",type:"bytes32"}],name:"SignMsg",type:"event"},{stateMutability:"nonpayable",type:"fallback"},{inputs:[],name:"VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"addOwnerWithThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"hashToApprove",type:"bytes32"}],name:"approveHash",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"},{internalType:"bytes32",name:"",type:"bytes32"}],name:"approvedHashes",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"changeThreshold",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"dataHash",type:"bytes32"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signatures",type:"bytes"},{internalType:"uint256",name:"requiredSignatures",type:"uint256"}],name:"checkNSignatures",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"dataHash",type:"bytes32"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"checkSignatures",outputs:[],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"prevModule",type:"address"},{internalType:"address",name:"module",type:"address"}],name:"disableModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"domainSeparator",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"module",type:"address"}],name:"enableModule",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"encodeTransactionData",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address payable",name:"refundReceiver",type:"address"},{internalType:"bytes",name:"signatures",type:"bytes"}],name:"execTransaction",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"payable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModule",outputs:[{internalType:"bool",name:"success",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"execTransactionFromModuleReturnData",outputs:[{internalType:"bool",name:"success",type:"bool"},{internalType:"bytes",name:"returnData",type:"bytes"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"getChainId",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"start",type:"address"},{internalType:"uint256",name:"pageSize",type:"uint256"}],name:"getModulesPaginated",outputs:[{internalType:"address[]",name:"array",type:"address[]"},{internalType:"address",name:"next",type:"address"}],stateMutability:"view",type:"function"},{inputs:[],name:"getOwners",outputs:[{internalType:"address[]",name:"",type:"address[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"offset",type:"uint256"},{internalType:"uint256",name:"length",type:"uint256"}],name:"getStorageAt",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"view",type:"function"},{inputs:[],name:"getThreshold",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"},{internalType:"uint256",name:"safeTxGas",type:"uint256"},{internalType:"uint256",name:"baseGas",type:"uint256"},{internalType:"uint256",name:"gasPrice",type:"uint256"},{internalType:"address",name:"gasToken",type:"address"},{internalType:"address",name:"refundReceiver",type:"address"},{internalType:"uint256",name:"_nonce",type:"uint256"}],name:"getTransactionHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"module",type:"address"}],name:"isModuleEnabled",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"}],name:"isOwner",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"nonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"owner",type:"address"},{internalType:"uint256",name:"_threshold",type:"uint256"}],name:"removeOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"enum Enum.Operation",name:"operation",type:"uint8"}],name:"requiredTxGas",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"handler",type:"address"}],name:"setFallbackHandler",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"guard",type:"address"}],name:"setGuard",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address[]",name:"_owners",type:"address[]"},{internalType:"uint256",name:"_threshold",type:"uint256"},{internalType:"address",name:"to",type:"address"},{internalType:"bytes",name:"data",type:"bytes"},{internalType:"address",name:"fallbackHandler",type:"address"},{internalType:"address",name:"paymentToken",type:"address"},{internalType:"uint256",name:"payment",type:"uint256"},{internalType:"address payable",name:"paymentReceiver",type:"address"}],name:"setup",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"",type:"bytes32"}],name:"signedMessages",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"targetContract",type:"address"},{internalType:"bytes",name:"calldataPayload",type:"bytes"}],name:"simulateAndRevert",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"prevOwner",type:"address"},{internalType:"address",name:"oldOwner",type:"address"},{internalType:"address",name:"newOwner",type:"address"}],name:"swapOwner",outputs:[],stateMutability:"nonpayable",type:"function"},{stateMutability:"payable",type:"receive"}];class s{static createInterface(){return new n.Interface(i)}static connect(e,t){return new r.Contract(e,i,t)}}e.exports.Gnosis_safe__factory=s,s.abi=i}),a.register("99eEw",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Multi_send_call_only__factory=void 0;var r=a("fP04X"),n=a("1f1He");let i=[{inputs:[{internalType:"bytes",name:"transactions",type:"bytes"}],name:"multiSend",outputs:[],stateMutability:"payable",type:"function"}];class s{static createInterface(){return new n.Interface(i)}static connect(e,t){return new r.Contract(e,i,t)}}e.exports.Multi_send_call_only__factory=s,s.abi=i}),a.register("2NOmM",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Multi_send__factory=void 0;var r=a("fP04X"),n=a("1f1He");let i=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[{internalType:"bytes",name:"transactions",type:"bytes"}],name:"multiSend",outputs:[],stateMutability:"payable",type:"function"}];class s{static createInterface(){return new n.Interface(i)}static connect(e,t){return new r.Contract(e,i,t)}}e.exports.Multi_send__factory=s,s.abi=i}),a.register("51bJz",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Proxy_factory__factory=void 0;var r=a("fP04X"),n=a("1f1He");let i=[{anonymous:!1,inputs:[{indexed:!1,internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"},{indexed:!1,internalType:"address",name:"singleton",type:"address"}],name:"ProxyCreation",type:"event"},{inputs:[{internalType:"address",name:"_singleton",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"}],name:"calculateCreateProxyWithNonceAddress",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"singleton",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"createProxy",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_singleton",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"},{internalType:"contract IProxyCreationCallback",name:"callback",type:"address"}],name:"createProxyWithCallback",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"_singleton",type:"address"},{internalType:"bytes",name:"initializer",type:"bytes"},{internalType:"uint256",name:"saltNonce",type:"uint256"}],name:"createProxyWithNonce",outputs:[{internalType:"contract GnosisSafeProxy",name:"proxy",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"proxyCreationCode",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"},{inputs:[],name:"proxyRuntimeCode",outputs:[{internalType:"bytes",name:"",type:"bytes"}],stateMutability:"pure",type:"function"}];class s{static createInterface(){return new n.Interface(i)}static connect(e,t){return new r.Contract(e,i,t)}}e.exports.Proxy_factory__factory=s,s.abi=i}),a.register("j9o7h",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Sign_message_lib__factory=void 0;var r=a("fP04X"),n=a("1f1He");let i=[{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"msgHash",type:"bytes32"}],name:"SignMsg",type:"event"},{inputs:[{internalType:"bytes",name:"message",type:"bytes"}],name:"getMessageHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes",name:"_data",type:"bytes"}],name:"signMessage",outputs:[],stateMutability:"nonpayable",type:"function"}];class s{static createInterface(){return new n.Interface(i)}static connect(e,t){return new r.Contract(e,i,t)}}e.exports.Sign_message_lib__factory=s,s.abi=i}),a.register("2Vt7J",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.Create_call__factory=void 0;var r=a("fP04X"),n=a("1f1He");let i=[{anonymous:!1,inputs:[{indexed:!1,internalType:"address",name:"newContract",type:"address"}],name:"ContractCreation",type:"event"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"deploymentData",type:"bytes"}],name:"performCreate",outputs:[{internalType:"address",name:"newContract",type:"address"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"value",type:"uint256"},{internalType:"bytes",name:"deploymentData",type:"bytes"},{internalType:"bytes32",name:"salt",type:"bytes32"}],name:"performCreate2",outputs:[{internalType:"address",name:"newContract",type:"address"}],stateMutability:"nonpayable",type:"function"}];class s{static createInterface(){return new n.Interface(i)}static connect(e,t){return new r.Contract(e,i,t)}}e.exports.Create_call__factory=s,s.abi=i}),a.register("2vrlu",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("kPasH"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("kPasH",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.default=class{constructor(e){this.contract=e,this.encode=(e,t)=>this.contract.interface.encodeFunctionData(e,t)}getAddress(){return this.contract.address}}}),a.register("dBXlG",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("5UmCz"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("fv2IJ",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});var n=a("hy3vM"),i=a("h3YQx");let s=r(a("i0h9t"));class o extends s.default{constructor(e){super(e),this.contract=e}async setup(e,t){let{owners:r,threshold:a,to:s=n.ZERO_ADDRESS,data:o=n.EMPTY_DATA,paymentToken:u=n.ZERO_ADDRESS,payment:l=0,paymentReceiver:c=n.ZERO_ADDRESS}=e;t&&!t.gasLimit&&(t.gasLimit=await this.estimateGas("setup",[r,a,s,o,u,l,c],{...t}));let d=await this.contract.setup(r,a,s,o,u,l,c,t);return(0,i.toTxResult)(d,t)}async getModules(){return this.contract.getModules()}async isModuleEnabled(e){let t=await this.getModules(),r=t.some(t=>(0,i.sameString)(t,e));return r}}e.exports.default=o}),a.register("hy3vM",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.SENTINEL_ADDRESS=e.exports.EMPTY_DATA=e.exports.ZERO_ADDRESS=void 0,e.exports.ZERO_ADDRESS=`0x${"0".repeat(40)}`,e.exports.EMPTY_DATA="0x",e.exports.SENTINEL_ADDRESS="0x0000000000000000000000000000000000000001"}),a.register("8rERv",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});var n=a("hy3vM"),i=a("h3YQx");let s=r(a("i0h9t"));class o extends s.default{constructor(e){super(e),this.contract=e}async setup(e,t){let{owners:r,threshold:a,to:s=n.ZERO_ADDRESS,data:o=n.EMPTY_DATA,fallbackHandler:u=n.ZERO_ADDRESS,paymentToken:l=n.ZERO_ADDRESS,payment:c=0,paymentReceiver:d=n.ZERO_ADDRESS}=e;t&&!t.gasLimit&&(t.gasLimit=await this.estimateGas("setup",[r,a,s,o,u,l,c,d],{...t}));let f=await this.contract.setup(r,a,s,o,u,l,c,d,t);return(0,i.toTxResult)(f,t)}async getModules(){return this.contract.getModules()}async isModuleEnabled(e){let t=await this.getModules(),r=t.some(t=>(0,i.sameString)(t,e));return r}}e.exports.default=o}),a.register("9Zjr6",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});var n=a("h3YQx"),i=a("hy3vM");let s=r(a("i0h9t"));class o extends s.default{constructor(e){super(e),this.contract=e}async setup(e,t){let{owners:r,threshold:a,to:s=i.ZERO_ADDRESS,data:o=i.EMPTY_DATA,fallbackHandler:u=i.ZERO_ADDRESS,paymentToken:l=i.ZERO_ADDRESS,payment:c=0,paymentReceiver:d=i.ZERO_ADDRESS}=e;t&&!t.gasLimit&&(t.gasLimit=await this.estimateGas("setup",[r,a,s,o,u,l,c,d],{...t}));let f=await this.contract.setup(r,a,s,o,u,l,c,d,t);return(0,n.toTxResult)(f,t)}async getModules(){return this.contract.getModules()}async isModuleEnabled(e){return this.contract.isModuleEnabled(e)}}e.exports.default=o}),a.register("4GhFu",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});var n=a("h3YQx"),i=a("hy3vM");let s=r(a("i0h9t"));class o extends s.default{constructor(e){super(e),this.contract=e}async setup(e,t){let{owners:r,threshold:a,to:s=i.ZERO_ADDRESS,data:o=i.EMPTY_DATA,fallbackHandler:u=i.ZERO_ADDRESS,paymentToken:l=i.ZERO_ADDRESS,payment:c=0,paymentReceiver:d=i.ZERO_ADDRESS}=e;t&&!t.gasLimit&&(t.gasLimit=await this.estimateGas("setup",[r,a,s,o,u,l,c,d],{...t}));let f=await this.contract.setup(r,a,s,o,u,l,c,d,t);return(0,n.toTxResult)(f,t)}async getModules(){let{array:e}=await this.contract.getModulesPaginated(i.SENTINEL_ADDRESS,10);return e}async isModuleEnabled(e){return this.contract.isModuleEnabled(e)}}e.exports.default=o}),a.register("4DMxy",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("bITUK"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("AaKBn",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("bITUK"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("7R9Ea",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("bITUK"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("9WYg7",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("gtiOu"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("9ia5V",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("gtiOu"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("e87Wo",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("dTiG3"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("4nbRm",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("8Chaz"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("2cJbS",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0});var r=a("k7Fub");e.exports.default=class{constructor(e){this.contract=e}getAddress(){return this.contract.options.address}async performCreate2(e,t,n,i){i&&!i.gas&&(i.gas=await this.estimateGas("performCreate2",[e,t,n],{...i}));let a=this.contract.methods.performCreate2(e,t,n).send(i);return(0,r.toTxResult)(a,i)}async performCreate(e,t,n){n&&!n.gas&&(n.gas=await this.estimateGas("performCreate",[e,t],{...n}));let i=this.contract.methods.performCreate(e,t).send(n);return(0,r.toTxResult)(i,n)}encode(e,t){return this.contract.methods[e](...t).encodeABI()}async estimateGas(e,t,r){return(await this.contract.methods[e](...t).estimateGas(r)).toString()}}}),a.register("k7Fub",function(e,t){"use strict";async function r(e,t){return new Promise((r,n)=>e.once("transactionHash",n=>r({hash:n,promiEvent:e,options:t})).catch(n))}Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.toTxResult=e.exports.sameString=void 0,e.exports.sameString=function(e,t){return e.toLowerCase()===t.toLowerCase()},e.exports.toTxResult=r}),a.register("hANAo",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0});var r=a("1chjt"),n=a("k7Fub");e.exports.default=class{constructor(e){this.contract=e}async getVersion(){return await this.contract.methods.VERSION().call()}getAddress(){return this.contract.options.address}async getNonce(){return Number(await this.contract.methods.nonce().call())}async getThreshold(){return Number(await this.contract.methods.getThreshold().call())}async getOwners(){return this.contract.methods.getOwners().call()}async isOwner(e){return this.contract.methods.isOwner(e).call()}async getTransactionHash(e){return this.contract.methods.getTransactionHash(e.to,e.value,e.data,e.operation,e.safeTxGas,e.baseGas,e.gasPrice,e.gasToken,e.refundReceiver,e.nonce).call()}async approvedHashes(e,t){return r.BigNumber.from(await this.contract.methods.approvedHashes(e,t).call())}async approveHash(e,t){t&&!t.gas&&(t.gas=await this.estimateGas("approveHash",[e],{...t}));let r=this.contract.methods.approveHash(e).send(t);return(0,n.toTxResult)(r,t)}async isValidTransaction(e,t){let r=!1;try{t&&!t.gas&&(t.gas=await this.estimateGas("execTransaction",[e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures()],{...t})),r=await this.contract.methods.execTransaction(e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures()).call(t)}catch{}return r}async execTransaction(e,t){t&&!t.gas&&(t.gas=await this.estimateGas("execTransaction",[e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures()],{...t}));let r=this.contract.methods.execTransaction(e.data.to,e.data.value,e.data.data,e.data.operation,e.data.safeTxGas,e.data.baseGas,e.data.gasPrice,e.data.gasToken,e.data.refundReceiver,e.encodedSignatures()).send(t);return(0,n.toTxResult)(r,t)}encode(e,t){return this.contract.methods[e](...t).encodeABI()}async estimateGas(e,t,r){return(await this.contract.methods[e](...t).estimateGas(r)).toString()}}}),a.register("6nEbP",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0});var r=a("1chjt"),n=a("k7Fub");e.exports.default=class{constructor(e){this.contract=e}getAddress(){return this.contract.options.address}async proxyCreationCode(){return this.contract.methods.proxyCreationCode().call()}async createProxy({safeMasterCopyAddress:e,initializer:t,saltNonce:i,options:a,callback:s}){var o,u,l;if(r.BigNumber.from(i).lt(0))throw Error("saltNonce must be greater than or equal to 0");a&&!a.gas&&(a.gas=await this.estimateGas("createProxyWithNonce",[e,t,i],{...a}));let c=this.contract.methods.createProxyWithNonce(e,t,i).send(a);if(s){let e=await (0,n.toTxResult)(c);s(e.hash)}let d=await new Promise((e,t)=>c.once("receipt",t=>e(t)).catch(t)),f=null===(l=null===(u=null===(o=d.events)||void 0===o?void 0:o.ProxyCreation)||void 0===u?void 0:u.returnValues)||void 0===l?void 0:l.proxy;if(!f)throw Error("SafeProxy was not deployed correctly");return f}encode(e,t){return this.contract.methods[e](...t).encodeABI()}async estimateGas(e,t,r){return(await this.contract.methods[e](...t).estimateGas(r)).toString()}}}),a.register("1Dllx",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.default=class{constructor(e){this.contract=e}getAddress(){return this.contract.options.address}encode(e,t){return this.contract.methods[e](...t).encodeABI()}}}),a.register("FmGQK",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.default=class{constructor(e){this.contract=e}getAddress(){return this.contract.options.address}encode(e,t){return this.contract.methods[e](...t).encodeABI()}}}),a.register("5fx7W",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0});var r=a("k7Fub");e.exports.default=class{constructor(e){this.contract=e}getAddress(){return this.contract.options.address}async signMessage(e,t){t&&!t.gas&&(t.gas=await this.estimateGas("signMessage",[e],{...t}));let n=this.contract.methods.signMessage(e).send(t);return(0,r.toTxResult)(n,t)}async getMessageHash(e){return this.contract.methods.getMessageHash(e).call()}encode(e,t){return this.contract.methods[e](...t).encodeABI()}async estimateGas(e,t,r){return(await this.contract.methods[e](...t).estimateGas(r)).toString()}}}),a.register("cGWel",function(e,t){"use strict";var r,n,i=e.exports&&e.exports.__classPrivateFieldSet||function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},s=e.exports&&e.exports.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};Object.defineProperty(e.exports,"__esModule",{value:!0});var o=a("1chjt"),u=a("7a7Pr"),l=a("aCowF");r=new WeakMap,n=new WeakMap,e.exports.default=class{constructor({web3:e,signerAddress:t}){if(r.set(this,void 0),n.set(this,void 0),!e)throw Error("web3 property missing from options");i(this,r,e,"f"),i(this,n,t,"f")}isAddress(e){return s(this,r,"f").utils.isAddress(e)}async getEip3770Address(e){let t=await this.getChainId();return(0,u.validateEip3770Address)(e,t)}async getBalance(e,t){let n=t?await s(this,r,"f").eth.getBalance(e,t):await s(this,r,"f").eth.getBalance(e);return o.BigNumber.from(n)}async getNonce(e,t){let n=t?await s(this,r,"f").eth.getTransactionCount(e,t):await s(this,r,"f").eth.getTransactionCount(e);return n}async getChainId(){return s(this,r,"f").eth.getChainId()}getChecksummedAddress(e){return s(this,r,"f").utils.toChecksumAddress(e)}async getSafeContract({safeVersion:e,singletonDeployment:t,customContractAddress:r,customContractAbi:n}){let i=await this.getChainId(),a=null!=r?r:null==t?void 0:t.networkAddresses[i];if(!a)throw Error("Invalid SafeProxy contract address");let s=this.getContract(a,null!=n?n:null==t?void 0:t.abi);return(0,l.getSafeContractInstance)(e,s)}async getSafeProxyFactoryContract({safeVersion:e,singletonDeployment:t,customContractAddress:r,customContractAbi:n}){let i=await this.getChainId(),a=null!=r?r:null==t?void 0:t.networkAddresses[i];if(!a)throw Error("Invalid SafeProxyFactory contract address");let s=this.getContract(a,null!=n?n:null==t?void 0:t.abi);return(0,l.getGnosisSafeProxyFactoryContractInstance)(e,s)}async getMultiSendContract({safeVersion:e,singletonDeployment:t,customContractAddress:r,customContractAbi:n}){let i=await this.getChainId(),a=null!=r?r:null==t?void 0:t.networkAddresses[i];if(!a)throw Error("Invalid MultiSend contract address");let s=this.getContract(a,null!=n?n:null==t?void 0:t.abi);return(0,l.getMultiSendContractInstance)(e,s)}async getMultiSendCallOnlyContract({safeVersion:e,singletonDeployment:t,customContractAddress:r,customContractAbi:n}){let i=await this.getChainId(),a=null!=r?r:null==t?void 0:t.networkAddresses[i];if(!a)throw Error("Invalid MultiSendCallOnly contract address");let s=this.getContract(a,null!=n?n:null==t?void 0:t.abi);return(0,l.getMultiSendCallOnlyContractInstance)(e,s)}async getCompatibilityFallbackHandlerContract({safeVersion:e,singletonDeployment:t,customContractAddress:r,customContractAbi:n}){let i=await this.getChainId(),a=null!=r?r:null==t?void 0:t.networkAddresses[i];if(!a)throw Error("Invalid Compatibility Fallback Handler contract address");let s=this.getContract(a,null!=n?n:null==t?void 0:t.abi);return(0,l.getCompatibilityFallbackHandlerContractInstance)(e,s)}async getSignMessageLibContract({safeVersion:e,singletonDeployment:t,customContractAddress:r,customContractAbi:n}){let i=await this.getChainId(),a=null!=r?r:null==t?void 0:t.networkAddresses[i];if(!a)throw Error("Invalid SignMessageLib contract address");let s=this.getContract(a,null!=n?n:null==t?void 0:t.abi);return(0,l.getSignMessageLibContractInstance)(e,s)}async getCreateCallContract({safeVersion:e,singletonDeployment:t,customContractAddress:r,customContractAbi:n}){let i=await this.getChainId(),a=null!=r?r:null==t?void 0:t.networkAddresses[i];if(!a)throw Error("Invalid CreateCall contract address");let s=this.getContract(a,null!=n?n:null==t?void 0:t.abi);return(0,l.getCreateCallContractInstance)(e,s)}getContract(e,t,n){return new(s(this,r,"f")).eth.Contract(t,e,n)}async getContractCode(e,t){let n=t?await s(this,r,"f").eth.getCode(e,t):await s(this,r,"f").eth.getCode(e);return n}async isContractDeployed(e,t){let r=await this.getContractCode(e,t);return"0x"!==r}async getStorageAt(e,t){let n=await s(this,r,"f").eth.getStorageAt(e,t),i=this.decodeParameters(["address"],n);return i[0]}async getTransaction(e){return s(this,r,"f").eth.getTransaction(e)}async getSignerAddress(){return s(this,n,"f")}signMessage(e){if(!s(this,n,"f"))throw Error("EthAdapter must be initialized with a signer to use this method");return s(this,r,"f").eth.sign(e,s(this,n,"f"))}async signTypedData(e,t){if(!s(this,n,"f"))throw Error("This method requires a signer");let i=(0,u.generateTypedData)(e),a="eth_signTypedData_v3";"v4"===t?a="eth_signTypedData_v4":t||(a="eth_signTypedData");let o=JSON.stringify(i),l={jsonrpc:"2.0",method:a,params:"v3"===t||"v4"===t?[s(this,n,"f"),o]:[o,s(this,n,"f")],from:s(this,n,"f"),id:new Date().getTime()};return new Promise((e,t)=>{let n=s(this,r,"f").currentProvider;n.send(l,function(r,n){if(r){t(r);return}if((null==n?void 0:n.result)==null){t(Error("EIP-712 is not supported by user's wallet"));return}e(n.result)})})}async estimateGas(e,t){return(await s(this,r,"f").eth.estimateGas(e,t)).toString()}call(e,t){return s(this,r,"f").eth.call(e,t)}encodeParameters(e,t){return s(this,r,"f").eth.abi.encodeParameters(e,t)}decodeParameters(e,t){return s(this,r,"f").eth.abi.decodeParameters(e,t)}}}),a.register("aCowF",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.getCreateCallContractInstance=e.exports.getSignMessageLibContractInstance=e.exports.getGnosisSafeProxyFactoryContractInstance=e.exports.getMultiSendCallOnlyContractInstance=e.exports.getMultiSendContractInstance=e.exports.getCompatibilityFallbackHandlerContractInstance=e.exports.getSafeContractInstance=void 0;let n=r(a("jWPg9")),i=r(a("1Xv0R")),s=r(a("977mm")),o=r(a("4UJen")),u=r(a("gUveh")),l=r(a("gsE2G")),c=r(a("lfeo5")),d=r(a("g6BOo")),f=r(a("5wjbn")),h=r(a("63HSr")),p=r(a("fmY10")),y=r(a("byEGJ")),m=r(a("drpEH"));e.exports.getSafeContractInstance=function(e,t){switch(e){case"1.3.0":return new l.default(t);case"1.2.0":return new u.default(t);case"1.1.1":return new o.default(t);case"1.0.0":return new s.default(t);default:throw Error("Invalid Safe version")}},e.exports.getCompatibilityFallbackHandlerContractInstance=function(e,t){switch(e){case"1.3.0":case"1.2.0":case"1.1.1":return new n.default(t);default:throw Error("Invalid Safe version")}},e.exports.getMultiSendContractInstance=function(e,t){switch(e){case"1.3.0":return new p.default(t);case"1.2.0":case"1.1.1":case"1.0.0":return new h.default(t);default:throw Error("Invalid Safe version")}},e.exports.getMultiSendCallOnlyContractInstance=function(e,t){switch(e){case"1.3.0":case"1.2.0":case"1.1.1":case"1.0.0":return new y.default(t);default:throw Error("Invalid Safe version")}},e.exports.getGnosisSafeProxyFactoryContractInstance=function(e,t){switch(e){case"1.3.0":return new f.default(t);case"1.2.0":case"1.1.1":return new d.default(t);case"1.0.0":return new c.default(t);default:throw Error("Invalid Safe version")}},e.exports.getSignMessageLibContractInstance=function(e,t){if("1.3.0"===e)return new m.default(t);throw Error("Invalid Safe version")},e.exports.getCreateCallContractInstance=function(e,t){switch(e){case"1.3.0":case"1.2.0":case"1.1.1":case"1.0.0":return new i.default(t);default:throw Error("Invalid Safe version")}}}),a.register("jWPg9",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("cUPHY"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("cUPHY",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.default=class{constructor(e){this.contract=e}getAddress(){return this.contract.options.address}encode(e,t){return this.contract.methods[e](...t).encodeABI()}}}),a.register("1Xv0R",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("2cJbS"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("977mm",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});var n=a("k7Fub"),i=a("2rUv6");let s=r(a("hANAo"));class o extends s.default{constructor(e){super(e),this.contract=e}async setup(e,t){let{owners:r,threshold:a,to:s=i.ZERO_ADDRESS,data:o=i.EMPTY_DATA,paymentToken:u=i.ZERO_ADDRESS,payment:l=0,paymentReceiver:c=i.ZERO_ADDRESS}=e;t&&!t.gas&&(t.gas=await this.estimateGas("setup",[r,a,s,o,u,l,c],{...t}));let d=this.contract.methods.setup(r,a,s,o,u,l,c).send(t);return(0,n.toTxResult)(d,t)}async getModules(){return this.contract.methods.getModules().call()}async isModuleEnabled(e){let t=await this.getModules(),r=t.some(t=>(0,n.sameString)(t,e));return r}}e.exports.default=o}),a.register("2rUv6",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.SENTINEL_ADDRESS=e.exports.EMPTY_DATA=e.exports.ZERO_ADDRESS=void 0,e.exports.ZERO_ADDRESS=`0x${"0".repeat(40)}`,e.exports.EMPTY_DATA="0x",e.exports.SENTINEL_ADDRESS="0x0000000000000000000000000000000000000001"}),a.register("4UJen",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});var n=a("k7Fub"),i=a("2rUv6");let s=r(a("hANAo"));class o extends s.default{constructor(e){super(e),this.contract=e}async setup(e,t){let{owners:r,threshold:a,to:s=i.ZERO_ADDRESS,data:o=i.EMPTY_DATA,fallbackHandler:u=i.ZERO_ADDRESS,paymentToken:l=i.ZERO_ADDRESS,payment:c=0,paymentReceiver:d=i.ZERO_ADDRESS}=e;t&&!t.gas&&(t.gas=await this.estimateGas("setup",[r,a,s,o,u,l,c,d],{...t}));let f=this.contract.methods.setup(r,a,s,o,u,l,c,d).send(t);return(0,n.toTxResult)(f,t)}async getModules(){return this.contract.methods.getModules().call()}async isModuleEnabled(e){let t=await this.getModules(),r=t.some(t=>(0,n.sameString)(t,e));return r}}e.exports.default=o}),a.register("gUveh",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});var n=a("k7Fub"),i=a("2rUv6");let s=r(a("hANAo"));class o extends s.default{constructor(e){super(e),this.contract=e}async setup(e,t){let{owners:r,threshold:a,to:s=i.ZERO_ADDRESS,data:o=i.EMPTY_DATA,fallbackHandler:u=i.ZERO_ADDRESS,paymentToken:l=i.ZERO_ADDRESS,payment:c=0,paymentReceiver:d=i.ZERO_ADDRESS}=e;t&&!t.gas&&(t.gas=await this.estimateGas("setup",[r,a,s,o,u,l,c,d],{...t}));let f=this.contract.methods.setup(r,a,s,o,u,l,c,d).send(t);return(0,n.toTxResult)(f,t)}async getModules(){return this.contract.methods.getModules().call()}async isModuleEnabled(e){return this.contract.methods.isModuleEnabled(e).call()}}e.exports.default=o}),a.register("gsE2G",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});var n=a("k7Fub"),i=a("2rUv6");let s=r(a("hANAo"));class o extends s.default{constructor(e){super(e),this.contract=e}async setup(e,t){let{owners:r,threshold:a,to:s=i.ZERO_ADDRESS,data:o=i.EMPTY_DATA,fallbackHandler:u=i.ZERO_ADDRESS,paymentToken:l=i.ZERO_ADDRESS,payment:c=0,paymentReceiver:d=i.ZERO_ADDRESS}=e;t&&!t.gas&&(t.gas=await this.estimateGas("setup",[r,a,s,o,u,l,c,d],{...t}));let f=this.contract.methods.setup(r,a,s,o,u,l,c,d).send(t);return(0,n.toTxResult)(f,t)}async getModules(){let{array:e}=await this.contract.methods.getModulesPaginated(i.SENTINEL_ADDRESS,10).call();return e}async isModuleEnabled(e){return this.contract.methods.isModuleEnabled(e).call()}}e.exports.default=o}),a.register("lfeo5",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("6nEbP"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("g6BOo",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("6nEbP"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("5wjbn",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("6nEbP"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("63HSr",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("1Dllx"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("fmY10",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("1Dllx"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("byEGJ",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("FmGQK"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("drpEH",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});let n=r(a("5fx7W"));class i extends n.default{constructor(e){super(e),this.contract=e}}e.exports.default=i}),a.register("hZ9RD",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0})}),a.register("hwOfH",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.getSafeL2SingletonDeployment=e.exports._safeL2Deployments=e.exports.getSafeSingletonDeployment=e.exports._safeDeployments=void 0;let n=r(a("eMSmN")),i=r(a("gI0Ki")),s=r(a("5y93N")),o=r(a("45yDQ")),u=r(a("dCb8U")),l=r(a("jFfSc")),c=r(a("cTlhJ"));var d=a("iaBWx");e.exports._safeDeployments=[i.default,o.default,u.default,l.default,c.default],e.exports.getSafeSingletonDeployment=t=>(0,d.findDeployment)(t,e.exports._safeDeployments),e.exports._safeL2Deployments=[n.default,s.default],e.exports.getSafeL2SingletonDeployment=t=>(0,d.findDeployment)(t,e.exports._safeL2Deployments)}),a.register("eMSmN",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb","released":false,"contractName":"SafeL2","version":"1.4.0","networkAddresses":{"5":"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb","56":"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb","100":"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb"},"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"AddedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"approvedHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"ApproveHash","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"handler","type":"address"}],"name":"ChangedFallbackHandler","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guard","type":"address"}],"name":"ChangedGuard","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"ChangedThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"DisabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"EnabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"payment","type":"uint256"}],"name":"ExecutionFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"ExecutionFromModuleFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"ExecutionFromModuleSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"payment","type":"uint256"}],"name":"ExecutionSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"RemovedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"module","type":"address"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"SafeModuleTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"baseGas","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"gasPrice","type":"uint256"},{"indexed":false,"internalType":"address","name":"gasToken","type":"address"},{"indexed":false,"internalType":"address payable","name":"refundReceiver","type":"address"},{"indexed":false,"internalType":"bytes","name":"signatures","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"additionalInfo","type":"bytes"}],"name":"SafeMultiSigTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"initiator","type":"address"},{"indexed":false,"internalType":"address[]","name":"owners","type":"address[]"},{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"},{"indexed":false,"internalType":"address","name":"initializer","type":"address"},{"indexed":false,"internalType":"address","name":"fallbackHandler","type":"address"}],"name":"SafeSetup","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"msgHash","type":"bytes32"}],"name":"SignMsg","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"addOwnerWithThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"hashToApprove","type":"bytes32"}],"name":"approveHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"approvedHashes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"changeThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"dataHash","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signatures","type":"bytes"},{"internalType":"uint256","name":"requiredSignatures","type":"uint256"}],"name":"checkNSignatures","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"dataHash","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"name":"checkSignatures","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"prevModule","type":"address"},{"internalType":"address","name":"module","type":"address"}],"name":"disableModule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"domainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"name":"enableModule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address","name":"refundReceiver","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"encodeTransactionData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address payable","name":"refundReceiver","type":"address"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"name":"execTransaction","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"execTransactionFromModule","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"execTransactionFromModuleReturnData","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"start","type":"address"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"getModulesPaginated","outputs":[{"internalType":"address[]","name":"array","type":"address[]"},{"internalType":"address","name":"next","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"offset","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"getStorageAt","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address","name":"refundReceiver","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"getTransactionHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"name":"isModuleEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"removeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"handler","type":"address"}],"name":"setFallbackHandler","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guard","type":"address"}],"name":"setGuard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_owners","type":"address[]"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"fallbackHandler","type":"address"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"payment","type":"uint256"},{"internalType":"address payable","name":"paymentReceiver","type":"address"}],"name":"setup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"signedMessages","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"targetContract","type":"address"},{"internalType":"bytes","name":"calldataPayload","type":"bytes"}],"name":"simulateAndRevert","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"oldOwner","type":"address"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"swapOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]}')}),a.register("gI0Ki",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0xc962E67D9490E154D81181879ddf4CD3b65D2132","released":false,"contractName":"Safe","version":"1.4.0","networkAddresses":{"5":"0xc962E67D9490E154D81181879ddf4CD3b65D2132","56":"0xc962E67D9490E154D81181879ddf4CD3b65D2132","100":"0xc962E67D9490E154D81181879ddf4CD3b65D2132"},"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"AddedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"approvedHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"ApproveHash","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"handler","type":"address"}],"name":"ChangedFallbackHandler","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"guard","type":"address"}],"name":"ChangedGuard","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"ChangedThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"DisabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"EnabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"payment","type":"uint256"}],"name":"ExecutionFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"ExecutionFromModuleFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"ExecutionFromModuleSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"payment","type":"uint256"}],"name":"ExecutionSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"RemovedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"initiator","type":"address"},{"indexed":false,"internalType":"address[]","name":"owners","type":"address[]"},{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"},{"indexed":false,"internalType":"address","name":"initializer","type":"address"},{"indexed":false,"internalType":"address","name":"fallbackHandler","type":"address"}],"name":"SafeSetup","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"msgHash","type":"bytes32"}],"name":"SignMsg","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"addOwnerWithThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"hashToApprove","type":"bytes32"}],"name":"approveHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"approvedHashes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"changeThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"dataHash","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signatures","type":"bytes"},{"internalType":"uint256","name":"requiredSignatures","type":"uint256"}],"name":"checkNSignatures","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"dataHash","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"name":"checkSignatures","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"prevModule","type":"address"},{"internalType":"address","name":"module","type":"address"}],"name":"disableModule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"domainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"name":"enableModule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address","name":"refundReceiver","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"encodeTransactionData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address payable","name":"refundReceiver","type":"address"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"name":"execTransaction","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"execTransactionFromModule","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"execTransactionFromModuleReturnData","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"start","type":"address"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"getModulesPaginated","outputs":[{"internalType":"address[]","name":"array","type":"address[]"},{"internalType":"address","name":"next","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"offset","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"getStorageAt","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address","name":"refundReceiver","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"getTransactionHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"name":"isModuleEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"removeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"handler","type":"address"}],"name":"setFallbackHandler","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guard","type":"address"}],"name":"setGuard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_owners","type":"address[]"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"fallbackHandler","type":"address"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"payment","type":"uint256"},{"internalType":"address payable","name":"paymentReceiver","type":"address"}],"name":"setup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"signedMessages","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"targetContract","type":"address"},{"internalType":"bytes","name":"calldataPayload","type":"bytes"}],"name":"simulateAndRevert","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"oldOwner","type":"address"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"swapOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]}')}),a.register("5y93N",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","released":true,"contractName":"GnosisSafeL2","version":"1.3.0","networkAddresses":{"1":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","3":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","4":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","5":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","10":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","11":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","12":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","18":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","25":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","28":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","39":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","40":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","41":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","42":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","50":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","51":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","56":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","61":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","63":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","69":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","82":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","83":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","97":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","100":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","106":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","108":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","111":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","122":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","123":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","137":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","246":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","250":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","288":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","300":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","321":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","322":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","336":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","338":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","420":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","588":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","592":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","595":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","599":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","686":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","787":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","1001":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","1008":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","1088":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","1101":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","1111":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","1112":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","1115":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","1116":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","1284":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","1285":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","1287":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","1294":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","1807":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","1984":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","2001":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","2002":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","2008":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","2019":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","2020":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","2221":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","2222":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","3737":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","4002":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","4689":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","4918":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","4919":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","5001":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","7341":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","7700":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","8217":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","9000":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","9001":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","9728":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","10000":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","10001":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","10200":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","11235":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","11437":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","12357":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","23294":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","42161":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","42170":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","42220":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","43113":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","43114":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","43288":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","44787":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","45000":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","47805":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","54211":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","56288":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","59140":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","71401":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","71402":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","73799":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","80001":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","84531":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","200101":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","200202":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","333999":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","421611":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","421613":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","534353":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","11155111":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","245022926":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","1313161554":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","1313161555":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","1666600000":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","1666700000":"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA","11297108099":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E","11297108109":"0x3E5c63644E683549055b9Be8653de26E0B4CD36E"},"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"AddedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"approvedHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"ApproveHash","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"handler","type":"address"}],"name":"ChangedFallbackHandler","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"guard","type":"address"}],"name":"ChangedGuard","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"ChangedThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"module","type":"address"}],"name":"DisabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"module","type":"address"}],"name":"EnabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"payment","type":"uint256"}],"name":"ExecutionFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"ExecutionFromModuleFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"ExecutionFromModuleSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"payment","type":"uint256"}],"name":"ExecutionSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"RemovedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"module","type":"address"},{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"SafeModuleTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"},{"indexed":false,"internalType":"bytes","name":"data","type":"bytes"},{"indexed":false,"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"indexed":false,"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"baseGas","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"gasPrice","type":"uint256"},{"indexed":false,"internalType":"address","name":"gasToken","type":"address"},{"indexed":false,"internalType":"address payable","name":"refundReceiver","type":"address"},{"indexed":false,"internalType":"bytes","name":"signatures","type":"bytes"},{"indexed":false,"internalType":"bytes","name":"additionalInfo","type":"bytes"}],"name":"SafeMultiSigTransaction","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"initiator","type":"address"},{"indexed":false,"internalType":"address[]","name":"owners","type":"address[]"},{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"},{"indexed":false,"internalType":"address","name":"initializer","type":"address"},{"indexed":false,"internalType":"address","name":"fallbackHandler","type":"address"}],"name":"SafeSetup","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"msgHash","type":"bytes32"}],"name":"SignMsg","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"addOwnerWithThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"hashToApprove","type":"bytes32"}],"name":"approveHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"approvedHashes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"changeThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"dataHash","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signatures","type":"bytes"},{"internalType":"uint256","name":"requiredSignatures","type":"uint256"}],"name":"checkNSignatures","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"dataHash","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"name":"checkSignatures","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"prevModule","type":"address"},{"internalType":"address","name":"module","type":"address"}],"name":"disableModule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"domainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"name":"enableModule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address","name":"refundReceiver","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"encodeTransactionData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address payable","name":"refundReceiver","type":"address"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"name":"execTransaction","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"execTransactionFromModule","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"execTransactionFromModuleReturnData","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"start","type":"address"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"getModulesPaginated","outputs":[{"internalType":"address[]","name":"array","type":"address[]"},{"internalType":"address","name":"next","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"offset","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"getStorageAt","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address","name":"refundReceiver","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"getTransactionHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"name":"isModuleEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"removeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"requiredTxGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"handler","type":"address"}],"name":"setFallbackHandler","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guard","type":"address"}],"name":"setGuard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_owners","type":"address[]"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"fallbackHandler","type":"address"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"payment","type":"uint256"},{"internalType":"address payable","name":"paymentReceiver","type":"address"}],"name":"setup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"signedMessages","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"targetContract","type":"address"},{"internalType":"bytes","name":"calldataPayload","type":"bytes"}],"name":"simulateAndRevert","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"oldOwner","type":"address"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"swapOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]}')}),a.register("45yDQ",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","released":true,"contractName":"GnosisSafe","version":"1.3.0","networkAddresses":{"1":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","3":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","4":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","5":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","10":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","11":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","12":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","18":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","25":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","28":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","39":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","40":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","41":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","42":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","50":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","51":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","56":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","61":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","63":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","69":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","82":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","83":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","97":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","100":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","106":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","108":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","111":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","122":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","123":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","137":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","246":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","250":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","288":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","300":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","321":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","322":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","336":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","338":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","420":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","588":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","592":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","595":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","599":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","686":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","787":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","1001":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","1008":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","1088":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","1101":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","1111":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","1112":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","1115":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","1116":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","1284":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","1285":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","1287":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","1294":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","1807":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","1984":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","2001":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","2002":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","2008":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","2019":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","2020":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","2221":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","2222":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","3737":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","4002":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","4689":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","4918":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","4919":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","5001":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","7341":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","7700":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","8217":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","9000":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","9001":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","9728":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","10000":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","10001":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","10200":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","11235":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","11437":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","12357":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","23294":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","42161":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","42170":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","42220":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","43113":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","43114":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","43288":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","44787":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","45000":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","47805":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","54211":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","56288":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","59140":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","71401":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","71402":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","73799":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","80001":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","84531":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","200101":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","200202":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","333999":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","421611":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","421613":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","534353":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","11155111":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","245022926":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","1313161554":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","1313161555":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","1666600000":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","1666700000":"0x69f4D1788e39c87893C980c06EdF4b7f686e2938","11297108099":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552","11297108109":"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552"},"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"AddedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"approvedHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"ApproveHash","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"handler","type":"address"}],"name":"ChangedFallbackHandler","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"guard","type":"address"}],"name":"ChangedGuard","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"ChangedThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"module","type":"address"}],"name":"DisabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"module","type":"address"}],"name":"EnabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"payment","type":"uint256"}],"name":"ExecutionFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"ExecutionFromModuleFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"ExecutionFromModuleSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"payment","type":"uint256"}],"name":"ExecutionSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"RemovedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"SafeReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"initiator","type":"address"},{"indexed":false,"internalType":"address[]","name":"owners","type":"address[]"},{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"},{"indexed":false,"internalType":"address","name":"initializer","type":"address"},{"indexed":false,"internalType":"address","name":"fallbackHandler","type":"address"}],"name":"SafeSetup","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"msgHash","type":"bytes32"}],"name":"SignMsg","type":"event"},{"stateMutability":"nonpayable","type":"fallback"},{"inputs":[],"name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"addOwnerWithThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"hashToApprove","type":"bytes32"}],"name":"approveHash","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"approvedHashes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"changeThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"dataHash","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signatures","type":"bytes"},{"internalType":"uint256","name":"requiredSignatures","type":"uint256"}],"name":"checkNSignatures","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"dataHash","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"name":"checkSignatures","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"prevModule","type":"address"},{"internalType":"address","name":"module","type":"address"}],"name":"disableModule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"domainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"name":"enableModule","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address","name":"refundReceiver","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"encodeTransactionData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address payable","name":"refundReceiver","type":"address"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"name":"execTransaction","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"execTransactionFromModule","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"execTransactionFromModuleReturnData","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"start","type":"address"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"getModulesPaginated","outputs":[{"internalType":"address[]","name":"array","type":"address[]"},{"internalType":"address","name":"next","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"offset","type":"uint256"},{"internalType":"uint256","name":"length","type":"uint256"}],"name":"getStorageAt","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address","name":"refundReceiver","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"getTransactionHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"module","type":"address"}],"name":"isModuleEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"removeOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"requiredTxGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"handler","type":"address"}],"name":"setFallbackHandler","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"guard","type":"address"}],"name":"setGuard","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"_owners","type":"address[]"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"fallbackHandler","type":"address"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"payment","type":"uint256"},{"internalType":"address payable","name":"paymentReceiver","type":"address"}],"name":"setup","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"signedMessages","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"targetContract","type":"address"},{"internalType":"bytes","name":"calldataPayload","type":"bytes"}],"name":"simulateAndRevert","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"oldOwner","type":"address"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"swapOwner","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]}')}),a.register("dCb8U",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x6851D6fDFAfD08c0295C392436245E5bc78B0185","released":true,"contractName":"GnosisSafe","version":"1.2.0","networkAddresses":{"1":"0x6851D6fDFAfD08c0295C392436245E5bc78B0185","4":"0x6851D6fDFAfD08c0295C392436245E5bc78B0185","5":"0x6851D6fDFAfD08c0295C392436245E5bc78B0185","42":"0x6851D6fDFAfD08c0295C392436245E5bc78B0185","88":"0x6851D6fDFAfD08c0295C392436245E5bc78B0185","100":"0x6851D6fDFAfD08c0295C392436245E5bc78B0185","246":"0x6851D6fDFAfD08c0295C392436245E5bc78B0185","73799":"0x6851D6fDFAfD08c0295C392436245E5bc78B0185"},"abi":[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"AddedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"approvedHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"ApproveHash","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"masterCopy","type":"address"}],"name":"ChangedMasterCopy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"ChangedThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract Module","name":"module","type":"address"}],"name":"DisabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract Module","name":"module","type":"address"}],"name":"EnabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"payment","type":"uint256"}],"name":"ExecutionFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"ExecutionFromModuleFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"ExecutionFromModuleSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"payment","type":"uint256"}],"name":"ExecutionSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"RemovedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"msgHash","type":"bytes32"}],"name":"SignMsg","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"addOwnerWithThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"approvedHashes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_masterCopy","type":"address"}],"name":"changeMasterCopy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"changeThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract Module","name":"prevModule","type":"address"},{"internalType":"contract Module","name":"module","type":"address"}],"name":"disableModule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"domainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract Module","name":"module","type":"address"}],"name":"enableModule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"execTransactionFromModule","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"execTransactionFromModuleReturnData","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getModules","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"start","type":"address"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"getModulesPaginated","outputs":[{"internalType":"address[]","name":"array","type":"address[]"},{"internalType":"address","name":"next","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"contract Module","name":"module","type":"address"}],"name":"isModuleEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"handler","type":"address"}],"name":"setFallbackHandler","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"signedMessages","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"oldOwner","type":"address"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"swapOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_owners","type":"address[]"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"fallbackHandler","type":"address"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"payment","type":"uint256"},{"internalType":"address payable","name":"paymentReceiver","type":"address"}],"name":"setup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address payable","name":"refundReceiver","type":"address"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"name":"execTransaction","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"requiredTxGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"hashToApprove","type":"bytes32"}],"name":"approveHash","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"signMessage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"isValidSignature","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes","name":"message","type":"bytes"}],"name":"getMessageHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address","name":"refundReceiver","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"encodeTransactionData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address","name":"refundReceiver","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"getTransactionHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"}]}')}),a.register("jFfSc",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F","released":true,"contractName":"GnosisSafe","version":"1.1.1","networkAddresses":{"1":"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F","4":"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F","5":"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F","42":"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F","88":"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F","100":"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F","246":"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F","73799":"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F"},"abi":[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"AddedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"approvedHash","type":"bytes32"},{"indexed":true,"internalType":"address","name":"owner","type":"address"}],"name":"ApproveHash","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"masterCopy","type":"address"}],"name":"ChangedMasterCopy","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"threshold","type":"uint256"}],"name":"ChangedThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract Module","name":"module","type":"address"}],"name":"DisabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract Module","name":"module","type":"address"}],"name":"EnabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"payment","type":"uint256"}],"name":"ExecutionFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"ExecutionFromModuleFailure","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"module","type":"address"}],"name":"ExecutionFromModuleSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"bytes32","name":"txHash","type":"bytes32"},{"indexed":false,"internalType":"uint256","name":"payment","type":"uint256"}],"name":"ExecutionSuccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"RemovedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"msgHash","type":"bytes32"}],"name":"SignMsg","type":"event"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"addOwnerWithThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"approvedHashes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_masterCopy","type":"address"}],"name":"changeMasterCopy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"changeThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"contract Module","name":"prevModule","type":"address"},{"internalType":"contract Module","name":"module","type":"address"}],"name":"disableModule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"domainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"contract Module","name":"module","type":"address"}],"name":"enableModule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"execTransactionFromModule","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"execTransactionFromModuleReturnData","outputs":[{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getModules","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"start","type":"address"},{"internalType":"uint256","name":"pageSize","type":"uint256"}],"name":"getModulesPaginated","outputs":[{"internalType":"address[]","name":"array","type":"address[]"},{"internalType":"address","name":"next","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwners","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"owner","type":"address"},{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"handler","type":"address"}],"name":"setFallbackHandler","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"signedMessages","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"prevOwner","type":"address"},{"internalType":"address","name":"oldOwner","type":"address"},{"internalType":"address","name":"newOwner","type":"address"}],"name":"swapOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address[]","name":"_owners","type":"address[]"},{"internalType":"uint256","name":"_threshold","type":"uint256"},{"internalType":"address","name":"to","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"fallbackHandler","type":"address"},{"internalType":"address","name":"paymentToken","type":"address"},{"internalType":"uint256","name":"payment","type":"uint256"},{"internalType":"address payable","name":"paymentReceiver","type":"address"}],"name":"setup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address payable","name":"refundReceiver","type":"address"},{"internalType":"bytes","name":"signatures","type":"bytes"}],"name":"execTransaction","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"requiredTxGas","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes32","name":"hashToApprove","type":"bytes32"}],"name":"approveHash","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"signMessage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"isValidSignature","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"bytes","name":"message","type":"bytes"}],"name":"getMessageHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address","name":"refundReceiver","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"encodeTransactionData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"},{"internalType":"uint256","name":"safeTxGas","type":"uint256"},{"internalType":"uint256","name":"baseGas","type":"uint256"},{"internalType":"uint256","name":"gasPrice","type":"uint256"},{"internalType":"address","name":"gasToken","type":"address"},{"internalType":"address","name":"refundReceiver","type":"address"},{"internalType":"uint256","name":"_nonce","type":"uint256"}],"name":"getTransactionHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"}]}')}),a.register("cTlhJ",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A","released":true,"contractName":"GnosisSafe","version":"1.0.0","networkAddresses":{"1":"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A","4":"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A","5":"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A","42":"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A","100":"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A"},"abi":[{"constant":false,"inputs":[{"name":"owner","type":"address"},{"name":"_threshold","type":"uint256"}],"name":"addOwnerWithThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"DOMAIN_SEPARATOR_TYPEHASH","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"},{"name":"operation","type":"uint8"}],"name":"execTransactionFromModule","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"signedMessages","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"module","type":"address"}],"name":"enableModule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_threshold","type":"uint256"}],"name":"changeThreshold","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"bytes32"}],"name":"approvedHashes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_masterCopy","type":"address"}],"name":"changeMasterCopy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"SENTINEL_MODULES","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SENTINEL_OWNERS","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getOwners","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nonce","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getModules","outputs":[{"name":"","type":"address[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SAFE_MSG_TYPEHASH","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"SAFE_TX_TYPEHASH","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"prevModule","type":"address"},{"name":"module","type":"address"}],"name":"disableModule","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"prevOwner","type":"address"},{"name":"oldOwner","type":"address"},{"name":"newOwner","type":"address"}],"name":"swapOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getThreshold","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"domainSeparator","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"prevOwner","type":"address"},{"name":"owner","type":"address"},{"name":"_threshold","type":"uint256"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"VERSION","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"txHash","type":"bytes32"}],"name":"ExecutionFailed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"}],"name":"AddedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"owner","type":"address"}],"name":"RemovedOwner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"threshold","type":"uint256"}],"name":"ChangedThreshold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"module","type":"address"}],"name":"EnabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"module","type":"address"}],"name":"DisabledModule","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newContract","type":"address"}],"name":"ContractCreation","type":"event"},{"constant":false,"inputs":[{"name":"_owners","type":"address[]"},{"name":"_threshold","type":"uint256"},{"name":"to","type":"address"},{"name":"data","type":"bytes"},{"name":"paymentToken","type":"address"},{"name":"payment","type":"uint256"},{"name":"paymentReceiver","type":"address"}],"name":"setup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"},{"name":"operation","type":"uint8"},{"name":"safeTxGas","type":"uint256"},{"name":"baseGas","type":"uint256"},{"name":"gasPrice","type":"uint256"},{"name":"gasToken","type":"address"},{"name":"refundReceiver","type":"address"},{"name":"signatures","type":"bytes"}],"name":"execTransaction","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"},{"name":"operation","type":"uint8"}],"name":"requiredTxGas","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"hashToApprove","type":"bytes32"}],"name":"approveHash","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_data","type":"bytes"}],"name":"signMessage","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_data","type":"bytes"},{"name":"_signature","type":"bytes"}],"name":"isValidSignature","outputs":[{"name":"","type":"bytes4"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"message","type":"bytes"}],"name":"getMessageHash","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"},{"name":"operation","type":"uint8"},{"name":"safeTxGas","type":"uint256"},{"name":"baseGas","type":"uint256"},{"name":"gasPrice","type":"uint256"},{"name":"gasToken","type":"address"},{"name":"refundReceiver","type":"address"},{"name":"_nonce","type":"uint256"}],"name":"encodeTransactionData","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"},{"name":"data","type":"bytes"},{"name":"operation","type":"uint8"},{"name":"safeTxGas","type":"uint256"},{"name":"baseGas","type":"uint256"},{"name":"gasPrice","type":"uint256"},{"name":"gasToken","type":"address"},{"name":"refundReceiver","type":"address"},{"name":"_nonce","type":"uint256"}],"name":"getTransactionHash","outputs":[{"name":"","type":"bytes32"}],"payable":false,"stateMutability":"view","type":"function"}]}')}),a.register("iaBWx",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.findDeployment=void 0;let n=r(a("eHBEA")),i={released:!0};e.exports.findDeployment=(e=i,t)=>{let r=Object.assign(Object.assign({},i),e);return t.find(e=>!!(void 0===r.version||(0,n.default)(e.version,r.version))&&("boolean"!=typeof r.released||e.released==r.released)&&(!r.network||!!e.networkAddresses[r.network]))}}),a.register("gJilu",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.getProxyFactoryDeployment=void 0;let n=r(a("ajeWd")),i=r(a("6CQRy")),s=r(a("k7808")),o=r(a("9bodX"));var u=a("iaBWx");let l=[o.default,s.default,i.default,n.default];e.exports.getProxyFactoryDeployment=e=>(0,u.findDeployment)(e,l)}),a.register("ajeWd",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x12302fE9c02ff50939BaAaaf415fc226C078613C","released":true,"contractName":"ProxyFactory","version":"1.0.0","networkAddresses":{"1":"0x12302fE9c02ff50939BaAaaf415fc226C078613C","4":"0x12302fE9c02ff50939BaAaaf415fc226C078613C","5":"0x12302fE9c02ff50939BaAaaf415fc226C078613C","42":"0x12302fE9c02ff50939BaAaaf415fc226C078613C","100":"0x12302fE9c02ff50939BaAaaf415fc226C078613C"},"abi":[{"constant":false,"inputs":[{"name":"_mastercopy","type":"address"},{"name":"initializer","type":"bytes"},{"name":"saltNonce","type":"uint256"}],"name":"createProxyWithNonce","outputs":[{"name":"proxy","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proxyCreationCode","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"masterCopy","type":"address"},{"name":"data","type":"bytes"}],"name":"createProxy","outputs":[{"name":"proxy","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proxyRuntimeCode","outputs":[{"name":"","type":"bytes"}],"payable":false,"stateMutability":"pure","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"proxy","type":"address"}],"name":"ProxyCreation","type":"event"}]}')}),a.register("6CQRy",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B","released":true,"contractName":"ProxyFactory","version":"1.1.1","networkAddresses":{"1":"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B","4":"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B","5":"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B","42":"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B","88":"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B","100":"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B","246":"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B","73799":"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B"},"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}],"name":"ProxyCreation","type":"event"},{"constant":false,"inputs":[{"internalType":"address","name":"masterCopy","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"createProxy","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"proxyRuntimeCode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"proxyCreationCode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_mastercopy","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"name":"createProxyWithNonce","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_mastercopy","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"},{"internalType":"contract IProxyCreationCallback","name":"callback","type":"address"}],"name":"createProxyWithCallback","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_mastercopy","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"name":"calculateCreateProxyWithNonceAddress","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"function"}]}')}),a.register("k7808",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","released":true,"contractName":"GnosisSafeProxyFactory","version":"1.3.0","networkAddresses":{"1":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","3":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","4":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","5":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","10":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","11":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","12":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","18":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","25":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","28":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","39":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","40":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","41":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","42":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","50":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","51":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","56":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","61":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","63":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","69":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","82":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","83":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","97":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","100":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","106":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","108":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","111":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","122":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","123":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","137":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","246":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","250":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","288":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","300":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","321":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","322":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","336":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","338":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","420":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","588":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","592":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","595":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","599":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","686":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","787":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","1001":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","1008":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","1088":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","1101":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","1111":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","1112":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","1115":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","1116":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","1284":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","1285":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","1287":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","1294":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","1807":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","1984":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","2001":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","2002":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","2008":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","2019":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","2020":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","2221":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","2222":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","3737":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","4002":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","4689":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","4918":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","4919":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","5001":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","7341":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","7700":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","8217":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","9000":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","9001":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","9728":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","10000":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","10001":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","10200":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","11235":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","11437":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","12357":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","23294":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","42161":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","42170":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","42220":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","43113":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","43114":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","43288":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","44787":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","45000":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","47805":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","54211":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","56288":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","59140":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","71401":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","71402":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","73799":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","80001":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","84531":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","200101":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","200202":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","333999":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","421611":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","421613":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","534353":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","11155111":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","245022926":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","1313161554":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","1313161555":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","1666600000":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","1666700000":"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC","11297108099":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2","11297108109":"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2"},"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"},{"indexed":false,"internalType":"address","name":"singleton","type":"address"}],"name":"ProxyCreation","type":"event"},{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"name":"calculateCreateProxyWithNonceAddress","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"singleton","type":"address"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"createProxy","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"},{"internalType":"contract IProxyCreationCallback","name":"callback","type":"address"}],"name":"createProxyWithCallback","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"name":"createProxyWithNonce","outputs":[{"internalType":"contract GnosisSafeProxy","name":"proxy","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"proxyCreationCode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"proxyRuntimeCode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"}]}')}),a.register("9bodX",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67","contractName":"SafeProxyFactory","version":"1.4.0","released":false,"networkAddresses":{"5":"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67","56":"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67","100":"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67"},"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"contract SafeProxy","name":"proxy","type":"address"},{"indexed":false,"internalType":"address","name":"singleton","type":"address"}],"name":"ProxyCreation","type":"event"},{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"name":"createChainSpecificProxyWithNonce","outputs":[{"internalType":"contract SafeProxy","name":"proxy","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"},{"internalType":"contract IProxyCreationCallback","name":"callback","type":"address"}],"name":"createProxyWithCallback","outputs":[{"internalType":"contract SafeProxy","name":"proxy","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_singleton","type":"address"},{"internalType":"bytes","name":"initializer","type":"bytes"},{"internalType":"uint256","name":"saltNonce","type":"uint256"}],"name":"createProxyWithNonce","outputs":[{"internalType":"contract SafeProxy","name":"proxy","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getChainId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"proxyCreationCode","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"}]}')}),a.register("3ERWQ",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.getSignMessageLibDeployment=e.exports.getCreateCallDeployment=e.exports.getMultiSendCallOnlyDeployment=e.exports.getMultiSendDeployment=void 0;let n=r(a("dFjxN")),i=r(a("3yNiH")),s=r(a("loUyX")),o=r(a("kMQkS")),u=r(a("iuKjq")),l=r(a("k36an")),c=r(a("eDrAB")),d=r(a("5sPNJ")),f=r(a("cYlzj"));var h=a("iaBWx");let p=[u.default,o.default,s.default];e.exports.getMultiSendDeployment=e=>(0,h.findDeployment)(e,p);let y=[c.default,l.default];e.exports.getMultiSendCallOnlyDeployment=e=>(0,h.findDeployment)(e,y);let m=[i.default,n.default];e.exports.getCreateCallDeployment=e=>(0,h.findDeployment)(e,m);let b=[f.default,d.default];e.exports.getSignMessageLibDeployment=e=>(0,h.findDeployment)(e,b)}),a.register("dFjxN",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","released":true,"contractName":"CreateCall","version":"1.3.0","networkAddresses":{"1":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","3":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","4":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","5":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","10":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","11":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","12":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","18":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","25":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","28":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","39":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","40":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","41":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","42":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","50":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","51":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","56":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","61":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","63":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","69":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","82":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","83":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","97":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","100":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","106":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","108":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","111":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","122":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","123":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","137":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","246":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","250":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","288":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","300":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","321":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","322":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","336":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","338":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","420":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","588":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","592":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","595":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","599":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","686":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","787":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","1001":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","1008":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","1088":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","1101":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","1111":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","1112":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","1115":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","1116":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","1284":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","1285":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","1287":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","1294":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","1807":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","1984":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","2001":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","2002":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","2008":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","2019":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","2020":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","2221":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","2222":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","3737":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","4002":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","4689":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","4918":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","4919":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","5001":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","7341":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","7700":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","8217":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","9000":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","9001":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","9728":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","10000":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","10001":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","10200":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","11235":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","11437":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","12357":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","23294":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","42161":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","42170":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","42220":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","43113":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","43114":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","43288":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","44787":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","45000":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","47805":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","54211":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","56288":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","59140":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","71401":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","71402":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","73799":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","80001":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","84531":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","200101":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","200202":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","333999":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","421611":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","421613":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","534353":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","11155111":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","245022926":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","1313161554":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","1313161555":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","1666600000":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","1666700000":"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d","11297108099":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4","11297108109":"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4"},"abi":[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"newContract","type":"address"}],"name":"ContractCreation","type":"event"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"deploymentData","type":"bytes"}],"name":"performCreate","outputs":[{"internalType":"address","name":"newContract","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"deploymentData","type":"bytes"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"performCreate2","outputs":[{"internalType":"address","name":"newContract","type":"address"}],"stateMutability":"nonpayable","type":"function"}]}')}),a.register("3yNiH",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x9b35Af71d77eaf8d7e40252370304687390A1A52","released":false,"contractName":"CreateCall","version":"1.4.0","networkAddresses":{"5":"0x9b35Af71d77eaf8d7e40252370304687390A1A52","56":"0x9b35Af71d77eaf8d7e40252370304687390A1A52","100":"0x9b35Af71d77eaf8d7e40252370304687390A1A52"},"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"newContract","type":"address"}],"name":"ContractCreation","type":"event"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"deploymentData","type":"bytes"}],"name":"performCreate","outputs":[{"internalType":"address","name":"newContract","type":"address"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"deploymentData","type":"bytes"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"performCreate2","outputs":[{"internalType":"address","name":"newContract","type":"address"}],"stateMutability":"nonpayable","type":"function"}]}')}),a.register("loUyX",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x8D29bE29923b68abfDD21e541b9374737B49cdAD","released":true,"contractName":"MultiSend","version":"1.1.1","networkAddresses":{"1":"0x8D29bE29923b68abfDD21e541b9374737B49cdAD","4":"0x8D29bE29923b68abfDD21e541b9374737B49cdAD","5":"0x8D29bE29923b68abfDD21e541b9374737B49cdAD","42":"0x8D29bE29923b68abfDD21e541b9374737B49cdAD","88":"0x8D29bE29923b68abfDD21e541b9374737B49cdAD","100":"0x8D29bE29923b68abfDD21e541b9374737B49cdAD","246":"0x8D29bE29923b68abfDD21e541b9374737B49cdAD","73799":"0x8D29bE29923b68abfDD21e541b9374737B49cdAD"},"abi":[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"constant":false,"inputs":[{"internalType":"bytes","name":"transactions","type":"bytes"}],"name":"multiSend","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]}')}),a.register("kMQkS",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","released":true,"contractName":"MultiSend","version":"1.3.0","networkAddresses":{"1":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","3":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","4":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","5":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","10":"0x998739BFdAAdde7C933B942a68053933098f9EDa","11":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","12":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","18":"0x998739BFdAAdde7C933B942a68053933098f9EDa","25":"0x998739BFdAAdde7C933B942a68053933098f9EDa","28":"0x998739BFdAAdde7C933B942a68053933098f9EDa","39":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","40":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","41":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","42":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","50":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","51":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","56":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","61":"0x998739BFdAAdde7C933B942a68053933098f9EDa","63":"0x998739BFdAAdde7C933B942a68053933098f9EDa","69":"0x998739BFdAAdde7C933B942a68053933098f9EDa","82":"0x998739BFdAAdde7C933B942a68053933098f9EDa","83":"0x998739BFdAAdde7C933B942a68053933098f9EDa","97":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","100":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","106":"0x998739BFdAAdde7C933B942a68053933098f9EDa","108":"0x998739BFdAAdde7C933B942a68053933098f9EDa","111":"0x998739BFdAAdde7C933B942a68053933098f9EDa","122":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","123":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","137":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","246":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","250":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","288":"0x998739BFdAAdde7C933B942a68053933098f9EDa","300":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","321":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","322":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","336":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","338":"0x998739BFdAAdde7C933B942a68053933098f9EDa","420":"0x998739BFdAAdde7C933B942a68053933098f9EDa","588":"0x998739BFdAAdde7C933B942a68053933098f9EDa","592":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","595":"0x998739BFdAAdde7C933B942a68053933098f9EDa","599":"0x998739BFdAAdde7C933B942a68053933098f9EDa","686":"0x998739BFdAAdde7C933B942a68053933098f9EDa","787":"0x998739BFdAAdde7C933B942a68053933098f9EDa","1001":"0x998739BFdAAdde7C933B942a68053933098f9EDa","1008":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","1088":"0x998739BFdAAdde7C933B942a68053933098f9EDa","1101":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","1111":"0x998739BFdAAdde7C933B942a68053933098f9EDa","1112":"0x998739BFdAAdde7C933B942a68053933098f9EDa","1115":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","1116":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","1284":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","1285":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","1287":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","1294":"0x998739BFdAAdde7C933B942a68053933098f9EDa","1807":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","1984":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","2001":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","2002":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","2008":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","2019":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","2020":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","2221":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","2222":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","3737":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","4002":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","4689":"0x998739BFdAAdde7C933B942a68053933098f9EDa","4918":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","4919":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","5001":"0x998739BFdAAdde7C933B942a68053933098f9EDa","7341":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","7700":"0x998739BFdAAdde7C933B942a68053933098f9EDa","8217":"0x998739BFdAAdde7C933B942a68053933098f9EDa","9000":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","9001":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","9728":"0x998739BFdAAdde7C933B942a68053933098f9EDa","10000":"0x998739BFdAAdde7C933B942a68053933098f9EDa","10001":"0x998739BFdAAdde7C933B942a68053933098f9EDa","10200":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","11235":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","11437":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","12357":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","23294":"0x998739BFdAAdde7C933B942a68053933098f9EDa","42161":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","42170":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","42220":"0x998739BFdAAdde7C933B942a68053933098f9EDa","43113":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","43114":"0x998739BFdAAdde7C933B942a68053933098f9EDa","43288":"0x998739BFdAAdde7C933B942a68053933098f9EDa","44787":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","45000":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","47805":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","54211":"0x998739BFdAAdde7C933B942a68053933098f9EDa","56288":"0x998739BFdAAdde7C933B942a68053933098f9EDa","59140":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","71401":"0x998739BFdAAdde7C933B942a68053933098f9EDa","71402":"0x998739BFdAAdde7C933B942a68053933098f9EDa","73799":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","80001":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","84531":"0x998739BFdAAdde7C933B942a68053933098f9EDa","200101":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","200202":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","333999":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","421611":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","421613":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","534353":"0x998739BFdAAdde7C933B942a68053933098f9EDa","11155111":"0x998739BFdAAdde7C933B942a68053933098f9EDa","245022926":"0x998739BFdAAdde7C933B942a68053933098f9EDa","1313161554":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","1313161555":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","1666600000":"0x998739BFdAAdde7C933B942a68053933098f9EDa","1666700000":"0x998739BFdAAdde7C933B942a68053933098f9EDa","11297108099":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761","11297108109":"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761"},"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"transactions","type":"bytes"}],"name":"multiSend","outputs":[],"stateMutability":"payable","type":"function"}]}')}),a.register("iuKjq",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526","released":false,"contractName":"MultiSend","version":"1.4.0","networkAddresses":{"5":"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526","56":"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526","100":"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526"},"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"bytes","name":"transactions","type":"bytes"}],"name":"multiSend","outputs":[],"stateMutability":"payable","type":"function"}]}')}),a.register("k36an",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","released":true,"contractName":"MultiSendCallOnly","version":"1.3.0","networkAddresses":{"1":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","3":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","4":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","5":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","10":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","11":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","12":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","18":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","25":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","28":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","39":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","40":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","41":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","42":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","50":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","51":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","56":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","61":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","63":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","69":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","82":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","83":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","97":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","100":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","106":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","108":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","111":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","122":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","123":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","137":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","246":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","250":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","288":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","300":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","321":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","322":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","336":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","338":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","420":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","588":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","592":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","595":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","599":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","686":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","787":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","1001":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","1008":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","1088":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","1101":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","1111":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","1112":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","1115":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","1116":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","1284":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","1285":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","1287":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","1294":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","1807":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","1984":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","2001":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","2002":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","2008":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","2019":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","2020":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","2221":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","2222":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","3737":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","4002":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","4689":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","4918":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","4919":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","5001":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","7341":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","7700":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","8217":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","9000":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","9001":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","9728":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","10000":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","10001":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","10200":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","11235":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","11437":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","12357":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","23294":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","42161":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","42170":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","42220":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","43113":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","43114":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","43288":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","44787":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","45000":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","47805":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","54211":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","56288":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","59140":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","71401":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","71402":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","73799":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","80001":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","84531":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","200101":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","200202":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","333999":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","421611":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","421613":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","534353":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","11155111":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","245022926":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","1313161554":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","1313161555":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","1666600000":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","1666700000":"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B","11297108099":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D","11297108109":"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D"},"abi":[{"inputs":[{"internalType":"bytes","name":"transactions","type":"bytes"}],"name":"multiSend","outputs":[],"stateMutability":"payable","type":"function"}]}')}),a.register("eDrAB",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x9641d764fc13c8B624c04430C7356C1C7C8102e2","released":false,"contractName":"MultiSendCallOnly","version":"1.4.0","networkAddresses":{"5":"0x9641d764fc13c8B624c04430C7356C1C7C8102e2","56":"0x9641d764fc13c8B624c04430C7356C1C7C8102e2","100":"0x9641d764fc13c8B624c04430C7356C1C7C8102e2"},"abi":[{"inputs":[{"internalType":"bytes","name":"transactions","type":"bytes"}],"name":"multiSend","outputs":[],"stateMutability":"payable","type":"function"}]}')}),a.register("5sPNJ",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","contractName":"SignMessageLib","version":"1.3.0","released":true,"networkAddresses":{"1":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","3":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","4":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","5":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","10":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","11":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","12":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","18":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","25":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","28":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","39":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","40":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","41":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","42":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","50":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","51":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","56":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","61":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","63":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","69":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","82":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","83":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","97":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","100":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","106":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","108":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","111":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","122":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","123":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","137":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","246":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","250":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","288":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","300":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","321":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","322":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","336":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","338":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","420":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","588":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","592":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","595":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","599":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","686":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","787":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","1001":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","1008":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","1088":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","1101":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","1111":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","1112":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","1115":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","1116":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","1284":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","1285":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","1287":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","1294":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","1807":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","1984":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","2001":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","2002":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","2008":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","2019":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","2020":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","2221":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","2222":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","3737":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","4002":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","4689":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","4918":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","4919":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","5001":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","7341":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","7700":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","8217":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","9000":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","9001":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","9728":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","10000":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","10001":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","10200":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","11235":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","11437":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","12357":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","23294":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","42161":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","42170":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","42220":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","43113":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","43114":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","43288":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","44787":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","45000":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","47805":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","54211":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","56288":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","59140":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","71401":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","71402":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","73799":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","80001":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","84531":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","200101":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","200202":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","421611":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","421613":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","534353":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","11155111":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","245022926":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","1313161554":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","1313161555":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","1666600000":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","1666700000":"0x98FFBBF51bb33A056B08ddf711f289936AafF717","11297108099":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2","11297108109":"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2"},"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"msgHash","type":"bytes32"}],"name":"SignMsg","type":"event"},{"inputs":[{"internalType":"bytes","name":"message","type":"bytes"}],"name":"getMessageHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"signMessage","outputs":[],"stateMutability":"nonpayable","type":"function"}]}')}),a.register("cYlzj",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520","contractName":"SignMessageLib","version":"1.4.0","released":false,"networkAddresses":{"5":"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520","56":"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520","100":"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520"},"abi":[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"msgHash","type":"bytes32"}],"name":"SignMsg","type":"event"},{"inputs":[{"internalType":"bytes","name":"message","type":"bytes"}],"name":"getMessageHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"}],"name":"signMessage","outputs":[],"stateMutability":"nonpayable","type":"function"}]}')}),a.register("5IdKJ",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.getFallbackHandlerDeployment=e.exports.getCompatibilityFallbackHandlerDeployment=e.exports.getDefaultCallbackHandlerDeployment=void 0;let n=r(a("htjeQ")),i=r(a("9ueqt")),s=r(a("8kzGI"));var o=a("iaBWx");let u=[n.default];e.exports.getDefaultCallbackHandlerDeployment=e=>(0,o.findDeployment)(e,u);let l=[s.default,i.default];e.exports.getCompatibilityFallbackHandlerDeployment=e=>(0,o.findDeployment)(e,l);let c=[s.default,i.default,n.default];e.exports.getFallbackHandlerDeployment=e=>(0,o.findDeployment)(e,c)}),a.register("htjeQ",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44","released":true,"contractName":"DefaultCallbackHandler","version":"1.1.1","networkAddresses":{"1":"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44","4":"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44","5":"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44","42":"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44","88":"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44","100":"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44","246":"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44","73799":"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44"},"abi":[{"constant":true,"inputs":[],"name":"NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"tokensReceived","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]}')}),a.register("9ueqt",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","released":true,"contractName":"CompatibilityFallbackHandler","version":"1.3.0","networkAddresses":{"1":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","3":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","4":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","5":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","10":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","11":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","12":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","18":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","25":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","28":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","39":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","40":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","41":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","42":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","50":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","51":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","56":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","61":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","63":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","69":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","82":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","83":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","97":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","100":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","106":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","108":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","111":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","122":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","123":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","137":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","246":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","250":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","288":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","300":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","321":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","322":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","336":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","338":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","420":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","588":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","592":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","595":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","599":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","686":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","787":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","1001":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","1008":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","1088":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","1101":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","1111":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","1112":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","1115":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","1116":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","1284":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","1285":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","1287":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","1294":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","1807":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","1984":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","2001":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","2002":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","2008":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","2019":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","2020":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","2221":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","2222":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","3737":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","4002":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","4689":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","4918":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","4919":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","5001":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","7341":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","7700":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","8217":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","9000":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","9001":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","9728":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","10000":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","10001":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","10200":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","11235":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","11437":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","12357":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","23294":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","42161":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","42170":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","42220":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","43113":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","43114":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","43288":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","44787":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","45000":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","47805":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","54211":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","56288":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","59140":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","71401":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","71402":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","73799":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","80001":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","84531":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","200101":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","200202":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","333999":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","421611":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","421613":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","534353":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","11155111":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","245022926":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","1313161554":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","1313161555":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","1666600000":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","1666700000":"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804","11297108099":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4","11297108109":"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4"},"abi":[{"inputs":[],"name":"NAME","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"VERSION","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"message","type":"bytes"}],"name":"getMessageHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract GnosisSafe","name":"safe","type":"address"},{"internalType":"bytes","name":"message","type":"bytes"}],"name":"getMessageHashForSafe","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getModules","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_dataHash","type":"bytes32"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"isValidSignature","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"isValidSignature","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"targetContract","type":"address"},{"internalType":"bytes","name":"calldataPayload","type":"bytes"}],"name":"simulate","outputs":[{"internalType":"bytes","name":"response","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"tokensReceived","outputs":[],"stateMutability":"pure","type":"function"}]}')}),a.register("8kzGI",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820","released":false,"contractName":"CompatibilityFallbackHandler","version":"1.4.0","networkAddresses":{"5":"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820","56":"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820","100":"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820"},"abi":[{"inputs":[{"internalType":"contract Safe","name":"safe","type":"address"},{"internalType":"bytes","name":"message","type":"bytes"}],"name":"encodeMessageDataForSafe","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"message","type":"bytes"}],"name":"getMessageHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract Safe","name":"safe","type":"address"},{"internalType":"bytes","name":"message","type":"bytes"}],"name":"getMessageHashForSafe","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getModules","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_dataHash","type":"bytes32"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"isValidSignature","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"_data","type":"bytes"},{"internalType":"bytes","name":"_signature","type":"bytes"}],"name":"isValidSignature","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"uint256[]","name":"","type":"uint256[]"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155BatchReceived","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC1155Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"targetContract","type":"address"},{"internalType":"bytes","name":"calldataPayload","type":"bytes"}],"name":"simulate","outputs":[{"internalType":"bytes","name":"response","type":"bytes"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"tokensReceived","outputs":[],"stateMutability":"pure","type":"function"}]}')}),a.register("gFAUG",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.getSimulateTxAccessorDeployment=void 0;let n=r(a("jIePL")),i=r(a("3n8Yl"));var s=a("iaBWx");let o=[i.default,n.default];e.exports.getSimulateTxAccessorDeployment=e=>(0,s.findDeployment)(e,o)}),a.register("jIePL",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","released":true,"contractName":"SimulateTxAccessor","version":"1.3.0","networkAddresses":{"1":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","3":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","4":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","5":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","10":"0x727a77a074D1E6c4530e814F89E618a3298FC044","11":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","12":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","18":"0x727a77a074D1E6c4530e814F89E618a3298FC044","25":"0x727a77a074D1E6c4530e814F89E618a3298FC044","28":"0x727a77a074D1E6c4530e814F89E618a3298FC044","39":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","40":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","41":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","42":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","50":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","51":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","56":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","61":"0x727a77a074D1E6c4530e814F89E618a3298FC044","63":"0x727a77a074D1E6c4530e814F89E618a3298FC044","69":"0x727a77a074D1E6c4530e814F89E618a3298FC044","82":"0x727a77a074D1E6c4530e814F89E618a3298FC044","83":"0x727a77a074D1E6c4530e814F89E618a3298FC044","97":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","100":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","106":"0x727a77a074D1E6c4530e814F89E618a3298FC044","108":"0x727a77a074D1E6c4530e814F89E618a3298FC044","111":"0x727a77a074D1E6c4530e814F89E618a3298FC044","122":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","123":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","137":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","246":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","250":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","288":"0x727a77a074D1E6c4530e814F89E618a3298FC044","300":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","321":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","322":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","336":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","338":"0x727a77a074D1E6c4530e814F89E618a3298FC044","420":"0x727a77a074D1E6c4530e814F89E618a3298FC044","588":"0x727a77a074D1E6c4530e814F89E618a3298FC044","592":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","595":"0x727a77a074D1E6c4530e814F89E618a3298FC044","599":"0x727a77a074D1E6c4530e814F89E618a3298FC044","686":"0x727a77a074D1E6c4530e814F89E618a3298FC044","787":"0x727a77a074D1E6c4530e814F89E618a3298FC044","1001":"0x727a77a074D1E6c4530e814F89E618a3298FC044","1008":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","1088":"0x727a77a074D1E6c4530e814F89E618a3298FC044","1101":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","1111":"0x727a77a074D1E6c4530e814F89E618a3298FC044","1112":"0x727a77a074D1E6c4530e814F89E618a3298FC044","1115":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","1116":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","1284":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","1285":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","1287":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","1294":"0x727a77a074D1E6c4530e814F89E618a3298FC044","1807":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","1984":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","2001":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","2002":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","2008":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","2019":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","2020":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","2221":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","2222":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","3737":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","4002":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","4689":"0x727a77a074D1E6c4530e814F89E618a3298FC044","4918":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","4919":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","5001":"0x727a77a074D1E6c4530e814F89E618a3298FC044","7341":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","7700":"0x727a77a074D1E6c4530e814F89E618a3298FC044","8217":"0x727a77a074D1E6c4530e814F89E618a3298FC044","9000":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","9001":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","9728":"0x727a77a074D1E6c4530e814F89E618a3298FC044","10000":"0x727a77a074D1E6c4530e814F89E618a3298FC044","10001":"0x727a77a074D1E6c4530e814F89E618a3298FC044","10200":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","11235":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","11437":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","12357":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","23294":"0x727a77a074D1E6c4530e814F89E618a3298FC044","42161":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","42170":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","42220":"0x727a77a074D1E6c4530e814F89E618a3298FC044","43113":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","43114":"0x727a77a074D1E6c4530e814F89E618a3298FC044","43288":"0x727a77a074D1E6c4530e814F89E618a3298FC044","44787":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","45000":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","47805":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","54211":"0x727a77a074D1E6c4530e814F89E618a3298FC044","56288":"0x727a77a074D1E6c4530e814F89E618a3298FC044","59140":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","71401":"0x727a77a074D1E6c4530e814F89E618a3298FC044","71402":"0x727a77a074D1E6c4530e814F89E618a3298FC044","73799":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","80001":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","84531":"0x727a77a074D1E6c4530e814F89E618a3298FC044","200101":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","200202":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","333999":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","421611":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","421613":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","534353":"0x727a77a074D1E6c4530e814F89E618a3298FC044","11155111":"0x727a77a074D1E6c4530e814F89E618a3298FC044","245022926":"0x727a77a074D1E6c4530e814F89E618a3298FC044","1313161554":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","1313161555":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","1666600000":"0x727a77a074D1E6c4530e814F89E618a3298FC044","1666700000":"0x727a77a074D1E6c4530e814F89E618a3298FC044","11297108099":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da","11297108109":"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da"},"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"simulate","outputs":[{"internalType":"uint256","name":"estimate","type":"uint256"},{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function"}]}')}),a.register("3n8Yl",function(e,t){e.exports=JSON.parse('{"defaultAddress":"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199","released":false,"contractName":"SimulateTxAccessor","version":"1.4.0","networkAddresses":{"5":"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199","56":"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199","100":"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199"},"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"enum Enum.Operation","name":"operation","type":"uint8"}],"name":"simulate","outputs":[{"internalType":"uint256","name":"estimate","type":"uint256"},{"internalType":"bool","name":"success","type":"bool"},{"internalType":"bytes","name":"returnData","type":"bytes"}],"stateMutability":"nonpayable","type":"function"}]}')}),a.register("1SJBK",function(e,t){"use strict";var r,n,i,s,o,u=e.exports&&e.exports.__classPrivateFieldSet||function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},l=e.exports&&e.exports.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};Object.defineProperty(e.exports,"__esModule",{value:!0});var c=a("9sENV"),d=a("fn2H0"),f=a("eakBT");class h{constructor(){r.set(this,void 0),n.set(this,void 0),i.set(this,void 0),s.set(this,void 0),o.set(this,void 0)}static async create(e){let t=new h;return await t.init(e),t}async init(e){var t,a;let l;let{ethAdapter:h,isL1SafeMasterCopy:p,contractNetworks:y}=e,m=await h.getChainId(),b=null==y?void 0:y[m];if(u(this,r,y,"f"),u(this,n,p,"f"),(0,f.isSafeConfigWithPredictedSafe)(e))l=null!==(a=null===(t=e.predictedSafe.safeDeploymentConfig)||void 0===t?void 0:t.safeVersion)&&void 0!==a?a:c.SAFE_LAST_VERSION;else{let t=await (0,d.getSafeContract)({ethAdapter:h,safeVersion:c.SAFE_LAST_VERSION,isL1SafeMasterCopy:p,customSafeAddress:e.safeAddress,customContracts:b});l=await t.getVersion(),u(this,i,await (0,d.getSafeContract)({ethAdapter:h,safeVersion:l,isL1SafeMasterCopy:p,customSafeAddress:e.safeAddress,customContracts:b}),"f")}u(this,s,await (0,d.getMultiSendContract)({ethAdapter:h,safeVersion:l,customContracts:b}),"f"),u(this,o,await (0,d.getMultiSendCallOnlyContract)({ethAdapter:h,safeVersion:l,customContracts:b}),"f")}get contractNetworks(){return l(this,r,"f")}get isL1SafeMasterCopy(){return l(this,n,"f")}get safeContract(){return l(this,i,"f")}get multiSendContract(){return l(this,s,"f")}get multiSendCallOnlyContract(){return l(this,o,"f")}}r=new WeakMap,n=new WeakMap,i=new WeakMap,s=new WeakMap,o=new WeakMap,e.exports.default=h}),a.register("9sENV",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.safeDeploymentsL1ChainIds=e.exports.safeDeploymentsVersions=e.exports.SAFE_BASE_VERSION=e.exports.SAFE_LAST_VERSION=void 0,e.exports.SAFE_LAST_VERSION="1.3.0",e.exports.SAFE_BASE_VERSION="1.0.0",e.exports.safeDeploymentsVersions={"1.3.0":{safeMasterCopyVersion:"1.3.0",safeMasterCopyL2Version:"1.3.0",safeProxyFactoryVersion:"1.3.0",compatibilityFallbackHandler:"1.3.0",multiSendVersion:"1.3.0",multiSendCallOnlyVersion:"1.3.0",signMessageLibVersion:"1.3.0",createCallVersion:"1.3.0"},"1.2.0":{safeMasterCopyVersion:"1.2.0",safeMasterCopyL2Version:void 0,safeProxyFactoryVersion:"1.1.1",compatibilityFallbackHandler:"1.3.0",multiSendVersion:"1.1.1",multiSendCallOnlyVersion:"1.3.0",signMessageLibVersion:"1.3.0",createCallVersion:"1.3.0"},"1.1.1":{safeMasterCopyVersion:"1.1.1",safeMasterCopyL2Version:void 0,safeProxyFactoryVersion:"1.1.1",compatibilityFallbackHandler:"1.3.0",multiSendVersion:"1.1.1",multiSendCallOnlyVersion:"1.3.0",signMessageLibVersion:"1.3.0",createCallVersion:"1.3.0"},"1.0.0":{safeMasterCopyVersion:"1.0.0",safeMasterCopyL2Version:void 0,safeProxyFactoryVersion:"1.0.0",compatibilityFallbackHandler:"1.3.0",multiSendVersion:"1.1.1",multiSendCallOnlyVersion:"1.3.0",signMessageLibVersion:"1.3.0",createCallVersion:"1.3.0"}},e.exports.safeDeploymentsL1ChainIds=[1]}),a.register("fn2H0",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.getCreateCallContract=e.exports.getSignMessageLibContract=e.exports.getMultiSendCallOnlyContract=e.exports.getMultiSendContract=e.exports.getCompatibilityFallbackHandlerContract=e.exports.getProxyFactoryContract=e.exports.getSafeContract=e.exports.getCreateCallContractDeployment=e.exports.getSignMessageLibContractDeployment=e.exports.getSafeProxyFactoryContractDeployment=e.exports.getMultiSendContractDeployment=e.exports.getMultiSendCallOnlyContractDeployment=e.exports.getCompatibilityFallbackHandlerContractDeployment=e.exports.getSafeContractDeployment=void 0;var r=a("hLMc5"),n=a("9sENV");function i(e,t,i=!1){let a=n.safeDeploymentsVersions[e].safeMasterCopyVersion,s={version:a,network:t.toString(),released:!0};return n.safeDeploymentsL1ChainIds.includes(t)||i?(0,r.getSafeSingletonDeployment)(s):(0,r.getSafeL2SingletonDeployment)(s)}function s(e,t){let i=n.safeDeploymentsVersions[e].compatibilityFallbackHandler;return(0,r.getCompatibilityFallbackHandlerDeployment)({version:i,network:t.toString(),released:!0})}function o(e,t){let i=n.safeDeploymentsVersions[e].multiSendCallOnlyVersion;return(0,r.getMultiSendCallOnlyDeployment)({version:i,network:t.toString(),released:!0})}function u(e,t){let i=n.safeDeploymentsVersions[e].multiSendVersion;return(0,r.getMultiSendDeployment)({version:i,network:t.toString(),released:!0})}function l(e,t){let i=n.safeDeploymentsVersions[e].safeProxyFactoryVersion;return(0,r.getProxyFactoryDeployment)({version:i,network:t.toString(),released:!0})}function c(e,t){let i=n.safeDeploymentsVersions[e].signMessageLibVersion;return(0,r.getSignMessageLibDeployment)({version:i,network:t.toString(),released:!0})}function d(e,t){let i=n.safeDeploymentsVersions[e].createCallVersion;return(0,r.getCreateCallDeployment)({version:i,network:t.toString(),released:!0})}async function f({ethAdapter:e,safeVersion:t,customSafeAddress:r,isL1SafeMasterCopy:n,customContracts:a}){let s=await e.getChainId(),o=i(t,s,n),u=await e.getSafeContract({safeVersion:t,singletonDeployment:o,customContractAddress:null!=r?r:null==a?void 0:a.safeMasterCopyAddress,customContractAbi:null==a?void 0:a.safeMasterCopyAbi}),l=await e.isContractDeployed(u.getAddress());if(!l)throw Error("SafeProxy contract is not deployed on the current network");return u}async function h({ethAdapter:e,safeVersion:t,customContracts:r}){let n=await e.getChainId(),i=l(t,n),a=await e.getSafeProxyFactoryContract({safeVersion:t,singletonDeployment:i,customContractAddress:null==r?void 0:r.safeProxyFactoryAddress,customContractAbi:null==r?void 0:r.safeProxyFactoryAbi}),s=await e.isContractDeployed(a.getAddress());if(!s)throw Error("SafeProxyFactory contract is not deployed on the current network");return a}async function p({ethAdapter:e,safeVersion:t,customContracts:r}){let n=await e.getChainId(),i=s(t,n),a=await e.getCompatibilityFallbackHandlerContract({safeVersion:t,singletonDeployment:i,customContractAddress:null==r?void 0:r.fallbackHandlerAddress,customContractAbi:null==r?void 0:r.fallbackHandlerAbi}),o=await e.isContractDeployed(a.getAddress());if(!o)throw Error("CompatibilityFallbackHandler contract is not deployed on the current network");return a}async function y({ethAdapter:e,safeVersion:t,customContracts:r}){let n=await e.getChainId(),i=u(t,n),a=await e.getMultiSendContract({safeVersion:t,singletonDeployment:i,customContractAddress:null==r?void 0:r.multiSendAddress,customContractAbi:null==r?void 0:r.multiSendAbi}),s=await e.isContractDeployed(a.getAddress());if(!s)throw Error("MultiSend contract is not deployed on the current network");return a}async function m({ethAdapter:e,safeVersion:t,customContracts:r}){let n=await e.getChainId(),i=o(t,n),a=await e.getMultiSendCallOnlyContract({safeVersion:t,singletonDeployment:i,customContractAddress:null==r?void 0:r.multiSendCallOnlyAddress,customContractAbi:null==r?void 0:r.multiSendCallOnlyAbi}),s=await e.isContractDeployed(a.getAddress());if(!s)throw Error("MultiSendCallOnly contract is not deployed on the current network");return a}async function b({ethAdapter:e,safeVersion:t,customContracts:r}){let n=await e.getChainId(),i=c(t,n),a=await e.getSignMessageLibContract({safeVersion:t,singletonDeployment:i,customContractAddress:null==r?void 0:r.signMessageLibAddress,customContractAbi:null==r?void 0:r.signMessageLibAbi}),s=await e.isContractDeployed(a.getAddress());if(!s)throw Error("SignMessageLib contract is not deployed on the current network");return a}async function g({ethAdapter:e,safeVersion:t,customContracts:r}){let n=await e.getChainId(),i=d(t,n),a=await e.getCreateCallContract({safeVersion:t,singletonDeployment:i,customContractAddress:null==r?void 0:r.createCallAddress,customContractAbi:null==r?void 0:r.createCallAbi}),s=await e.isContractDeployed(a.getAddress());if(!s)throw Error("CreateCall contract is not deployed on the current network");return a}e.exports.getSafeContractDeployment=i,e.exports.getCompatibilityFallbackHandlerContractDeployment=s,e.exports.getMultiSendCallOnlyContractDeployment=o,e.exports.getMultiSendContractDeployment=u,e.exports.getSafeProxyFactoryContractDeployment=l,e.exports.getSignMessageLibContractDeployment=c,e.exports.getCreateCallContractDeployment=d,e.exports.getSafeContract=f,e.exports.getProxyFactoryContract=h,e.exports.getCompatibilityFallbackHandlerContract=p,e.exports.getMultiSendContract=y,e.exports.getMultiSendCallOnlyContract=m,e.exports.getSignMessageLibContract=b,e.exports.getCreateCallContract=g}),a.register("hLMc5",function(e,t){"use strict";var r=e.exports&&e.exports.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r);var i=Object.getOwnPropertyDescriptor(t,r);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[r]}}),Object.defineProperty(e,n,i)}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),n=e.exports&&e.exports.__exportStar||function(e,t){for(var n in e)"default"===n||Object.prototype.hasOwnProperty.call(t,n)||r(t,e,n)};Object.defineProperty(e.exports,"__esModule",{value:!0}),n(a("hZ9RD"),e.exports),n(a("hwOfH"),e.exports),n(a("gJilu"),e.exports),n(a("3ERWQ"),e.exports),n(a("5IdKJ"),e.exports),n(a("gFAUG"),e.exports)}),a.register("eakBT",function(e,t){"use strict";Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.isSafeConfigWithPredictedSafe=void 0,e.exports.isSafeConfigWithPredictedSafe=function(e){return void 0!==e.predictedSafe}}),a.register("aEhpL",function(e,t){"use strict";var r,n,i,s,o,u,l,c=e.exports&&e.exports.__classPrivateFieldSet||function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},d=e.exports&&e.exports.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},f=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});var h=a("1chjt"),p=a("5xott"),y=a("9sENV"),m=a("fPni6");let b=f(a("1SJBK")),g=f(a("fj7Yf")),v=f(a("8AUA8")),w=f(a("gwBNF")),A=f(a("1rQd7"));var E=a("7a7Pr"),x=a("jLUEs");let M=f(a("dYBmn"));var T=a("3MW9o"),C=a("eakBT");class _{constructor(){r.set(this,void 0),n.set(this,void 0),i.set(this,void 0),s.set(this,void 0),o.set(this,void 0),u.set(this,void 0),l.set(this,void 0)}static async create(e){let t=new _;return await t.init(e),t}async init(e){let{ethAdapter:t,isL1SafeMasterCopy:a,contractNetworks:f}=e;c(this,n,t,"f"),(0,C.isSafeConfigWithPredictedSafe)(e)?(c(this,r,e.predictedSafe,"f"),c(this,i,await b.default.create({ethAdapter:d(this,n,"f"),predictedSafe:d(this,r,"f"),isL1SafeMasterCopy:a,contractNetworks:f}),"f")):c(this,i,await b.default.create({ethAdapter:d(this,n,"f"),safeAddress:e.safeAddress,isL1SafeMasterCopy:a,contractNetworks:f}),"f"),c(this,s,new A.default(d(this,n,"f"),d(this,i,"f").safeContract),"f"),c(this,o,new w.default(d(this,n,"f"),d(this,i,"f").safeContract),"f"),c(this,u,new v.default(d(this,n,"f"),d(this,i,"f").safeContract),"f"),c(this,l,new g.default(d(this,n,"f"),d(this,i,"f").safeContract),"f")}async connect(e){let{ethAdapter:t,safeAddress:a,predictedSafe:s,isL1SafeMasterCopy:o,contractNetworks:u}=e,l={ethAdapter:t||d(this,n,"f"),isL1SafeMasterCopy:o||d(this,i,"f").isL1SafeMasterCopy,contractNetworks:u||d(this,i,"f").contractNetworks};return a?await _.create({safeAddress:a,...l}):s?await _.create({predictedSafe:s,...l}):d(this,r,"f")?await _.create({predictedSafe:d(this,r,"f"),...l}):await _.create({safeAddress:await this.getAddress(),...l})}async getAddress(){var e;if(d(this,r,"f")){let t=await this.getContractVersion();if(!(0,E.hasSafeFeature)(E.SAFE_FEATURES.ACCOUNT_ABSTRACTION,t))throw Error("Account Abstraction functionality is not available for Safes with version lower than v1.3.0");let a=await d(this,n,"f").getChainId();return(0,m.predictSafeAddress)({ethAdapter:d(this,n,"f"),customContracts:null===(e=d(this,i,"f").contractNetworks)||void 0===e?void 0:e[a],...d(this,r,"f")})}if(!d(this,i,"f").safeContract)throw Error("Safe is not deployed");return Promise.resolve(d(this,i,"f").safeContract.getAddress())}getContractManager(){return d(this,i,"f")}getEthAdapter(){return d(this,n,"f")}getMultiSendAddress(){return d(this,i,"f").multiSendContract.getAddress()}getMultiSendCallOnlyAddress(){return d(this,i,"f").multiSendCallOnlyContract.getAddress()}async isSafeDeployed(){let e=await this.getAddress(),t=await d(this,n,"f").isContractDeployed(e);return t}async getContractVersion(){var e,t;return d(this,i,"f").safeContract?d(this,i,"f").safeContract.getVersion():(null===(t=null===(e=d(this,r,"f"))||void 0===e?void 0:e.safeDeploymentConfig)||void 0===t?void 0:t.safeVersion)?Promise.resolve(d(this,r,"f").safeDeploymentConfig.safeVersion):Promise.resolve(y.SAFE_LAST_VERSION)}async getOwners(){var e;return(null===(e=d(this,r,"f"))||void 0===e?void 0:e.safeAccountConfig.owners)?Promise.resolve(d(this,r,"f").safeAccountConfig.owners):d(this,s,"f").getOwners()}async getNonce(){return d(this,i,"f").safeContract?d(this,i,"f").safeContract.getNonce():Promise.resolve(0)}async getThreshold(){var e;return(null===(e=d(this,r,"f"))||void 0===e?void 0:e.safeAccountConfig.threshold)?Promise.resolve(d(this,r,"f").safeAccountConfig.threshold):d(this,s,"f").getThreshold()}async getChainId(){return d(this,n,"f").getChainId()}async getBalance(){return d(this,n,"f").getBalance(await this.getAddress())}getFallbackHandler(){return d(this,l,"f").getFallbackHandler()}async getGuard(){return d(this,u,"f").getGuard()}async getModules(){return d(this,o,"f").getModules()}async isModuleEnabled(e){return d(this,o,"f").isModuleEnabled(e)}async isOwner(e){var t,n;return(null===(t=d(this,r,"f"))||void 0===t?void 0:t.safeAccountConfig.owners)?Promise.resolve(null===(n=d(this,r,"f"))||void 0===n?void 0:n.safeAccountConfig.owners.some(t=>(0,E.sameString)(t,e))):d(this,s,"f").isOwner(e)}async createTransaction({safeTransactionData:e,onlyCalls:t=!1,options:a}){let s;let o=await this.getContractVersion();if(d(this,r,"f")&&!(0,E.hasSafeFeature)(E.SAFE_FEATURES.ACCOUNT_ABSTRACTION,o))throw Error("Account Abstraction functionality is not available for Safes with version lower than v1.3.0");if((0,E.isMetaTransactionArray)(e)&&0===e.length)throw Error("Invalid empty array of transactions");if((0,E.isMetaTransactionArray)(e)&&e.length>1){let r=t?d(this,i,"f").multiSendCallOnlyContract:d(this,i,"f").multiSendContract,n=(0,T.encodeMultiSendData)(e.map(T.standardizeMetaTransactionData)),o={...a,to:r.getAddress(),value:"0",data:r.encode("multiSend",[n]),operation:p.OperationType.DelegateCall};s=o}else s=(0,E.isMetaTransactionArray)(e)?{...a,...e[0]}:e;if(d(this,r,"f"))return new M.default(await (0,T.standardizeSafeTransactionData)({predictedSafe:d(this,r,"f"),ethAdapter:d(this,n,"f"),tx:s}));if(!d(this,i,"f").safeContract)throw Error("Safe is not deployed");return new M.default(await (0,T.standardizeSafeTransactionData)({safeContract:d(this,i,"f").safeContract,ethAdapter:d(this,n,"f"),tx:s}))}async createRejectionTransaction(e){let t={to:await this.getAddress(),nonce:e,value:"0",data:"0x",safeTxGas:"0"};return this.createTransaction({safeTransactionData:t})}async copyTransaction(e){let t=await this.createTransaction({safeTransactionData:e.data});return e.signatures.forEach(e=>{t.addSignature(e)}),t}async getTransactionHash(e){if(!d(this,i,"f").safeContract)throw Error("Safe is not deployed");let t=e.data,r=await d(this,i,"f").safeContract.getTransactionHash(t);return r}async signTransactionHash(e){return(0,x.generateSignature)(d(this,n,"f"),e)}async signTypedData(e,t){let r={safeAddress:await this.getAddress(),safeVersion:await this.getContractVersion(),chainId:await this.getEthAdapter().getChainId(),safeTransactionData:e.data};return(0,x.generateEIP712Signature)(d(this,n,"f"),r,t)}async signTransaction(e,t="eth_signTypedData_v4"){let r;let i=(0,E.isSafeMultisigTransactionResponse)(e)?await this.toSafeTransactionType(e):e,a=await this.getOwners(),s=await d(this,n,"f").getSignerAddress();if(!s)throw Error("EthAdapter must be initialized with a signer to use this method");let o=a.some(e=>s&&(0,E.sameString)(e,s));if(!o)throw Error("Transactions can only be signed by Safe owners");if("eth_signTypedData_v4"===t)r=await this.signTypedData(i,"v4");else if("eth_signTypedData_v3"===t)r=await this.signTypedData(i,"v3");else if("eth_signTypedData"===t)r=await this.signTypedData(i);else{let e=await this.getContractVersion();if(!(0,E.hasSafeFeature)(E.SAFE_FEATURES.ETH_SIGN,e))throw Error("eth_sign is only supported by Safes >= v1.1.0");let t=await this.getTransactionHash(i);r=await this.signTransactionHash(t)}let u=await this.createTransaction({safeTransactionData:i.data});return i.signatures.forEach(e=>{u.addSignature(e)}),u.addSignature(r),u}async approveTransactionHash(e,t){if(!d(this,i,"f").safeContract)throw Error("Safe is not deployed");let r=await this.getOwners(),a=await d(this,n,"f").getSignerAddress();if(!a)throw Error("EthAdapter must be initialized with a signer to use this method");let s=r.some(e=>a&&(0,E.sameString)(e,a));if(!s)throw Error("Transaction hashes can only be approved by Safe owners");if((null==t?void 0:t.gas)&&(null==t?void 0:t.gasLimit))throw Error("Cannot specify gas and gasLimit together in transaction options");return d(this,i,"f").safeContract.approveHash(e,{from:a,...t})}async getOwnersWhoApprovedTx(e){if(!d(this,i,"f").safeContract)throw Error("Safe is not deployed");let t=await this.getOwners(),r=[];for(let n of t){let t=await d(this,i,"f").safeContract.approvedHashes(n,e);t.gt(0)&&r.push(n)}return r}async createEnableFallbackHandlerTx(e,t){let r={to:await this.getAddress(),value:"0",data:await d(this,l,"f").encodeEnableFallbackHandlerData(e),...t},n=await this.createTransaction({safeTransactionData:r});return n}async createDisableFallbackHandlerTx(e){let t={to:await this.getAddress(),value:"0",data:await d(this,l,"f").encodeDisableFallbackHandlerData(),...e},r=await this.createTransaction({safeTransactionData:t});return r}async createEnableGuardTx(e,t){let r={to:await this.getAddress(),value:"0",data:await d(this,u,"f").encodeEnableGuardData(e),...t},n=await this.createTransaction({safeTransactionData:r});return n}async createDisableGuardTx(e){let t={to:await this.getAddress(),value:"0",data:await d(this,u,"f").encodeDisableGuardData(),...e},r=await this.createTransaction({safeTransactionData:t});return r}async createEnableModuleTx(e,t){let r={to:await this.getAddress(),value:"0",data:await d(this,o,"f").encodeEnableModuleData(e),...t},n=await this.createTransaction({safeTransactionData:r});return n}async createDisableModuleTx(e,t){let r={to:await this.getAddress(),value:"0",data:await d(this,o,"f").encodeDisableModuleData(e),...t},n=await this.createTransaction({safeTransactionData:r});return n}async createAddOwnerTx({ownerAddress:e,threshold:t},r){let n={to:await this.getAddress(),value:"0",data:await d(this,s,"f").encodeAddOwnerWithThresholdData(e,t),...r},i=await this.createTransaction({safeTransactionData:n});return i}async createRemoveOwnerTx({ownerAddress:e,threshold:t},r){let n={to:await this.getAddress(),value:"0",data:await d(this,s,"f").encodeRemoveOwnerData(e,t),...r},i=await this.createTransaction({safeTransactionData:n});return i}async createSwapOwnerTx({oldOwnerAddress:e,newOwnerAddress:t},r){let n={to:await this.getAddress(),value:"0",data:await d(this,s,"f").encodeSwapOwnerData(e,t),...r},i=await this.createTransaction({safeTransactionData:n});return i}async createChangeThresholdTx(e,t){let r={to:await this.getAddress(),value:"0",data:await d(this,s,"f").encodeChangeThresholdData(e),...t},n=await this.createTransaction({safeTransactionData:r});return n}async toSafeTransactionType(e){var t;let r={to:e.to,value:e.value,data:e.data||"0x",operation:e.operation,safeTxGas:e.safeTxGas.toString(),baseGas:e.baseGas.toString(),gasPrice:e.gasPrice,gasToken:e.gasToken,refundReceiver:e.refundReceiver,nonce:e.nonce},n=await this.createTransaction({safeTransactionData:r});return null===(t=e.confirmations)||void 0===t||t.map(e=>{let t=new E.EthSafeSignature(e.owner,e.signature);n.addSignature(t)}),n}async isValidTransaction(e,t){if(!d(this,i,"f").safeContract)throw Error("Safe is not deployed");let r=(0,E.isSafeMultisigTransactionResponse)(e)?await this.toSafeTransactionType(e):e,a=await this.copyTransaction(r),s=await this.getTransactionHash(a),o=await this.getOwnersWhoApprovedTx(s);for(let e of o)a.addSignature((0,x.generatePreValidatedSignature)(e));let u=await this.getOwners(),l=await d(this,n,"f").getSignerAddress();if(!l)throw Error("EthAdapter must be initialized with a signer to use this method");u.includes(l)&&a.addSignature((0,x.generatePreValidatedSignature)(l));let c=await d(this,i,"f").safeContract.isValidTransaction(a,{from:l,...t});return c}async executeTransaction(e,t){if(!d(this,i,"f").safeContract)throw Error("Safe is not deployed");let r=(0,E.isSafeMultisigTransactionResponse)(e)?await this.toSafeTransactionType(e):e,a=await this.copyTransaction(r),s=await this.getTransactionHash(a),o=await this.getOwnersWhoApprovedTx(s);for(let e of o)a.addSignature((0,x.generatePreValidatedSignature)(e));let u=await this.getOwners(),l=await d(this,n,"f").getSignerAddress();l&&u.includes(l)&&a.addSignature((0,x.generatePreValidatedSignature)(l));let c=await this.getThreshold();if(c>a.signatures.size){let e=c-a.signatures.size;throw Error(`There ${e>1?"are":"is"} ${e} signature${e>1?"s":""} missing`)}let f=h.BigNumber.from(a.data.value);if(!f.isZero()){let e=await this.getBalance();if(f.gt(h.BigNumber.from(e)))throw Error("Not enough Ether funds")}if((null==t?void 0:t.gas)&&(null==t?void 0:t.gasLimit))throw Error("Cannot specify gas and gasLimit together in transaction options");let p=await d(this,i,"f").safeContract.execTransaction(a,{from:l,...t});return p}}r=new WeakMap,n=new WeakMap,i=new WeakMap,s=new WeakMap,o=new WeakMap,u=new WeakMap,l=new WeakMap,e.exports.default=_}),a.register("fPni6",function(e,t){"use strict";var r=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0}),e.exports.validateSafeDeploymentConfig=e.exports.validateSafeAccountConfig=e.exports.predictSafeAddress=e.exports.encodeSetupCallData=e.exports.encodeCreateProxyWithNonce=e.exports.PREDETERMINED_SALT_NONCE=void 0;var n=a("7Z98w"),i=a("bVwUc"),s=a("1chjt");let o=r(a("eHBEA"));var u=a("fn2H0"),l=a("cm07l"),c=a("9sENV");async function d({ethAdapter:e,safeAccountConfig:t,safeContract:r,customContracts:n}){let{owners:a,threshold:s,to:c=l.ZERO_ADDRESS,data:d=l.EMPTY_DATA,fallbackHandler:f,paymentToken:h=l.ZERO_ADDRESS,payment:p=0,paymentReceiver:y=l.ZERO_ADDRESS}=t,m=await r.getVersion();if((0,o.default)(m,"<=1.0.0"))return r.encode("setup",[a,s,c,d,h,p,y]);let b=f,g=void 0!==b&&(0,i.isAddress)(b);if(!g){let t=await (0,u.getCompatibilityFallbackHandlerContract)({ethAdapter:e,safeVersion:m,customContracts:n});b=t.getAddress()}return r.encode("setup",[a,s,c,d,b,h,p,y])}async function f({ethAdapter:t,safeAccountConfig:r,safeDeploymentConfig:i={},isL1SafeMasterCopy:a=!1,customContracts:s}){(0,e.exports.validateSafeAccountConfig)(r),(0,e.exports.validateSafeDeploymentConfig)(i);let{safeVersion:o=c.SAFE_LAST_VERSION,saltNonce:l=e.exports.PREDETERMINED_SALT_NONCE}=i,f=await (0,u.getProxyFactoryContract)({ethAdapter:t,safeVersion:o,customContracts:s}),h=await f.proxyCreationCode(),p=await (0,u.getSafeContract)({ethAdapter:t,safeVersion:o,isL1SafeMasterCopy:a,customContracts:s}),y=await d({ethAdapter:t,safeAccountConfig:r,safeContract:p,customContracts:s}),m=(0,n.toBuffer)(t.encodeParameters(["uint256"],[l])).toString("hex"),b=(0,n.keccak256)((0,n.toBuffer)("0x"+(0,n.keccak256)((0,n.toBuffer)(y)).toString("hex")+m)),g=(0,n.toBuffer)(t.encodeParameters(["address"],[p.getAddress()])).toString("hex"),v="0x"+(0,n.generateAddress2)((0,n.toBuffer)(f.getAddress()),(0,n.toBuffer)(b),(0,n.toBuffer)(h+g)).toString("hex");return t.getChecksummedAddress(v)}e.exports.PREDETERMINED_SALT_NONCE="0xb1073742015cbcf5a3a4d9d1ae33ecf619439710b89475f92e2abd2117e90f90",e.exports.encodeCreateProxyWithNonce=function(t,r,n){return t.encode("createProxyWithNonce",[r,n,e.exports.PREDETERMINED_SALT_NONCE])},e.exports.encodeSetupCallData=d,e.exports.predictSafeAddress=f,e.exports.validateSafeAccountConfig=({owners:e,threshold:t})=>{if(e.length<=0)throw Error("Owner list must have at least one owner");if(t<=0)throw Error("Threshold must be greater than or equal to 1");if(t>e.length)throw Error("Threshold must be lower than or equal to owners length")},e.exports.validateSafeDeploymentConfig=({saltNonce:e})=>{if(e&&s.BigNumber.from(e).lt(0))throw Error("saltNonce must be greater than or equal to 0")}}),a.register("fj7Yf",function(e,t){"use strict";var r,n,i,s=e.exports&&e.exports.__classPrivateFieldSet||function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},o=e.exports&&e.exports.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};Object.defineProperty(e.exports,"__esModule",{value:!0});var u=a("7a7Pr"),l=a("cm07l");r=new WeakMap,n=new WeakMap,i=new WeakMap,e.exports.default=class{constructor(e,t){r.set(this,void 0),n.set(this,void 0),i.set(this,"0x6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d5"),s(this,r,e,"f"),s(this,n,t,"f")}validateFallbackHandlerAddress(e){let t=o(this,r,"f").isAddress(e);if(!t||(0,u.isZeroAddress)(e))throw Error("Invalid fallback handler address provided")}validateFallbackHandlerIsNotEnabled(e,t){if((0,u.sameString)(e,t))throw Error("Fallback handler provided is already enabled")}validateFallbackHandlerIsEnabled(e){if((0,u.isZeroAddress)(e))throw Error("There is no fallback handler enabled yet")}async getFallbackHandler(){if(!o(this,n,"f"))throw Error("Safe is not deployed");let e=await o(this,n,"f").getVersion();if((0,u.hasSafeFeature)(u.SAFE_FEATURES.SAFE_FALLBACK_HANDLER,e))return o(this,r,"f").getStorageAt(o(this,n,"f").getAddress(),o(this,i,"f"));throw Error("Current version of the Safe does not support the fallback handler functionality")}async encodeEnableFallbackHandlerData(e){if(!o(this,n,"f"))throw Error("Safe is not deployed");this.validateFallbackHandlerAddress(e);let t=await this.getFallbackHandler();return this.validateFallbackHandlerIsNotEnabled(t,e),o(this,n,"f").encode("setFallbackHandler",[e])}async encodeDisableFallbackHandlerData(){if(!o(this,n,"f"))throw Error("Safe is not deployed");let e=await this.getFallbackHandler();return this.validateFallbackHandlerIsEnabled(e),o(this,n,"f").encode("setFallbackHandler",[l.ZERO_ADDRESS])}}}),a.register("8AUA8",function(e,t){"use strict";var r,n,i,s=e.exports&&e.exports.__classPrivateFieldSet||function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},o=e.exports&&e.exports.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};Object.defineProperty(e.exports,"__esModule",{value:!0});var u=a("7a7Pr"),l=a("cm07l");r=new WeakMap,n=new WeakMap,i=new WeakMap,e.exports.default=class{constructor(e,t){r.set(this,void 0),n.set(this,void 0),i.set(this,"0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8"),s(this,r,e,"f"),s(this,n,t,"f")}validateGuardAddress(e){let t=o(this,r,"f").isAddress(e);if(!t||(0,u.isZeroAddress)(e))throw Error("Invalid guard address provided")}validateGuardIsNotEnabled(e,t){if((0,u.sameString)(e,t))throw Error("Guard provided is already enabled")}validateGuardIsEnabled(e){if((0,u.isZeroAddress)(e))throw Error("There is no guard enabled yet")}async getGuard(){if(!o(this,n,"f"))throw Error("Safe is not deployed");let e=await o(this,n,"f").getVersion();if((0,u.hasSafeFeature)(u.SAFE_FEATURES.SAFE_TX_GUARDS,e))return o(this,r,"f").getStorageAt(o(this,n,"f").getAddress(),o(this,i,"f"));throw Error("Current version of the Safe does not support Safe transaction guards functionality")}async encodeEnableGuardData(e){if(!o(this,n,"f"))throw Error("Safe is not deployed");this.validateGuardAddress(e);let t=await this.getGuard();return this.validateGuardIsNotEnabled(t,e),o(this,n,"f").encode("setGuard",[e])}async encodeDisableGuardData(){if(!o(this,n,"f"))throw Error("Safe is not deployed");let e=await this.getGuard();return this.validateGuardIsEnabled(e),o(this,n,"f").encode("setGuard",[l.ZERO_ADDRESS])}}}),a.register("gwBNF",function(e,t){"use strict";var r,n,i=e.exports&&e.exports.__classPrivateFieldSet||function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},s=e.exports&&e.exports.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};Object.defineProperty(e.exports,"__esModule",{value:!0});var o=a("gOIod"),u=a("cm07l");r=new WeakMap,n=new WeakMap,e.exports.default=class{constructor(e,t){r.set(this,void 0),n.set(this,void 0),i(this,r,e,"f"),i(this,n,t,"f")}validateModuleAddress(e){let t=s(this,r,"f").isAddress(e);if(!t||(0,o.isRestrictedAddress)(e))throw Error("Invalid module address provided")}validateModuleIsNotEnabled(e,t){let r=t.findIndex(t=>(0,o.sameString)(t,e));if(r>=0)throw Error("Module provided is already enabled")}validateModuleIsEnabled(e,t){let r=t.findIndex(t=>(0,o.sameString)(t,e));if(!(r>=0))throw Error("Module provided is not enabled yet");return r}async getModules(){if(!s(this,n,"f"))throw Error("Safe is not deployed");return s(this,n,"f").getModules()}async isModuleEnabled(e){if(!s(this,n,"f"))throw Error("Safe is not deployed");return s(this,n,"f").isModuleEnabled(e)}async encodeEnableModuleData(e){if(!s(this,n,"f"))throw Error("Safe is not deployed");this.validateModuleAddress(e);let t=await this.getModules();return this.validateModuleIsNotEnabled(e,t),s(this,n,"f").encode("enableModule",[e])}async encodeDisableModuleData(e){if(!s(this,n,"f"))throw Error("Safe is not deployed");this.validateModuleAddress(e);let t=await this.getModules(),r=this.validateModuleIsEnabled(e,t),i=0===r?u.SENTINEL_ADDRESS:t[r-1];return s(this,n,"f").encode("disableModule",[i,e])}}}),a.register("1rQd7",function(e,t){"use strict";var r,n,i=e.exports&&e.exports.__classPrivateFieldSet||function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},s=e.exports&&e.exports.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)};Object.defineProperty(e.exports,"__esModule",{value:!0});var o=a("gOIod"),u=a("cm07l");r=new WeakMap,n=new WeakMap,e.exports.default=class{constructor(e,t){r.set(this,void 0),n.set(this,void 0),i(this,r,e,"f"),i(this,n,t,"f")}validateOwnerAddress(e,t){let n=s(this,r,"f").isAddress(e);if(!n||(0,o.isRestrictedAddress)(e))throw Error(t||"Invalid owner address provided")}validateThreshold(e,t){if(e<=0)throw Error("Threshold needs to be greater than 0");if(e>t)throw Error("Threshold cannot exceed owner count")}validateAddressIsNotOwner(e,t,r){let n=t.findIndex(t=>(0,o.sameString)(t,e));if(n>=0)throw Error(r||"Address provided is already an owner")}validateAddressIsOwner(e,t,r){let n=t.findIndex(t=>(0,o.sameString)(t,e));if(!(n>=0))throw Error(r||"Address provided is not an owner");return n}async getOwners(){if(!s(this,n,"f"))throw Error("Safe is not deployed");let e=await s(this,n,"f").getOwners();return[...e]}async getThreshold(){if(!s(this,n,"f"))throw Error("Safe is not deployed");return s(this,n,"f").getThreshold()}async isOwner(e){if(!s(this,n,"f"))throw Error("Safe is not deployed");return s(this,n,"f").isOwner(e)}async encodeAddOwnerWithThresholdData(e,t){if(!s(this,n,"f"))throw Error("Safe is not deployed");this.validateOwnerAddress(e);let r=await this.getOwners();this.validateAddressIsNotOwner(e,r);let i=null!=t?t:await this.getThreshold();return this.validateThreshold(i,r.length+1),s(this,n,"f").encode("addOwnerWithThreshold",[e,i])}async encodeRemoveOwnerData(e,t){if(!s(this,n,"f"))throw Error("Safe is not deployed");this.validateOwnerAddress(e);let r=await this.getOwners(),i=this.validateAddressIsOwner(e,r),a=null!=t?t:await this.getThreshold()-1;this.validateThreshold(a,r.length-1);let o=0===i?u.SENTINEL_ADDRESS:r[i-1];return s(this,n,"f").encode("removeOwner",[o,e,a])}async encodeSwapOwnerData(e,t){if(!s(this,n,"f"))throw Error("Safe is not deployed");this.validateOwnerAddress(t,"Invalid new owner address provided"),this.validateOwnerAddress(e,"Invalid old owner address provided");let r=await this.getOwners();this.validateAddressIsNotOwner(t,r,"New address provided is already an owner");let i=this.validateAddressIsOwner(e,r,"Old address provided is not an owner"),a=0===i?u.SENTINEL_ADDRESS:r[i-1];return s(this,n,"f").encode("swapOwner",[a,e,t])}async encodeChangeThresholdData(e){if(!s(this,n,"f"))throw Error("Safe is not deployed");let t=await this.getOwners();return this.validateThreshold(e,t.length),s(this,n,"f").encode("changeThreshold",[e])}}}),a.register("7Jdch",function(e,t){"use strict";var r,n,i,s,o,u,l=e.exports&&e.exports.__classPrivateFieldSet||function(e,t,r,n,i){if("m"===n)throw TypeError("Private method is not writable");if("a"===n&&!i)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!i:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===n?i.call(e,r):i?i.value=r:t.set(e,r),r},c=e.exports&&e.exports.__classPrivateFieldGet||function(e,t,r,n){if("a"===r&&!n)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?n:"a"===r?n.call(e):n?n.value:t.get(e)},d=e.exports&&e.exports.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(e.exports,"__esModule",{value:!0});var f=a("9sENV"),h=a("fn2H0");let p=d(a("aEhpL"));var y=a("fPni6");class m{constructor(){r.set(this,void 0),n.set(this,void 0),i.set(this,void 0),s.set(this,void 0),o.set(this,void 0),u.set(this,void 0)}static async create({ethAdapter:e,safeVersion:t=f.SAFE_LAST_VERSION,isL1SafeMasterCopy:r=!1,contractNetworks:n}){let i=new m;return await i.init({ethAdapter:e,safeVersion:t,isL1SafeMasterCopy:r,contractNetworks:n}),i}async init({ethAdapter:e,safeVersion:t,isL1SafeMasterCopy:a,contractNetworks:d}){l(this,s,e,"f"),l(this,i,t,"f"),l(this,n,a,"f"),l(this,r,d,"f");let f=await c(this,s,"f").getChainId(),p=null==d?void 0:d[f];l(this,o,await (0,h.getProxyFactoryContract)({ethAdapter:e,safeVersion:t,customContracts:p}),"f"),l(this,u,await (0,h.getSafeContract)({ethAdapter:e,safeVersion:t,isL1SafeMasterCopy:a,customContracts:p}),"f")}getEthAdapter(){return c(this,s,"f")}getSafeVersion(){return c(this,i,"f")}getAddress(){return c(this,o,"f").getAddress()}async getChainId(){return c(this,s,"f").getChainId()}async predictSafeAddress(e,t=y.PREDETERMINED_SALT_NONCE){var a;let o=await c(this,s,"f").getChainId(),u=null===(a=c(this,r,"f"))||void 0===a?void 0:a[o],l=c(this,i,"f");return(0,y.predictSafeAddress)({ethAdapter:c(this,s,"f"),safeAccountConfig:e,safeDeploymentConfig:{saltNonce:t,safeVersion:l},isL1SafeMasterCopy:c(this,n,"f"),customContracts:u})}async deploySafe({safeAccountConfig:e,saltNonce:t=y.PREDETERMINED_SALT_NONCE,options:i,callback:a}){var l;(0,y.validateSafeAccountConfig)(e),(0,y.validateSafeDeploymentConfig)({saltNonce:t});let d=await c(this,s,"f").getSignerAddress();if(!d)throw Error("EthAdapter must be initialized with a signer to use this method");let f=await this.getChainId(),h=null===(l=c(this,r,"f"))||void 0===l?void 0:l[f],m=await (0,y.encodeSetupCallData)({ethAdapter:c(this,s,"f"),safeAccountConfig:e,safeContract:c(this,u,"f"),customContracts:h});if((null==i?void 0:i.gas)&&(null==i?void 0:i.gasLimit))throw Error("Cannot specify gas and gasLimit together in transaction options");let b=await c(this,o,"f").createProxy({safeMasterCopyAddress:c(this,u,"f").getAddress(),initializer:m,saltNonce:t,options:{from:d,...i},callback:a}),g=await c(this,s,"f").isContractDeployed(b);if(!g)throw Error("SafeProxy contract is not deployed on the current network");let v=await p.default.create({ethAdapter:c(this,s,"f"),safeAddress:b,isL1SafeMasterCopy:c(this,n,"f"),contractNetworks:c(this,r,"f")});return v}}r=new WeakMap,n=new WeakMap,i=new WeakMap,s=new WeakMap,o=new WeakMap,u=new WeakMap,e.exports.default=m});"use strict";var s={},o=s&&s.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(s,"__esModule",{value:!0}),s.EthSafeSignature=s.encodeCreateProxyWithNonce=s.PREDETERMINED_SALT_NONCE=s.encodeSetupCallData=s.predictSafeAddress=s.getCreateCallContract=s.getSignMessageLibContract=s.getMultiSendCallOnlyContract=s.getMultiSendContract=s.getCompatibilityFallbackHandlerContract=s.getProxyFactoryContract=s.getSafeContract=s.SignMessageLibWeb3Contract=s.MultiSendCallOnlyWeb3Contract=s.MultiSendWeb3Contract=s.GnosisSafeProxyFactoryWeb3Contract=s.GnosisSafeContractWeb3=s.CreateCallWeb3Contract=s.Web3Adapter=s.SignMessageLibEthersContract=s.MultiSendCallOnlyEthersContract=s.MultiSendEthersContract=s.GnosisSafeProxyFactoryEthersContract=s.GnosisSafeContractEthers=s.CreateCallEthersContract=s.EthersAdapter=s.standardizeSafeTransactionData=s.encodeMultiSendData=s.SafeFactory=s.ContractManager=void 0;"use strict";var u={},l=u&&u.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(u,"__esModule",{value:!0}),u.SignMessageLibEthersContract=u.MultiSendCallOnlyEthersContract=u.MultiSendEthersContract=u.GnosisSafeProxyFactoryEthersContract=u.GnosisSafeContractEthers=u.CreateCallEthersContract=u.EthersAdapter=void 0;const c=l(a("5UmCz"));u.CreateCallEthersContract=c.default;const d=l(a("i0h9t"));u.GnosisSafeContractEthers=d.default;const f=l(a("bITUK"));u.GnosisSafeProxyFactoryEthersContract=f.default;const h=l(a("gtiOu"));u.MultiSendEthersContract=h.default;const p=l(a("dTiG3"));u.MultiSendCallOnlyEthersContract=p.default;const y=l(a("8Chaz"));u.SignMessageLibEthersContract=y.default;const m=l(a("iOLGS"));u.EthersAdapter=m.default,Object.defineProperty(s,"CreateCallEthersContract",{enumerable:!0,get:function(){return u.CreateCallEthersContract}}),Object.defineProperty(s,"EthersAdapter",{enumerable:!0,get:function(){return u.EthersAdapter}}),Object.defineProperty(s,"GnosisSafeContractEthers",{enumerable:!0,get:function(){return u.GnosisSafeContractEthers}}),Object.defineProperty(s,"GnosisSafeProxyFactoryEthersContract",{enumerable:!0,get:function(){return u.GnosisSafeProxyFactoryEthersContract}}),Object.defineProperty(s,"MultiSendCallOnlyEthersContract",{enumerable:!0,get:function(){return u.MultiSendCallOnlyEthersContract}}),Object.defineProperty(s,"MultiSendEthersContract",{enumerable:!0,get:function(){return u.MultiSendEthersContract}}),Object.defineProperty(s,"SignMessageLibEthersContract",{enumerable:!0,get:function(){return u.SignMessageLibEthersContract}});"use strict";var b={},g=b&&b.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(b,"__esModule",{value:!0}),b.SignMessageLibWeb3Contract=b.MultiSendCallOnlyWeb3Contract=b.MultiSendWeb3Contract=b.GnosisSafeProxyFactoryWeb3Contract=b.GnosisSafeContractWeb3=b.CreateCallWeb3Contract=b.Web3Adapter=void 0;const v=g(a("2cJbS"));b.CreateCallWeb3Contract=v.default;const w=g(a("hANAo"));b.GnosisSafeContractWeb3=w.default;const A=g(a("6nEbP"));b.GnosisSafeProxyFactoryWeb3Contract=A.default;const E=g(a("1Dllx"));b.MultiSendWeb3Contract=E.default;const x=g(a("FmGQK"));b.MultiSendCallOnlyWeb3Contract=x.default;const M=g(a("5fx7W"));b.SignMessageLibWeb3Contract=M.default;const T=g(a("cGWel"));b.Web3Adapter=T.default,Object.defineProperty(s,"CreateCallWeb3Contract",{enumerable:!0,get:function(){return b.CreateCallWeb3Contract}}),Object.defineProperty(s,"GnosisSafeContractWeb3",{enumerable:!0,get:function(){return b.GnosisSafeContractWeb3}}),Object.defineProperty(s,"GnosisSafeProxyFactoryWeb3Contract",{enumerable:!0,get:function(){return b.GnosisSafeProxyFactoryWeb3Contract}}),Object.defineProperty(s,"MultiSendCallOnlyWeb3Contract",{enumerable:!0,get:function(){return b.MultiSendCallOnlyWeb3Contract}}),Object.defineProperty(s,"MultiSendWeb3Contract",{enumerable:!0,get:function(){return b.MultiSendWeb3Contract}}),Object.defineProperty(s,"SignMessageLibWeb3Contract",{enumerable:!0,get:function(){return b.SignMessageLibWeb3Contract}}),Object.defineProperty(s,"Web3Adapter",{enumerable:!0,get:function(){return b.Web3Adapter}});var C=a("fn2H0");Object.defineProperty(s,"getCompatibilityFallbackHandlerContract",{enumerable:!0,get:function(){return C.getCompatibilityFallbackHandlerContract}}),Object.defineProperty(s,"getCreateCallContract",{enumerable:!0,get:function(){return C.getCreateCallContract}}),Object.defineProperty(s,"getMultiSendCallOnlyContract",{enumerable:!0,get:function(){return C.getMultiSendCallOnlyContract}}),Object.defineProperty(s,"getMultiSendContract",{enumerable:!0,get:function(){return C.getMultiSendContract}}),Object.defineProperty(s,"getProxyFactoryContract",{enumerable:!0,get:function(){return C.getProxyFactoryContract}}),Object.defineProperty(s,"getSafeContract",{enumerable:!0,get:function(){return C.getSafeContract}}),Object.defineProperty(s,"getSignMessageLibContract",{enumerable:!0,get:function(){return C.getSignMessageLibContract}});var _=a("fPni6");Object.defineProperty(s,"predictSafeAddress",{enumerable:!0,get:function(){return _.predictSafeAddress}}),Object.defineProperty(s,"encodeSetupCallData",{enumerable:!0,get:function(){return _.encodeSetupCallData}}),Object.defineProperty(s,"encodeCreateProxyWithNonce",{enumerable:!0,get:function(){return _.encodeCreateProxyWithNonce}}),Object.defineProperty(s,"PREDETERMINED_SALT_NONCE",{enumerable:!0,get:function(){return _.PREDETERMINED_SALT_NONCE}});const S=o(a("1SJBK"));s.ContractManager=S.default;const B=o(a("aEhpL")),F=o(a("7Jdch"));s.SafeFactory=F.default;var k=a("7a7Pr");Object.defineProperty(s,"EthSafeSignature",{enumerable:!0,get:function(){return k.EthSafeSignature}});var D=a("3MW9o");Object.defineProperty(s,"encodeMultiSendData",{enumerable:!0,get:function(){return D.encodeMultiSendData}}),Object.defineProperty(s,"standardizeSafeTransactionData",{enumerable:!0,get:function(){return D.standardizeSafeTransactionData}}),s.default=B.default;var P={};!function(e,t){P?P=t():e.Toastify=t()}(P,function(e){var t=function(e){return new t.lib.init(e)};function r(e,t){return t.offset[e]?isNaN(t.offset[e])?t.offset[e]:t.offset[e]+"px":"0px"}function n(e,t){return!!e&&"string"==typeof t&&!!(e.className&&e.className.trim().split(/\s+/gi).indexOf(t)>-1)}return t.defaults={oldestFirst:!0,text:"Toastify is awesome!",node:void 0,duration:3e3,selector:void 0,callback:function(){},destination:void 0,newWindow:!1,close:!1,gravity:"toastify-top",positionLeft:!1,position:"",backgroundColor:"",avatar:"",className:"",stopOnFocus:!0,onClick:function(){},offset:{x:0,y:0},escapeMarkup:!0,ariaLive:"polite",style:{background:""}},t.lib=t.prototype={toastify:"1.12.0",constructor:t,init:function(e){return e||(e={}),this.options={},this.toastElement=null,this.options.text=e.text||t.defaults.text,this.options.node=e.node||t.defaults.node,this.options.duration=0===e.duration?0:e.duration||t.defaults.duration,this.options.selector=e.selector||t.defaults.selector,this.options.callback=e.callback||t.defaults.callback,this.options.destination=e.destination||t.defaults.destination,this.options.newWindow=e.newWindow||t.defaults.newWindow,this.options.close=e.close||t.defaults.close,this.options.gravity="bottom"===e.gravity?"toastify-bottom":t.defaults.gravity,this.options.positionLeft=e.positionLeft||t.defaults.positionLeft,this.options.position=e.position||t.defaults.position,this.options.backgroundColor=e.backgroundColor||t.defaults.backgroundColor,this.options.avatar=e.avatar||t.defaults.avatar,this.options.className=e.className||t.defaults.className,this.options.stopOnFocus=void 0===e.stopOnFocus?t.defaults.stopOnFocus:e.stopOnFocus,this.options.onClick=e.onClick||t.defaults.onClick,this.options.offset=e.offset||t.defaults.offset,this.options.escapeMarkup=void 0!==e.escapeMarkup?e.escapeMarkup:t.defaults.escapeMarkup,this.options.ariaLive=e.ariaLive||t.defaults.ariaLive,this.options.style=e.style||t.defaults.style,e.backgroundColor&&(this.options.style.background=e.backgroundColor),this},buildToast:function(){if(!this.options)throw"Toastify is not initialized";var e=document.createElement("div");for(var t in e.className="toastify on "+this.options.className,this.options.position?e.className+=" toastify-"+this.options.position:!0===this.options.positionLeft?(e.className+=" toastify-left",console.warn("Property `positionLeft` will be depreciated in further versions. Please use `position` instead.")):e.className+=" toastify-right",e.className+=" "+this.options.gravity,this.options.backgroundColor&&console.warn('DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property.'),this.options.style)e.style[t]=this.options.style[t];if(this.options.ariaLive&&e.setAttribute("aria-live",this.options.ariaLive),this.options.node&&this.options.node.nodeType===Node.ELEMENT_NODE)e.appendChild(this.options.node);else if(this.options.escapeMarkup?e.innerText=this.options.text:e.innerHTML=this.options.text,""!==this.options.avatar){var n=document.createElement("img");n.src=this.options.avatar,n.className="toastify-avatar","left"==this.options.position||!0===this.options.positionLeft?e.appendChild(n):e.insertAdjacentElement("afterbegin",n)}if(!0===this.options.close){var i=document.createElement("button");i.type="button",i.setAttribute("aria-label","Close"),i.className="toast-close",i.innerHTML="✖",i.addEventListener("click",(function(e){e.stopPropagation(),this.removeElement(this.toastElement),window.clearTimeout(this.toastElement.timeOutValue)}).bind(this));var a=window.innerWidth>0?window.innerWidth:screen.width;("left"==this.options.position||!0===this.options.positionLeft)&&a>360?e.insertAdjacentElement("afterbegin",i):e.appendChild(i)}if(this.options.stopOnFocus&&this.options.duration>0){var s=this;e.addEventListener("mouseover",function(t){window.clearTimeout(e.timeOutValue)}),e.addEventListener("mouseleave",function(){e.timeOutValue=window.setTimeout(function(){s.removeElement(e)},s.options.duration)})}if(void 0!==this.options.destination&&e.addEventListener("click",(function(e){e.stopPropagation(),!0===this.options.newWindow?window.open(this.options.destination,"_blank"):window.location=this.options.destination}).bind(this)),"function"==typeof this.options.onClick&&void 0===this.options.destination&&e.addEventListener("click",(function(e){e.stopPropagation(),this.options.onClick()}).bind(this)),"object"==typeof this.options.offset){var o=r("x",this.options),u=r("y",this.options),l="left"==this.options.position?o:"-"+o,c="toastify-top"==this.options.gravity?u:"-"+u;e.style.transform="translate("+l+","+c+")"}return e},showToast:function(){if(this.toastElement=this.buildToast(),!(e="string"==typeof this.options.selector?document.getElementById(this.options.selector):this.options.selector instanceof HTMLElement||"undefined"!=typeof ShadowRoot&&this.options.selector instanceof ShadowRoot?this.options.selector:document.body))throw"Root element is not defined";var e,r=t.defaults.oldestFirst?e.firstChild:e.lastChild;return e.insertBefore(this.toastElement,r),t.reposition(),this.options.duration>0&&(this.toastElement.timeOutValue=window.setTimeout((function(){this.removeElement(this.toastElement)}).bind(this),this.options.duration)),this},hideToast:function(){this.toastElement.timeOutValue&&clearTimeout(this.toastElement.timeOutValue),this.removeElement(this.toastElement)},removeElement:function(e){e.className=e.className.replace(" on",""),window.setTimeout((function(){this.options.node&&this.options.node.parentNode&&this.options.node.parentNode.removeChild(this.options.node),e.parentNode&&e.parentNode.removeChild(e),this.options.callback.call(e),t.reposition()}).bind(this),400)}},t.reposition=function(){for(var e,t={top:15,bottom:15},r={top:15,bottom:15},i={top:15,bottom:15},a=document.getElementsByClassName("toastify"),s=0;s0?window.innerWidth:screen.width)<=360?(a[s].style[e]=i[e]+"px",i[e]+=o+15):!0===n(a[s],"toastify-left")?(a[s].style[e]=t[e]+"px",t[e]+=o+15):(a[s].style[e]=r[e]+"px",r[e]+=o+15)}return this},t.lib.init.prototype=t.lib,t});var O={};e(O,"logger",()=>t7),e(O,"Signer",()=>a("j7x7T").Signer),e(O,"Wallet",()=>a("5utYt").Wallet),e(O,"VoidSigner",()=>a("j7x7T").VoidSigner),e(O,"getDefaultProvider",()=>t5),e(O,"providers",()=>G),e(O,"BaseContract",()=>a("fP04X").BaseContract),e(O,"Contract",()=>a("fP04X").Contract),e(O,"ContractFactory",()=>a("fP04X").ContractFactory),e(O,"BigNumber",()=>a("1chjt").BigNumber),e(O,"FixedNumber",()=>a("gi65P").FixedNumber),e(O,"constants",()=>L),e(O,"errors",()=>a("d1hml").ErrorCode),e(O,"utils",()=>a("1f1He")),e(O,"wordlists",()=>a("hiOO1").wordlists),e(O,"version",()=>t4),e(O,"Wordlist",()=>a("2hNTt").Wordlist),a("fP04X");var N=a("1chjt");a("gi65P");var R=a("j7x7T"),I=a("5utYt"),L={};e(L,"AddressZero",()=>j),e(L,"NegativeOne",()=>a("gVGT9").NegativeOne),e(L,"Zero",()=>a("gVGT9").Zero),e(L,"One",()=>a("gVGT9").One),e(L,"Two",()=>a("gVGT9").Two),e(L,"WeiPerEther",()=>a("gVGT9").WeiPerEther),e(L,"MaxUint256",()=>a("gVGT9").MaxUint256),e(L,"MinInt256",()=>a("gVGT9").MinInt256),e(L,"MaxInt256",()=>a("gVGT9").MaxInt256),e(L,"HashZero",()=>a("djR4n").HashZero),e(L,"EtherSymbol",()=>H);const j="0x0000000000000000000000000000000000000000";a("gVGT9");var U=a("djR4n");"use strict";const H="Ξ";var G={};e(G,"getDefaultProvider",()=>t5),e(G,"Provider",()=>a("b6M4l").Provider),e(G,"BaseProvider",()=>Q.BaseProvider),e(G,"Resolver",()=>Q.Resolver),e(G,"UrlJsonRpcProvider",()=>ts.UrlJsonRpcProvider),e(G,"FallbackProvider",()=>tB.FallbackProvider),e(G,"AlchemyProvider",()=>th),e(G,"AlchemyWebSocketProvider",()=>tf),e(G,"AnkrProvider",()=>tm),e(G,"CloudflareProvider",()=>tb.CloudflareProvider),e(G,"EtherscanProvider",()=>tw.EtherscanProvider),e(G,"InfuraProvider",()=>tJ),e(G,"InfuraWebSocketProvider",()=>tK),e(G,"JsonRpcProvider",()=>eY.JsonRpcProvider),e(G,"JsonRpcBatchProvider",()=>tZ),e(G,"NodesmithProvider",()=>t$),e(G,"PocketProvider",()=>t0),e(G,"StaticJsonRpcProvider",()=>ts.StaticJsonRpcProvider),e(G,"Web3Provider",()=>t6),e(G,"WebSocketProvider",()=>eZ.WebSocketProvider),e(G,"IpcProvider",()=>tq),e(G,"JsonRpcSigner",()=>eY.JsonRpcSigner),e(G,"getNetwork",()=>X),e(G,"isCommunityResource",()=>ex),e(G,"isCommunityResourcable",()=>eE),e(G,"showThrottleMessage",()=>eT),e(G,"Formatter",()=>eA);"use strict";var z=a("b6M4l"),q=a("d1hml");const V=new q.Logger("networks/5.7.1");function W(e){let t=function(t,r){null==r&&(r={});let n=[];if(t.InfuraProvider&&"-"!==r.infura)try{n.push(new t.InfuraProvider(e,r.infura))}catch(e){}if(t.EtherscanProvider&&"-"!==r.etherscan)try{n.push(new t.EtherscanProvider(e,r.etherscan))}catch(e){}if(t.AlchemyProvider&&"-"!==r.alchemy)try{n.push(new t.AlchemyProvider(e,r.alchemy))}catch(e){}if(t.PocketProvider&&"-"!==r.pocket)try{let i=new t.PocketProvider(e,r.pocket);i.network&&-1===["goerli","ropsten","rinkeby","sepolia"].indexOf(i.network.name)&&n.push(i)}catch(e){}if(t.CloudflareProvider&&"-"!==r.cloudflare)try{n.push(new t.CloudflareProvider(e))}catch(e){}if(t.AnkrProvider&&"-"!==r.ankr)try{let i=new t.AnkrProvider(e,r.ankr);i.network&&-1===["ropsten"].indexOf(i.network.name)&&n.push(i)}catch(e){}if(0===n.length)return null;if(t.FallbackProvider){let i=1;return null!=r.quorum?i=r.quorum:"homestead"===e&&(i=2),new t.FallbackProvider(n,i)}return n[0]};return t.renetwork=function(e){return W(e)},t}function K(e,t){let r=function(r,n){return r.JsonRpcProvider?new r.JsonRpcProvider(e,t):null};return r.renetwork=function(t){return K(e,t)},r}const J={chainId:1,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"homestead",_defaultProvider:W("homestead")},Z={chainId:3,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"ropsten",_defaultProvider:W("ropsten")},Y={chainId:63,name:"classicMordor",_defaultProvider:K("https://www.ethercluster.com/mordor","classicMordor")},$={unspecified:{chainId:0,name:"unspecified"},homestead:J,mainnet:J,morden:{chainId:2,name:"morden"},ropsten:Z,testnet:Z,rinkeby:{chainId:4,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"rinkeby",_defaultProvider:W("rinkeby")},kovan:{chainId:42,name:"kovan",_defaultProvider:W("kovan")},goerli:{chainId:5,ensAddress:"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e",name:"goerli",_defaultProvider:W("goerli")},kintsugi:{chainId:1337702,name:"kintsugi"},sepolia:{chainId:11155111,name:"sepolia",_defaultProvider:W("sepolia")},classic:{chainId:61,name:"classic",_defaultProvider:K("https://www.ethercluster.com/etc","classic")},classicMorden:{chainId:62,name:"classicMorden"},classicMordor:Y,classicTestnet:Y,classicKotti:{chainId:6,name:"classicKotti",_defaultProvider:K("https://www.ethercluster.com/kotti","classicKotti")},xdai:{chainId:100,name:"xdai"},matic:{chainId:137,name:"matic",_defaultProvider:W("matic")},maticmum:{chainId:80001,name:"maticmum"},optimism:{chainId:10,name:"optimism",_defaultProvider:W("optimism")},"optimism-kovan":{chainId:69,name:"optimism-kovan"},"optimism-goerli":{chainId:420,name:"optimism-goerli"},arbitrum:{chainId:42161,name:"arbitrum"},"arbitrum-rinkeby":{chainId:421611,name:"arbitrum-rinkeby"},"arbitrum-goerli":{chainId:421613,name:"arbitrum-goerli"},bnb:{chainId:56,name:"bnb"},bnbt:{chainId:97,name:"bnbt"}};function X(e){if(null==e)return null;if("number"==typeof e){for(let t in $){let r=$[t];if(r.chainId===e)return{name:r.name,chainId:r.chainId,ensAddress:r.ensAddress||null,_defaultProvider:r._defaultProvider||null}}return{chainId:e,name:"unknown"}}if("string"==typeof e){let t=$[e];return null==t?null:{name:t.name,chainId:t.chainId,ensAddress:t.ensAddress,_defaultProvider:t._defaultProvider||null}}let t=$[e.name];if(!t)return"number"!=typeof e.chainId&&V.throwArgumentError("invalid network chainId","network",e),e;0!==e.chainId&&e.chainId!==t.chainId&&V.throwArgumentError("network chainId mismatch","network",e);let r=e._defaultProvider||null;if(null==r&&t._defaultProvider){var n;r=(n=t._defaultProvider)&&"function"==typeof n.renetwork?t._defaultProvider.renetwork(e):t._defaultProvider}return{name:e.name,chainId:t.chainId,ensAddress:e.ensAddress||t.ensAddress||null,_defaultProvider:r}}var Q={};e(Q,"Resolver",()=>eV),e(Q,"BaseProvider",()=>eJ);"use strict";for(var z=a("b6M4l"),ee=a("2vfMQ"),et=a("5tyfw"),N=a("1chjt"),er=a("aBzgs"),U=a("djR4n"),en=a("8s7ds"),ei=a("e72ut"),ea=a("g67nD"),es=a("fkVsY"),eo=a("6BV0e"),eu={},el="qpzry9x8gf2tvdw0s3jn54khce6mua7l",ec={},ed=0;ed>25;return(33554431&e)<<5^996825010&-(t>>0&1)^642813549&-(t>>1&1)^513874426&-(t>>2&1)^1027748829&-(t>>3&1)^705979059&-(t>>4&1)}function ep(e){for(var t=1,r=0;r126)return"Invalid prefix ("+e+")";t=eh(t)^n>>5}for(r=0,t=eh(t);rt)return"Exceeds length limit";var r=e.toLowerCase(),n=e.toUpperCase();if(e!==r&&e!==n)return"Mixed-case string "+e;var i=(e=r).lastIndexOf("1");if(-1===i)return"No separator character for "+e;if(0===i)return"Missing prefix for "+e;var a=e.slice(0,i),s=e.slice(i+1);if(s.length<6)return"Data too short";var o=ep(a);if("string"==typeof o)return o;for(var u=[],l=0;l=s.length||u.push(d)}return 1!==o?"Invalid checksum for "+e:{prefix:a,words:u}}function em(e,t,r,n){for(var i=0,a=0,s=(1<=r;)o.push(i>>(a-=r)&s);if(n)a>0&&o.push(i<=t)return"Excess padding";if(i<r)throw TypeError("Exceeds length limit");var n=ep(e=e.toLowerCase());if("string"==typeof n)throw Error(n);for(var i=e+"1",a=0;a>5!=0)throw Error("Non 5-bit word");n=eh(n)^s,i+=el.charAt(s)}for(a=0;a<6;++a)n=eh(n);for(n^=1,a=0;a<6;++a){var o=n>>(5-a)*5&31;i+=el.charAt(o)}return i},toWordsUnsafe:function(e){var t=em(e,8,5,!0);if(Array.isArray(t))return t},toWords:function(e){var t=em(e,8,5,!0);if(Array.isArray(t))return t;throw Error(t)},fromWordsUnsafe:function(e){var t=em(e,5,8,!1);if(Array.isArray(t))return t},fromWords:function(e){var t=em(e,5,8,!1);if(Array.isArray(t))return t;throw Error(t)}};var q=a("d1hml");const eb="providers/5.7.2";"use strict";var eg=a("bVwUc"),N=a("1chjt"),er=a("aBzgs"),ei=a("e72ut"),ev=a("TyNFl"),q=a("d1hml");const ew=new q.Logger(eb);class eA{constructor(){this.formats=this.getDefaultFormats()}getDefaultFormats(){let e={},t=this.address.bind(this),r=this.bigNumber.bind(this),n=this.blockTag.bind(this),i=this.data.bind(this),a=this.hash.bind(this),s=this.hex.bind(this),o=this.number.bind(this),u=this.type.bind(this);return e.transaction={hash:a,type:u,accessList:eA.allowNull(this.accessList.bind(this),null),blockHash:eA.allowNull(a,null),blockNumber:eA.allowNull(o,null),transactionIndex:eA.allowNull(o,null),confirmations:eA.allowNull(o,null),from:t,gasPrice:eA.allowNull(r),maxPriorityFeePerGas:eA.allowNull(r),maxFeePerGas:eA.allowNull(r),gasLimit:r,to:eA.allowNull(t,null),value:r,nonce:o,data:i,r:eA.allowNull(this.uint256),s:eA.allowNull(this.uint256),v:eA.allowNull(o),creates:eA.allowNull(t,null),raw:eA.allowNull(i)},e.transactionRequest={from:eA.allowNull(t),nonce:eA.allowNull(o),gasLimit:eA.allowNull(r),gasPrice:eA.allowNull(r),maxPriorityFeePerGas:eA.allowNull(r),maxFeePerGas:eA.allowNull(r),to:eA.allowNull(t),value:eA.allowNull(r),data:eA.allowNull(e=>this.data(e,!0)),type:eA.allowNull(o),accessList:eA.allowNull(this.accessList.bind(this),null)},e.receiptLog={transactionIndex:o,blockNumber:o,transactionHash:a,address:t,topics:eA.arrayOf(a),data:i,logIndex:o,blockHash:a},e.receipt={to:eA.allowNull(this.address,null),from:eA.allowNull(this.address,null),contractAddress:eA.allowNull(t,null),transactionIndex:o,root:eA.allowNull(s),gasUsed:r,logsBloom:eA.allowNull(i),blockHash:a,transactionHash:a,logs:eA.arrayOf(this.receiptLog.bind(this)),blockNumber:o,confirmations:eA.allowNull(o,null),cumulativeGasUsed:r,effectiveGasPrice:eA.allowNull(r),status:eA.allowNull(o),type:u},e.block={hash:eA.allowNull(a),parentHash:a,number:o,timestamp:o,nonce:eA.allowNull(s),difficulty:this.difficulty.bind(this),gasLimit:r,gasUsed:r,miner:eA.allowNull(t),extraData:i,transactions:eA.allowNull(eA.arrayOf(a)),baseFeePerGas:eA.allowNull(r)},e.blockWithTransactions=(0,ei.shallowCopy)(e.block),e.blockWithTransactions.transactions=eA.allowNull(eA.arrayOf(this.transactionResponse.bind(this))),e.filter={fromBlock:eA.allowNull(n,void 0),toBlock:eA.allowNull(n,void 0),blockHash:eA.allowNull(a,void 0),address:eA.allowNull(t,void 0),topics:eA.allowNull(this.topics.bind(this),void 0)},e.filterLog={blockNumber:eA.allowNull(o),blockHash:eA.allowNull(a),transactionIndex:o,removed:eA.allowNull(this.boolean.bind(this)),address:t,data:eA.allowFalsish(i,"0x"),topics:eA.arrayOf(a),transactionHash:a,logIndex:o},e}accessList(e){return(0,ev.accessListify)(e||[])}number(e){return"0x"===e?0:(0,N.BigNumber).from(e).toNumber()}type(e){return"0x"===e||null==e?0:(0,N.BigNumber).from(e).toNumber()}bigNumber(e){return(0,N.BigNumber).from(e)}boolean(e){if("boolean"==typeof e)return e;if("string"==typeof e){if("true"===(e=e.toLowerCase()))return!0;if("false"===e)return!1}throw Error("invalid boolean - "+e)}hex(e,t){return"string"==typeof e&&(t||"0x"===e.substring(0,2)||(e="0x"+e),(0,er.isHexString)(e))?e.toLowerCase():ew.throwArgumentError("invalid hash","value",e)}data(e,t){let r=this.hex(e,t);if(r.length%2!=0)throw Error("invalid data; odd-length - "+e);return r}address(e){return(0,eg.getAddress)(e)}callAddress(e){if(!(0,er.isHexString)(e,32))return null;let t=(0,eg.getAddress)((0,er.hexDataSlice)(e,12));return t===j?null:t}contractAddress(e){return(0,eg.getContractAddress)(e)}blockTag(e){if(null==e)return"latest";if("earliest"===e)return"0x0";switch(e){case"earliest":return"0x0";case"latest":case"pending":case"safe":case"finalized":return e}if("number"==typeof e||(0,er.isHexString)(e))return(0,er.hexValue)(e);throw Error("invalid blockTag")}hash(e,t){let r=this.hex(e,t);return 32!==(0,er.hexDataLength)(r)?ew.throwArgumentError("invalid hash","value",e):r}difficulty(e){if(null==e)return null;let t=(0,N.BigNumber).from(e);try{return t.toNumber()}catch(e){}return null}uint256(e){if(!(0,er.isHexString)(e))throw Error("invalid uint256");return(0,er.hexZeroPad)(e,32)}_block(e,t){null!=e.author&&null==e.miner&&(e.miner=e.author);let r=null!=e._difficulty?e._difficulty:e.difficulty,n=eA.check(t,e);return n._difficulty=null==r?null:(0,N.BigNumber).from(r),n}block(e){return this._block(e,this.formats.block)}blockWithTransactions(e){return this._block(e,this.formats.blockWithTransactions)}transactionRequest(e){return eA.check(this.formats.transactionRequest,e)}transactionResponse(e){null!=e.gas&&null==e.gasLimit&&(e.gasLimit=e.gas),e.to&&(0,N.BigNumber).from(e.to).isZero()&&(e.to="0x0000000000000000000000000000000000000000"),null!=e.input&&null==e.data&&(e.data=e.input),null==e.to&&null==e.creates&&(e.creates=this.contractAddress(e)),(1===e.type||2===e.type)&&null==e.accessList&&(e.accessList=[]);let t=eA.check(this.formats.transaction,e);if(null!=e.chainId){let r=e.chainId;(0,er.isHexString)(r)&&(r=(0,N.BigNumber).from(r).toNumber()),t.chainId=r}else{let r=e.networkId;null==r&&null==t.v&&(r=e.chainId),(0,er.isHexString)(r)&&(r=(0,N.BigNumber).from(r).toNumber()),"number"!=typeof r&&null!=t.v&&((r=(t.v-35)/2)<0&&(r=0),r=parseInt(r)),"number"!=typeof r&&(r=0),t.chainId=r}return t.blockHash&&"x"===t.blockHash.replace(/0/g,"")&&(t.blockHash=null),t}transaction(e){return(0,ev.parse)(e)}receiptLog(e){return eA.check(this.formats.receiptLog,e)}receipt(e){let t=eA.check(this.formats.receipt,e);if(null!=t.root){if(t.root.length<=4){let e=(0,N.BigNumber).from(t.root).toNumber();0===e||1===e?(null!=t.status&&t.status!==e&&ew.throwArgumentError("alt-root-status/status mismatch","value",{root:t.root,status:t.status}),t.status=e,delete t.root):ew.throwArgumentError("invalid alt-root-status","value.root",t.root)}else 66!==t.root.length&&ew.throwArgumentError("invalid root hash","value.root",t.root)}return null!=t.status&&(t.byzantium=!0),t}topics(e){return Array.isArray(e)?e.map(e=>this.topics(e)):null!=e?this.hash(e,!0):null}filter(e){return eA.check(this.formats.filter,e)}filterLog(e){return eA.check(this.formats.filterLog,e)}static check(e,t){let r={};for(let n in e)try{let i=e[n](t[n]);void 0!==i&&(r[n]=i)}catch(e){throw e.checkKey=n,e.checkValue=t[n],e}return r}static allowNull(e,t){return function(r){return null==r?t:e(r)}}static allowFalsish(e,t){return function(r){return r?e(r):t}}static arrayOf(e){return function(t){if(!Array.isArray(t))throw Error("not an array");let r=[];return t.forEach(function(t){r.push(e(t))}),r}}}function eE(e){return e&&"function"==typeof e.isCommunityResource}function ex(e){return eE(e)&&e.isCommunityResource()}let eM=!1;function eT(){eM||(eM=!0,console.log("========= NOTICE ========="),console.log("Request-Rate Exceeded (this message will not be repeated)"),console.log(""),console.log("The default API keys for each service are provided as a highly-throttled,"),console.log("community resource for low-traffic projects and early prototyping."),console.log(""),console.log("While your application will continue to function, we highly recommended"),console.log("signing up for your own API keys to improve performance, increase your"),console.log("request rate/limit and enable other perks, such as metrics and advanced APIs."),console.log(""),console.log("For more details: https://docs.ethers.io/api-keys/"),console.log("=========================="))}"use strict";var eC=function(e,t,r,n){return new(r||(r=Promise))(function(i,a){function s(e){try{u(n.next(e))}catch(e){a(e)}}function o(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(s,o)}u((n=n.apply(e,t||[])).next())})};const e_=new q.Logger(eb);function eS(e){return null==e?"null":(32!==(0,er.hexDataLength)(e)&&e_.throwArgumentError("invalid topic","topic",e),e.toLowerCase())}function eB(e){for(e=e.slice();e.length>0&&null==e[e.length-1];)e.pop();return e.map(e=>{if(!Array.isArray(e))return eS(e);{let t={};e.forEach(e=>{t[eS(e)]=!0});let r=Object.keys(t);return r.sort(),r.join("|")}}).join("&")}function eF(e){if("string"==typeof e){if(e=e.toLowerCase(),32===(0,er.hexDataLength)(e))return"tx:"+e;if(-1===e.indexOf(":"))return e}else if(Array.isArray(e))return"filter:*:"+eB(e);else if((0,z.ForkEvent).isForkEvent(e))throw e_.warn("not implemented"),Error("not implemented");else if(e&&"object"==typeof e)return"filter:"+(e.address||"*")+":"+eB(e.topics||[]);throw Error("invalid event - "+e)}function ek(){return new Date().getTime()}function eD(e){return new Promise(t=>{setTimeout(t,e)})}const eP=["block","network","pending","poll"];class eO{constructor(e,t,r){(0,ei.defineReadOnly)(this,"tag",e),(0,ei.defineReadOnly)(this,"listener",t),(0,ei.defineReadOnly)(this,"once",r),this._lastBlockNumber=-2,this._inflight=!1}get event(){switch(this.type){case"tx":return this.hash;case"filter":return this.filter}return this.tag}get type(){return this.tag.split(":")[0]}get hash(){let e=this.tag.split(":");return"tx"!==e[0]?null:e[1]}get filter(){var e;let t=this.tag.split(":");if("filter"!==t[0])return null;let r=t[1],n=""===(e=t[2])?[]:e.split(/&/g).map(e=>{if(""===e)return[];let t=e.split("|").map(e=>"null"===e?null:e);return 1===t.length?t[0]:t}),i={};return n.length>0&&(i.topics=n),r&&"*"!==r&&(i.address=r),i}pollable(){return this.tag.indexOf(":")>=0||eP.indexOf(this.tag)>=0}}const eN={0:{symbol:"btc",p2pkh:0,p2sh:5,prefix:"bc"},2:{symbol:"ltc",p2pkh:48,p2sh:50,prefix:"ltc"},3:{symbol:"doge",p2pkh:30,p2sh:22},60:{symbol:"eth",ilk:"eth"},61:{symbol:"etc",ilk:"eth"},700:{symbol:"xdai",ilk:"eth"}};function eR(e){return(0,er.hexZeroPad)((0,N.BigNumber).from(e).toHexString(),32)}function eI(e){return(0,et.Base58).encode((0,er.concat)([e,(0,er.hexDataSlice)((0,ea.sha256)((0,ea.sha256)(e)),0,4)]))}const eL=RegExp("^(ipfs)://(.*)$","i"),ej=[RegExp("^(https)://(.*)$","i"),RegExp("^(data):(.*)$","i"),eL,RegExp("^eip155:[0-9]+/(erc[0-9]+):(.*)$","i")];function eU(e,t){try{return(0,es.toUtf8String)(eH(e,t))}catch(e){}return null}function eH(e,t){if("0x"===e)return null;let r=(0,N.BigNumber).from((0,er.hexDataSlice)(e,t,t+32)).toNumber(),n=(0,N.BigNumber).from((0,er.hexDataSlice)(e,r,r+32)).toNumber();return(0,er.hexDataSlice)(e,r+32,r+32+n)}function eG(e){return e.match(/^ipfs:\/\/ipfs\//i)?e=e.substring(12):e.match(/^ipfs:\/\//i)?e=e.substring(7):e_.throwArgumentError("unsupported IPFS format","link",e),`https://gateway.ipfs.io/ipfs/${e}`}function ez(e){let t=(0,er.arrayify)(e);if(t.length>32)throw Error("internal; should not happen");let r=new Uint8Array(32);return r.set(t,32-t.length),r}function eq(e){let t=[],r=0;for(let n=0;n(0,N.BigNumber).from(e).eq(1)).catch(e=>{if(e.code===q.Logger.errors.CALL_EXCEPTION)return!1;throw this._supportsEip2544=null,e})),this._supportsEip2544}_fetch(e,t){return eC(this,void 0,void 0,function*(){let r={to:this.address,ccipReadEnabled:!0,data:(0,er.hexConcat)([e,(0,en.namehash)(this.name),t||"0x"])},n=!1;(yield this.supportsWildcard())&&(n=!0,r.data=(0,er.hexConcat)(["0x9061b923",eq([(0,en.dnsEncode)(this.name),r.data])]));try{let e=yield this.provider.call(r);return(0,er.arrayify)(e).length%32==4&&e_.throwError("resolver threw error",q.Logger.errors.CALL_EXCEPTION,{transaction:r,data:e}),n&&(e=eH(e,0)),e}catch(e){if(e.code===q.Logger.errors.CALL_EXCEPTION)return null;throw e}})}_fetchBytes(e,t){return eC(this,void 0,void 0,function*(){let r=yield this._fetch(e,t);return null!=r?eH(r,0):null})}_getAddress(e,r){let n=eN[String(e)];if(null==n&&e_.throwError(`unsupported coin type: ${e}`,q.Logger.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`}),"eth"===n.ilk)return this.provider.formatter.address(r);let i=(0,er.arrayify)(r);if(null!=n.p2pkh){let e=r.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);if(e){let t=parseInt(e[1],16);if(e[2].length===2*t&&t>=1&&t<=75)return eI((0,er.concat)([[n.p2pkh],"0x"+e[2]]))}}if(null!=n.p2sh){let e=r.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);if(e){let t=parseInt(e[1],16);if(e[2].length===2*t&&t>=1&&t<=75)return eI((0,er.concat)([[n.p2sh],"0x"+e[2]]))}}if(null!=n.prefix){let e=i[1],r=i[0];if(0===r?20!==e&&32!==e&&(r=-1):r=-1,r>=0&&i.length===2+e&&e>=1&&e<=75){let e=t(eu).toWords(i.slice(2));return e.unshift(r),t(eu).encode(n.prefix,e)}}return null}getAddress(e){return eC(this,void 0,void 0,function*(){if(null==e&&(e=60),60===e)try{let e=yield this._fetch("0x3b3b57de");if("0x"===e||e===U.HashZero)return null;return this.provider.formatter.callAddress(e)}catch(e){if(e.code===q.Logger.errors.CALL_EXCEPTION)return null;throw e}let t=yield this._fetchBytes("0xf1cb7e06",eR(e));if(null==t||"0x"===t)return null;let r=this._getAddress(e,t);return null==r&&e_.throwError("invalid or unsupported coin data",q.Logger.errors.UNSUPPORTED_OPERATION,{operation:`getAddress(${e})`,coinType:e,data:t}),r})}getAvatar(){return eC(this,void 0,void 0,function*(){let e=[{type:"name",content:this.name}];try{let t=yield this.getText("avatar");if(null==t)return null;for(let r=0;re[t]);return"sia://"+t}return e_.throwError("invalid or unsupported content hash data",q.Logger.errors.UNSUPPORTED_OPERATION,{operation:"getContentHash()",data:e})})}getText(e){return eC(this,void 0,void 0,function*(){let t=(0,es.toUtf8Bytes)(e);(t=(0,er.concat)([eR(64),eR(t.length),t])).length%32!=0&&(t=(0,er.concat)([t,(0,er.hexZeroPad)("0x",32-e.length%32)]));let r=yield this._fetchBytes("0x59d1d43c",(0,er.hexlify)(t));return null==r||"0x"===r?null:(0,es.toUtf8String)(r)})}}let eW=null,eK=1;class eJ extends z.Provider{constructor(e){if(super(),this._events=[],this._emitted={block:-2},this.disableCcipRead=!1,this.formatter=new.target.getFormatter(),(0,ei.defineReadOnly)(this,"anyNetwork","any"===e),this.anyNetwork&&(e=this.detectNetwork()),e instanceof Promise)this._networkPromise=e,e.catch(e=>{}),this._ready().catch(e=>{});else{let t=(0,ei.getStatic)(new.target,"getNetwork")(e);t?((0,ei.defineReadOnly)(this,"_network",t),this.emit("network",t,null)):e_.throwArgumentError("invalid network","network",e)}this._maxInternalBlockNumber=-1024,this._lastBlockNumber=-2,this._maxFilterBlockRange=10,this._pollingInterval=4e3,this._fastQueryDate=0}_ready(){return eC(this,void 0,void 0,function*(){if(null==this._network){let e=null;if(this._networkPromise)try{e=yield this._networkPromise}catch(e){}null==e&&(e=yield this.detectNetwork()),e||e_.throwError("no network detected",q.Logger.errors.UNKNOWN_ERROR,{}),null==this._network&&(this.anyNetwork?this._network=e:(0,ei.defineReadOnly)(this,"_network",e),this.emit("network",e,null))}return this._network})}get ready(){return(0,eo.poll)(()=>this._ready().then(e=>e,e=>{if(e.code!==q.Logger.errors.NETWORK_ERROR||"noNetwork"!==e.event)throw e}))}static getFormatter(){return null==eW&&(eW=new eA),eW}static getNetwork(e){return X(null==e?"homestead":e)}ccipReadFetch(e,t,r){return eC(this,void 0,void 0,function*(){if(this.disableCcipRead||0===r.length)return null;let n=e.to.toLowerCase(),i=t.toLowerCase(),a=[];for(let e=0;e=0?null:JSON.stringify({data:i,sender:n}),u=yield(0,eo.fetchJson)({url:s,errorPassThrough:!0},o,(e,t)=>(e.status=t.statusCode,e));if(u.data)return u.data;let l=u.message||"unknown error";if(u.status>=400&&u.status<500)return e_.throwError(`response not found during CCIP fetch: ${l}`,q.Logger.errors.SERVER_ERROR,{url:t,errorMessage:l});a.push(l)}return e_.throwError(`error encountered during CCIP fetch: ${a.map(e=>JSON.stringify(e)).join(", ")}`,q.Logger.errors.SERVER_ERROR,{urls:r,errorMessages:a})})}_getInternalBlockNumber(e){return eC(this,void 0,void 0,function*(){if(yield this._ready(),e>0)for(;this._internalBlockNumber;){let t=this._internalBlockNumber;try{let r=yield t;if(ek()-r.respTime<=e)return r.blockNumber;break}catch(e){if(this._internalBlockNumber===t)break}}let t=ek(),r=(0,ei.resolveProperties)({blockNumber:this.perform("getBlockNumber",{}),networkError:this.getNetwork().then(e=>null,e=>e)}).then(({blockNumber:e,networkError:n})=>{if(n)throw this._internalBlockNumber===r&&(this._internalBlockNumber=null),n;let i=ek();return(e=(0,N.BigNumber).from(e).toNumber()){this._internalBlockNumber===r&&(this._internalBlockNumber=null)}),(yield r).blockNumber})}poll(){return eC(this,void 0,void 0,function*(){let e=eK++,t=[],r=null;try{r=yield this._getInternalBlockNumber(100+this.pollingInterval/2)}catch(e){this.emit("error",e);return}if(this._setFastBlockNumber(r),this.emit("poll",e,r),r===this._lastBlockNumber){this.emit("didPoll",e);return}if(-2===this._emitted.block&&(this._emitted.block=r-1),Math.abs(this._emitted.block-r)>1e3)e_.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${r})`),this.emit("error",e_.makeError("network block skew detected",q.Logger.errors.NETWORK_ERROR,{blockNumber:r,event:"blockSkew",previousBlockNumber:this._emitted.block})),this.emit("block",r);else for(let e=this._emitted.block+1;e<=r;e++)this.emit("block",e);this._emitted.block!==r&&(this._emitted.block=r,Object.keys(this._emitted).forEach(e=>{if("block"===e)return;let t=this._emitted[e];"pending"!==t&&r-t>12&&delete this._emitted[e]})),-2===this._lastBlockNumber&&(this._lastBlockNumber=r-1),this._events.forEach(e=>{switch(e.type){case"tx":{let r=e.hash,n=this.getTransactionReceipt(r).then(e=>(e&&null!=e.blockNumber&&(this._emitted["t:"+r]=e.blockNumber,this.emit(r,e)),null)).catch(e=>{this.emit("error",e)});t.push(n);break}case"filter":if(!e._inflight){e._inflight=!0,-2===e._lastBlockNumber&&(e._lastBlockNumber=r-1);let n=e.filter;n.fromBlock=e._lastBlockNumber+1,n.toBlock=r;let i=n.toBlock-this._maxFilterBlockRange;i>n.fromBlock&&(n.fromBlock=i),n.fromBlock<0&&(n.fromBlock=0);let a=this.getLogs(n).then(t=>{e._inflight=!1,0!==t.length&&t.forEach(t=>{t.blockNumber>e._lastBlockNumber&&(e._lastBlockNumber=t.blockNumber),this._emitted["b:"+t.blockHash]=t.blockNumber,this._emitted["t:"+t.transactionHash]=t.blockNumber,this.emit(n,t)})}).catch(t=>{this.emit("error",t),e._inflight=!1});t.push(a)}}}),this._lastBlockNumber=r,Promise.all(t).then(()=>{this.emit("didPoll",e)}).catch(e=>{this.emit("error",e)})})}resetEventsBlock(e){this._lastBlockNumber=e-1,this.polling&&this.poll()}get network(){return this._network}detectNetwork(){return eC(this,void 0,void 0,function*(){return e_.throwError("provider does not support network detection",q.Logger.errors.UNSUPPORTED_OPERATION,{operation:"provider.detectNetwork"})})}getNetwork(){return eC(this,void 0,void 0,function*(){let e=yield this._ready(),t=yield this.detectNetwork();if(e.chainId!==t.chainId){if(this.anyNetwork)return this._network=t,this._lastBlockNumber=-2,this._fastBlockNumber=null,this._fastBlockNumberPromise=null,this._fastQueryDate=0,this._emitted.block=-2,this._maxInternalBlockNumber=-1024,this._internalBlockNumber=null,this.emit("network",t,e),yield eD(0),this._network;let r=e_.makeError("underlying network changed",q.Logger.errors.NETWORK_ERROR,{event:"changed",network:e,detectedNetwork:t});throw this.emit("error",r),r}return e})}get blockNumber(){return this._getInternalBlockNumber(100+this.pollingInterval/2).then(e=>{this._setFastBlockNumber(e)},e=>{}),null!=this._fastBlockNumber?this._fastBlockNumber:-1}get polling(){return null!=this._poller}set polling(e){e&&!this._poller?(this._poller=setInterval(()=>{this.poll()},this.pollingInterval),this._bootstrapPoll||(this._bootstrapPoll=setTimeout(()=>{this.poll(),this._bootstrapPoll=setTimeout(()=>{this._poller||this.poll(),this._bootstrapPoll=null},this.pollingInterval)},0))):!e&&this._poller&&(clearInterval(this._poller),this._poller=null)}get pollingInterval(){return this._pollingInterval}set pollingInterval(e){if("number"!=typeof e||e<=0||parseInt(String(e))!=e)throw Error("invalid polling interval");this._pollingInterval=e,this._poller&&(clearInterval(this._poller),this._poller=setInterval(()=>{this.poll()},this._pollingInterval))}_getFastBlockNumber(){let e=ek();return e-this._fastQueryDate>2*this._pollingInterval&&(this._fastQueryDate=e,this._fastBlockNumberPromise=this.getBlockNumber().then(e=>((null==this._fastBlockNumber||e>this._fastBlockNumber)&&(this._fastBlockNumber=e),this._fastBlockNumber))),this._fastBlockNumberPromise}_setFastBlockNumber(e){(null==this._fastBlockNumber||!(ethis._fastBlockNumber)&&(this._fastBlockNumber=e,this._fastBlockNumberPromise=Promise.resolve(e)))}waitForTransaction(e,t,r){return eC(this,void 0,void 0,function*(){return this._waitForTransaction(e,null==t?1:t,r||0,null)})}_waitForTransaction(e,t,r,n){return eC(this,void 0,void 0,function*(){let i=yield this.getTransactionReceipt(e);return(i?i.confirmations:0)>=t?i:new Promise((i,a)=>{let s=[],o=!1,u=function(){return!!o||(o=!0,s.forEach(e=>{e()}),!1)},l=e=>{!(e.confirmations{this.removeListener(e,l)}),n){let r=n.startBlock,i=null,l=s=>eC(this,void 0,void 0,function*(){o||(yield eD(1e3),this.getTransactionCount(n.from).then(c=>eC(this,void 0,void 0,function*(){if(!o){if(c<=n.nonce)r=s;else{{let t=yield this.getTransaction(e);if(t&&null!=t.blockNumber)return}for(null==i&&(i=r-3){o||this.once("block",l)}))});if(o)return;this.once("block",l),s.push(()=>{this.removeListener("block",l)})}if("number"==typeof r&&r>0){let e=setTimeout(()=>{u()||a(e_.makeError("timeout exceeded",q.Logger.errors.TIMEOUT,{timeout:r}))},r);e.unref&&e.unref(),s.push(()=>{clearTimeout(e)})}})})}getBlockNumber(){return eC(this,void 0,void 0,function*(){return this._getInternalBlockNumber(0)})}getGasPrice(){return eC(this,void 0,void 0,function*(){yield this.getNetwork();let e=yield this.perform("getGasPrice",{});try{return(0,N.BigNumber).from(e)}catch(t){return e_.throwError("bad result from backend",q.Logger.errors.SERVER_ERROR,{method:"getGasPrice",result:e,error:t})}})}getBalance(e,t){return eC(this,void 0,void 0,function*(){yield this.getNetwork();let r=yield(0,ei.resolveProperties)({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),n=yield this.perform("getBalance",r);try{return(0,N.BigNumber).from(n)}catch(e){return e_.throwError("bad result from backend",q.Logger.errors.SERVER_ERROR,{method:"getBalance",params:r,result:n,error:e})}})}getTransactionCount(e,t){return eC(this,void 0,void 0,function*(){yield this.getNetwork();let r=yield(0,ei.resolveProperties)({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),n=yield this.perform("getTransactionCount",r);try{return(0,N.BigNumber).from(n).toNumber()}catch(e){return e_.throwError("bad result from backend",q.Logger.errors.SERVER_ERROR,{method:"getTransactionCount",params:r,result:n,error:e})}})}getCode(e,t){return eC(this,void 0,void 0,function*(){yield this.getNetwork();let r=yield(0,ei.resolveProperties)({address:this._getAddress(e),blockTag:this._getBlockTag(t)}),n=yield this.perform("getCode",r);try{return(0,er.hexlify)(n)}catch(e){return e_.throwError("bad result from backend",q.Logger.errors.SERVER_ERROR,{method:"getCode",params:r,result:n,error:e})}})}getStorageAt(e,t,r){return eC(this,void 0,void 0,function*(){yield this.getNetwork();let n=yield(0,ei.resolveProperties)({address:this._getAddress(e),blockTag:this._getBlockTag(r),position:Promise.resolve(t).then(e=>(0,er.hexValue)(e))}),i=yield this.perform("getStorageAt",n);try{return(0,er.hexlify)(i)}catch(e){return e_.throwError("bad result from backend",q.Logger.errors.SERVER_ERROR,{method:"getStorageAt",params:n,result:i,error:e})}})}_wrapTransaction(e,t,r){if(null!=t&&32!==(0,er.hexDataLength)(t))throw Error("invalid response - sendTransaction");return null!=t&&e.hash!==t&&e_.throwError("Transaction hash mismatch from Provider.sendTransaction.",q.Logger.errors.UNKNOWN_ERROR,{expectedHash:e.hash,returnedHash:t}),e.wait=(t,n)=>eC(this,void 0,void 0,function*(){let i;null==t&&(t=1),null==n&&(n=0),0!==t&&null!=r&&(i={data:e.data,from:e.from,nonce:e.nonce,to:e.to,value:e.value,startBlock:r});let a=yield this._waitForTransaction(e.hash,t,n,i);return null==a&&0===t?null:(this._emitted["t:"+e.hash]=a.blockNumber,0===a.status&&e_.throwError("transaction failed",q.Logger.errors.CALL_EXCEPTION,{transactionHash:e.hash,transaction:e,receipt:a}),a)}),e}sendTransaction(e){return eC(this,void 0,void 0,function*(){yield this.getNetwork();let t=yield Promise.resolve(e).then(e=>(0,er.hexlify)(e)),r=this.formatter.transaction(e);null==r.confirmations&&(r.confirmations=0);let n=yield this._getInternalBlockNumber(100+2*this.pollingInterval);try{let e=yield this.perform("sendTransaction",{signedTransaction:t});return this._wrapTransaction(r,e,n)}catch(e){throw e.transaction=r,e.transactionHash=r.hash,e}})}_getTransactionRequest(e){return eC(this,void 0,void 0,function*(){let t=yield e,r={};return["from","to"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>e?this._getAddress(e):null))}),["gasLimit","gasPrice","maxFeePerGas","maxPriorityFeePerGas","value"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>e?(0,N.BigNumber).from(e):null))}),["type"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>null!=e?e:null))}),t.accessList&&(r.accessList=this.formatter.accessList(t.accessList)),["data"].forEach(e=>{null!=t[e]&&(r[e]=Promise.resolve(t[e]).then(e=>e?(0,er.hexlify)(e):null))}),this.formatter.transactionRequest((yield(0,ei.resolveProperties)(r)))})}_getFilter(e){return eC(this,void 0,void 0,function*(){e=yield e;let t={};return null!=e.address&&(t.address=this._getAddress(e.address)),["blockHash","topics"].forEach(r=>{null!=e[r]&&(t[r]=e[r])}),["fromBlock","toBlock"].forEach(r=>{null!=e[r]&&(t[r]=this._getBlockTag(e[r]))}),this.formatter.filter((yield(0,ei.resolveProperties)(t)))})}_call(e,t,r){return eC(this,void 0,void 0,function*(){r>=10&&e_.throwError("CCIP read exceeded maximum redirections",q.Logger.errors.SERVER_ERROR,{redirects:r,transaction:e});let n=e.to,i=yield this.perform("call",{transaction:e,blockTag:t});if(r>=0&&"latest"===t&&null!=n&&"0x556f1830"===i.substring(0,10)&&(0,er.hexDataLength)(i)%32==4)try{let a=(0,er.hexDataSlice)(i,4),s=(0,er.hexDataSlice)(a,0,32);(0,N.BigNumber).from(s).eq(n)||e_.throwError("CCIP Read sender did not match",q.Logger.errors.CALL_EXCEPTION,{name:"OffchainLookup",signature:"OffchainLookup(address,string[],bytes,bytes4,bytes)",transaction:e,data:i});let o=[],u=(0,N.BigNumber).from((0,er.hexDataSlice)(a,32,64)).toNumber(),l=(0,N.BigNumber).from((0,er.hexDataSlice)(a,u,u+32)).toNumber(),c=(0,er.hexDataSlice)(a,u+32);for(let t=0;teC(this,void 0,void 0,function*(){let e=yield this.perform("getBlock",n);if(null==e)return null!=n.blockHash&&null==this._emitted["b:"+n.blockHash]||null!=n.blockTag&&r>this._emitted.block?null:void 0;if(t){let t=null;for(let r=0;rthis._wrapTransaction(e)),r}return this.formatter.block(e)}),{oncePoll:this})})}getBlock(e){return this._getBlock(e,!1)}getBlockWithTransactions(e){return this._getBlock(e,!0)}getTransaction(e){return eC(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;let t={transactionHash:this.formatter.hash(e,!0)};return(0,eo.poll)(()=>eC(this,void 0,void 0,function*(){let r=yield this.perform("getTransaction",t);if(null==r)return null==this._emitted["t:"+e]?null:void 0;let n=this.formatter.transactionResponse(r);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){let e=yield this._getInternalBlockNumber(100+2*this.pollingInterval),t=e-n.blockNumber+1;t<=0&&(t=1),n.confirmations=t}return this._wrapTransaction(n)}),{oncePoll:this})})}getTransactionReceipt(e){return eC(this,void 0,void 0,function*(){yield this.getNetwork(),e=yield e;let t={transactionHash:this.formatter.hash(e,!0)};return(0,eo.poll)(()=>eC(this,void 0,void 0,function*(){let r=yield this.perform("getTransactionReceipt",t);if(null==r)return null==this._emitted["t:"+e]?null:void 0;if(null==r.blockHash)return;let n=this.formatter.receipt(r);if(null==n.blockNumber)n.confirmations=0;else if(null==n.confirmations){let e=yield this._getInternalBlockNumber(100+2*this.pollingInterval),t=e-n.blockNumber+1;t<=0&&(t=1),n.confirmations=t}return n}),{oncePoll:this})})}getLogs(e){return eC(this,void 0,void 0,function*(){yield this.getNetwork();let t=yield(0,ei.resolveProperties)({filter:this._getFilter(e)}),r=yield this.perform("getLogs",t);return r.forEach(e=>{null==e.removed&&(e.removed=!1)}),eA.arrayOf(this.formatter.filterLog.bind(this.formatter))(r)})}getEtherPrice(){return eC(this,void 0,void 0,function*(){return yield this.getNetwork(),this.perform("getEtherPrice",{})})}_getBlockTag(e){return eC(this,void 0,void 0,function*(){if("number"==typeof(e=yield e)&&e<0){e%1&&e_.throwArgumentError("invalid BlockTag","blockTag",e);let t=yield this._getInternalBlockNumber(100+2*this.pollingInterval);return(t+=e)<0&&(t=0),this.formatter.blockTag(t)}return this.formatter.blockTag(e)})}getResolver(e){return eC(this,void 0,void 0,function*(){let t=e;for(;;){if(""===t||"."===t||"eth"!==e&&"eth"===t)return null;let r=yield this._getResolver(t,"getResolver");if(null!=r){let n=new eV(this,r,e);if(t!==e&&!(yield n.supportsWildcard()))return null;return n}t=t.split(".").slice(1).join(".")}})}_getResolver(e,t){return eC(this,void 0,void 0,function*(){null==t&&(t="ENS");let r=yield this.getNetwork();r.ensAddress||e_.throwError("network does not support ENS",q.Logger.errors.UNSUPPORTED_OPERATION,{operation:t,network:r.name});try{let t=yield this.call({to:r.ensAddress,data:"0x0178b8bf"+(0,en.namehash)(e).substring(2)});return this.formatter.callAddress(t)}catch(e){}return null})}resolveName(e){return eC(this,void 0,void 0,function*(){e=yield e;try{return Promise.resolve(this.formatter.address(e))}catch(t){if((0,er.isHexString)(e))throw t}"string"!=typeof e&&e_.throwArgumentError("invalid ENS name","name",e);let t=yield this.getResolver(e);return t?yield t.getAddress():null})}lookupAddress(e){return eC(this,void 0,void 0,function*(){e=yield e,e=this.formatter.address(e);let t=e.substring(2).toLowerCase()+".addr.reverse",r=yield this._getResolver(t,"lookupAddress");if(null==r)return null;let n=eU((yield this.call({to:r,data:"0x691f3431"+(0,en.namehash)(t).substring(2)})),0),i=yield this.resolveName(n);return i!=e?null:n})}getAvatar(e){return eC(this,void 0,void 0,function*(){let t=null;if((0,er.isHexString)(e)){let r=this.formatter.address(e),n=r.substring(2).toLowerCase()+".addr.reverse",i=yield this._getResolver(n,"getAvatar");if(!i)return null;t=new eV(this,i,n);try{let e=yield t.getAvatar();if(e)return e.url}catch(e){if(e.code!==q.Logger.errors.CALL_EXCEPTION)throw e}try{let e=eU((yield this.call({to:i,data:"0x691f3431"+(0,en.namehash)(n).substring(2)})),0);t=yield this.getResolver(e)}catch(e){if(e.code!==q.Logger.errors.CALL_EXCEPTION)throw e;return null}}else if(!(t=yield this.getResolver(e)))return null;let r=yield t.getAvatar();return null==r?null:r.url})}perform(e,t){return e_.throwError(e+" not implemented",q.Logger.errors.NOT_IMPLEMENTED,{operation:e})}_startEvent(e){this.polling=this._events.filter(e=>e.pollable()).length>0}_stopEvent(e){this.polling=this._events.filter(e=>e.pollable()).length>0}_addEventListener(e,t,r){let n=new eO(eF(e),t,r);return this._events.push(n),this._startEvent(n),this}on(e,t){return this._addEventListener(e,t,!1)}once(e,t){return this._addEventListener(e,t,!0)}emit(e,...t){let r=!1,n=[],i=eF(e);return this._events=this._events.filter(e=>e.tag!==i||(setTimeout(()=>{e.listener.apply(this,t)},0),r=!0,!e.once||(n.push(e),!1))),n.forEach(e=>{this._stopEvent(e)}),r}listenerCount(e){if(!e)return this._events.length;let t=eF(e);return this._events.filter(e=>e.tag===t).length}listeners(e){if(null==e)return this._events.map(e=>e.listener);let t=eF(e);return this._events.filter(e=>e.tag===t).map(e=>e.listener)}off(e,t){if(null==t)return this.removeAllListeners(e);let r=[],n=!1,i=eF(e);return this._events=this._events.filter(e=>e.tag!==i||e.listener!=t||!!n||(n=!0,r.push(e),!1)),r.forEach(e=>{this._stopEvent(e)}),this}removeAllListeners(e){let t=[];if(null==e)t=this._events,this._events=[];else{let r=eF(e);this._events=this._events.filter(e=>e.tag!==r||(t.push(e),!1))}return t.forEach(e=>{this._stopEvent(e)}),this}}var ei=a("e72ut"),eZ={};e(eZ,"WebSocketProvider",()=>ta);var N=a("1chjt"),ei=a("e72ut"),eY={};e(eY,"JsonRpcSigner",()=>e4),e(eY,"JsonRpcProvider",()=>te);"use strict";var R=a("j7x7T"),N=a("1chjt"),er=a("aBzgs"),e$=a("a2n8k"),ei=a("e72ut"),es=a("fkVsY"),ev=a("TyNFl"),eo=a("6BV0e"),q=a("d1hml"),eX=function(e,t,r,n){return new(r||(r=Promise))(function(i,a){function s(e){try{u(n.next(e))}catch(e){a(e)}}function o(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(s,o)}u((n=n.apply(e,t||[])).next())})};const eQ=new q.Logger(eb),e0=["call","estimateGas"];function e1(e,t){if(null==e)return null;if("string"==typeof e.message&&e.message.match("reverted")){let r=(0,er.isHexString)(e.data)?e.data:null;if(!t||r)return{message:e.message,data:r}}if("object"==typeof e){for(let r in e){let n=e1(e[r],t);if(n)return n}return null}if("string"==typeof e)try{return e1(JSON.parse(e),t)}catch(e){}return null}function e2(e,t,r){let n=r.transaction||r.signedTransaction;if("call"===e){let e=e1(t,!0);if(e)return e.data;eQ.throwError("missing revert data in call exception; Transaction reverted without a reason string",q.Logger.errors.CALL_EXCEPTION,{data:"0x",transaction:n,error:t})}if("estimateGas"===e){let r=e1(t.body,!1);null==r&&(r=e1(t,!1)),r&&eQ.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",q.Logger.errors.UNPREDICTABLE_GAS_LIMIT,{reason:r.message,method:e,transaction:n,error:t})}let i=t.message;throw t.code===q.Logger.errors.SERVER_ERROR&&t.error&&"string"==typeof t.error.message?i=t.error.message:"string"==typeof t.body?i=t.body:"string"==typeof t.responseText&&(i=t.responseText),(i=(i||"").toLowerCase()).match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)&&eQ.throwError("insufficient funds for intrinsic transaction cost",q.Logger.errors.INSUFFICIENT_FUNDS,{error:t,method:e,transaction:n}),i.match(/nonce (is )?too low/i)&&eQ.throwError("nonce has already been used",q.Logger.errors.NONCE_EXPIRED,{error:t,method:e,transaction:n}),i.match(/replacement transaction underpriced|transaction gas price.*too low/i)&&eQ.throwError("replacement fee too low",q.Logger.errors.REPLACEMENT_UNDERPRICED,{error:t,method:e,transaction:n}),i.match(/only replay-protected/i)&&eQ.throwError("legacy pre-eip-155 transactions not supported",q.Logger.errors.UNSUPPORTED_OPERATION,{error:t,method:e,transaction:n}),e0.indexOf(e)>=0&&i.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)&&eQ.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",q.Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,method:e,transaction:n}),t}function e3(e){return new Promise(function(t){setTimeout(t,e)})}function e6(e){if(e.error){let t=Error(e.error.message);throw t.code=e.error.code,t.data=e.error.data,t}return e.result}function e8(e){return e?e.toLowerCase():e}const e5={};class e4 extends R.Signer{constructor(e,t,r){if(super(),e!==e5)throw Error("do not call the JsonRpcSigner constructor directly; use provider.getSigner");(0,ei.defineReadOnly)(this,"provider",t),null==r&&(r=0),"string"==typeof r?((0,ei.defineReadOnly)(this,"_address",this.provider.formatter.address(r)),(0,ei.defineReadOnly)(this,"_index",null)):"number"==typeof r?((0,ei.defineReadOnly)(this,"_index",r),(0,ei.defineReadOnly)(this,"_address",null)):eQ.throwArgumentError("invalid address or index","addressOrIndex",r)}connect(e){return eQ.throwError("cannot alter JSON-RPC Signer connection",q.Logger.errors.UNSUPPORTED_OPERATION,{operation:"connect"})}connectUnchecked(){return new e7(e5,this.provider,this._address||this._index)}getAddress(){return this._address?Promise.resolve(this._address):this.provider.send("eth_accounts",[]).then(e=>(e.length<=this._index&&eQ.throwError("unknown account #"+this._index,q.Logger.errors.UNSUPPORTED_OPERATION,{operation:"getAddress"}),this.provider.formatter.address(e[this._index])))}sendUncheckedTransaction(e){e=(0,ei.shallowCopy)(e);let t=this.getAddress().then(e=>(e&&(e=e.toLowerCase()),e));if(null==e.gasLimit){let r=(0,ei.shallowCopy)(e);r.from=t,e.gasLimit=this.provider.estimateGas(r)}return null!=e.to&&(e.to=Promise.resolve(e.to).then(e=>eX(this,void 0,void 0,function*(){if(null==e)return null;let t=yield this.provider.resolveName(e);return null==t&&eQ.throwArgumentError("provided ENS name resolves to null","tx.to",e),t}))),(0,ei.resolveProperties)({tx:(0,ei.resolveProperties)(e),sender:t}).then(({tx:t,sender:r})=>{null!=t.from?t.from.toLowerCase()!==r&&eQ.throwArgumentError("from address mismatch","transaction",e):t.from=r;let n=this.provider.constructor.hexlifyTransaction(t,{from:!0});return this.provider.send("eth_sendTransaction",[n]).then(e=>e,e=>("string"==typeof e.message&&e.message.match(/user denied/i)&&eQ.throwError("user rejected transaction",q.Logger.errors.ACTION_REJECTED,{action:"sendTransaction",transaction:t}),e2("sendTransaction",e,n)))})}signTransaction(e){return eQ.throwError("signing transactions is unsupported",q.Logger.errors.UNSUPPORTED_OPERATION,{operation:"signTransaction"})}sendTransaction(e){return eX(this,void 0,void 0,function*(){let t=yield this.provider._getInternalBlockNumber(100+2*this.provider.pollingInterval),r=yield this.sendUncheckedTransaction(e);try{return yield(0,eo.poll)(()=>eX(this,void 0,void 0,function*(){let e=yield this.provider.getTransaction(r);if(null!==e)return this.provider._wrapTransaction(e,r,t)}),{oncePoll:this.provider})}catch(e){throw e.transactionHash=r,e}})}signMessage(e){return eX(this,void 0,void 0,function*(){let t="string"==typeof e?(0,es.toUtf8Bytes)(e):e,r=yield this.getAddress();try{return yield this.provider.send("personal_sign",[(0,er.hexlify)(t),r.toLowerCase()])}catch(t){throw"string"==typeof t.message&&t.message.match(/user denied/i)&&eQ.throwError("user rejected signing",q.Logger.errors.ACTION_REJECTED,{action:"signMessage",from:r,messageData:e}),t}})}_legacySignMessage(e){return eX(this,void 0,void 0,function*(){let t="string"==typeof e?(0,es.toUtf8Bytes)(e):e,r=yield this.getAddress();try{return yield this.provider.send("eth_sign",[r.toLowerCase(),(0,er.hexlify)(t)])}catch(t){throw"string"==typeof t.message&&t.message.match(/user denied/i)&&eQ.throwError("user rejected signing",q.Logger.errors.ACTION_REJECTED,{action:"_legacySignMessage",from:r,messageData:e}),t}})}_signTypedData(e,t,r){return eX(this,void 0,void 0,function*(){let n=yield(0,e$.TypedDataEncoder).resolveNames(e,t,r,e=>this.provider.resolveName(e)),i=yield this.getAddress();try{return yield this.provider.send("eth_signTypedData_v4",[i.toLowerCase(),JSON.stringify((0,e$.TypedDataEncoder).getPayload(n.domain,t,n.value))])}catch(e){throw"string"==typeof e.message&&e.message.match(/user denied/i)&&eQ.throwError("user rejected signing",q.Logger.errors.ACTION_REJECTED,{action:"_signTypedData",from:i,messageData:{domain:n.domain,types:t,value:n.value}}),e}})}unlock(e){return eX(this,void 0,void 0,function*(){let t=this.provider,r=yield this.getAddress();return t.send("personal_unlockAccount",[r.toLowerCase(),e,null])})}}class e7 extends e4{sendTransaction(e){return this.sendUncheckedTransaction(e).then(e=>({hash:e,nonce:null,gasLimit:null,gasPrice:null,data:null,value:null,chainId:null,confirmations:0,from:null,wait:t=>this.provider.waitForTransaction(e,t)}))}}const e9={chainId:!0,data:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0,type:!0,accessList:!0,maxFeePerGas:!0,maxPriorityFeePerGas:!0};class te extends Q.BaseProvider{constructor(e,t){let r=t;null==r&&(r=new Promise((e,t)=>{setTimeout(()=>{this.detectNetwork().then(t=>{e(t)},e=>{t(e)})},0)})),super(r),e||(e=(0,ei.getStatic)(this.constructor,"defaultUrl")()),"string"==typeof e?(0,ei.defineReadOnly)(this,"connection",Object.freeze({url:e})):(0,ei.defineReadOnly)(this,"connection",Object.freeze((0,ei.shallowCopy)(e))),this._nextId=42}get _cache(){return null==this._eventLoopCache&&(this._eventLoopCache={}),this._eventLoopCache}static defaultUrl(){return"http://localhost:8545"}detectNetwork(){return this._cache.detectNetwork||(this._cache.detectNetwork=this._uncachedDetectNetwork(),setTimeout(()=>{this._cache.detectNetwork=null},0)),this._cache.detectNetwork}_uncachedDetectNetwork(){return eX(this,void 0,void 0,function*(){yield e3(0);let e=null;try{e=yield this.send("eth_chainId",[])}catch(t){try{e=yield this.send("net_version",[])}catch(e){}}if(null!=e){let t=(0,ei.getStatic)(this.constructor,"getNetwork");try{return t((0,N.BigNumber).from(e).toNumber())}catch(t){return eQ.throwError("could not detect network",q.Logger.errors.NETWORK_ERROR,{chainId:e,event:"invalidNetwork",serverError:t})}}return eQ.throwError("could not detect network",q.Logger.errors.NETWORK_ERROR,{event:"noNetwork"})})}getSigner(e){return new e4(e5,this,e)}getUncheckedSigner(e){return this.getSigner(e).connectUnchecked()}listAccounts(){return this.send("eth_accounts",[]).then(e=>e.map(e=>this.formatter.address(e)))}send(e,t){let r={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};this.emit("debug",{action:"request",request:(0,ei.deepCopy)(r),provider:this});let n=["eth_chainId","eth_blockNumber"].indexOf(e)>=0;if(n&&this._cache[e])return this._cache[e];let i=(0,eo.fetchJson)(this.connection,JSON.stringify(r),e6).then(e=>(this.emit("debug",{action:"response",request:r,response:e,provider:this}),e),e=>{throw this.emit("debug",{action:"response",error:e,request:r,provider:this}),e});return n&&(this._cache[e]=i,setTimeout(()=>{this._cache[e]=null},0)),i}prepareRequest(e,t){switch(e){case"getBlockNumber":return["eth_blockNumber",[]];case"getGasPrice":return["eth_gasPrice",[]];case"getBalance":return["eth_getBalance",[e8(t.address),t.blockTag]];case"getTransactionCount":return["eth_getTransactionCount",[e8(t.address),t.blockTag]];case"getCode":return["eth_getCode",[e8(t.address),t.blockTag]];case"getStorageAt":return["eth_getStorageAt",[e8(t.address),(0,er.hexZeroPad)(t.position,32),t.blockTag]];case"sendTransaction":return["eth_sendRawTransaction",[t.signedTransaction]];case"getBlock":if(t.blockTag)return["eth_getBlockByNumber",[t.blockTag,!!t.includeTransactions]];if(t.blockHash)return["eth_getBlockByHash",[t.blockHash,!!t.includeTransactions]];break;case"getTransaction":return["eth_getTransactionByHash",[t.transactionHash]];case"getTransactionReceipt":return["eth_getTransactionReceipt",[t.transactionHash]];case"call":{let e=(0,ei.getStatic)(this.constructor,"hexlifyTransaction");return["eth_call",[e(t.transaction,{from:!0}),t.blockTag]]}case"estimateGas":{let e=(0,ei.getStatic)(this.constructor,"hexlifyTransaction");return["eth_estimateGas",[e(t.transaction,{from:!0})]]}case"getLogs":return t.filter&&null!=t.filter.address&&(t.filter.address=e8(t.filter.address)),["eth_getLogs",[t.filter]]}return null}perform(e,t){return eX(this,void 0,void 0,function*(){if("call"===e||"estimateGas"===e){let e=t.transaction;if(e&&null!=e.type&&(0,N.BigNumber).from(e.type).isZero()&&null==e.maxFeePerGas&&null==e.maxPriorityFeePerGas){let r=yield this.getFeeData();null==r.maxFeePerGas&&null==r.maxPriorityFeePerGas&&((t=(0,ei.shallowCopy)(t)).transaction=(0,ei.shallowCopy)(e),delete t.transaction.type)}}let r=this.prepareRequest(e,t);null==r&&eQ.throwError(e+" not implemented",q.Logger.errors.NOT_IMPLEMENTED,{operation:e});try{return yield this.send(r[0],r[1])}catch(r){return e2(e,r,t)}})}_startEvent(e){"pending"===e.tag&&this._startPending(),super._startEvent(e)}_startPending(){if(null!=this._pendingFilter)return;let e=this,t=this.send("eth_newPendingTransactionFilter",[]);this._pendingFilter=t,t.then(function(r){return function n(){e.send("eth_getFilterChanges",[r]).then(function(r){if(e._pendingFilter!=t)return null;let n=Promise.resolve();return r.forEach(function(t){e._emitted["t:"+t.toLowerCase()]="pending",n=n.then(function(){return e.getTransaction(t).then(function(t){return e.emit("pending",t),null})})}),n.then(function(){return e3(1e3)})}).then(function(){if(e._pendingFilter!=t){e.send("eth_uninstallFilter",[r]);return}return setTimeout(function(){n()},0),null}).catch(e=>{})}(),r}).catch(e=>{})}_stopEvent(e){"pending"===e.tag&&0===this.listenerCount("pending")&&(this._pendingFilter=null),super._stopEvent(e)}static hexlifyTransaction(e,t){let r=(0,ei.shallowCopy)(e9);if(t)for(let e in t)t[e]&&(r[e]=!0);(0,ei.checkProperties)(e,r);let n={};return["chainId","gasLimit","gasPrice","type","maxFeePerGas","maxPriorityFeePerGas","nonce","value"].forEach(function(t){if(null==e[t])return;let r=(0,er.hexValue)((0,N.BigNumber).from(e[t]));"gasLimit"===t&&(t="gas"),n[t]=r}),["from","to","data"].forEach(function(t){null!=e[t]&&(n[t]=(0,er.hexlify)(e[t]))}),e.accessList&&(n.accessList=(0,ev.accessListify)(e.accessList)),n}}"use strict";var q=a("d1hml");let tt=null;try{if(tt=WebSocket,null==tt)throw Error("inject please")}catch(t){let e=new q.Logger(eb);tt=function(){e.throwError("WebSockets not supported in this environment",q.Logger.errors.UNSUPPORTED_OPERATION,{operation:"new WebSocket()"})}}"use strict";var q=a("d1hml"),tr=function(e,t,r,n){return new(r||(r=Promise))(function(i,a){function s(e){try{u(n.next(e))}catch(e){a(e)}}function o(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(s,o)}u((n=n.apply(e,t||[])).next())})};const tn=new q.Logger(eb);let ti=1;class ta extends eY.JsonRpcProvider{constructor(e,t){"any"===t&&tn.throwError("WebSocketProvider does not support 'any' network yet",q.Logger.errors.UNSUPPORTED_OPERATION,{operation:"network:any"}),"string"==typeof e?super(e,t):super("_websocket",t),this._pollingInterval=-1,this._wsReady=!1,"string"==typeof e?(0,ei.defineReadOnly)(this,"_websocket",new tt(this.connection.url)):(0,ei.defineReadOnly)(this,"_websocket",e),(0,ei.defineReadOnly)(this,"_requests",{}),(0,ei.defineReadOnly)(this,"_subs",{}),(0,ei.defineReadOnly)(this,"_subIds",{}),(0,ei.defineReadOnly)(this,"_detectNetwork",super.detectNetwork()),this.websocket.onopen=()=>{this._wsReady=!0,Object.keys(this._requests).forEach(e=>{this.websocket.send(this._requests[e].payload)})},this.websocket.onmessage=e=>{let t=e.data,r=JSON.parse(t);if(null!=r.id){let e=String(r.id),n=this._requests[e];if(delete this._requests[e],void 0!==r.result)n.callback(null,r.result),this.emit("debug",{action:"response",request:JSON.parse(n.payload),response:r.result,provider:this});else{let e=null;r.error?(e=Error(r.error.message||"unknown error"),(0,ei.defineReadOnly)(e,"code",r.error.code||null),(0,ei.defineReadOnly)(e,"response",t)):e=Error("unknown error"),n.callback(e,void 0),this.emit("debug",{action:"response",error:e,request:JSON.parse(n.payload),provider:this})}}else if("eth_subscription"===r.method){let e=this._subs[r.params.subscription];e&&e.processFunc(r.params.result)}else console.warn("this should not happen")};let r=setInterval(()=>{this.emit("poll")},1e3);r.unref&&r.unref()}get websocket(){return this._websocket}detectNetwork(){return this._detectNetwork}get pollingInterval(){return 0}resetEventsBlock(e){tn.throwError("cannot reset events block on WebSocketProvider",q.Logger.errors.UNSUPPORTED_OPERATION,{operation:"resetEventBlock"})}set pollingInterval(e){tn.throwError("cannot set polling interval on WebSocketProvider",q.Logger.errors.UNSUPPORTED_OPERATION,{operation:"setPollingInterval"})}poll(){return tr(this,void 0,void 0,function*(){return null})}set polling(e){e&&tn.throwError("cannot set polling on WebSocketProvider",q.Logger.errors.UNSUPPORTED_OPERATION,{operation:"setPolling"})}send(e,t){let r=ti++;return new Promise((n,i)=>{let a=JSON.stringify({method:e,params:t,id:r,jsonrpc:"2.0"});this.emit("debug",{action:"request",request:JSON.parse(a),provider:this}),this._requests[String(r)]={callback:function(e,t){return e?i(e):n(t)},payload:a},this._wsReady&&this.websocket.send(a)})}static defaultUrl(){return"ws://localhost:8546"}_subscribe(e,t,r){return tr(this,void 0,void 0,function*(){let n=this._subIds[e];null==n&&(n=Promise.all(t).then(e=>this.send("eth_subscribe",e)),this._subIds[e]=n);let i=yield n;this._subs[i]={tag:e,processFunc:r}})}_startEvent(e){switch(e.type){case"block":this._subscribe("block",["newHeads"],e=>{let t=(0,N.BigNumber).from(e.number).toNumber();this._emitted.block=t,this.emit("block",t)});break;case"pending":this._subscribe("pending",["newPendingTransactions"],e=>{this.emit("pending",e)});break;case"filter":this._subscribe(e.tag,["logs",this._getFilter(e.filter)],t=>{null==t.removed&&(t.removed=!1),this.emit(e.filter,this.formatter.filterLog(t))});break;case"tx":{let t=e=>{let t=e.hash;this.getTransactionReceipt(t).then(e=>{e&&this.emit(t,e)})};t(e),this._subscribe("tx",["newHeads"],e=>{this._events.filter(e=>"tx"===e.type).forEach(t)});break}case"debug":case"poll":case"willPoll":case"didPoll":case"error":break;default:console.log("unhandled:",e)}}_stopEvent(e){let t=e.tag;if("tx"===e.type){if(this._events.filter(e=>"tx"===e.type).length)return;t="tx"}else if(this.listenerCount(e.event))return;let r=this._subIds[t];r&&(delete this._subIds[t],r.then(e=>{this._subs[e]&&(delete this._subs[e],this.send("eth_unsubscribe",[e]))}))}destroy(){return tr(this,void 0,void 0,function*(){this.websocket.readyState===tt.CONNECTING&&(yield new Promise(e=>{this.websocket.onopen=function(){e(!0)},this.websocket.onerror=function(){e(!1)}})),this.websocket.close(1e3)})}}var q=a("d1hml"),ts={};e(ts,"StaticJsonRpcProvider",()=>tu),e(ts,"UrlJsonRpcProvider",()=>tl);"use strict";var ei=a("e72ut"),q=a("d1hml");const to=new q.Logger(eb);class tu extends eY.JsonRpcProvider{detectNetwork(){var e,t,r,n;let i=Object.create(null,{detectNetwork:{get:()=>super.detectNetwork}});return e=this,t=void 0,r=void 0,n=function*(){let e=this.network;return null==e&&((e=yield i.detectNetwork.call(this))||to.throwError("no network detected",q.Logger.errors.UNKNOWN_ERROR,{}),null==this._network&&((0,ei.defineReadOnly)(this,"_network",e),this.emit("network",e,null))),e},new(r||(r=Promise))(function(i,a){function s(e){try{u(n.next(e))}catch(e){a(e)}}function o(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(s,o)}u((n=n.apply(e,t||[])).next())})}}class tl extends tu{constructor(e,t){to.checkAbstract(new.target,tl),e=(0,ei.getStatic)(new.target,"getNetwork")(e),t=(0,ei.getStatic)(new.target,"getApiKey")(t);let r=(0,ei.getStatic)(new.target,"getUrl")(e,t);super(r,e),"string"==typeof t?(0,ei.defineReadOnly)(this,"apiKey",t):null!=t&&Object.keys(t).forEach(e=>{(0,ei.defineReadOnly)(this,e,t[e])})}_startPending(){to.warn("WARNING: API provider does not support pending filters")}isCommunityResource(){return!1}getSigner(e){return to.throwError("API provider does not support signing",q.Logger.errors.UNSUPPORTED_OPERATION,{operation:"getSigner"})}listAccounts(){return Promise.resolve([])}static getApiKey(e){return e}static getUrl(e,t){return to.throwError("not implemented; sub-classes must override getUrl",q.Logger.errors.NOT_IMPLEMENTED,{operation:"getUrl"})}}"use strict";const tc=new q.Logger(eb),td="_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC";class tf extends eZ.WebSocketProvider{constructor(e,t){let r=new th(e,t),n=r.connection.url.replace(/^http/i,"ws").replace(".alchemyapi.",".ws.alchemyapi.");super(n,r.network),(0,ei.defineReadOnly)(this,"apiKey",r.apiKey)}isCommunityResource(){return this.apiKey===td}}class th extends ts.UrlJsonRpcProvider{static getWebSocketProvider(e,t){return new tf(e,t)}static getApiKey(e){return null==e?td:(e&&"string"!=typeof e&&tc.throwArgumentError("invalid apiKey","apiKey",e),e)}static getUrl(e,t){let r=null;switch(e.name){case"homestead":r="eth-mainnet.alchemyapi.io/v2/";break;case"goerli":r="eth-goerli.g.alchemy.com/v2/";break;case"matic":r="polygon-mainnet.g.alchemy.com/v2/";break;case"maticmum":r="polygon-mumbai.g.alchemy.com/v2/";break;case"arbitrum":r="arb-mainnet.g.alchemy.com/v2/";break;case"arbitrum-goerli":r="arb-goerli.g.alchemy.com/v2/";break;case"optimism":r="opt-mainnet.g.alchemy.com/v2/";break;case"optimism-goerli":r="opt-goerli.g.alchemy.com/v2/";break;default:tc.throwArgumentError("unsupported network","network",arguments[0])}return{allowGzip:!0,url:"https://"+r+t,throttleCallback:(e,r)=>(t===td&&eT(),Promise.resolve(!0))}}isCommunityResource(){return this.apiKey===td}}var q=a("d1hml");const tp=new q.Logger(eb),ty="9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972";class tm extends ts.UrlJsonRpcProvider{isCommunityResource(){return this.apiKey===ty}static getApiKey(e){return null==e?ty:e}static getUrl(e,t){null==t&&(t=ty);let r={allowGzip:!0,url:"https://"+function(e){switch(e){case"homestead":return"rpc.ankr.com/eth/";case"ropsten":return"rpc.ankr.com/eth_ropsten/";case"rinkeby":return"rpc.ankr.com/eth_rinkeby/";case"goerli":return"rpc.ankr.com/eth_goerli/";case"matic":return"rpc.ankr.com/polygon/";case"arbitrum":return"rpc.ankr.com/arbitrum/"}return tp.throwArgumentError("unsupported network","name",e)}(e.name)+t,throttleCallback:(e,r)=>(t.apiKey===ty&&eT(),Promise.resolve(!0))};return null!=t.projectSecret&&(r.user="",r.password=t.projectSecret),r}}var tb={};e(tb,"CloudflareProvider",()=>tv);"use strict";var q=a("d1hml");const tg=new q.Logger(eb);class tv extends ts.UrlJsonRpcProvider{static getApiKey(e){return null!=e&&tg.throwArgumentError("apiKey not supported for cloudflare","apiKey",e),null}static getUrl(e,t){let r=null;return"homestead"===e.name?r="https://cloudflare-eth.com/":tg.throwArgumentError("unsupported network","network",arguments[0]),r}perform(e,t){var r,n,i,a;let s=Object.create(null,{perform:{get:()=>super.perform}});return r=this,n=void 0,i=void 0,a=function*(){if("getBlockNumber"===e){let e=yield s.perform.call(this,"getBlock",{blockTag:"latest"});return e.number}return s.perform.call(this,e,t)},new(i||(i=Promise))(function(e,t){function s(e){try{u(a.next(e))}catch(e){t(e)}}function o(e){try{u(a.throw(e))}catch(e){t(e)}}function u(t){var r;t.done?e(t.value):((r=t.value)instanceof i?r:new i(function(e){e(r)})).then(s,o)}u((a=a.apply(r,n||[])).next())})}}var tw={};e(tw,"EtherscanProvider",()=>tS);"use strict";var er=a("aBzgs"),ei=a("e72ut"),ev=a("TyNFl"),eo=a("6BV0e"),q=a("d1hml"),tA=function(e,t,r,n){return new(r||(r=Promise))(function(i,a){function s(e){try{u(n.next(e))}catch(e){a(e)}}function o(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(s,o)}u((n=n.apply(e,t||[])).next())})};const tE=new q.Logger(eb);function tx(e){let t={};for(let r in e){if(null==e[r])continue;let n=e[r];("type"!==r||0!==n)&&(n=({type:!0,gasLimit:!0,gasPrice:!0,maxFeePerGs:!0,maxPriorityFeePerGas:!0,nonce:!0,value:!0})[r]?(0,er.hexValue)((0,er.hexlify)(n)):"accessList"===r?"["+(0,ev.accessListify)(n).map(e=>`{address:"${e.address}",storageKeys:["${e.storageKeys.join('","')}"]}`).join(",")+"]":(0,er.hexlify)(n),t[r]=n)}return t}function tM(e){if(0==e.status&&("No records found"===e.message||"No transactions found"===e.message))return e.result;if(1!=e.status||"string"!=typeof e.message||!e.message.match(/^OK/)){let t=Error("invalid response");throw t.result=JSON.stringify(e),(e.result||"").toLowerCase().indexOf("rate limit")>=0&&(t.throttleRetry=!0),t}return e.result}function tT(e){if(e&&0==e.status&&"NOTOK"==e.message&&(e.result||"").toLowerCase().indexOf("rate limit")>=0){let t=Error("throttled response");throw t.result=JSON.stringify(e),t.throttleRetry=!0,t}if("2.0"!=e.jsonrpc){let t=Error("invalid response");throw t.result=JSON.stringify(e),t}if(e.error){let t=Error(e.error.message||"unknown error");throw e.error.code&&(t.code=e.error.code),e.error.data&&(t.data=e.error.data),t}return e.result}function tC(e){if("pending"===e)throw Error("pending not supported");return"latest"===e?e:parseInt(e.substring(2),16)}function t_(e,t,r){if("call"===e&&t.code===q.Logger.errors.SERVER_ERROR){let e=t.error;if(e&&(e.message.match(/reverted/i)||e.message.match(/VM execution error/i))){let r=e.data;if(r&&(r="0x"+r.replace(/^.*0x/i,"")),(0,er.isHexString)(r))return r;tE.throwError("missing revert data in call exception",q.Logger.errors.CALL_EXCEPTION,{error:t,data:"0x"})}}let n=t.message;throw t.code===q.Logger.errors.SERVER_ERROR&&(t.error&&"string"==typeof t.error.message?n=t.error.message:"string"==typeof t.body?n=t.body:"string"==typeof t.responseText&&(n=t.responseText)),(n=(n||"").toLowerCase()).match(/insufficient funds/)&&tE.throwError("insufficient funds for intrinsic transaction cost",q.Logger.errors.INSUFFICIENT_FUNDS,{error:t,method:e,transaction:r}),n.match(/same hash was already imported|transaction nonce is too low|nonce too low/)&&tE.throwError("nonce has already been used",q.Logger.errors.NONCE_EXPIRED,{error:t,method:e,transaction:r}),n.match(/another transaction with same nonce/)&&tE.throwError("replacement fee too low",q.Logger.errors.REPLACEMENT_UNDERPRICED,{error:t,method:e,transaction:r}),n.match(/execution failed due to an exception|execution reverted/)&&tE.throwError("cannot estimate gas; transaction may fail or may require manual gas limit",q.Logger.errors.UNPREDICTABLE_GAS_LIMIT,{error:t,method:e,transaction:r}),t}class tS extends Q.BaseProvider{constructor(e,t){super(e),(0,ei.defineReadOnly)(this,"baseUrl",this.getBaseUrl()),(0,ei.defineReadOnly)(this,"apiKey",t||null)}getBaseUrl(){switch(this.network?this.network.name:"invalid"){case"homestead":return"https://api.etherscan.io";case"goerli":return"https://api-goerli.etherscan.io";case"sepolia":return"https://api-sepolia.etherscan.io";case"matic":return"https://api.polygonscan.com";case"maticmum":return"https://api-testnet.polygonscan.com";case"arbitrum":return"https://api.arbiscan.io";case"arbitrum-goerli":return"https://api-goerli.arbiscan.io";case"optimism":return"https://api-optimistic.etherscan.io";case"optimism-goerli":return"https://api-goerli-optimistic.etherscan.io"}return tE.throwArgumentError("unsupported network","network",this.network.name)}getUrl(e,t){let r=Object.keys(t).reduce((e,r)=>{let n=t[r];return null!=n&&(e+=`&${r}=${n}`),e},""),n=this.apiKey?`&apikey=${this.apiKey}`:"";return`${this.baseUrl}/api?module=${e}${r}${n}`}getPostUrl(){return`${this.baseUrl}/api`}getPostData(e,t){return t.module=e,t.apikey=this.apiKey,t}fetch(e,t,r){return tA(this,void 0,void 0,function*(){let n=r?this.getPostUrl():this.getUrl(e,t),i=r?this.getPostData(e,t):null,a="proxy"===e?tT:tM;this.emit("debug",{action:"request",request:n,provider:this});let s={url:n,throttleSlotInterval:1e3,throttleCallback:(e,t)=>(this.isCommunityResource()&&eT(),Promise.resolve(!0))},o=null;i&&(s.headers={"content-type":"application/x-www-form-urlencoded; charset=UTF-8"},o=Object.keys(i).map(e=>`${e}=${i[e]}`).join("&"));let u=yield(0,eo.fetchJson)(s,o,a||tT);return this.emit("debug",{action:"response",request:n,response:(0,ei.deepCopy)(u),provider:this}),u})}detectNetwork(){return tA(this,void 0,void 0,function*(){return this.network})}perform(e,t){let r=Object.create(null,{perform:{get:()=>super.perform}});return tA(this,void 0,void 0,function*(){switch(e){case"getBlockNumber":return this.fetch("proxy",{action:"eth_blockNumber"});case"getGasPrice":return this.fetch("proxy",{action:"eth_gasPrice"});case"getBalance":return this.fetch("account",{action:"balance",address:t.address,tag:t.blockTag});case"getTransactionCount":return this.fetch("proxy",{action:"eth_getTransactionCount",address:t.address,tag:t.blockTag});case"getCode":return this.fetch("proxy",{action:"eth_getCode",address:t.address,tag:t.blockTag});case"getStorageAt":return this.fetch("proxy",{action:"eth_getStorageAt",address:t.address,position:t.position,tag:t.blockTag});case"sendTransaction":return this.fetch("proxy",{action:"eth_sendRawTransaction",hex:t.signedTransaction},!0).catch(e=>t_("sendTransaction",e,t.signedTransaction));case"getBlock":if(t.blockTag)return this.fetch("proxy",{action:"eth_getBlockByNumber",tag:t.blockTag,boolean:t.includeTransactions?"true":"false"});throw Error("getBlock by blockHash not implemented");case"getTransaction":return this.fetch("proxy",{action:"eth_getTransactionByHash",txhash:t.transactionHash});case"getTransactionReceipt":return this.fetch("proxy",{action:"eth_getTransactionReceipt",txhash:t.transactionHash});case"call":{if("latest"!==t.blockTag)throw Error("EtherscanProvider does not support blockTag for call");let e=tx(t.transaction);e.module="proxy",e.action="eth_call";try{return yield this.fetch("proxy",e,!0)}catch(e){return t_("call",e,t.transaction)}}case"estimateGas":{let e=tx(t.transaction);e.module="proxy",e.action="eth_estimateGas";try{return yield this.fetch("proxy",e,!0)}catch(e){return t_("estimateGas",e,t.transaction)}}case"getLogs":{let e={action:"getLogs"};if(t.filter.fromBlock&&(e.fromBlock=tC(t.filter.fromBlock)),t.filter.toBlock&&(e.toBlock=tC(t.filter.toBlock)),t.filter.address&&(e.address=t.filter.address),t.filter.topics&&t.filter.topics.length>0&&(t.filter.topics.length>1&&tE.throwError("unsupported topic count",q.Logger.errors.UNSUPPORTED_OPERATION,{topics:t.filter.topics}),1===t.filter.topics.length)){let r=t.filter.topics[0];("string"!=typeof r||66!==r.length)&&tE.throwError("unsupported topic format",q.Logger.errors.UNSUPPORTED_OPERATION,{topic0:r}),e.topic0=r}let r=yield this.fetch("logs",e),n={};for(let e=0;e{["contractAddress","to"].forEach(function(t){""==e[t]&&delete e[t]}),null==e.creates&&null!=e.contractAddress&&(e.creates=e.contractAddress);let t=this.formatter.transactionResponse(e);return e.timeStamp&&(t.timestamp=parseInt(e.timeStamp)),t})})}isCommunityResource(){return null==this.apiKey}}var tB={};e(tB,"FallbackProvider",()=>tz);"use strict";var z=a("b6M4l"),N=a("1chjt"),er=a("aBzgs"),ei=a("e72ut"),tF=a("iW3ip"),eo=a("6BV0e"),q=a("d1hml"),tk=function(e,t,r,n){return new(r||(r=Promise))(function(i,a){function s(e){try{u(n.next(e))}catch(e){a(e)}}function o(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var t;e.done?i(e.value):((t=e.value)instanceof r?t:new r(function(e){e(t)})).then(s,o)}u((n=n.apply(e,t||[])).next())})};const tD=new q.Logger(eb);function tP(){return new Date().getTime()}function tO(e){let t=null;for(let r=0;rt?null:(n+i)/2}function tR(e){if(null===e)return"null";if("number"==typeof e||"boolean"==typeof e)return JSON.stringify(e);if("string"==typeof e)return e;if((0,N.BigNumber).isBigNumber(e))return e.toString();if(Array.isArray(e))return JSON.stringify(e.map(e=>tR(e)));if("object"==typeof e){let t=Object.keys(e);return t.sort(),"{"+t.map(t=>{let r=e[t];return r="function"==typeof r?"[function]":tR(r),JSON.stringify(t)+":"+r}).join(",")+"}"}throw Error("unknown value type: "+typeof e)}let tI=1;function tL(e){let t=null,r=null,n=new Promise(n=>{r=setTimeout(t=function(){r&&(clearTimeout(r),r=null),n()},e)});return{cancel:t,getPromise:function(){return n},wait:e=>n=n.then(e)}}const tj=[q.Logger.errors.CALL_EXCEPTION,q.Logger.errors.INSUFFICIENT_FUNDS,q.Logger.errors.NONCE_EXPIRED,q.Logger.errors.REPLACEMENT_UNDERPRICED,q.Logger.errors.UNPREDICTABLE_GAS_LIMIT],tU=["address","args","errorArgs","errorSignature","method","transaction"];function tH(e,t){let r={weight:e.weight};return Object.defineProperty(r,"provider",{get:()=>e.provider}),e.start&&(r.start=e.start),t&&(r.duration=t-e.start),e.done&&(e.error?r.error=e.error:r.result=e.result||null),r}function tG(e,t){return tk(this,void 0,void 0,function*(){let r=e.provider;return null!=r.blockNumber&&r.blockNumber>=t||-1===t?r:(0,eo.poll)(()=>new Promise((n,i)=>{setTimeout(function(){return r.blockNumber>=t?n(r):e.cancelled?n(null):n(void 0)},0)}),{oncePoll:r})})}class tz extends Q.BaseProvider{constructor(e,t){0===e.length&&tD.throwArgumentError("missing providers","providers",e);let r=e.map((e,t)=>{if((0,z.Provider).isProvider(e)){let t=ex(e)?2e3:750;return Object.freeze({provider:e,weight:1,stallTimeout:t,priority:1})}let r=(0,ei.shallowCopy)(e);null==r.priority&&(r.priority=1),null==r.stallTimeout&&(r.stallTimeout=ex(e)?2e3:750),null==r.weight&&(r.weight=1);let n=r.weight;return(n%1||n>512||n<1)&&tD.throwArgumentError("invalid weight; must be integer in [1, 512]",`providers[${t}].weight`,n),Object.freeze(r)}),n=r.reduce((e,t)=>e+t.weight,0);null==t?t=n/2:t>n&&tD.throwArgumentError("quorum will always fail; larger than total weight","quorum",t);let i=tO(r.map(e=>e.provider.network));null==i&&(i=new Promise((e,t)=>{setTimeout(()=>{this.detectNetwork().then(e,t)},0)})),super(i),(0,ei.defineReadOnly)(this,"providerConfigs",Object.freeze(r)),(0,ei.defineReadOnly)(this,"quorum",t),this._highestBlockNumber=-1}detectNetwork(){return tk(this,void 0,void 0,function*(){let e=yield Promise.all(this.providerConfigs.map(e=>e.provider.getNetwork()));return tO(e)})}perform(e,t){return tk(this,void 0,void 0,function*(){if("sendTransaction"===e){let e=yield Promise.all(this.providerConfigs.map(e=>e.provider.sendTransaction(t.signedTransaction).then(e=>e.hash,e=>e)));for(let t=0;te.result),n=tN(t.map(e=>e.result),2);if(null!=n)return n=Math.ceil(n),r.indexOf(n+1)>=0&&n++,n>=e._highestBlockNumber&&(e._highestBlockNumber=n),e._highestBlockNumber};case"getGasPrice":return function(e){let t=e.map(e=>e.result);return t.sort(),t[Math.floor(t.length/2)]};case"getEtherPrice":return function(e){return tN(e.map(e=>e.result))};case"getBalance":case"getTransactionCount":case"getCode":case"getStorageAt":case"call":case"estimateGas":case"getLogs":break;case"getTransaction":case"getTransactionReceipt":a=function(e){return null==e?null:((e=(0,ei.shallowCopy)(e)).confirmations=-1,tR(e))};break;case"getBlock":a=r.includeTransactions?function(e){return null==e?null:((e=(0,ei.shallowCopy)(e)).transactions=e.transactions.map(e=>((e=(0,ei.shallowCopy)(e)).confirmations=-1,e)),tR(e))}:function(e){return null==e?null:tR(e)};break;default:throw Error("unknown method: "+t)}return n=a,i=e.quorum,function(e){let t={};e.forEach(e=>{let r=n(e.result);t[r]||(t[r]={count:0,result:e.result}),t[r].count++});let r=Object.keys(t);for(let e=0;e=i)return n.result}}}(this,e,t),n=(0,tF.shuffled)(this.providerConfigs.map(ei.shallowCopy));n.sort((e,t)=>e.priority-t.priority);let i=this._highestBlockNumber,a=0,s=!0;for(;;){let o=tP(),u=n.filter(e=>e.runner&&o-e.starte+t.weight,0);for(;u{r.staller=null}),r.runner=(function(e,t,r,n){return tk(this,void 0,void 0,function*(){let i=e.provider;switch(r){case"getBlockNumber":case"getGasPrice":return i[r]();case"getEtherPrice":if(i.getEtherPrice)return i.getEtherPrice();break;case"getBalance":case"getTransactionCount":case"getCode":return n.blockTag&&(0,er.isHexString)(n.blockTag)&&(i=yield tG(e,t)),i[r](n.address,n.blockTag||"latest");case"getStorageAt":return n.blockTag&&(0,er.isHexString)(n.blockTag)&&(i=yield tG(e,t)),i.getStorageAt(n.address,n.position,n.blockTag||"latest");case"getBlock":return n.blockTag&&(0,er.isHexString)(n.blockTag)&&(i=yield tG(e,t)),i[n.includeTransactions?"getBlockWithTransactions":"getBlock"](n.blockTag||n.blockHash);case"call":case"estimateGas":if(n.blockTag&&(0,er.isHexString)(n.blockTag)&&(i=yield tG(e,t)),"call"===r&&n.blockTag)return i[r](n.transaction,n.blockTag);return i[r](n.transaction);case"getTransaction":case"getTransactionReceipt":return i[r](n.transactionHash);case"getLogs":{let r=n.filter;return(r.fromBlock&&(0,er.isHexString)(r.fromBlock)||r.toBlock&&(0,er.isHexString)(r.toBlock))&&(i=yield tG(e,t)),i.getLogs(r)}}return tD.throwError("unknown method error",q.Logger.errors.UNKNOWN_ERROR,{method:r,params:n})})})(r,i,e,t).then(n=>{r.done=!0,r.result=n,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:s,backend:tH(r,tP()),request:{method:e,params:(0,ei.deepCopy)(t)},provider:this})},n=>{r.done=!0,r.error=n,this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:s,backend:tH(r,tP()),request:{method:e,params:(0,ei.deepCopy)(t)},provider:this})}),this.listenerCount("debug")&&this.emit("debug",{action:"request",rid:s,backend:tH(r,null),request:{method:e,params:(0,ei.deepCopy)(t)},provider:this}),u+=r.weight}let l=[];n.forEach(e=>{!e.done&&e.runner&&(l.push(e.runner),e.staller&&l.push(e.staller.getPromise()))}),l.length&&(yield Promise.race(l));let c=n.filter(e=>e.done&&null==e.error);if(c.length>=this.quorum){let e=r(c);if(void 0!==e)return n.forEach(e=>{e.staller&&e.staller.cancel(),e.cancelled=!0}),e;s||(yield tL(100).getPromise()),s=!1}let d=n.reduce((e,t)=>{if(!t.done||null==t.error)return e;let r=t.error.code;return tj.indexOf(r)>=0&&(e[r]||(e[r]={error:t.error,weight:0}),e[r].weight+=t.weight),e},{});if(Object.keys(d).forEach(e=>{let t=d[e];if(t.weight{e.staller&&e.staller.cancel(),e.cancelled=!0});let r=t.error,i={};tU.forEach(e=>{null!=r[e]&&(i[e]=r[e])}),tD.throwError(r.reason||r.message,e,i)}),0===n.filter(e=>!e.done).length)break}return n.forEach(e=>{e.staller&&e.staller.cancel(),e.cancelled=!0}),tD.throwError("failed to meet quorum",q.Logger.errors.SERVER_ERROR,{method:e,params:t,results:n.map(e=>tH(e)),provider:this})})}}"use strict";const tq=null;"use strict";var ei=a("e72ut"),q=a("d1hml");const tV=new q.Logger(eb),tW="84842078b09946638c03157f83405213";class tK extends eZ.WebSocketProvider{constructor(e,t){let r=new tJ(e,t),n=r.connection;n.password&&tV.throwError("INFURA WebSocket project secrets unsupported",q.Logger.errors.UNSUPPORTED_OPERATION,{operation:"InfuraProvider.getWebSocketProvider()"});let i=n.url.replace(/^http/i,"ws").replace("/v3/","/ws/v3/");super(i,e),(0,ei.defineReadOnly)(this,"apiKey",r.projectId),(0,ei.defineReadOnly)(this,"projectId",r.projectId),(0,ei.defineReadOnly)(this,"projectSecret",r.projectSecret)}isCommunityResource(){return this.projectId===tW}}class tJ extends ts.UrlJsonRpcProvider{static getWebSocketProvider(e,t){return new tK(e,t)}static getApiKey(e){let t={apiKey:tW,projectId:tW,projectSecret:null};return null==e||("string"==typeof e?t.projectId=e:null!=e.projectSecret?(tV.assertArgument("string"==typeof e.projectId,"projectSecret requires a projectId","projectId",e.projectId),tV.assertArgument("string"==typeof e.projectSecret,"invalid projectSecret","projectSecret","[REDACTED]"),t.projectId=e.projectId,t.projectSecret=e.projectSecret):e.projectId&&(t.projectId=e.projectId),t.apiKey=t.projectId),t}static getUrl(e,t){let r=null;switch(e?e.name:"unknown"){case"homestead":r="mainnet.infura.io";break;case"goerli":r="goerli.infura.io";break;case"sepolia":r="sepolia.infura.io";break;case"matic":r="polygon-mainnet.infura.io";break;case"maticmum":r="polygon-mumbai.infura.io";break;case"optimism":r="optimism-mainnet.infura.io";break;case"optimism-goerli":r="optimism-goerli.infura.io";break;case"arbitrum":r="arbitrum-mainnet.infura.io";break;case"arbitrum-goerli":r="arbitrum-goerli.infura.io";break;default:tV.throwError("unsupported network",q.Logger.errors.INVALID_ARGUMENT,{argument:"network",value:e})}let n={allowGzip:!0,url:"https://"+r+"/v3/"+t.projectId,throttleCallback:(e,r)=>(t.projectId===tW&&eT(),Promise.resolve(!0))};return null!=t.projectSecret&&(n.user="",n.password=t.projectSecret),n}isCommunityResource(){return this.projectId===tW}}var ei=a("e72ut"),eo=a("6BV0e");class tZ extends eY.JsonRpcProvider{send(e,t){let r={method:e,params:t,id:this._nextId++,jsonrpc:"2.0"};null==this._pendingBatch&&(this._pendingBatch=[]);let n={request:r,resolve:null,reject:null},i=new Promise((e,t)=>{n.resolve=e,n.reject=t});return this._pendingBatch.push(n),this._pendingBatchAggregator||(this._pendingBatchAggregator=setTimeout(()=>{let e=this._pendingBatch;this._pendingBatch=null,this._pendingBatchAggregator=null;let t=e.map(e=>e.request);return this.emit("debug",{action:"requestBatch",request:(0,ei.deepCopy)(t),provider:this}),(0,eo.fetchJson)(this.connection,JSON.stringify(t)).then(r=>{this.emit("debug",{action:"response",request:t,response:r,provider:this}),e.forEach((e,t)=>{let n=r[t];if(n.error){let t=Error(n.error.message);t.code=n.error.code,t.data=n.error.data,e.reject(t)}else e.resolve(n.result)})},r=>{this.emit("debug",{action:"response",error:r,request:t,provider:this}),e.forEach(e=>{e.reject(r)})})},10)),i}}"use strict";var q=a("d1hml");const tY=new q.Logger(eb);class t$ extends ts.UrlJsonRpcProvider{static getApiKey(e){return e&&"string"!=typeof e&&tY.throwArgumentError("invalid apiKey","apiKey",e),e||"ETHERS_JS_SHARED"}static getUrl(e,t){tY.warn("NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.");let r=null;switch(e.name){case"homestead":r="https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc";break;case"ropsten":r="https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc";break;case"rinkeby":r="https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc";break;case"goerli":r="https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc";break;case"kovan":r="https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc";break;default:tY.throwArgumentError("unsupported network","network",arguments[0])}return r+"?apiKey="+t}}"use strict";var q=a("d1hml");const tX=new q.Logger(eb),tQ="62e1ad51b37b8e00394bda3b";class t0 extends ts.UrlJsonRpcProvider{static getApiKey(e){let t={applicationId:null,loadBalancer:!0,applicationSecretKey:null};return null==e?t.applicationId=tQ:"string"==typeof e?t.applicationId=e:null!=e.applicationSecretKey?(t.applicationId=e.applicationId,t.applicationSecretKey=e.applicationSecretKey):e.applicationId?t.applicationId=e.applicationId:tX.throwArgumentError("unsupported PocketProvider apiKey","apiKey",e),t}static getUrl(e,t){let r=null;switch(e?e.name:"unknown"){case"goerli":r="eth-goerli.gateway.pokt.network";break;case"homestead":r="eth-mainnet.gateway.pokt.network";break;case"kovan":r="poa-kovan.gateway.pokt.network";break;case"matic":r="poly-mainnet.gateway.pokt.network";break;case"maticmum":r="polygon-mumbai-rpc.gateway.pokt.network";break;case"rinkeby":r="eth-rinkeby.gateway.pokt.network";break;case"ropsten":r="eth-ropsten.gateway.pokt.network";break;default:tX.throwError("unsupported network",q.Logger.errors.INVALID_ARGUMENT,{argument:"network",value:e})}let n=`https://${r}/v1/lb/${t.applicationId}`,i={headers:{},url:n};return null!=t.applicationSecretKey&&(i.user="",i.password=t.applicationSecretKey),i}isCommunityResource(){return this.applicationId===tQ}}"use strict";var ei=a("e72ut"),q=a("d1hml");const t1=new q.Logger(eb);let t2=1;function t3(e,t){let r="Web3LegacyFetcher";return function(e,n){let i={method:e,params:n,id:t2++,jsonrpc:"2.0"};return new Promise((e,n)=>{this.emit("debug",{action:"request",fetcher:r,request:(0,ei.deepCopy)(i),provider:this}),t(i,(t,a)=>{if(t)return this.emit("debug",{action:"response",fetcher:r,error:t,request:i,provider:this}),n(t);if(this.emit("debug",{action:"response",fetcher:r,request:i,response:a,provider:this}),a.error){let e=Error(a.error.message);return e.code=a.error.code,e.data=a.error.data,n(e)}e(a.result)})})}}class t6 extends eY.JsonRpcProvider{constructor(e,t){null==e&&t1.throwArgumentError("missing provider","provider",e);let r=null,n=null,i=null;"function"==typeof e?(r="unknown:",n=e):(((r=e.host||e.path||"")||!e.isMetaMask||(r="metamask"),i=e,e.request)?(""===r&&(r="eip-1193:"),n=function(t,r){null==r&&(r=[]);let n={method:t,params:r};return this.emit("debug",{action:"request",fetcher:"Eip1193Fetcher",request:(0,ei.deepCopy)(n),provider:this}),e.request(n).then(e=>(this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:n,response:e,provider:this}),e),e=>{throw this.emit("debug",{action:"response",fetcher:"Eip1193Fetcher",request:n,error:e,provider:this}),e})}):e.sendAsync?n=t3(e,e.sendAsync.bind(e)):e.send?n=t3(e,e.send.bind(e)):t1.throwArgumentError("unsupported provider","provider",e),r||(r="unknown:")),super(r,t),(0,ei.defineReadOnly)(this,"jsonRpcFetchFunc",n),(0,ei.defineReadOnly)(this,"provider",i)}send(e,t){return this.jsonRpcFetchFunc(e,t)}}"use strict";var q=a("d1hml");const t8=new q.Logger(eb);function t5(e,t){if(null==e&&(e="homestead"),"string"==typeof e){let t=e.match(/^(ws|http)s?:/i);if(t)switch(t[1].toLowerCase()){case"http":case"https":return new eY.JsonRpcProvider(e);case"ws":case"wss":return new eZ.WebSocketProvider(e);default:t8.throwArgumentError("unsupported URL scheme","network",e)}}let r=X(e);return r&&r._defaultProvider||t8.throwError("unsupported getDefaultProvider network",q.Logger.errors.NETWORK_ERROR,{operation:"getDefaultProvider",network:e}),r._defaultProvider({FallbackProvider:tB.FallbackProvider,AlchemyProvider:th,AnkrProvider:tm,CloudflareProvider:tb.CloudflareProvider,EtherscanProvider:tw.EtherscanProvider,InfuraProvider:tJ,JsonRpcProvider:eY.JsonRpcProvider,NodesmithProvider:t$,PocketProvider:t0,Web3Provider:t6,IpcProvider:tq},t)}a("2hNTt"),a("hiOO1"),a("1f1He");var q=a("d1hml");"use strict";const t4="ethers/5.7.2",t7=new q.Logger(t4);var R=a("j7x7T"),I=a("5utYt");a("fP04X");var N=a("1chjt");a("gi65P");"use strict";var q=a("d1hml");a("1f1He"),a("hiOO1"),a("2hNTt");try{let e=window;null==e._ethers&&(e._ethers=O)}catch(e){}"use strict";var t9={},re=t9&&t9.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),rt=t9&&t9.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),rr=t9&&t9.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&re(t,e,r);return rt(t,e),t};Object.defineProperty(t9,"__esModule",{value:!0}),t9.formatBytes32String=t9.Utf8ErrorFuncs=t9.toUtf8String=t9.toUtf8CodePoints=t9.toUtf8Bytes=t9._toEscapedUtf8String=t9.nameprep=t9.hexDataSlice=t9.hexDataLength=t9.hexZeroPad=t9.hexValue=t9.hexStripZeros=t9.hexConcat=t9.isHexString=t9.hexlify=t9.base64=t9.base58=t9.TransactionDescription=t9.LogDescription=t9.Interface=t9.SigningKey=t9.HDNode=t9.defaultPath=t9.isBytesLike=t9.isBytes=t9.zeroPad=t9.stripZeros=t9.concat=t9.arrayify=t9.shallowCopy=t9.resolveProperties=t9.getStatic=t9.defineReadOnly=t9.deepCopy=t9.checkProperties=t9.poll=t9.fetchJson=t9._fetchData=t9.RLP=t9.Logger=t9.checkResultErrors=t9.FormatTypes=t9.ParamType=t9.FunctionFragment=t9.EventFragment=t9.ErrorFragment=t9.ConstructorFragment=t9.Fragment=t9.defaultAbiCoder=t9.AbiCoder=void 0,t9.Indexed=t9.Utf8ErrorReason=t9.UnicodeNormalizationForm=t9.SupportedAlgorithm=t9.mnemonicToSeed=t9.isValidMnemonic=t9.entropyToMnemonic=t9.mnemonicToEntropy=t9.getAccountPath=t9.verifyTypedData=t9.verifyMessage=t9.recoverPublicKey=t9.computePublicKey=t9.recoverAddress=t9.computeAddress=t9.getJsonWalletAddress=t9.TransactionTypes=t9.serializeTransaction=t9.parseTransaction=t9.accessListify=t9.joinSignature=t9.splitSignature=t9.soliditySha256=t9.solidityKeccak256=t9.solidityPack=t9.shuffled=t9.randomBytes=t9.sha512=t9.sha256=t9.ripemd160=t9.keccak256=t9.computeHmac=t9.commify=t9.parseUnits=t9.formatUnits=t9.parseEther=t9.formatEther=t9.isAddress=t9.getCreate2Address=t9.getContractAddress=t9.getIcapAddress=t9.getAddress=t9._TypedDataEncoder=t9.id=t9.isValidName=t9.namehash=t9.hashMessage=t9.dnsEncode=t9.parseBytes32String=void 0;var rn=a("45kY3"),ri=a("3Mwuv"),ra=a("bB9qw"),rs=a("kzlBy");Object.defineProperty(t9,"AbiCoder",{enumerable:!0,get:function(){return rn.AbiCoder}}),Object.defineProperty(t9,"checkResultErrors",{enumerable:!0,get:function(){return ri.checkResultErrors}}),Object.defineProperty(t9,"ConstructorFragment",{enumerable:!0,get:function(){return ra.ConstructorFragment}}),Object.defineProperty(t9,"defaultAbiCoder",{enumerable:!0,get:function(){return rn.defaultAbiCoder}}),Object.defineProperty(t9,"ErrorFragment",{enumerable:!0,get:function(){return ra.ErrorFragment}}),Object.defineProperty(t9,"EventFragment",{enumerable:!0,get:function(){return ra.EventFragment}}),Object.defineProperty(t9,"FormatTypes",{enumerable:!0,get:function(){return ra.FormatTypes}}),Object.defineProperty(t9,"Fragment",{enumerable:!0,get:function(){return ra.Fragment}}),Object.defineProperty(t9,"FunctionFragment",{enumerable:!0,get:function(){return ra.FunctionFragment}}),Object.defineProperty(t9,"Indexed",{enumerable:!0,get:function(){return rs.Indexed}}),Object.defineProperty(t9,"Interface",{enumerable:!0,get:function(){return rs.Interface}}),Object.defineProperty(t9,"LogDescription",{enumerable:!0,get:function(){return rs.LogDescription}}),Object.defineProperty(t9,"ParamType",{enumerable:!0,get:function(){return ra.ParamType}}),Object.defineProperty(t9,"TransactionDescription",{enumerable:!0,get:function(){return rs.TransactionDescription}});var eg=a("bVwUc");Object.defineProperty(t9,"getAddress",{enumerable:!0,get:function(){return eg.getAddress}}),Object.defineProperty(t9,"getCreate2Address",{enumerable:!0,get:function(){return eg.getCreate2Address}}),Object.defineProperty(t9,"getContractAddress",{enumerable:!0,get:function(){return eg.getContractAddress}}),Object.defineProperty(t9,"getIcapAddress",{enumerable:!0,get:function(){return eg.getIcapAddress}}),Object.defineProperty(t9,"isAddress",{enumerable:!0,get:function(){return eg.isAddress}});var ro=rr(a("eGcmO"));t9.base64=ro;var et=a("5tyfw");Object.defineProperty(t9,"base58",{enumerable:!0,get:function(){return et.Base58}});var er=a("aBzgs");Object.defineProperty(t9,"arrayify",{enumerable:!0,get:function(){return er.arrayify}}),Object.defineProperty(t9,"concat",{enumerable:!0,get:function(){return er.concat}}),Object.defineProperty(t9,"hexConcat",{enumerable:!0,get:function(){return er.hexConcat}}),Object.defineProperty(t9,"hexDataSlice",{enumerable:!0,get:function(){return er.hexDataSlice}}),Object.defineProperty(t9,"hexDataLength",{enumerable:!0,get:function(){return er.hexDataLength}}),Object.defineProperty(t9,"hexlify",{enumerable:!0,get:function(){return er.hexlify}}),Object.defineProperty(t9,"hexStripZeros",{enumerable:!0,get:function(){return er.hexStripZeros}}),Object.defineProperty(t9,"hexValue",{enumerable:!0,get:function(){return er.hexValue}}),Object.defineProperty(t9,"hexZeroPad",{enumerable:!0,get:function(){return er.hexZeroPad}}),Object.defineProperty(t9,"isBytes",{enumerable:!0,get:function(){return er.isBytes}}),Object.defineProperty(t9,"isBytesLike",{enumerable:!0,get:function(){return er.isBytesLike}}),Object.defineProperty(t9,"isHexString",{enumerable:!0,get:function(){return er.isHexString}}),Object.defineProperty(t9,"joinSignature",{enumerable:!0,get:function(){return er.joinSignature}}),Object.defineProperty(t9,"zeroPad",{enumerable:!0,get:function(){return er.zeroPad}}),Object.defineProperty(t9,"splitSignature",{enumerable:!0,get:function(){return er.splitSignature}}),Object.defineProperty(t9,"stripZeros",{enumerable:!0,get:function(){return er.stripZeros}});var e$=a("a2n8k"),en=a("8s7ds"),ru=a("iz1PA"),rl=a("aIo2D");Object.defineProperty(t9,"_TypedDataEncoder",{enumerable:!0,get:function(){return e$.TypedDataEncoder}}),Object.defineProperty(t9,"dnsEncode",{enumerable:!0,get:function(){return en.dnsEncode}}),Object.defineProperty(t9,"hashMessage",{enumerable:!0,get:function(){return ru.hashMessage}}),Object.defineProperty(t9,"id",{enumerable:!0,get:function(){return rl.id}}),Object.defineProperty(t9,"isValidName",{enumerable:!0,get:function(){return en.isValidName}}),Object.defineProperty(t9,"namehash",{enumerable:!0,get:function(){return en.namehash}});var rc=a("iyMjQ");Object.defineProperty(t9,"defaultPath",{enumerable:!0,get:function(){return rc.defaultPath}}),Object.defineProperty(t9,"entropyToMnemonic",{enumerable:!0,get:function(){return rc.entropyToMnemonic}}),Object.defineProperty(t9,"getAccountPath",{enumerable:!0,get:function(){return rc.getAccountPath}}),Object.defineProperty(t9,"HDNode",{enumerable:!0,get:function(){return rc.HDNode}}),Object.defineProperty(t9,"isValidMnemonic",{enumerable:!0,get:function(){return rc.isValidMnemonic}}),Object.defineProperty(t9,"mnemonicToEntropy",{enumerable:!0,get:function(){return rc.mnemonicToEntropy}}),Object.defineProperty(t9,"mnemonicToSeed",{enumerable:!0,get:function(){return rc.mnemonicToSeed}});var rd=a("jpzbw");Object.defineProperty(t9,"getJsonWalletAddress",{enumerable:!0,get:function(){return rd.getJsonWalletAddress}});var rf=a("2yhyU");Object.defineProperty(t9,"keccak256",{enumerable:!0,get:function(){return rf.keccak256}});var q=a("d1hml");Object.defineProperty(t9,"Logger",{enumerable:!0,get:function(){return q.Logger}});var ea=a("g67nD"),rh=a("iLptM");Object.defineProperty(t9,"computeHmac",{enumerable:!0,get:function(){return ea.computeHmac}}),Object.defineProperty(t9,"ripemd160",{enumerable:!0,get:function(){return ea.ripemd160}}),Object.defineProperty(t9,"sha256",{enumerable:!0,get:function(){return ea.sha256}}),Object.defineProperty(t9,"sha512",{enumerable:!0,get:function(){return ea.sha512}});var rp=a("iYAoV");Object.defineProperty(t9,"solidityKeccak256",{enumerable:!0,get:function(){return rp.keccak256}}),Object.defineProperty(t9,"solidityPack",{enumerable:!0,get:function(){return rp.pack}}),Object.defineProperty(t9,"soliditySha256",{enumerable:!0,get:function(){return rp.sha256}});var ry=a("hWtVn"),tF=a("iW3ip");Object.defineProperty(t9,"randomBytes",{enumerable:!0,get:function(){return ry.randomBytes}}),Object.defineProperty(t9,"shuffled",{enumerable:!0,get:function(){return tF.shuffled}});var ei=a("e72ut");Object.defineProperty(t9,"checkProperties",{enumerable:!0,get:function(){return ei.checkProperties}}),Object.defineProperty(t9,"deepCopy",{enumerable:!0,get:function(){return ei.deepCopy}}),Object.defineProperty(t9,"defineReadOnly",{enumerable:!0,get:function(){return ei.defineReadOnly}}),Object.defineProperty(t9,"getStatic",{enumerable:!0,get:function(){return ei.getStatic}}),Object.defineProperty(t9,"resolveProperties",{enumerable:!0,get:function(){return ei.resolveProperties}}),Object.defineProperty(t9,"shallowCopy",{enumerable:!0,get:function(){return ei.shallowCopy}});var rm=rr(a("9BTKH"));t9.RLP=rm;var rb=a("lWFPp");Object.defineProperty(t9,"computePublicKey",{enumerable:!0,get:function(){return rb.computePublicKey}}),Object.defineProperty(t9,"recoverPublicKey",{enumerable:!0,get:function(){return rb.recoverPublicKey}}),Object.defineProperty(t9,"SigningKey",{enumerable:!0,get:function(){return rb.SigningKey}});var es=a("fkVsY"),rg=a("jaF8b"),rv=a("dvY5r");Object.defineProperty(t9,"formatBytes32String",{enumerable:!0,get:function(){return rg.formatBytes32String}}),Object.defineProperty(t9,"nameprep",{enumerable:!0,get:function(){return rv.nameprep}}),Object.defineProperty(t9,"parseBytes32String",{enumerable:!0,get:function(){return rg.parseBytes32String}}),Object.defineProperty(t9,"_toEscapedUtf8String",{enumerable:!0,get:function(){return es._toEscapedUtf8String}}),Object.defineProperty(t9,"toUtf8Bytes",{enumerable:!0,get:function(){return es.toUtf8Bytes}}),Object.defineProperty(t9,"toUtf8CodePoints",{enumerable:!0,get:function(){return es.toUtf8CodePoints}}),Object.defineProperty(t9,"toUtf8String",{enumerable:!0,get:function(){return es.toUtf8String}}),Object.defineProperty(t9,"Utf8ErrorFuncs",{enumerable:!0,get:function(){return es.Utf8ErrorFuncs}});var ev=a("TyNFl");Object.defineProperty(t9,"accessListify",{enumerable:!0,get:function(){return ev.accessListify}}),Object.defineProperty(t9,"computeAddress",{enumerable:!0,get:function(){return ev.computeAddress}}),Object.defineProperty(t9,"parseTransaction",{enumerable:!0,get:function(){return ev.parse}}),Object.defineProperty(t9,"recoverAddress",{enumerable:!0,get:function(){return ev.recoverAddress}}),Object.defineProperty(t9,"serializeTransaction",{enumerable:!0,get:function(){return ev.serialize}}),Object.defineProperty(t9,"TransactionTypes",{enumerable:!0,get:function(){return ev.TransactionTypes}});var rw=a("gvpJp");Object.defineProperty(t9,"commify",{enumerable:!0,get:function(){return rw.commify}}),Object.defineProperty(t9,"formatEther",{enumerable:!0,get:function(){return rw.formatEther}}),Object.defineProperty(t9,"parseEther",{enumerable:!0,get:function(){return rw.parseEther}}),Object.defineProperty(t9,"formatUnits",{enumerable:!0,get:function(){return rw.formatUnits}}),Object.defineProperty(t9,"parseUnits",{enumerable:!0,get:function(){return rw.parseUnits}});var I=a("5utYt");Object.defineProperty(t9,"verifyMessage",{enumerable:!0,get:function(){return I.verifyMessage}}),Object.defineProperty(t9,"verifyTypedData",{enumerable:!0,get:function(){return I.verifyTypedData}});var eo=a("6BV0e");Object.defineProperty(t9,"_fetchData",{enumerable:!0,get:function(){return eo._fetchData}}),Object.defineProperty(t9,"fetchJson",{enumerable:!0,get:function(){return eo.fetchJson}}),Object.defineProperty(t9,"poll",{enumerable:!0,get:function(){return eo.poll}});var ea=a("g67nD"),rh=a("iLptM");Object.defineProperty(t9,"SupportedAlgorithm",{enumerable:!0,get:function(){return rh.SupportedAlgorithm}});var es=a("fkVsY"),rg=a("jaF8b"),rv=a("dvY5r");Object.defineProperty(t9,"UnicodeNormalizationForm",{enumerable:!0,get:function(){return es.UnicodeNormalizationForm}}),Object.defineProperty(t9,"Utf8ErrorReason",{enumerable:!0,get:function(){return es.Utf8ErrorReason}}),function(){"use strict";let e,t;function r(){}function n(e){return e()}function i(){return Object.create(null)}function a(e){e.forEach(n)}function s(e){return"function"==typeof e}function o(e,t){return e!=e?t==t:e!==t}function u(e,t){e.appendChild(t)}function l(e,t,r){e.insertBefore(t,r||null)}function c(e){e.parentNode.removeChild(e)}function d(e){return document.createElementNS("http://www.w3.org/2000/svg",e)}function f(e,t,r){null==r?e.removeAttribute(t):e.getAttribute(t)!==r&&e.setAttribute(t,r)}let h=[],p=[],y=[],m=[],b=Promise.resolve(),g=!1;function v(e){y.push(e)}let w=new Set,A=0;function E(){let t=e;do{for(;A{let e=r.indexOf(t);-1!==e&&r.splice(e,1)}}$set(e){this.$$set&&0!==Object.keys(e).length&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}});let M=!1,T=!1,C={debug:1,default:2,info:2,warning:3,error:4,off:5},_=C.default,S=null,B=function(){try{let e=[];if(["NFD","NFC","NFKD","NFKC"].forEach(t=>{try{if("test"!=="test".normalize(t))throw Error("bad normalize")}catch(r){e.push(t)}}),e.length)throw Error("missing "+e.join(", "));if(String.fromCharCode(233).normalize("NFD")!==String.fromCharCode(101,769))throw Error("broken implementation")}catch(e){return e.message}return null}();(R=j||(j={})).DEBUG="DEBUG",R.INFO="INFO",R.WARNING="WARNING",R.ERROR="ERROR",R.OFF="OFF",(I=U||(U={})).UNKNOWN_ERROR="UNKNOWN_ERROR",I.NOT_IMPLEMENTED="NOT_IMPLEMENTED",I.UNSUPPORTED_OPERATION="UNSUPPORTED_OPERATION",I.NETWORK_ERROR="NETWORK_ERROR",I.SERVER_ERROR="SERVER_ERROR",I.TIMEOUT="TIMEOUT",I.BUFFER_OVERRUN="BUFFER_OVERRUN",I.NUMERIC_FAULT="NUMERIC_FAULT",I.MISSING_NEW="MISSING_NEW",I.INVALID_ARGUMENT="INVALID_ARGUMENT",I.MISSING_ARGUMENT="MISSING_ARGUMENT",I.UNEXPECTED_ARGUMENT="UNEXPECTED_ARGUMENT",I.CALL_EXCEPTION="CALL_EXCEPTION",I.INSUFFICIENT_FUNDS="INSUFFICIENT_FUNDS",I.NONCE_EXPIRED="NONCE_EXPIRED",I.REPLACEMENT_UNDERPRICED="REPLACEMENT_UNDERPRICED",I.UNPREDICTABLE_GAS_LIMIT="UNPREDICTABLE_GAS_LIMIT",I.TRANSACTION_REPLACED="TRANSACTION_REPLACED";let F="0123456789abcdef";class k{constructor(e){Object.defineProperty(this,"version",{enumerable:!0,value:e,writable:!1})}_log(e,t){let r=e.toLowerCase();null==C[r]&&this.throwArgumentError("invalid log level name","logLevel",e),_>C[r]||console.log.apply(console,t)}debug(...e){this._log(k.levels.DEBUG,e)}info(...e){this._log(k.levels.INFO,e)}warn(...e){this._log(k.levels.WARNING,e)}makeError(e,t,r){if(T)return this.makeError("censored error",t,{});t||(t=k.errors.UNKNOWN_ERROR),r||(r={});let n=[];Object.keys(r).forEach(e=>{let t=r[e];try{if(t instanceof Uint8Array){let r="";for(let e=0;e>4]+F[15&t[e]];n.push(e+"=Uint8Array(0x"+r+")")}else n.push(e+"="+JSON.stringify(t))}catch(t){n.push(e+"="+JSON.stringify(r[e].toString()))}}),n.push(`code=${t}`),n.push(`version=${this.version}`);let i=e;n.length&&(e+=" ("+n.join(", ")+")");let a=Error(e);return a.reason=i,a.code=t,Object.keys(r).forEach(function(e){a[e]=r[e]}),a}throwError(e,t,r){throw this.makeError(e,t,r)}throwArgumentError(e,t,r){return this.throwError(e,k.errors.INVALID_ARGUMENT,{argument:t,value:r})}assert(e,t,r,n){e||this.throwError(t,r,n)}assertArgument(e,t,r,n){e||this.throwArgumentError(t,r,n)}checkNormalize(e){B&&this.throwError("platform missing String.prototype.normalize",k.errors.UNSUPPORTED_OPERATION,{operation:"String.prototype.normalize",form:B})}checkSafeUint53(e,t){"number"==typeof e&&(null==t&&(t="value not safe"),(e<0||e>=9007199254740991)&&this.throwError(t,k.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"out-of-safe-range",value:e}),e%1&&this.throwError(t,k.errors.NUMERIC_FAULT,{operation:"checkSafeInteger",fault:"non-integer",value:e}))}checkArgumentCount(e,t,r){r=r?": "+r:"",et&&this.throwError("too many arguments"+r,k.errors.UNEXPECTED_ARGUMENT,{count:e,expectedCount:t})}checkNew(e,t){(e===Object||null==e)&&this.throwError("missing new",k.errors.MISSING_NEW,{name:t.name})}checkAbstract(e,t){e===t?this.throwError("cannot instantiate abstract class "+JSON.stringify(t.name)+" directly; use a sub-class",k.errors.UNSUPPORTED_OPERATION,{name:e.name,operation:"new"}):(e===Object||null==e)&&this.throwError("missing new",k.errors.MISSING_NEW,{name:t.name})}static globalLogger(){return S||(S=new k("logger/5.5.0")),S}static setCensorship(e,t){if(!e&&t&&this.globalLogger().throwError("cannot permanently disable censorship",k.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"}),M){if(!e)return;this.globalLogger().throwError("error censorship permanent",k.errors.UNSUPPORTED_OPERATION,{operation:"setCensorship"})}T=!!e,M=!!t}static setLogLevel(e){let t=C[e.toLowerCase()];if(null==t){k.globalLogger().warn("invalid log level - "+e);return}_=t}static from(e){return new k(e)}}k.errors=U,k.levels=j;let D=new k("bytes/5.5.0");function P(e){return e.slice||(e.slice=function(){let t=Array.prototype.slice.call(arguments);return P(new Uint8Array(Array.prototype.slice.apply(e,t)))}),e}function O(e){return"number"==typeof e&&e==e&&e%1==0}var N,R,I,L,j,U,H=(N=L={exports:{}},L.exports,function(e){var t,r,n,i=/^\s+/,a=/\s+$/,s=0,o=e.round,u=e.min,l=e.max,c=e.random;function d(t,r){if(r=r||{},(t=t||"")instanceof d)return t;if(!(this instanceof d))return new d(t,r);var n,c,f,h,p,y,m,b,g,v,w,A,E,x,M,T,C,_,S,F,P=(c={r:0,g:0,b:0},f=1,h=null,p=null,y=null,m=!1,b=!1,"string"==typeof(n=t)&&(n=function(e){e=e.replace(i,"").replace(a,"").toLowerCase();var t,r=!1;if(B[e])e=B[e],r=!0;else if("transparent"==e)return{r:0,g:0,b:0,a:0,format:"name"};return(t=j.rgb.exec(e))?{r:t[1],g:t[2],b:t[3]}:(t=j.rgba.exec(e))?{r:t[1],g:t[2],b:t[3],a:t[4]}:(t=j.hsl.exec(e))?{h:t[1],s:t[2],l:t[3]}:(t=j.hsla.exec(e))?{h:t[1],s:t[2],l:t[3],a:t[4]}:(t=j.hsv.exec(e))?{h:t[1],s:t[2],v:t[3]}:(t=j.hsva.exec(e))?{h:t[1],s:t[2],v:t[3],a:t[4]}:(t=j.hex8.exec(e))?{r:O(t[1]),g:O(t[2]),b:O(t[3]),a:O(t[4])/255,format:r?"name":"hex8"}:(t=j.hex6.exec(e))?{r:O(t[1]),g:O(t[2]),b:O(t[3]),format:r?"name":"hex"}:(t=j.hex4.exec(e))?{r:O(t[1]+""+t[1]),g:O(t[2]+""+t[2]),b:O(t[3]+""+t[3]),a:O(t[4]+""+t[4])/255,format:r?"name":"hex8"}:!!(t=j.hex3.exec(e))&&{r:O(t[1]+""+t[1]),g:O(t[2]+""+t[2]),b:O(t[3]+""+t[3]),format:r?"name":"hex"}}(n)),"object"==typeof n&&(U(n.r)&&U(n.g)&&U(n.b)?(g=n.r,v=n.g,w=n.b,c={r:255*D(g,255),g:255*D(v,255),b:255*D(w,255)},m=!0,b="%"===String(n.r).substr(-1)?"prgb":"rgb"):U(n.h)&&U(n.s)&&U(n.v)?(h=I(n.s),p=I(n.v),A=n.h,E=h,x=p,A=6*D(A,360),E=D(E,100),x=D(x,100),M=e.floor(A),T=A-M,C=x*(1-E),_=x*(1-T*E),S=x*(1-(1-T)*E),c={r:255*[x,_,C,C,S,x][F=M%6],g:255*[S,x,x,_,C,C][F],b:255*[C,C,S,x,x,_][F]},m=!0,b="hsv"):U(n.h)&&U(n.s)&&U(n.l)&&(h=I(n.s),y=I(n.l),c=function(e,t,r){var n,i,a;function s(e,t,r){return(r<0&&(r+=1),r>1&&(r-=1),r<1/6)?e+(t-e)*6*r:r<.5?t:r<2/3?e+(t-e)*(2/3-r)*6:e}if(e=D(e,360),t=D(t,100),r=D(r,100),0===t)n=i=a=r;else{var o=r<.5?r*(1+t):r+t-r*t,u=2*r-o;n=s(u,o,e+1/3),i=s(u,o,e),a=s(u,o,e-1/3)}return{r:255*n,g:255*i,b:255*a}}(n.h,h,y),m=!0,b="hsl"),n.hasOwnProperty("a")&&(f=n.a)),f=k(f),{ok:m,format:n.format||b,r:u(255,l(c.r,0)),g:u(255,l(c.g,0)),b:u(255,l(c.b,0)),a:f});this._originalInput=t,this._r=P.r,this._g=P.g,this._b=P.b,this._a=P.a,this._roundA=o(100*this._a)/100,this._format=r.format||P.format,this._gradientType=r.gradientType,this._r<1&&(this._r=o(this._r)),this._g<1&&(this._g=o(this._g)),this._b<1&&(this._b=o(this._b)),this._ok=P.ok,this._tc_id=s++}function f(e,t,r){var n,i,a=l(e=D(e,255),t=D(t,255),r=D(r,255)),s=u(e,t,r),o=(a+s)/2;if(a==s)n=i=0;else{var c=a-s;switch(i=o>.5?c/(2-a-s):c/(a+s),a){case e:n=(t-r)/c+(t>1)+720)%360;--t;)n.h=(n.h+i)%360,a.push(d(n));return a}function S(e,t){t=t||6;for(var r=d(e).toHsv(),n=r.h,i=r.s,a=r.v,s=[],o=1/t;t--;)s.push(d({h:n,s:i,v:a})),a=(a+o)%1;return s}d.prototype={isDark:function(){return 128>this.getBrightness()},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var e=this.toRgb();return(299*e.r+587*e.g+114*e.b)/1e3},getLuminance:function(){var t,r,n,i=this.toRgb();return t=i.r/255,r=i.g/255,n=i.b/255,.2126*(t<=.03928?t/12.92:e.pow((t+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:e.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:e.pow((n+.055)/1.055,2.4))},setAlpha:function(e){return this._a=k(e),this._roundA=o(100*this._a)/100,this},toHsv:function(){var e=h(this._r,this._g,this._b);return{h:360*e.h,s:e.s,v:e.v,a:this._a}},toHsvString:function(){var e=h(this._r,this._g,this._b),t=o(360*e.h),r=o(100*e.s),n=o(100*e.v);return 1==this._a?"hsv("+t+", "+r+"%, "+n+"%)":"hsva("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHsl:function(){var e=f(this._r,this._g,this._b);return{h:360*e.h,s:e.s,l:e.l,a:this._a}},toHslString:function(){var e=f(this._r,this._g,this._b),t=o(360*e.h),r=o(100*e.s),n=o(100*e.l);return 1==this._a?"hsl("+t+", "+r+"%, "+n+"%)":"hsla("+t+", "+r+"%, "+n+"%, "+this._roundA+")"},toHex:function(e){return p(this._r,this._g,this._b,e)},toHexString:function(e){return"#"+this.toHex(e)},toHex8:function(e){var t,r,n,i,a;return t=this._r,r=this._g,n=this._b,i=this._a,a=[R(o(t).toString(16)),R(o(r).toString(16)),R(o(n).toString(16)),R(L(i))],e&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)&&a[3].charAt(0)==a[3].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0)+a[3].charAt(0):a.join("")},toHex8String:function(e){return"#"+this.toHex8(e)},toRgb:function(){return{r:o(this._r),g:o(this._g),b:o(this._b),a:this._a}},toRgbString:function(){return 1==this._a?"rgb("+o(this._r)+", "+o(this._g)+", "+o(this._b)+")":"rgba("+o(this._r)+", "+o(this._g)+", "+o(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:o(100*D(this._r,255))+"%",g:o(100*D(this._g,255))+"%",b:o(100*D(this._b,255))+"%",a:this._a}},toPercentageRgbString:function(){return 1==this._a?"rgb("+o(100*D(this._r,255))+"%, "+o(100*D(this._g,255))+"%, "+o(100*D(this._b,255))+"%)":"rgba("+o(100*D(this._r,255))+"%, "+o(100*D(this._g,255))+"%, "+o(100*D(this._b,255))+"%, "+this._roundA+")"},toName:function(){return 0===this._a?"transparent":!(this._a<1)&&(F[p(this._r,this._g,this._b,!0)]||!1)},toFilter:function(e){var t="#"+y(this._r,this._g,this._b,this._a),r=t,n=this._gradientType?"GradientType = 1, ":"";if(e){var i=d(e);r="#"+y(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+n+"startColorstr="+t+",endColorstr="+r+")"},toString:function(e){var t=!!e;e=e||this._format;var r=!1,n=this._a<1&&this._a>=0;return!t&&n&&("hex"===e||"hex6"===e||"hex3"===e||"hex4"===e||"hex8"===e||"name"===e)?"name"===e&&0===this._a?this.toName():this.toRgbString():("rgb"===e&&(r=this.toRgbString()),"prgb"===e&&(r=this.toPercentageRgbString()),("hex"===e||"hex6"===e)&&(r=this.toHexString()),"hex3"===e&&(r=this.toHexString(!0)),"hex4"===e&&(r=this.toHex8String(!0)),"hex8"===e&&(r=this.toHex8String()),"name"===e&&(r=this.toName()),"hsl"===e&&(r=this.toHslString()),"hsv"===e&&(r=this.toHsvString()),r||this.toHexString())},clone:function(){return d(this.toString())},_applyModification:function(e,t){var r=e.apply(null,[this].concat([].slice.call(t)));return this._r=r._r,this._g=r._g,this._b=r._b,this.setAlpha(r._a),this},lighten:function(){return this._applyModification(v,arguments)},brighten:function(){return this._applyModification(w,arguments)},darken:function(){return this._applyModification(A,arguments)},desaturate:function(){return this._applyModification(m,arguments)},saturate:function(){return this._applyModification(b,arguments)},greyscale:function(){return this._applyModification(g,arguments)},spin:function(){return this._applyModification(E,arguments)},_applyCombination:function(e,t){return e.apply(null,[this].concat([].slice.call(t)))},analogous:function(){return this._applyCombination(_,arguments)},complement:function(){return this._applyCombination(x,arguments)},monochromatic:function(){return this._applyCombination(S,arguments)},splitcomplement:function(){return this._applyCombination(C,arguments)},triad:function(){return this._applyCombination(M,arguments)},tetrad:function(){return this._applyCombination(T,arguments)}},d.fromRatio=function(e,t){if("object"==typeof e){var r={};for(var n in e)e.hasOwnProperty(n)&&("a"===n?r[n]=e[n]:r[n]=I(e[n]));e=r}return d(e,t)},d.equals=function(e,t){return!!e&&!!t&&d(e).toRgbString()==d(t).toRgbString()},d.random=function(){return d.fromRatio({r:c(),g:c(),b:c()})},d.mix=function(e,t,r){r=0===r?0:r||50;var n=d(e).toRgb(),i=d(t).toRgb(),a=r/100;return d({r:(i.r-n.r)*a+n.r,g:(i.g-n.g)*a+n.g,b:(i.b-n.b)*a+n.b,a:(i.a-n.a)*a+n.a})},d.readability=function(t,r){var n=d(t),i=d(r);return(e.max(n.getLuminance(),i.getLuminance())+.05)/(e.min(n.getLuminance(),i.getLuminance())+.05)},d.isReadable=function(e,t,r){var n,i,a,s,o,u=d.readability(e,t);switch(o=!1,(i=((n=(n=r)||{level:"AA",size:"small"}).level||"AA").toUpperCase(),a=(n.size||"small").toLowerCase(),"AA"!==i&&"AAA"!==i&&(i="AA"),"small"!==a&&"large"!==a&&(a="small"),s={level:i,size:a}).level+s.size){case"AAsmall":case"AAAlarge":o=u>=4.5;break;case"AAlarge":o=u>=3;break;case"AAAsmall":o=u>=7}return o},d.mostReadable=function(e,t,r){var n,i,a,s,o=null,u=0;i=(r=r||{}).includeFallbackColors,a=r.level,s=r.size;for(var l=0;lu&&(u=n,o=d(t[l]));return d.isReadable(e,o,{level:a,size:s})||!i?o:(r.includeFallbackColors=!1,d.mostReadable(e,["#fff","#000"],r))};var B=d.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},F=d.hexNames=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[e[r]]=r);return t}(B);function k(e){return(isNaN(e=parseFloat(e))||e<0||e>1)&&(e=1),e}function D(t,r){"string"==typeof(n=t)&&-1!=n.indexOf(".")&&1===parseFloat(n)&&(t="100%");var n,i,a="string"==typeof(i=t)&&-1!=i.indexOf("%");return(t=u(r,l(0,parseFloat(t))),a&&(t=parseInt(t*r,10)/100),1e-6>e.abs(t-r))?1:t%r/parseFloat(r)}function P(e){return u(1,l(0,e))}function O(e){return parseInt(e,16)}function R(e){return 1==e.length?"0"+e:""+e}function I(e){return e<=1&&(e=100*e+"%"),e}function L(t){return e.round(255*parseFloat(t)).toString(16)}var j=(r="[\\s|\\(]+("+(t="(?:[-\\+]?\\d*\\.\\d+%?)|(?:[-\\+]?\\d+%?)")+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?",n="[\\s|\\(]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")[,|\\s]+("+t+")\\s*\\)?",{CSS_UNIT:new RegExp(t),rgb:RegExp("rgb"+r),rgba:RegExp("rgba"+n),hsl:RegExp("hsl"+r),hsla:RegExp("hsla"+n),hsv:RegExp("hsv"+r),hsva:RegExp("hsva"+n),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/});function U(e){return!!j.CSS_UNIT.exec(e)}N.exports?N.exports=d:window.tinycolor=d}(Math),L.exports);H.fromRatio,H.equals,H.random,H.mix,H.readability,H.isReadable,H.mostReadable,H.names,H.hexNames;var G=function(e){return e},z=function(e){var t=e-1,r=2*e;return r<1?e*r*r:1+t*t*t*4},q=function(e){return e*e*e*e*e},V=function(e,t){return Math.round(e/255*t)},W=function(e){return e>=0?e%360:360+e%360},K=function(e,t,r){return V(e,r-t)+t},J=function(e,t){var r=t?1:-1;switch(e%4){case 0:return function(e,t){var n=e+10*r;return W(G(1-t)*e+G(t)*n)};case 1:return function(e,t){var n=e+30*r;return W(G(1-t)*e+G(t)*n)};case 2:return function(e,t){var n=e+50*r,i=z(t);return W(G(1-i)*e+i*n)};default:return function(t,n){var i=t+60*r*V(e,1)+30,a=z(n);return W((1-a)*t+a*i)}}},Z=function(e){var t=(function(e,t){var r,n;if(t||(t={}),"number"==typeof e){D.checkSafeUint53(e,"invalid arrayify value");let t=[];for(;e;)t.unshift(255&e),e=parseInt(String(e/256));return 0===t.length&&t.push(0),P(new Uint8Array(t))}if(t.allowMissingPrefix&&"string"==typeof e&&"0x"!==e.substring(0,2)&&(e="0x"+e),e.toHexString&&(e=e.toHexString()),"string"==typeof(r=e)&&r.match(/^0x[0-9A-Fa-f]*$/)&&(!n||r.length===2+2*n)){let r=e.substring(2);r.length%2&&("left"===t.hexPad?r="0x0"+r.substring(2):"right"===t.hexPad?r+="0":D.throwArgumentError("hex data is odd-length","value",e));let n=[];for(let e=0;e=256)return!1}return!0}(e)?D.throwArgumentError("invalid arrayify value","value",e):P(new Uint8Array(e))})(e).reverse(),r=J(t[3],t[6]%2),n=V(t[12],360),i=K(t[2],32,69.5),a=(97+K(t[8],72,97))/2,s=K(t[7],81,97),o=Math.min(s-10,K(t[10],70,92)),u=0==t[5]%2?function(e,t,r){var n=q(r);return(1-n)*e+n*t}:function(e,t,r){var n=r*r*r;return(1-n)*e+n*t},l=0==t[3]%2?function(e,t,r){var n=q(r);return(1-n)*e+n*t}:function(e,t,r){var n=G(r);return(1-n)*e+n*t};return[{h:r(n,0),s:l(s,o,1),l:u(i,a,1)},{h:r(n,.1),s:l(s,o,.9),l:u(i,a,.9)},{h:r(n,.7),s:l(s,o,.7),l:u(i,a,.7)},{h:r(n,.9),s:l(s,o,.2),l:u(i,a,.2)},{h:r(n,1),s:l(s,o,0),l:i}].map(function(e){return H(e)}).map(function(e){return e.toHslString()})};function Y(e){let t,n,i,a,s,o,h,p,y,m,b,g,v,w,A,E,x,M;return{c(){t=d("svg"),n=d("title"),i=d("slot"),a=d("defs"),s=d("radialGradient"),o=d("stop"),p=d("stop"),m=d("stop"),g=d("stop"),w=d("stop"),E=d("g"),x=d("path"),M=d("path"),this.c=r,f(o,"offset","15.62%"),f(o,"stop-color",h=e[1][0]),f(p,"offset","39.58%"),f(p,"stop-color",y=e[1][1]),f(m,"offset","72.92%"),f(m,"stop-color",b=e[1][2]),f(g,"offset","90.63%"),f(g,"stop-color",v=e[1][3]),f(w,"offset","100%"),f(w,"stop-color",A=e[1][4]),f(s,"id","gzr"),f(s,"gradientTransform","translate(66.4578 24.3575) scale(75.2908)"),f(s,"gradientUnits","userSpaceOnUse"),f(s,"r","1"),f(s,"cx","0"),f(s,"cy","0%"),f(x,"d","M100 50C100 22.3858 77.6142 0 50 0C22.3858 0 0 22.3858 0 50C0 77.6142 22.3858 100 50 100C77.6142 100 100 77.6142 100 50Z"),f(x,"fill","url(#gzr)"),f(M,"stroke","rgba(0,0,0,0.075)"),f(M,"fill","transparent"),f(M,"stroke-width","1"),f(M,"d","M50,0.5c27.3,0,49.5,22.2,49.5,49.5S77.3,99.5,50,99.5S0.5,77.3,0.5,50S22.7,0.5,50,0.5z"),f(E,"transform","translate(5,5)"),f(t,"width",e[0]),f(t,"height",e[0]),f(t,"xmlns","http://www.w3.org/2000/svg"),f(t,"viewBox","0 0 110 110")},m(e,r){l(e,t,r),u(t,n),u(n,i),u(t,a),u(a,s),u(s,o),u(s,p),u(s,m),u(s,g),u(s,w),u(t,E),u(E,x),u(E,M)},p(e,[r]){2&r&&h!==(h=e[1][0])&&f(o,"stop-color",h),2&r&&y!==(y=e[1][1])&&f(p,"stop-color",y),2&r&&b!==(b=e[1][2])&&f(m,"stop-color",b),2&r&&v!==(v=e[1][3])&&f(g,"stop-color",v),2&r&&A!==(A=e[1][4])&&f(w,"stop-color",A),1&r&&f(t,"width",e[0]),1&r&&f(t,"height",e[0])},i:r,o:r,d(e){e&&c(t)}}}function $(e,t,r){let n;let{size:i="100%"}=t,{address:a}=t;return e.$$set=e=>{"size"in e&&r(0,i=e.size),"address"in e&&r(2,a=e.address)},e.$$.update=()=>{4&e.$$.dirty&&r(1,n=Z(a||"0x0000000000000000000000000000000000000000"))},[i,n,a]}customElements.define("zora-zorb",class extends t{constructor(t){super(),function(t,o,u,l,d,f,p,y=[-1]){let m=e;e=t;let w=t.$$={fragment:null,ctx:null,props:f,update:r,not_equal:d,bound:i(),on_mount:[],on_destroy:[],on_disconnect:[],before_update:[],after_update:[],context:new Map(o.context||(m?m.$$.context:[])),callbacks:i(),dirty:y,skip_bound:!1,root:o.target||m.$$.root};p&&p(w.root);let A=!1;if(w.ctx=u?u(t,o.props||{},(e,r,...n)=>{let i=n.length?n[0]:r;return w.ctx&&d(w.ctx[e],w.ctx[e]=i)&&(!w.skip_bound&&w.bound[e]&&w.bound[e](i),A)&&(-1===t.$$.dirty[0]&&(h.push(t),g||(g=!0,b.then(E)),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let t=u.map(n).filter(s);l?l.push(...t):a(t),e.$$.on_mount=[]}),c.forEach(v)})(t,o.target,o.anchor,o.customElement),E()}e=m}(this,{target:this.shadowRoot,props:function(e){let t={};for(let r of e)t[r.name]=r.value;return t}(this.attributes),customElement:!0},$,Y,o,{size:0,address:2},null),t&&(t.target&&l(t.target,this,t.anchor),t.props&&(this.$set(t.props),E()))}static get observedAttributes(){return["size","address"]}get size(){return this.$$.ctx[0]}set size(e){this.$$set({size:e}),E()}get address(){return this.$$.ctx[2]}set address(e){this.$$set({address:e}),E()}})}();const rA={multiSendAddress:"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761",safeMasterCopyAddress:"0x3E5c63644E683549055b9Be8653de26E0B4CD36E",safeProxyFactoryAddress:"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2",multiSendCallOnlyAddress:"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D",fallbackHandlerAddress:"0x1AC114C2099aFAf5261731655Dc6c306bFcd4Dbd",createCallAddress:"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4",signMessageLibAddress:"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2"},rE={multiSendAddress:"0x998739BFdAAdde7C933B942a68053933098f9EDa",safeMasterCopyAddress:"0x69f4D1788e39c87893C980c06EdF4b7f686e2938",safeProxyFactoryAddress:"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC",multiSendCallOnlyAddress:"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B",fallbackHandlerAddress:"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804",createCallAddress:"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d",signMessageLibAddress:"0x98FFBBF51bb33A056B08ddf711f289936AafF717"},rx={999:rA,999999999:rA,7777777:rA,84531:rE,8453:rE,58008:rA,424:rA,11155111:rE};function rM(e){console.log(e),t(P)({text:e}).showToast();let r=document.querySelector("#log");r&&(r.innerHTML+=`
  • ${e}
  • `)}async function rT(){return await window.ethereum.enable(),new O.providers.Web3Provider(window.ethereum).getSigner()}async function rC(e){let r=await rT(),n=new s.EthersAdapter({ethers:O,signerOrProvider:r});rM(`ChainId: ${await n.getChainId()}`);let i=await t(s).create({ethAdapter:n,safeAddress:e,contractNetworks:rx}),a=await i.connect({ethAdapter:new s.EthersAdapter({ethers:O,signerOrProvider:r}),safeAddress:e,contractNetworks:rx});return{safeSdk:i,safeSdk2:a,signer:r}}async function r_(e,t,r){try{let{safeSdk:n,safeSdk2:i}=await rC(t);rM(`creating txn for ${t.toString()}`);let a=await n.createTransaction({safeTransactionData:r});if("execute"===e){let e=await i.executeTransaction(a);rM(`publishing approval tx ${e.hash}`),await e.transactionResponse?.wait(),rM("executed")}if("sign"===e){let e=await i.getTransactionHash(a);rM(`has safe tx hash ${e}`);let t=await i.approveTransactionHash(e);rM(`publishing approval tx ${t.hash}`),await t.transactionResponse?.wait(),rM("transaction has been confirmed")}}catch(e){rM(e.toString())}}async function rS(e,t){try{let r=new O.providers.Web3Provider(window.ethereum).getSigner(),n=new s.EthersAdapter({ethers:O,signerOrProvider:r}),i=await (0,s.SafeFactory).create({ethAdapter:n,contractNetworks:rx}),a=await i.deploySafe({safeAccountConfig:{owners:t,threshold:parseInt(e,10)}});rM(`deployed new safe: ${await a.getAddress()}`)}catch(e){throw rM(e.toString()),e}}async function rB(e){try{let{safeSdk:t,signer:r}=await rC(e),n=await t.getOwners(),i=await t.getThreshold(),a=await r.getChainId();return{owners:n,threshold:i,chainId:a}}catch(e){throw rM(e.toString()),e}}async function rF(e,t){let{safeSdk:r,safeSdk2:n}=await rC(e),i=await r.createTransaction({safeTransactionData:t}),a=await n.getTransactionHash(i);return await n.getOwnersWhoApprovedTx(a)}function rk(e){let t={},r=new FormData(e);for(let e of r.entries())t[e[0]]=e[1];return t}function rD(e,t){null===t&&(t="");let r=document.querySelector(`input[name=${e}]`);r.value=t}document.addEventListener("DOMContentLoaded",()=>{window.ethereum.on("chainChanged",e=>{document.querySelector("#network-id").innerHTML=parseInt(e,16).toString()}),window.ethereum.on("accountsChanged",e=>{rM(`Switched account to ${e[0]}`),document.querySelector("#user-account").innerHTML=e[0]}),window.ethereum.on("connect",async e=>{let t=await window.ethereum.send("eth_requestAccounts"),r=t.result[0];document.querySelector("#user-account").innerHTML=r,document.querySelector("#connect-section").style.display="none";let n=parseInt(e.chainId,16).toString();document.querySelector("#network-id").innerHTML=n,rM(`Switched connected to ${n} with ${r}`)})});const rP=async()=>(await (await rT()).getChainId()).toString();!function(){let e=document.querySelector("#sign");async function t(){let t=rk(e),r=await rB(t.safeAddress);document.querySelector("#safe-result").innerHTML=JSON.stringify(r,null,2)}document.addEventListener("DOMContentLoaded",async()=>{let e=new URLSearchParams(window.location.search);if(e.get("network")){let t=e.get("network");t.startsWith("0x")&&(t=parseInt(t,16).toString());let r=await rP();console.log({currentNetwork:r,network:t}),r!==t&&(console.log("changing network"),await window.ethereum.request({method:"wallet_switchEthereumChain",params:[{chainId:`0x${parseInt(t,10).toString(16)}`}]}))}e.get("safe")&&(console.log("has safe!"),console.log(e.get("safe")),rD("safeAddress",e.get("safe")),rD("to",e.get("to")),rD("value",e.get("value")),rD("data",e.get("data")),t(),document.querySelector("summary.have-safe").parentElement.setAttribute("open","1"))}),e&&(document.querySelector("#connect")?.addEventListener("click",async e=>{e.preventDefault(),window.ethereum.send("eth_requestAccounts")}),document.querySelector("button.share-txn")?.addEventListener("click",async t=>{t.preventDefault();let r=new URLSearchParams,n=rk(e);r.set("safe",n.safeAddress),r.set("to",n.to),r.set("data",n.data),r.set("value",n.value),r.set("network",await rP());let i=window.location.href;i.indexOf("?")!==-1&&(i=i.substring(0,i.indexOf("?")));let a=`${i}?${r.toString()}`;navigator.clipboard.writeText(a)}),document.querySelector("#safe-info")?.addEventListener("click",async e=>{e.preventDefault(),t()}),e.addEventListener("submit",t=>{t.preventDefault();let r=rk(e);try{let e={to:r.to,value:(0,t9.parseEther)(r.value||"0").toString(),data:r.data||"0x"};console.log({txn:e}),r_(r.operation,r.safeAddress,e)}catch(e){rM(e),alert(e.toString());return}}),e.addEventListener("change",async()=>{let t=rk(e);if(t.safeAddress&&t.to&&t.value&&t.data){let e={to:t.to,value:(0,t9.parseEther)(t.value||"0").toString(),data:t.data||"0x"};console.log({txn:e,data:t});let r=await rF(t.safeAddress,e),n=document.querySelector("#txn-approvals");n.innerHTML=`${r.length} approvals for this txn [${r.join(", ")}]`}}));let r=document.querySelector("#create");r&&r.addEventListener("submit",e=>{e.preventDefault();let t=rk(r);try{rS(t.threshold,t.signers.split("\n"))}catch(e){rM(e.toString()),console.error(e)}})}(); -//# sourceMappingURL=index.ea486f1f.js.map diff --git a/index.ea486f1f.js.map b/index.ea486f1f.js.map deleted file mode 100644 index e5e7f72..0000000 --- a/index.ea486f1f.js.map +++ /dev/null @@ -1 +0,0 @@ -{"mappings":"A,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,S,E,C,E,O,G,E,U,C,E,O,C,C,C,I,E,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,E,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,I,E,E,QE+DA,CAAA,EAAA,OAAA,CAAA,OAAA,CApDA,MACE,YAAmB,CAA2B,CAA9C,CAAmB,IAAA,CAAA,QAAA,CAAA,EAmCnB,IAAA,CAAA,MAAA,CAA4D,CAC1D,EACA,IAEO,IAAI,CAAC,QAAA,CAAS,SAAA,CAAU,kBAAA,CAAmB,EAAY,EAvCf,CAEjD,YAAA,CACE,OAAO,IAAI,CAAC,QAAA,CAAS,OAArB,AACF,CAEA,MAAM,eACJ,CAAa,CACb,CAAsB,CACtB,CAAY,CACZ,CAAkC,CAJpC,CAMM,GAAW,CAAC,EAAQ,QAAA,EACtB,CAAA,EAAQ,QAAA,CAAW,MAAM,IAAI,CAAC,WAAA,CAAY,iBAAkB,CAAC,EAAO,EAAgB,EAAK,CAAE,CACzF,GAAG,CAAO,AACX,EAAA,EAEH,IAAM,EAAa,MAAM,IAAI,CAAC,QAAA,CAAS,cAAA,CAAe,EAAO,EAAgB,EAAM,GACnF,MAAO,AAAA,CAAA,EAAA,EAAA,UAAA,AAAA,EAAW,EAAY,EAChC,CAEA,MAAM,cACJ,CAAa,CACb,CAAsB,CACtB,CAAkC,CAHpC,CAKM,GAAW,CAAC,EAAQ,QAAA,EACtB,CAAA,EAAQ,QAAA,CAAW,MAAM,IAAI,CAAC,WAAA,CAAY,gBAAiB,CAAC,EAAO,EAAe,CAAE,CAClF,GAAG,CAAO,AACX,EAAA,EAEH,IAAM,EAAa,MAAM,IAAI,CAAC,QAAA,CAAS,aAAA,CAAc,EAAO,EAAgB,GAC5E,MAAO,AAAA,CAAA,EAAA,EAAA,UAAA,AAAA,EAAW,EAAY,EAChC,CASA,MAAM,YACJ,CAAkB,CAClB,CAAa,CACb,CAAiC,CAHnC,CAKE,MAAO,AAAC,CAAA,MAAO,IAAI,CAAC,QAAA,CAAS,WAAmB,CAAC,EAAW,IAAI,EAAQ,EAAA,EAAU,QAAlF,EACF,CACD,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,kB,C,E,O,C,iB,C,E,O,C,U,C,E,O,C,U,C,K,E,I,E,E,QEvDD,CAAA,EAAA,OAAA,CAAA,UAAA,CAAA,SAA2B,CAAY,CAAE,CAAY,EACnD,OAAO,EAAK,WAAA,KAAkB,EAAK,WAAnC,EACF,EAEA,EAAA,OAAA,CAAA,UAAA,CAAA,SACE,CAAwC,CACxC,CAAkC,EAElC,MAAO,CACL,KAAM,EAAoB,IAA1B,CACA,QAAA,EACA,oBAAA,CACD,CACH,EAEA,EAAA,OAAA,CAAA,iBAAA,CAAA,SAAkC,CAAW,EAC3C,OAAQ,AAAyD,KAAA,IAAzD,EAAsC,cAAA,AAChD,EAOA,EAAA,OAAA,CAAA,kBAAA,CAAA,SACE,CAAmC,EAGnC,MACE,AAAkC,YAAlC,OAAQ,AAFQ,EAEE,WAAA,EAChB,AAAqC,YAArC,OAAO,AAHO,EAGG,eAAA,EACjB,AAJc,EAIJ,SAAA,EACZ,AALgB,aAKK,EAJvB,MAAA,AAMF,C,G,E,Q,C,Q,S,C,C,C,E,E,E,O,C,S,I,G,E,E,O,C,a,I,EExCA,CAAA,a,I,E,E,S,E,E,S,E,E,S,E,S,C,C,C,C,C,C,C,E,O,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,E,EASA,IAAM,EAAS,IAAI,EAAA,MAAA,CAAO,EAAA,OAAA,EAEpB,EAAwC,CAC1C,aAAc,kBAAmB,UAAW,aAAc,OAAQ,OAAQ,WAAY,WAAY,eAAgB,uBAAwB,QAAS,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ACA,IAEO,IAAI,CAAC,QAAA,CAAS,SAAA,CAAU,kBAAA,CAAmB,EAAY,EAzBX,CAErD,YAAA,CACE,OAAO,IAAI,CAAC,QAAA,CAAS,OAArB,AACF,CAEA,MAAM,YACJ,CAAY,CACZ,CAAkC,CAFpC,CAIM,GAAW,CAAC,EAAQ,QAAA,EACtB,CAAA,EAAQ,QAAA,CAAW,MAAM,IAAI,CAAC,WAAA,CAAY,cAAe,CAAC,EAAK,CAAE,CAAE,GAAG,CAAO,AAAA,EAAA,EAE/E,IAAM,EAAa,MAAM,IAAI,CAAC,QAAA,CAAS,WAAA,CAAY,EAAM,GACzD,MAAO,AAAA,CAAA,EAAA,EAAA,UAAA,AAAA,EAAW,EAAY,EAChC,CAEA,MAAM,eAAe,CAAe,CAApC,CACE,OAAO,IAAI,CAAC,QAAA,CAAS,cAAA,CAAe,EACtC,CASA,MAAM,YACJ,CAAkB,CAClB,CAAa,CACb,CAAiC,CAHnC,CAKE,MAAO,AAAC,CAAA,MAAO,IAAI,CAAC,QAAA,CAAS,WAAmB,CAAC,EAAW,IAAI,EAAQ,EAAA,EAAU,QAAlF,EACF,CACD,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,O,c,C,E,O,C,a,C,M,C,C,G,I,E,E,S,E,E,S,E,E,S,E,E,S,E,I,Q,E,I,Q,E,I,QEuND,EAAA,OAAA,CAAA,OAAA,CA9NA,MAKE,YAAY,CAAA,OAAE,CAAA,CAAM,iBAAE,CAAA,CAAuC,CAA7D,CACE,GALF,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GAGM,CAAC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AEA,iBAAiB,CAAe,CAAE,CAAa,CAA/C,CACE,OAAO,GAAI,AAAA,CAAA,EAAA,IAAI,CAAA,EAAA,IAAA,EAAS,KAAA,CAAM,QAAA,GAAW,MAAA,CAAO,EAAO,EACzD,CAEA,iBAAiB,CAAe,CAAE,CAAc,CAAhD,CACE,OAAO,GAAI,AAAA,CAAA,EAAA,IAAI,CAAA,EAAA,IAAA,EAAS,KAAA,CAAM,QAAA,GAAW,MAAA,CAAO,EAAO,EACzD,CACD,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,C,O,M,C,S,C,C,C,C,C,C,C,E,K,I,G,C,E,C,E,I,E,O,wB,C,E,G,C,C,G,C,Q,E,C,E,U,C,E,Q,E,E,Y,A,C,G,C,E,C,W,C,E,I,W,O,C,C,E,A,C,C,E,O,c,C,E,E,E,E,S,C,C,C,C,C,C,C,E,K,I,G,C,E,C,E,C,C,E,C,C,C,E,A,C,E,E,E,O,E,E,O,C,Y,E,S,C,C,C,E,I,I,K,E,Y,G,O,S,C,c,C,I,C,E,I,E,E,E,E,E,O,c,C,E,O,C,a,C,M,C,C,GEpQD,EAAA,EAAA,SAAA,EAAA,OAAA,EACA,EAAA,EAAA,SAAA,EAAA,OAAA,EACA,EAAA,EAAA,SAAA,EAAA,OAAA,EACA,EAAA,EAAA,SAAA,EAAA,OAAA,EACA,EAAA,EAAA,SAAA,EAAA,OAAA,EACA,EAAA,EAAA,SAAA,EAAA,OAAA,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,mB,C,E,O,C,a,C,E,O,C,U,C,K,E,I,E,E,SEHA,SAAgB,EAAW,CAAY,CAAE,CAAY,EACnD,OAAO,EAAK,WAAA,KAAkB,EAAK,WAAnC,EACF,CAEA,SAAgB,EAAc,CAAe,EAC3C,OAAO,EAAW,EAAS,EAA3B,YAAA,CACF,CANA,EAAA,OAAA,CAAA,UAAA,CAAA,EAIA,EAAA,OAAA,CAAA,aAAA,CAAA,EAQA,EAAA,OAAA,CAAA,mBAAA,CAAA,SAAoC,CAAe,EACjD,OAAO,EAAc,IAJd,EAI4C,EAJxB,EAA3B,gBAAA,CAKF,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,gB,C,E,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AAM,MAAM,yBACb,GAWe,GACb,EAAW,IAAA,CAAK,GAEjB,OAAO,AA/JR,SAAoB,CAAK,EAKxB,IAJA,IAEI,EAFA,EAAS,EAAM,MAAnB,CACI,EAAQ,GAER,EAAS,GACN,EAAE,EAAQ,GAChB,CAAA,EAAQ,CAAK,CAAC,EAAM,AAAN,EACF,QACX,GAAS,MACT,GAAU,EAAmB,IAAU,GAAK,KAAQ,OACpD,EAAQ,MAAS,AAAQ,KAAR,GAElB,GAAU,EAAmB,GAE9B,OAAO,CACR,EAgJmB,EACnB,CAQD,EAAoD,EAApD,OAAA,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,C,O,M,C,S,C,C,C,C,C,C,C,E,K,I,G,C,E,C,E,I,E,O,wB,C,E,G,C,C,G,C,Q,E,C,E,U,C,E,Q,E,E,Y,A,C,G,C,E,C,W,C,E,I,W,O,C,C,E,A,C,C,E,O,c,C,E,E,E,E,S,C,C,C,C,C,C,C,E,K,I,G,C,E,C,E,C,C,E,C,C,C,E,A,C,E,E,E,O,E,E,O,C,Y,E,S,C,C,C,E,I,I,K,E,Y,G,O,S,C,c,C,I,C,E,I,E,E,E,E,E,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,W,C,E,O,C,O,C,E,O,C,S,C,E,O,C,Q,C,E,O,C,O,C,E,O,C,kB,C,E,O,C,a,C,E,O,C,S,C,E,O,C,c,C,E,O,C,a,C,K,EEtMA,EAAA,EAAA,SAAA,EADG,OAAA,EAMH,EAAA,EAAA,SAAA,EADG,OAAA,EAMH,EAAA,EAAA,SAAA,EADG,OAAA,EAMH,EAAA,EAAA,SAAA,EADG,OAAA,EAMH,EAAA,EAAA,SAAA,EADG,OAAA,EAMH,EAAA,EAAA,SAAA,EADG,OAAA,EAMH,EAAA,EAAA,SAAA,EADG,OAAA,EAMH,EAAA,EAAA,SAAA,EADG,OAAA,EAMH,EAAA,EAAA,SAAA,EADG,OAAA,E,I,E,E,SAOD,OAAA,cAAA,CAAA,EAAA,OAAA,CAAA,gBAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAAA,EAAA,aAAA,AAAa,CAAA,GACb,OAAA,cAAA,CAAA,EAAA,OAAA,CAAA,iBAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAAA,EAAA,cAAA,AAAc,CAAA,GACd,OAAA,cAAA,CAAA,EAAA,OAAA,CAAA,YAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAAA,EAAA,SAAA,AAAS,CAAA,GACT,OAAA,cAAA,CAAA,EAAA,OAAA,CAAA,gBAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAAA,EAAA,aAAA,AAAa,CAAA,GACb,OAAA,cAAA,CAAA,EAAA,OAAA,CAAA,qBAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAAA,EAAA,kBAAA,AAAkB,CAAA,GAClB,OAAA,cAAA,CAAA,EAAA,OAAA,CAAA,UAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAAA,EAAA,OAAA,AAAO,CAAA,GACP,OAAA,cAAA,CAAA,EAAA,OAAA,CAAA,WAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAAA,EAAA,QAAA,AAAQ,CAAA,GACR,OAAA,cAAA,CAAA,EAAA,OAAA,CAAA,YAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAAA,EAAA,SAAA,AAAS,CAAA,GACT,OAAA,cAAA,CAAA,EAAA,OAAA,CAAA,UAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAAA,EAAA,OAAA,AAAO,CAAA,GACP,OAAA,cAAA,CAAA,EAAA,OAAA,CAAA,cAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAAA,EAAA,WAAA,AAAW,CAAA,E,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,a,C,E,O,C,e,C,E,O,C,mB,C,E,O,C,qB,C,E,O,C,c,C,E,O,C,gB,C,E,O,C,U,C,E,O,C,W,C,E,O,C,U,C,K,E,I,E,E,S,E,E,QEpDA,CAAA,EAAA,OAAA,CAAA,UAAA,CAAa,IAAI,EAAA,EAAA,CAAG,mBAAoB,IAKxC,EAAA,OAAA,CAAA,WAAA,CAAc,IAAI,EAAA,EAAA,CAC7B,mEACA,IAMW,EAAA,OAAA,CAAA,UAAA,CAAa,IAAI,EAAA,EAAA,CAC5B,oEACA,IAMW,EAAA,OAAA,CAAA,gBAAA,CAAmB,mEAKnB,EAAA,OAAA,CAAA,cAAA,CAAiB,EAAA,MAAA,CAAO,IAAA,CAAK,EAAA,OAAA,CAAA,gBAAA,CAAkB,OAK/C,EAAA,OAAA,CAAA,qBAAA,CACX,mEAKW,EAAA,OAAA,CAAA,mBAAA,CAAsB,EAAA,MAAA,CAAO,IAAA,CAAK,EAAA,OAAA,CAAA,qBAAA,CAAuB,OAKzD,EAAA,OAAA,CAAA,eAAA,CAAkB,mEAKlB,EAAA,OAAA,CAAA,aAAA,CAAgB,EAAA,MAAA,CAAO,IAAA,CAAK,EAAA,OAAA,CAAA,eAAA,CAAiB,M,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,C,O,M,C,S,C,C,C,C,C,C,C,E,K,I,G,C,E,C,E,I,E,O,wB,C,E,G,C,C,G,C,Q,E,C,E,U,C,E,Q,E,E,Y,A,C,G,C,E,C,W,C,E,I,W,O,C,C,E,A,C,C,E,O,c,C,E,E,E,E,S,C,C,C,C,C,C,C,E,K,I,G,C,E,C,E,C,C,E,C,C,C,E,A,C,E,E,E,O,E,E,O,C,kB,E,C,O,M,C,S,C,C,C,E,O,c,C,E,U,C,W,C,E,M,C,E,E,S,C,C,C,E,E,O,C,C,C,E,E,E,O,E,E,O,C,Y,E,S,C,E,G,G,E,U,C,O,E,I,E,C,E,G,A,M,E,I,I,K,E,Y,G,O,S,C,c,C,I,C,E,I,E,E,E,G,O,E,E,G,C,E,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,G,C,E,O,C,E,C,K,EE/C1D,IAAA,EAAA,EAAA,EAAA,SAMS,CAAA,EAAA,OAAA,CAAA,EAAA,CANF,EAAA,OAME,CALT,IAAA,EAAA,EAAA,EAAA,SAUS,CAAA,EAAA,OAAA,CAAA,GAAA,CAAA,C,G,E,Q,C,Q,S,C,C,C,E,I,E,A,E,S,M,A,C,a,I,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,S,C,E,O,C,M,C,E,O,C,M,C,K,EEjBT,IAAA,EAAA,EAAA,EAAA,UAkCA,SAAS,EAAa,CAAS,CAAE,CAAY,EAC3C,GAAI,AAAS,MAAT,CAAC,CAAC,EAAE,EAAY,AAAS,MAAT,CAAC,CAAC,EAAE,CACtB,MAAM,AAAI,MAAM,4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G,C,E,O,E,I,E,E,E,E,I,C,G,E,E,C,G,C,K,A,C,A,K,I,G,K,C,G,C,A,C,E,E,I,E,E,I,E,E,I,C,E,K,C,C,M,E,C,E,C,M,C,C,Q,C,G,C,G,C,E,I,E,C,E,E,M,A,G,E,I,C,E,Q,C,G,E,M,E,K,A,C,C,O,C,E,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,a,C,E,O,C,W,C,E,O,C,Y,C,E,O,C,gB,C,E,O,C,e,C,E,O,C,e,C,E,O,C,Y,C,E,O,C,a,C,E,O,C,c,C,E,O,C,gB,C,E,O,C,e,C,E,O,C,sB,C,E,O,C,iB,C,E,O,C,c,C,E,O,C,O,C,K,EE5GA,IAAA,EAAA,EAAA,EAAA,U,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SAsBA,EAAA,WAqCE,SAAA,EACE,CAAiB,CACjB,CAAmB,CACnB,CAAyB,CACzB,CAAyB,EAHzB,KAAA,IAAA,GAAA,CAAA,EAAA,IAAY,EAAA,EAAA,CAAG,EAAf,EACA,KAAA,IAAA,GAAA,CAAA,EAAA,IAAc,EAAA,EAAA,CAAG,EAAjB,EACA,KAAA,IAAA,GAAA,CAAA,EAAY,EAAZ,aAAA,AAAA,EACA,KAAA,IAAA,GAAA,CAAA,EAAW,EAAX,cAAA,AAAA,EAEA,IAAI,CAAC,KAAA,CAAQ,EACb,IAAI,CAAC,OAAA,CAAU,EACf,IAAI,CAAC,SAAA,CAAY,EACjB,IAAI,CAAC,QAAA,CAAW,EAEhB,IAAI,CAAC,SAAL,EACF,CAmDF,OA9FS,EAAA,eAAA,CAAP,SAAuB,CAAwB,EACrC,IAAA,EAAwC,EAAW,KAAA,CAA5C,EAAiC,EAAW,OAAA,CAAnC,EAAwB,EAAW,SAAA,CAAxB,EAAa,EAAW,QAAnD,CAER,OAAO,IAAI,EACT,EAAQ,IAAI,EAAA,EAAA,CAAG,AAAA,CAAA,EAAA,EAAA,QAAA,AAAA,EAAS,IAAU,KAAA,EAClC,EAAU,IAAI,EAAA,EAAA,CAAG,AAAA,CAAA,EAAA,EAAA,QAAA,AAAA,EAAS,IAAY,KAAA,EACtC,EAAY,AAAA,CAAA,EAAA,EAAA,QAA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CAAiB,kBAChB,AAAI,OAAO,KAAA,EAAS,OAAO,KAAA,CAAM,MAAQ,CAAC,OAAO,KAAA,CAAM,KAC/C,OAAO,KADf,CAGO,CACR,C,G,E,Q,C,Q,S,C,C,C,ECTA,a,I,E,E,S,E,E,QAOA,CAAA,EAAA,OAAA,CAAiB,WAChB,IAAI,EAAW,IAMf,OALA,EAAO,OAAQ,CAAE,MAAO,CAAS,EAAG,CACnC,MAAO,WACN,OAAO,OAAO,KAAA,GAAU,CACzB,CACD,GACO,CACR,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,S,E,S,C,C,C,C,C,C,C,E,O,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,E,E,E,E,O,E,E,O,C,W,E,S,C,C,C,E,I,E,E,E,E,E,C,M,E,K,W,G,A,E,C,C,E,C,M,C,C,E,C,O,C,C,E,A,E,K,E,C,I,E,A,E,O,E,C,K,E,G,M,E,G,O,E,E,E,A,Y,O,Q,C,C,C,O,Q,C,C,W,O,I,A,C,E,E,S,E,C,E,O,S,C,E,O,A,S,C,E,G,E,M,A,U,mC,K,G,G,C,G,E,E,G,C,E,A,E,C,C,E,C,E,M,C,C,C,E,C,E,K,E,C,A,C,E,E,M,A,G,E,I,C,G,C,E,E,I,A,G,C,A,C,E,E,I,C,E,C,C,E,C,E,I,C,O,E,O,E,E,A,G,C,E,C,A,E,C,C,E,C,E,K,C,A,E,C,C,E,E,K,E,K,E,E,E,K,M,E,O,E,K,G,C,M,C,C,E,C,K,C,C,C,M,E,E,K,G,E,C,C,E,C,E,C,E,C,Q,M,E,E,E,G,C,G,G,E,I,C,G,G,Q,S,G,C,C,E,A,C,E,E,I,A,E,M,C,G,C,C,E,M,C,E,A,G,C,A,I,C,C,E,E,A,I,C,C,E,A,E,C,E,E,Q,C,G,A,I,C,C,E,E,C,C,G,C,C,E,C,C,C,E,E,C,C,E,C,C,C,E,A,E,C,E,K,C,C,C,E,C,K,C,G,A,I,C,C,E,E,E,K,C,C,C,E,C,C,E,K,C,C,C,E,C,E,E,K,C,G,G,E,K,C,C,C,E,C,C,E,K,C,C,C,E,C,E,G,C,I,C,G,K,C,C,C,E,E,E,G,C,G,G,E,I,C,G,G,Q,C,E,E,I,C,E,E,C,M,E,C,E,C,E,E,C,E,C,Q,C,E,E,C,C,G,A,E,C,C,E,C,M,C,C,E,C,M,C,M,C,C,E,C,C,C,E,C,K,E,K,C,C,C,E,C,E,E,C,C,C,E,O,c,C,E,O,C,a,C,M,C,C,G,I,E,E,QEVA,CAAA,EAAA,OAAA,CAAA,gBAAA,CAAA,W,O,E,I,C,K,E,K,E,W,I,E,O,E,I,C,S,C,E,O,E,K,E,K,EAEe,MAAA,CAAA,EAAM,EAAA,cAAA,CAJc,IAI4B,A,M,EAC3D,GADM,EAAK,EAAA,IAAL,GACF,AAAA,EAAA,SAAA,gBAAA,CAAiB,GACnB,MAAA,CAAA,EAAO,EAAE,C,M,C,E,E,A,M,E,M,C,E,A,C,E,EAGd,EAED,EAAA,OAAA,CAAA,oBAAA,CAAA,WACE,OAAa,CACX,IAAM,EAAK,EAAA,kBAAA,CAboB,IAc/B,GAAI,AAAA,EAAA,SAAA,gBAAA,CAAiB,GACnB,OAAO,CAEV,CACH,EAEA,A,S,C,E,I,I,K,E,E,O,C,c,C,I,C,E,O,C,E,C,C,C,E,A,C,EAAA,EAAA,S,G,E,Q,C,Q,S,C,C,C,ECvBA,EAAA,OAAA,CAAiB,AAAA,EAAA,SAAjB,EAAA,S,G,E,Q,C,Q,S,C,C,C,ECAA,IAAM,EAAS,CACb,gBAAiB,wCACjB,UACE,oEACF,UAAW,8CACX,yBAA0B,wCAC1B,eAAgB,yBAChB,aAAc,iCACd,iBAAkB,iCAClB,eAAgB,0CAChB,UAAW,gCACX,KAAM,uEACN,QAAS,kCACT,KAAM,uCACR,EAEA,SAAS,EAAQ,CAAI,CAAE,CAAG,EACxB,GAAI,CAAC,EAAM,MAAM,AAAI,MAAM,EAC7B,CAEA,SAAS,EAAc,CAAI,CAAE,CAAK,CAAE,CAAM,EAGxC,GAFA,EAAO,aAAiB,WAAY,CAAC,SAAS,EAAE,EAAK,oBAAoB,CAAC,EAEtE,AAAW,KAAA,IAAX,GACF,GAAI,MAAM,OAAA,CAAQ,GAAS,CACzB,IAAM,EAAU,EAAO,IAAA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,G,E,E,O,C,S,I,E,A,G,E,G,E,E,O,C,Q,I,E,A,G,E,G,E,E,O,C,U,I,E,A,G,E,G,E,E,O,C,U,I,E,A,G,E,G,E,E,O,C,U,I,E,A,G,E,G,E,E,O,C,Q,I,E,A,G,E,G,E,E,O,C,W,I,E,A,G,E,G,E,E,O,C,W,I,E,A,G,E,G,E,E,O,C,a,I,E,A,G,E,G,E,E,O,C,a,I,E,A,G,E,G,E,E,O,C,a,I,E,A,G,E,G,E,E,O,C,a,I,E,A,G,E,G,E,E,O,C,Y,I,E,A,G,E,G,E,E,O,C,Y,I,E,A,G,E,G,E,E,O,C,W,I,E,A,G,E,G,E,E,O,C,W,I,E,A,G,E,G,IAKA,EAyDA,EAQA,EASA,EAYA,EAQA,EAoBA,EAgBA,EAoBA,EAKA,EAKA,EAKA,EAKA,EAKA,EAKA,EAWA,EAOA,EAMA,EAeA,EAMA,EAiBA,EAOA,EAMA,EAMA,EAKA,EAMA,E,E,E,SA7MA,SAAS,EAAM,CAAC,EAKd,MAAO,AAJG,CAAA,IAAO,GACL,IAAM,EAAK,MACZ,GAAM,EAAK,SACV,AAAA,CAAA,AAAI,IAAJ,CAAI,GAAS,EAHzB,IAIe,CACjB,CAeA,SAAS,EAAM,CAAI,SACjB,AAAI,AAAgB,IAAhB,EAAK,MAAA,CACA,IAAM,EAEN,CACX,CAGA,SAAS,EAAM,CAAI,EACjB,GAAI,AAAgB,IAAhB,EAAK,MAAA,CACP,MAAO,IAAM,EACV,GAAI,AAAgB,IAAhB,EAAK,MAAA,CACZ,MAAO,KAAO,EACX,GAAI,AAAgB,IAAhB,EAAK,MAAA,CACZ,MAAO,MAAQ,EACZ,GAAI,AAAgB,IAAhB,EAAK,MAAA,CACZ,MAAO,OAAS,EACb,GAAI,AAAgB,IAAhB,EAAK,MAAA,CACZ,MAAO,QAAU,EACd,GAAI,AAAgB,IAAhB,EAAK,MAAA,CACZ,MAAO,SAAW,EACf,GAAI,AAAgB,IAAhB,EAAK,MAAA,CACZ,MAAO,UAAY,OAEnB,OAAO,CACX,CAjHA,E,E,SAyDA,EA7CA,SAAiB,CAAG,CAAE,CAAG,EACvB,GAAI,MAAM,OAAA,CAAQ,GAChB,OAAO,EAAI,KADb,GAEA,GAAI,CAAC,EACH,MAAO,EAAE,CACX,IAAI,EAAM,EA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ACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,kEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,kEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,iEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,kEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,kEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACF,AACH,EACA,IAAK,CACH,IAAK,EACL,OAAQ,CACN,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,kEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,kEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,kEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,kEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,iEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,kEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,kEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACD,CACE,mEACA,mEACD,CACF,AACH,CACF,C,G,E,Q,C,Q,S,C,C,C,EC3wBA,a,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SAOI,EAAS,EAAb,MAAA,C,E,E,S,E,E,SAKA,SAAS,EAAG,CAAO,EACjB,GAAI,CAAE,CAAA,IAAI,YAAY,CAAA,EACpB,OAAO,IAAI,EAAG,EAGO,CAAA,UAAnB,OAAO,IACT,EAAO,OAAO,SAAA,CAAU,cAAA,CAAe,IAAA,CAAK,EAAQ,GAClD,iBAAmB,GAErB,EAAU,CAAM,CAAC,EAAQ,EAIvB,aAAmB,EAAO,WAAA,EAC5B,CAAA,EAAU,CAAE,MAAO,CAAQ,CAAA,EAE7B,IAAI,CAAC,KAAA,CAAQ,EAAQ,KAAA,CAAM,KAA3B,CACA,IAAI,CAAC,CAAA,CAAI,IAAI,CAAC,KAAA,CAAM,CAApB,CACA,IAAI,CAAC,EAAA,CAAK,IAAI,CAAC,CAAA,CAAE,KAAA,CAAM,GACvB,IAAI,CAAC,CAAA,CAAI,IAAI,CAAC,KAAA,CAAM,CAApB,CAGA,IAAI,CAAC,CAAA,CAAI,EAAQ,KAAA,CAAM,CAAvB,CACA,IAAI,CAAC,CAA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,G,E,M,E,C,E,K,C,E,C,M,G,C,C,I,C,K,C,C,C,C,C,O,A,U,E,0B,kC,E,E,E,O,E,E,O,C,M,E,S,C,C,C,E,I,E,A,Y,O,Q,C,C,O,Q,C,C,G,C,E,O,E,I,E,E,E,E,I,C,G,E,E,C,G,C,K,A,C,A,K,I,G,K,C,G,C,A,C,E,E,I,E,E,I,E,E,I,C,E,K,C,C,M,E,C,E,C,M,C,C,Q,C,G,C,G,C,E,I,E,C,E,E,M,A,G,E,I,C,E,Q,C,G,E,M,E,K,A,C,C,O,C,E,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,W,C,E,O,C,W,C,E,O,C,uB,C,E,O,C,Q,C,E,O,C,M,C,E,O,C,Y,C,E,O,C,U,C,E,O,C,U,C,E,O,C,W,C,E,O,C,W,C,E,O,C,Q,C,E,O,C,c,C,E,O,C,U,C,E,O,C,W,C,E,O,C,c,C,E,O,C,a,C,E,O,C,K,C,E,O,C,W,C,E,O,C,Q,C,K,E,I,E,E,S,E,E,S,E,E,QEhMa,CAAA,EAAA,OAAA,CAAA,QAAA,CAAW,SAAU,CAAS,EACzC,GAAI,CAAC,OAAO,aAAA,CAAc,IAAM,EAAI,EAClC,MAAM,AAAI,MAAM,qCAAA,MAAA,CAAqC,IAEvD,MAAO,KAAA,MAAA,CAAK,EAAE,QAAA,CAAS,IACzB,EAOa,EAAA,OAAA,CAAA,WAAA,CAAc,SAAU,CAAS,EAC5C,IAAM,EAAM,AAAA,CAAA,EAAA,EAAA,OAAA,CAAA,QAAA,AAAA,EAAS,GACrB,OAAO,EAAO,IAAA,CAAK,AAAA,CAAA,EAAA,EAAA,SAAA,AAAA,EAAU,EAAI,KAAA,CAAM,IAAK,MAC9C,EAMa,EAAA,OAAA,CAAA,KAAA,CAAQ,SAAU,CAAa,EAC1C,OAAO,EAAO,WAAA,CAAY,GAAO,IAAA,CAAK,EACxC,EAUA,IAAM,EAAY,SAAU,CAAW,CAAE,CAAc,CAAE,CAAc,EACrE,IAAM,EAAM,AAAA,CAAA,EAAA,EAAA,OAAA,CAAA,KAAA,AAAA,EAAM,UAClB,AAAI,EACF,AAAI,EAAI,MAAA,CAAS,GACf,EAAI,IAAA,CAAK,GACF,GAEF,EAAI,KAAA,CAAM,EAAG,GAEpB,AAAI,EAAI,MAAA,CAAS,GACf,EAAI,IAAA,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U,C,G,E,Q,C,Q,S,C,C,C,E,I,E,E,QCCrD,CAAA,EAAA,OAAA,CADW,CAAC,EAAG,EAAG,IAAU,AAAuB,EAAvB,EAAQ,EAAG,EAAG,E,G,E,Q,C,Q,S,C,C,C,E,I,E,E,QCC1C,CAAA,EAAA,OAAA,CADY,CAAC,EAAG,EAAG,IAAU,AAAwB,GAAxB,EAAQ,EAAG,EAAG,E,G,E,Q,C,Q,S,C,C,C,E,a,IEC/B,EAAA,E,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,c,C,E,O,C,a,C,K,EAFZ,IAAA,EAAA,EAAA,EAAA,SAGE,EADU,EAAA,EAAA,EAAA,OAAA,CAAA,aAAA,EAAA,CAAA,EAAA,OAAA,CAAA,aAAA,CAAa,CAAA,CAAA,GACvB,oBAAA,CAAA,uBACA,EAAA,cAAA,CAAA,iBACA,EAAA,qBAAA,CAAA,wBACA,EAAA,QAAA,CAAA,WACA,EAAA,mBAAA,CAAA,sBAGF,IAAM,EAA0D,CAC9D,CAAC,EAAc,oBAAA,CAAqB,CAAE,UACtC,CAAC,EAAc,cAAA,CAAe,CAAE,UAChC,CAAC,EAAc,qBAAA,CAAsB,CAAE,UACvC,CAAC,EAAc,QAAA,CAAS,CAAE,UAC1B,CAAC,EAAc,mBAAA,CAAoB,CAAE,SACtC,CAEY,CAAA,EAAA,OAAA,CAAA,cAAA,CAAiB,CAAC,EAAwB,IACrD,AAAM,KAAW,GAIV,AAAA,CAAA,EAAA,EAAA,OAAA,AAAA,EAAgB,EAAS,CAAwB,CAAC,EAAQ,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,C,O,M,C,S,C,C,C,C,C,C,C,E,K,I,G,C,E,C,E,I,E,O,wB,C,E,G,C,C,G,C,Q,E,C,E,U,C,E,Q,E,E,Y,A,C,G,C,E,C,W,C,E,I,W,O,C,C,E,A,C,C,E,O,c,C,E,E,E,E,S,C,C,C,C,C,C,C,E,K,I,G,C,E,C,E,C,C,E,C,C,C,E,A,C,E,E,E,O,E,E,O,C,Y,E,S,C,C,C,E,I,I,K,E,Y,G,O,S,C,c,C,I,C,E,I,E,E,E,E,E,O,c,C,E,O,C,a,C,M,C,C,GEvBnE,EAAA,EAAA,SAAA,E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,GAAe,QAA1C,EACD,CAED,GAAI,CACF,IAAM,EAAc,MAAM,EAAW,WAAA,CAAY,CAC/C,GAAA,EACA,KAAM,EACN,MAAO,EACP,KAAA,CACD,GACD,OAAO,CACR,CAAC,MAAO,EAAO,CACd,GAAI,IAAc,EAAA,aAAA,CAAc,YAAA,CAC9B,MAAO,IAET,OAAO,QAAQ,MAAA,CAAO,EACvB,CACH,CA9DA,EAAA,OAAA,CAAA,aAAA,CAAA,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,C,O,M,C,S,C,C,C,C,C,C,C,E,K,I,G,C,E,C,E,I,E,O,wB,C,E,G,C,C,G,C,Q,E,C,E,U,C,E,Q,E,E,Y,A,C,G,C,E,C,W,C,E,I,W,O,C,C,E,A,C,C,E,O,c,C,E,E,E,E,S,C,C,C,C,C,C,C,E,K,I,G,C,E,C,E,C,C,E,C,C,C,E,A,C,E,E,E,O,E,E,O,C,Y,E,S,C,C,C,E,I,I,K,E,Y,G,O,S,C,c,C,I,C,E,I,E,E,E,E,E,O,c,C,E,O,C,a,C,M,C,C,GEhBA,EAAA,EAAA,SAAA,EAAA,OAAA,EACA,EAAA,EAAA,SAAA,EAAA,OAAA,EACA,EAAA,EAAA,SAAA,EAAA,OAAA,EACA,EAAA,EAAA,SAAA,EAAA,OAAA,EACA,EAAA,EAAA,SAAA,EAAA,OAAA,EACA,EAAA,EAAA,SAAA,EAAA,OAAA,EACA,EAAA,EAAA,SAAA,EAAA,OAAA,EACA,EAAA,EAAA,SAAA,EAAA,OAAA,EACA,EAAA,EAAA,SAAA,EAAA,OAAA,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,E,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,E,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,E,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,E,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,E,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,E,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,E,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,E,G,E,Q,C,Q,S,C,C,C,E,iBkBHY,E,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,a,C,K,EACV,CADU,EAAA,EAAA,OAAA,CAAA,aAAA,EAAA,CAAA,EAAA,OAAA,CAAA,aAAA,CAAa,CAAA,CAAA,EACvB,CAAA,EAAA,IAAA,CAAA,EAAA,CAAA,OACA,CAAA,CAAA,EAAA,YAAA,CAAA,EAAA,CAAA,c,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,GEyBF,EAAA,OAAA,CAAA,OAAA,CA1BA,MAIE,YAAY,CAAyB,CAArC,CAFA,IAAA,CAAA,UAAA,CAAyC,IAAI,IAG3C,IAAI,CAAC,IAAA,CAAO,CACd,CAEA,aAAa,CAAwB,CAArC,CACE,IAAI,CAAC,UAAA,CAAW,GAAA,CAAI,EAAU,MAAA,CAAO,WAAA,GAAe,EACtD,CAEA,mBAAA,CACE,IAAM,EAAU,MAAM,IAAA,CAAK,IAAI,CAAC,UAAA,CAAW,IAAA,IAAQ,IAAnD,EACmB,CAAA,EAAQ,MAAA,CAC3B,IAAI,EAAc,GACd,EAAe,GAMnB,OALA,EAAQ,OAAA,CAAQ,AAAC,IACf,IAAM,EAAY,IAAI,CAAC,UAAA,CAAW,GAAA,CAAI,GACtC,GAAe,MAAA,EAAS,KAAA,EAAT,EAAW,UAAA,GAAqD,KAAA,CAAM,GACrF,GAAgB,MAAA,EAAS,KAAA,EAAT,EAAW,WAA3B,EACF,GACO,KAAO,EAAc,CAC9B,CACD,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,E,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,iC,C,E,O,C,sB,C,E,O,C,mB,C,E,O,C,mB,C,E,O,C,8B,C,E,O,C,8B,C,K,E,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SIFM,eAAe,EAA+B,CAAA,aACnD,CAAA,CAAY,cACZ,CAAA,CAAa,WACb,CAAA,CAAU,GACV,CAAA,CACoC,M,E,E,E,E,MAoBhC,EAnBJ,IAAM,EAAkB,CACtB,GAAI,EAAG,EAAP,CACA,MAAO,EAAG,KAAV,CACA,KAAM,EAA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A,OAAA,CAAiC,EAC9C,SACE,MAAM,AAAI,MAAM,uBACnB,CACH,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,oB,C,K,E,I,E,E,S,E,E,SEhLA,IAAM,EAAO,CACX,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,QACN,KAAM,SACP,EACD,CACE,KAAM,aACN,KAAM,SACP,EACF,CACD,KAAM,wBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,4BACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,UACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,MACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,KACN,KAAM,SACP,EACD,CACE,KAAM,QACN,KAAM,SACP,EACD,CACE,KAAM,OACN,KAAM,OACP,EACD,CACE,KAAM,YACN,KAAM,OACP,EACF,CACD,KAAM,4BACN,QAAS,CACP,CACE,KAAM,UACN,KAAM,MACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,KAAM,iBACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,eACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,aACN,KAAM,SACP,EACF,CACD,KAAM,kBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,GACN,KAAM,SACP,EACD,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,KAAM,iBACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,cACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,mBACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,kBACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,YACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,WACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,OACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,QACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,QACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,aACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,WACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,oBACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,mBACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,aACN,KAAM,SACP,EACD,CACE,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,gBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,YACN,KAAM,SACP,EACD,CACE,KAAM,WACN,KAAM,SACP,EACD,CACE,KAAM,WACN,KAAM,SACP,EACF,CACD,KAAM,YACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,eACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,kBACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,YACN,KAAM,SACP,EACD,CACE,KAAM,QACN,KAAM,SACP,EACD,CACE,KAAM,aACN,KAAM,SACP,EACF,CACD,KAAM,cACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,UACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,QACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,QAAS,CAAA,EACT,gBAAiB,UACjB,KAAM,UACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,kBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,aACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,eACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,KAAM,YACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,gBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,iBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,KAAM,cACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,KAAM,OACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,UACN,KAAM,WACP,EACD,CACE,KAAM,aACN,KAAM,SACP,EACD,CACE,KAAM,KACN,KAAM,SACP,EACD,CACE,KAAM,OACN,KAAM,OACP,EACD,CACE,KAAM,eACN,KAAM,SACP,EACD,CACE,KAAM,UACN,KAAM,SACP,EACD,CACE,KAAM,kBACN,KAAM,SACP,EACF,CACD,KAAM,QACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,KACN,KAAM,SACP,EACD,CACE,KAAM,QACN,KAAM,SACP,EACD,CACE,KAAM,OACN,KAAM,OACP,EACD,CACE,KAAM,YACN,KAAM,OACP,EACD,CACE,KAAM,YACN,KAAM,SACP,EACD,CACE,KAAM,UACN,KAAM,SACP,EACD,CACE,KAAM,WACN,KAAM,SACP,EACD,CACE,KAAM,WACN,KAAM,SACP,EACD,CACE,KAAM,iBACN,KAAM,SACP,EACD,CACE,KAAM,aACN,KAAM,OACP,EACF,CACD,KAAM,kBACN,QAAS,CACP,CACE,KAAM,UACN,KAAM,MACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,KACN,KAAM,SACP,EACD,CACE,KAAM,QACN,KAAM,SACP,EACD,CACE,KAAM,OACN,KAAM,OACP,EACD,CACE,KAAM,YACN,KAAM,OACP,EACF,CACD,KAAM,gBACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,gBACN,KAAM,SACP,EACF,CACD,KAAM,cACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,QACN,KAAM,OACP,EACF,CACD,KAAM,cACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,QACN,KAAM,OACP,EACD,CACE,KAAM,aACN,KAAM,OACP,EACF,CACD,KAAM,mBACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,QACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,UACN,KAAM,OACP,EACF,CACD,KAAM,iBACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,KACN,KAAM,SACP,EACD,CACE,KAAM,QACN,KAAM,SACP,EACD,CACE,KAAM,OACN,KAAM,OACP,EACD,CACE,KAAM,YACN,KAAM,OACP,EACD,CACE,KAAM,YACN,KAAM,SACP,EACD,CACE,KAAM,UACN,KAAM,SACP,EACD,CACE,KAAM,WACN,KAAM,SACP,EACD,CACE,KAAM,WACN,KAAM,SACP,EACD,CACE,KAAM,iBACN,KAAM,SACP,EACD,CACE,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,wBACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,OACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,KAAM,KACN,KAAM,SACP,EACD,CACE,KAAM,QACN,KAAM,SACP,EACD,CACE,KAAM,OACN,KAAM,OACP,EACD,CACE,KAAM,YACN,KAAM,OACP,EACD,CACE,KAAM,YACN,KAAM,SACP,EACD,CACE,KAAM,UACN,KAAM,SACP,EACD,CACE,KAAM,WACN,KAAM,SACP,EACD,CACE,KAAM,WACN,KAAM,SACP,EACD,CACE,KAAM,iBACN,KAAM,SACP,EACD,CACE,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,qBACN,QAAS,CACP,CACE,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACO,AAEV,OAAa,EAEX,OAAO,iBAAP,CACE,OAAO,IAAI,EAAM,SAAA,CAAU,EAC7B,CACA,OAAO,QACL,CAAe,CACf,CAAmC,CAFrC,CAIE,OAAO,IAAI,EAAA,QAAA,CAAS,EAAS,EAAM,EACrC,C,CAVF,EAAA,OAAA,CAAA,oBAAA,CAAA,EACkB,EAAA,GAAA,CAAM,C,G,E,Q,C,Q,S,C,C,C,E,E,E,O,C,e,I,G,E,E,O,C,W,I,G,E,E,O,C,kB,I,EEnxBxB,CAAA,a,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,S,C,C,C,C,C,C,C,E,O,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,E,EAcA,IAAM,EAAS,IAAI,EAAA,MAAA,CAAO,EAAA,OAAA,EAgGpB,EAAuD,CACzD,QAAS,CAAA,EAAM,KAAM,CAAA,EAAM,KAAM,CAAA,EAAM,SAAU,CAAA,EAAM,SAAS,CAAA,EAAM,MAAO,CAAA,EAAM,GAAI,CAAA,EAAM,MAAO,CAAA,EACpG,KAAM,CAAA,EAAM,WAAY,CAAA,EACxB,aAAc,CAAA,EAAM,qBAAsB,CAAA,EAC1C,WAAY,CAAA,EACZ,gBAAiB,CAAA,CACpB,EAED,SAAe,EAAY,CAA2B,CAAE,CAAuC,E,O,E,I,C,K,E,K,E,YAC3F,IAAM,EAAO,MAAM,CAEE,CAAA,UAAjB,OAAO,GACP,EAAO,kBAAA,CAAmB,8BAA+B,OAAQ,GAIrE,GAAI,CACA,MAAO,AAAA,CAAA,EAAA,EAAA,UAAA,AAAA,EAAW,EACrB,CAAC,MAAO,EAAO,CAAA,CAEX,GACD,EAAO,UAAA,CAAW,sDAAuD,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,qBAAA,CAAuB,CAC1G,UAAW,aACd,GAGL,IAAM,EAAU,MAAM,EAAS,WAAA,CAAY,GAM3C,OAJe,MAAX,GACA,EAAO,kBAAA,CAAmB,kDAAmD,OAAQ,GAGlF,CACX,EAAC,CAGD,SAAe,EAAiB,CAA2B,CAAE,CAAU,CAAE,CAAuC,E,O,E,I,C,K,E,K,E,mBAC5G,AAAI,MAAM,OAAA,CAAQ,GACP,MAAM,QAAQ,GAAA,CAAI,EAAU,GAAA,CAAI,CAAC,EAAW,IACxC,EACH,EACE,MAAM,OAAA,CAAQ,GAAU,CAAK,CAAC,EAAM,CAAE,CAAK,CAAC,EAAU,IAAA,CAAK,CAC7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E,O,C,sB,I,A,E,S,mB,E,E,E,O,C,gB,I,A,E,S,a,E,E,E,O,C,gB,I,A,E,S,a,E,E,E,O,C,mB,I,A,E,S,gB,E,E,E,O,C,Y,I,A,E,S,S,E,E,E,O,C,c,I,A,E,S,W,E,E,E,O,C,oB,I,A,E,S,iB,E,E,E,O,C,S,I,A,E,S,M,E,E,E,O,C,M,I,E,U,E,E,O,C,a,I,A,E,S,U,E,E,E,O,C,Y,I,A,E,S,S,E,E,E,O,C,O,I,A,E,S,I,E,E,E,O,C,kB,I,A,E,S,e,E,E,E,O,C,W,I,A,E,S,Q,E,E,E,O,C,iB,I,A,E,S,c,E,E,E,O,C,Y,I,A,E,S,S,E,E,E,O,C,oB,I,A,E,S,iB,E,E,E,O,C,c,I,A,E,S,W,E,E,E,O,C,W,I,A,E,S,Q,E,E,E,O,C,S,I,A,E,S,M,E,E,E,O,C,a,I,A,E,S,U,E,E,E,O,C,U,I,A,E,S,O,E,E,E,O,C,U,I,A,E,S,O,E,E,E,O,C,c,I,A,E,S,W,E,E,E,O,C,c,I,A,E,S,W,E,E,E,O,C,S,I,A,E,S,M,E,E,E,O,C,a,I,A,E,S,U,E,E,E,O,C,Y,I,A,E,S,S,E,E,E,O,C,iB,I,A,E,S,c,E,E,E,O,C,yB,I,A,E,S,sB,E,E,E,O,C,S,I,A,E,S,M,E,E,E,O,C,S,I,E,U,E,E,O,C,U,I,A,E,S,O,E,E,E,O,C,c,I,A,E,S,W,E,E,E,O,C,Y,I,A,E,S,S,E,E,E,O,C,gB,I,A,E,S,a,E,E,E,O,C,W,I,A,E,S,Q,E,E,E,O,C,a,I,A,E,S,U,E,E,E,O,C,gB,I,A,E,S,a,E,E,E,O,C,e,I,A,E,S,Y,E,E,E,O,C,W,I,A,E,S,Q,E,E,E,O,C,uB,I,A,E,S,oB,E,E,E,O,C,c,I,A,E,S,W,E,E,E,O,C,mB,I,A,E,S,gB,E,E,E,O,C,e,I,A,E,S,Y,E,E,E,O,C,iB,I,A,E,S,c,E,E,E,O,C,sB,I,A,E,S,mB,E,E,E,O,C,qB,I,A,E,S,kB,E,E,E,O,C,Y,I,A,E,S,S,E,E,E,O,C,c,I,A,E,S,W,E,E,E,O,C,W,I,A,E,S,Q,E,E,E,O,C,c,I,A,E,S,W,E,E,E,O,C,K,I,A,E,S,E,E,E,E,O,C,oB,I,A,E,S,gB,E,E,E,O,C,a,I,A,E,S,U,E,E,E,O,C,iB,I,A,E,S,c,E,E,E,O,C,qB,I,A,E,S,kB,E,E,E,O,C,oB,I,A,E,S,iB,E,E,E,O,C,Y,I,A,E,S,S,E,E,E,O,C,c,I,A,E,S,W,E,E,E,O,C,a,I,A,E,S,U,E,E,E,O,C,c,I,A,E,S,W,E,E,E,O,C,a,I,A,E,S,U,E,E,E,O,C,U,I,A,E,S,O,E,E,E,O,C,c,I,A,E,S,W,E,E,E,O,C,Y,I,A,E,S,S,E,E,E,O,C,Y,I,A,E,S,S,E,E,E,O,C,S,I,A,E,S,M,E,E,E,O,C,S,I,A,E,S,M,E,E,E,O,C,c,I,A,E,S,W,E,E,E,O,C,W,I,A,E,S,Q,E,E,E,O,C,e,I,A,E,S,I,E,E,E,O,C,oB,I,A,E,S,S,E,E,E,O,C,iB,I,A,E,S,M,E,E,E,O,C,iB,I,A,E,S,c,E,E,E,O,C,gB,I,A,E,S,a,E,E,E,O,C,gB,I,A,E,S,a,E,E,E,O,C,mB,I,A,E,S,K,E,E,E,O,C,uB,I,A,E,S,S,E,E,E,O,C,mB,I,A,E,S,gB,E,E,E,O,C,uB,I,A,E,S,oB,E,E,E,O,C,iB,I,A,E,S,c,E,E,E,O,C,iB,I,A,E,S,c,E,E,E,O,C,mB,I,A,E,S,gB,E,E,E,O,C,mB,I,A,E,S,gB,E,E,E,O,C,gB,I,A,E,S,a,E,E,E,O,C,kB,I,A,E,S,e,E,E,E,O,C,iB,I,A,E,S,c,E,E,E,O,C,oB,I,A,E,S,iB,E,E,E,O,C,oB,I,A,E,S,iB,E,E,E,O,C,kB,I,A,E,S,e,E,E,E,O,C,iB,I,A,E,S,c,E,E,E,O,C,qB,I,A,E,S,kB,E,E,E,O,C,2B,I,A,E,S,wB,E,E,E,O,C,kB,I,A,E,S,e,E,E,E,O,C,U,I,A,E,S,O,E,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,S,E,Q,G,E,Q,C,Q,S,C,C,C,EEAA,a,E,E,O,C,S,I,A,E,S,M,E,E,E,O,C,S,I,A,E,S,M,E,E,Q,G,E,Q,C,Q,S,C,C,C,E,E,E,O,C,S,I,G,E,E,O,C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,EAAU,EAAY,EAAS,EAAY,QAAjD,EAEA,OAAO,IAAI,EAAY,EAAmB,EAAK,EAAS,EAC5D,CAEA,OAAO,KAAK,CAAU,CAAE,CAAsC,CAA9D,CACI,GAAI,AAAkB,UAAlB,OAAO,EACP,OAAO,EAAY,UAAA,CAAW,EAAO,GAGzC,GAAI,AAAA,CAAA,EAAA,EAAA,OAAA,AAAA,EAAQ,GACR,OAAO,EAAY,SAAA,CAAU,EAAO,GAGxC,GAAI,CACA,OAAO,EAAY,SAAA,CAAU,EAAO,EAAG,EAC1C,CAAC,MAAO,EAAO,CAEZ,GAAI,EAAM,IAAA,GAAS,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,gBAAA,CAC7B,MAAM,CAEb,CAED,OAAO,EAAO,kBAAA,CAAmB,4BAA6B,QAAS,EAC3E,CAEA,OAAO,cAAc,CAAU,CAA/B,CACI,MAAO,CAAC,CAAE,CAAA,GAAS,EAAM,cAAA,AAAA,CAC7B,CACH,CAED,IAAM,EAAM,EAAY,IAAA,CAAK,GACvB,EAAO,EAAY,IAAA,CAAK,M,G,E,Q,C,Q,S,C,C,C,E,E,E,O,C,U,I,GExZvB,IAAM,EAAU,a,G,E,Q,C,Q,S,C,C,C,E,E,E,O,C,S,I,G,E,E,O,C,gB,I,G,E,E,O,C,kB,I,EEAvB,CAAA,a,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,S,C,C,C,C,C,C,C,E,O,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,E,EAkBA,IAAM,EAAS,IAAI,EAAA,MAAA,CAAO,EAAA,OAAA,CAWpB,OAAO,UAAe,EAAA,MAAA,CAUxB,YAAY,CAA2D,CAAE,CAAmB,CAA5F,KAnBe,EAsBX,GAFA,KAAK,GAnBD,AAAS,OADF,EAsBG,IArBO,AAAA,CAAA,EAAA,EAAA,WAAA,A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GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,EAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAK,CACpgD,EAAI,CAAC,GAAM,EAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,EAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,EAAM,IAAM,IAAM,GAAM,EAAM,IAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,EAAM,EAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,IAAM,GAAM,IAAM,EAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,GAAM,IAAM,GAAM,IAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,GAAM,IAAM,GAAM,GAAM,GAAM,EAAM,IAAM,IAAM,IAAM,IAAM,GAAM,IAAM,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,IAAK,CAGpgD,EAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAW,CACrgG,EAAK,CAAC,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAW,CACrgG,EAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAW,CACrgG,EAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAW,CAGrgG,EAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,EAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAW,CACrgG,EAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,SAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAW,CACrgG,EAAK,CAAC,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,EAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAW,CACrgG,EAAK,CAAC,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,WAAY,SAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,SAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,EAAY,WAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,UAAY,WAAY,WAAW,CAGrgG,EAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAW,CACrgG,EAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAW,CACrgG,EAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,SAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,SAAY,UAAY,UAAY,WAAY,UAAY,UAAY,UAAY,UAAY,SAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAW,CACrgG,EAAK,CAAC,EAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,UAAY,UAAY,UAAY,UAAY,UAAY,UAAY,SAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY,WAAY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AAE,EAAE,EAAI,EAAE,CAAC,CAAE,EAAE,CAAG,CAAC,CAAC,GAAG,CAAE,GAC1B,CAAC,CAAE,EAAE,EAAI,EAAE,CAAC,CAAE,EAAE,CAAG,CAAC,CAAE,EAAE,CAAE,GAC1B,CAAC,CAAC,GAAG,EAAI,EAAE,CAAC,CAAE,EAAE,CAAG,CAAC,CAAE,EAAE,CAAE,IAC1B,CAAC,CAAE,EAAE,EAAI,EAAE,CAAC,CAAC,GAAG,CAAG,CAAC,CAAE,EAAE,CAAE,IAC1B,CAAC,CAAE,EAAE,EAAI,EAAE,CAAC,CAAE,EAAE,CAAG,CAAC,CAAE,EAAE,CAAE,GAC1B,CAAC,CAAC,GAAG,EAAI,EAAE,CAAC,CAAE,EAAE,CAAG,CAAC,CAAE,EAAE,CAAE,GAC1B,CAAC,CAAE,EAAE,EAAI,EAAE,CAAC,CAAC,GAAG,CAAG,CAAC,CAAE,EAAE,CAAE,IAC1B,CAAC,CAAE,EAAE,EAAI,EAAE,CAAC,CAAE,EAAE,CAAG,CAAC,CAAC,GAAG,CAAE,IAC1B,CAAC,CAAC,GAAG,EAAI,EAAE,CAAC,CAAC,GAAG,CAAG,CAAC,CAAE,EAAE,CAAE,GAC1B,CAAC,CAAE,EAAE,EAAI,EAAE,CAAC,CAAC,GAAG,CAAG,CAAC,CAAC,GAAG,CAAE,GAC1B,CAAC,CAAE,EAAE,EAAI,EAAE,CAAC,CAAE,EAAE,CAAG,CAAC,CAAC,GAAG,CAAE,IAC1B,CAAC,CAAC,GAAG,EAAI,EAAE,CAAC,CAAE,EAAE,CAAG,CAAC,CAAE,EAAE,CAAE,IAC1B,CAAC,CAAE,EAAE,EAAI,EAAE,CAAC,CAAC,GAAG,CAAG,CAAC,CAAC,GAAG,CAAE,GAC1B,CAAC,CAAE,EAAE,EAAI,EAAE,CAAC,CAAE,EAAE,CAAG,CAAC,CAAC,GAAG,CAAE,GAC1B,CAAC,CAAC,GAAG,EAAI,EAAE,CAAC,CAAE,EAAE,CAAG,CAAC,CAAE,EAAE,CAAE,IAC1B,CAAC,CAAC,GAAG,EAAI,EAAE,CAAC,CAAC,GAAG,CAAG,CAAC,CAAE,EAAE,CAAE,IAC1B,CAAC,CAAE,EAAE,EAAI,EAAE,CAAC,CAAE,EAAE,CAAG,CAAC,CAAE,EAAE,CAAE,GAC1B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CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,kBACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,iBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,kBACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,gBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,6BACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,6BACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,eACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACF,CACD,KAAM,UACN,KAAM,OACP,EACD,CACE,QAAS,CAAA,EACT,gBAAiB,UACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,OACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,UACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACF,CACD,KAAM,wBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,cACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACF,CACD,KAAM,kBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,aACN,KAAM,SACP,EACD,CACE,aAAc,kBACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,gBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,kBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,eACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACF,CACD,KAAM,4BACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,UACN,KAAM,MACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACF,CACD,KAAM,sCACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,UACN,KAAM,MACP,EACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,OACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,aACN,QAAS,CACP,CACE,aAAc,YACd,KAAM,GACN,KAAM,WACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACF,CACD,KAAM,sBACN,QAAS,CACP,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACP,EACD,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,YACN,QAAS,CACP,CACE,aAAc,YACd,KAAM,GACN,KAAM,WACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,eACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,UACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,QACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACF,CACD,KAAM,cACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACF,CACD,KAAM,qBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACF,CACD,KAAM,YACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,YACd,KAAM,UACN,KAAM,WACP,EACD,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,kBACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,SACP,EACF,CACD,KAAM,QACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,kBACd,KAAM,iBACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,OACP,EACF,CACD,KAAM,kBACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,UACN,KAAM,MACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACF,CACD,KAAM,gBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACP,EACF,CACD,KAAM,cACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,QACd,KAAM,QACN,KAAM,OACP,EACF,CACD,KAAM,cACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,QACd,KAAM,QACN,KAAM,OACP,EACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,OACP,EACF,CACD,KAAM,mBACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,QACd,KAAM,UACN,KAAM,OACP,EACF,CACD,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,wBACN,QAAS,CACP,CACE,aAAc,QACd,KAAM,GACN,KAAM,OACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,qBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACO,AAEV,OAAa,EAEX,OAAO,iBAAP,CACE,OAAO,IAAI,EAAM,SAAA,CAAU,EAC7B,CACA,OAAO,QACL,CAAe,CACf,CAAmC,CAFrC,CAIE,OAAO,IAAI,EAAA,QAAA,CAAS,EAAS,EAAM,EACrC,C,CAVF,EAAA,OAAA,CAAA,oBAAA,CAAA,EACkB,EAAA,GAAA,CAAM,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,mB,C,K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AAS,CAAA,EACT,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,aACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,eACN,KAAM,SACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,cACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACF,CACD,KAAM,oBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,kBACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,iBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,kBACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,gBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,6BACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,6BACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,eACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACF,CACD,KAAM,UACN,KAAM,OACP,EACD,CACE,QAAS,CAAA,EACT,gBAAiB,UACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,OACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,UACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACF,CACD,KAAM,wBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,cACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACF,CACD,KAAM,kBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,aACN,KAAM,SACP,EACD,CACE,aAAc,kBACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,gBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,kBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,eACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACF,CACD,KAAM,4BACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,UACN,KAAM,MACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACF,CACD,KAAM,sCACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,UACN,KAAM,MACP,EACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,OACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,aACN,QAAS,CACP,CACE,aAAc,YACd,KAAM,GACN,KAAM,WACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACF,CACD,KAAM,sBACN,QAAS,CACP,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACP,EACD,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,YACN,QAAS,CACP,CACE,aAAc,YACd,KAAM,GACN,KAAM,WACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,eACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,kBACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,kBACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,UACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,EAAE,CACV,KAAM,QACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACF,CACD,KAAM,cACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACF,CACD,KAAM,qBACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACF,CACD,KAAM,YACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,YACd,KAAM,UACN,KAAM,WACP,EACD,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,kBACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,SACP,EACF,CACD,KAAM,QACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,kBACd,KAAM,iBACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,OACP,EACF,CACD,KAAM,kBACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,UACN,KAAM,MACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,UACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACF,CACD,KAAM,gBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACP,EACF,CACD,KAAM,cACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,QACd,KAAM,QACN,KAAM,OACP,EACF,CACD,KAAM,cACN,QAAS,EAAE,CACX,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,QACd,KAAM,QACN,KAAM,OACP,EACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,OACP,EACF,CACD,KAAM,mBACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,QACd,KAAM,UACN,KAAM,OACP,EACF,CACD,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,wBACN,QAAS,CACP,CACE,aAAc,QACd,KAAM,GACN,KAAM,OACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,SAAU,CAAA,EACV,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,qBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,QAAS,CAAA,EACT,gBAAiB,OACjB,KAAM,UACP,EACO,AAEV,OAAa,EAEX,OAAO,iBAAP,CACE,OAAO,IAAI,EAAM,SAAA,CAAU,EAC7B,CACA,OAAO,QACL,CAAe,CACf,CAAmC,CAFrC,CAIE,OAAO,IAAI,EAAA,QAAA,CAAS,EAAS,EAAM,EACrC,C,CAVF,EAAA,OAAA,CAAA,oBAAA,CAAA,EACkB,EAAA,GAAA,CAAM,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,uC,C,K,E,I,E,E,S,E,E,SEv+BxB,IAAM,EAAO,CACX,CACE,OAAQ,EAAE,CACV,KAAM,OACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,EAAE,CACV,KAAM,UACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,QACd,KAAM,UACN,KAAM,OACP,EACF,CACD,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,sBACd,KAAM,OACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,UACN,KAAM,OACP,EACF,CACD,KAAM,wBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,EAAE,CACV,KAAM,aACN,QAAS,CACP,CACE,aAAc,YACd,KAAM,GACN,KAAM,WACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,OACP,EACF,CACD,KAAM,mBACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,QACd,KAAM,QACN,KAAM,OACP,EACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,OACP,EACF,CACD,KAAM,mBACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,YACd,KAAM,GACN,KAAM,WACP,EACD,CACE,aAAc,YACd,KAAM,GACN,KAAM,WACP,EACD,CACE,aAAc,QACd,KAAM,GACN,KAAM,OACP,EACF,CACD,KAAM,yBACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,GACN,KAAM,OACP,EACF,CACD,KAAM,oBACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,GACN,KAAM,OACP,EACF,CACD,KAAM,mBACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,kBACN,KAAM,OACP,EACF,CACD,KAAM,WACN,QAAS,CACP,CACE,aAAc,QACd,KAAM,WACN,KAAM,OACP,EACF,CACD,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,SACd,KAAM,cACN,KAAM,QACP,EACF,CACD,KAAM,oBACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,GACN,KAAM,OACP,EACD,CACE,aAAc,QACd,KAAM,GACN,KAAM,OACP,EACF,CACD,KAAM,iBACN,QAAS,EAAE,CACX,gBAAiB,OACjB,KAAM,UACP,EACO,AAEV,OAAa,EAEX,OAAO,iBAAP,CACE,OAAO,IAAI,EAAM,SAAA,CAAU,EAC7B,CACA,OAAO,QACL,CAAe,CACf,CAAmC,CAFrC,CAIE,OAAO,IAAI,EAAA,QAAA,CACT,EACA,EACA,EAEJ,C,CAdF,EAAA,OAAA,CAAA,uCAAA,CAAA,EACkB,EAAA,GAAA,CAAM,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,oB,C,K,E,I,E,E,S,E,E,SE1UxB,IAAM,EAAO,CACX,CACE,OAAQ,EAAE,CACV,gBAAiB,aACjB,KAAM,aACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,aACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,eACN,KAAM,SACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,cACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACF,CACD,KAAM,yBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,eACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,iBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,gBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,6BACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,6BACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,eACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,eACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,YACd,KAAM,SACN,KAAM,WACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,cACN,KAAM,SACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,kBACN,KAAM,SACP,EACF,CACD,KAAM,YACN,KAAM,OACP,EACD,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACF,CACD,KAAM,UACN,KAAM,OACP,EACD,CACE,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,EAAE,CACV,KAAM,UACN,QAAS,CACP,CACE,aAAc,SACd,KAAM,GACN,KAAM,QACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACF,CACD,KAAM,wBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,gBACN,KAAM,SACP,EACF,CACD,KAAM,cACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACF,CACD,KAAM,kBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,qBACN,KAAM,SACP,EACF,CACD,KAAM,mBACN,QAAS,EAAE,CACX,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,OACP,EACF,CACD,KAAM,kBACN,QAAS,EAAE,CACX,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,gBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,EAAE,CACV,KAAM,kBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,eACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,wBACN,QAAS,CACP,CACE,aAAc,QACd,KAAM,GACN,KAAM,OACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,kBACd,KAAM,iBACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,OACP,EACF,CACD,KAAM,kBACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,UACN,KAAM,MACP,EACF,CACD,gBAAiB,UACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACF,CACD,KAAM,4BACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,UACN,KAAM,MACP,EACF,CACD,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACF,CACD,KAAM,sCACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,UACN,KAAM,MACP,EACD,CACE,aAAc,QACd,KAAM,aACN,KAAM,OACP,EACF,CACD,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,EAAE,CACV,KAAM,aACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACF,CACD,KAAM,sBACN,QAAS,CACP,CACE,aAAc,YACd,KAAM,QACN,KAAM,WACP,EACD,CACE,aAAc,UACd,KAAM,OACN,KAAM,SACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,EAAE,CACV,KAAM,YACN,QAAS,CACP,CACE,aAAc,YACd,KAAM,GACN,KAAM,WACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,eACN,QAAS,CACP,CACE,aAAc,QACd,KAAM,GACN,KAAM,OACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,EAAE,CACV,KAAM,eACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,qBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,SACN,KAAM,SACP,EACF,CACD,KAAM,kBACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,UACN,QAAS,CACP,CACE,aAAc,OACd,KAAM,GACN,KAAM,MACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,EAAE,CACV,KAAM,QACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACF,CACD,KAAM,cACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,sBACd,KAAM,YACN,KAAM,OACP,EACF,CACD,KAAM,gBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACF,CACD,KAAM,qBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,QACN,KAAM,SACP,EACF,CACD,KAAM,WACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,YACd,KAAM,UACN,KAAM,WACP,EACD,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,KACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,kBACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,eACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,UACN,KAAM,SACP,EACD,CACE,aAAc,kBACd,KAAM,kBACN,KAAM,SACP,EACF,CACD,KAAM,QACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,KAAM,iBACN,QAAS,CACP,CACE,aAAc,UACd,KAAM,GACN,KAAM,SACP,EACF,CACD,gBAAiB,OACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,iBACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,kBACN,KAAM,OACP,EACF,CACD,KAAM,oBACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACD,CACE,aAAc,UACd,KAAM,WACN,KAAM,SACP,EACF,CACD,KAAM,YACN,QAAS,EAAE,CACX,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,gBAAiB,UACjB,KAAM,SACP,EACO,AAEV,OAAa,EAEX,OAAO,iBAAP,CACE,OAAO,IAAI,EAAM,SAAA,CAAU,EAC7B,CACA,OAAO,QACL,CAAe,CACf,CAAmC,CAFrC,CAIE,OAAO,IAAI,EAAA,QAAA,CAAS,EAAS,EAAM,EACrC,C,CAVF,EAAA,OAAA,CAAA,oBAAA,CAAA,EACkB,EAAA,GAAA,CAAM,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,6B,C,K,E,I,E,E,S,E,E,SExgCxB,IAAM,EAAO,CACX,CACE,OAAQ,CACN,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACP,EACF,CACD,KAAM,YACN,QAAS,EAAE,CACX,gBAAiB,UACjB,KAAM,UACP,EACO,AAEV,OAAa,EAEX,OAAO,iBAAP,CACE,OAAO,IAAI,EAAM,SAAA,CAAU,EAC7B,CACA,OAAO,QACL,CAAe,CACf,CAAmC,CAFrC,CAIE,OAAO,IAAI,EAAA,QAAA,CACT,EACA,EACA,EAEJ,C,CAdF,EAAA,OAAA,CAAA,6BAAA,CAAA,EACkB,EAAA,GAAA,CAAM,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,mB,C,K,E,I,E,E,S,E,E,SEpBxB,IAAM,EAAO,CACX,CACE,OAAQ,EAAE,CACV,gBAAiB,aACjB,KAAM,aACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,QACd,KAAM,eACN,KAAM,OACP,EACF,CACD,KAAM,YACN,QAAS,EAAE,CACX,gBAAiB,UACjB,KAAM,UACP,EACO,AAEV,OAAa,EAEX,OAAO,iBAAP,CACE,OAAO,IAAI,EAAM,SAAA,CAAU,EAC7B,CACA,OAAO,QACL,CAAe,CACf,CAAmC,CAFrC,CAIE,OAAO,IAAI,EAAA,QAAA,CAAS,EAAS,EAAM,EACrC,C,CAVF,EAAA,OAAA,CAAA,mBAAA,CAAA,EACkB,EAAA,GAAA,CAAM,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,sB,C,K,E,I,E,E,S,E,E,SEtBxB,IAAM,EAAO,CACX,CACE,UAAW,CAAA,EACX,OAAQ,CACN,CACE,QAAS,CAAA,EACT,aAAc,2BACd,KAAM,QACN,KAAM,SACP,EACD,CACE,QAAS,CAAA,EACT,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACF,CACD,KAAM,gBACN,KAAM,OACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACF,CACD,KAAM,uCACN,QAAS,CACP,CACE,aAAc,2BACd,KAAM,QACN,KAAM,SACP,EACF,CACD,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,OACN,KAAM,OACP,EACF,CACD,KAAM,cACN,QAAS,CACP,CACE,aAAc,2BACd,KAAM,QACN,KAAM,SACP,EACF,CACD,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACP,EACD,CACE,aAAc,UACd,KAAM,YACN,KAAM,SACP,EACD,CACE,aAAc,kCACd,KAAM,WACN,KAAM,SACP,EACF,CACD,KAAM,0BACN,QAAS,CACP,CACE,aAAc,2BACd,KAAM,QACN,KAAM,SACP,EACF,CACD,gBAAiB,aACjB,KAAM,UACP,EACD,CACE,OAAQ,CACN,CACE,aAAc,UACd,KAAM,aACN,KAAM,SACP,EACD,CACE,aAAc,QACd,KAAM,cACN,KAAM,OACP,EACD,CACE,aAAc,U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sB,CAAzC,CACE,KAAK,CAAC,GADW,IAAA,CAAA,QAAA,CAAA,CAEnB,CACD,CAED,EAAA,OAAA,CAAA,OAAA,CAAe,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,GERf,IAAA,EAAA,EAAA,EAAA,SAEA,OAAM,UAAqD,EAAA,OAA3D,CACE,YAAmB,CAAsB,CAAzC,CACE,KAAK,CAAC,GADW,IAAA,CAAA,QAAA,CAAA,CAEnB,CACD,CAED,EAAA,OAAA,CAAA,OAAA,CAAe,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,GERf,IAAA,EAAA,EAAA,EAAA,SAEA,OAAM,UAAqD,EAAA,OAA3D,CACE,YAAmB,CAAsB,CAAzC,CACE,KAAK,CAAC,GADW,IAAA,CAAA,QAAA,CAAA,CAEnB,CACD,CAED,EAAA,OAAA,CAAA,OAAA,CAAe,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,GERf,IAAA,EAAA,EAAA,EAAA,SAEA,OAAM,UAAwC,EAAA,OAA9C,CACE,YAAmB,CAAmB,CAAtC,CACE,KAAK,CAAC,GADW,IAAA,CAAA,QAAA,CAAA,CAEnB,CACD,CAED,EAAA,OAAA,CAAA,OAAA,CAAe,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,GERf,IAAA,EAAA,EAAA,EAAA,SAEA,OAAM,UAAwC,EAAA,OAA9C,CACE,YAAmB,CAAmB,CAAtC,CACE,KAAK,CAAC,GADW,IAAA,CAAA,QAAA,CAAA,CAEnB,CACD,CAED,EAAA,OAAA,CAAA,OAAA,CAAe,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,GERf,IAAA,EAAA,E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QAAA,CAAA,CAAkC,CAErD,YAAA,CACE,OAAO,IAAI,CAAC,QAAA,CAAS,OAAA,CAAQ,OAA7B,AACF,CAEA,MAAM,YACJ,CAAY,CACZ,CAAgC,CAFlC,CAIM,GAAW,CAAC,EAAQ,GAAA,EACtB,CAAA,EAAQ,GAAA,CAAM,MAAM,IAAI,CAAC,WAAA,CAAY,cAAe,CAAC,EAAK,CAAE,CAAE,GAAG,CAAO,AAAA,EAAA,EAE1E,IAAM,EAAa,IAAI,CAAC,QAAA,CAAS,OAAA,CAAQ,WAAA,CAAY,GAAM,IAAA,CAAK,GAChE,MAAO,AAAA,CAAA,EAAA,EAAA,UAAA,AAAA,EAAW,EAAY,EAChC,CAEA,MAAM,eAAe,CAAe,CAApC,CACE,OAAO,IAAI,CAAC,QAAA,CAAS,OAAA,CAAQ,cAAA,CAAe,GAAS,IAArD,EACF,CAEA,OAAO,CAAkB,CAAE,CAAa,CAAxC,CACE,OAAQ,IAAI,CAAC,QAAA,CAAiB,OAAO,CAAC,EAAW,IAAI,GAAQ,SAA7D,EACF,CAEA,MAAM,YACJ,CAAkB,CAClB,CAAa,CACb,CAA+B,CAHjC,CAKE,MACE,AAAA,CAAA,MAAO,IAAI,CAAC,QAAA,CAAS,OAAe,CAAC,EAAW,IAAI,GAAQ,WAAA,CAAY,EAAA,EACxE,QAFF,EAGF,CACD,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,O,c,C,E,O,C,a,C,M,C,C,G,I,E,E,S,E,E,S,E,E,S,E,I,Q,E,I,QE6QD,EAAA,OAAA,CAAA,OAAA,CA/QA,MAIE,YAAY,CAAA,KAAE,CAAA,CAAI,cAAE,CAAA,CAAkC,CAAtD,CACE,GAJF,EAAA,GAAA,CAAA,IA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DW,IAAA,CAAA,QAAA,CAAA,CAEnB,CACD,CAED,EAAA,OAAA,CAAA,OAAA,CAAe,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,GERf,IAAA,EAAA,EAAA,EAAA,SAEA,OAAM,UAAmD,EAAA,OAAzD,CACE,YAAmB,CAAsB,CAAzC,CACE,KAAK,CAAC,GADW,IAAA,CAAA,QAAA,CAAA,CAEnB,CACD,CAED,EAAA,OAAA,CAAA,OAAA,CAAe,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,GERf,IAAA,EAAA,EAAA,EAAA,SAEA,OAAM,UAAsC,EAAA,OAA5C,CACE,YAAmB,CAAmB,CAAtC,CACE,KAAK,CAAC,GADW,IAAA,CAAA,QAAA,CAAA,CAEnB,CACD,CAED,EAAA,OAAA,CAAA,OAAA,CAAe,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,GERf,IAAA,EAAA,EAAA,EAAA,SAEA,OAAM,UAAsC,EAAA,OAA5C,CACE,YAAmB,CAAmB,CAAtC,CACE,KAAK,CAAC,GADW,IAAA,CAAA,QAAA,CAAA,CAEnB,CACD,CAED,EAAA,OAAA,CAAA,OAAA,CAAe,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,GERf,IAAA,EAAA,EAAA,EAAA,SAEA,OAAM,UAA8C,EAAA,OAApD,CACE,YAAmB,CAA2B,CAA9C,CACE,KAAK,CAAC,GADW,IAAA,CAAA,QAAA,CAAA,CAEnB,CACD,CAED,EAAA,OAAA,CAAA,OAAA,CAAe,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,GERf,IAAA,EAAA,EAAA,EAAA,SAEA,OAAM,UAA2C,E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8B,EAApC,EAAA,U,I,E,E,SAGA,IAAM,EAAsB,CACxB,EAA4B,OAA5B,CAAqC,EAA4B,OAA5B,CACxC,AAID,CAAA,EAAA,OAAA,CAAQ,+BAAA,CAHgC,AAAC,GAC7B,AAAA,CAAA,EAAG,EAAA,cAAqB,AAArB,EAAwB,EAAQ,E,G,E,Q,C,Q,S,C,C,C,ECd/C,EAAA,OAAA,CAAiB,KAAK,KAAA,CAAM,ioN,G,E,Q,C,Q,S,C,C,C,ECA5B,EAAA,OAAA,CAAiB,KAAK,KAAA,CAAM,63B,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,E,E,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,O,c,C,E,O,C,a,C,M,C,C,G,I,E,E,S,E,E,S,E,E,QEe5B,OAAM,EAAN,aAAA,CACE,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,EAqEF,CAnEE,aAAa,OAAO,CAAkB,CAAtC,CACE,IAAM,EAAkB,IAAI,EAE5B,OADA,MAAM,EAAgB,IAAA,CAAK,GACpB,CACT,CAEA,MAAM,KAAK,CAAkB,CAA7B,K,E,MAQM,EAPJ,GAAM,CAAA,WAAE,CAAA,CAAU,mBAAE,CAAA,CAAkB,iBAAE,CAAA,CAAkB,CAAG,EAEvD,EAAU,MAAM,EAAW,UAAjC,GACM,EAAkB,MAAA,EAAgB,KAAA,EAAhB,CAAgB,CAAG,EAAQ,CAMnD,GALA,EAAA,IAAI,CAAA,EAAqB,EAAgB,KACzC,EAAA,IAAI,CAAA,EAAu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,IAAK,IAAI,KAAK,EAAa,YAAN,GAAoB,OAAO,SAAA,CAAU,cAAA,CAAe,IAAA,CAAK,EAAS,IAAI,EAAgB,EAAS,EAAG,EAC3H,EACA,OAAO,cAAA,CAAe,EAAA,OAAA,CAAS,aAAc,CAAE,MAAO,CAAA,CAAK,GAC3D,EAAa,EAAA,SAAoB,EAAjC,OAAA,EACA,EAAa,EAAA,SAAoB,EAAjC,OAAA,EACA,EAAa,EAAA,SAAwB,EAArC,OAAA,EACA,EAAa,EAAA,SAAmB,EAAhC,OAAA,EACA,EAAa,EAAA,SAAsB,EAAnC,OAAA,EACA,EAAa,EAAA,SAAwB,EAArC,OAAA,C,G,E,Q,C,Q,S,C,C,C,E,a,O,c,C,E,O,C,a,C,M,C,C,G,E,O,C,6B,C,K,EEnBA,EAAA,OAAA,CAAA,6BAAA,CAAA,SACE,CAAkB,EAElB,OAAQ,AAAoE,KAAA,IAApE,EAAkD,aAAA,AAC5D,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,E,E,E,E,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,G,I,E,E,S,E,E,S,E,E,S,E,E,SESA,IAAA,EAAA,EAAA,EAAA,UACA,EAAA,EAAA,EAAA,UACA,EAAA,EAAA,EAAA,UACA,EAAA,EAAA,EAAA,UACA,EAAA,EAAA,EAAA,U,I,E,E,S,E,E,SAwBA,IAAA,EAAA,EAAA,EAAA,U,I,E,E,S,E,E,QASA,OAAM,EAAN,aAAA,CACE,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,I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M,IAAI,CAAC,kBAA1C,GAEA,OADA,IAAI,CAAC,mCAAA,CAAoC,EAAwB,GAC1D,EAAA,IAAI,CAAA,EAAA,KAAe,MAAA,CAAO,qBAAsB,CAAC,EAAuB,CACjF,CAEA,MAAM,kCAAN,CACE,GAAI,CAAC,EAAA,IAAI,CAAA,EAAA,KACP,MAAM,AAAI,MAAM,wBAElB,IAAM,EAAyB,MAAM,IAAI,CAAC,kBAA1C,GAEA,OADA,IAAI,CAAC,gCAAA,CAAiC,GAC/B,EAAA,IAAI,CAAA,EAAA,KAAe,MAAA,CAAO,qBAAsB,CAAC,EAAA,YAAA,CAAa,CACvE,CACD,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,O,c,C,E,O,C,a,C,M,C,C,G,I,E,E,S,E,E,S,E,I,Q,E,I,Q,E,I,QEDD,EAAA,OAAA,CAAA,OAAA,CAhEA,MAME,YAAY,CAAsB,CAAE,CAAiC,CAArE,CALA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GAEA,EAAA,GAAA,CAAA,IAAA,CAAQ,sEAGN,EAAA,IAAI,CAAA,EAAe,EAAU,KAC7B,EAAA,IAAI,CAAA,EAAiB,EAAY,IACnC,CAEQ,qBAAqB,CAAoB,CAAzC,CACN,IAAM,EAAiB,EAAA,IAAI,CAAA,EAAA,KAAa,SAAA,CAAU,GAClD,GAAI,CAAC,GAAkB,AAAA,CAAA,EAAA,EAAA,aAAA,AAAA,EAAc,GACnC,MAAM,AAAI,MAAM,iCAEpB,CAEQ,0BAA0B,CAAoB,CAAE,CAAuB,CAAvE,CACN,GAAI,AAAA,CAAA,EAAA,EAAA,UAAA,AAAA,EAAW,EA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UAA3B,GAEA,OADA,IAAI,CAAC,0BAAA,CAA2B,EAAe,GACxC,EAAA,IAAI,CAAA,EAAA,KAAe,MAAA,CAAO,eAAgB,CAAC,EAAc,CAClE,CAEA,MAAM,wBAAwB,CAAqB,CAAnD,CACE,GAAI,CAAC,EAAA,IAAI,CAAA,EAAA,KACP,MAAM,AAAI,MAAM,wBAElB,IAAI,CAAC,qBAAA,CAAsB,GAC3B,IAAM,EAAU,MAAM,IAAI,CAAC,UAA3B,GACM,EAAc,IAAI,CAAC,uBAAA,CAAwB,EAAe,GAC1D,EAAoB,AAAgB,IAAhB,EAAoB,EAAA,gBAAA,CAAmB,CAAO,CAAC,EAAc,EAAE,CACzF,OAAO,EAAA,IAAI,CAAA,EAAA,KAAe,MAAA,CAAO,gBAAiB,CAAC,EAAmB,EAAc,CACtF,CACD,C,G,E,Q,C,Q,S,C,C,C,E,a,I,E,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,O,c,C,E,O,C,a,C,M,C,C,G,I,E,E,S,E,E,S,E,I,Q,E,I,QEiED,EAAA,OAAA,CAAA,OAAA,CApIA,MAIE,YAAY,CAAsB,CAAE,CAAiC,CAArE,CAHA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GAGE,EAAA,IAAI,CAAA,EAAe,EAAU,KAC7B,EAAA,IAAI,CAAA,EAAiB,EAAY,IACnC,CAEQ,qBAAqB,CAAoB,CAAE,CAAqB,CAAhE,CACN,IAAM,EAAiB,EAAA,IAAI,CAAA,EAAA,KAAa,SAAA,CAAU,GAClD,GAAI,CAAC,GAAkB,AAAA,CAAA,EAAA,EAAA,mBAAA,AAAA,EAAoB,GACzC,MAAM,AAAI,MAAM,GAAgB,iCAEpC,CAEQ,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E,E,E,E,E,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,C,C,E,G,A,M,E,M,A,U,kC,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,2E,M,A,M,E,E,I,C,E,G,E,E,K,C,E,E,G,C,E,G,C,E,E,E,O,E,E,O,C,sB,E,S,C,C,C,C,C,C,C,E,G,A,M,G,C,E,M,A,U,iD,G,A,Y,O,E,I,G,C,E,C,E,G,C,G,M,A,U,4E,M,A,M,E,E,A,M,E,E,I,C,G,E,E,K,C,E,G,C,E,E,E,E,O,E,E,O,C,e,E,S,C,E,O,G,E,U,C,E,C,Q,C,C,E,O,c,C,E,O,C,a,C,M,C,C,G,I,E,E,S,E,E,SEjID,IAAA,EAAA,EAAA,EAAA,U,I,E,E,QAkDA,OAAM,EAAN,aAAA,CACE,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,GACA,EAAA,GAAA,CAAA,IAAA,CAAA,KAAA,EAwHF,CAtHE,aAAa,OAAO,CAAA,WAClB,CAAA,CAAU,YACV,EAAc,EAAA,iBAAA,CAAA,mBACd,EAAqB,CAAA,CAAA,CAAA,iBACrB,CAAA,CACkB,CALpB,CAME,IAAM,EAAiB,IAAI,EAE3B,OADA,MAAM,EAAe,IAAA,CAAK,CAAE,WAAA,EAAY,YAAA,EAAa,mBAAA,EAAoB,iBAAA,CAAgB,GAClF,CACT,CAEQ,MAAM,KAAK,CAAA,WACjB,CAAA,CAAU,YACV,CAAA,CAAW,mBACX,CAAA,CAAkB,iBAClB,CAAA,CACsB,CALhB,CAMN,EAAA,IAAI,CAAA,EAAe,EAAU,KAC7B,EAAA,IAAI,CAAA,EAAgB,EAAW,KAC/B,EAAA,IAAI,CAAA,EAAuB,EAAkB,KAC7C,EAAA,IAAI,CAAA,EAAqB,EAAgB,KACzC,IAAM,EAAU,MAAM,EAAA,IAAI,CAAA,EAAA,KAAa,UAAvC,GACM,EAAkB,MAAA,EAAgB,KAAA,EAAhB,CAAgB,CAA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L,OAAQ,EACV,EAGI,EAAY,SAAS,sBAAA,CAAuB,YAKvC,EAAI,EAAG,EAAI,EAAU,MAAA,CAAQ,IAAK,CAGvC,EADE,AAAgD,CAAA,IAAhD,EAAc,CAAS,CAAC,EAAE,CAAE,gBAClB,eAEA,kBAGd,IAAI,EAAS,CAAS,CAAC,EAAE,CAAC,YAA1B,CACA,EAAY,EAAU,MAAA,CAAO,EAAG,EAAU,MAAA,CAAO,GAO7C,AAHQ,CAAA,OAAO,UAAA,CAAa,EAAI,OAAO,UAAA,CAAa,OAAO,KAA/D,AAAA,GAGa,KAEX,CAAS,CAAC,EAAE,CAAC,KAAK,CAAC,EAAU,CAAG,CAAU,CAAC,EAAU,CAAG,KAExD,CAAU,CAAC,EAAU,EAAI,EATd,IAWP,AAAiD,CAAA,IAAjD,EAAc,CAAS,CAAC,EAAE,CAAE,kBAE9B,CAAS,CAAC,EAAE,CAAC,KAAK,CAAC,EAAU,CAAG,CAAiB,CAAC,EAAU,CAAG,KAE/D,CAAiB,CAAC,EAAU,EAAI,EAfvB,KAkBT,CAAS,CAAC,EAAE,CAAC,KAAK,CAAC,EAAU,CAAG,CAAkB,CAAC,EAAU,CAAG,KAEhE,CAAkB,CAAC,EAAU,EAAI,EApBxB,GAuBf,CAGA,OAAO,IAAI,AACb,EAmCA,EAAS,GAAA,CAAI,IAAA,CAAK,SAAA,CAAY,EAAS,GAAvC,CAGO,CACT,G,I,E,C,E,E,E,S,I,I,E,E,S,I,A,E,S,M,E,E,E,S,I,A,E,S,M,E,E,E,a,I,A,E,S,U,E,E,E,qB,I,I,E,E,Y,I,G,E,E,e,I,A,E,S,Y,E,E,E,W,I,A,E,S,Q,E,E,E,kB,I,A,E,S,e,E,E,E,Y,I,A,E,S,S,E,E,E,c,I,A,E,S,W,E,E,E,Y,I,G,E,E,S,I,A,E,S,S,E,E,E,Q,I,E,U,E,E,Y,I,A,E,S,S,E,E,E,U,I,I,E,E,W,I,A,E,S,Q,E,E,S,I,E,E,S,E,S,I,E,E,S,E,E,S,E,C,E,E,E,c,I,G,E,E,c,I,A,E,S,W,E,E,E,O,I,A,E,S,I,E,E,E,M,I,A,E,S,G,E,E,E,M,I,A,E,S,G,E,E,E,c,I,A,E,S,W,E,E,E,a,I,A,E,S,U,E,E,E,Y,I,A,E,S,S,E,E,E,Y,I,A,E,S,S,E,E,E,W,I,A,E,S,Q,E,E,E,c,I,GQ5bO,MAAM,EAAc,6C,E,S,I,E,E,QFA3B,CAAA,aICO,MAAM,EAAc,I,I,E,C,E,E,E,qB,I,I,E,E,W,I,A,E,S,Q,E,E,E,e,I,E,Y,E,E,E,W,I,E,Q,E,E,E,qB,I,G,kB,E,E,E,mB,I,G,gB,E,E,E,kB,I,I,E,E,2B,I,I,E,E,e,I,I,E,E,qB,I,G,kB,E,E,E,oB,I,G,iB,E,E,E,iB,I,I,E,E,0B,I,I,E,E,kB,I,G,e,E,E,E,uB,I,I,E,E,oB,I,I,E,E,iB,I,I,E,E,wB,I,G,qB,E,E,E,e,I,I,E,E,oB,I,G,iB,E,E,E,c,I,I,E,E,gB,I,G,a,E,E,E,a,I,G,E,E,sB,I,I,E,E,yB,I,I,E,E,sB,I,I,E,E,Y,I,GID3B,CAAA,a,I,E,E,S,E,E,SAIA,MAAM,EAAS,IAAI,EAAA,MAAA,CEJI,kBFuBvB,SAAS,EAAmB,CAAyB,EACjD,IAAM,EAAO,SAAS,CAAc,CAAE,CAAa,EAChC,MAAX,GAAmB,CAAA,EAAU,CAAA,CAAA,EACjC,IAAM,EAA2B,EAAE,CAEnC,GAAI,EAAU,cAAA,EAAkB,AAAmB,MAAnB,EAAQ,MAAA,CACpC,GAAI,CACA,EAAa,IAAA,CAAK,IAAI,EAAU,cAAA,CAAe,EAAS,EAAQ,MAAhE,EACH,CAAC,MAAM,EAAO,CAAA,CAGnB,GAAI,EAAU,iBAAA,EAAqB,AAAsB,MAAtB,EAAQ,SAAA,CACvC,GAAI,CACA,EAAa,IAAA,CAAK,IAAI,EAAU,iBAAA,CAAkB,EAAS,EAAQ,SAAnE,EACH,CAAC,MAAM,EAAO,CAAA,CAGnB,GAAI,EAAU,eAAA,EAAmB,AAAoB,MAApB,EAAQ,OAAA,CACrC,GAAI,CACA,EAAa,IAAA,CAAK,IAAI,EAAU,eAAA,CAAgB,EAAS,EAAQ,OAAjE,EACH,CAAC,MAAM,EAAO,CAAA,CAGnB,GAAI,EAAU,cAAA,EAAkB,AAAmB,MAAnB,EAAQ,MAAA,CAMpC,GAAI,CACA,IAAM,EAAW,IAAI,EAAU,cAAA,CAAe,EAAS,EAAQ,MAA/D,CACI,CAAA,EAAS,OAAA,EAAW,AAAwC,KAAxC,AAHf,CAAE,SAAU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AAI,EAAM,GAAA,GAAQ,GAAY,EAAM,QAAA,EAAY,KAC5C,IACJ,EAAQ,CAAA,EACR,EAAQ,IAAA,CAAK,GACN,CAAA,IAGX,EAAQ,OAAA,CAAQ,AAAC,IAAY,IAAI,CAAC,UAAA,CAAW,EAAQ,GAE9C,IAAI,AACf,CAEA,mBAAmB,CAAqB,CAAxC,CACI,IAAI,EAAwB,EAAG,CAC/B,GAAI,AAAa,MAAb,EACA,EAAU,IAAI,CAAC,OAAf,CAEA,IAAI,CAAC,OAAA,CAAU,EAAG,KACf,CACH,IAAM,EAAW,GAAY,EAC7B,CAAA,IAAI,CAAC,OAAA,CAAU,IAAI,CAAC,OAAA,CAAQ,MAAA,CAAO,AAAC,GAChC,AAAI,EAAM,GAAA,GAAQ,IAClB,EAAQ,IAAA,CAAK,GACN,CAAA,GAEd,CAID,OAFA,EAAQ,OAAA,CAAQ,AAAC,IAAY,IAAI,CAAC,UAAA,CAAW,EAAQ,GAE9C,IAAI,AACf,CACH,C,I,G,E,S,G,C,E,E,G,oB,I,I,I,E,E,S,G,E,S,G,C,E,E,G,gB,I,I,E,G,kB,I,GWxqED,CAAA,a,I,E,E,S,E,E,S,G,E,S,G,E,S,G,E,S,G,E,S,G,E,S,G,E,S,E,E,S,G,S,C,C,C,C,C,C,C,E,O,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,E,EAiBA,MAAM,GAAS,IAAI,EAAA,MAAA,CAAO,IAKpB,GAAW,CAAE,OAAQ,cAAe,CAE1C,SAAS,GAAQ,CAAU,CAAE,CAAoB,EAC7C,GAAI,AAAS,MAAT,EAAiB,OAAO,KAG5B,GAAI,AAA0B,UAA1B,OAAO,EAAM,OAAA,EAAyB,EAAM,OAAA,CAAQ,KAAA,CAAM,YAAa,CACvE,IAAM,EAAO,AAAA,CAAA,EAAA,GAAA,WAAA,AAAA,EAAY,EAAM,IAAA,EAAQ,EAAM,IAAA,CAAM,KACnD,GAAI,CAAC,GAAe,EAChB,MAAO,CAAE,QAAS,EAAM,OAAf,CAAwB,KAAA,CAAI,CAE5C,CAGD,GAAI,AAAkB,UAAlB,OAAO,EAAqB,CAC5B,IAAK,IAAM,KAAO,EAAO,CACrB,IAAM,EAAS,GAAQ,CAAK,CAAC,EAAI,CAAE,GACnC,GAAI,EAAU,OAAO,CACxB,CACD,OAAO,IACV,CAGD,GAAI,AAAkB,UAAlB,OAAO,EACP,GAAI,CACA,OAAO,GAAQ,KAAK,KAAA,CAAM,GAAQ,EACrC,CAAC,MAAO,EAAO,CAAA,CAGpB,OAAO,IACX,CAEA,SAAS,GAAW,CAAc,CAAE,CAAU,CAAE,CAAW,EAEvD,IAAM,EAAc,EAAO,WAAA,EAAe,EAAO,iBAAjD,CAIA,GAAI,AAAW,SAAX,EAAmB,CACnB,IAAM,EAAS,GAAQ,EAAO,CAAA,GAC9B,GAAI,EAAU,OAAO,EAAO,IAA5B,CAGA,GAAO,UAAA,CAAW,sFAAuF,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,cAAA,CAAgB,CACnI,KAAM,KAAM,YAAA,EAAa,MAAA,CAC5B,EACJ,CAED,GAAI,AAAW,gBAAX,EAA0B,CAE1B,IAAI,EAAS,GAAQ,EAAM,IAAA,CAAM,CAAA,EACnB,OAAV,GAAkB,CAAA,EAAS,GAAQ,EAAO,CAAA,EAA9C,EAGI,GACA,GAAO,UAAA,CAAW,4EAA6E,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,uBAAA,CAAyB,CAClI,OAAQ,EAAO,OAAf,CAAwB,OAAA,EAAQ,YAAA,EAAa,MAAA,CAChD,EAER,CAID,IAAI,EAAU,EAAM,OAApB,AA4CA,OA3CI,EAAM,IAAA,GAAS,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,YAAA,EAAgB,EAAM,KAAA,EAAS,AAAgC,UAAhC,OAAO,EAAM,KAAA,CAAM,OAAA,CAC/E,EAAU,EAAM,KAAA,CAAM,OAD1B,CAEW,AAAuB,UAAvB,OAAO,EAAM,IAAA,CACpB,EAAU,EAAM,IADb,CAEmC,UAA/B,OAAO,EAAM,YAAA,EACpB,CAAA,EAAU,EAAM,YADb,AAAA,EAMH,AAHJ,CAAA,EAAU,AAAC,CAAA,GAAW,EAAA,EAAI,WAA1B,EAAA,EAGY,KAAA,CAAM,qEACd,GAAO,UAAA,CAAW,oDAAqD,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,kBAAA,CAAoB,CACrG,MAAA,EAAO,OAAA,EAAQ,YAAA,CAClB,GAID,EAAQ,KAAA,CAAM,yBACd,GAAO,UAAA,CAAW,8BAA+B,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,aAAA,CAAe,CAC1E,MAAA,EAAO,OAAA,EAAQ,YAAA,CAClB,GAID,EAAQ,KAAA,CAAM,wEACd,GAAO,UAAA,CAAW,0BAA2B,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,uBAAA,CAAyB,CAChF,MAAA,EAAO,OAAA,EAAQ,YAAA,CAClB,GAID,EAAQ,KAAA,CAAM,2BACd,GAAO,UAAA,CAAW,gDAAiD,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,qBAAA,CAAuB,CACpG,MAAA,EAAO,OAAA,EAAQ,YAAA,CAClB,GAGD,GAAS,OAAA,CAAQ,IAAW,GAAK,EAAQ,KAAA,CAAM,wFAC/C,GAAO,UAAA,CAAW,4EAA6E,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,uBAAA,CAAyB,CAClI,MAAA,EAAO,OAAA,EAAQ,YAAA,CAClB,GAGC,CACV,CAEA,SAAS,GAAM,CAAe,EAC1B,OAAO,IAAI,QAAQ,SAAS,CAAO,EAC/B,WAAW,EAAS,EACxB,EACJ,CAEA,SAAS,GAAU,CAAkF,EACjG,GAAI,EAAQ,KAAA,CAAO,CAEf,IAAM,EAAa,AAAI,MAAM,EAAQ,KAAA,CAAM,OAA3C,CAGA,OAFA,EAAM,IAAA,CAAO,EAAQ,KAAA,CAAM,IAA3B,CACA,EAAM,IAAA,CAAO,EAAQ,KAAA,CAAM,IAA3B,CACM,CACT,CAED,OAAO,EAAQ,MAAf,AACJ,CAEA,SAAS,GAAa,CAAa,SAC/B,AAAI,EAAgB,EAAM,WAA1B,GACO,CACX,CAEA,MAAM,GAAoB,CAAA,CAEpB,OAAO,WAAsB,EAAA,MAAA,CAK/B,YAAY,CAAqB,CAAE,CAAyB,CAAE,CAAgC,CAA9F,CAGI,GAFA,KAAK,GAED,IAAqB,GACrB,MAAM,AAAI,MAAM,8EAGpB,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,WAAY,GAEX,MAAlB,GAA0B,CAAA,EAAiB,CAAA,EAE3C,AAA2B,UAA3B,OAAO,GACP,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,WAAY,IAAI,CAAC,QAAA,CAAS,SAAA,CAAU,OAAA,CAAQ,IACjE,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,SAAU,OAExB,AAA2B,UAA3B,OAAO,GACd,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,SAAU,GAC/B,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,WAAY,OAGjC,GAAO,kBAAA,CAAmB,2BAA4B,iBAAkB,EAEhF,CAEA,QAAQ,CAAkB,CAA1B,CACI,OAAO,GAAO,UAAA,CAAW,0CAA2C,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,qBAAA,CAAuB,CACrG,UAAW,SACd,EACL,CAEA,kBAAA,CACI,OAAO,IAAI,GAAuB,GAAmB,IAAI,CAAC,QAAA,CAAU,IAAI,CAAC,QAAA,EAAY,IAAI,CAAC,MAA1F,CACJ,CAEA,YAAA,QACI,AAAI,IAAI,CAAC,QAAA,CACE,QAAQ,OAAA,CAAQ,IAAI,CAAC,QADhC,EAIO,IAAI,CAAC,QAAA,CAAS,IAAA,CAAK,eAAgB,EAAE,EAAE,IAAA,CAAK,AAAC,IAC5C,EAAS,MAAA,EAAU,IAAI,CAAC,MAAA,EACxB,GAAO,UAAA,CAAW,oBAAsB,IAAI,CAAC,MAAA,CAAQ,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,qBAAA,CAAuB,CACtF,UAAW,YACd,GAEE,IAAI,CAAC,QAAA,CAAS,SAAA,CAAU,OAAA,CAAQ,CAAQ,CAAC,IAAI,CAAC,MAAA,CAAO,GAEpE,CAEA,yBAAyB,CAA2C,CAApE,CACI,EAAc,AAAA,CAAA,EAAA,GAAA,WAAA,AAAA,EAAY,GAE1B,IAAM,EAAc,IAAI,CAAC,UAAA,GAAa,IAAA,CAAK,AAAC,IACpC,GAAW,CAAA,EAAU,EAAQ,WAAjC,EAAA,EACO,IAMX,GAAI,AAAwB,MAAxB,EAAY,QAAA,CAAkB,CAC9B,IAAM,EAAW,AAAA,CAAA,EAAA,GAAA,WAAA,AAAA,EAAY,EAC7B,CAAA,EAAS,IAAA,CAAO,EAChB,EAAY,QAAA,CAAW,IAAI,CAAC,QAAA,CAAS,WAAA,CAAY,EACpD,CAaD,OAXsB,MAAlB,EAAY,EAAA,EACZ,CAAA,EAAY,EAAA,CAAK,QAAQ,OAAA,CAAQ,EAAY,EAAA,EAAI,IAAA,CAAK,AAAO,GAA7D,GAAA,IAAA,CAAA,KAAA,EAAA,KAAA,EAAA,YACI,GAAI,AAAM,MAAN,EAAc,OAAO,KACzB,IAAM,EAAU,MAAM,IAAI,CAAC,QAAA,CAAS,WAAA,CAAY,GAIhD,OAHe,MAAX,GACA,GAAO,kBAAA,CAAmB,qCAAsC,QAAS,GAEtE,CACX,GAAA,EAGG,AAAA,CAAA,EAAA,GAAA,iBAAA,AAAA,EAAkB,CACrB,GAAI,AAAA,CAAA,EAAA,GAAA,iBAAA,AAAA,EAAkB,GACtB,OAAQ,CACX,GAAE,IAAA,CAAK,CAAC,CAAA,GAAE,CAAA,CAAE,OAAE,CAAA,CAAQ,IAEf,AAAW,MAAX,EAAG,IAAA,CACC,EAAG,IAAA,CAAK,WAAA,KAAkB,GAC1B,GAAO,kBAAA,CAAmB,wBAAyB,cAAe,GAGtE,EAAG,IAAA,CAAO,EAGd,IAAM,EAAc,IAAI,CAAC,QAAA,CAAS,WAAA,CAAa,kBAAA,CAAmB,EAAI,CAAE,KAAM,CAAA,CAAI,GAElF,OAAO,IAAI,CAAC,QAAA,CAAS,IAAA,CAAK,sBAAuB,CAAE,EAAO,EAAE,IAAA,CAAK,AAAC,GACvD,EACR,AAAC,IAC8B,UAA1B,OAAO,EAAM,OAAA,EAAyB,EAAM,OAAA,CAAQ,KAAA,CAAM,iBAC1D,GAAO,UAAA,CAAW,4BAA6B,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,eAAA,CAAiB,CAC1E,OAAQ,kBACR,YAAa,CAChB,GAGE,GAAW,kBAAmB,EAAO,IAEpD,EACJ,CAEA,gBAAgB,CAA2C,CAA3D,CACI,OAAO,GAAO,UAAA,CAAW,sCAAuC,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,qBAAA,CAAuB,CACjG,UAAW,iBACd,EACL,CAEM,gBAAgB,CAA2C,CAA3D,C,O,G,I,C,K,E,K,E,YAEF,IAAM,EAAc,MAAM,IAAI,CAAC,QAAA,CAAS,uBAAA,CAAwB,IAAM,EAAI,IAAI,CAAC,QAAA,CAAS,eAAxF,EAGM,EAAO,MAAM,IAAI,CAAC,wBAAA,CAAyB,GAEjD,GAAI,CAIA,OAAO,KAAM,AAAA,CAAA,EAAA,GAAA,IAAA,AAAA,EAAK,IAAlB,GAAA,IAAA,CAAA,KAAA,EAAA,KAAA,EAAA,YACI,IAAM,EAAK,MAAM,IAAI,CAAC,QAAA,CAAS,cAAA,CAAe,GAC9C,GAAI,AAAO,OAAP,EACJ,OAAO,IAAI,CAAC,QAAA,CAAS,gBAAA,CAAiB,EAAI,EAAM,EACpD,GAAG,CAAE,SAAU,IAAI,CAAC,QAAf,AAAuB,EAC/B,CAAC,MAAO,EAAO,CAEZ,MADM,EAAO,eAAA,CAAkB,EACzB,CACT,CACL,EAAC,CAEK,YAAY,CAAuB,CAAnC,C,O,G,I,C,K,E,K,E,YACF,IAAM,EAAS,AAAoB,UAApB,OAAO,EAAyB,AAAA,CAAA,EAAA,GAAA,WAAA,AAAA,EAAY,GAAU,EAC/D,EAAU,MAAM,IAAI,CAAC,UAA3B,GACA,GAAI,CACA,OAAO,MAAM,IAAI,CAAC,QAAA,CAAS,IAAA,CAAK,gBAAiB,CAAE,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,EAAQ,GAAO,EAAQ,WAAR,GAAuB,CAC5F,CAAC,MAAO,EAAO,CAQZ,KAP8B,UAA1B,OAAO,EAAM,OAAA,EAAyB,EAAM,OAAA,CAAQ,KAAA,CAAM,iBAC1D,GAAO,UAAA,CAAW,wBAAyB,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,eAAA,CAAiB,CACtE,OAAQ,cACR,KAAM,EACN,YAAa,CAChB,GAEC,CACT,CACL,EAAC,CAEK,mBAAmB,CAAuB,CAA1C,C,O,G,I,C,K,E,K,E,YACF,IAAM,EAAS,AAAoB,UAApB,OAAO,EAAyB,AAAA,CAAA,EAAA,GAAA,WAAA,AAAA,EAAY,GAAU,EAC/D,EAAU,MAAM,IAAI,CAAC,UAA3B,GAEA,GAAI,CAEA,OAAO,MAAM,IAAI,CAAC,QAAA,CAAS,IAAA,CAAK,WAAY,CAAE,EAAQ,WAAR,GAAuB,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,EAAQ,GAAO,CACvF,CAAC,MAAO,EAAO,CAQZ,KAP8B,UAA1B,OAAO,EAAM,OAAA,EAAyB,EAAM,OAAA,CAAQ,KAAA,CAAM,iBAC1D,GAAO,UAAA,CAAW,wBAAyB,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,eAAA,CAAiB,CACtE,OAAQ,qBACR,KAAM,EACN,YAAa,CAChB,GAEC,CACT,CACL,EAAC,CAEK,eAAe,CAAuB,CAAE,CAA4C,CAAE,CAA0B,CAAhH,C,O,G,I,C,K,E,K,E,YAEF,IAAM,EAAY,KAAM,AAAA,CAAA,EAAA,GAAA,gBAAA,AAAA,EAAkB,YAAA,CAAa,EAAQ,EAAO,EAAO,AAAC,GACnE,IAAI,CAAC,QAAA,CAAS,WAAA,CAAY,IAG/B,EAAU,MAAM,IAAI,CAAC,UAA3B,GAEA,GAAI,CACA,OAAO,MAAM,IAAI,CAAC,QAAA,CAAS,IAAA,CAAK,uBAAwB,CACpD,EAAQ,WAAR,GACA,KAAK,SAAA,CAAU,AAAA,CAAA,EAAA,GAAA,gBAAA,AAAA,EAAkB,UAAA,CAAW,EAAU,MAAA,CAAQ,EAAO,EAAU,KAA/E,GACH,CACJ,CAAC,MAAO,EAAO,CAQZ,KAP8B,UAA1B,OAAO,EAAM,OAAA,EAAyB,EAAM,OAAA,CAAQ,KAAA,CAAM,iBAC1D,GAAO,UAAA,CAAW,wBAAyB,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,eAAA,CAAiB,CACtE,OAAQ,iBACR,KAAM,EACN,YAAa,CAAE,OAAQ,EAAU,MAAlB,CAA0B,MAAA,EAAO,MAAO,EAAU,KAAjB,AAAsB,CACzE,GAEC,CACT,CACL,EAAC,CAEK,OAAO,CAAgB,CAAvB,C,O,G,I,C,K,E,K,E,YACF,IAAM,EAAW,IAAI,CAAC,QAAtB,CAEM,EAAU,MAAM,IAAI,CAAC,UAA3B,GAEA,OAAO,EAAS,IAAA,CAAK,yBAA0B,CAAE,EAAQ,WAAR,GAAuB,EAAU,KAAM,CAC5F,EAAC,CACJ,CAED,MAAM,WAA+B,GACjC,gBAAgB,CAA2C,CAA3D,CACI,OAAO,IAAI,CAAC,wBAAA,CAAyB,GAAa,IAAA,CAAK,AAAC,GACxB,CAAA,CACxB,KAAM,EACN,MAAO,KACP,SAAU,KACV,SAAU,KACV,KAAM,KACN,MAAO,KACP,QAAS,KACT,cAAe,EACf,KAAM,KACN,KAAM,AAAC,GAAoC,IAAI,CAAC,QAAA,CAAS,kBAAA,CAAmB,EAAM,EACrF,CAAA,EAET,CACH,CAED,MAAM,GAAuD,CACzD,QAAS,CAAA,EAAM,KAAM,CAAA,EAAM,SAAU,CAAA,EAAM,SAAS,CAAA,EAAM,MAAO,CAAA,EAAM,GAAI,CAAA,EAAM,MAAO,CAAA,EACxF,KAAM,CAAA,EAAM,WAAY,CAAA,EACxB,aAAc,CAAA,EAAM,qBAAsB,CAAA,CAC7C,CAEK,OAAO,WAAwB,EAAA,YAAA,CAiBjC,YAAY,CAA6B,CAAE,CAAoB,CAA/D,CACI,IAAI,EAAgD,CAG9B,OAAlB,GACA,CAAA,EAAiB,IAAI,QAAQ,CAAC,EAAS,KACnC,WAAW,KACP,IAAI,CAAC,aAAA,GAAgB,IAAA,CAAK,AAAC,IACvB,EAAQ,EACZ,EAAG,AAAC,IACA,EAAO,EACX,EACJ,EAAG,EACP,EAAA,EAGJ,KAAK,CAAC,GAGD,GAAO,CAAA,EAAM,AAAA,CAAA,EAAA,GAAA,SAAA,AAAA,EAAwB,IAAI,CAAC,WAAA,CAAa,eAA5D,EAEI,AAAgB,UAAhB,OAAO,EACP,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,aAAa,OAAO,MAAA,CAAO,CAC5C,IAAK,CACR,IAED,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,aAAc,OAAO,MAAA,CAAO,AAAA,CAAA,EAAA,GAAA,WAAA,AAAA,EAAY,KAGjE,IAAI,CAAC,OAAA,CAAU,EACnB,CArCA,IAAI,QAAJ,CAII,OAH4B,MAAxB,IAAI,CAAC,eAAA,EACL,CAAA,IAAI,CAAC,eAAA,CAAkB,CAAA,CAAA,EAEpB,IAAI,CAAC,eAAZ,AACJ,CAkCA,OAAO,YAAP,CACI,MAAO,uBACX,CAEA,eAAA,CASI,OARK,IAAI,CAAC,MAAM,CAAC,aAAgB,GAC7B,IAAI,CAAC,MAAM,CAAC,aAAgB,CAAG,IAAI,CAAC,sBAApC,GAGA,WAAW,KACP,IAAI,CAAC,MAAM,CAAC,aAAgB,CAAG,IACnC,EAAG,IAEA,IAAI,CAAC,MAAM,CAAC,aAAgB,AACvC,CAEM,wBAAA,C,O,G,I,C,K,E,K,E,YACF,MAAM,GAAM,GAEZ,IAAI,EAAU,KACd,GAAI,CACA,EAAU,MAAM,IAAI,CAAC,IAAA,CAAK,cAAe,EAAG,CAC/C,CAAC,MAAO,EAAO,CACZ,GAAI,CACA,EAAU,MAAM,IAAI,CAAC,IAAA,CAAK,cAAe,EAAG,CAC/C,CAAC,MAAO,EAAO,CAAA,CACnB,CAED,GAAI,AAAW,MAAX,EAAiB,CACjB,IAAM,EAAa,AAAA,CAAA,EAAA,GAAA,SAAA,AAAA,EAA4C,IAAI,CAAC,WAAA,CAAa,cACjF,GAAI,CACA,OAAO,EAAW,AAAA,CAAA,EAAA,EAAA,SAAA,AAAA,EAAU,IAAA,CAAK,GAAS,QAA1C,GACH,CAAC,MAAO,EAAO,CACZ,OAAO,GAAO,UAAA,CAAW,2BAA4B,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,aAAA,CAAe,CAC9E,QAAS,EACT,MAAO,iBACP,YAAa,CAChB,EACJ,CACJ,CAED,OAAO,GAAO,UAAA,CAAW,2BAA4B,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,aAAA,CAAe,CAC9E,MAAO,WACV,EACL,EAAC,CAED,UAAU,CAAgC,CAA1C,CACI,OAAO,IAAI,GAAc,GAAmB,IAAI,CAAE,EACtD,CAEA,mBAAmB,CAAgC,CAAnD,CACI,OAAO,IAAI,CAAC,SAAA,CAAU,GAAgB,gBAAtC,EACJ,CAEA,cAAA,CACI,OAAO,IAAI,CAAC,IAAA,CAAK,eAAgB,EAAE,EAAE,IAAA,CAAK,AAAC,GAChC,EAAS,GAAA,CAAI,AAAC,GAAM,IAAI,CAAC,SAAA,CAAU,OAAA,CAAQ,IAE1D,CAEA,KAAK,CAAc,CAAE,CAAkB,CAAvC,CACI,IAAM,EAAU,CACZ,OAAQ,EACR,OAAQ,EACR,GAAK,IAAI,CAAC,OAAV,GACA,QAAS,KACZ,EAED,IAAI,CAAC,IAAA,CAAK,QAAS,CACf,OAAQ,UACR,QAAS,AAAA,CAAA,EAAA,GAAA,QAAA,AAAA,EAAS,GAClB,SAAU,IAAI,AACjB,GAID,IAAM,EAAS,CAAE,cAAe,kBAAmB,CAAC,OAAA,CAAQ,IAAW,EACvE,GAAI,GAAS,IAAI,CAAC,MAAM,CAAC,EAAO,CAC5B,OAAO,IAAI,CAAC,MAAM,CAAC,EAAO,CAG9B,IAAM,EAAS,AAAA,CAAA,EAAA,GAAA,SAAA,AAAA,EAAU,IAAI,CAAC,UAAA,CAAY,KAAK,SAAA,CAAU,GAAU,IAAW,IAAA,CAAK,AAAC,IAChF,IAAI,CAAC,IAAA,CAAK,QAAS,CACf,OAAQ,WACR,QAAS,EACT,SAAU,EACV,SAAU,IAAI,AACjB,GAEM,GAER,AAAC,IAQA,MAPA,IAAI,CAAC,IAAA,CAAK,QAAS,CACf,OAAQ,WACR,MAAO,EACP,QAAS,EACT,SAAU,IAAI,AACjB,GAEK,CACV,GAUA,OAPI,IACA,IAAI,CAAC,MAAM,CAAC,EAAO,CAAG,EACtB,WAAW,KACP,IAAI,CAAC,MAAM,CAAC,EAAO,CAAG,IAC1B,EAAG,IAGA,CACX,CAEA,eAAe,CAAc,CAAE,CAAW,CAA1C,CACI,OAAQ,GACJ,IAAK,iBACD,MAAO,CAAE,kBAAmB,EAAE,CAAE,AAEpC,KAAK,cACD,MAAO,CAAE,eAAgB,EAAE,CAAE,AAEjC,KAAK,aACD,MAAO,CAAE,iBAAkB,CAAE,GAAa,EAAO,OAApB,EAA8B,EAAO,QAAP,CAAiB,CAAE,AAElF,KAAK,sBACD,MAAO,CAAE,0BAA2B,CAAE,GAAa,EAAO,OAApB,EAA8B,EAAO,QAAP,CAAiB,CAAE,AAE3F,KAAK,UACD,MAAO,CAAE,cAAe,CAAE,GAAa,EAAO,OAApB,EAA8B,EAAO,QAAP,CAAiB,CAAE,AAE/E,KAAK,eACD,MAAO,CAAE,mBAAoB,CAAE,GAAa,EAAO,OAApB,EAA8B,AAAA,CAAA,EAAA,GAAA,UAAA,AAAA,EAAW,EAAO,QAAA,CAAU,IAAK,EAAO,QAAP,CAAiB,CAAE,AAErH,KAAK,kBACD,MAAO,CAAE,yBAA0B,CAAE,EAAO,iBAAP,CAA0B,CAAE,AAErE,KAAK,WACD,GAAI,EAAO,QAAA,CACP,MAAO,CAAE,uBAAwB,CAAE,EAAO,QAAP,CAAiB,CAAC,CAAC,EAAO,mBAAT,CAA8B,CAAE,CACjF,GAAI,EAAO,SAAA,CACd,MAAO,CAAE,qBAAsB,CAAE,EAAO,SAAP,CAAkB,CAAC,CAAC,EAAO,mBAAT,CAA8B,CAAE,CAEvF,KAEJ,KAAK,iBACD,MAAO,CAAE,2BAA4B,CAAE,EAAO,eAAP,CAAwB,CAAE,AAErE,KAAK,wBACD,MAAO,CAAE,4BAA6B,CAAE,EAAO,eAAP,CAAwB,CAAE,AAEtE,KAAK,OAAQ,CACT,IAAM,EAAqB,AAAA,CAAA,EAAA,GAAA,SAAA,AAAA,EAAgG,IAAI,CAAC,WAAA,CAAa,sBAC7I,MAAO,CAAE,WAAY,CAAE,EAAmB,EAAO,WAAA,CAAa,CAAE,KAAM,CAAA,CAAI,GAAK,EAAO,QAAP,CAAiB,CAAE,AACrG,CAED,IAAK,cAAe,CAChB,IAAM,EAAqB,AAAA,CAAA,EAAA,GAAA,SAAA,AAAA,EAAgG,IAAI,CAAC,WAAA,CAAa,sBAC7I,MAAO,CAAE,kBAAmB,CAAE,EAAmB,EAAO,WAAA,CAAa,CAAE,KAAM,CAAA,CAAI,GAAK,CAAE,AAC3F,CAED,IAAK,UAID,OAHI,EAAO,MAAA,EAAU,AAAyB,MAAzB,EAAO,MAAA,CAAO,OAAA,EAC/B,CAAA,EAAO,MAAA,CAAO,OAAA,CAAU,GAAa,EAAO,MAAA,CAAO,OADvD,CAAA,EAGO,CAAE,cAAe,CAAE,EAAO,MAAP,CAAe,CAAE,AAIlD,CAED,OAAO,IACX,CAEM,QAAQ,CAAc,CAAE,CAAW,CAAnC,C,O,G,I,C,K,E,K,E,YAGF,GAAI,AAAW,SAAX,GAAqB,AAAW,gBAAX,EAA0B,CAC/C,IAAM,EAAK,EAAO,WAAlB,CACA,GAAI,GAAM,AAAW,MAAX,EAAG,IAAA,EAAgB,AAAA,CAAA,EAAA,EAAA,SAAA,AAAA,EAAU,IAAA,CAAK,EAAG,IAAA,EAAM,MAAA,IAE7C,AAAmB,MAAnB,EAAG,YAAA,EAAwB,AAA2B,MAA3B,EAAG,oBAAA,CAA8B,CAC5D,IAAM,EAAU,MAAM,IAAI,CAAC,UAA3B,EAC4B,OAAxB,EAAQ,YAAA,EAAwB,AAAgC,MAAhC,EAAQ,oBAAA,GAGxC,AADA,CAAA,EAAS,AAAA,CAAA,EAAA,GAAA,WAAA,AAAA,EAAY,EAArB,EACO,WAAA,CAAc,AAAA,CAAA,EAAA,GAAA,WAAA,AAAA,EAAY,GACjC,OAAO,EAAO,WAAA,CAAY,IAA1B,CAEP,CAER,CAED,IAAM,EAAO,IAAI,CAAC,cAAA,CAAe,EAAS,EAE9B,OAAR,GACA,GAAO,UAAA,CAAW,EAAS,mBAAoB,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,eAAA,CAAiB,CAAE,UAAW,CAAM,GAErG,GAAI,CACA,OAAO,MAAM,IAAI,CAAC,IAAA,CAAK,CAAI,CAAC,EAAE,CAAE,CAAI,CAAC,EAAE,CAC1C,CAAC,MAAO,EAAO,CACZ,OAAO,GAAW,EAAQ,EAAO,EACpC,CACL,EAAC,CAED,YAAY,CAAY,CAAxB,CACsB,YAAd,EAAM,GAAA,EAAqB,IAAI,CAAC,aAApC,GACA,KAAK,CAAC,YAAY,EACtB,CAEA,eAAA,CACI,GAAI,AAAuB,MAAvB,IAAI,CAAC,cAAA,CAA0B,OACnC,IAAM,EAAO,IAAI,CAEX,EAAiC,IAAI,CAAC,IAAA,CAAK,kCAAmC,EAAE,CACtF,CAAA,IAAI,CAAC,cAAA,CAAiB,EAEtB,EAAc,IAAA,CAAK,SAAS,CAAQ,EAgChC,OAFA,AA7BA,SAAS,IACL,EAAK,IAAA,CAAK,uBAAwB,CAAE,EAAU,EAAE,IAAA,CAAK,SAAS,CAAqB,EAC/E,GAAI,EAAK,cAAA,EAAkB,EAAiB,OAAO,KAEnD,IAAI,EAAM,QAAQ,OAAlB,GAYA,OAXA,EAAO,OAAA,CAAQ,SAAS,CAAI,EAExB,EAAK,QAAQ,CAAC,KAAO,EAAK,WAAA,GAAc,CAAG,UAC3C,EAAM,EAAI,IAAA,CAAK,WACX,OAAO,EAAK,cAAA,CAAe,GAAM,IAAA,CAAK,SAAS,CAAE,EAE7C,OADA,EAAK,IAAA,CAAK,UAAW,GACd,IACX,EACJ,EACJ,GAEO,EAAI,IAAA,CAAK,WACZ,OAAO,GAAM,IACjB,EACJ,GAAG,IAAA,CAAK,WACJ,GAAI,EAAK,cAAA,EAAkB,EAAe,CACtC,EAAK,IAAA,CAAK,sBAAuB,CAAE,EAAU,EAC7C,MACH,CAGD,OAFA,WAAW,WAAa,GAAQ,EAAG,GAE5B,IACX,GAAG,KAAA,CAAM,AAAC,IAAmB,EACjC,IAGO,CACX,GAAG,KAAA,CAAM,AAAC,IAAmB,EACjC,CAEA,WAAW,CAAY,CAAvB,CACsB,YAAd,EAAM,GAAA,EAAqB,AAAkC,IAAlC,IAAI,CAAC,aAAA,CAAc,YAC9C,CAAA,IAAI,CAAC,cAAA,CAAiB,IAD1B,EAGA,KAAK,CAAC,WAAW,EACrB,CAWA,OAAO,mBAAmB,CAA+B,CAAE,CAAuC,CAAlG,CAEI,IAAM,EAAU,AAAA,CAAA,EAAA,GAAA,WAAA,AAAA,EAAY,IAC5B,GAAI,EACA,IAAK,IAAM,KAAO,EACV,CAAU,CAAC,EAAI,EAAI,CAAA,CAAO,CAAC,EAAI,CAAG,CAAA,CAD1C,EAKJ,AAAA,CAAA,EAAA,GAAA,eAAA,AAAA,EAAgB,EAAa,GAE7B,IAAM,EAAiD,CAAA,EAmBvD,MAhBA,CAAC,UAAW,WAAY,WAAY,OAAQ,eAAgB,uBAAwB,QAAS,QAAQ,CAAC,OAAA,CAAQ,SAAS,CAAG,EACtH,GAAU,AAAqB,MAArB,CAAY,CAAC,EAAI,CAAY,OACvC,IAAM,EAAQ,AAAA,CAAA,EAAA,GAAA,QAAA,AAAA,EAAS,AAAA,CAAA,EAAA,EAAA,SAAA,AAAA,EAAU,IAAA,CAAW,CAAY,CAAC,EAAI,EACjD,CAAA,aAAR,GAAsB,CAAA,EAAM,KAAhC,EACA,CAAM,CAAC,EAAI,CAAG,CAClB,GAEA,CAAC,OAAQ,KAAM,OAAO,CAAC,OAAA,CAAQ,SAAS,CAAG,EACR,MAArB,CAAY,CAAC,EAAI,EAC3B,CAAA,CAAM,CAAC,EAAI,CAAG,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,EAAc,CAAY,CAAC,EAAI,CAAA,CACjD,GAEU,EAAa,UAAA,EACnB,CAAA,EAAO,UAAa,CAAG,AAAA,CAAA,EAAA,GAAA,aAAA,AAAA,EAAoB,EAAa,UAD5D,CAAA,EAIO,CACX,CACH,CEruBD,a,I,E,E,SAKA,IAAI,GAAU,KAEd,GAAI,CAEA,GADA,GAAM,UACF,AAAM,MAAN,GAAc,MAAM,AAAI,MAAM,gBACrC,CAAC,MAAO,EAAO,CACZ,IAAM,EAAS,IAAI,EAAA,MAAA,CAAO,IAC1B,GAAK,WACD,EAAO,UAAA,CAAW,+CAAgD,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,qBAAA,CAAuB,CACnG,UAAW,iBACd,EACL,CACH,CJjBD,a,I,E,E,S,G,S,C,C,C,C,C,C,C,E,O,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,E,EAYA,MAAM,GAAS,IAAI,EAAA,MAAA,CAAO,IAiB1B,IAAI,GAAS,CA0BP,OAAO,WAA0B,GAAA,eAAA,CAanC,YAAY,CAA2B,CAAE,CAAoB,CAA7D,CAGoB,QAAZ,GACA,GAAO,UAAA,CAAW,uDAAwD,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,qBAAA,CAAuB,CAC3G,UAAW,aACd,GAGD,AAAgB,UAAhB,OAAO,EACP,KAAK,CAAC,EAAK,GAEX,KAAK,CAAC,aAAc,GAGxB,IAAI,CAAC,gBAAA,CAAmB,GAExB,IAAI,CAAC,QAAA,CAAW,CAAA,EAEZ,AAAgB,UAAhB,OAAO,EACP,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,aAAc,IAAI,GAAU,IAAI,CAAC,UAAA,CAAW,GADrE,GAGI,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,aAAc,GAGvC,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,YAAa,CAAA,GAClC,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,QAAS,CAAA,GAC9B,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,UAAW,CAAA,GAChC,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,iBAAkB,KAAK,CAAC,iBAG7C,IAAI,CAAC,SAAA,CAAU,MAAA,CAAS,KACpB,IAAI,CAAC,QAAA,CAAW,CAAA,EAChB,OAAO,IAAA,CAAK,IAAI,CAAC,SAAA,EAAW,OAAA,CAAQ,AAAC,IACjC,IAAI,CAAC,SAAA,CAAU,IAAA,CAAK,IAAI,CAAC,SAAS,CAAC,EAAG,CAAC,OAAvC,CACJ,EACJ,EAEA,IAAI,CAAC,SAAA,CAAU,SAAA,CAAY,AAAC,IACxB,IAAM,EAAO,EAAa,IAA1B,CACM,EAAS,KAAK,KAAA,CAAM,GAC1B,GAAI,AAAa,MAAb,EAAO,EAAA,CAAY,CACnB,IAAM,EAAK,OAAO,EAAO,EAAzB,EACM,EAAU,IAAI,CAAC,SAAS,CAAC,EAAG,CAGlC,GAFA,OAAO,IAAI,CAAC,SAAS,CAAC,EAAG,CAErB,AAAkB,KAAA,IAAlB,EAAO,MAAA,CACP,EAAQ,QAAA,CAAS,KAAM,EAAO,MAA9B,EAEA,IAAI,CAAC,IAAA,CAAK,QAAS,CACf,OAAQ,WACR,QAAS,KAAK,KAAA,CAAM,EAAQ,OAA5B,EACA,SAAU,EAAO,MAAjB,CACA,SAAU,IAAI,AACjB,OAEE,CACH,IAAI,EAAe,IACf,CAAA,EAAO,KAAA,EACP,EAAQ,AAAI,MAAM,EAAO,KAAA,CAAM,OAAA,EAAW,iBAC1C,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAoB,EAAO,OAAQ,EAAO,KAAA,CAAM,IAAA,EAAQ,MACxD,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAoB,EAAO,WAAY,IAEvC,EAAQ,AAAI,MAAM,iBAGtB,EAAQ,QAAA,CAAS,EAAO,KAAA,GAExB,IAAI,CAAC,IAAA,CAAK,QAAS,CACf,OAAQ,WACR,MAAO,EACP,QAAS,KAAK,KAAA,CAAM,EAAQ,OAA5B,EACA,SAAU,IAAI,AACjB,EAEJ,CAEJ,MAAM,GAAI,AAAkB,qBAAlB,EAAO,MAAA,CAA+B,CAE7C,IAAM,EAAM,IAAI,CAAC,KAAK,CAAC,EAAO,MAAA,CAAO,YAAA,CAAa,CAC9C,GAEA,EAAI,WAAA,CAAY,EAAO,MAAA,CAAO,MAA9B,CAGP,MACG,QAAQ,IAAA,CAAK,yBAErB,EAKA,IAAM,EAAW,YAAY,KACzB,IAAI,CAAC,IAAA,CAAK,OACd,EAAG,IACC,CAAA,EAAS,KAAA,EAAS,EAAS,KAA/B,EACJ,CAIA,IAAI,WAAS,CAAoB,OAAO,IAAI,CAAC,UAAZ,AAAwB,CAEzD,eAAA,CACI,OAAO,IAAI,CAAC,cAAZ,AACJ,CAEA,IAAI,iBAAJ,CACI,OAAO,CACX,CAEA,iBAAiB,CAAmB,CAApC,CACI,GAAO,UAAA,CAAW,iDAAkD,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,qBAAA,CAAuB,CACrG,UAAW,iBACd,EACL,CAEA,IAAI,gBAAgB,CAAa,CAAjC,CACI,GAAO,UAAA,CAAW,mDAAoD,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,qBAAA,CAAuB,CACvG,UAAW,oBACd,EACL,CAEM,MAAA,C,O,G,I,C,K,E,K,E,YACF,OAAO,IACX,EAAC,CAED,IAAI,QAAQ,CAAc,CAA1B,CACS,GAEL,GAAO,UAAA,CAAW,0CAA2C,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,qBAAA,CAAuB,CAC9F,UAAW,YACd,EACL,CAEA,KAAK,CAAc,CAAE,CAAmB,CAAxC,CACI,IAAM,EAAM,KAEZ,OAAO,IAAI,QAAQ,CAAC,EAAS,KAMzB,IAAM,EAAU,KAAK,SAAA,CAAU,CAC3B,OAAQ,EACR,OAAQ,EACR,GAAI,EACJ,QAAS,KACZ,GAED,IAAI,CAAC,IAAA,CAAK,QAAS,CACf,OAAQ,UACR,QAAS,KAAK,KAAA,CAAM,GACpB,SAAU,IAAI,AACjB,GAED,IAAI,CAAC,SAAS,CAAC,OAAO,GAAK,CAAG,CAAE,SAlBhC,SAAkB,CAAY,CAAE,CAAW,SACvC,AAAI,EAAgB,EAAO,GACpB,EAAQ,EACnB,EAe0C,QAAA,CAAO,EAE7C,IAAI,CAAC,QAAA,EAAY,IAAI,CAAC,SAAA,CAAU,IAAA,CAAK,EAC7C,EACJ,CAEA,OAAO,YAAP,CACI,MAAO,qBACX,CAEM,WAAW,CAAW,CAAE,CAAiB,CAAE,CAAkC,CAA7E,C,O,G,I,C,K,E,K,E,YACF,IAAI,EAAe,IAAI,CAAC,OAAO,CAAC,EAAI,AAChB,OAAhB,IACA,EAAe,QAAQ,GAAA,CAAI,GAAO,IAAA,CAAK,AAAC,GAC7B,IAAI,CAAC,IAAA,CAAK,gBAAiB,IAEtC,IAAI,CAAC,OAAO,CAAC,EAAI,CAAG,GAExB,IAAM,EAAQ,MAAM,CACpB,CAAA,IAAI,CAAC,KAAK,CAAC,EAAM,CAAG,CAAE,IAAA,EAAK,YAAA,CAAW,CAC1C,EAAC,CAED,YAAY,CAAY,CAAxB,CACI,OAAQ,EAAM,IAAd,EACI,IAAK,QACD,IAAI,CAAC,UAAA,CAAW,QAAS,CAAE,WAAY,CAAE,AAAC,IACtC,IAAM,EAAc,AAAA,CAAA,EAAA,EAAA,SAAA,AAAA,EAAU,IAAA,CAAK,EAAO,MAAA,EAAQ,QAAlD,EACA,CAAA,IAAI,CAAC,QAAA,CAAS,KAAA,CAAQ,EACtB,IAAI,CAAC,IAAA,CAAK,QAAS,EACvB,GACA,KAEJ,KAAK,UACD,IAAI,CAAC,UAAA,CAAW,UAAW,CAAE,yBAA0B,CAAE,AAAC,IACtD,IAAI,CAAC,IAAA,CAAK,UAAW,EACzB,GACA,KAEJ,KAAK,SACD,IAAI,CAAC,UAAA,CAAW,EAAM,GAAA,CAAK,CAAE,OAAQ,IAAI,CAAC,UAAA,CAAW,EAAM,MAAtB,EAA+B,CAAE,AAAC,IAC7C,MAAlB,EAAO,OAAA,EAAmB,CAAA,EAAO,OAAA,CAAU,CAAA,CAA/C,EACA,IAAI,CAAC,IAAA,CAAK,EAAM,MAAA,CAAQ,IAAI,CAAC,SAAA,CAAU,SAAA,CAAU,GACrD,GACA,KAEJ,KAAK,KAAM,CACP,IAAM,EAAc,AAAC,IACjB,IAAM,EAAO,EAAM,IAAnB,CACA,IAAI,CAAC,qBAAA,CAAsB,GAAM,IAAA,CAAK,AAAC,IAC9B,GACL,IAAI,CAAC,IAAA,CAAK,EAAM,EACpB,EACJ,EAGA,EAAY,GAMZ,IAAI,CAAC,UAAA,CAAW,KAAM,CAAE,WAAY,CAAE,AAAC,IACnC,IAAI,CAAC,OAAA,CAAQ,MAAA,CAAO,AAAC,GAAO,AAAW,OAAX,EAAE,IAAA,EAAgB,OAAA,CAAQ,EAC1D,GACA,KACH,CAGD,IAAK,QACL,IAAK,OACL,IAAK,WACL,IAAK,UACL,IAAK,QACD,KAEJ,SACI,QAAQ,GAAA,CAAI,aAAc,EAEjC,CACL,CAEA,WAAW,CAAY,CAAvB,CACI,IAAI,EAAM,EAAM,GAAhB,CAEA,GAAI,AAAe,OAAf,EAAM,IAAA,CAAe,CAErB,GAAI,IAAI,CAAC,OAAA,CAAQ,MAAA,CAAO,AAAC,GAAO,AAAW,OAAX,EAAE,IAAA,EAAgB,MAAA,CAC9C,OAEJ,EAAM,IACT,MAAM,GAAI,IAAI,CAAC,aAAA,CAAc,EAAM,KAAA,EAEhC,OAGJ,IAAM,EAAQ,IAAI,CAAC,OAAO,CAAC,EAAI,CAC1B,IAEN,OAAO,IAAI,CAAC,OAAO,CAAC,EAAI,CACxB,EAAM,IAAA,CAAK,AAAC,IACF,IAAI,CAAC,KAAK,CAAC,EAAM,GACtB,OAAO,IAAI,CAAC,KAAK,CAAC,EAAM,CACxB,IAAI,CAAC,IAAA,CAAK,kBAAmB,CAAE,EAAO,EAC1C,GACJ,CAEM,SAAA,C,O,G,I,C,K,E,K,E,YAEE,IAAI,CAAC,SAAA,CAAU,UAAA,GAAe,AAAA,GAAU,UAAA,EACxC,CAAA,MAAO,IAAI,QAAQ,AAAC,IAChB,IAAI,CAAC,SAAA,CAAU,MAAA,CAAS,WACpB,EAAQ,CAAA,EACZ,EAEA,IAAI,CAAC,SAAA,CAAU,OAAA,CAAU,WACrB,EAAQ,CAAA,EACZ,CACJ,EAAA,EAKJ,IAAI,CAAC,SAAA,CAAU,KAAA,CAAM,IACzB,EAAC,CACJ,C,I,E,E,S,G,C,E,E,G,wB,I,I,E,G,qB,I,GM5VD,CAAA,a,I,G,E,S,E,E,SAQA,MAAM,GAAS,IAAI,EAAA,MAAA,CAAO,GAkBpB,OAAO,WAA8B,GAAA,eAAA,CACjC,eAAA,K,E,E,E,E,I,E,O,M,C,K,C,c,C,I,I,K,C,a,C,G,O,E,I,C,E,K,E,E,K,E,E,YACF,IAAI,EAAU,IAAI,CAAC,OAAnB,CAgBA,OAfe,MAAX,IACA,CAAA,EAAU,MAAM,EAAM,aAAA,CAAa,IAAA,CAAA,IAAA,CAAA,GAG/B,GAAO,UAAA,CAAW,sBAAuB,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,aAAA,CAAe,CAAA,GAIrD,MAAjB,IAAI,CAAC,QAAA,GAEL,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,WAAY,GAEjC,IAAI,CAAC,IAAA,CAAK,UAAW,EAAS,QAG/B,CACX,E,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,EAAC,CACJ,CAEK,MAAgB,WAA2B,GAG7C,YAAY,CAAoB,CAAE,CAAY,CAA9C,CACI,GAAO,aAAA,CAAc,WAAY,IAGjC,EAAU,AAAA,CAAA,EAAA,GAAA,SAAA,AAAA,EAA4C,WAAY,cAAc,GAChF,EAAS,AAAA,CAAA,EAAA,GAAA,SAAA,AAAA,EAAsC,WAAY,aAAa,GAExE,IAAM,EAAa,AAAA,CAAA,EAAA,GAAA,SAAA,AAAA,EAAsB,WAAY,UAAU,EAAS,GAExE,KAAK,CAAC,EAAY,GAEd,AAAmB,UAAnB,OAAO,EACP,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,SAAU,GACd,MAAV,GACP,OAAO,IAAA,CAAK,GAAQ,OAAA,CAAQ,AAAC,IACzB,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAyB,IAAI,CAAE,EAAK,CAAM,CAAC,EAAI,CACnD,EAER,CAEA,eAAA,CACI,GAAO,IAAA,CAAK,yDAChB,CAEA,qBAAA,CACI,MAAO,CAAA,CACX,CAEA,UAAU,CAAgB,CAA1B,CACI,OAAO,GAAO,UAAA,CACV,wCACA,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,qBAAA,CACd,CAAE,UAAW,WAAW,EAEhC,CAEA,cAAA,CACI,OAAO,QAAQ,OAAA,CAAQ,EAAE,CAC7B,CAGA,OAAO,UAAU,CAAW,CAA5B,CACI,OAAO,CACX,CAKA,OAAO,OAAO,CAAgB,CAAE,CAAW,CAA3C,CACI,OAAO,GAAO,UAAA,CAAW,oDAAqD,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,eAAA,CAAiB,CACzG,UAAW,QACd,EACL,CACH,CRzGD,aAWA,MAAM,GAAS,IAAI,EAAA,MAAA,CAAO,IASpB,GAAgB,kCAEhB,OAAO,WAAiC,GAAA,iBAAA,CAG1C,YAAY,CAAoB,CAAE,CAAY,CAA9C,CACI,IAAM,EAAW,IAAI,GAAgB,EAAS,GAExC,EAAM,EAAS,UAAA,CAAW,GAAA,CAAI,OAAA,CAAQ,SAAU,MAClB,OAAA,CAAQ,eAAgB,mBAE5D,KAAK,CAAC,EAAK,EAAS,OAApB,EACA,AAAA,CAAA,EAAA,GAAA,cAAA,AAAA,EAAe,IAAI,CAAE,SAAU,EAAS,MAAxC,CACJ,CAEA,qBAAA,CACI,OAAQ,IAAI,CAAC,MAAA,GAAW,EAC5B,CACH,CAEK,MAAO,WAAwB,GAAA,kBAAA,CAEjC,OAAO,qBAAqB,CAAoB,CAAE,CAAY,CAA9D,CACI,OAAO,IAAI,GAAyB,EAAS,EACjD,CAEA,OAAO,UAAU,CAAW,CAA5B,QACI,AAAI,AAAU,MAAV,EAAyB,IACzB,GAAU,AAAmB,UAAnB,OAAO,GACjB,GAAO,kBAAA,CAAmB,iBAAkB,SAAU,GAEnD,EACX,CAEA,OAAO,OAAO,CAAgB,CAAE,CAAc,CAA9C,CACI,IAAI,EAAO,KACX,OAAQ,EAAQ,IAAhB,EACI,IAAK,YACD,EAAO,gCACP,KACJ,KAAK,SACD,EAAO,+BACP,KACJ,KAAK,QACD,EAAO,oCACP,KACJ,KAAK,WACD,EAAO,mCACP,KACJ,KAAK,WACD,EAAO,gCACP,KACJ,KAAK,kBACD,EAAO,+BACP,KACJ,KAAK,WACD,EAAO,gCACP,KACJ,KAAK,kBACD,EAAO,+BACP,KACJ,SACG,GAAO,kBAAA,CAAmB,sBAAuB,UAAW,SAAS,CAAC,EAAE,CAC9E,CAED,MAAO,CACH,UAAW,CAAA,EACX,IAAM,WAAkB,EAAO,EAC/B,iBAAkB,CAAC,EAAiB,KAC5B,IAAW,IACX,AAAA,KAEG,QAAQ,OAAA,CAAQ,CAAA,GAE9B,CACL,CAEA,qBAAA,CACI,OAAQ,IAAI,CAAC,MAAA,GAAW,EAC5B,CACH,C,I,E,E,SU1FD,MAAM,GAAS,IAAI,EAAA,MAAA,CAAO,IAGpB,GAAgB,kEAsBhB,OAAO,WAAqB,GAAA,kBAAA,CAG9B,qBAAA,CACI,OAAQ,IAAI,CAAC,MAAA,GAAW,EAC5B,CAEA,OAAO,UAAU,CAAW,CAA5B,QACI,AAAI,AAAU,MAAV,EAAyB,GACtB,CACX,CAEA,OAAO,OAAO,CAAgB,CAAE,CAAW,CAA3C,CACkB,MAAV,GAAkB,CAAA,EAAS,EAA/B,EACA,IAAM,EAA6B,CAC/B,UAAW,CAAA,EACX,IAAM,WAAc,AApChC,SAAiB,CAAY,EACzB,OAAQ,GACJ,IAAK,YACD,MAAO,mBACX,KAAK,UACD,MAAO,2BACX,KAAK,UACD,MAAO,2BACX,KAAK,SACD,MAAO,0BAEX,KAAK,QACD,MAAO,uBAEX,KAAK,WACD,MAAO,wBACd,CACD,OAAO,GAAO,kBAAA,CAAmB,sBAAuB,OAAQ,EACpE,EAkBwC,EAAQ,IAAA,EAAQ,EAC5C,iBAAkB,CAAC,EAAiB,KAC5B,EAAO,MAAA,GAAW,IAClB,AAAA,KAEG,QAAQ,OAAA,CAAQ,CAAA,GAE9B,EAOD,OAL4B,MAAxB,EAAO,aAAA,GACP,EAAW,IAAA,CAAO,GAClB,EAAW,QAAA,CAAW,EAAO,aAA7B,EAGG,CACX,CACH,C,I,G,C,E,E,G,qB,I,GEnED,CAAA,a,I,E,E,SAOA,MAAM,GAAS,IAAI,EAAA,MAAA,CAAO,GAEpB,OAAO,WAA2B,GAAA,kBAAA,CAEpC,OAAO,UAAU,CAAW,CAA5B,CAII,OAHc,MAAV,GACA,GAAO,kBAAA,CAAmB,sCAAuC,SAAU,GAExE,IACX,CAEA,OAAO,OAAO,CAAgB,CAAE,CAAY,CAA5C,CACI,IAAI,EAAO,KASX,MAPS,cADD,EAAQ,IAAhB,CAEQ,EAAO,8BAGR,GAAO,kBAAA,CAAmB,sBAAuB,UAAW,SAAS,CAAC,EAAE,EAGxE,CACX,CAEM,QAAQ,CAAc,CAAE,CAAW,CAAnC,K,E,E,E,E,I,E,O,M,C,K,C,Q,C,I,I,K,C,O,C,G,O,E,I,C,E,K,E,E,K,E,E,YAGF,GAAI,AAAW,mBAAX,EAA6B,CAC7B,IAAM,EAAQ,MAAM,EAAM,OAAA,CAAO,IAAA,CAAA,IAAA,CAAC,WAAY,CAAE,SAAU,QAAQ,GAClE,OAAO,EAAM,MAAb,AACH,CAED,OAAO,EAAM,OAAA,CAAO,IAAA,CAAA,IAAA,CAAC,EAAQ,EACjC,E,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,EAAC,CACJ,C,I,G,C,E,E,G,oB,I,GEzCD,CAAA,a,I,G,E,S,G,E,S,G,E,S,G,E,S,E,E,S,G,S,C,C,C,C,C,C,C,E,O,G,C,G,C,E,O,C,E,S,C,C,C,E,S,E,C,E,G,C,E,E,I,C,G,C,M,E,C,E,E,C,C,S,E,C,E,G,C,E,E,K,C,G,C,M,E,C,E,E,C,C,S,E,C,M,C,C,E,I,C,E,E,K,E,A,C,C,E,E,K,Y,E,E,I,E,S,C,E,E,E,E,E,I,C,E,E,C,E,A,C,E,E,K,C,E,G,E,C,E,I,G,E,EAaA,MAAM,GAAS,IAAI,EAAA,MAAA,CAAO,IAM1B,SAAS,GAAuB,CAA+B,EAC3D,IAAM,EAAiC,CAAA,EACvC,IAAK,IAAI,KAAO,EAAa,CACzB,GAAU,AAAqB,MAArB,CAAY,CAAC,EAAI,CAAY,SACvC,IAAI,EAAc,CAAY,CAAC,EAAI,CAC/B,CAAA,AAAQ,SAAR,GAAkB,AAAU,IAAV,CAAU,IAI5B,EADM,AAAA,CAAA,CAAE,KAAM,CAAA,EAAM,SAAU,CAAA,EAAM,SAAU,CAAA,EAAM,YAAa,CAAA,EAAM,qBAAsB,CAAA,EAAM,MAAO,CAAA,EAAM,MAAO,CAAA,CAAI,CAAA,CAAG,CAAC,EAAI,CAC3H,AAAA,CAAA,EAAA,GAAA,QAAA,AAAA,EAAS,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,EAAQ,IAClB,AAAQ,eAAR,EACC,IAAM,AAAA,CAAA,EAAA,GAAA,aAAA,AAAA,EAAc,GAAO,GAAA,CAAI,AAAC,GAC7B,CAAA,UAAA,EAAc,EAAI,OAAA,CAAQ,gBAAA,EAAoB,EAAI,WAAA,CAAY,IAAA,CAAK,OAAO,GAAA,CAAK,EACvF,IAAA,CAAK,KAAO,IAEP,AAAA,CAAA,EAAA,GAAA,OAAA,AAAA,EAAQ,GAEpB,CAAM,CAAC,EAAI,CAAG,EACjB,CACD,OAAO,CACX,CAEA,SAAS,GAAU,CAA2D,EAE1E,GAAI,AAAiB,GAAjB,EAAO,MAAA,EA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AA,eAAA,CAAgB,EAC/B,KAAK,KAAM,IAAK,MACZ,OAAO,IAAI,GAAA,iBAAA,CAAkB,EACjC,SACI,GAAO,kBAAA,CAAmB,yBAA0B,UAAW,EACtE,CAER,CAED,IAAM,EAAI,AAAA,EAAW,GAQrB,OAPK,GAAM,EAAE,gBAAA,EACT,GAAO,UAAA,CAAW,yCAA0C,AAAA,EAAA,MAAA,CAAO,MAAA,CAAO,aAAA,CAAe,CACrF,UAAW,qBACX,QAAS,CACZ,GAGE,EAAE,gBAAA,CAAiB,CACtB,iBAAA,GAAA,gBAAA,CAEA,gBAAA,GACA,aAAA,GACA,mBAAA,GAAA,kBAAA,CACA,kBAAA,GAAA,iBAAA,CACA,eAAA,GACA,gBAAA,GAAA,eAAA,CACA,kBAAA,GACA,eAAA,GACA,aAAA,GAEA,YAAA,EACH,EAAE,EACP,C,E,S,E,S,E,S,I,E,E,QR1FA,CAAA,amDAO,MAAM,GAAU,enDmCjB,GAAS,IAAI,EAAA,MAAA,CAAO,I,I,E,E,S,E,E,S,E,S,I,E,E,S,E,QFnC1B,CAAA,a,I,E,E,S,E,S,E,S,E,SAMA,GAAI,CACA,IAAM,EAAa,MAEM,OAArB,EAAU,OAAA,EACV,CAAA,EAAU,OAAA,CAAU,CADxB,CAGH,CAAC,MAAO,EAAO,CAAA,CnPZhB,a,I,G,C,E,G,I,G,e,E,C,O,M,C,S,C,C,C,C,C,C,C,E,K,I,G,C,E,C,E,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,E,S,C,C,C,C,C,C,C,E,K,I,G,C,E,C,E,C,C,E,C,C,C,E,A,C,E,G,I,G,kB,E,C,O,M,C,S,C,C,C,E,O,c,C,E,U,C,W,C,E,M,C,E,E,S,C,C,C,E,E,O,C,C,C,E,G,I,G,Y,E,S,C,E,G,G,E,U,C,O,E,I,E,C,E,G,A,M,E,I,I,K,E,Y,G,O,S,C,c,C,I,C,E,I,G,E,E,G,O,G,E,G,C,E,O,c,C,G,a,C,M,C,C,G,G,mB,C,G,c,C,G,Y,C,G,gB,C,G,W,C,G,oB,C,G,Q,C,G,Y,C,G,a,C,G,U,C,G,Q,C,G,a,C,G,S,C,G,W,C,G,O,C,G,M,C,G,M,C,G,sB,C,G,c,C,G,S,C,G,U,C,G,M,C,G,W,C,G,W,C,G,O,C,G,O,C,G,U,C,G,M,C,G,Q,C,G,W,C,G,iB,C,G,S,C,G,c,C,G,Q,C,G,e,C,G,I,C,G,S,C,G,U,C,G,G,C,G,M,C,G,iB,C,G,W,C,G,S,C,G,gB,C,G,a,C,G,a,C,G,mB,C,G,Q,C,G,e,C,G,Q,C,K,E,G,O,C,G,e,C,G,wB,C,G,kB,C,G,c,C,G,e,C,G,iB,C,G,iB,C,G,c,C,G,e,C,G,a,C,G,gB,C,G,gB,C,G,c,C,G,c,C,G,oB,C,G,gB,C,G,oB,C,G,gB,C,G,a,C,G,a,C,G,c,C,G,c,C,G,iB,C,G,Y,C,G,Q,C,G,W,C,G,M,C,G,M,C,G,S,C,G,S,C,G,W,C,G,O,C,G,U,C,G,W,C,G,U,C,G,W,C,G,S,C,G,iB,C,G,kB,C,G,c,C,G,U,C,G,iB,C,G,E,C,G,W,C,G,Q,C,G,W,C,G,S,C,G,kB,C,K,E,I,G,E,S,G,E,S,G,E,S,G,E,SA+CI,OAAA,cAAA,CAAA,GAAA,WAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OA7CK,GA6CL,QAAA,AA7Ca,CAAA,GAwDb,OAAA,cAAA,CAAA,GAAA,oBAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAxDe,GAwDf,iBAAA,AAxDgC,CAAA,GAiDhC,OAAA,cAAA,CAAA,GAAA,sBAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAjDkC,GAiDlC,mBAAA,AAjDqD,CAAA,GA8CrD,OAAA,cAAA,CAAA,GAAA,kBAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OA9CuD,GA8CvD,eAAA,AA9CsE,CAAA,GAkDtE,OAAA,cAAA,CAAA,GAAA,gBAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAlDwE,GAkDxE,aAAA,AAlDqF,CAAA,GAmDrF,OAAA,cAAA,CAAA,GAAA,gBAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAnDuF,GAmDvF,aAAA,AAnDoG,CAAA,GAsDpG,OAAA,cAAA,CAAA,GAAA,cAAA,CAAA,WAAA,CAAA,EAAA,IAAA,WAAA,OAtDsG,GAsDtG,WAAA,AAtDiH,CAAA,GAgDjH,OAAA,cAAA,CAAA,GAAA,WAAA,CAAA,WAAA,CAA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","sources":["","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/CreateCall/CreateCallEthersContract.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/CreateCall/CreateCallEthersContract.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/utils/index.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/utils/index.ts","node_modules/@ethersproject/abstract-signer/lib.esm/index.js","node_modules/@ethersproject/abstract-signer/src.ts/index.ts","node_modules/@ethersproject/properties/lib.esm/index.js","node_modules/@ethersproject/properties/src.ts/index.ts","node_modules/@ethersproject/logger/lib.esm/index.js","node_modules/@ethersproject/logger/src.ts/index.ts","node_modules/@ethersproject/logger/lib.esm/_version.js","node_modules/@ethersproject/logger/src.ts/_version.ts","node_modules/@ethersproject/properties/lib.esm/_version.js","node_modules/@ethersproject/properties/src.ts/_version.ts","node_modules/@ethersproject/abstract-signer/lib.esm/_version.js","node_modules/@ethersproject/abstract-signer/src.ts/_version.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/GnosisSafe/GnosisSafeContractEthers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/GnosisSafe/GnosisSafeContractEthers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryEthersContract.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryEthersContract.ts","node_modules/@ethersproject/bignumber/lib.esm/bignumber.js","node_modules/@ethersproject/bignumber/src.ts/bignumber.ts","node_modules/bn.js/lib/bn.js","node_modules/@parcel/node-resolver-core/lib/_empty.js","node_modules/@ethersproject/bytes/lib.esm/index.js","node_modules/@ethersproject/bytes/src.ts/index.ts","node_modules/@ethersproject/bytes/lib.esm/_version.js","node_modules/@ethersproject/bytes/src.ts/_version.ts","node_modules/@ethersproject/bignumber/lib.esm/_version.js","node_modules/@ethersproject/bignumber/src.ts/_version.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/MultiSend/MultiSendEthersContract.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/MultiSend/MultiSendEthersContract.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/MultiSendCallOnly/MultiSendCallOnlyEthersContract.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/MultiSendCallOnly/MultiSendCallOnlyEthersContract.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/SignMessageLib/SignMessageLibEthersContract.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/SignMessageLib/SignMessageLibEthersContract.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/EthersAdapter.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/EthersAdapter.ts","node_modules/@safe-global/protocol-kit/dist/src/utils/index.js","node_modules/@safe-global/protocol-kit/src/utils/index.ts","node_modules/@safe-global/protocol-kit/dist/src/utils/address.js","node_modules/@safe-global/protocol-kit/src/utils/address.ts","node_modules/@safe-global/protocol-kit/dist/src/utils/constants.js","node_modules/@safe-global/protocol-kit/src/utils/constants.ts","node_modules/@safe-global/protocol-kit/dist/src/utils/eip-3770/index.js","node_modules/@safe-global/protocol-kit/src/utils/eip-3770/index.ts","node_modules/web3-utils/lib/index.js","node_modules/ethjs-unit/lib/index.js","node_modules/ethjs-unit/node_modules/bn.js/lib/bn.js","node_modules/buffer/index.js","node_modules/base64-js/index.js","node_modules/ieee754/index.js","node_modules/number-to-bn/src/index.js","node_modules/number-to-bn/node_modules/bn.js/lib/bn.js","node_modules/strip-hex-prefix/src/index.js","node_modules/is-hex-prefixed/src/index.js","node_modules/web3-utils/lib/utils.js","node_modules/utf8/utf8.js","node_modules/ethereumjs-util/dist.browser/index.js","node_modules/ethereumjs-util/src/index.ts","node_modules/ethereumjs-util/dist.browser/constants.js","node_modules/ethereumjs-util/src/constants.ts","node_modules/ethereumjs-util/dist.browser/externals.js","node_modules/ethereumjs-util/src/externals.ts","node_modules/rlp/dist.browser/index.js","node_modules/rlp/src/index.ts","node_modules/ethereumjs-util/dist.browser/account.js","node_modules/ethereumjs-util/src/account.ts","node_modules/assert/build/assert.js","node_modules/process/browser.js","node_modules/assert/build/internal/errors.js","node_modules/util/util.js","node_modules/util/support/types.js","node_modules/is-arguments/index.js","node_modules/has-tostringtag/shams.js","node_modules/has-symbols/shams.js","node_modules/call-bind/callBound.js","node_modules/get-intrinsic/index.js","node_modules/has-symbols/index.js","node_modules/has-proto/index.js","node_modules/function-bind/index.js","node_modules/function-bind/implementation.js","node_modules/has/src/index.js","node_modules/call-bind/index.js","node_modules/is-generator-function/index.js","node_modules/which-typed-array/index.js","node_modules/for-each/index.js","node_modules/is-callable/index.js","node_modules/available-typed-arrays/index.js","node_modules/gopd/index.js","node_modules/is-typed-array/index.js","node_modules/util/support/isBufferBrowser.js","node_modules/inherits/inherits_browser.js","node_modules/assert/build/internal/assert/assertion_error.js","node_modules/es6-object-assign/index.js","node_modules/object-is/index.js","node_modules/define-properties/index.js","node_modules/object-keys/index.js","node_modules/object-keys/isArguments.js","node_modules/object-keys/implementation.js","node_modules/has-property-descriptors/index.js","node_modules/object-is/implementation.js","node_modules/object-is/polyfill.js","node_modules/object-is/shim.js","node_modules/assert/build/internal/util/comparisons.js","node_modules/is-nan/index.js","node_modules/is-nan/implementation.js","node_modules/is-nan/polyfill.js","node_modules/is-nan/shim.js","node_modules/ethereum-cryptography/secp256k1.js","node_modules/ethereum-cryptography/src/secp256k1.ts","node_modules/secp256k1/elliptic.js","node_modules/secp256k1/lib/index.js","node_modules/secp256k1/lib/elliptic.js","node_modules/elliptic/lib/elliptic.js","node_modules/elliptic/package.json","node_modules/elliptic/lib/elliptic/utils.js","node_modules/elliptic/node_modules/bn.js/lib/bn.js","node_modules/minimalistic-assert/index.js","node_modules/minimalistic-crypto-utils/lib/utils.js","node_modules/brorand/index.js","node_modules/elliptic/lib/elliptic/curve/index.js","node_modules/elliptic/lib/elliptic/curve/base.js","node_modules/elliptic/lib/elliptic/curve/short.js","node_modules/elliptic/lib/elliptic/curve/mont.js","node_modules/elliptic/lib/elliptic/curve/edwards.js","node_modules/elliptic/lib/elliptic/curves.js","node_modules/hash.js/lib/hash.js","node_modules/hash.js/lib/hash/utils.js","node_modules/hash.js/lib/hash/common.js","node_modules/hash.js/lib/hash/sha.js","node_modules/hash.js/lib/hash/sha/1.js","node_modules/hash.js/lib/hash/sha/common.js","node_modules/hash.js/lib/hash/sha/224.js","node_modules/hash.js/lib/hash/sha/256.js","node_modules/hash.js/lib/hash/sha/384.js","node_modules/hash.js/lib/hash/sha/512.js","node_modules/hash.js/lib/hash/ripemd.js","node_modules/hash.js/lib/hash/hmac.js","node_modules/elliptic/lib/elliptic/precomputed/secp256k1.js","node_modules/elliptic/lib/elliptic/ec/index.js","node_modules/hmac-drbg/lib/hmac-drbg.js","node_modules/elliptic/lib/elliptic/ec/key.js","node_modules/elliptic/lib/elliptic/ec/signature.js","node_modules/elliptic/lib/elliptic/eddsa/index.js","node_modules/elliptic/lib/elliptic/eddsa/key.js","node_modules/elliptic/lib/elliptic/eddsa/signature.js","node_modules/ethereum-cryptography/random.js","node_modules/ethereum-cryptography/src/random.ts","node_modules/randombytes/browser.js","node_modules/safe-buffer/index.js","node_modules/ethereumjs-util/dist.browser/internal.js","node_modules/ethereumjs-util/src/internal.ts","node_modules/ethereumjs-util/dist.browser/bytes.js","node_modules/ethereumjs-util/src/bytes.ts","node_modules/ethereumjs-util/dist.browser/helpers.js","node_modules/ethereumjs-util/src/helpers.ts","node_modules/ethereumjs-util/dist.browser/hash.js","node_modules/ethereumjs-util/src/hash.ts","node_modules/ethereum-cryptography/keccak.js","node_modules/ethereum-cryptography/src/keccak.ts","node_modules/ethereum-cryptography/hash-utils.js","node_modules/ethereum-cryptography/src/hash-utils.ts","node_modules/keccak/js.js","node_modules/keccak/lib/api/index.js","node_modules/keccak/lib/api/keccak.js","node_modules/readable-stream/readable-browser.js","node_modules/readable-stream/lib/_stream_readable.js","node_modules/events/events.js","node_modules/readable-stream/lib/internal/streams/stream-browser.js","node_modules/readable-stream/lib/internal/streams/buffer_list.js","node_modules/readable-stream/lib/internal/streams/destroy.js","node_modules/readable-stream/lib/internal/streams/state.js","node_modules/readable-stream/errors-browser.js","node_modules/readable-stream/lib/_stream_duplex.js","node_modules/readable-stream/lib/_stream_writable.js","node_modules/util-deprecate/browser.js","node_modules/string_decoder/lib/string_decoder.js","node_modules/readable-stream/lib/internal/streams/async_iterator.js","node_modules/readable-stream/lib/internal/streams/end-of-stream.js","node_modules/readable-stream/lib/internal/streams/from-browser.js","node_modules/readable-stream/lib/_stream_transform.js","node_modules/readable-stream/lib/_stream_passthrough.js","node_modules/readable-stream/lib/internal/streams/pipeline.js","node_modules/keccak/lib/api/shake.js","node_modules/keccak/lib/keccak.js","node_modules/keccak/lib/keccak-state-unroll.js","node_modules/create-hash/browser.js","node_modules/md5.js/index.js","node_modules/hash-base/index.js","node_modules/ripemd160/index.js","node_modules/sha.js/index.js","node_modules/sha.js/sha.js","node_modules/sha.js/hash.js","node_modules/sha.js/sha1.js","node_modules/sha.js/sha224.js","node_modules/sha.js/sha256.js","node_modules/sha.js/sha384.js","node_modules/sha.js/sha512.js","node_modules/cipher-base/index.js","node_modules/stream-browserify/index.js","node_modules/ethereumjs-util/dist.browser/types.js","node_modules/ethereumjs-util/src/types.ts","node_modules/ethereumjs-util/dist.browser/address.js","node_modules/ethereumjs-util/src/address.ts","node_modules/ethereumjs-util/dist.browser/signature.js","node_modules/ethereumjs-util/src/signature.ts","node_modules/ethereumjs-util/dist.browser/object.js","node_modules/ethereumjs-util/src/object.ts","node_modules/ethereum-bloom-filters/dist/index.js","node_modules/ethereum-bloom-filters/dist/utils.js","node_modules/js-sha3/src/sha3.js","node_modules/web3-utils/lib/soliditySha3.js","node_modules/@safe-global/protocol-kit/dist/src/utils/eip-3770/config.js","node_modules/@safe-global/protocol-kit/src/utils/eip-3770/config.ts","node_modules/@safe-global/protocol-kit/dist/src/utils/eip-712/index.js","node_modules/@safe-global/protocol-kit/src/utils/eip-712/index.ts","node_modules/@safe-global/protocol-kit/node_modules/semver/functions/satisfies.js","node_modules/@safe-global/protocol-kit/node_modules/semver/classes/range.js","node_modules/lru-cache/index.js","node_modules/lru-cache/node_modules/yallist/yallist.js","node_modules/lru-cache/node_modules/yallist/iterator.js","node_modules/@safe-global/protocol-kit/node_modules/semver/internal/parse-options.js","node_modules/@safe-global/protocol-kit/node_modules/semver/classes/comparator.js","node_modules/@safe-global/protocol-kit/node_modules/semver/internal/re.js","node_modules/@safe-global/protocol-kit/node_modules/semver/internal/constants.js","node_modules/@safe-global/protocol-kit/node_modules/semver/internal/debug.js","node_modules/@safe-global/protocol-kit/node_modules/semver/functions/cmp.js","node_modules/@safe-global/protocol-kit/node_modules/semver/functions/eq.js","node_modules/@safe-global/protocol-kit/node_modules/semver/functions/compare.js","node_modules/@safe-global/protocol-kit/node_modules/semver/classes/semver.js","node_modules/@safe-global/protocol-kit/node_modules/semver/internal/identifiers.js","node_modules/@safe-global/protocol-kit/node_modules/semver/functions/neq.js","node_modules/@safe-global/protocol-kit/node_modules/semver/functions/gt.js","node_modules/@safe-global/protocol-kit/node_modules/semver/functions/gte.js","node_modules/@safe-global/protocol-kit/node_modules/semver/functions/lt.js","node_modules/@safe-global/protocol-kit/node_modules/semver/functions/lte.js","node_modules/@safe-global/protocol-kit/dist/src/utils/safeVersions.js","node_modules/@safe-global/protocol-kit/src/utils/safeVersions.ts","node_modules/@safe-global/protocol-kit/dist/src/utils/signatures/index.js","node_modules/@safe-global/protocol-kit/src/utils/signatures/index.ts","node_modules/@safe-global/protocol-kit/dist/src/utils/signatures/SafeSignature.js","node_modules/@safe-global/protocol-kit/src/utils/signatures/SafeSignature.ts","node_modules/@safe-global/protocol-kit/dist/src/utils/signatures/utils.js","node_modules/@safe-global/protocol-kit/src/utils/signatures/utils.ts","node_modules/@safe-global/protocol-kit/dist/src/utils/transactions/index.js","node_modules/@safe-global/protocol-kit/src/utils/transactions/index.ts","node_modules/@safe-global/protocol-kit/dist/src/utils/transactions/gas.js","node_modules/@safe-global/protocol-kit/src/utils/transactions/gas.ts","node_modules/@safe-global/safe-core-sdk-types/dist/src/index.js","node_modules/@safe-global/safe-core-sdk-types/src/index.ts","node_modules/@safe-global/safe-core-sdk-types/dist/src/contracts/CompatibilityFallbackHandlerContract.js","node_modules/@safe-global/safe-core-sdk-types/src/contracts/CompatibilityFallbackHandlerContract.ts","node_modules/@safe-global/safe-core-sdk-types/dist/src/contracts/CreateCallContract.js","node_modules/@safe-global/safe-core-sdk-types/src/contracts/CreateCallContract.ts","node_modules/@safe-global/safe-core-sdk-types/dist/src/contracts/GnosisSafeContract.js","node_modules/@safe-global/safe-core-sdk-types/src/contracts/GnosisSafeContract.ts","node_modules/@safe-global/safe-core-sdk-types/dist/src/contracts/GnosisSafeProxyFactoryContract.js","node_modules/@safe-global/safe-core-sdk-types/src/contracts/GnosisSafeProxyFactoryContract.ts","node_modules/@safe-global/safe-core-sdk-types/dist/src/contracts/MultiSendCallOnlyContract.js","node_modules/@safe-global/safe-core-sdk-types/src/contracts/MultiSendCallOnlyContract.ts","node_modules/@safe-global/safe-core-sdk-types/dist/src/contracts/MultiSendContract.js","node_modules/@safe-global/safe-core-sdk-types/src/contracts/MultiSendContract.ts","node_modules/@safe-global/safe-core-sdk-types/dist/src/contracts/SignMessageLibContract.js","node_modules/@safe-global/safe-core-sdk-types/src/contracts/SignMessageLibContract.ts","node_modules/@safe-global/safe-core-sdk-types/dist/src/ethereumLibs/EthAdapter.js","node_modules/@safe-global/safe-core-sdk-types/src/ethereumLibs/EthAdapter.ts","node_modules/@safe-global/safe-core-sdk-types/dist/src/types.js","node_modules/@safe-global/safe-core-sdk-types/src/types.ts","node_modules/@safe-global/protocol-kit/dist/src/utils/transactions/SafeTransaction.js","node_modules/@safe-global/protocol-kit/src/utils/transactions/SafeTransaction.ts","node_modules/@safe-global/protocol-kit/dist/src/utils/transactions/types.js","node_modules/@safe-global/protocol-kit/src/utils/transactions/types.ts","node_modules/@safe-global/protocol-kit/dist/src/utils/transactions/utils.js","node_modules/@safe-global/protocol-kit/src/utils/transactions/utils.ts","node_modules/@ethersproject/abi/lib.esm/interface.js","node_modules/@ethersproject/abi/src.ts/interface.ts","node_modules/@ethersproject/address/lib.esm/index.js","node_modules/@ethersproject/address/src.ts/index.ts","node_modules/@ethersproject/keccak256/lib.esm/index.js","node_modules/@ethersproject/keccak256/src.ts/index.ts","node_modules/@ethersproject/rlp/lib.esm/index.js","node_modules/@ethersproject/rlp/src.ts/index.ts","node_modules/@ethersproject/rlp/lib.esm/_version.js","node_modules/@ethersproject/rlp/src.ts/_version.ts","node_modules/@ethersproject/address/lib.esm/_version.js","node_modules/@ethersproject/address/src.ts/_version.ts","node_modules/@ethersproject/hash/lib.esm/id.js","node_modules/@ethersproject/hash/src.ts/id.ts","node_modules/@ethersproject/strings/lib.esm/utf8.js","node_modules/@ethersproject/strings/src.ts/utf8.ts","node_modules/@ethersproject/strings/lib.esm/_version.js","node_modules/@ethersproject/strings/src.ts/_version.ts","node_modules/@ethersproject/abi/lib.esm/abi-coder.js","node_modules/@ethersproject/abi/src.ts/abi-coder.ts","node_modules/@ethersproject/abi/lib.esm/_version.js","node_modules/@ethersproject/abi/src.ts/_version.ts","node_modules/@ethersproject/abi/lib.esm/coders/abstract-coder.js","node_modules/@ethersproject/abi/src.ts/coders/abstract-coder.ts","node_modules/@ethersproject/abi/lib.esm/coders/address.js","node_modules/@ethersproject/abi/src.ts/coders/address.ts","node_modules/@ethersproject/abi/lib.esm/coders/array.js","node_modules/@ethersproject/abi/src.ts/coders/array.ts","node_modules/@ethersproject/abi/lib.esm/coders/anonymous.js","node_modules/@ethersproject/abi/src.ts/coders/anonymous.ts","node_modules/@ethersproject/abi/lib.esm/coders/boolean.js","node_modules/@ethersproject/abi/src.ts/coders/boolean.ts","node_modules/@ethersproject/abi/lib.esm/coders/bytes.js","node_modules/@ethersproject/abi/src.ts/coders/bytes.ts","node_modules/@ethersproject/abi/lib.esm/coders/fixed-bytes.js","node_modules/@ethersproject/abi/src.ts/coders/fixed-bytes.ts","node_modules/@ethersproject/abi/lib.esm/coders/null.js","node_modules/@ethersproject/abi/src.ts/coders/null.ts","node_modules/@ethersproject/abi/lib.esm/coders/number.js","node_modules/@ethersproject/abi/src.ts/coders/number.ts","node_modules/@ethersproject/constants/lib.esm/bignumbers.js","node_modules/@ethersproject/constants/src.ts/bignumbers.ts","node_modules/@ethersproject/abi/lib.esm/coders/string.js","node_modules/@ethersproject/abi/src.ts/coders/string.ts","node_modules/@ethersproject/abi/lib.esm/coders/tuple.js","node_modules/@ethersproject/abi/src.ts/coders/tuple.ts","node_modules/@ethersproject/abi/lib.esm/fragments.js","node_modules/@ethersproject/abi/src.ts/fragments.ts","node_modules/@ethersproject/solidity/lib.esm/index.js","node_modules/@ethersproject/solidity/src.ts/index.ts","node_modules/@ethersproject/sha2/lib.esm/sha2.js","node_modules/@ethersproject/sha2/src.ts/browser-sha2.ts","node_modules/@ethersproject/sha2/lib.esm/types.js","node_modules/@ethersproject/sha2/src.ts/types.ts","node_modules/@ethersproject/sha2/lib.esm/_version.js","node_modules/@ethersproject/sha2/src.ts/_version.ts","node_modules/@ethersproject/solidity/lib.esm/_version.js","node_modules/@ethersproject/solidity/src.ts/_version.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/contractInstancesEthers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/contractInstancesEthers.ts","node_modules/@safe-global/protocol-kit/dist/typechain/src/ethers-v5/v1.0.0/factories/Gnosis_safe__factory.js","node_modules/@safe-global/protocol-kit/typechain/src/ethers-v5/v1.0.0/factories/Gnosis_safe__factory.ts","node_modules/@ethersproject/contracts/lib.esm/index.js","node_modules/@ethersproject/contracts/src.ts/index.ts","node_modules/@ethersproject/abstract-provider/lib.esm/index.js","node_modules/@ethersproject/abstract-provider/src.ts/index.ts","node_modules/@ethersproject/abstract-provider/lib.esm/_version.js","node_modules/@ethersproject/abstract-provider/src.ts/_version.ts","node_modules/@ethersproject/transactions/lib.esm/index.js","node_modules/@ethersproject/transactions/src.ts/index.ts","node_modules/@ethersproject/signing-key/lib.esm/index.js","node_modules/@ethersproject/signing-key/src.ts/index.ts","node_modules/@ethersproject/signing-key/lib.esm/elliptic.js","node_modules/node_modules/minimalistic-assert/index.js","node_modules/node_modules/minimalistic-crypto-utils/lib/utils.js","node_modules/node_modules/elliptic/lib/elliptic/utils.js","node_modules/node_modules/elliptic/lib/elliptic/curve/base.js","node_modules/node_modules/inherits/inherits_browser.js","node_modules/node_modules/elliptic/lib/elliptic/curve/short.js","node_modules/node_modules/elliptic/lib/elliptic/curve/index.js","node_modules/node_modules/elliptic/lib/elliptic/curves.js","node_modules/node_modules/hmac-drbg/lib/hmac-drbg.js","node_modules/node_modules/elliptic/lib/elliptic/ec/key.js","node_modules/node_modules/elliptic/lib/elliptic/ec/signature.js","node_modules/node_modules/elliptic/lib/elliptic/ec/index.js","node_modules/node_modules/elliptic/lib/elliptic.js","node_modules/@ethersproject/signing-key/lib.esm/_version.js","node_modules/@ethersproject/signing-key/src.ts/_version.ts","node_modules/@ethersproject/transactions/lib.esm/_version.js","node_modules/@ethersproject/transactions/src.ts/_version.ts","node_modules/@ethersproject/contracts/lib.esm/_version.js","node_modules/@ethersproject/contracts/src.ts/_version.ts","node_modules/ethers/lib.esm/utils.js","node_modules/ethers/src.ts/utils.ts","node_modules/@ethersproject/base64/lib.esm/index.js","node_modules/@ethersproject/base64/src.ts/index.ts","node_modules/@ethersproject/base64/lib.esm/base64.js","node_modules/@ethersproject/base64/src.ts/browser-base64.ts","node_modules/@ethersproject/basex/lib.esm/index.js","node_modules/@ethersproject/basex/src.ts/index.ts","node_modules/@ethersproject/hash/lib.esm/typed-data.js","node_modules/@ethersproject/hash/src.ts/typed-data.ts","node_modules/@ethersproject/hash/lib.esm/_version.js","node_modules/@ethersproject/hash/src.ts/_version.ts","node_modules/@ethersproject/hash/lib.esm/namehash.js","node_modules/@ethersproject/hash/src.ts/namehash.ts","node_modules/@ethersproject/hash/lib.esm/ens-normalize/lib.js","node_modules/@ethersproject/hash/src.ts/ens-normalize/lib.ts","node_modules/@ethersproject/hash/lib.esm/ens-normalize/include.js","node_modules/@ethersproject/hash/src.ts/ens-normalize/include.ts","node_modules/@ethersproject/hash/lib.esm/ens-normalize/decoder.js","node_modules/@ethersproject/hash/src.ts/ens-normalize/decoder.ts","node_modules/@ethersproject/hash/lib.esm/message.js","node_modules/@ethersproject/hash/src.ts/message.ts","node_modules/@ethersproject/hdnode/lib.esm/index.js","node_modules/@ethersproject/hdnode/src.ts/index.ts","node_modules/@ethersproject/pbkdf2/lib.esm/pbkdf2.js","node_modules/@ethersproject/pbkdf2/src.ts/browser-pbkdf2.ts","node_modules/@ethersproject/wordlists/lib.esm/wordlists.js","node_modules/@ethersproject/wordlists/src.ts/browser-wordlists.ts","node_modules/@ethersproject/wordlists/lib.esm/lang-en.js","node_modules/@ethersproject/wordlists/src.ts/lang-en.ts","node_modules/@ethersproject/wordlists/lib.esm/wordlist.js","node_modules/@ethersproject/wordlists/src.ts/wordlist.ts","node_modules/@ethersproject/wordlists/lib.esm/_version.js","node_modules/@ethersproject/wordlists/src.ts/_version.ts","node_modules/@ethersproject/hdnode/lib.esm/_version.js","node_modules/@ethersproject/hdnode/src.ts/_version.ts","node_modules/@ethersproject/json-wallets/lib.esm/inspect.js","node_modules/@ethersproject/json-wallets/src.ts/inspect.ts","node_modules/@ethersproject/random/lib.esm/random.js","node_modules/@ethersproject/random/src.ts/browser-random.ts","node_modules/@ethersproject/random/lib.esm/_version.js","node_modules/@ethersproject/random/src.ts/_version.ts","node_modules/@ethersproject/random/lib.esm/shuffle.js","node_modules/@ethersproject/random/src.ts/shuffle.ts","node_modules/@ethersproject/strings/lib.esm/bytes32.js","node_modules/@ethersproject/strings/src.ts/bytes32.ts","node_modules/@ethersproject/constants/lib.esm/hashes.js","node_modules/@ethersproject/constants/src.ts/hashes.ts","node_modules/@ethersproject/strings/lib.esm/idna.js","node_modules/@ethersproject/strings/src.ts/idna.ts","node_modules/@ethersproject/units/lib.esm/index.js","node_modules/@ethersproject/units/src.ts/index.ts","node_modules/@ethersproject/bignumber/lib.esm/fixednumber.js","node_modules/@ethersproject/bignumber/src.ts/fixednumber.ts","node_modules/@ethersproject/units/lib.esm/_version.js","node_modules/@ethersproject/units/src.ts/_version.ts","node_modules/@ethersproject/wallet/lib.esm/index.js","node_modules/@ethersproject/wallet/src.ts/index.ts","node_modules/@ethersproject/json-wallets/lib.esm/index.js","node_modules/@ethersproject/json-wallets/src.ts/index.ts","node_modules/@ethersproject/json-wallets/lib.esm/crowdsale.js","node_modules/@ethersproject/json-wallets/src.ts/crowdsale.ts","node_modules/aes-js/index.js","node_modules/@ethersproject/json-wallets/lib.esm/_version.js","node_modules/@ethersproject/json-wallets/src.ts/_version.ts","node_modules/@ethersproject/json-wallets/lib.esm/utils.js","node_modules/@ethersproject/json-wallets/src.ts/utils.ts","node_modules/@ethersproject/json-wallets/lib.esm/keystore.js","node_modules/@ethersproject/json-wallets/src.ts/keystore.ts","node_modules/scrypt-js/scrypt.js","node_modules/@ethersproject/wallet/lib.esm/_version.js","node_modules/@ethersproject/wallet/src.ts/_version.ts","node_modules/@ethersproject/web/lib.esm/index.js","node_modules/@ethersproject/web/src.ts/index.ts","node_modules/@ethersproject/web/lib.esm/_version.js","node_modules/@ethersproject/web/src.ts/_version.ts","node_modules/@ethersproject/web/lib.esm/geturl.js","node_modules/@ethersproject/web/src.ts/browser-geturl.ts","node_modules/@safe-global/protocol-kit/dist/typechain/src/ethers-v5/v1.0.0/factories/Proxy_factory__factory.js","node_modules/@safe-global/protocol-kit/typechain/src/ethers-v5/v1.0.0/factories/Proxy_factory__factory.ts","node_modules/@safe-global/protocol-kit/dist/typechain/src/ethers-v5/v1.1.1/factories/Gnosis_safe__factory.js","node_modules/@safe-global/protocol-kit/typechain/src/ethers-v5/v1.1.1/factories/Gnosis_safe__factory.ts","node_modules/@safe-global/protocol-kit/dist/typechain/src/ethers-v5/v1.1.1/factories/Multi_send__factory.js","node_modules/@safe-global/protocol-kit/typechain/src/ethers-v5/v1.1.1/factories/Multi_send__factory.ts","node_modules/@safe-global/protocol-kit/dist/typechain/src/ethers-v5/v1.1.1/factories/Proxy_factory__factory.js","node_modules/@safe-global/protocol-kit/typechain/src/ethers-v5/v1.1.1/factories/Proxy_factory__factory.ts","node_modules/@safe-global/protocol-kit/dist/typechain/src/ethers-v5/v1.2.0/factories/Gnosis_safe__factory.js","node_modules/@safe-global/protocol-kit/typechain/src/ethers-v5/v1.2.0/factories/Gnosis_safe__factory.ts","node_modules/@safe-global/protocol-kit/dist/typechain/src/ethers-v5/v1.3.0/factories/Compatibility_fallback_handler__factory.js","node_modules/@safe-global/protocol-kit/typechain/src/ethers-v5/v1.3.0/factories/Compatibility_fallback_handler__factory.ts","node_modules/@safe-global/protocol-kit/dist/typechain/src/ethers-v5/v1.3.0/factories/Gnosis_safe__factory.js","node_modules/@safe-global/protocol-kit/typechain/src/ethers-v5/v1.3.0/factories/Gnosis_safe__factory.ts","node_modules/@safe-global/protocol-kit/dist/typechain/src/ethers-v5/v1.3.0/factories/Multi_send_call_only__factory.js","node_modules/@safe-global/protocol-kit/typechain/src/ethers-v5/v1.3.0/factories/Multi_send_call_only__factory.ts","node_modules/@safe-global/protocol-kit/dist/typechain/src/ethers-v5/v1.3.0/factories/Multi_send__factory.js","node_modules/@safe-global/protocol-kit/typechain/src/ethers-v5/v1.3.0/factories/Multi_send__factory.ts","node_modules/@safe-global/protocol-kit/dist/typechain/src/ethers-v5/v1.3.0/factories/Proxy_factory__factory.js","node_modules/@safe-global/protocol-kit/typechain/src/ethers-v5/v1.3.0/factories/Proxy_factory__factory.ts","node_modules/@safe-global/protocol-kit/dist/typechain/src/ethers-v5/v1.3.0/factories/Sign_message_lib__factory.js","node_modules/@safe-global/protocol-kit/typechain/src/ethers-v5/v1.3.0/factories/Sign_message_lib__factory.ts","node_modules/@safe-global/protocol-kit/dist/typechain/src/ethers-v5/v1.3.0/factories/Create_call__factory.js","node_modules/@safe-global/protocol-kit/typechain/src/ethers-v5/v1.3.0/factories/Create_call__factory.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandler_V1_3_0_Ethers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandler_V1_3_0_Ethers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerEthersContract.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerEthersContract.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/CreateCall/v1.3.0/CreateCallEthersContract_V1_3_0_Ethers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/CreateCall/v1.3.0/CreateCallEthersContract_V1_3_0_Ethers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/GnosisSafe/v1.0.0/GnosisSafeContract_V1_0_0_Ethers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/GnosisSafe/v1.0.0/GnosisSafeContract_V1_0_0_Ethers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/utils/constants.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/utils/constants.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/GnosisSafe/v1.1.1/GnosisSafeContract_V1_1_1_Ethers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/GnosisSafe/v1.1.1/GnosisSafeContract_V1_1_1_Ethers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/GnosisSafe/v1.2.0/GnosisSafeContract_V1_2_0_Ethers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/GnosisSafe/v1.2.0/GnosisSafeContract_V1_2_0_Ethers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/GnosisSafe/v1.3.0/GnosisSafeContract_V1_3_0_Ethers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/GnosisSafe/v1.3.0/GnosisSafeContract_V1_3_0_Ethers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/GnosisSafeProxyFactory/v1.0.0/GnosisSafeProxyFactoryContract_V1_0_0_Ethers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/GnosisSafeProxyFactory/v1.0.0/GnosisSafeProxyFactoryContract_V1_0_0_Ethers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/GnosisSafeProxyFactory/v1.1.1/GnosisSafeProxyFactoryContract_V1_1_1_Ethers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/GnosisSafeProxyFactory/v1.1.1/GnosisSafeProxyFactoryContract_V1_1_1_Ethers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/GnosisSafeProxyFactory/v1.3.0/GnosisSafeProxyFactoryContract_V1_3_0_Ethers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/GnosisSafeProxyFactory/v1.3.0/GnosisSafeProxyFactoryContract_V1_3_0_Ethers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/MultiSend/v1.1.1/MultiSendContract_V1_1_1_Ethers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/MultiSend/v1.1.1/MultiSendContract_V1_1_1_Ethers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/MultiSend/v1.3.0/MultiSendContract_V1_3_0_Ethers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/MultiSend/v1.3.0/MultiSendContract_V1_3_0_Ethers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/MultiSendCallOnly/v1.3.0/MultiSendCallOnlyContract_V1_3_0_Ethers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/MultiSendCallOnly/v1.3.0/MultiSendCallOnlyContract_V1_3_0_Ethers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_V1_3_0_Ethers.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_V1_3_0_Ethers.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/CreateCall/CreateCallWeb3Contract.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/CreateCall/CreateCallWeb3Contract.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/utils/index.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/utils/index.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/GnosisSafe/GnosisSafeContractWeb3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/GnosisSafe/GnosisSafeContractWeb3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryWeb3Contract.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryWeb3Contract.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/MultiSend/MultiSendWeb3Contract.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/MultiSend/MultiSendWeb3Contract.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/MultiSendCallOnly/MultiSendCallOnlyWeb3Contract.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/MultiSendCallOnly/MultiSendCallOnlyWeb3Contract.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/SignMessageLib/SignMessageLibWeb3Contract.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/SignMessageLib/SignMessageLibWeb3Contract.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/Web3Adapter.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/Web3Adapter.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/contractInstancesWeb3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/contractInstancesWeb3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandler_V1_3_0_Web3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandler_V1_3_0_Web3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerWeb3Contract.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/CompatibilityFallbackHandler/CompatibilityFallbackHandlerWeb3Contract.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/CreateCall/v1.3.0/CreateCallEthersContract_V1_3_0_Web3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/CreateCall/v1.3.0/CreateCallEthersContract_V1_3_0_Web3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/GnosisSafe/v1.0.0/GnosisSafeContract_V1_0_0_Web3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/GnosisSafe/v1.0.0/GnosisSafeContract_V1_0_0_Web3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/utils/constants.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/utils/constants.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/GnosisSafe/v1.1.1/GnosisSafeContract_V1_1_1_Web3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/GnosisSafe/v1.1.1/GnosisSafeContract_V1_1_1_Web3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/GnosisSafe/v1.2.0/GnosisSafeContract_V1_2_0_Web3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/GnosisSafe/v1.2.0/GnosisSafeContract_V1_2_0_Web3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/GnosisSafe/v1.3.0/GnosisSafeContract_V1_3_0_Web3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/GnosisSafe/v1.3.0/GnosisSafeContract_V1_3_0_Web3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/GnosisSafeProxyFactory/v1.0.0/GnosisSafeProxyFactoryContract_V1_0_0_Web3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/GnosisSafeProxyFactory/v1.0.0/GnosisSafeProxyFactoryContract_V1_0_0_Web3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/GnosisSafeProxyFactory/v1.1.1/GnosisSafeProxyFactoryContract_V1_1_1_Web3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/GnosisSafeProxyFactory/v1.1.1/GnosisSafeProxyFactoryContract_V1_1_1_Web3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/GnosisSafeProxyFactory/v1.3.0/GnosisSafeProxyFactoryContract_V1_3_0_Web3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/GnosisSafeProxyFactory/v1.3.0/GnosisSafeProxyFactoryContract_V1_3_0_Web3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/MultiSend/v1.1.1/MultiSendContract_V1_1_1_Web3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/MultiSend/v1.1.1/MultiSendContract_V1_1_1_Web3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/MultiSend/v1.3.0/MultiSendContract_V1_3_0_Web3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/MultiSend/v1.3.0/MultiSendContract_V1_3_0_Web3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/MultiSendCallOnly/v1.3.0/MultiSendCallOnlyContract_V1_3_0_Web3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/MultiSendCallOnly/v1.3.0/MultiSendCallOnlyContract_V1_3_0_Web3.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_V1_3_0_Web3.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/contracts/SignMessageLib/v1.3.0/SignMessageLibContract_V1_3_0_Web3.ts","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/types.js","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/safes.js","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.4.0/safe_l2.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.4.0/safe.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.3.0/gnosis_safe_l2.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.3.0/gnosis_safe.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.2.0/gnosis_safe.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.1.1/gnosis_safe.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.0.0/gnosis_safe.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/utils.js","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/factories.js","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.0.0/proxy_factory.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.1.1/proxy_factory.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.3.0/proxy_factory.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.4.0/safe_proxy_factory.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/libs.js","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.3.0/create_call.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.4.0/create_call.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.1.1/multi_send.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.3.0/multi_send.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.4.0/multi_send.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.3.0/multi_send_call_only.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.4.0/multi_send_call_only.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.3.0/sign_message_lib.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.4.0/sign_message_lib.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/handler.js","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.1.1/default_callback_handler.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.3.0/compatibility_fallback_handler.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.4.0/compatibility_fallback_handler.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/accessors.js","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.3.0/simulate_tx_accessor.json","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/assets/v1.4.0/simulate_tx_accessor.json","node_modules/@safe-global/protocol-kit/dist/src/managers/contractManager.js","node_modules/@safe-global/protocol-kit/src/managers/contractManager.ts","node_modules/@safe-global/protocol-kit/dist/src/contracts/config.js","node_modules/@safe-global/protocol-kit/src/contracts/config.ts","node_modules/@safe-global/protocol-kit/dist/src/contracts/safeDeploymentContracts.js","node_modules/@safe-global/protocol-kit/src/contracts/safeDeploymentContracts.ts","node_modules/@safe-global/protocol-kit/node_modules/@safe-global/safe-deployments/dist/index.js","node_modules/@safe-global/protocol-kit/dist/src/utils/types.js","node_modules/@safe-global/protocol-kit/src/utils/types.ts","node_modules/@safe-global/protocol-kit/dist/src/Safe.js","node_modules/@safe-global/protocol-kit/src/Safe.ts","node_modules/@safe-global/protocol-kit/dist/src/contracts/utils.js","node_modules/@safe-global/protocol-kit/src/contracts/utils.ts","node_modules/@safe-global/protocol-kit/dist/src/managers/fallbackHandlerManager.js","node_modules/@safe-global/protocol-kit/src/managers/fallbackHandlerManager.ts","node_modules/@safe-global/protocol-kit/dist/src/managers/guardManager.js","node_modules/@safe-global/protocol-kit/src/managers/guardManager.ts","node_modules/@safe-global/protocol-kit/dist/src/managers/moduleManager.js","node_modules/@safe-global/protocol-kit/src/managers/moduleManager.ts","node_modules/@safe-global/protocol-kit/dist/src/managers/ownerManager.js","node_modules/@safe-global/protocol-kit/src/managers/ownerManager.ts","node_modules/@safe-global/protocol-kit/dist/src/safeFactory/index.js","node_modules/@safe-global/protocol-kit/src/safeFactory/index.ts","src/app.ts","node_modules/@safe-global/protocol-kit/dist/src/index.js","node_modules/@safe-global/protocol-kit/src/index.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/ethers/index.js","node_modules/@safe-global/protocol-kit/src/adapters/ethers/index.ts","node_modules/@safe-global/protocol-kit/dist/src/adapters/web3/index.js","node_modules/@safe-global/protocol-kit/src/adapters/web3/index.ts","node_modules/toastify-js/src/toastify.js","node_modules/ethers/lib.esm/index.js","node_modules/ethers/src.ts/index.ts","node_modules/ethers/lib.esm/ethers.js","node_modules/ethers/src.ts/ethers.ts","node_modules/@ethersproject/constants/lib.esm/index.js","node_modules/@ethersproject/constants/src.ts/index.ts","node_modules/@ethersproject/constants/lib.esm/addresses.js","node_modules/@ethersproject/constants/src.ts/addresses.ts","node_modules/@ethersproject/constants/lib.esm/strings.js","node_modules/@ethersproject/constants/src.ts/strings.ts","node_modules/@ethersproject/providers/lib.esm/index.js","node_modules/@ethersproject/providers/src.ts/index.ts","node_modules/@ethersproject/networks/lib.esm/index.js","node_modules/@ethersproject/networks/src.ts/index.ts","node_modules/@ethersproject/networks/lib.esm/_version.js","node_modules/@ethersproject/networks/src.ts/_version.ts","node_modules/@ethersproject/providers/lib.esm/base-provider.js","node_modules/@ethersproject/providers/src.ts/base-provider.ts","node_modules/bech32/index.js","node_modules/@ethersproject/providers/lib.esm/_version.js","node_modules/@ethersproject/providers/src.ts/_version.ts","node_modules/@ethersproject/providers/lib.esm/formatter.js","node_modules/@ethersproject/providers/src.ts/formatter.ts","node_modules/@ethersproject/providers/lib.esm/alchemy-provider.js","node_modules/@ethersproject/providers/src.ts/alchemy-provider.ts","node_modules/@ethersproject/providers/lib.esm/websocket-provider.js","node_modules/@ethersproject/providers/src.ts/websocket-provider.ts","node_modules/@ethersproject/providers/lib.esm/json-rpc-provider.js","node_modules/@ethersproject/providers/src.ts/json-rpc-provider.ts","node_modules/@ethersproject/providers/lib.esm/ws.js","node_modules/@ethersproject/providers/src.ts/browser-ws.ts","node_modules/@ethersproject/providers/lib.esm/url-json-rpc-provider.js","node_modules/@ethersproject/providers/src.ts/url-json-rpc-provider.ts","node_modules/@ethersproject/providers/lib.esm/ankr-provider.js","node_modules/@ethersproject/providers/src.ts/ankr-provider.ts","node_modules/@ethersproject/providers/lib.esm/cloudflare-provider.js","node_modules/@ethersproject/providers/src.ts/cloudflare-provider.ts","node_modules/@ethersproject/providers/lib.esm/etherscan-provider.js","node_modules/@ethersproject/providers/src.ts/etherscan-provider.ts","node_modules/@ethersproject/providers/lib.esm/fallback-provider.js","node_modules/@ethersproject/providers/src.ts/fallback-provider.ts","node_modules/@ethersproject/providers/lib.esm/ipc-provider.js","node_modules/@ethersproject/providers/src.ts/browser-ipc-provider.ts","node_modules/@ethersproject/providers/lib.esm/infura-provider.js","node_modules/@ethersproject/providers/src.ts/infura-provider.ts","node_modules/@ethersproject/providers/lib.esm/json-rpc-batch-provider.js","node_modules/@ethersproject/providers/src.ts/json-rpc-batch-provider.ts","node_modules/@ethersproject/providers/lib.esm/nodesmith-provider.js","node_modules/@ethersproject/providers/src.ts/nodesmith-provider.ts","node_modules/@ethersproject/providers/lib.esm/pocket-provider.js","node_modules/@ethersproject/providers/src.ts/pocket-provider.ts","node_modules/@ethersproject/providers/lib.esm/web3-provider.js","node_modules/@ethersproject/providers/src.ts/web3-provider.ts","node_modules/ethers/lib.esm/_version.js","node_modules/ethers/src.ts/_version.ts","node_modules/ethers/lib/utils.js","node_modules/@zoralabs/zorb/dist/component.umd.js","src/chains.ts"],"sourcesContent":["function $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\nvar $parcel$global =\ntypeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequireb59e\"];\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequireb59e\"] = parcelRequire;\n}\nparcelRequire.register(\"5UmCz\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $h3YQx = parcelRequire(\"h3YQx\");\nclass $44d3bac8adac736b$var$CreateCallEthersContract {\n constructor(contract){\n this.contract = contract;\n this.encode = (methodName, params)=>{\n return this.contract.interface.encodeFunctionData(methodName, params);\n };\n }\n getAddress() {\n return this.contract.address;\n }\n async performCreate2(value, deploymentData, salt, options) {\n if (options && !options.gasLimit) options.gasLimit = await this.estimateGas(\"performCreate2\", [\n value,\n deploymentData,\n salt\n ], {\n ...options\n });\n const txResponse = await this.contract.performCreate2(value, deploymentData, salt, options);\n return (0, $h3YQx.toTxResult)(txResponse, options);\n }\n async performCreate(value, deploymentData, options) {\n if (options && !options.gasLimit) options.gasLimit = await this.estimateGas(\"performCreate\", [\n value,\n deploymentData\n ], {\n ...options\n });\n const txResponse = await this.contract.performCreate(value, deploymentData, options);\n return (0, $h3YQx.toTxResult)(txResponse, options);\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.estimateGas[methodName](...params, options)).toString();\n }\n}\nmodule.exports.default = $44d3bac8adac736b$var$CreateCallEthersContract;\n\n});\nparcelRequire.register(\"h3YQx\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.isSignerCompatible = module.exports.isTypedDataSigner = module.exports.toTxResult = module.exports.sameString = void 0;\n\nvar $j7x7T = parcelRequire(\"j7x7T\");\nfunction $c6c1ea52f5f9d8b6$var$sameString(str1, str2) {\n return str1.toLowerCase() === str2.toLowerCase();\n}\nmodule.exports.sameString = $c6c1ea52f5f9d8b6$var$sameString;\nfunction $c6c1ea52f5f9d8b6$var$toTxResult(transactionResponse, options) {\n return {\n hash: transactionResponse.hash,\n options: options,\n transactionResponse: transactionResponse\n };\n}\nmodule.exports.toTxResult = $c6c1ea52f5f9d8b6$var$toTxResult;\nfunction $c6c1ea52f5f9d8b6$var$isTypedDataSigner(signer) {\n return signer._signTypedData !== undefined;\n}\nmodule.exports.isTypedDataSigner = $c6c1ea52f5f9d8b6$var$isTypedDataSigner;\n/**\n * Check if the signerOrProvider is compatible with `Signer`\n * @param signerOrProvider - Signer or provider\n * @returns true if the parameter is compatible with `Signer`\n */ function $c6c1ea52f5f9d8b6$var$isSignerCompatible(signerOrProvider) {\n const candidate = signerOrProvider;\n return typeof candidate.signMessage === \"function\" && typeof candidate.signTransaction === \"function\" && candidate._isSigner || candidate instanceof $j7x7T.Signer;\n}\nmodule.exports.isSignerCompatible = $c6c1ea52f5f9d8b6$var$isSignerCompatible;\n\n});\nparcelRequire.register(\"j7x7T\", function(module, exports) {\n\n$parcel$export(module.exports, \"Signer\", () => $deb85df20e19ba32$export$fdf54fdde81cc9f0);\n$parcel$export(module.exports, \"VoidSigner\", () => $deb85df20e19ba32$export$7dbc56d9b9612bad);\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $2FBHa = parcelRequire(\"2FBHa\");\n\"use strict\";\nvar $deb85df20e19ba32$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $deb85df20e19ba32$var$logger = new (0, $d1hml.Logger)((0, $2FBHa.version));\nconst $deb85df20e19ba32$var$allowedTransactionKeys = [\n \"accessList\",\n \"ccipReadEnabled\",\n \"chainId\",\n \"customData\",\n \"data\",\n \"from\",\n \"gasLimit\",\n \"gasPrice\",\n \"maxFeePerGas\",\n \"maxPriorityFeePerGas\",\n \"nonce\",\n \"to\",\n \"type\",\n \"value\"\n];\nconst $deb85df20e19ba32$var$forwardErrors = [\n (0, $d1hml.Logger).errors.INSUFFICIENT_FUNDS,\n (0, $d1hml.Logger).errors.NONCE_EXPIRED,\n (0, $d1hml.Logger).errors.REPLACEMENT_UNDERPRICED\n];\nclass $deb85df20e19ba32$export$fdf54fdde81cc9f0 {\n ///////////////////\n // Sub-classes MUST call super\n constructor(){\n $deb85df20e19ba32$var$logger.checkAbstract(new.target, $deb85df20e19ba32$export$fdf54fdde81cc9f0);\n (0, $e72ut.defineReadOnly)(this, \"_isSigner\", true);\n }\n ///////////////////\n // Sub-classes MAY override these\n getBalance(blockTag) {\n return $deb85df20e19ba32$var$__awaiter(this, void 0, void 0, function*() {\n this._checkProvider(\"getBalance\");\n return yield this.provider.getBalance(this.getAddress(), blockTag);\n });\n }\n getTransactionCount(blockTag) {\n return $deb85df20e19ba32$var$__awaiter(this, void 0, void 0, function*() {\n this._checkProvider(\"getTransactionCount\");\n return yield this.provider.getTransactionCount(this.getAddress(), blockTag);\n });\n }\n // Populates \"from\" if unspecified, and estimates the gas for the transaction\n estimateGas(transaction) {\n return $deb85df20e19ba32$var$__awaiter(this, void 0, void 0, function*() {\n this._checkProvider(\"estimateGas\");\n const tx = yield (0, $e72ut.resolveProperties)(this.checkTransaction(transaction));\n return yield this.provider.estimateGas(tx);\n });\n }\n // Populates \"from\" if unspecified, and calls with the transaction\n call(transaction, blockTag) {\n return $deb85df20e19ba32$var$__awaiter(this, void 0, void 0, function*() {\n this._checkProvider(\"call\");\n const tx = yield (0, $e72ut.resolveProperties)(this.checkTransaction(transaction));\n return yield this.provider.call(tx, blockTag);\n });\n }\n // Populates all fields in a transaction, signs it and sends it to the network\n sendTransaction(transaction) {\n return $deb85df20e19ba32$var$__awaiter(this, void 0, void 0, function*() {\n this._checkProvider(\"sendTransaction\");\n const tx = yield this.populateTransaction(transaction);\n const signedTx = yield this.signTransaction(tx);\n return yield this.provider.sendTransaction(signedTx);\n });\n }\n getChainId() {\n return $deb85df20e19ba32$var$__awaiter(this, void 0, void 0, function*() {\n this._checkProvider(\"getChainId\");\n const network = yield this.provider.getNetwork();\n return network.chainId;\n });\n }\n getGasPrice() {\n return $deb85df20e19ba32$var$__awaiter(this, void 0, void 0, function*() {\n this._checkProvider(\"getGasPrice\");\n return yield this.provider.getGasPrice();\n });\n }\n getFeeData() {\n return $deb85df20e19ba32$var$__awaiter(this, void 0, void 0, function*() {\n this._checkProvider(\"getFeeData\");\n return yield this.provider.getFeeData();\n });\n }\n resolveName(name) {\n return $deb85df20e19ba32$var$__awaiter(this, void 0, void 0, function*() {\n this._checkProvider(\"resolveName\");\n return yield this.provider.resolveName(name);\n });\n }\n // Checks a transaction does not contain invalid keys and if\n // no \"from\" is provided, populates it.\n // - does NOT require a provider\n // - adds \"from\" is not present\n // - returns a COPY (safe to mutate the result)\n // By default called from: (overriding these prevents it)\n // - call\n // - estimateGas\n // - populateTransaction (and therefor sendTransaction)\n checkTransaction(transaction) {\n for(const key in transaction)if ($deb85df20e19ba32$var$allowedTransactionKeys.indexOf(key) === -1) $deb85df20e19ba32$var$logger.throwArgumentError(\"invalid transaction key: \" + key, \"transaction\", transaction);\n const tx = (0, $e72ut.shallowCopy)(transaction);\n if (tx.from == null) tx.from = this.getAddress();\n else // Make sure any provided address matches this signer\n tx.from = Promise.all([\n Promise.resolve(tx.from),\n this.getAddress()\n ]).then((result)=>{\n if (result[0].toLowerCase() !== result[1].toLowerCase()) $deb85df20e19ba32$var$logger.throwArgumentError(\"from address mismatch\", \"transaction\", transaction);\n return result[0];\n });\n return tx;\n }\n // Populates ALL keys for a transaction and checks that \"from\" matches\n // this Signer. Should be used by sendTransaction but NOT by signTransaction.\n // By default called from: (overriding these prevents it)\n // - sendTransaction\n //\n // Notes:\n // - We allow gasPrice for EIP-1559 as long as it matches maxFeePerGas\n populateTransaction(transaction) {\n return $deb85df20e19ba32$var$__awaiter(this, void 0, void 0, function*() {\n const tx = yield (0, $e72ut.resolveProperties)(this.checkTransaction(transaction));\n if (tx.to != null) {\n tx.to = Promise.resolve(tx.to).then((to)=>$deb85df20e19ba32$var$__awaiter(this, void 0, void 0, function*() {\n if (to == null) return null;\n const address = yield this.resolveName(to);\n if (address == null) $deb85df20e19ba32$var$logger.throwArgumentError(\"provided ENS name resolves to null\", \"tx.to\", to);\n return address;\n }));\n // Prevent this error from causing an UnhandledPromiseException\n tx.to.catch((error)=>{});\n }\n // Do not allow mixing pre-eip-1559 and eip-1559 properties\n const hasEip1559 = tx.maxFeePerGas != null || tx.maxPriorityFeePerGas != null;\n if (tx.gasPrice != null && (tx.type === 2 || hasEip1559)) $deb85df20e19ba32$var$logger.throwArgumentError(\"eip-1559 transaction do not support gasPrice\", \"transaction\", transaction);\n else if ((tx.type === 0 || tx.type === 1) && hasEip1559) $deb85df20e19ba32$var$logger.throwArgumentError(\"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas\", \"transaction\", transaction);\n if ((tx.type === 2 || tx.type == null) && tx.maxFeePerGas != null && tx.maxPriorityFeePerGas != null) // Fully-formed EIP-1559 transaction (skip getFeeData)\n tx.type = 2;\n else if (tx.type === 0 || tx.type === 1) // Explicit Legacy or EIP-2930 transaction\n // Populate missing gasPrice\n {\n if (tx.gasPrice == null) tx.gasPrice = this.getGasPrice();\n } else {\n // We need to get fee data to determine things\n const feeData = yield this.getFeeData();\n if (tx.type == null) {\n // We need to auto-detect the intended type of this transaction...\n if (feeData.maxFeePerGas != null && feeData.maxPriorityFeePerGas != null) {\n // The network supports EIP-1559!\n // Upgrade transaction from null to eip-1559\n tx.type = 2;\n if (tx.gasPrice != null) {\n // Using legacy gasPrice property on an eip-1559 network,\n // so use gasPrice as both fee properties\n const gasPrice = tx.gasPrice;\n delete tx.gasPrice;\n tx.maxFeePerGas = gasPrice;\n tx.maxPriorityFeePerGas = gasPrice;\n } else {\n // Populate missing fee data\n if (tx.maxFeePerGas == null) tx.maxFeePerGas = feeData.maxFeePerGas;\n if (tx.maxPriorityFeePerGas == null) tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas;\n }\n } else if (feeData.gasPrice != null) {\n // Network doesn't support EIP-1559...\n // ...but they are trying to use EIP-1559 properties\n if (hasEip1559) $deb85df20e19ba32$var$logger.throwError(\"network does not support EIP-1559\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"populateTransaction\"\n });\n // Populate missing fee data\n if (tx.gasPrice == null) tx.gasPrice = feeData.gasPrice;\n // Explicitly set untyped transaction to legacy\n tx.type = 0;\n } else // getFeeData has failed us.\n $deb85df20e19ba32$var$logger.throwError(\"failed to get consistent fee data\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"signer.getFeeData\"\n });\n } else if (tx.type === 2) {\n // Explicitly using EIP-1559\n // Populate missing fee data\n if (tx.maxFeePerGas == null) tx.maxFeePerGas = feeData.maxFeePerGas;\n if (tx.maxPriorityFeePerGas == null) tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas;\n }\n }\n if (tx.nonce == null) tx.nonce = this.getTransactionCount(\"pending\");\n if (tx.gasLimit == null) tx.gasLimit = this.estimateGas(tx).catch((error)=>{\n if ($deb85df20e19ba32$var$forwardErrors.indexOf(error.code) >= 0) throw error;\n return $deb85df20e19ba32$var$logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", (0, $d1hml.Logger).errors.UNPREDICTABLE_GAS_LIMIT, {\n error: error,\n tx: tx\n });\n });\n if (tx.chainId == null) tx.chainId = this.getChainId();\n else tx.chainId = Promise.all([\n Promise.resolve(tx.chainId),\n this.getChainId()\n ]).then((results)=>{\n if (results[1] !== 0 && results[0] !== results[1]) $deb85df20e19ba32$var$logger.throwArgumentError(\"chainId address mismatch\", \"transaction\", transaction);\n return results[0];\n });\n return yield (0, $e72ut.resolveProperties)(tx);\n });\n }\n ///////////////////\n // Sub-classes SHOULD leave these alone\n _checkProvider(operation) {\n if (!this.provider) $deb85df20e19ba32$var$logger.throwError(\"missing provider\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: operation || \"_checkProvider\"\n });\n }\n static isSigner(value) {\n return !!(value && value._isSigner);\n }\n}\nclass $deb85df20e19ba32$export$7dbc56d9b9612bad extends $deb85df20e19ba32$export$fdf54fdde81cc9f0 {\n constructor(address, provider){\n super();\n (0, $e72ut.defineReadOnly)(this, \"address\", address);\n (0, $e72ut.defineReadOnly)(this, \"provider\", provider || null);\n }\n getAddress() {\n return Promise.resolve(this.address);\n }\n _fail(message, operation) {\n return Promise.resolve().then(()=>{\n $deb85df20e19ba32$var$logger.throwError(message, (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: operation\n });\n });\n }\n signMessage(message) {\n return this._fail(\"VoidSigner cannot sign messages\", \"signMessage\");\n }\n signTransaction(transaction) {\n return this._fail(\"VoidSigner cannot sign transactions\", \"signTransaction\");\n }\n _signTypedData(domain, types, value) {\n return this._fail(\"VoidSigner cannot sign typed data\", \"signTypedData\");\n }\n connect(provider) {\n return new $deb85df20e19ba32$export$7dbc56d9b9612bad(this.address, provider);\n }\n}\n\n});\nparcelRequire.register(\"e72ut\", function(module, exports) {\n\n$parcel$export(module.exports, \"defineReadOnly\", () => $a463a6b5f08d6875$export$104236534534f9be);\n$parcel$export(module.exports, \"getStatic\", () => $a463a6b5f08d6875$export$f695fbbf3cdaaf47);\n$parcel$export(module.exports, \"resolveProperties\", () => $a463a6b5f08d6875$export$d503dd157d963b60);\n$parcel$export(module.exports, \"checkProperties\", () => $a463a6b5f08d6875$export$ae5a316ba623b73a);\n$parcel$export(module.exports, \"shallowCopy\", () => $a463a6b5f08d6875$export$9c13236873b118a5);\n$parcel$export(module.exports, \"deepCopy\", () => $a463a6b5f08d6875$export$6c40052bed430212);\n$parcel$export(module.exports, \"Description\", () => $a463a6b5f08d6875$export$393edc798c47379d);\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $kgXnl = parcelRequire(\"kgXnl\");\n\"use strict\";\nvar $a463a6b5f08d6875$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $a463a6b5f08d6875$var$logger = new (0, $d1hml.Logger)((0, $kgXnl.version));\nfunction $a463a6b5f08d6875$export$104236534534f9be(object, name, value) {\n Object.defineProperty(object, name, {\n enumerable: true,\n value: value,\n writable: false\n });\n}\nfunction $a463a6b5f08d6875$export$f695fbbf3cdaaf47(ctor, key) {\n for(let i = 0; i < 32; i++){\n if (ctor[key]) return ctor[key];\n if (!ctor.prototype || typeof ctor.prototype !== \"object\") break;\n ctor = Object.getPrototypeOf(ctor.prototype).constructor;\n }\n return null;\n}\nfunction $a463a6b5f08d6875$export$d503dd157d963b60(object) {\n return $a463a6b5f08d6875$var$__awaiter(this, void 0, void 0, function*() {\n const promises = Object.keys(object).map((key)=>{\n const value = object[key];\n return Promise.resolve(value).then((v)=>({\n key: key,\n value: v\n }));\n });\n const results = yield Promise.all(promises);\n return results.reduce((accum, result)=>{\n accum[result.key] = result.value;\n return accum;\n }, {});\n });\n}\nfunction $a463a6b5f08d6875$export$ae5a316ba623b73a(object, properties) {\n if (!object || typeof object !== \"object\") $a463a6b5f08d6875$var$logger.throwArgumentError(\"invalid object\", \"object\", object);\n Object.keys(object).forEach((key)=>{\n if (!properties[key]) $a463a6b5f08d6875$var$logger.throwArgumentError(\"invalid object key - \" + key, \"transaction:\" + key, object);\n });\n}\nfunction $a463a6b5f08d6875$export$9c13236873b118a5(object) {\n const result = {};\n for(const key in object)result[key] = object[key];\n return result;\n}\nconst $a463a6b5f08d6875$var$opaque = {\n bigint: true,\n boolean: true,\n \"function\": true,\n number: true,\n string: true\n};\nfunction $a463a6b5f08d6875$var$_isFrozen(object) {\n // Opaque objects are not mutable, so safe to copy by assignment\n if (object === undefined || object === null || $a463a6b5f08d6875$var$opaque[typeof object]) return true;\n if (Array.isArray(object) || typeof object === \"object\") {\n if (!Object.isFrozen(object)) return false;\n const keys = Object.keys(object);\n for(let i = 0; i < keys.length; i++){\n let value = null;\n try {\n value = object[keys[i]];\n } catch (error) {\n continue;\n }\n if (!$a463a6b5f08d6875$var$_isFrozen(value)) return false;\n }\n return true;\n }\n return $a463a6b5f08d6875$var$logger.throwArgumentError(`Cannot deepCopy ${typeof object}`, \"object\", object);\n}\n// Returns a new copy of object, such that no properties may be replaced.\n// New properties may be added only to objects.\nfunction $a463a6b5f08d6875$var$_deepCopy(object) {\n if ($a463a6b5f08d6875$var$_isFrozen(object)) return object;\n // Arrays are mutable, so we need to create a copy\n if (Array.isArray(object)) return Object.freeze(object.map((item)=>$a463a6b5f08d6875$export$6c40052bed430212(item)));\n if (typeof object === \"object\") {\n const result = {};\n for(const key in object){\n const value = object[key];\n if (value === undefined) continue;\n $a463a6b5f08d6875$export$104236534534f9be(result, key, $a463a6b5f08d6875$export$6c40052bed430212(value));\n }\n return result;\n }\n return $a463a6b5f08d6875$var$logger.throwArgumentError(`Cannot deepCopy ${typeof object}`, \"object\", object);\n}\nfunction $a463a6b5f08d6875$export$6c40052bed430212(object) {\n return $a463a6b5f08d6875$var$_deepCopy(object);\n}\nclass $a463a6b5f08d6875$export$393edc798c47379d {\n constructor(info){\n for(const key in info)this[key] = $a463a6b5f08d6875$export$6c40052bed430212(info[key]);\n }\n}\n\n});\nparcelRequire.register(\"d1hml\", function(module, exports) {\n\n$parcel$export(module.exports, \"ErrorCode\", () => $97a8d5981d597bb7$export$d4e71bc0b80dc0fb);\n$parcel$export(module.exports, \"Logger\", () => $97a8d5981d597bb7$export$efa9a398d6368992);\n\nvar $6utZY = parcelRequire(\"6utZY\");\n\"use strict\";\nlet $97a8d5981d597bb7$var$_permanentCensorErrors = false;\nlet $97a8d5981d597bb7$var$_censorErrors = false;\nconst $97a8d5981d597bb7$var$LogLevels = {\n debug: 1,\n \"default\": 2,\n info: 2,\n warning: 3,\n error: 4,\n off: 5\n};\nlet $97a8d5981d597bb7$var$_logLevel = $97a8d5981d597bb7$var$LogLevels[\"default\"];\nlet $97a8d5981d597bb7$var$_globalLogger = null;\nfunction $97a8d5981d597bb7$var$_checkNormalize() {\n try {\n const missing = [];\n // Make sure all forms of normalization are supported\n [\n \"NFD\",\n \"NFC\",\n \"NFKD\",\n \"NFKC\"\n ].forEach((form)=>{\n try {\n if (\"test\".normalize(form) !== \"test\") throw new Error(\"bad normalize\");\n } catch (error) {\n missing.push(form);\n }\n });\n if (missing.length) throw new Error(\"missing \" + missing.join(\", \"));\n if (String.fromCharCode(0xe9).normalize(\"NFD\") !== String.fromCharCode(0x65, 0x0301)) throw new Error(\"broken implementation\");\n } catch (error) {\n return error.message;\n }\n return null;\n}\nconst $97a8d5981d597bb7$var$_normalizeError = $97a8d5981d597bb7$var$_checkNormalize();\nvar $97a8d5981d597bb7$export$243e62d78d3b544d;\n(function(LogLevel) {\n LogLevel[\"DEBUG\"] = \"DEBUG\";\n LogLevel[\"INFO\"] = \"INFO\";\n LogLevel[\"WARNING\"] = \"WARNING\";\n LogLevel[\"ERROR\"] = \"ERROR\";\n LogLevel[\"OFF\"] = \"OFF\";\n})($97a8d5981d597bb7$export$243e62d78d3b544d || ($97a8d5981d597bb7$export$243e62d78d3b544d = {}));\nvar $97a8d5981d597bb7$export$d4e71bc0b80dc0fb;\n(function(ErrorCode) {\n ///////////////////\n // Generic Errors\n // Unknown Error\n ErrorCode[\"UNKNOWN_ERROR\"] = \"UNKNOWN_ERROR\";\n // Not Implemented\n ErrorCode[\"NOT_IMPLEMENTED\"] = \"NOT_IMPLEMENTED\";\n // Unsupported Operation\n // - operation\n ErrorCode[\"UNSUPPORTED_OPERATION\"] = \"UNSUPPORTED_OPERATION\";\n // Network Error (i.e. Ethereum Network, such as an invalid chain ID)\n // - event (\"noNetwork\" is not re-thrown in provider.ready; otherwise thrown)\n ErrorCode[\"NETWORK_ERROR\"] = \"NETWORK_ERROR\";\n // Some sort of bad response from the server\n ErrorCode[\"SERVER_ERROR\"] = \"SERVER_ERROR\";\n // Timeout\n ErrorCode[\"TIMEOUT\"] = \"TIMEOUT\";\n ///////////////////\n // Operational Errors\n // Buffer Overrun\n ErrorCode[\"BUFFER_OVERRUN\"] = \"BUFFER_OVERRUN\";\n // Numeric Fault\n // - operation: the operation being executed\n // - fault: the reason this faulted\n ErrorCode[\"NUMERIC_FAULT\"] = \"NUMERIC_FAULT\";\n ///////////////////\n // Argument Errors\n // Missing new operator to an object\n // - name: The name of the class\n ErrorCode[\"MISSING_NEW\"] = \"MISSING_NEW\";\n // Invalid argument (e.g. value is incompatible with type) to a function:\n // - argument: The argument name that was invalid\n // - value: The value of the argument\n ErrorCode[\"INVALID_ARGUMENT\"] = \"INVALID_ARGUMENT\";\n // Missing argument to a function:\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n ErrorCode[\"MISSING_ARGUMENT\"] = \"MISSING_ARGUMENT\";\n // Too many arguments\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n ErrorCode[\"UNEXPECTED_ARGUMENT\"] = \"UNEXPECTED_ARGUMENT\";\n ///////////////////\n // Blockchain Errors\n // Call exception\n // - transaction: the transaction\n // - address?: the contract address\n // - args?: The arguments passed into the function\n // - method?: The Solidity method signature\n // - errorSignature?: The EIP848 error signature\n // - errorArgs?: The EIP848 error parameters\n // - reason: The reason (only for EIP848 \"Error(string)\")\n ErrorCode[\"CALL_EXCEPTION\"] = \"CALL_EXCEPTION\";\n // Insufficient funds (< value + gasLimit * gasPrice)\n // - transaction: the transaction attempted\n ErrorCode[\"INSUFFICIENT_FUNDS\"] = \"INSUFFICIENT_FUNDS\";\n // Nonce has already been used\n // - transaction: the transaction attempted\n ErrorCode[\"NONCE_EXPIRED\"] = \"NONCE_EXPIRED\";\n // The replacement fee for the transaction is too low\n // - transaction: the transaction attempted\n ErrorCode[\"REPLACEMENT_UNDERPRICED\"] = \"REPLACEMENT_UNDERPRICED\";\n // The gas limit could not be estimated\n // - transaction: the transaction passed to estimateGas\n ErrorCode[\"UNPREDICTABLE_GAS_LIMIT\"] = \"UNPREDICTABLE_GAS_LIMIT\";\n // The transaction was replaced by one with a higher gas price\n // - reason: \"cancelled\", \"replaced\" or \"repriced\"\n // - cancelled: true if reason == \"cancelled\" or reason == \"replaced\")\n // - hash: original transaction hash\n // - replacement: the full TransactionsResponse for the replacement\n // - receipt: the receipt of the replacement\n ErrorCode[\"TRANSACTION_REPLACED\"] = \"TRANSACTION_REPLACED\";\n ///////////////////\n // Interaction Errors\n // The user rejected the action, such as signing a message or sending\n // a transaction\n ErrorCode[\"ACTION_REJECTED\"] = \"ACTION_REJECTED\";\n})($97a8d5981d597bb7$export$d4e71bc0b80dc0fb || ($97a8d5981d597bb7$export$d4e71bc0b80dc0fb = {}));\nconst $97a8d5981d597bb7$var$HEX = \"0123456789abcdef\";\nclass $97a8d5981d597bb7$export$efa9a398d6368992 {\n constructor(version){\n Object.defineProperty(this, \"version\", {\n enumerable: true,\n value: version,\n writable: false\n });\n }\n _log(logLevel, args) {\n const level = logLevel.toLowerCase();\n if ($97a8d5981d597bb7$var$LogLevels[level] == null) this.throwArgumentError(\"invalid log level name\", \"logLevel\", logLevel);\n if ($97a8d5981d597bb7$var$_logLevel > $97a8d5981d597bb7$var$LogLevels[level]) return;\n console.log.apply(console, args);\n }\n debug(...args) {\n this._log($97a8d5981d597bb7$export$efa9a398d6368992.levels.DEBUG, args);\n }\n info(...args) {\n this._log($97a8d5981d597bb7$export$efa9a398d6368992.levels.INFO, args);\n }\n warn(...args) {\n this._log($97a8d5981d597bb7$export$efa9a398d6368992.levels.WARNING, args);\n }\n makeError(message, code, params) {\n // Errors are being censored\n if ($97a8d5981d597bb7$var$_censorErrors) return this.makeError(\"censored error\", code, {});\n if (!code) code = $97a8d5981d597bb7$export$efa9a398d6368992.errors.UNKNOWN_ERROR;\n if (!params) params = {};\n const messageDetails = [];\n Object.keys(params).forEach((key)=>{\n const value = params[key];\n try {\n if (value instanceof Uint8Array) {\n let hex = \"\";\n for(let i = 0; i < value.length; i++){\n hex += $97a8d5981d597bb7$var$HEX[value[i] >> 4];\n hex += $97a8d5981d597bb7$var$HEX[value[i] & 0x0f];\n }\n messageDetails.push(key + \"=Uint8Array(0x\" + hex + \")\");\n } else messageDetails.push(key + \"=\" + JSON.stringify(value));\n } catch (error) {\n messageDetails.push(key + \"=\" + JSON.stringify(params[key].toString()));\n }\n });\n messageDetails.push(`code=${code}`);\n messageDetails.push(`version=${this.version}`);\n const reason = message;\n let url = \"\";\n switch(code){\n case $97a8d5981d597bb7$export$d4e71bc0b80dc0fb.NUMERIC_FAULT:\n {\n url = \"NUMERIC_FAULT\";\n const fault = message;\n switch(fault){\n case \"overflow\":\n case \"underflow\":\n case \"division-by-zero\":\n url += \"-\" + fault;\n break;\n case \"negative-power\":\n case \"negative-width\":\n url += \"-unsupported\";\n break;\n case \"unbound-bitwise-result\":\n url += \"-unbound-result\";\n break;\n }\n break;\n }\n case $97a8d5981d597bb7$export$d4e71bc0b80dc0fb.CALL_EXCEPTION:\n case $97a8d5981d597bb7$export$d4e71bc0b80dc0fb.INSUFFICIENT_FUNDS:\n case $97a8d5981d597bb7$export$d4e71bc0b80dc0fb.MISSING_NEW:\n case $97a8d5981d597bb7$export$d4e71bc0b80dc0fb.NONCE_EXPIRED:\n case $97a8d5981d597bb7$export$d4e71bc0b80dc0fb.REPLACEMENT_UNDERPRICED:\n case $97a8d5981d597bb7$export$d4e71bc0b80dc0fb.TRANSACTION_REPLACED:\n case $97a8d5981d597bb7$export$d4e71bc0b80dc0fb.UNPREDICTABLE_GAS_LIMIT:\n url = code;\n break;\n }\n if (url) message += \" [ See: https://links.ethers.org/v5-errors-\" + url + \" ]\";\n if (messageDetails.length) message += \" (\" + messageDetails.join(\", \") + \")\";\n // @TODO: Any??\n const error = new Error(message);\n error.reason = reason;\n error.code = code;\n Object.keys(params).forEach(function(key) {\n error[key] = params[key];\n });\n return error;\n }\n throwError(message, code, params) {\n throw this.makeError(message, code, params);\n }\n throwArgumentError(message, name, value) {\n return this.throwError(message, $97a8d5981d597bb7$export$efa9a398d6368992.errors.INVALID_ARGUMENT, {\n argument: name,\n value: value\n });\n }\n assert(condition, message, code, params) {\n if (!!condition) return;\n this.throwError(message, code, params);\n }\n assertArgument(condition, message, name, value) {\n if (!!condition) return;\n this.throwArgumentError(message, name, value);\n }\n checkNormalize(message) {\n if (message == null) message = \"platform missing String.prototype.normalize\";\n if ($97a8d5981d597bb7$var$_normalizeError) this.throwError(\"platform missing String.prototype.normalize\", $97a8d5981d597bb7$export$efa9a398d6368992.errors.UNSUPPORTED_OPERATION, {\n operation: \"String.prototype.normalize\",\n form: $97a8d5981d597bb7$var$_normalizeError\n });\n }\n checkSafeUint53(value, message) {\n if (typeof value !== \"number\") return;\n if (message == null) message = \"value not safe\";\n if (value < 0 || value >= 0x1fffffffffffff) this.throwError(message, $97a8d5981d597bb7$export$efa9a398d6368992.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"out-of-safe-range\",\n value: value\n });\n if (value % 1) this.throwError(message, $97a8d5981d597bb7$export$efa9a398d6368992.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"non-integer\",\n value: value\n });\n }\n checkArgumentCount(count, expectedCount, message) {\n if (message) message = \": \" + message;\n else message = \"\";\n if (count < expectedCount) this.throwError(\"missing argument\" + message, $97a8d5981d597bb7$export$efa9a398d6368992.errors.MISSING_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n if (count > expectedCount) this.throwError(\"too many arguments\" + message, $97a8d5981d597bb7$export$efa9a398d6368992.errors.UNEXPECTED_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n }\n checkNew(target, kind) {\n if (target === Object || target == null) this.throwError(\"missing new\", $97a8d5981d597bb7$export$efa9a398d6368992.errors.MISSING_NEW, {\n name: kind.name\n });\n }\n checkAbstract(target, kind) {\n if (target === kind) this.throwError(\"cannot instantiate abstract class \" + JSON.stringify(kind.name) + \" directly; use a sub-class\", $97a8d5981d597bb7$export$efa9a398d6368992.errors.UNSUPPORTED_OPERATION, {\n name: target.name,\n operation: \"new\"\n });\n else if (target === Object || target == null) this.throwError(\"missing new\", $97a8d5981d597bb7$export$efa9a398d6368992.errors.MISSING_NEW, {\n name: kind.name\n });\n }\n static globalLogger() {\n if (!$97a8d5981d597bb7$var$_globalLogger) $97a8d5981d597bb7$var$_globalLogger = new $97a8d5981d597bb7$export$efa9a398d6368992((0, $6utZY.version));\n return $97a8d5981d597bb7$var$_globalLogger;\n }\n static setCensorship(censorship, permanent) {\n if (!censorship && permanent) this.globalLogger().throwError(\"cannot permanently disable censorship\", $97a8d5981d597bb7$export$efa9a398d6368992.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n if ($97a8d5981d597bb7$var$_permanentCensorErrors) {\n if (!censorship) return;\n this.globalLogger().throwError(\"error censorship permanent\", $97a8d5981d597bb7$export$efa9a398d6368992.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n }\n $97a8d5981d597bb7$var$_censorErrors = !!censorship;\n $97a8d5981d597bb7$var$_permanentCensorErrors = !!permanent;\n }\n static setLogLevel(logLevel) {\n const level = $97a8d5981d597bb7$var$LogLevels[logLevel.toLowerCase()];\n if (level == null) {\n $97a8d5981d597bb7$export$efa9a398d6368992.globalLogger().warn(\"invalid log level - \" + logLevel);\n return;\n }\n $97a8d5981d597bb7$var$_logLevel = level;\n }\n static from(version) {\n return new $97a8d5981d597bb7$export$efa9a398d6368992(version);\n }\n}\n$97a8d5981d597bb7$export$efa9a398d6368992.errors = $97a8d5981d597bb7$export$d4e71bc0b80dc0fb;\n$97a8d5981d597bb7$export$efa9a398d6368992.levels = $97a8d5981d597bb7$export$243e62d78d3b544d;\n\n});\nparcelRequire.register(\"6utZY\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $4b9cd088fca23de9$export$83d89fbfd8236492);\nconst $4b9cd088fca23de9$export$83d89fbfd8236492 = \"logger/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"kgXnl\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $ec235c03b0398629$export$83d89fbfd8236492);\nconst $ec235c03b0398629$export$83d89fbfd8236492 = \"properties/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"2FBHa\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $1f1ca693564f9708$export$83d89fbfd8236492);\nconst $1f1ca693564f9708$export$83d89fbfd8236492 = \"abstract-signer/5.7.0\";\n\n});\n\n\n\n\nparcelRequire.register(\"i0h9t\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $h3YQx = parcelRequire(\"h3YQx\");\nclass $d1b5881287dfb4ba$var$GnosisSafeContractEthers {\n constructor(contract){\n this.contract = contract;\n this.encode = (methodName, params)=>{\n return this.contract.interface.encodeFunctionData(methodName, params);\n };\n }\n async getVersion() {\n return await this.contract.VERSION();\n }\n getAddress() {\n return this.contract.address;\n }\n async getNonce() {\n return (await this.contract.nonce()).toNumber();\n }\n async getThreshold() {\n return (await this.contract.getThreshold()).toNumber();\n }\n async getOwners() {\n return this.contract.getOwners();\n }\n async isOwner(address) {\n return this.contract.isOwner(address);\n }\n async getTransactionHash(safeTransactionData) {\n return this.contract.getTransactionHash(safeTransactionData.to, safeTransactionData.value, safeTransactionData.data, safeTransactionData.operation, safeTransactionData.safeTxGas, safeTransactionData.baseGas, safeTransactionData.gasPrice, safeTransactionData.gasToken, safeTransactionData.refundReceiver, safeTransactionData.nonce);\n }\n async approvedHashes(ownerAddress, hash) {\n return this.contract.approvedHashes(ownerAddress, hash);\n }\n async approveHash(hash, options) {\n if (options && !options.gasLimit) options.gasLimit = await this.estimateGas(\"approveHash\", [\n hash\n ], {\n ...options\n });\n const txResponse = await this.contract.approveHash(hash, options);\n return (0, $h3YQx.toTxResult)(txResponse, options);\n }\n async isValidTransaction(safeTransaction, options) {\n let isTxValid = false;\n try {\n if (options && !options.gasLimit) options.gasLimit = await this.estimateGas(\"execTransaction\", [\n safeTransaction.data.to,\n safeTransaction.data.value,\n safeTransaction.data.data,\n safeTransaction.data.operation,\n safeTransaction.data.safeTxGas,\n safeTransaction.data.baseGas,\n safeTransaction.data.gasPrice,\n safeTransaction.data.gasToken,\n safeTransaction.data.refundReceiver,\n safeTransaction.encodedSignatures()\n ], {\n ...options\n });\n isTxValid = await this.contract.callStatic.execTransaction(safeTransaction.data.to, safeTransaction.data.value, safeTransaction.data.data, safeTransaction.data.operation, safeTransaction.data.safeTxGas, safeTransaction.data.baseGas, safeTransaction.data.gasPrice, safeTransaction.data.gasToken, safeTransaction.data.refundReceiver, safeTransaction.encodedSignatures(), options);\n } catch {}\n return isTxValid;\n }\n async execTransaction(safeTransaction, options) {\n if (options && !options.gasLimit) options.gasLimit = await this.estimateGas(\"execTransaction\", [\n safeTransaction.data.to,\n safeTransaction.data.value,\n safeTransaction.data.data,\n safeTransaction.data.operation,\n safeTransaction.data.safeTxGas,\n safeTransaction.data.baseGas,\n safeTransaction.data.gasPrice,\n safeTransaction.data.gasToken,\n safeTransaction.data.refundReceiver,\n safeTransaction.encodedSignatures()\n ], {\n ...options\n });\n const txResponse = await this.contract.execTransaction(safeTransaction.data.to, safeTransaction.data.value, safeTransaction.data.data, safeTransaction.data.operation, safeTransaction.data.safeTxGas, safeTransaction.data.baseGas, safeTransaction.data.gasPrice, safeTransaction.data.gasToken, safeTransaction.data.refundReceiver, safeTransaction.encodedSignatures(), options);\n return (0, $h3YQx.toTxResult)(txResponse, options);\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.estimateGas[methodName](...params, options)).toString();\n }\n}\nmodule.exports.default = $d1b5881287dfb4ba$var$GnosisSafeContractEthers;\n\n});\n\nparcelRequire.register(\"bITUK\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $1chjt = parcelRequire(\"1chjt\");\nclass $888f2d3084d1a6b1$var$GnosisSafeProxyFactoryEthersContract {\n constructor(contract){\n this.contract = contract;\n }\n getAddress() {\n return this.contract.address;\n }\n async proxyCreationCode() {\n return this.contract.proxyCreationCode();\n }\n async createProxy({ safeMasterCopyAddress: safeMasterCopyAddress , initializer: initializer , saltNonce: saltNonce , options: options , callback: callback }) {\n if ($1chjt.BigNumber.from(saltNonce).lt(0)) throw new Error(\"saltNonce must be greater than or equal to 0\");\n if (options && !options.gasLimit) options.gasLimit = await this.estimateGas(\"createProxyWithNonce\", [\n safeMasterCopyAddress,\n initializer,\n saltNonce\n ], {\n ...options\n });\n const proxyAddress = this.contract.createProxyWithNonce(safeMasterCopyAddress, initializer, saltNonce, options).then(async (txResponse)=>{\n var _a;\n if (callback) callback(txResponse.hash);\n const txReceipt = await txResponse.wait();\n const proxyCreationEvent = (_a = txReceipt === null || txReceipt === void 0 ? void 0 : txReceipt.events) === null || _a === void 0 ? void 0 : _a.find(({ event: event })=>event === \"ProxyCreation\");\n if (!proxyCreationEvent || !proxyCreationEvent.args) throw new Error(\"SafeProxy was not deployed correctly\");\n const proxyAddress = proxyCreationEvent.args[0];\n return proxyAddress;\n });\n return proxyAddress;\n }\n encode(methodName, params) {\n return this.contract.interface.encodeFunctionData(methodName, params);\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.estimateGas[methodName](...params, options)).toString();\n }\n}\nmodule.exports.default = $888f2d3084d1a6b1$var$GnosisSafeProxyFactoryEthersContract;\n\n});\nparcelRequire.register(\"1chjt\", function(module, exports) {\n\n$parcel$export(module.exports, \"isBigNumberish\", () => $0df4577496dcf693$export$a3d0a7fa9b65683b);\n$parcel$export(module.exports, \"BigNumber\", () => $0df4577496dcf693$export$d97aa349ed20696);\n$parcel$export(module.exports, \"_base36To16\", () => $0df4577496dcf693$export$51e4a08295f7770f);\n$parcel$export(module.exports, \"_base16To36\", () => $0df4577496dcf693$export$1293db5d29c264ff);\n\nvar $dEXSZ = parcelRequire(\"dEXSZ\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $e2x6L = parcelRequire(\"e2x6L\");\n\"use strict\";\nvar $0df4577496dcf693$var$BN = (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ))).BN;\nconst $0df4577496dcf693$var$logger = new (0, $d1hml.Logger)((0, $e2x6L.version));\nconst $0df4577496dcf693$var$_constructorGuard = {};\nconst $0df4577496dcf693$var$MAX_SAFE = 0x1fffffffffffff;\nfunction $0df4577496dcf693$export$a3d0a7fa9b65683b(value) {\n return value != null && ($0df4577496dcf693$export$d97aa349ed20696.isBigNumber(value) || typeof value === \"number\" && value % 1 === 0 || typeof value === \"string\" && !!value.match(/^-?[0-9]+$/) || (0, $aBzgs.isHexString)(value) || typeof value === \"bigint\" || (0, $aBzgs.isBytes)(value));\n}\n// Only warn about passing 10 into radix once\nlet $0df4577496dcf693$var$_warnedToStringRadix = false;\nclass $0df4577496dcf693$export$d97aa349ed20696 {\n constructor(constructorGuard, hex){\n if (constructorGuard !== $0df4577496dcf693$var$_constructorGuard) $0df4577496dcf693$var$logger.throwError(\"cannot call constructor directly; use BigNumber.from\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"new (BigNumber)\"\n });\n this._hex = hex;\n this._isBigNumber = true;\n Object.freeze(this);\n }\n fromTwos(value) {\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).fromTwos(value));\n }\n toTwos(value) {\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).toTwos(value));\n }\n abs() {\n if (this._hex[0] === \"-\") return $0df4577496dcf693$export$d97aa349ed20696.from(this._hex.substring(1));\n return this;\n }\n add(other) {\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).add($0df4577496dcf693$var$toBN(other)));\n }\n sub(other) {\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).sub($0df4577496dcf693$var$toBN(other)));\n }\n div(other) {\n const o = $0df4577496dcf693$export$d97aa349ed20696.from(other);\n if (o.isZero()) $0df4577496dcf693$var$throwFault(\"division-by-zero\", \"div\");\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).div($0df4577496dcf693$var$toBN(other)));\n }\n mul(other) {\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).mul($0df4577496dcf693$var$toBN(other)));\n }\n mod(other) {\n const value = $0df4577496dcf693$var$toBN(other);\n if (value.isNeg()) $0df4577496dcf693$var$throwFault(\"division-by-zero\", \"mod\");\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).umod(value));\n }\n pow(other) {\n const value = $0df4577496dcf693$var$toBN(other);\n if (value.isNeg()) $0df4577496dcf693$var$throwFault(\"negative-power\", \"pow\");\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).pow(value));\n }\n and(other) {\n const value = $0df4577496dcf693$var$toBN(other);\n if (this.isNegative() || value.isNeg()) $0df4577496dcf693$var$throwFault(\"unbound-bitwise-result\", \"and\");\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).and(value));\n }\n or(other) {\n const value = $0df4577496dcf693$var$toBN(other);\n if (this.isNegative() || value.isNeg()) $0df4577496dcf693$var$throwFault(\"unbound-bitwise-result\", \"or\");\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).or(value));\n }\n xor(other) {\n const value = $0df4577496dcf693$var$toBN(other);\n if (this.isNegative() || value.isNeg()) $0df4577496dcf693$var$throwFault(\"unbound-bitwise-result\", \"xor\");\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).xor(value));\n }\n mask(value) {\n if (this.isNegative() || value < 0) $0df4577496dcf693$var$throwFault(\"negative-width\", \"mask\");\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).maskn(value));\n }\n shl(value) {\n if (this.isNegative() || value < 0) $0df4577496dcf693$var$throwFault(\"negative-width\", \"shl\");\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).shln(value));\n }\n shr(value) {\n if (this.isNegative() || value < 0) $0df4577496dcf693$var$throwFault(\"negative-width\", \"shr\");\n return $0df4577496dcf693$var$toBigNumber($0df4577496dcf693$var$toBN(this).shrn(value));\n }\n eq(other) {\n return $0df4577496dcf693$var$toBN(this).eq($0df4577496dcf693$var$toBN(other));\n }\n lt(other) {\n return $0df4577496dcf693$var$toBN(this).lt($0df4577496dcf693$var$toBN(other));\n }\n lte(other) {\n return $0df4577496dcf693$var$toBN(this).lte($0df4577496dcf693$var$toBN(other));\n }\n gt(other) {\n return $0df4577496dcf693$var$toBN(this).gt($0df4577496dcf693$var$toBN(other));\n }\n gte(other) {\n return $0df4577496dcf693$var$toBN(this).gte($0df4577496dcf693$var$toBN(other));\n }\n isNegative() {\n return this._hex[0] === \"-\";\n }\n isZero() {\n return $0df4577496dcf693$var$toBN(this).isZero();\n }\n toNumber() {\n try {\n return $0df4577496dcf693$var$toBN(this).toNumber();\n } catch (error) {\n $0df4577496dcf693$var$throwFault(\"overflow\", \"toNumber\", this.toString());\n }\n return null;\n }\n toBigInt() {\n try {\n return BigInt(this.toString());\n } catch (e) {}\n return $0df4577496dcf693$var$logger.throwError(\"this platform does not support BigInt\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n value: this.toString()\n });\n }\n toString() {\n // Lots of people expect this, which we do not support, so check (See: #889)\n if (arguments.length > 0) {\n if (arguments[0] === 10) {\n if (!$0df4577496dcf693$var$_warnedToStringRadix) {\n $0df4577496dcf693$var$_warnedToStringRadix = true;\n $0df4577496dcf693$var$logger.warn(\"BigNumber.toString does not accept any parameters; base-10 is assumed\");\n }\n } else if (arguments[0] === 16) $0df4577496dcf693$var$logger.throwError(\"BigNumber.toString does not accept any parameters; use bigNumber.toHexString()\", (0, $d1hml.Logger).errors.UNEXPECTED_ARGUMENT, {});\n else $0df4577496dcf693$var$logger.throwError(\"BigNumber.toString does not accept parameters\", (0, $d1hml.Logger).errors.UNEXPECTED_ARGUMENT, {});\n }\n return $0df4577496dcf693$var$toBN(this).toString(10);\n }\n toHexString() {\n return this._hex;\n }\n toJSON(key) {\n return {\n type: \"BigNumber\",\n hex: this.toHexString()\n };\n }\n static from(value) {\n if (value instanceof $0df4577496dcf693$export$d97aa349ed20696) return value;\n if (typeof value === \"string\") {\n if (value.match(/^-?0x[0-9a-f]+$/i)) return new $0df4577496dcf693$export$d97aa349ed20696($0df4577496dcf693$var$_constructorGuard, $0df4577496dcf693$var$toHex(value));\n if (value.match(/^-?[0-9]+$/)) return new $0df4577496dcf693$export$d97aa349ed20696($0df4577496dcf693$var$_constructorGuard, $0df4577496dcf693$var$toHex(new $0df4577496dcf693$var$BN(value)));\n return $0df4577496dcf693$var$logger.throwArgumentError(\"invalid BigNumber string\", \"value\", value);\n }\n if (typeof value === \"number\") {\n if (value % 1) $0df4577496dcf693$var$throwFault(\"underflow\", \"BigNumber.from\", value);\n if (value >= $0df4577496dcf693$var$MAX_SAFE || value <= -$0df4577496dcf693$var$MAX_SAFE) $0df4577496dcf693$var$throwFault(\"overflow\", \"BigNumber.from\", value);\n return $0df4577496dcf693$export$d97aa349ed20696.from(String(value));\n }\n const anyValue = value;\n if (typeof anyValue === \"bigint\") return $0df4577496dcf693$export$d97aa349ed20696.from(anyValue.toString());\n if ((0, $aBzgs.isBytes)(anyValue)) return $0df4577496dcf693$export$d97aa349ed20696.from((0, $aBzgs.hexlify)(anyValue));\n if (anyValue) {\n // Hexable interface (takes priority)\n if (anyValue.toHexString) {\n const hex = anyValue.toHexString();\n if (typeof hex === \"string\") return $0df4577496dcf693$export$d97aa349ed20696.from(hex);\n } else {\n // For now, handle legacy JSON-ified values (goes away in v6)\n let hex = anyValue._hex;\n // New-form JSON\n if (hex == null && anyValue.type === \"BigNumber\") hex = anyValue.hex;\n if (typeof hex === \"string\") {\n if ((0, $aBzgs.isHexString)(hex) || hex[0] === \"-\" && (0, $aBzgs.isHexString)(hex.substring(1))) return $0df4577496dcf693$export$d97aa349ed20696.from(hex);\n }\n }\n }\n return $0df4577496dcf693$var$logger.throwArgumentError(\"invalid BigNumber value\", \"value\", value);\n }\n static isBigNumber(value) {\n return !!(value && value._isBigNumber);\n }\n}\n// Normalize the hex string\nfunction $0df4577496dcf693$var$toHex(value) {\n // For BN, call on the hex string\n if (typeof value !== \"string\") return $0df4577496dcf693$var$toHex(value.toString(16));\n // If negative, prepend the negative sign to the normalized positive value\n if (value[0] === \"-\") {\n // Strip off the negative sign\n value = value.substring(1);\n // Cannot have multiple negative signs (e.g. \"--0x04\")\n if (value[0] === \"-\") $0df4577496dcf693$var$logger.throwArgumentError(\"invalid hex\", \"value\", value);\n // Call toHex on the positive component\n value = $0df4577496dcf693$var$toHex(value);\n // Do not allow \"-0x00\"\n if (value === \"0x00\") return value;\n // Negate the value\n return \"-\" + value;\n }\n // Add a \"0x\" prefix if missing\n if (value.substring(0, 2) !== \"0x\") value = \"0x\" + value;\n // Normalize zero\n if (value === \"0x\") return \"0x00\";\n // Make the string even length\n if (value.length % 2) value = \"0x0\" + value.substring(2);\n // Trim to smallest even-length string\n while(value.length > 4 && value.substring(0, 4) === \"0x00\")value = \"0x\" + value.substring(4);\n return value;\n}\nfunction $0df4577496dcf693$var$toBigNumber(value) {\n return $0df4577496dcf693$export$d97aa349ed20696.from($0df4577496dcf693$var$toHex(value));\n}\nfunction $0df4577496dcf693$var$toBN(value) {\n const hex = $0df4577496dcf693$export$d97aa349ed20696.from(value).toHexString();\n if (hex[0] === \"-\") return new $0df4577496dcf693$var$BN(\"-\" + hex.substring(3), 16);\n return new $0df4577496dcf693$var$BN(hex.substring(2), 16);\n}\nfunction $0df4577496dcf693$var$throwFault(fault, operation, value) {\n const params = {\n fault: fault,\n operation: operation\n };\n if (value != null) params.value = value;\n return $0df4577496dcf693$var$logger.throwError(fault, (0, $d1hml.Logger).errors.NUMERIC_FAULT, params);\n}\nfunction $0df4577496dcf693$export$51e4a08295f7770f(value) {\n return new $0df4577496dcf693$var$BN(value, 36).toString(16);\n}\nfunction $0df4577496dcf693$export$1293db5d29c264ff(value) {\n return new $0df4577496dcf693$var$BN(value, 16).toString(36);\n}\n\n});\nparcelRequire.register(\"dEXSZ\", function(module, exports) {\n\n(function(module1, exports) {\n \"use strict\";\n // Utils\n function assert(val, msg) {\n if (!val) throw new Error(msg || \"Assertion failed\");\n }\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n // BN\n function BN(number, base, endian) {\n if (BN.isBN(number)) return number;\n this.negative = 0;\n this.words = null;\n this.length = 0;\n // Reduction context\n this.red = null;\n if (number !== null) {\n if (base === \"le\" || base === \"be\") {\n endian = base;\n base = 10;\n }\n this._init(number || 0, base || 10, endian || \"be\");\n }\n }\n if (typeof module1 === \"object\") module1.exports = BN;\n else exports.BN = BN;\n BN.BN = BN;\n BN.wordSize = 26;\n var Buffer;\n try {\n if (typeof window !== \"undefined\" && typeof window.Buffer !== \"undefined\") Buffer = window.Buffer;\n else Buffer = (parcelRequire(\"kjyEk\")).Buffer;\n } catch (e) {}\n BN.isBN = function isBN(num) {\n if (num instanceof BN) return true;\n return num !== null && typeof num === \"object\" && num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n BN.max = function max(left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n BN.min = function min(left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n BN.prototype._init = function init(number, base, endian) {\n if (typeof number === \"number\") return this._initNumber(number, base, endian);\n if (typeof number === \"object\") return this._initArray(number, base, endian);\n if (base === \"hex\") base = 16;\n assert(base === (base | 0) && base >= 2 && base <= 36);\n number = number.toString().replace(/\\s+/g, \"\");\n var start = 0;\n if (number[0] === \"-\") {\n start++;\n this.negative = 1;\n }\n if (start < number.length) {\n if (base === 16) this._parseHex(number, start, endian);\n else {\n this._parseBase(number, base, start);\n if (endian === \"le\") this._initArray(this.toArray(), base, endian);\n }\n }\n };\n BN.prototype._initNumber = function _initNumber(number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [\n number & 0x3ffffff\n ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n number / 0x4000000 & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n number / 0x4000000 & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n if (endian !== \"le\") return;\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n BN.prototype._initArray = function _initArray(number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === \"number\");\n if (number.length <= 0) {\n this.words = [\n 0\n ];\n this.length = 1;\n return this;\n }\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for(var i = 0; i < this.length; i++)this.words[i] = 0;\n var j, w;\n var off = 0;\n if (endian === \"be\") for(i = number.length - 1, j = 0; i >= 0; i -= 3){\n w = number[i] | number[i - 1] << 8 | number[i - 2] << 16;\n this.words[j] |= w << off & 0x3ffffff;\n this.words[j + 1] = w >>> 26 - off & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n else if (endian === \"le\") for(i = 0, j = 0; i < number.length; i += 3){\n w = number[i] | number[i + 1] << 8 | number[i + 2] << 16;\n this.words[j] |= w << off & 0x3ffffff;\n this.words[j + 1] = w >>> 26 - off & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n return this._strip();\n };\n function parseHex4Bits(string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) return c - 48;\n else if (c >= 65 && c <= 70) return c - 55;\n else if (c >= 97 && c <= 102) return c - 87;\n else assert(false, \"Invalid character in \" + string);\n }\n function parseHexByte(string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) r |= parseHex4Bits(string, index - 1) << 4;\n return r;\n }\n BN.prototype._parseHex = function _parseHex(number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for(var i = 0; i < this.length; i++)this.words[i] = 0;\n // 24-bits chunks\n var off = 0;\n var j = 0;\n var w;\n if (endian === \"be\") for(i = number.length - 1; i >= start; i -= 2){\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else off += 8;\n }\n else {\n var parseLength = number.length - start;\n for(i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2){\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else off += 8;\n }\n }\n this._strip();\n };\n function parseBase(str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for(var i = start; i < len; i++){\n var c = str.charCodeAt(i) - 48;\n r *= mul;\n // 'a'\n if (c >= 49) b = c - 49 + 0xa;\n else if (c >= 17) b = c - 17 + 0xa;\n else b = c;\n assert(c >= 0 && b < mul, \"Invalid character\");\n r += b;\n }\n return r;\n }\n BN.prototype._parseBase = function _parseBase(number, base, start) {\n // Initialize as zero\n this.words = [\n 0\n ];\n this.length = 1;\n // Find length of limb in base\n for(var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base)limbLen++;\n limbLen--;\n limbPow = limbPow / base | 0;\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n var word = 0;\n for(var i = start; i < end; i += limbLen){\n word = parseBase(number, i, i + limbLen, base);\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) this.words[0] += word;\n else this._iaddn(word);\n }\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n for(i = 0; i < mod; i++)pow *= base;\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) this.words[0] += word;\n else this._iaddn(word);\n }\n this._strip();\n };\n BN.prototype.copy = function copy(dest) {\n dest.words = new Array(this.length);\n for(var i = 0; i < this.length; i++)dest.words[i] = this.words[i];\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n function move(dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n BN.prototype._move = function _move(dest) {\n move(dest, this);\n };\n BN.prototype.clone = function clone() {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n BN.prototype._expand = function _expand(size) {\n while(this.length < size)this.words[this.length++] = 0;\n return this;\n };\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip() {\n while(this.length > 1 && this.words[this.length - 1] === 0)this.length--;\n return this._normSign();\n };\n BN.prototype._normSign = function _normSign() {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) this.negative = 0;\n return this;\n };\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== \"undefined\" && typeof Symbol.for === \"function\") try {\n BN.prototype[Symbol.for(\"nodejs.util.inspect.custom\")] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n else BN.prototype.inspect = inspect;\n function inspect() {\n return (this.red ? \"\";\n }\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */ var zeros = [\n \"\",\n \"0\",\n \"00\",\n \"000\",\n \"0000\",\n \"00000\",\n \"000000\",\n \"0000000\",\n \"00000000\",\n \"000000000\",\n \"0000000000\",\n \"00000000000\",\n \"000000000000\",\n \"0000000000000\",\n \"00000000000000\",\n \"000000000000000\",\n \"0000000000000000\",\n \"00000000000000000\",\n \"000000000000000000\",\n \"0000000000000000000\",\n \"00000000000000000000\",\n \"000000000000000000000\",\n \"0000000000000000000000\",\n \"00000000000000000000000\",\n \"000000000000000000000000\",\n \"0000000000000000000000000\"\n ];\n var groupSizes = [\n 0,\n 0,\n 25,\n 16,\n 12,\n 11,\n 10,\n 9,\n 8,\n 8,\n 7,\n 7,\n 7,\n 7,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5\n ];\n var groupBases = [\n 0,\n 0,\n 33554432,\n 43046721,\n 16777216,\n 48828125,\n 60466176,\n 40353607,\n 16777216,\n 43046721,\n 10000000,\n 19487171,\n 35831808,\n 62748517,\n 7529536,\n 11390625,\n 16777216,\n 24137569,\n 34012224,\n 47045881,\n 64000000,\n 4084101,\n 5153632,\n 6436343,\n 7962624,\n 9765625,\n 11881376,\n 14348907,\n 17210368,\n 20511149,\n 24300000,\n 28629151,\n 33554432,\n 39135393,\n 45435424,\n 52521875,\n 60466176\n ];\n BN.prototype.toString = function toString(base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n var out;\n if (base === 16 || base === \"hex\") {\n out = \"\";\n var off = 0;\n var carry = 0;\n for(var i = 0; i < this.length; i++){\n var w = this.words[i];\n var word = ((w << off | carry) & 0xffffff).toString(16);\n carry = w >>> 24 - off & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) out = zeros[6 - word.length] + word + out;\n else out = word + out;\n }\n if (carry !== 0) out = carry.toString(16) + out;\n while(out.length % padding !== 0)out = \"0\" + out;\n if (this.negative !== 0) out = \"-\" + out;\n return out;\n }\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = \"\";\n var c = this.clone();\n c.negative = 0;\n while(!c.isZero()){\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n if (!c.isZero()) out = zeros[groupSize - r.length] + r + out;\n else out = r + out;\n }\n if (this.isZero()) out = \"0\" + out;\n while(out.length % padding !== 0)out = \"0\" + out;\n if (this.negative !== 0) out = \"-\" + out;\n return out;\n }\n assert(false, \"Base should be between 2 and 36\");\n };\n BN.prototype.toNumber = function toNumber() {\n var ret = this.words[0];\n if (this.length === 2) ret += this.words[1] * 0x4000000;\n else if (this.length === 3 && this.words[2] === 0x01) // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + this.words[1] * 0x4000000;\n else if (this.length > 2) assert(false, \"Number can only safely store up to 53 bits\");\n return this.negative !== 0 ? -ret : ret;\n };\n BN.prototype.toJSON = function toJSON() {\n return this.toString(16, 2);\n };\n if (Buffer) BN.prototype.toBuffer = function toBuffer(endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n BN.prototype.toArray = function toArray(endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n var allocate = function allocate(ArrayType, size) {\n if (ArrayType.allocUnsafe) return ArrayType.allocUnsafe(size);\n return new ArrayType(size);\n };\n BN.prototype.toArrayLike = function toArrayLike(ArrayType, endian, length) {\n this._strip();\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, \"byte array longer than desired length\");\n assert(reqLength > 0, \"Requested array length <= 0\");\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === \"le\" ? \"LE\" : \"BE\";\n this[\"_toArrayLike\" + postfix](res, byteLength);\n return res;\n };\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE(res, byteLength) {\n var position = 0;\n var carry = 0;\n for(var i = 0, shift = 0; i < this.length; i++){\n var word = this.words[i] << shift | carry;\n res[position++] = word & 0xff;\n if (position < res.length) res[position++] = word >> 8 & 0xff;\n if (position < res.length) res[position++] = word >> 16 & 0xff;\n if (shift === 6) {\n if (position < res.length) res[position++] = word >> 24 & 0xff;\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n if (position < res.length) {\n res[position++] = carry;\n while(position < res.length)res[position++] = 0;\n }\n };\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE(res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n for(var i = 0, shift = 0; i < this.length; i++){\n var word = this.words[i] << shift | carry;\n res[position--] = word & 0xff;\n if (position >= 0) res[position--] = word >> 8 & 0xff;\n if (position >= 0) res[position--] = word >> 16 & 0xff;\n if (shift === 6) {\n if (position >= 0) res[position--] = word >> 24 & 0xff;\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n if (position >= 0) {\n res[position--] = carry;\n while(position >= 0)res[position--] = 0;\n }\n };\n if (Math.clz32) BN.prototype._countBits = function _countBits(w) {\n return 32 - Math.clz32(w);\n };\n else BN.prototype._countBits = function _countBits(w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n BN.prototype._zeroBits = function _zeroBits(w) {\n // Short-cut\n if (w === 0) return 26;\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) r++;\n return r;\n };\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength() {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n function toBitArray(num) {\n var w = new Array(num.bitLength());\n for(var bit = 0; bit < w.length; bit++){\n var off = bit / 26 | 0;\n var wbit = bit % 26;\n w[bit] = num.words[off] >>> wbit & 0x01;\n }\n return w;\n }\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits() {\n if (this.isZero()) return 0;\n var r = 0;\n for(var i = 0; i < this.length; i++){\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n BN.prototype.byteLength = function byteLength() {\n return Math.ceil(this.bitLength() / 8);\n };\n BN.prototype.toTwos = function toTwos(width) {\n if (this.negative !== 0) return this.abs().inotn(width).iaddn(1);\n return this.clone();\n };\n BN.prototype.fromTwos = function fromTwos(width) {\n if (this.testn(width - 1)) return this.notn(width).iaddn(1).ineg();\n return this.clone();\n };\n BN.prototype.isNeg = function isNeg() {\n return this.negative !== 0;\n };\n // Return negative clone of `this`\n BN.prototype.neg = function neg() {\n return this.clone().ineg();\n };\n BN.prototype.ineg = function ineg() {\n if (!this.isZero()) this.negative ^= 1;\n return this;\n };\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor(num) {\n while(this.length < num.length)this.words[this.length++] = 0;\n for(var i = 0; i < num.length; i++)this.words[i] = this.words[i] | num.words[i];\n return this._strip();\n };\n BN.prototype.ior = function ior(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n // Or `num` with `this`\n BN.prototype.or = function or(num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n BN.prototype.uor = function uor(num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand(num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) b = num;\n else b = this;\n for(var i = 0; i < b.length; i++)this.words[i] = this.words[i] & num.words[i];\n this.length = b.length;\n return this._strip();\n };\n BN.prototype.iand = function iand(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n // And `num` with `this`\n BN.prototype.and = function and(num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n BN.prototype.uand = function uand(num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor(num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n for(var i = 0; i < b.length; i++)this.words[i] = a.words[i] ^ b.words[i];\n if (this !== a) for(; i < a.length; i++)this.words[i] = a.words[i];\n this.length = a.length;\n return this._strip();\n };\n BN.prototype.ixor = function ixor(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n // Xor `num` with `this`\n BN.prototype.xor = function xor(num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n BN.prototype.uxor = function uxor(num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn(width) {\n assert(typeof width === \"number\" && width >= 0);\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n if (bitsLeft > 0) bytesNeeded--;\n // Handle complete words\n for(var i = 0; i < bytesNeeded; i++)this.words[i] = ~this.words[i] & 0x3ffffff;\n // Handle the residue\n if (bitsLeft > 0) this.words[i] = ~this.words[i] & 0x3ffffff >> 26 - bitsLeft;\n // And remove leading zeroes\n return this._strip();\n };\n BN.prototype.notn = function notn(width) {\n return this.clone().inotn(width);\n };\n // Set `bit` of `this`\n BN.prototype.setn = function setn(bit, val) {\n assert(typeof bit === \"number\" && bit >= 0);\n var off = bit / 26 | 0;\n var wbit = bit % 26;\n this._expand(off + 1);\n if (val) this.words[off] = this.words[off] | 1 << wbit;\n else this.words[off] = this.words[off] & ~(1 << wbit);\n return this._strip();\n };\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd(num) {\n var r;\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n var carry = 0;\n for(var i = 0; i < b.length; i++){\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for(; carry !== 0 && i < a.length; i++){\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) for(; i < a.length; i++)this.words[i] = a.words[i];\n return this;\n };\n // Add `num` to `this`\n BN.prototype.add = function add(num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n if (this.length > num.length) return this.clone().iadd(num);\n return num.clone().iadd(this);\n };\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub(num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n var carry = 0;\n for(var i = 0; i < b.length; i++){\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for(; carry !== 0 && i < a.length; i++){\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) for(; i < a.length; i++)this.words[i] = a.words[i];\n this.length = Math.max(this.length, i);\n if (a !== this) this.negative = 1;\n return this._strip();\n };\n // Subtract `num` from `this`\n BN.prototype.sub = function sub(num) {\n return this.clone().isub(num);\n };\n function smallMulTo(self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = self.length + num.length | 0;\n out.length = len;\n len = len - 1 | 0;\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n var lo = r & 0x3ffffff;\n var carry = r / 0x4000000 | 0;\n out.words[0] = lo;\n for(var k = 1; k < len; k++){\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for(var j = Math.max(0, k - self.length + 1); j <= maxJ; j++){\n var i = k - j | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += r / 0x4000000 | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) out.words[k] = carry | 0;\n else out.length--;\n return out._strip();\n }\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo(self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */ lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = mid + Math.imul(ah0, bl0) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */ lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = mid + Math.imul(ah1, bl0) | 0;\n hi = Math.imul(ah1, bh0);\n lo = lo + Math.imul(al0, bl1) | 0;\n mid = mid + Math.imul(al0, bh1) | 0;\n mid = mid + Math.imul(ah0, bl1) | 0;\n hi = hi + Math.imul(ah0, bh1) | 0;\n var w1 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */ lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = mid + Math.imul(ah2, bl0) | 0;\n hi = Math.imul(ah2, bh0);\n lo = lo + Math.imul(al1, bl1) | 0;\n mid = mid + Math.imul(al1, bh1) | 0;\n mid = mid + Math.imul(ah1, bl1) | 0;\n hi = hi + Math.imul(ah1, bh1) | 0;\n lo = lo + Math.imul(al0, bl2) | 0;\n mid = mid + Math.imul(al0, bh2) | 0;\n mid = mid + Math.imul(ah0, bl2) | 0;\n hi = hi + Math.imul(ah0, bh2) | 0;\n var w2 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */ lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = mid + Math.imul(ah3, bl0) | 0;\n hi = Math.imul(ah3, bh0);\n lo = lo + Math.imul(al2, bl1) | 0;\n mid = mid + Math.imul(al2, bh1) | 0;\n mid = mid + Math.imul(ah2, bl1) | 0;\n hi = hi + Math.imul(ah2, bh1) | 0;\n lo = lo + Math.imul(al1, bl2) | 0;\n mid = mid + Math.imul(al1, bh2) | 0;\n mid = mid + Math.imul(ah1, bl2) | 0;\n hi = hi + Math.imul(ah1, bh2) | 0;\n lo = lo + Math.imul(al0, bl3) | 0;\n mid = mid + Math.imul(al0, bh3) | 0;\n mid = mid + Math.imul(ah0, bl3) | 0;\n hi = hi + Math.imul(ah0, bh3) | 0;\n var w3 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */ lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = mid + Math.imul(ah4, bl0) | 0;\n hi = Math.imul(ah4, bh0);\n lo = lo + Math.imul(al3, bl1) | 0;\n mid = mid + Math.imul(al3, bh1) | 0;\n mid = mid + Math.imul(ah3, bl1) | 0;\n hi = hi + Math.imul(ah3, bh1) | 0;\n lo = lo + Math.imul(al2, bl2) | 0;\n mid = mid + Math.imul(al2, bh2) | 0;\n mid = mid + Math.imul(ah2, bl2) | 0;\n hi = hi + Math.imul(ah2, bh2) | 0;\n lo = lo + Math.imul(al1, bl3) | 0;\n mid = mid + Math.imul(al1, bh3) | 0;\n mid = mid + Math.imul(ah1, bl3) | 0;\n hi = hi + Math.imul(ah1, bh3) | 0;\n lo = lo + Math.imul(al0, bl4) | 0;\n mid = mid + Math.imul(al0, bh4) | 0;\n mid = mid + Math.imul(ah0, bl4) | 0;\n hi = hi + Math.imul(ah0, bh4) | 0;\n var w4 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */ lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = mid + Math.imul(ah5, bl0) | 0;\n hi = Math.imul(ah5, bh0);\n lo = lo + Math.imul(al4, bl1) | 0;\n mid = mid + Math.imul(al4, bh1) | 0;\n mid = mid + Math.imul(ah4, bl1) | 0;\n hi = hi + Math.imul(ah4, bh1) | 0;\n lo = lo + Math.imul(al3, bl2) | 0;\n mid = mid + Math.imul(al3, bh2) | 0;\n mid = mid + Math.imul(ah3, bl2) | 0;\n hi = hi + Math.imul(ah3, bh2) | 0;\n lo = lo + Math.imul(al2, bl3) | 0;\n mid = mid + Math.imul(al2, bh3) | 0;\n mid = mid + Math.imul(ah2, bl3) | 0;\n hi = hi + Math.imul(ah2, bh3) | 0;\n lo = lo + Math.imul(al1, bl4) | 0;\n mid = mid + Math.imul(al1, bh4) | 0;\n mid = mid + Math.imul(ah1, bl4) | 0;\n hi = hi + Math.imul(ah1, bh4) | 0;\n lo = lo + Math.imul(al0, bl5) | 0;\n mid = mid + Math.imul(al0, bh5) | 0;\n mid = mid + Math.imul(ah0, bl5) | 0;\n hi = hi + Math.imul(ah0, bh5) | 0;\n var w5 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */ lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = mid + Math.imul(ah6, bl0) | 0;\n hi = Math.imul(ah6, bh0);\n lo = lo + Math.imul(al5, bl1) | 0;\n mid = mid + Math.imul(al5, bh1) | 0;\n mid = mid + Math.imul(ah5, bl1) | 0;\n hi = hi + Math.imul(ah5, bh1) | 0;\n lo = lo + Math.imul(al4, bl2) | 0;\n mid = mid + Math.imul(al4, bh2) | 0;\n mid = mid + Math.imul(ah4, bl2) | 0;\n hi = hi + Math.imul(ah4, bh2) | 0;\n lo = lo + Math.imul(al3, bl3) | 0;\n mid = mid + Math.imul(al3, bh3) | 0;\n mid = mid + Math.imul(ah3, bl3) | 0;\n hi = hi + Math.imul(ah3, bh3) | 0;\n lo = lo + Math.imul(al2, bl4) | 0;\n mid = mid + Math.imul(al2, bh4) | 0;\n mid = mid + Math.imul(ah2, bl4) | 0;\n hi = hi + Math.imul(ah2, bh4) | 0;\n lo = lo + Math.imul(al1, bl5) | 0;\n mid = mid + Math.imul(al1, bh5) | 0;\n mid = mid + Math.imul(ah1, bl5) | 0;\n hi = hi + Math.imul(ah1, bh5) | 0;\n lo = lo + Math.imul(al0, bl6) | 0;\n mid = mid + Math.imul(al0, bh6) | 0;\n mid = mid + Math.imul(ah0, bl6) | 0;\n hi = hi + Math.imul(ah0, bh6) | 0;\n var w6 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */ lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = mid + Math.imul(ah7, bl0) | 0;\n hi = Math.imul(ah7, bh0);\n lo = lo + Math.imul(al6, bl1) | 0;\n mid = mid + Math.imul(al6, bh1) | 0;\n mid = mid + Math.imul(ah6, bl1) | 0;\n hi = hi + Math.imul(ah6, bh1) | 0;\n lo = lo + Math.imul(al5, bl2) | 0;\n mid = mid + Math.imul(al5, bh2) | 0;\n mid = mid + Math.imul(ah5, bl2) | 0;\n hi = hi + Math.imul(ah5, bh2) | 0;\n lo = lo + Math.imul(al4, bl3) | 0;\n mid = mid + Math.imul(al4, bh3) | 0;\n mid = mid + Math.imul(ah4, bl3) | 0;\n hi = hi + Math.imul(ah4, bh3) | 0;\n lo = lo + Math.imul(al3, bl4) | 0;\n mid = mid + Math.imul(al3, bh4) | 0;\n mid = mid + Math.imul(ah3, bl4) | 0;\n hi = hi + Math.imul(ah3, bh4) | 0;\n lo = lo + Math.imul(al2, bl5) | 0;\n mid = mid + Math.imul(al2, bh5) | 0;\n mid = mid + Math.imul(ah2, bl5) | 0;\n hi = hi + Math.imul(ah2, bh5) | 0;\n lo = lo + Math.imul(al1, bl6) | 0;\n mid = mid + Math.imul(al1, bh6) | 0;\n mid = mid + Math.imul(ah1, bl6) | 0;\n hi = hi + Math.imul(ah1, bh6) | 0;\n lo = lo + Math.imul(al0, bl7) | 0;\n mid = mid + Math.imul(al0, bh7) | 0;\n mid = mid + Math.imul(ah0, bl7) | 0;\n hi = hi + Math.imul(ah0, bh7) | 0;\n var w7 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */ lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = mid + Math.imul(ah8, bl0) | 0;\n hi = Math.imul(ah8, bh0);\n lo = lo + Math.imul(al7, bl1) | 0;\n mid = mid + Math.imul(al7, bh1) | 0;\n mid = mid + Math.imul(ah7, bl1) | 0;\n hi = hi + Math.imul(ah7, bh1) | 0;\n lo = lo + Math.imul(al6, bl2) | 0;\n mid = mid + Math.imul(al6, bh2) | 0;\n mid = mid + Math.imul(ah6, bl2) | 0;\n hi = hi + Math.imul(ah6, bh2) | 0;\n lo = lo + Math.imul(al5, bl3) | 0;\n mid = mid + Math.imul(al5, bh3) | 0;\n mid = mid + Math.imul(ah5, bl3) | 0;\n hi = hi + Math.imul(ah5, bh3) | 0;\n lo = lo + Math.imul(al4, bl4) | 0;\n mid = mid + Math.imul(al4, bh4) | 0;\n mid = mid + Math.imul(ah4, bl4) | 0;\n hi = hi + Math.imul(ah4, bh4) | 0;\n lo = lo + Math.imul(al3, bl5) | 0;\n mid = mid + Math.imul(al3, bh5) | 0;\n mid = mid + Math.imul(ah3, bl5) | 0;\n hi = hi + Math.imul(ah3, bh5) | 0;\n lo = lo + Math.imul(al2, bl6) | 0;\n mid = mid + Math.imul(al2, bh6) | 0;\n mid = mid + Math.imul(ah2, bl6) | 0;\n hi = hi + Math.imul(ah2, bh6) | 0;\n lo = lo + Math.imul(al1, bl7) | 0;\n mid = mid + Math.imul(al1, bh7) | 0;\n mid = mid + Math.imul(ah1, bl7) | 0;\n hi = hi + Math.imul(ah1, bh7) | 0;\n lo = lo + Math.imul(al0, bl8) | 0;\n mid = mid + Math.imul(al0, bh8) | 0;\n mid = mid + Math.imul(ah0, bl8) | 0;\n hi = hi + Math.imul(ah0, bh8) | 0;\n var w8 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */ lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = mid + Math.imul(ah9, bl0) | 0;\n hi = Math.imul(ah9, bh0);\n lo = lo + Math.imul(al8, bl1) | 0;\n mid = mid + Math.imul(al8, bh1) | 0;\n mid = mid + Math.imul(ah8, bl1) | 0;\n hi = hi + Math.imul(ah8, bh1) | 0;\n lo = lo + Math.imul(al7, bl2) | 0;\n mid = mid + Math.imul(al7, bh2) | 0;\n mid = mid + Math.imul(ah7, bl2) | 0;\n hi = hi + Math.imul(ah7, bh2) | 0;\n lo = lo + Math.imul(al6, bl3) | 0;\n mid = mid + Math.imul(al6, bh3) | 0;\n mid = mid + Math.imul(ah6, bl3) | 0;\n hi = hi + Math.imul(ah6, bh3) | 0;\n lo = lo + Math.imul(al5, bl4) | 0;\n mid = mid + Math.imul(al5, bh4) | 0;\n mid = mid + Math.imul(ah5, bl4) | 0;\n hi = hi + Math.imul(ah5, bh4) | 0;\n lo = lo + Math.imul(al4, bl5) | 0;\n mid = mid + Math.imul(al4, bh5) | 0;\n mid = mid + Math.imul(ah4, bl5) | 0;\n hi = hi + Math.imul(ah4, bh5) | 0;\n lo = lo + Math.imul(al3, bl6) | 0;\n mid = mid + Math.imul(al3, bh6) | 0;\n mid = mid + Math.imul(ah3, bl6) | 0;\n hi = hi + Math.imul(ah3, bh6) | 0;\n lo = lo + Math.imul(al2, bl7) | 0;\n mid = mid + Math.imul(al2, bh7) | 0;\n mid = mid + Math.imul(ah2, bl7) | 0;\n hi = hi + Math.imul(ah2, bh7) | 0;\n lo = lo + Math.imul(al1, bl8) | 0;\n mid = mid + Math.imul(al1, bh8) | 0;\n mid = mid + Math.imul(ah1, bl8) | 0;\n hi = hi + Math.imul(ah1, bh8) | 0;\n lo = lo + Math.imul(al0, bl9) | 0;\n mid = mid + Math.imul(al0, bh9) | 0;\n mid = mid + Math.imul(ah0, bl9) | 0;\n hi = hi + Math.imul(ah0, bh9) | 0;\n var w9 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */ lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = mid + Math.imul(ah9, bl1) | 0;\n hi = Math.imul(ah9, bh1);\n lo = lo + Math.imul(al8, bl2) | 0;\n mid = mid + Math.imul(al8, bh2) | 0;\n mid = mid + Math.imul(ah8, bl2) | 0;\n hi = hi + Math.imul(ah8, bh2) | 0;\n lo = lo + Math.imul(al7, bl3) | 0;\n mid = mid + Math.imul(al7, bh3) | 0;\n mid = mid + Math.imul(ah7, bl3) | 0;\n hi = hi + Math.imul(ah7, bh3) | 0;\n lo = lo + Math.imul(al6, bl4) | 0;\n mid = mid + Math.imul(al6, bh4) | 0;\n mid = mid + Math.imul(ah6, bl4) | 0;\n hi = hi + Math.imul(ah6, bh4) | 0;\n lo = lo + Math.imul(al5, bl5) | 0;\n mid = mid + Math.imul(al5, bh5) | 0;\n mid = mid + Math.imul(ah5, bl5) | 0;\n hi = hi + Math.imul(ah5, bh5) | 0;\n lo = lo + Math.imul(al4, bl6) | 0;\n mid = mid + Math.imul(al4, bh6) | 0;\n mid = mid + Math.imul(ah4, bl6) | 0;\n hi = hi + Math.imul(ah4, bh6) | 0;\n lo = lo + Math.imul(al3, bl7) | 0;\n mid = mid + Math.imul(al3, bh7) | 0;\n mid = mid + Math.imul(ah3, bl7) | 0;\n hi = hi + Math.imul(ah3, bh7) | 0;\n lo = lo + Math.imul(al2, bl8) | 0;\n mid = mid + Math.imul(al2, bh8) | 0;\n mid = mid + Math.imul(ah2, bl8) | 0;\n hi = hi + Math.imul(ah2, bh8) | 0;\n lo = lo + Math.imul(al1, bl9) | 0;\n mid = mid + Math.imul(al1, bh9) | 0;\n mid = mid + Math.imul(ah1, bl9) | 0;\n hi = hi + Math.imul(ah1, bh9) | 0;\n var w10 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */ lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = mid + Math.imul(ah9, bl2) | 0;\n hi = Math.imul(ah9, bh2);\n lo = lo + Math.imul(al8, bl3) | 0;\n mid = mid + Math.imul(al8, bh3) | 0;\n mid = mid + Math.imul(ah8, bl3) | 0;\n hi = hi + Math.imul(ah8, bh3) | 0;\n lo = lo + Math.imul(al7, bl4) | 0;\n mid = mid + Math.imul(al7, bh4) | 0;\n mid = mid + Math.imul(ah7, bl4) | 0;\n hi = hi + Math.imul(ah7, bh4) | 0;\n lo = lo + Math.imul(al6, bl5) | 0;\n mid = mid + Math.imul(al6, bh5) | 0;\n mid = mid + Math.imul(ah6, bl5) | 0;\n hi = hi + Math.imul(ah6, bh5) | 0;\n lo = lo + Math.imul(al5, bl6) | 0;\n mid = mid + Math.imul(al5, bh6) | 0;\n mid = mid + Math.imul(ah5, bl6) | 0;\n hi = hi + Math.imul(ah5, bh6) | 0;\n lo = lo + Math.imul(al4, bl7) | 0;\n mid = mid + Math.imul(al4, bh7) | 0;\n mid = mid + Math.imul(ah4, bl7) | 0;\n hi = hi + Math.imul(ah4, bh7) | 0;\n lo = lo + Math.imul(al3, bl8) | 0;\n mid = mid + Math.imul(al3, bh8) | 0;\n mid = mid + Math.imul(ah3, bl8) | 0;\n hi = hi + Math.imul(ah3, bh8) | 0;\n lo = lo + Math.imul(al2, bl9) | 0;\n mid = mid + Math.imul(al2, bh9) | 0;\n mid = mid + Math.imul(ah2, bl9) | 0;\n hi = hi + Math.imul(ah2, bh9) | 0;\n var w11 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */ lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = mid + Math.imul(ah9, bl3) | 0;\n hi = Math.imul(ah9, bh3);\n lo = lo + Math.imul(al8, bl4) | 0;\n mid = mid + Math.imul(al8, bh4) | 0;\n mid = mid + Math.imul(ah8, bl4) | 0;\n hi = hi + Math.imul(ah8, bh4) | 0;\n lo = lo + Math.imul(al7, bl5) | 0;\n mid = mid + Math.imul(al7, bh5) | 0;\n mid = mid + Math.imul(ah7, bl5) | 0;\n hi = hi + Math.imul(ah7, bh5) | 0;\n lo = lo + Math.imul(al6, bl6) | 0;\n mid = mid + Math.imul(al6, bh6) | 0;\n mid = mid + Math.imul(ah6, bl6) | 0;\n hi = hi + Math.imul(ah6, bh6) | 0;\n lo = lo + Math.imul(al5, bl7) | 0;\n mid = mid + Math.imul(al5, bh7) | 0;\n mid = mid + Math.imul(ah5, bl7) | 0;\n hi = hi + Math.imul(ah5, bh7) | 0;\n lo = lo + Math.imul(al4, bl8) | 0;\n mid = mid + Math.imul(al4, bh8) | 0;\n mid = mid + Math.imul(ah4, bl8) | 0;\n hi = hi + Math.imul(ah4, bh8) | 0;\n lo = lo + Math.imul(al3, bl9) | 0;\n mid = mid + Math.imul(al3, bh9) | 0;\n mid = mid + Math.imul(ah3, bl9) | 0;\n hi = hi + Math.imul(ah3, bh9) | 0;\n var w12 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */ lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = mid + Math.imul(ah9, bl4) | 0;\n hi = Math.imul(ah9, bh4);\n lo = lo + Math.imul(al8, bl5) | 0;\n mid = mid + Math.imul(al8, bh5) | 0;\n mid = mid + Math.imul(ah8, bl5) | 0;\n hi = hi + Math.imul(ah8, bh5) | 0;\n lo = lo + Math.imul(al7, bl6) | 0;\n mid = mid + Math.imul(al7, bh6) | 0;\n mid = mid + Math.imul(ah7, bl6) | 0;\n hi = hi + Math.imul(ah7, bh6) | 0;\n lo = lo + Math.imul(al6, bl7) | 0;\n mid = mid + Math.imul(al6, bh7) | 0;\n mid = mid + Math.imul(ah6, bl7) | 0;\n hi = hi + Math.imul(ah6, bh7) | 0;\n lo = lo + Math.imul(al5, bl8) | 0;\n mid = mid + Math.imul(al5, bh8) | 0;\n mid = mid + Math.imul(ah5, bl8) | 0;\n hi = hi + Math.imul(ah5, bh8) | 0;\n lo = lo + Math.imul(al4, bl9) | 0;\n mid = mid + Math.imul(al4, bh9) | 0;\n mid = mid + Math.imul(ah4, bl9) | 0;\n hi = hi + Math.imul(ah4, bh9) | 0;\n var w13 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */ lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = mid + Math.imul(ah9, bl5) | 0;\n hi = Math.imul(ah9, bh5);\n lo = lo + Math.imul(al8, bl6) | 0;\n mid = mid + Math.imul(al8, bh6) | 0;\n mid = mid + Math.imul(ah8, bl6) | 0;\n hi = hi + Math.imul(ah8, bh6) | 0;\n lo = lo + Math.imul(al7, bl7) | 0;\n mid = mid + Math.imul(al7, bh7) | 0;\n mid = mid + Math.imul(ah7, bl7) | 0;\n hi = hi + Math.imul(ah7, bh7) | 0;\n lo = lo + Math.imul(al6, bl8) | 0;\n mid = mid + Math.imul(al6, bh8) | 0;\n mid = mid + Math.imul(ah6, bl8) | 0;\n hi = hi + Math.imul(ah6, bh8) | 0;\n lo = lo + Math.imul(al5, bl9) | 0;\n mid = mid + Math.imul(al5, bh9) | 0;\n mid = mid + Math.imul(ah5, bl9) | 0;\n hi = hi + Math.imul(ah5, bh9) | 0;\n var w14 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */ lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = mid + Math.imul(ah9, bl6) | 0;\n hi = Math.imul(ah9, bh6);\n lo = lo + Math.imul(al8, bl7) | 0;\n mid = mid + Math.imul(al8, bh7) | 0;\n mid = mid + Math.imul(ah8, bl7) | 0;\n hi = hi + Math.imul(ah8, bh7) | 0;\n lo = lo + Math.imul(al7, bl8) | 0;\n mid = mid + Math.imul(al7, bh8) | 0;\n mid = mid + Math.imul(ah7, bl8) | 0;\n hi = hi + Math.imul(ah7, bh8) | 0;\n lo = lo + Math.imul(al6, bl9) | 0;\n mid = mid + Math.imul(al6, bh9) | 0;\n mid = mid + Math.imul(ah6, bl9) | 0;\n hi = hi + Math.imul(ah6, bh9) | 0;\n var w15 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */ lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = mid + Math.imul(ah9, bl7) | 0;\n hi = Math.imul(ah9, bh7);\n lo = lo + Math.imul(al8, bl8) | 0;\n mid = mid + Math.imul(al8, bh8) | 0;\n mid = mid + Math.imul(ah8, bl8) | 0;\n hi = hi + Math.imul(ah8, bh8) | 0;\n lo = lo + Math.imul(al7, bl9) | 0;\n mid = mid + Math.imul(al7, bh9) | 0;\n mid = mid + Math.imul(ah7, bl9) | 0;\n hi = hi + Math.imul(ah7, bh9) | 0;\n var w16 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */ lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = mid + Math.imul(ah9, bl8) | 0;\n hi = Math.imul(ah9, bh8);\n lo = lo + Math.imul(al8, bl9) | 0;\n mid = mid + Math.imul(al8, bh9) | 0;\n mid = mid + Math.imul(ah8, bl9) | 0;\n hi = hi + Math.imul(ah8, bh9) | 0;\n var w17 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */ lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = mid + Math.imul(ah9, bl9) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n // Polyfill comb\n if (!Math.imul) comb10MulTo = smallMulTo;\n function bigMulTo(self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n var carry = 0;\n var hncarry = 0;\n for(var k = 0; k < out.length - 1; k++){\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for(var j = Math.max(0, k - self.length + 1); j <= maxJ; j++){\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n var lo = r & 0x3ffffff;\n ncarry = ncarry + (r / 0x4000000 | 0) | 0;\n lo = lo + rword | 0;\n rword = lo & 0x3ffffff;\n ncarry = ncarry + (lo >>> 26) | 0;\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) out.words[k] = carry;\n else out.length--;\n return out._strip();\n }\n function jumboMulTo(self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n BN.prototype.mulTo = function mulTo(num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) res = comb10MulTo(this, num, out);\n else if (len < 63) res = smallMulTo(this, num, out);\n else if (len < 1024) res = bigMulTo(this, num, out);\n else res = jumboMulTo(this, num, out);\n return res;\n };\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n function FFTM(x, y) {\n this.x = x;\n this.y = y;\n }\n FFTM.prototype.makeRBT = function makeRBT(N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for(var i = 0; i < N; i++)t[i] = this.revBin(i, l, N);\n return t;\n };\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin(x, l, N) {\n if (x === 0 || x === N - 1) return x;\n var rb = 0;\n for(var i = 0; i < l; i++){\n rb |= (x & 1) << l - i - 1;\n x >>= 1;\n }\n return rb;\n };\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute(rbt, rws, iws, rtws, itws, N) {\n for(var i = 0; i < N; i++){\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n FFTM.prototype.transform = function transform(rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n for(var s = 1; s < N; s <<= 1){\n var l = s << 1;\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n for(var p = 0; p < N; p += l){\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n for(var j = 0; j < s; j++){\n var re = rtws[p + j];\n var ie = itws[p + j];\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n var rx = rtwdf_ * ro - itwdf_ * io;\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n /* jshint maxdepth : false */ if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n FFTM.prototype.guessLen13b = function guessLen13b(n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for(N = N / 2 | 0; N; N = N >>> 1)i++;\n return 1 << i + 1 + odd;\n };\n FFTM.prototype.conjugate = function conjugate(rws, iws, N) {\n if (N <= 1) return;\n for(var i = 0; i < N / 2; i++){\n var t = rws[i];\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n t = iws[i];\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n FFTM.prototype.normalize13b = function normalize13b(ws, N) {\n var carry = 0;\n for(var i = 0; i < N / 2; i++){\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + Math.round(ws[2 * i] / N) + carry;\n ws[i] = w & 0x3ffffff;\n if (w < 0x4000000) carry = 0;\n else carry = w / 0x4000000 | 0;\n }\n return ws;\n };\n FFTM.prototype.convert13b = function convert13b(ws, len, rws, N) {\n var carry = 0;\n for(var i = 0; i < len; i++){\n carry = carry + (ws[i] | 0);\n rws[2 * i] = carry & 0x1fff;\n carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff;\n carry = carry >>> 13;\n }\n // Pad with zeroes\n for(i = 2 * len; i < N; ++i)rws[i] = 0;\n assert(carry === 0);\n assert((carry & -8192) === 0);\n };\n FFTM.prototype.stub = function stub(N) {\n var ph = new Array(N);\n for(var i = 0; i < N; i++)ph[i] = 0;\n return ph;\n };\n FFTM.prototype.mulp = function mulp(x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n var rbt = this.makeRBT(N);\n var _ = this.stub(N);\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n var rmws = out.words;\n rmws.length = N;\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n for(var i = 0; i < N; i++){\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n // Multiply `this` by `num`\n BN.prototype.mul = function mul(num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n // Multiply employing FFT\n BN.prototype.mulf = function mulf(num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n // In-place Multiplication\n BN.prototype.imul = function imul(num) {\n return this.clone().mulTo(num, this);\n };\n BN.prototype.imuln = function imuln(num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n assert(typeof num === \"number\");\n assert(num < 0x4000000);\n // Carry\n var carry = 0;\n for(var i = 0; i < this.length; i++){\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += w / 0x4000000 | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return isNegNum ? this.ineg() : this;\n };\n BN.prototype.muln = function muln(num) {\n return this.clone().imuln(num);\n };\n // `this` * `this`\n BN.prototype.sqr = function sqr() {\n return this.mul(this);\n };\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr() {\n return this.imul(this.clone());\n };\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow(num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n // Skip leading zeroes\n var res = this;\n for(var i = 0; i < w.length; i++, res = res.sqr()){\n if (w[i] !== 0) break;\n }\n if (++i < w.length) for(var q = res.sqr(); i < w.length; i++, q = q.sqr()){\n if (w[i] === 0) continue;\n res = res.mul(q);\n }\n return res;\n };\n // Shift-left in-place\n BN.prototype.iushln = function iushln(bits) {\n assert(typeof bits === \"number\" && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = 0x3ffffff >>> 26 - r << 26 - r;\n var i;\n if (r !== 0) {\n var carry = 0;\n for(i = 0; i < this.length; i++){\n var newCarry = this.words[i] & carryMask;\n var c = (this.words[i] | 0) - newCarry << r;\n this.words[i] = c | carry;\n carry = newCarry >>> 26 - r;\n }\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n if (s !== 0) {\n for(i = this.length - 1; i >= 0; i--)this.words[i + s] = this.words[i];\n for(i = 0; i < s; i++)this.words[i] = 0;\n this.length += s;\n }\n return this._strip();\n };\n BN.prototype.ishln = function ishln(bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn(bits, hint, extended) {\n assert(typeof bits === \"number\" && bits >= 0);\n var h;\n if (hint) h = (hint - hint % 26) / 26;\n else h = 0;\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ 0x3ffffff >>> r << r;\n var maskedWords = extended;\n h -= s;\n h = Math.max(0, h);\n // Extended mode, copy masked part\n if (maskedWords) {\n for(var i = 0; i < s; i++)maskedWords.words[i] = this.words[i];\n maskedWords.length = s;\n }\n if (s === 0) ;\n else if (this.length > s) {\n this.length -= s;\n for(i = 0; i < this.length; i++)this.words[i] = this.words[i + s];\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n var carry = 0;\n for(i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--){\n var word = this.words[i] | 0;\n this.words[i] = carry << 26 - r | word >>> r;\n carry = word & mask;\n }\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) maskedWords.words[maskedWords.length++] = carry;\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n return this._strip();\n };\n BN.prototype.ishrn = function ishrn(bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n // Shift-left\n BN.prototype.shln = function shln(bits) {\n return this.clone().ishln(bits);\n };\n BN.prototype.ushln = function ushln(bits) {\n return this.clone().iushln(bits);\n };\n // Shift-right\n BN.prototype.shrn = function shrn(bits) {\n return this.clone().ishrn(bits);\n };\n BN.prototype.ushrn = function ushrn(bits) {\n return this.clone().iushrn(bits);\n };\n // Test if n bit is set\n BN.prototype.testn = function testn(bit) {\n assert(typeof bit === \"number\" && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n // Check bit and return\n var w = this.words[s];\n return !!(w & q);\n };\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn(bits) {\n assert(typeof bits === \"number\" && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n assert(this.negative === 0, \"imaskn works only with positive numbers\");\n if (this.length <= s) return this;\n if (r !== 0) s++;\n this.length = Math.min(s, this.length);\n if (r !== 0) {\n var mask = 0x3ffffff ^ 0x3ffffff >>> r << r;\n this.words[this.length - 1] &= mask;\n }\n return this._strip();\n };\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn(bits) {\n return this.clone().imaskn(bits);\n };\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn(num) {\n assert(typeof num === \"number\");\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n // Add without checks\n return this._iaddn(num);\n };\n BN.prototype._iaddn = function _iaddn(num) {\n this.words[0] += num;\n // Carry\n for(var i = 0; i < this.length && this.words[i] >= 0x4000000; i++){\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) this.words[i + 1] = 1;\n else this.words[i + 1]++;\n }\n this.length = Math.max(this.length, i + 1);\n return this;\n };\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn(num) {\n assert(typeof num === \"number\");\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n this.words[0] -= num;\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else // Carry\n for(var i = 0; i < this.length && this.words[i] < 0; i++){\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n return this._strip();\n };\n BN.prototype.addn = function addn(num) {\n return this.clone().iaddn(num);\n };\n BN.prototype.subn = function subn(num) {\n return this.clone().isubn(num);\n };\n BN.prototype.iabs = function iabs() {\n this.negative = 0;\n return this;\n };\n BN.prototype.abs = function abs() {\n return this.clone().iabs();\n };\n BN.prototype._ishlnsubmul = function _ishlnsubmul(num, mul, shift) {\n var len = num.length + shift;\n var i;\n this._expand(len);\n var w;\n var carry = 0;\n for(i = 0; i < num.length; i++){\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - (right / 0x4000000 | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for(; i < this.length - shift; i++){\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n if (carry === 0) return this._strip();\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for(i = 0; i < this.length; i++){\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n return this._strip();\n };\n BN.prototype._wordDiv = function _wordDiv(num, mode) {\n var shift = this.length - num.length;\n var a = this.clone();\n var b = num;\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n if (mode !== \"mod\") {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for(var i = 0; i < q.length; i++)q.words[i] = 0;\n }\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) q.words[m] = 1;\n }\n for(var j = m - 1; j >= 0; j--){\n var qj = (a.words[b.length + j] | 0) * 0x4000000 + (a.words[b.length + j - 1] | 0);\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min(qj / bhi | 0, 0x3ffffff);\n a._ishlnsubmul(b, qj, j);\n while(a.negative !== 0){\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) a.negative ^= 1;\n }\n if (q) q.words[j] = qj;\n }\n if (q) q._strip();\n a._strip();\n // Denormalize\n if (mode !== \"div\" && shift !== 0) a.iushrn(shift);\n return {\n div: q || null,\n mod: a\n };\n };\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod(num, mode, positive) {\n assert(!num.isZero());\n if (this.isZero()) return {\n div: new BN(0),\n mod: new BN(0)\n };\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n if (mode !== \"mod\") div = res.div.neg();\n if (mode !== \"div\") {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) mod.iadd(num);\n }\n return {\n div: div,\n mod: mod\n };\n }\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n if (mode !== \"mod\") div = res.div.neg();\n return {\n div: div,\n mod: res.mod\n };\n }\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n if (mode !== \"div\") {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) mod.isub(num);\n }\n return {\n div: res.div,\n mod: mod\n };\n }\n // Both numbers are positive at this point\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) return {\n div: new BN(0),\n mod: this\n };\n // Very short reduction\n if (num.length === 1) {\n if (mode === \"div\") return {\n div: this.divn(num.words[0]),\n mod: null\n };\n if (mode === \"mod\") return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n return this._wordDiv(num, mode);\n };\n // Find `this` / `num`\n BN.prototype.div = function div(num) {\n return this.divmod(num, \"div\", false).div;\n };\n // Find `this` % `num`\n BN.prototype.mod = function mod(num) {\n return this.divmod(num, \"mod\", false).mod;\n };\n BN.prototype.umod = function umod(num) {\n return this.divmod(num, \"mod\", true).mod;\n };\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound(num) {\n var dm = this.divmod(num);\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n BN.prototype.modrn = function modrn(num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n assert(num <= 0x3ffffff);\n var p = 67108864 % num;\n var acc = 0;\n for(var i = this.length - 1; i >= 0; i--)acc = (p * acc + (this.words[i] | 0)) % num;\n return isNegNum ? -acc : acc;\n };\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn(num) {\n return this.modrn(num);\n };\n // In-place division by number\n BN.prototype.idivn = function idivn(num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n assert(num <= 0x3ffffff);\n var carry = 0;\n for(var i = this.length - 1; i >= 0; i--){\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = w / num | 0;\n carry = w % num;\n }\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n BN.prototype.divn = function divn(num) {\n return this.clone().idivn(num);\n };\n BN.prototype.egcd = function egcd(p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n var x = this;\n var y = p.clone();\n if (x.negative !== 0) x = x.umod(p);\n else x = x.clone();\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n var g = 0;\n while(x.isEven() && y.isEven()){\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n var yp = y.clone();\n var xp = x.clone();\n while(!x.isZero()){\n for(var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while(i-- > 0){\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n for(var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while(j-- > 0){\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp(p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n var a = this;\n var b = p.clone();\n if (a.negative !== 0) a = a.umod(p);\n else a = a.clone();\n var x1 = new BN(1);\n var x2 = new BN(0);\n var delta = b.clone();\n while(a.cmpn(1) > 0 && b.cmpn(1) > 0){\n for(var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while(i-- > 0){\n if (x1.isOdd()) x1.iadd(delta);\n x1.iushrn(1);\n }\n }\n for(var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while(j-- > 0){\n if (x2.isOdd()) x2.iadd(delta);\n x2.iushrn(1);\n }\n }\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n var res;\n if (a.cmpn(1) === 0) res = x1;\n else res = x2;\n if (res.cmpn(0) < 0) res.iadd(p);\n return res;\n };\n BN.prototype.gcd = function gcd(num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n // Remove common factor of two\n for(var shift = 0; a.isEven() && b.isEven(); shift++){\n a.iushrn(1);\n b.iushrn(1);\n }\n do {\n while(a.isEven())a.iushrn(1);\n while(b.isEven())b.iushrn(1);\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) break;\n a.isub(b);\n }while (true);\n return b.iushln(shift);\n };\n // Invert number in the field F(num)\n BN.prototype.invm = function invm(num) {\n return this.egcd(num).a.umod(num);\n };\n BN.prototype.isEven = function isEven() {\n return (this.words[0] & 1) === 0;\n };\n BN.prototype.isOdd = function isOdd() {\n return (this.words[0] & 1) === 1;\n };\n // And first word and num\n BN.prototype.andln = function andln(num) {\n return this.words[0] & num;\n };\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn(bit) {\n assert(typeof bit === \"number\");\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n // Add bit and propagate, if needed\n var carry = q;\n for(var i = s; carry !== 0 && i < this.length; i++){\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n BN.prototype.isZero = function isZero() {\n return this.length === 1 && this.words[0] === 0;\n };\n BN.prototype.cmpn = function cmpn(num) {\n var negative = num < 0;\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n this._strip();\n var res;\n if (this.length > 1) res = 1;\n else {\n if (negative) num = -num;\n assert(num <= 0x3ffffff, \"Number is too big\");\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp(num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp(num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n var res = 0;\n for(var i = this.length - 1; i >= 0; i--){\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n if (a === b) continue;\n if (a < b) res = -1;\n else if (a > b) res = 1;\n break;\n }\n return res;\n };\n BN.prototype.gtn = function gtn(num) {\n return this.cmpn(num) === 1;\n };\n BN.prototype.gt = function gt(num) {\n return this.cmp(num) === 1;\n };\n BN.prototype.gten = function gten(num) {\n return this.cmpn(num) >= 0;\n };\n BN.prototype.gte = function gte(num) {\n return this.cmp(num) >= 0;\n };\n BN.prototype.ltn = function ltn(num) {\n return this.cmpn(num) === -1;\n };\n BN.prototype.lt = function lt(num) {\n return this.cmp(num) === -1;\n };\n BN.prototype.lten = function lten(num) {\n return this.cmpn(num) <= 0;\n };\n BN.prototype.lte = function lte(num) {\n return this.cmp(num) <= 0;\n };\n BN.prototype.eqn = function eqn(num) {\n return this.cmpn(num) === 0;\n };\n BN.prototype.eq = function eq(num) {\n return this.cmp(num) === 0;\n };\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red(num) {\n return new Red(num);\n };\n BN.prototype.toRed = function toRed(ctx) {\n assert(!this.red, \"Already a number in reduction context\");\n assert(this.negative === 0, \"red works only with positives\");\n return ctx.convertTo(this)._forceRed(ctx);\n };\n BN.prototype.fromRed = function fromRed() {\n assert(this.red, \"fromRed works only with numbers in reduction context\");\n return this.red.convertFrom(this);\n };\n BN.prototype._forceRed = function _forceRed(ctx) {\n this.red = ctx;\n return this;\n };\n BN.prototype.forceRed = function forceRed(ctx) {\n assert(!this.red, \"Already a number in reduction context\");\n return this._forceRed(ctx);\n };\n BN.prototype.redAdd = function redAdd(num) {\n assert(this.red, \"redAdd works only with red numbers\");\n return this.red.add(this, num);\n };\n BN.prototype.redIAdd = function redIAdd(num) {\n assert(this.red, \"redIAdd works only with red numbers\");\n return this.red.iadd(this, num);\n };\n BN.prototype.redSub = function redSub(num) {\n assert(this.red, \"redSub works only with red numbers\");\n return this.red.sub(this, num);\n };\n BN.prototype.redISub = function redISub(num) {\n assert(this.red, \"redISub works only with red numbers\");\n return this.red.isub(this, num);\n };\n BN.prototype.redShl = function redShl(num) {\n assert(this.red, \"redShl works only with red numbers\");\n return this.red.shl(this, num);\n };\n BN.prototype.redMul = function redMul(num) {\n assert(this.red, \"redMul works only with red numbers\");\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n BN.prototype.redIMul = function redIMul(num) {\n assert(this.red, \"redMul works only with red numbers\");\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n BN.prototype.redSqr = function redSqr() {\n assert(this.red, \"redSqr works only with red numbers\");\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n BN.prototype.redISqr = function redISqr() {\n assert(this.red, \"redISqr works only with red numbers\");\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n // Square root over p\n BN.prototype.redSqrt = function redSqrt() {\n assert(this.red, \"redSqrt works only with red numbers\");\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n BN.prototype.redInvm = function redInvm() {\n assert(this.red, \"redInvm works only with red numbers\");\n this.red._verify1(this);\n return this.red.invm(this);\n };\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg() {\n assert(this.red, \"redNeg works only with red numbers\");\n this.red._verify1(this);\n return this.red.neg(this);\n };\n BN.prototype.redPow = function redPow(num) {\n assert(this.red && !num.red, \"redPow(normalNum)\");\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n // Pseudo-Mersenne prime\n function MPrime(name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n this.tmp = this._tmp();\n }\n MPrime.prototype._tmp = function _tmp() {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n MPrime.prototype.ireduce = function ireduce(num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n }while (rlen > this.n);\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) r.isub(this.p);\n else if (r.strip !== undefined) // r is a BN v4 instance\n r.strip();\n else // r is a BN v5 instance\n r._strip();\n return r;\n };\n MPrime.prototype.split = function split(input, out) {\n input.iushrn(this.n, 0, out);\n };\n MPrime.prototype.imulK = function imulK(num) {\n return num.imul(this.k);\n };\n function K256() {\n MPrime.call(this, \"k256\", \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\");\n }\n inherits(K256, MPrime);\n K256.prototype.split = function split(input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n var outLen = Math.min(input.length, 9);\n for(var i = 0; i < outLen; i++)output.words[i] = input.words[i];\n output.length = outLen;\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n for(i = 10; i < input.length; i++){\n var next = input.words[i] | 0;\n input.words[i - 10] = (next & mask) << 4 | prev >>> 22;\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) input.length -= 10;\n else input.length -= 9;\n };\n K256.prototype.imulK = function imulK(num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for(var i = 0; i < num.length; i++){\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + (lo / 0x4000000 | 0);\n }\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) num.length--;\n }\n return num;\n };\n function P224() {\n MPrime.call(this, \"p224\", \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\");\n }\n inherits(P224, MPrime);\n function P192() {\n MPrime.call(this, \"p192\", \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\");\n }\n inherits(P192, MPrime);\n function P25519() {\n // 2 ^ 255 - 19\n MPrime.call(this, \"25519\", \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\");\n }\n inherits(P25519, MPrime);\n P25519.prototype.imulK = function imulK(num) {\n // K = 0x13\n var carry = 0;\n for(var i = 0; i < num.length; i++){\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) num.words[num.length++] = carry;\n return num;\n };\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime(name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n var prime;\n if (name === \"k256\") prime = new K256();\n else if (name === \"p224\") prime = new P224();\n else if (name === \"p192\") prime = new P192();\n else if (name === \"p25519\") prime = new P25519();\n else throw new Error(\"Unknown prime \" + name);\n primes[name] = prime;\n return prime;\n };\n //\n // Base reduction engine\n //\n function Red(m) {\n if (typeof m === \"string\") {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), \"modulus must be greater than 1\");\n this.m = m;\n this.prime = null;\n }\n }\n Red.prototype._verify1 = function _verify1(a) {\n assert(a.negative === 0, \"red works only with positives\");\n assert(a.red, \"red works only with red numbers\");\n };\n Red.prototype._verify2 = function _verify2(a, b) {\n assert((a.negative | b.negative) === 0, \"red works only with positives\");\n assert(a.red && a.red === b.red, \"red works only with red numbers\");\n };\n Red.prototype.imod = function imod(a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n Red.prototype.neg = function neg(a) {\n if (a.isZero()) return a.clone();\n return this.m.sub(a)._forceRed(this);\n };\n Red.prototype.add = function add(a, b) {\n this._verify2(a, b);\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) res.isub(this.m);\n return res._forceRed(this);\n };\n Red.prototype.iadd = function iadd(a, b) {\n this._verify2(a, b);\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) res.isub(this.m);\n return res;\n };\n Red.prototype.sub = function sub(a, b) {\n this._verify2(a, b);\n var res = a.sub(b);\n if (res.cmpn(0) < 0) res.iadd(this.m);\n return res._forceRed(this);\n };\n Red.prototype.isub = function isub(a, b) {\n this._verify2(a, b);\n var res = a.isub(b);\n if (res.cmpn(0) < 0) res.iadd(this.m);\n return res;\n };\n Red.prototype.shl = function shl(a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n Red.prototype.imul = function imul(a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n Red.prototype.mul = function mul(a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n Red.prototype.isqr = function isqr(a) {\n return this.imul(a, a.clone());\n };\n Red.prototype.sqr = function sqr(a) {\n return this.mul(a, a);\n };\n Red.prototype.sqrt = function sqrt(a) {\n if (a.isZero()) return a.clone();\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while(!q.isZero() && q.andln(1) === 0){\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n while(this.pow(z, lpow).cmp(nOne) !== 0)z.redIAdd(nOne);\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while(t.cmp(one) !== 0){\n var tmp = t;\n for(var i = 0; tmp.cmp(one) !== 0; i++)tmp = tmp.redSqr();\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n return r;\n };\n Red.prototype.invm = function invm(a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else return this.imod(inv);\n };\n Red.prototype.pow = function pow(a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for(var i = 2; i < wnd.length; i++)wnd[i] = this.mul(wnd[i - 1], a);\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) start = 26;\n for(i = num.length - 1; i >= 0; i--){\n var word = num.words[i];\n for(var j = start - 1; j >= 0; j--){\n var bit = word >> j & 1;\n if (res !== wnd[0]) res = this.sqr(res);\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n return res;\n };\n Red.prototype.convertTo = function convertTo(num) {\n var r = num.umod(this.m);\n return r === num ? r.clone() : r;\n };\n Red.prototype.convertFrom = function convertFrom(num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n //\n // Montgomery method engine\n //\n BN.mont = function mont(num) {\n return new Mont(num);\n };\n function Mont(m) {\n Red.call(this, m);\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) this.shift += 26 - this.shift % 26;\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n Mont.prototype.convertTo = function convertTo(num) {\n return this.imod(num.ushln(this.shift));\n };\n Mont.prototype.convertFrom = function convertFrom(num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n Mont.prototype.imul = function imul(a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) res = u.isub(this.m);\n else if (u.cmpn(0) < 0) res = u.iadd(this.m);\n return res._forceRed(this);\n };\n Mont.prototype.mul = function mul(a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) res = u.isub(this.m);\n else if (u.cmpn(0) < 0) res = u.iadd(this.m);\n return res._forceRed(this);\n };\n Mont.prototype.invm = function invm(a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(module, this);\n\n});\nparcelRequire.register(\"kjyEk\", function(module, exports) {\n\"use strict\";\n\n});\n\n\nparcelRequire.register(\"aBzgs\", function(module, exports) {\n\n$parcel$export(module.exports, \"isBytesLike\", () => $7b88b6e03e4708f2$export$9a14abb1a440cd5e);\n$parcel$export(module.exports, \"isHexString\", () => $7b88b6e03e4708f2$export$b02a40aff8e4ad18);\n$parcel$export(module.exports, \"isBytes\", () => $7b88b6e03e4708f2$export$c6fabfbfd097fc30);\n$parcel$export(module.exports, \"arrayify\", () => $7b88b6e03e4708f2$export$3131421a7d01b4fb);\n$parcel$export(module.exports, \"concat\", () => $7b88b6e03e4708f2$export$ee1b3e54f0441b22);\n$parcel$export(module.exports, \"stripZeros\", () => $7b88b6e03e4708f2$export$a8f4574d0e56446c);\n$parcel$export(module.exports, \"zeroPad\", () => $7b88b6e03e4708f2$export$3cdc770bf8b2ed3d);\n$parcel$export(module.exports, \"hexlify\", () => $7b88b6e03e4708f2$export$2b0d6b5fbe698c70);\n$parcel$export(module.exports, \"hexDataLength\", () => $7b88b6e03e4708f2$export$13882f896d3c0683);\n$parcel$export(module.exports, \"hexDataSlice\", () => $7b88b6e03e4708f2$export$15da666eba198c18);\n$parcel$export(module.exports, \"hexConcat\", () => $7b88b6e03e4708f2$export$6d4b99629b38754a);\n$parcel$export(module.exports, \"hexValue\", () => $7b88b6e03e4708f2$export$6916af760a341dd3);\n$parcel$export(module.exports, \"hexStripZeros\", () => $7b88b6e03e4708f2$export$967bc0082a978949);\n$parcel$export(module.exports, \"hexZeroPad\", () => $7b88b6e03e4708f2$export$e9c46a54370b47e8);\n$parcel$export(module.exports, \"splitSignature\", () => $7b88b6e03e4708f2$export$7fb170f1e457988f);\n$parcel$export(module.exports, \"joinSignature\", () => $7b88b6e03e4708f2$export$71bb9d78a59bbe25);\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $cSpPr = parcelRequire(\"cSpPr\");\n\"use strict\";\nconst $7b88b6e03e4708f2$var$logger = new (0, $d1hml.Logger)((0, $cSpPr.version));\n///////////////////////////////\nfunction $7b88b6e03e4708f2$var$isHexable(value) {\n return !!value.toHexString;\n}\nfunction $7b88b6e03e4708f2$var$addSlice(array) {\n if (array.slice) return array;\n array.slice = function() {\n const args = Array.prototype.slice.call(arguments);\n return $7b88b6e03e4708f2$var$addSlice(new Uint8Array(Array.prototype.slice.apply(array, args)));\n };\n return array;\n}\nfunction $7b88b6e03e4708f2$export$9a14abb1a440cd5e(value) {\n return $7b88b6e03e4708f2$export$b02a40aff8e4ad18(value) && !(value.length % 2) || $7b88b6e03e4708f2$export$c6fabfbfd097fc30(value);\n}\nfunction $7b88b6e03e4708f2$var$isInteger(value) {\n return typeof value === \"number\" && value == value && value % 1 === 0;\n}\nfunction $7b88b6e03e4708f2$export$c6fabfbfd097fc30(value) {\n if (value == null) return false;\n if (value.constructor === Uint8Array) return true;\n if (typeof value === \"string\") return false;\n if (!$7b88b6e03e4708f2$var$isInteger(value.length) || value.length < 0) return false;\n for(let i = 0; i < value.length; i++){\n const v = value[i];\n if (!$7b88b6e03e4708f2$var$isInteger(v) || v < 0 || v >= 256) return false;\n }\n return true;\n}\nfunction $7b88b6e03e4708f2$export$3131421a7d01b4fb(value, options) {\n if (!options) options = {};\n if (typeof value === \"number\") {\n $7b88b6e03e4708f2$var$logger.checkSafeUint53(value, \"invalid arrayify value\");\n const result = [];\n while(value){\n result.unshift(value & 0xff);\n value = parseInt(String(value / 256));\n }\n if (result.length === 0) result.push(0);\n return $7b88b6e03e4708f2$var$addSlice(new Uint8Array(result));\n }\n if (options.allowMissingPrefix && typeof value === \"string\" && value.substring(0, 2) !== \"0x\") value = \"0x\" + value;\n if ($7b88b6e03e4708f2$var$isHexable(value)) value = value.toHexString();\n if ($7b88b6e03e4708f2$export$b02a40aff8e4ad18(value)) {\n let hex = value.substring(2);\n if (hex.length % 2) {\n if (options.hexPad === \"left\") hex = \"0\" + hex;\n else if (options.hexPad === \"right\") hex += \"0\";\n else $7b88b6e03e4708f2$var$logger.throwArgumentError(\"hex data is odd-length\", \"value\", value);\n }\n const result = [];\n for(let i = 0; i < hex.length; i += 2)result.push(parseInt(hex.substring(i, i + 2), 16));\n return $7b88b6e03e4708f2$var$addSlice(new Uint8Array(result));\n }\n if ($7b88b6e03e4708f2$export$c6fabfbfd097fc30(value)) return $7b88b6e03e4708f2$var$addSlice(new Uint8Array(value));\n return $7b88b6e03e4708f2$var$logger.throwArgumentError(\"invalid arrayify value\", \"value\", value);\n}\nfunction $7b88b6e03e4708f2$export$ee1b3e54f0441b22(items) {\n const objects = items.map((item)=>$7b88b6e03e4708f2$export$3131421a7d01b4fb(item));\n const length = objects.reduce((accum, item)=>accum + item.length, 0);\n const result = new Uint8Array(length);\n objects.reduce((offset, object)=>{\n result.set(object, offset);\n return offset + object.length;\n }, 0);\n return $7b88b6e03e4708f2$var$addSlice(result);\n}\nfunction $7b88b6e03e4708f2$export$a8f4574d0e56446c(value) {\n let result = $7b88b6e03e4708f2$export$3131421a7d01b4fb(value);\n if (result.length === 0) return result;\n // Find the first non-zero entry\n let start = 0;\n while(start < result.length && result[start] === 0)start++;\n // If we started with zeros, strip them\n if (start) result = result.slice(start);\n return result;\n}\nfunction $7b88b6e03e4708f2$export$3cdc770bf8b2ed3d(value, length) {\n value = $7b88b6e03e4708f2$export$3131421a7d01b4fb(value);\n if (value.length > length) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"value out of range\", \"value\", arguments[0]);\n const result = new Uint8Array(length);\n result.set(value, length - value.length);\n return $7b88b6e03e4708f2$var$addSlice(result);\n}\nfunction $7b88b6e03e4708f2$export$b02a40aff8e4ad18(value, length) {\n if (typeof value !== \"string\" || !value.match(/^0x[0-9A-Fa-f]*$/)) return false;\n if (length && value.length !== 2 + 2 * length) return false;\n return true;\n}\nconst $7b88b6e03e4708f2$var$HexCharacters = \"0123456789abcdef\";\nfunction $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(value, options) {\n if (!options) options = {};\n if (typeof value === \"number\") {\n $7b88b6e03e4708f2$var$logger.checkSafeUint53(value, \"invalid hexlify value\");\n let hex = \"\";\n while(value){\n hex = $7b88b6e03e4708f2$var$HexCharacters[value & 0xf] + hex;\n value = Math.floor(value / 16);\n }\n if (hex.length) {\n if (hex.length % 2) hex = \"0\" + hex;\n return \"0x\" + hex;\n }\n return \"0x00\";\n }\n if (typeof value === \"bigint\") {\n value = value.toString(16);\n if (value.length % 2) return \"0x0\" + value;\n return \"0x\" + value;\n }\n if (options.allowMissingPrefix && typeof value === \"string\" && value.substring(0, 2) !== \"0x\") value = \"0x\" + value;\n if ($7b88b6e03e4708f2$var$isHexable(value)) return value.toHexString();\n if ($7b88b6e03e4708f2$export$b02a40aff8e4ad18(value)) {\n if (value.length % 2) {\n if (options.hexPad === \"left\") value = \"0x0\" + value.substring(2);\n else if (options.hexPad === \"right\") value += \"0\";\n else $7b88b6e03e4708f2$var$logger.throwArgumentError(\"hex data is odd-length\", \"value\", value);\n }\n return value.toLowerCase();\n }\n if ($7b88b6e03e4708f2$export$c6fabfbfd097fc30(value)) {\n let result = \"0x\";\n for(let i = 0; i < value.length; i++){\n let v = value[i];\n result += $7b88b6e03e4708f2$var$HexCharacters[(v & 0xf0) >> 4] + $7b88b6e03e4708f2$var$HexCharacters[v & 0x0f];\n }\n return result;\n }\n return $7b88b6e03e4708f2$var$logger.throwArgumentError(\"invalid hexlify value\", \"value\", value);\n}\nfunction $7b88b6e03e4708f2$export$13882f896d3c0683(data) {\n if (typeof data !== \"string\") data = $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(data);\n else if (!$7b88b6e03e4708f2$export$b02a40aff8e4ad18(data) || data.length % 2) return null;\n return (data.length - 2) / 2;\n}\nfunction $7b88b6e03e4708f2$export$15da666eba198c18(data, offset, endOffset) {\n if (typeof data !== \"string\") data = $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(data);\n else if (!$7b88b6e03e4708f2$export$b02a40aff8e4ad18(data) || data.length % 2) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"invalid hexData\", \"value\", data);\n offset = 2 + 2 * offset;\n if (endOffset != null) return \"0x\" + data.substring(offset, 2 + 2 * endOffset);\n return \"0x\" + data.substring(offset);\n}\nfunction $7b88b6e03e4708f2$export$6d4b99629b38754a(items) {\n let result = \"0x\";\n items.forEach((item)=>{\n result += $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(item).substring(2);\n });\n return result;\n}\nfunction $7b88b6e03e4708f2$export$6916af760a341dd3(value) {\n const trimmed = $7b88b6e03e4708f2$export$967bc0082a978949($7b88b6e03e4708f2$export$2b0d6b5fbe698c70(value, {\n hexPad: \"left\"\n }));\n if (trimmed === \"0x\") return \"0x0\";\n return trimmed;\n}\nfunction $7b88b6e03e4708f2$export$967bc0082a978949(value) {\n if (typeof value !== \"string\") value = $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(value);\n if (!$7b88b6e03e4708f2$export$b02a40aff8e4ad18(value)) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"invalid hex string\", \"value\", value);\n value = value.substring(2);\n let offset = 0;\n while(offset < value.length && value[offset] === \"0\")offset++;\n return \"0x\" + value.substring(offset);\n}\nfunction $7b88b6e03e4708f2$export$e9c46a54370b47e8(value, length) {\n if (typeof value !== \"string\") value = $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(value);\n else if (!$7b88b6e03e4708f2$export$b02a40aff8e4ad18(value)) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"invalid hex string\", \"value\", value);\n if (value.length > 2 * length + 2) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"value out of range\", \"value\", arguments[1]);\n while(value.length < 2 * length + 2)value = \"0x0\" + value.substring(2);\n return value;\n}\nfunction $7b88b6e03e4708f2$export$7fb170f1e457988f(signature) {\n const result = {\n r: \"0x\",\n s: \"0x\",\n _vs: \"0x\",\n recoveryParam: 0,\n v: 0,\n yParityAndS: \"0x\",\n compact: \"0x\"\n };\n if ($7b88b6e03e4708f2$export$9a14abb1a440cd5e(signature)) {\n let bytes = $7b88b6e03e4708f2$export$3131421a7d01b4fb(signature);\n // Get the r, s and v\n if (bytes.length === 64) {\n // EIP-2098; pull the v from the top bit of s and clear it\n result.v = 27 + (bytes[32] >> 7);\n bytes[32] &= 0x7f;\n result.r = $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(bytes.slice(0, 32));\n result.s = $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(bytes.slice(32, 64));\n } else if (bytes.length === 65) {\n result.r = $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(bytes.slice(0, 32));\n result.s = $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(bytes.slice(32, 64));\n result.v = bytes[64];\n } else $7b88b6e03e4708f2$var$logger.throwArgumentError(\"invalid signature string\", \"signature\", signature);\n // Allow a recid to be used as the v\n if (result.v < 27) {\n if (result.v === 0 || result.v === 1) result.v += 27;\n else $7b88b6e03e4708f2$var$logger.throwArgumentError(\"signature invalid v byte\", \"signature\", signature);\n }\n // Compute recoveryParam from v\n result.recoveryParam = 1 - result.v % 2;\n // Compute _vs from recoveryParam and s\n if (result.recoveryParam) bytes[32] |= 0x80;\n result._vs = $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(bytes.slice(32, 64));\n } else {\n result.r = signature.r;\n result.s = signature.s;\n result.v = signature.v;\n result.recoveryParam = signature.recoveryParam;\n result._vs = signature._vs;\n // If the _vs is available, use it to populate missing s, v and recoveryParam\n // and verify non-missing s, v and recoveryParam\n if (result._vs != null) {\n const vs = $7b88b6e03e4708f2$export$3cdc770bf8b2ed3d($7b88b6e03e4708f2$export$3131421a7d01b4fb(result._vs), 32);\n result._vs = $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(vs);\n // Set or check the recid\n const recoveryParam = vs[0] >= 128 ? 1 : 0;\n if (result.recoveryParam == null) result.recoveryParam = recoveryParam;\n else if (result.recoveryParam !== recoveryParam) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"signature recoveryParam mismatch _vs\", \"signature\", signature);\n // Set or check the s\n vs[0] &= 0x7f;\n const s = $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(vs);\n if (result.s == null) result.s = s;\n else if (result.s !== s) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"signature v mismatch _vs\", \"signature\", signature);\n }\n // Use recid and v to populate each other\n if (result.recoveryParam == null) {\n if (result.v == null) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"signature missing v and recoveryParam\", \"signature\", signature);\n else if (result.v === 0 || result.v === 1) result.recoveryParam = result.v;\n else result.recoveryParam = 1 - result.v % 2;\n } else if (result.v == null) result.v = 27 + result.recoveryParam;\n else {\n const recId = result.v === 0 || result.v === 1 ? result.v : 1 - result.v % 2;\n if (result.recoveryParam !== recId) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"signature recoveryParam mismatch v\", \"signature\", signature);\n }\n if (result.r == null || !$7b88b6e03e4708f2$export$b02a40aff8e4ad18(result.r)) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"signature missing or invalid r\", \"signature\", signature);\n else result.r = $7b88b6e03e4708f2$export$e9c46a54370b47e8(result.r, 32);\n if (result.s == null || !$7b88b6e03e4708f2$export$b02a40aff8e4ad18(result.s)) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"signature missing or invalid s\", \"signature\", signature);\n else result.s = $7b88b6e03e4708f2$export$e9c46a54370b47e8(result.s, 32);\n const vs = $7b88b6e03e4708f2$export$3131421a7d01b4fb(result.s);\n if (vs[0] >= 128) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"signature s out of range\", \"signature\", signature);\n if (result.recoveryParam) vs[0] |= 0x80;\n const _vs = $7b88b6e03e4708f2$export$2b0d6b5fbe698c70(vs);\n if (result._vs) {\n if (!$7b88b6e03e4708f2$export$b02a40aff8e4ad18(result._vs)) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"signature invalid _vs\", \"signature\", signature);\n result._vs = $7b88b6e03e4708f2$export$e9c46a54370b47e8(result._vs, 32);\n }\n // Set or check the _vs\n if (result._vs == null) result._vs = _vs;\n else if (result._vs !== _vs) $7b88b6e03e4708f2$var$logger.throwArgumentError(\"signature _vs mismatch v and s\", \"signature\", signature);\n }\n result.yParityAndS = result._vs;\n result.compact = result.r + result.yParityAndS.substring(2);\n return result;\n}\nfunction $7b88b6e03e4708f2$export$71bb9d78a59bbe25(signature) {\n signature = $7b88b6e03e4708f2$export$7fb170f1e457988f(signature);\n return $7b88b6e03e4708f2$export$2b0d6b5fbe698c70($7b88b6e03e4708f2$export$ee1b3e54f0441b22([\n signature.r,\n signature.s,\n signature.recoveryParam ? \"0x1c\" : \"0x1b\"\n ]));\n}\n\n});\nparcelRequire.register(\"cSpPr\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $95fe903f324809f2$export$83d89fbfd8236492);\nconst $95fe903f324809f2$export$83d89fbfd8236492 = \"bytes/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"e2x6L\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $a38aef31efdfa85e$export$83d89fbfd8236492);\nconst $a38aef31efdfa85e$export$83d89fbfd8236492 = \"bignumber/5.7.0\";\n\n});\n\n\n\nparcelRequire.register(\"gtiOu\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nclass $0318399787a48f6a$var$MultiSendEthersContract {\n constructor(contract){\n this.contract = contract;\n this.encode = (methodName, params)=>{\n return this.contract.interface.encodeFunctionData(methodName, params);\n };\n }\n getAddress() {\n return this.contract.address;\n }\n}\nmodule.exports.default = $0318399787a48f6a$var$MultiSendEthersContract;\n\n});\n\nparcelRequire.register(\"dTiG3\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nclass $a1cee65019a4f874$var$MultiSendCallOnlyEthersContract {\n constructor(contract){\n this.contract = contract;\n this.encode = (methodName, params)=>{\n return this.contract.interface.encodeFunctionData(methodName, params);\n };\n }\n getAddress() {\n return this.contract.address;\n }\n}\nmodule.exports.default = $a1cee65019a4f874$var$MultiSendCallOnlyEthersContract;\n\n});\n\nparcelRequire.register(\"8Chaz\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $h3YQx = parcelRequire(\"h3YQx\");\nclass $645f30d19558091f$var$SignMessageLibEthersContract {\n constructor(contract){\n this.contract = contract;\n this.encode = (methodName, params)=>{\n return this.contract.interface.encodeFunctionData(methodName, params);\n };\n }\n getAddress() {\n return this.contract.address;\n }\n async signMessage(data, options) {\n if (options && !options.gasLimit) options.gasLimit = await this.estimateGas(\"signMessage\", [\n data\n ], {\n ...options\n });\n const txResponse = await this.contract.signMessage(data, options);\n return (0, $h3YQx.toTxResult)(txResponse, options);\n }\n async getMessageHash(message) {\n return this.contract.getMessageHash(message);\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.estimateGas[methodName](...params, options)).toString();\n }\n}\nmodule.exports.default = $645f30d19558091f$var$SignMessageLibEthersContract;\n\n});\n\nparcelRequire.register(\"iOLGS\", function(module, exports) {\n\"use strict\";\nvar $db31e3d9a58c72db$var$__classPrivateFieldSet = module.exports && module.exports.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $db31e3d9a58c72db$var$__classPrivateFieldGet = module.exports && module.exports.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $db31e3d9a58c72db$var$_EthersAdapter_ethers, $db31e3d9a58c72db$var$_EthersAdapter_signer, $db31e3d9a58c72db$var$_EthersAdapter_provider;\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $7a7Pr = parcelRequire(\"7a7Pr\");\n\nvar $86UQU = parcelRequire(\"86UQU\");\n\nvar $h3YQx = parcelRequire(\"h3YQx\");\nclass $db31e3d9a58c72db$var$EthersAdapter {\n constructor({ ethers: ethers , signerOrProvider: signerOrProvider }){\n $db31e3d9a58c72db$var$_EthersAdapter_ethers.set(this, void 0);\n $db31e3d9a58c72db$var$_EthersAdapter_signer.set(this, void 0);\n $db31e3d9a58c72db$var$_EthersAdapter_provider.set(this, void 0);\n if (!ethers) throw new Error(\"ethers property missing from options\");\n $db31e3d9a58c72db$var$__classPrivateFieldSet(this, $db31e3d9a58c72db$var$_EthersAdapter_ethers, ethers, \"f\");\n const isSigner = (0, $h3YQx.isSignerCompatible)(signerOrProvider);\n if (isSigner) {\n const signer = signerOrProvider;\n if (!signer.provider) throw new Error(\"Signer must be connected to a provider\");\n $db31e3d9a58c72db$var$__classPrivateFieldSet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, signer.provider, \"f\");\n $db31e3d9a58c72db$var$__classPrivateFieldSet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, signer, \"f\");\n } else $db31e3d9a58c72db$var$__classPrivateFieldSet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, signerOrProvider, \"f\");\n }\n getProvider() {\n return $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\");\n }\n getSigner() {\n return $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\");\n }\n isAddress(address) {\n return $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_ethers, \"f\").utils.isAddress(address);\n }\n async getEip3770Address(fullAddress) {\n const chainId = await this.getChainId();\n return (0, $7a7Pr.validateEip3770Address)(fullAddress, chainId);\n }\n async getBalance(address, blockTag) {\n return $1chjt.BigNumber.from(await $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\").getBalance(address, blockTag));\n }\n async getNonce(address, blockTag) {\n return $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\").getTransactionCount(address, blockTag);\n }\n async getChainId() {\n return (await $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\").getNetwork()).chainId;\n }\n getChecksummedAddress(address) {\n return $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_ethers, \"f\").utils.getAddress(address);\n }\n async getSafeContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid SafeProxy contract address\");\n const signerOrProvider = $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\") || $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\");\n return (0, $86UQU.getSafeContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getSafeProxyFactoryContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid SafeProxyFactory contract address\");\n const signerOrProvider = $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\") || $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\");\n return (0, $86UQU.getSafeProxyFactoryContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getMultiSendContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid MultiSend contract address\");\n const signerOrProvider = $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\") || $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\");\n return (0, $86UQU.getMultiSendContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getMultiSendCallOnlyContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid MultiSendCallOnly contract address\");\n const signerOrProvider = $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\") || $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\");\n return (0, $86UQU.getMultiSendCallOnlyContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getCompatibilityFallbackHandlerContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid CompatibilityFallbackHandler contract address\");\n const signerOrProvider = $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\") || $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\");\n return (0, $86UQU.getCompatibilityFallbackHandlerContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getSignMessageLibContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid SignMessageLib contract address\");\n const signerOrProvider = $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\") || $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\");\n return (0, $86UQU.getSignMessageLibContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getCreateCallContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid CreateCall contract address\");\n const signerOrProvider = $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\") || $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\");\n return (0, $86UQU.getCreateCallContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getContractCode(address, blockTag) {\n return $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\").getCode(address, blockTag);\n }\n async isContractDeployed(address, blockTag) {\n const contractCode = await $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\").getCode(address, blockTag);\n return contractCode !== \"0x\";\n }\n async getStorageAt(address, position) {\n const content = await $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\").getStorageAt(address, position);\n const decodedContent = this.decodeParameters([\n \"address\"\n ], content);\n return decodedContent[0];\n }\n async getTransaction(transactionHash) {\n return $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\").getTransaction(transactionHash);\n }\n async getSignerAddress() {\n var _a;\n return (_a = $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\")) === null || _a === void 0 ? void 0 : _a.getAddress();\n }\n signMessage(message) {\n if (!$db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\")) throw new Error(\"EthAdapter must be initialized with a signer to use this method\");\n const messageArray = $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_ethers, \"f\").utils.arrayify(message);\n return $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\").signMessage(messageArray);\n }\n async signTypedData(safeTransactionEIP712Args) {\n if (!$db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\")) throw new Error(\"EthAdapter must be initialized with a signer to use this method\");\n if ((0, $h3YQx.isTypedDataSigner)($db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\"))) {\n const typedData = (0, $7a7Pr.generateTypedData)(safeTransactionEIP712Args);\n const signature = await $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_signer, \"f\")._signTypedData(typedData.domain, {\n SafeTx: typedData.types.SafeTx\n }, typedData.message);\n return signature;\n }\n throw new Error(\"The current signer does not implement EIP-712 to sign typed data\");\n }\n async estimateGas(transaction) {\n return (await $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\").estimateGas(transaction)).toString();\n }\n call(transaction, blockTag) {\n return $db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_provider, \"f\").call(transaction, blockTag);\n }\n encodeParameters(types, values) {\n return new ($db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_ethers, \"f\")).utils.AbiCoder().encode(types, values);\n }\n decodeParameters(types, values) {\n return new ($db31e3d9a58c72db$var$__classPrivateFieldGet(this, $db31e3d9a58c72db$var$_EthersAdapter_ethers, \"f\")).utils.AbiCoder().decode(types, values);\n }\n}\n$db31e3d9a58c72db$var$_EthersAdapter_ethers = new WeakMap(), $db31e3d9a58c72db$var$_EthersAdapter_signer = new WeakMap(), $db31e3d9a58c72db$var$_EthersAdapter_provider = new WeakMap();\nmodule.exports.default = $db31e3d9a58c72db$var$EthersAdapter;\n\n});\nparcelRequire.register(\"7a7Pr\", function(module, exports) {\n\"use strict\";\nvar $536f8a2ee4f40657$var$__createBinding = module.exports && module.exports.__createBinding || (Object.create ? function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n enumerable: true,\n get: function() {\n return m[k];\n }\n };\n Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\nvar $536f8a2ee4f40657$var$__exportStar = module.exports && module.exports.__exportStar || function(m, exports1) {\n for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports1, p)) $536f8a2ee4f40657$var$__createBinding(exports1, m, p);\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n$536f8a2ee4f40657$var$__exportStar((parcelRequire(\"gOIod\")), module.exports);\n\n$536f8a2ee4f40657$var$__exportStar((parcelRequire(\"4pOCo\")), module.exports);\n\n$536f8a2ee4f40657$var$__exportStar((parcelRequire(\"cbPuo\")), module.exports);\n\n$536f8a2ee4f40657$var$__exportStar((parcelRequire(\"17085\")), module.exports);\n\n$536f8a2ee4f40657$var$__exportStar((parcelRequire(\"b8YZZ\")), module.exports);\n\n$536f8a2ee4f40657$var$__exportStar((parcelRequire(\"8jNYJ\")), module.exports);\n\n});\nparcelRequire.register(\"gOIod\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.isRestrictedAddress = module.exports.isZeroAddress = module.exports.sameString = void 0;\n\nvar $cm07l = parcelRequire(\"cm07l\");\nfunction $c3e3bfb7a67a06db$var$sameString(str1, str2) {\n return str1.toLowerCase() === str2.toLowerCase();\n}\nmodule.exports.sameString = $c3e3bfb7a67a06db$var$sameString;\nfunction $c3e3bfb7a67a06db$var$isZeroAddress(address) {\n return $c3e3bfb7a67a06db$var$sameString(address, $cm07l.ZERO_ADDRESS);\n}\nmodule.exports.isZeroAddress = $c3e3bfb7a67a06db$var$isZeroAddress;\nfunction $c3e3bfb7a67a06db$var$isSentinelAddress(address) {\n return $c3e3bfb7a67a06db$var$sameString(address, $cm07l.SENTINEL_ADDRESS);\n}\nfunction $c3e3bfb7a67a06db$var$isRestrictedAddress(address) {\n return $c3e3bfb7a67a06db$var$isZeroAddress(address) || $c3e3bfb7a67a06db$var$isSentinelAddress(address);\n}\nmodule.exports.isRestrictedAddress = $c3e3bfb7a67a06db$var$isRestrictedAddress;\n\n});\nparcelRequire.register(\"cm07l\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.SENTINEL_ADDRESS = module.exports.EMPTY_DATA = module.exports.ZERO_ADDRESS = void 0;\nmodule.exports.ZERO_ADDRESS = `0x${\"0\".repeat(40)}`;\nmodule.exports.EMPTY_DATA = \"0x\";\nmodule.exports.SENTINEL_ADDRESS = \"0x0000000000000000000000000000000000000001\";\n\n});\n\n\nparcelRequire.register(\"4pOCo\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.validateEip3770Address = module.exports.validateEthereumAddress = module.exports.validateEip3770NetworkPrefix = module.exports.isValidEip3770NetworkPrefix = module.exports.getEip3770NetworkPrefixFromChainId = module.exports.parseEip3770Address = void 0;\n\nvar $9y1Dl = parcelRequire(\"9y1Dl\");\n\nvar $ulSff = parcelRequire(\"ulSff\");\nfunction $3370c2ee0af74814$var$parseEip3770Address(fullAddress) {\n const parts = fullAddress.split(\":\");\n const address = parts.length > 1 ? parts[1] : parts[0];\n const prefix = parts.length > 1 ? parts[0] : \"\";\n return {\n prefix: prefix,\n address: address\n };\n}\nmodule.exports.parseEip3770Address = $3370c2ee0af74814$var$parseEip3770Address;\nfunction $3370c2ee0af74814$var$getEip3770NetworkPrefixFromChainId(chainId) {\n const network = $ulSff.networks.find((network)=>chainId === network.chainId);\n if (!network) throw new Error(\"No network prefix supported for the current chainId\");\n return network.shortName;\n}\nmodule.exports.getEip3770NetworkPrefixFromChainId = $3370c2ee0af74814$var$getEip3770NetworkPrefixFromChainId;\nfunction $3370c2ee0af74814$var$isValidEip3770NetworkPrefix(prefix) {\n return $ulSff.networks.some(({ shortName: shortName })=>shortName === prefix);\n}\nmodule.exports.isValidEip3770NetworkPrefix = $3370c2ee0af74814$var$isValidEip3770NetworkPrefix;\nfunction $3370c2ee0af74814$var$validateEip3770NetworkPrefix(prefix, currentChainId) {\n const isCurrentNetworkPrefix = prefix === $3370c2ee0af74814$var$getEip3770NetworkPrefixFromChainId(currentChainId);\n if (!$3370c2ee0af74814$var$isValidEip3770NetworkPrefix(prefix) || !isCurrentNetworkPrefix) throw new Error(\"The network prefix must match the current network\");\n}\nmodule.exports.validateEip3770NetworkPrefix = $3370c2ee0af74814$var$validateEip3770NetworkPrefix;\nfunction $3370c2ee0af74814$var$validateEthereumAddress(address) {\n const isValidAddress = (0, $9y1Dl.isHexStrict)(address) && (0, $9y1Dl.isAddress)(address);\n if (!isValidAddress) throw new Error(`Invalid Ethereum address ${address}`);\n}\nmodule.exports.validateEthereumAddress = $3370c2ee0af74814$var$validateEthereumAddress;\nfunction $3370c2ee0af74814$var$validateEip3770Address(fullAddress, currentChainId) {\n const { address: address , prefix: prefix } = $3370c2ee0af74814$var$parseEip3770Address(fullAddress);\n $3370c2ee0af74814$var$validateEthereumAddress(address);\n if (prefix) $3370c2ee0af74814$var$validateEip3770NetworkPrefix(prefix, currentChainId);\n return {\n address: address,\n prefix: prefix\n };\n}\nmodule.exports.validateEip3770Address = $3370c2ee0af74814$var$validateEip3770Address;\n\n});\nparcelRequire.register(\"9y1Dl\", function(module, exports) {\n/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n */ /**\n * @file utils.js\n * @author Marek Kotewicz \n * @author Fabian Vogelsteller \n * @date 2017\n */ \nvar $bijMU = parcelRequire(\"bijMU\");\n\nvar $eNPzt = parcelRequire(\"eNPzt\");\n\nvar $gQOic = parcelRequire(\"gQOic\");\n\nvar $hkN9y = parcelRequire(\"hkN9y\");\n\nvar $dEXSZ = parcelRequire(\"dEXSZ\");\n/**\n * Fires an error in an event emitter and callback and returns the eventemitter\n *\n * @method _fireError\n * @param {Object} error a string, a error, or an object with {message, data}\n * @param {Object} emitter\n * @param {Function} reject\n * @param {Function} callback\n * @param {any} optionalData\n * @return {Object} the emitter\n */ var $6f388e73f687fdcf$var$_fireError = function(error, emitter, reject, callback, optionalData) {\n /*jshint maxcomplexity: 10 */ // add data if given\n if (!!error && typeof error === \"object\" && !(error instanceof Error) && error.data) {\n if (!!error.data && typeof error.data === \"object\" || Array.isArray(error.data)) error.data = JSON.stringify(error.data, null, 2);\n error = error.message + \"\\n\" + error.data;\n }\n if (typeof error === \"string\") error = new Error(error);\n if (typeof callback === \"function\") callback(error, optionalData);\n if (typeof reject === \"function\") {\n // suppress uncatched error if an error listener is present\n // OR suppress uncatched error if an callback listener is present\n if (emitter && typeof emitter.listeners === \"function\" && emitter.listeners(\"error\").length || typeof callback === \"function\") emitter.catch(function() {});\n // reject later, to be able to return emitter\n setTimeout(function() {\n reject(error);\n }, 1);\n }\n if (emitter && typeof emitter.emit === \"function\") // emit later, to be able to return emitter\n setTimeout(function() {\n emitter.emit(\"error\", error, optionalData);\n emitter.removeAllListeners();\n }, 1);\n return emitter;\n};\n/**\n * Should be used to create full function/event name from json abi\n *\n * @method _jsonInterfaceMethodToString\n * @param {Object} json\n * @return {String} full function/event name\n */ var $6f388e73f687fdcf$var$_jsonInterfaceMethodToString = function(json) {\n if (!!json && typeof json === \"object\" && json.name && json.name.indexOf(\"(\") !== -1) return json.name;\n return json.name + \"(\" + $6f388e73f687fdcf$var$_flattenTypes(false, json.inputs).join(\",\") + \")\";\n};\n/**\n * Should be used to flatten json abi inputs/outputs into an array of type-representing-strings\n *\n * @method _flattenTypes\n * @param {bool} includeTuple\n * @param {Object} puts\n * @return {Array} parameters as strings\n */ var $6f388e73f687fdcf$var$_flattenTypes = function(includeTuple, puts) {\n // console.log(\"entered _flattenTypes. inputs/outputs: \" + puts)\n var types = [];\n puts.forEach(function(param) {\n if (typeof param.components === \"object\") {\n if (param.type.substring(0, 5) !== \"tuple\") throw new Error(\"components found but type is not tuple; report on GitHub\");\n var suffix = \"\";\n var arrayBracket = param.type.indexOf(\"[\");\n if (arrayBracket >= 0) suffix = param.type.substring(arrayBracket);\n var result = $6f388e73f687fdcf$var$_flattenTypes(includeTuple, param.components);\n // console.log(\"result should have things: \" + result)\n if (Array.isArray(result) && includeTuple) // console.log(\"include tuple word, and its an array. joining...: \" + result.types)\n types.push(\"tuple(\" + result.join(\",\") + \")\" + suffix);\n else if (!includeTuple) // console.log(\"don't include tuple, but its an array. joining...: \" + result)\n types.push(\"(\" + result.join(\",\") + \")\" + suffix);\n else // console.log(\"its a single type within a tuple: \" + result.types)\n types.push(\"(\" + result + \")\");\n } else // console.log(\"its a type and not directly in a tuple: \" + param.type)\n types.push(param.type);\n });\n return types;\n};\n/**\n * Returns a random hex string by the given bytes size\n *\n * @param {Number} size\n * @returns {string}\n */ var $6f388e73f687fdcf$var$randomHex = function(size) {\n return \"0x\" + $hkN9y(size).toString(\"hex\");\n};\n/**\n * Should be called to get ascii from it's hex representation\n *\n * @method hexToAscii\n * @param {String} hex\n * @returns {String} ascii string representation of hex value\n */ var $6f388e73f687fdcf$var$hexToAscii = function(hex) {\n if (!$eNPzt.isHexStrict(hex)) throw new Error(\"The parameter must be a valid HEX string.\");\n var str = \"\";\n var i = 0, l = hex.length;\n if (hex.substring(0, 2) === \"0x\") i = 2;\n for(; i < l; i += 2){\n var code = parseInt(hex.slice(i, i + 2), 16);\n str += String.fromCharCode(code);\n }\n return str;\n};\n/**\n * Should be called to get hex representation (prefixed by 0x) of ascii string\n *\n * @method asciiToHex\n * @param {String} str\n * @returns {String} hex representation of input string\n */ var $6f388e73f687fdcf$var$asciiToHex = function(str) {\n if (!str) return \"0x00\";\n var hex = \"\";\n for(var i = 0; i < str.length; i++){\n var code = str.charCodeAt(i);\n var n = code.toString(16);\n hex += n.length < 2 ? \"0\" + n : n;\n }\n return \"0x\" + hex;\n};\n/**\n * Returns value of unit in Wei\n *\n * @method getUnitValue\n * @param {String} unit the unit to convert to, default ether\n * @returns {BN} value of the unit (in Wei)\n * @throws error if the unit is not correct:w\n */ var $6f388e73f687fdcf$var$getUnitValue = function(unit) {\n unit = unit ? unit.toLowerCase() : \"ether\";\n if (!$bijMU.unitMap[unit]) throw new Error('This unit \"' + unit + \"\\\" doesn't exist, please use the one of the following units\" + JSON.stringify($bijMU.unitMap, null, 2));\n return unit;\n};\n/**\n * Takes a number of wei and converts it to any other ether unit.\n *\n * Possible units are:\n * SI Short SI Full Effigy Other\n * - kwei femtoether babbage\n * - mwei picoether lovelace\n * - gwei nanoether shannon nano\n * - -- microether szabo micro\n * - -- milliether finney milli\n * - ether -- --\n * - kether -- grand\n * - mether\n * - gether\n * - tether\n *\n * @method fromWei\n * @param {Number|String} number can be a number, number string or a HEX of a decimal\n * @param {String} unit the unit to convert to, default ether\n * @return {String|Object} When given a BN object it returns one as well, otherwise a number\n */ var $6f388e73f687fdcf$var$fromWei = function(number, unit) {\n unit = $6f388e73f687fdcf$var$getUnitValue(unit);\n if (!$eNPzt.isBN(number) && !(typeof number === \"string\")) throw new Error(\"Please pass numbers as strings or BN objects to avoid precision errors.\");\n return $eNPzt.isBN(number) ? $bijMU.fromWei(number, unit) : $bijMU.fromWei(number, unit).toString(10);\n};\n/**\n * Takes a number of a unit and converts it to wei.\n *\n * Possible units are:\n * SI Short SI Full Effigy Other\n * - kwei femtoether babbage\n * - mwei picoether lovelace\n * - gwei nanoether shannon nano\n * - -- microether szabo micro\n * - -- microether szabo micro\n * - -- milliether finney milli\n * - ether -- --\n * - kether -- grand\n * - mether\n * - gether\n * - tether\n *\n * @method toWei\n * @param {Number|String|BN} number can be a number, number string or a HEX of a decimal\n * @param {String} unit the unit to convert from, default ether\n * @return {String|Object} When given a BN object it returns one as well, otherwise a number\n */ var $6f388e73f687fdcf$var$toWei = function(number, unit) {\n unit = $6f388e73f687fdcf$var$getUnitValue(unit);\n if (!$eNPzt.isBN(number) && !(typeof number === \"string\")) throw new Error(\"Please pass numbers as strings or BN objects to avoid precision errors.\");\n return $eNPzt.isBN(number) ? $bijMU.toWei(number, unit) : $bijMU.toWei(number, unit).toString(10);\n};\n/**\n * Converts to a checksum address\n *\n * @method toChecksumAddress\n * @param {String} address the given HEX address\n * @return {String}\n */ var $6f388e73f687fdcf$var$toChecksumAddress = function(address) {\n if (typeof address === \"undefined\") return \"\";\n if (!/^(0x)?[0-9a-f]{40}$/i.test(address)) throw new Error('Given address \"' + address + '\" is not a valid Ethereum address.');\n address = address.toLowerCase().replace(/^0x/i, \"\");\n var addressHash = $eNPzt.sha3(address).replace(/^0x/i, \"\");\n var checksumAddress = \"0x\";\n for(var i = 0; i < address.length; i++)// If ith character is 8 to f then make it uppercase\n if (parseInt(addressHash[i], 16) > 7) checksumAddress += address[i].toUpperCase();\n else checksumAddress += address[i];\n return checksumAddress;\n};\n/**\n * Returns -1 if ab; 0 if a == b.\n * For more details on this type of function, see\n * developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\n * Block tag `safe` and `block number` combination param is not supported\n * @method compareBlockNumbers\n *\n * @param {String|Number|BN} a\n *\n * @param {String|Number|BN} b\n *\n * @returns {Number} -1, 0, or 1\n */ var $6f388e73f687fdcf$var$compareBlockNumbers = function(a, b) {\n // Increasing order: (genesis = earliest), safe, (finalized ~ latest), pending\n // safe vs block-num cant be compared as block number provided can be on left or right side of safe tag, until safe tag block number is extracted and compared\n if (a === b) return 0;\n else if ((\"genesis\" === a || \"earliest\" === a || 0 === a) && (\"genesis\" === b || \"earliest\" === b || 0 === b)) return 0;\n else if (\"genesis\" === a || \"earliest\" === a || a === 0) // b !== a, thus a < b\n return -1;\n else if (\"genesis\" === b || \"earliest\" === b || b === 0) // b !== a, thus a > b\n return 1;\n else if (a === \"latest\" || a === \"finalized\") {\n if (b === \"pending\") return -1;\n else // b !== (\"pending\" OR \"latest\"), thus a > b\n return 1;\n } else if (b === \"latest\" || b === \"finalized\") {\n if (a === \"pending\") return 1;\n else // b !== (\"pending\" OR \"latest\"), thus a > b\n return -1;\n } else if (a === \"pending\") // b (== OR <) \"latest\", thus a > b\n return 1;\n else if (b === \"pending\") return -1;\n else if (a === \"safe\" || b === \"safe\") // either a or b is \"safe\" and the other one did not fall into any of the conditions above, so the other one is a number\n return undefined;\n else {\n let bnA = new $dEXSZ(a);\n let bnB = new $dEXSZ(b);\n if (bnA.lt(bnB)) return -1;\n else if (bnA.eq(bnB)) return 0;\n else return 1;\n }\n};\nmodule.exports = {\n _fireError: $6f388e73f687fdcf$var$_fireError,\n _jsonInterfaceMethodToString: $6f388e73f687fdcf$var$_jsonInterfaceMethodToString,\n _flattenTypes: $6f388e73f687fdcf$var$_flattenTypes,\n // extractDisplayName: extractDisplayName,\n // extractTypeName: extractTypeName,\n randomHex: $6f388e73f687fdcf$var$randomHex,\n BN: $eNPzt.BN,\n isBN: $eNPzt.isBN,\n isBigNumber: $eNPzt.isBigNumber,\n isHex: $eNPzt.isHex,\n isHexStrict: $eNPzt.isHexStrict,\n sha3: $eNPzt.sha3,\n sha3Raw: $eNPzt.sha3Raw,\n keccak256: $eNPzt.sha3,\n soliditySha3: $gQOic.soliditySha3,\n soliditySha3Raw: $gQOic.soliditySha3Raw,\n encodePacked: $gQOic.encodePacked,\n isAddress: $eNPzt.isAddress,\n checkAddressChecksum: $eNPzt.checkAddressChecksum,\n toChecksumAddress: $6f388e73f687fdcf$var$toChecksumAddress,\n toHex: $eNPzt.toHex,\n toBN: $eNPzt.toBN,\n bytesToHex: $eNPzt.bytesToHex,\n hexToBytes: $eNPzt.hexToBytes,\n hexToNumberString: $eNPzt.hexToNumberString,\n hexToNumber: $eNPzt.hexToNumber,\n toDecimal: $eNPzt.hexToNumber,\n numberToHex: $eNPzt.numberToHex,\n fromDecimal: $eNPzt.numberToHex,\n hexToUtf8: $eNPzt.hexToUtf8,\n hexToString: $eNPzt.hexToUtf8,\n toUtf8: $eNPzt.hexToUtf8,\n stripHexPrefix: $eNPzt.stripHexPrefix,\n utf8ToHex: $eNPzt.utf8ToHex,\n stringToHex: $eNPzt.utf8ToHex,\n fromUtf8: $eNPzt.utf8ToHex,\n hexToAscii: $6f388e73f687fdcf$var$hexToAscii,\n toAscii: $6f388e73f687fdcf$var$hexToAscii,\n asciiToHex: $6f388e73f687fdcf$var$asciiToHex,\n fromAscii: $6f388e73f687fdcf$var$asciiToHex,\n unitMap: $bijMU.unitMap,\n toWei: $6f388e73f687fdcf$var$toWei,\n fromWei: $6f388e73f687fdcf$var$fromWei,\n padLeft: $eNPzt.leftPad,\n leftPad: $eNPzt.leftPad,\n padRight: $eNPzt.rightPad,\n rightPad: $eNPzt.rightPad,\n toTwosComplement: $eNPzt.toTwosComplement,\n isBloom: $eNPzt.isBloom,\n isUserEthereumAddressInBloom: $eNPzt.isUserEthereumAddressInBloom,\n isContractAddressInBloom: $eNPzt.isContractAddressInBloom,\n isTopic: $eNPzt.isTopic,\n isTopicInBloom: $eNPzt.isTopicInBloom,\n isInBloom: $eNPzt.isInBloom,\n compareBlockNumbers: $6f388e73f687fdcf$var$compareBlockNumbers,\n toNumber: $eNPzt.toNumber\n};\n\n});\nparcelRequire.register(\"bijMU\", function(module, exports) {\n\"use strict\";\n\nvar $37ApY = parcelRequire(\"37ApY\");\n\nvar $lrNtv = parcelRequire(\"lrNtv\");\nvar $8390b99fd7c7bef8$var$zero = new $37ApY(0);\nvar $8390b99fd7c7bef8$var$negative1 = new $37ApY(-1);\n// complete ethereum unit map\nvar $8390b99fd7c7bef8$var$unitMap = {\n \"noether\": \"0\",\n \"wei\": \"1\",\n \"kwei\": \"1000\",\n \"Kwei\": \"1000\",\n \"babbage\": \"1000\",\n \"femtoether\": \"1000\",\n \"mwei\": \"1000000\",\n \"Mwei\": \"1000000\",\n \"lovelace\": \"1000000\",\n \"picoether\": \"1000000\",\n \"gwei\": \"1000000000\",\n \"Gwei\": \"1000000000\",\n \"shannon\": \"1000000000\",\n \"nanoether\": \"1000000000\",\n \"nano\": \"1000000000\",\n \"szabo\": \"1000000000000\",\n \"microether\": \"1000000000000\",\n \"micro\": \"1000000000000\",\n \"finney\": \"1000000000000000\",\n \"milliether\": \"1000000000000000\",\n \"milli\": \"1000000000000000\",\n \"ether\": \"1000000000000000000\",\n \"kether\": \"1000000000000000000000\",\n \"grand\": \"1000000000000000000000\",\n \"mether\": \"1000000000000000000000000\",\n \"gether\": \"1000000000000000000000000000\",\n \"tether\": \"1000000000000000000000000000000\"\n};\n/**\n * Returns value of unit in Wei\n *\n * @method getValueOfUnit\n * @param {String} unit the unit to convert to, default ether\n * @returns {BigNumber} value of the unit (in Wei)\n * @throws error if the unit is not correct:w\n */ function $8390b99fd7c7bef8$var$getValueOfUnit(unitInput) {\n var unit = unitInput ? unitInput.toLowerCase() : \"ether\";\n var unitValue = $8390b99fd7c7bef8$var$unitMap[unit]; // eslint-disable-line\n if (typeof unitValue !== \"string\") throw new Error(\"[ethjs-unit] the unit provided \" + unitInput + \" doesn't exists, please use the one of the following units \" + JSON.stringify($8390b99fd7c7bef8$var$unitMap, null, 2));\n return new $37ApY(unitValue, 10);\n}\nfunction $8390b99fd7c7bef8$var$numberToString(arg) {\n if (typeof arg === \"string\") {\n if (!arg.match(/^-?[0-9.]+$/)) throw new Error(\"while converting number to string, invalid number value '\" + arg + \"', should be a number matching (^-?[0-9.]+).\");\n return arg;\n } else if (typeof arg === \"number\") return String(arg);\n else if (typeof arg === \"object\" && arg.toString && (arg.toTwos || arg.dividedToIntegerBy)) {\n if (arg.toPrecision) return String(arg.toPrecision());\n else // eslint-disable-line\n return arg.toString(10);\n }\n throw new Error(\"while converting number to string, invalid number value '\" + arg + \"' type \" + typeof arg + \".\");\n}\nfunction $8390b99fd7c7bef8$var$fromWei(weiInput, unit, optionsInput) {\n var wei = $lrNtv(weiInput); // eslint-disable-line\n var negative = wei.lt($8390b99fd7c7bef8$var$zero); // eslint-disable-line\n var base = $8390b99fd7c7bef8$var$getValueOfUnit(unit);\n var baseLength = $8390b99fd7c7bef8$var$unitMap[unit].length - 1 || 1;\n var options = optionsInput || {};\n if (negative) wei = wei.mul($8390b99fd7c7bef8$var$negative1);\n var fraction = wei.mod(base).toString(10); // eslint-disable-line\n while(fraction.length < baseLength)fraction = \"0\" + fraction;\n if (!options.pad) fraction = fraction.match(/^([0-9]*[1-9]|0)(0*)/)[1];\n var whole = wei.div(base).toString(10); // eslint-disable-line\n if (options.commify) whole = whole.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n var value = \"\" + whole + (fraction == \"0\" ? \"\" : \".\" + fraction); // eslint-disable-line\n if (negative) value = \"-\" + value;\n return value;\n}\nfunction $8390b99fd7c7bef8$var$toWei(etherInput, unit) {\n var ether = $8390b99fd7c7bef8$var$numberToString(etherInput); // eslint-disable-line\n var base = $8390b99fd7c7bef8$var$getValueOfUnit(unit);\n var baseLength = $8390b99fd7c7bef8$var$unitMap[unit].length - 1 || 1;\n // Is it negative?\n var negative = ether.substring(0, 1) === \"-\"; // eslint-disable-line\n if (negative) ether = ether.substring(1);\n if (ether === \".\") throw new Error(\"[ethjs-unit] while converting number \" + etherInput + \" to wei, invalid value\");\n // Split it into a whole and fractional part\n var comps = ether.split(\".\"); // eslint-disable-line\n if (comps.length > 2) throw new Error(\"[ethjs-unit] while converting number \" + etherInput + \" to wei, too many decimal points\");\n var whole = comps[0], fraction = comps[1]; // eslint-disable-line\n if (!whole) whole = \"0\";\n if (!fraction) fraction = \"0\";\n if (fraction.length > baseLength) throw new Error(\"[ethjs-unit] while converting number \" + etherInput + \" to wei, too many decimal places\");\n while(fraction.length < baseLength)fraction += \"0\";\n whole = new $37ApY(whole);\n fraction = new $37ApY(fraction);\n var wei = whole.mul(base).add(fraction); // eslint-disable-line\n if (negative) wei = wei.mul($8390b99fd7c7bef8$var$negative1);\n return new $37ApY(wei.toString(10), 10);\n}\nmodule.exports = {\n unitMap: $8390b99fd7c7bef8$var$unitMap,\n numberToString: $8390b99fd7c7bef8$var$numberToString,\n getValueOfUnit: $8390b99fd7c7bef8$var$getValueOfUnit,\n fromWei: $8390b99fd7c7bef8$var$fromWei,\n toWei: $8390b99fd7c7bef8$var$toWei\n};\n\n});\nparcelRequire.register(\"37ApY\", function(module, exports) {\n\n(function(module1, exports) {\n \"use strict\";\n // Utils\n function assert(val, msg) {\n if (!val) throw new Error(msg || \"Assertion failed\");\n }\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n // BN\n function BN(number, base, endian) {\n if (BN.isBN(number)) return number;\n this.negative = 0;\n this.words = null;\n this.length = 0;\n // Reduction context\n this.red = null;\n if (number !== null) {\n if (base === \"le\" || base === \"be\") {\n endian = base;\n base = 10;\n }\n this._init(number || 0, base || 10, endian || \"be\");\n }\n }\n if (typeof module1 === \"object\") module1.exports = BN;\n else exports.BN = BN;\n BN.BN = BN;\n BN.wordSize = 26;\n var Buffer;\n try {\n Buffer = (parcelRequire(\"6ZWSX\")).Buffer;\n } catch (e) {}\n BN.isBN = function isBN(num) {\n if (num instanceof BN) return true;\n return num !== null && typeof num === \"object\" && num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n BN.max = function max(left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n BN.min = function min(left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n BN.prototype._init = function init(number, base, endian) {\n if (typeof number === \"number\") return this._initNumber(number, base, endian);\n if (typeof number === \"object\") return this._initArray(number, base, endian);\n if (base === \"hex\") base = 16;\n assert(base === (base | 0) && base >= 2 && base <= 36);\n number = number.toString().replace(/\\s+/g, \"\");\n var start = 0;\n if (number[0] === \"-\") start++;\n if (base === 16) this._parseHex(number, start);\n else this._parseBase(number, base, start);\n if (number[0] === \"-\") this.negative = 1;\n this.strip();\n if (endian !== \"le\") return;\n this._initArray(this.toArray(), base, endian);\n };\n BN.prototype._initNumber = function _initNumber(number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [\n number & 0x3ffffff\n ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n number / 0x4000000 & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n number / 0x4000000 & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n if (endian !== \"le\") return;\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n BN.prototype._initArray = function _initArray(number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === \"number\");\n if (number.length <= 0) {\n this.words = [\n 0\n ];\n this.length = 1;\n return this;\n }\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for(var i = 0; i < this.length; i++)this.words[i] = 0;\n var j, w;\n var off = 0;\n if (endian === \"be\") for(i = number.length - 1, j = 0; i >= 0; i -= 3){\n w = number[i] | number[i - 1] << 8 | number[i - 2] << 16;\n this.words[j] |= w << off & 0x3ffffff;\n this.words[j + 1] = w >>> 26 - off & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n else if (endian === \"le\") for(i = 0, j = 0; i < number.length; i += 3){\n w = number[i] | number[i + 1] << 8 | number[i + 2] << 16;\n this.words[j] |= w << off & 0x3ffffff;\n this.words[j + 1] = w >>> 26 - off & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n return this.strip();\n };\n function parseHex(str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for(var i = start; i < len; i++){\n var c = str.charCodeAt(i) - 48;\n r <<= 4;\n // 'a' - 'f'\n if (c >= 49 && c <= 54) r |= c - 49 + 0xa;\n else if (c >= 17 && c <= 22) r |= c - 17 + 0xa;\n else r |= c & 0xf;\n }\n return r;\n }\n BN.prototype._parseHex = function _parseHex(number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for(var i = 0; i < this.length; i++)this.words[i] = 0;\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for(i = number.length - 6, j = 0; i >= start; i -= 6){\n w = parseHex(number, i, i + 6);\n this.words[j] |= w << off & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> 26 - off & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= w << off & 0x3ffffff;\n this.words[j + 1] |= w >>> 26 - off & 0x3fffff;\n }\n this.strip();\n };\n function parseBase(str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for(var i = start; i < len; i++){\n var c = str.charCodeAt(i) - 48;\n r *= mul;\n // 'a'\n if (c >= 49) r += c - 49 + 0xa;\n else if (c >= 17) r += c - 17 + 0xa;\n else r += c;\n }\n return r;\n }\n BN.prototype._parseBase = function _parseBase(number, base, start) {\n // Initialize as zero\n this.words = [\n 0\n ];\n this.length = 1;\n // Find length of limb in base\n for(var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base)limbLen++;\n limbLen--;\n limbPow = limbPow / base | 0;\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n var word = 0;\n for(var i = start; i < end; i += limbLen){\n word = parseBase(number, i, i + limbLen, base);\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) this.words[0] += word;\n else this._iaddn(word);\n }\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n for(i = 0; i < mod; i++)pow *= base;\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) this.words[0] += word;\n else this._iaddn(word);\n }\n };\n BN.prototype.copy = function copy(dest) {\n dest.words = new Array(this.length);\n for(var i = 0; i < this.length; i++)dest.words[i] = this.words[i];\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n BN.prototype.clone = function clone() {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n BN.prototype._expand = function _expand(size) {\n while(this.length < size)this.words[this.length++] = 0;\n return this;\n };\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip() {\n while(this.length > 1 && this.words[this.length - 1] === 0)this.length--;\n return this._normSign();\n };\n BN.prototype._normSign = function _normSign() {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) this.negative = 0;\n return this;\n };\n BN.prototype.inspect = function inspect() {\n return (this.red ? \"\";\n };\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */ var zeros = [\n \"\",\n \"0\",\n \"00\",\n \"000\",\n \"0000\",\n \"00000\",\n \"000000\",\n \"0000000\",\n \"00000000\",\n \"000000000\",\n \"0000000000\",\n \"00000000000\",\n \"000000000000\",\n \"0000000000000\",\n \"00000000000000\",\n \"000000000000000\",\n \"0000000000000000\",\n \"00000000000000000\",\n \"000000000000000000\",\n \"0000000000000000000\",\n \"00000000000000000000\",\n \"000000000000000000000\",\n \"0000000000000000000000\",\n \"00000000000000000000000\",\n \"000000000000000000000000\",\n \"0000000000000000000000000\"\n ];\n var groupSizes = [\n 0,\n 0,\n 25,\n 16,\n 12,\n 11,\n 10,\n 9,\n 8,\n 8,\n 7,\n 7,\n 7,\n 7,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5\n ];\n var groupBases = [\n 0,\n 0,\n 33554432,\n 43046721,\n 16777216,\n 48828125,\n 60466176,\n 40353607,\n 16777216,\n 43046721,\n 10000000,\n 19487171,\n 35831808,\n 62748517,\n 7529536,\n 11390625,\n 16777216,\n 24137569,\n 34012224,\n 47045881,\n 64000000,\n 4084101,\n 5153632,\n 6436343,\n 7962624,\n 9765625,\n 11881376,\n 14348907,\n 17210368,\n 20511149,\n 24300000,\n 28629151,\n 33554432,\n 39135393,\n 45435424,\n 52521875,\n 60466176\n ];\n BN.prototype.toString = function toString(base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n var out;\n if (base === 16 || base === \"hex\") {\n out = \"\";\n var off = 0;\n var carry = 0;\n for(var i = 0; i < this.length; i++){\n var w = this.words[i];\n var word = ((w << off | carry) & 0xffffff).toString(16);\n carry = w >>> 24 - off & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) out = zeros[6 - word.length] + word + out;\n else out = word + out;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) out = carry.toString(16) + out;\n while(out.length % padding !== 0)out = \"0\" + out;\n if (this.negative !== 0) out = \"-\" + out;\n return out;\n }\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = \"\";\n var c = this.clone();\n c.negative = 0;\n while(!c.isZero()){\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n if (!c.isZero()) out = zeros[groupSize - r.length] + r + out;\n else out = r + out;\n }\n if (this.isZero()) out = \"0\" + out;\n while(out.length % padding !== 0)out = \"0\" + out;\n if (this.negative !== 0) out = \"-\" + out;\n return out;\n }\n assert(false, \"Base should be between 2 and 36\");\n };\n BN.prototype.toNumber = function toNumber() {\n var ret = this.words[0];\n if (this.length === 2) ret += this.words[1] * 0x4000000;\n else if (this.length === 3 && this.words[2] === 0x01) // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + this.words[1] * 0x4000000;\n else if (this.length > 2) assert(false, \"Number can only safely store up to 53 bits\");\n return this.negative !== 0 ? -ret : ret;\n };\n BN.prototype.toJSON = function toJSON() {\n return this.toString(16);\n };\n BN.prototype.toBuffer = function toBuffer(endian, length) {\n assert(typeof Buffer !== \"undefined\");\n return this.toArrayLike(Buffer, endian, length);\n };\n BN.prototype.toArray = function toArray(endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n BN.prototype.toArrayLike = function toArrayLike(ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, \"byte array longer than desired length\");\n assert(reqLength > 0, \"Requested array length <= 0\");\n this.strip();\n var littleEndian = endian === \"le\";\n var res = new ArrayType(reqLength);\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for(i = 0; i < reqLength - byteLength; i++)res[i] = 0;\n for(i = 0; !q.isZero(); i++){\n b = q.andln(0xff);\n q.iushrn(8);\n res[reqLength - i - 1] = b;\n }\n } else {\n for(i = 0; !q.isZero(); i++){\n b = q.andln(0xff);\n q.iushrn(8);\n res[i] = b;\n }\n for(; i < reqLength; i++)res[i] = 0;\n }\n return res;\n };\n if (Math.clz32) BN.prototype._countBits = function _countBits(w) {\n return 32 - Math.clz32(w);\n };\n else BN.prototype._countBits = function _countBits(w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n BN.prototype._zeroBits = function _zeroBits(w) {\n // Short-cut\n if (w === 0) return 26;\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) r++;\n return r;\n };\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength() {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n function toBitArray(num) {\n var w = new Array(num.bitLength());\n for(var bit = 0; bit < w.length; bit++){\n var off = bit / 26 | 0;\n var wbit = bit % 26;\n w[bit] = (num.words[off] & 1 << wbit) >>> wbit;\n }\n return w;\n }\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits() {\n if (this.isZero()) return 0;\n var r = 0;\n for(var i = 0; i < this.length; i++){\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n BN.prototype.byteLength = function byteLength() {\n return Math.ceil(this.bitLength() / 8);\n };\n BN.prototype.toTwos = function toTwos(width) {\n if (this.negative !== 0) return this.abs().inotn(width).iaddn(1);\n return this.clone();\n };\n BN.prototype.fromTwos = function fromTwos(width) {\n if (this.testn(width - 1)) return this.notn(width).iaddn(1).ineg();\n return this.clone();\n };\n BN.prototype.isNeg = function isNeg() {\n return this.negative !== 0;\n };\n // Return negative clone of `this`\n BN.prototype.neg = function neg() {\n return this.clone().ineg();\n };\n BN.prototype.ineg = function ineg() {\n if (!this.isZero()) this.negative ^= 1;\n return this;\n };\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor(num) {\n while(this.length < num.length)this.words[this.length++] = 0;\n for(var i = 0; i < num.length; i++)this.words[i] = this.words[i] | num.words[i];\n return this.strip();\n };\n BN.prototype.ior = function ior(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n // Or `num` with `this`\n BN.prototype.or = function or(num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n BN.prototype.uor = function uor(num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand(num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) b = num;\n else b = this;\n for(var i = 0; i < b.length; i++)this.words[i] = this.words[i] & num.words[i];\n this.length = b.length;\n return this.strip();\n };\n BN.prototype.iand = function iand(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n // And `num` with `this`\n BN.prototype.and = function and(num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n BN.prototype.uand = function uand(num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor(num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n for(var i = 0; i < b.length; i++)this.words[i] = a.words[i] ^ b.words[i];\n if (this !== a) for(; i < a.length; i++)this.words[i] = a.words[i];\n this.length = a.length;\n return this.strip();\n };\n BN.prototype.ixor = function ixor(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n // Xor `num` with `this`\n BN.prototype.xor = function xor(num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n BN.prototype.uxor = function uxor(num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn(width) {\n assert(typeof width === \"number\" && width >= 0);\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n if (bitsLeft > 0) bytesNeeded--;\n // Handle complete words\n for(var i = 0; i < bytesNeeded; i++)this.words[i] = ~this.words[i] & 0x3ffffff;\n // Handle the residue\n if (bitsLeft > 0) this.words[i] = ~this.words[i] & 0x3ffffff >> 26 - bitsLeft;\n // And remove leading zeroes\n return this.strip();\n };\n BN.prototype.notn = function notn(width) {\n return this.clone().inotn(width);\n };\n // Set `bit` of `this`\n BN.prototype.setn = function setn(bit, val) {\n assert(typeof bit === \"number\" && bit >= 0);\n var off = bit / 26 | 0;\n var wbit = bit % 26;\n this._expand(off + 1);\n if (val) this.words[off] = this.words[off] | 1 << wbit;\n else this.words[off] = this.words[off] & ~(1 << wbit);\n return this.strip();\n };\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd(num) {\n var r;\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n var carry = 0;\n for(var i = 0; i < b.length; i++){\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for(; carry !== 0 && i < a.length; i++){\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) for(; i < a.length; i++)this.words[i] = a.words[i];\n return this;\n };\n // Add `num` to `this`\n BN.prototype.add = function add(num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n if (this.length > num.length) return this.clone().iadd(num);\n return num.clone().iadd(this);\n };\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub(num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n var carry = 0;\n for(var i = 0; i < b.length; i++){\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for(; carry !== 0 && i < a.length; i++){\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) for(; i < a.length; i++)this.words[i] = a.words[i];\n this.length = Math.max(this.length, i);\n if (a !== this) this.negative = 1;\n return this.strip();\n };\n // Subtract `num` from `this`\n BN.prototype.sub = function sub(num) {\n return this.clone().isub(num);\n };\n function smallMulTo(self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = self.length + num.length | 0;\n out.length = len;\n len = len - 1 | 0;\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n var lo = r & 0x3ffffff;\n var carry = r / 0x4000000 | 0;\n out.words[0] = lo;\n for(var k = 1; k < len; k++){\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for(var j = Math.max(0, k - self.length + 1); j <= maxJ; j++){\n var i = k - j | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += r / 0x4000000 | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) out.words[k] = carry | 0;\n else out.length--;\n return out.strip();\n }\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo(self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */ lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = mid + Math.imul(ah0, bl0) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */ lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = mid + Math.imul(ah1, bl0) | 0;\n hi = Math.imul(ah1, bh0);\n lo = lo + Math.imul(al0, bl1) | 0;\n mid = mid + Math.imul(al0, bh1) | 0;\n mid = mid + Math.imul(ah0, bl1) | 0;\n hi = hi + Math.imul(ah0, bh1) | 0;\n var w1 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */ lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = mid + Math.imul(ah2, bl0) | 0;\n hi = Math.imul(ah2, bh0);\n lo = lo + Math.imul(al1, bl1) | 0;\n mid = mid + Math.imul(al1, bh1) | 0;\n mid = mid + Math.imul(ah1, bl1) | 0;\n hi = hi + Math.imul(ah1, bh1) | 0;\n lo = lo + Math.imul(al0, bl2) | 0;\n mid = mid + Math.imul(al0, bh2) | 0;\n mid = mid + Math.imul(ah0, bl2) | 0;\n hi = hi + Math.imul(ah0, bh2) | 0;\n var w2 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */ lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = mid + Math.imul(ah3, bl0) | 0;\n hi = Math.imul(ah3, bh0);\n lo = lo + Math.imul(al2, bl1) | 0;\n mid = mid + Math.imul(al2, bh1) | 0;\n mid = mid + Math.imul(ah2, bl1) | 0;\n hi = hi + Math.imul(ah2, bh1) | 0;\n lo = lo + Math.imul(al1, bl2) | 0;\n mid = mid + Math.imul(al1, bh2) | 0;\n mid = mid + Math.imul(ah1, bl2) | 0;\n hi = hi + Math.imul(ah1, bh2) | 0;\n lo = lo + Math.imul(al0, bl3) | 0;\n mid = mid + Math.imul(al0, bh3) | 0;\n mid = mid + Math.imul(ah0, bl3) | 0;\n hi = hi + Math.imul(ah0, bh3) | 0;\n var w3 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */ lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = mid + Math.imul(ah4, bl0) | 0;\n hi = Math.imul(ah4, bh0);\n lo = lo + Math.imul(al3, bl1) | 0;\n mid = mid + Math.imul(al3, bh1) | 0;\n mid = mid + Math.imul(ah3, bl1) | 0;\n hi = hi + Math.imul(ah3, bh1) | 0;\n lo = lo + Math.imul(al2, bl2) | 0;\n mid = mid + Math.imul(al2, bh2) | 0;\n mid = mid + Math.imul(ah2, bl2) | 0;\n hi = hi + Math.imul(ah2, bh2) | 0;\n lo = lo + Math.imul(al1, bl3) | 0;\n mid = mid + Math.imul(al1, bh3) | 0;\n mid = mid + Math.imul(ah1, bl3) | 0;\n hi = hi + Math.imul(ah1, bh3) | 0;\n lo = lo + Math.imul(al0, bl4) | 0;\n mid = mid + Math.imul(al0, bh4) | 0;\n mid = mid + Math.imul(ah0, bl4) | 0;\n hi = hi + Math.imul(ah0, bh4) | 0;\n var w4 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */ lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = mid + Math.imul(ah5, bl0) | 0;\n hi = Math.imul(ah5, bh0);\n lo = lo + Math.imul(al4, bl1) | 0;\n mid = mid + Math.imul(al4, bh1) | 0;\n mid = mid + Math.imul(ah4, bl1) | 0;\n hi = hi + Math.imul(ah4, bh1) | 0;\n lo = lo + Math.imul(al3, bl2) | 0;\n mid = mid + Math.imul(al3, bh2) | 0;\n mid = mid + Math.imul(ah3, bl2) | 0;\n hi = hi + Math.imul(ah3, bh2) | 0;\n lo = lo + Math.imul(al2, bl3) | 0;\n mid = mid + Math.imul(al2, bh3) | 0;\n mid = mid + Math.imul(ah2, bl3) | 0;\n hi = hi + Math.imul(ah2, bh3) | 0;\n lo = lo + Math.imul(al1, bl4) | 0;\n mid = mid + Math.imul(al1, bh4) | 0;\n mid = mid + Math.imul(ah1, bl4) | 0;\n hi = hi + Math.imul(ah1, bh4) | 0;\n lo = lo + Math.imul(al0, bl5) | 0;\n mid = mid + Math.imul(al0, bh5) | 0;\n mid = mid + Math.imul(ah0, bl5) | 0;\n hi = hi + Math.imul(ah0, bh5) | 0;\n var w5 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */ lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = mid + Math.imul(ah6, bl0) | 0;\n hi = Math.imul(ah6, bh0);\n lo = lo + Math.imul(al5, bl1) | 0;\n mid = mid + Math.imul(al5, bh1) | 0;\n mid = mid + Math.imul(ah5, bl1) | 0;\n hi = hi + Math.imul(ah5, bh1) | 0;\n lo = lo + Math.imul(al4, bl2) | 0;\n mid = mid + Math.imul(al4, bh2) | 0;\n mid = mid + Math.imul(ah4, bl2) | 0;\n hi = hi + Math.imul(ah4, bh2) | 0;\n lo = lo + Math.imul(al3, bl3) | 0;\n mid = mid + Math.imul(al3, bh3) | 0;\n mid = mid + Math.imul(ah3, bl3) | 0;\n hi = hi + Math.imul(ah3, bh3) | 0;\n lo = lo + Math.imul(al2, bl4) | 0;\n mid = mid + Math.imul(al2, bh4) | 0;\n mid = mid + Math.imul(ah2, bl4) | 0;\n hi = hi + Math.imul(ah2, bh4) | 0;\n lo = lo + Math.imul(al1, bl5) | 0;\n mid = mid + Math.imul(al1, bh5) | 0;\n mid = mid + Math.imul(ah1, bl5) | 0;\n hi = hi + Math.imul(ah1, bh5) | 0;\n lo = lo + Math.imul(al0, bl6) | 0;\n mid = mid + Math.imul(al0, bh6) | 0;\n mid = mid + Math.imul(ah0, bl6) | 0;\n hi = hi + Math.imul(ah0, bh6) | 0;\n var w6 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */ lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = mid + Math.imul(ah7, bl0) | 0;\n hi = Math.imul(ah7, bh0);\n lo = lo + Math.imul(al6, bl1) | 0;\n mid = mid + Math.imul(al6, bh1) | 0;\n mid = mid + Math.imul(ah6, bl1) | 0;\n hi = hi + Math.imul(ah6, bh1) | 0;\n lo = lo + Math.imul(al5, bl2) | 0;\n mid = mid + Math.imul(al5, bh2) | 0;\n mid = mid + Math.imul(ah5, bl2) | 0;\n hi = hi + Math.imul(ah5, bh2) | 0;\n lo = lo + Math.imul(al4, bl3) | 0;\n mid = mid + Math.imul(al4, bh3) | 0;\n mid = mid + Math.imul(ah4, bl3) | 0;\n hi = hi + Math.imul(ah4, bh3) | 0;\n lo = lo + Math.imul(al3, bl4) | 0;\n mid = mid + Math.imul(al3, bh4) | 0;\n mid = mid + Math.imul(ah3, bl4) | 0;\n hi = hi + Math.imul(ah3, bh4) | 0;\n lo = lo + Math.imul(al2, bl5) | 0;\n mid = mid + Math.imul(al2, bh5) | 0;\n mid = mid + Math.imul(ah2, bl5) | 0;\n hi = hi + Math.imul(ah2, bh5) | 0;\n lo = lo + Math.imul(al1, bl6) | 0;\n mid = mid + Math.imul(al1, bh6) | 0;\n mid = mid + Math.imul(ah1, bl6) | 0;\n hi = hi + Math.imul(ah1, bh6) | 0;\n lo = lo + Math.imul(al0, bl7) | 0;\n mid = mid + Math.imul(al0, bh7) | 0;\n mid = mid + Math.imul(ah0, bl7) | 0;\n hi = hi + Math.imul(ah0, bh7) | 0;\n var w7 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */ lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = mid + Math.imul(ah8, bl0) | 0;\n hi = Math.imul(ah8, bh0);\n lo = lo + Math.imul(al7, bl1) | 0;\n mid = mid + Math.imul(al7, bh1) | 0;\n mid = mid + Math.imul(ah7, bl1) | 0;\n hi = hi + Math.imul(ah7, bh1) | 0;\n lo = lo + Math.imul(al6, bl2) | 0;\n mid = mid + Math.imul(al6, bh2) | 0;\n mid = mid + Math.imul(ah6, bl2) | 0;\n hi = hi + Math.imul(ah6, bh2) | 0;\n lo = lo + Math.imul(al5, bl3) | 0;\n mid = mid + Math.imul(al5, bh3) | 0;\n mid = mid + Math.imul(ah5, bl3) | 0;\n hi = hi + Math.imul(ah5, bh3) | 0;\n lo = lo + Math.imul(al4, bl4) | 0;\n mid = mid + Math.imul(al4, bh4) | 0;\n mid = mid + Math.imul(ah4, bl4) | 0;\n hi = hi + Math.imul(ah4, bh4) | 0;\n lo = lo + Math.imul(al3, bl5) | 0;\n mid = mid + Math.imul(al3, bh5) | 0;\n mid = mid + Math.imul(ah3, bl5) | 0;\n hi = hi + Math.imul(ah3, bh5) | 0;\n lo = lo + Math.imul(al2, bl6) | 0;\n mid = mid + Math.imul(al2, bh6) | 0;\n mid = mid + Math.imul(ah2, bl6) | 0;\n hi = hi + Math.imul(ah2, bh6) | 0;\n lo = lo + Math.imul(al1, bl7) | 0;\n mid = mid + Math.imul(al1, bh7) | 0;\n mid = mid + Math.imul(ah1, bl7) | 0;\n hi = hi + Math.imul(ah1, bh7) | 0;\n lo = lo + Math.imul(al0, bl8) | 0;\n mid = mid + Math.imul(al0, bh8) | 0;\n mid = mid + Math.imul(ah0, bl8) | 0;\n hi = hi + Math.imul(ah0, bh8) | 0;\n var w8 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */ lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = mid + Math.imul(ah9, bl0) | 0;\n hi = Math.imul(ah9, bh0);\n lo = lo + Math.imul(al8, bl1) | 0;\n mid = mid + Math.imul(al8, bh1) | 0;\n mid = mid + Math.imul(ah8, bl1) | 0;\n hi = hi + Math.imul(ah8, bh1) | 0;\n lo = lo + Math.imul(al7, bl2) | 0;\n mid = mid + Math.imul(al7, bh2) | 0;\n mid = mid + Math.imul(ah7, bl2) | 0;\n hi = hi + Math.imul(ah7, bh2) | 0;\n lo = lo + Math.imul(al6, bl3) | 0;\n mid = mid + Math.imul(al6, bh3) | 0;\n mid = mid + Math.imul(ah6, bl3) | 0;\n hi = hi + Math.imul(ah6, bh3) | 0;\n lo = lo + Math.imul(al5, bl4) | 0;\n mid = mid + Math.imul(al5, bh4) | 0;\n mid = mid + Math.imul(ah5, bl4) | 0;\n hi = hi + Math.imul(ah5, bh4) | 0;\n lo = lo + Math.imul(al4, bl5) | 0;\n mid = mid + Math.imul(al4, bh5) | 0;\n mid = mid + Math.imul(ah4, bl5) | 0;\n hi = hi + Math.imul(ah4, bh5) | 0;\n lo = lo + Math.imul(al3, bl6) | 0;\n mid = mid + Math.imul(al3, bh6) | 0;\n mid = mid + Math.imul(ah3, bl6) | 0;\n hi = hi + Math.imul(ah3, bh6) | 0;\n lo = lo + Math.imul(al2, bl7) | 0;\n mid = mid + Math.imul(al2, bh7) | 0;\n mid = mid + Math.imul(ah2, bl7) | 0;\n hi = hi + Math.imul(ah2, bh7) | 0;\n lo = lo + Math.imul(al1, bl8) | 0;\n mid = mid + Math.imul(al1, bh8) | 0;\n mid = mid + Math.imul(ah1, bl8) | 0;\n hi = hi + Math.imul(ah1, bh8) | 0;\n lo = lo + Math.imul(al0, bl9) | 0;\n mid = mid + Math.imul(al0, bh9) | 0;\n mid = mid + Math.imul(ah0, bl9) | 0;\n hi = hi + Math.imul(ah0, bh9) | 0;\n var w9 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */ lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = mid + Math.imul(ah9, bl1) | 0;\n hi = Math.imul(ah9, bh1);\n lo = lo + Math.imul(al8, bl2) | 0;\n mid = mid + Math.imul(al8, bh2) | 0;\n mid = mid + Math.imul(ah8, bl2) | 0;\n hi = hi + Math.imul(ah8, bh2) | 0;\n lo = lo + Math.imul(al7, bl3) | 0;\n mid = mid + Math.imul(al7, bh3) | 0;\n mid = mid + Math.imul(ah7, bl3) | 0;\n hi = hi + Math.imul(ah7, bh3) | 0;\n lo = lo + Math.imul(al6, bl4) | 0;\n mid = mid + Math.imul(al6, bh4) | 0;\n mid = mid + Math.imul(ah6, bl4) | 0;\n hi = hi + Math.imul(ah6, bh4) | 0;\n lo = lo + Math.imul(al5, bl5) | 0;\n mid = mid + Math.imul(al5, bh5) | 0;\n mid = mid + Math.imul(ah5, bl5) | 0;\n hi = hi + Math.imul(ah5, bh5) | 0;\n lo = lo + Math.imul(al4, bl6) | 0;\n mid = mid + Math.imul(al4, bh6) | 0;\n mid = mid + Math.imul(ah4, bl6) | 0;\n hi = hi + Math.imul(ah4, bh6) | 0;\n lo = lo + Math.imul(al3, bl7) | 0;\n mid = mid + Math.imul(al3, bh7) | 0;\n mid = mid + Math.imul(ah3, bl7) | 0;\n hi = hi + Math.imul(ah3, bh7) | 0;\n lo = lo + Math.imul(al2, bl8) | 0;\n mid = mid + Math.imul(al2, bh8) | 0;\n mid = mid + Math.imul(ah2, bl8) | 0;\n hi = hi + Math.imul(ah2, bh8) | 0;\n lo = lo + Math.imul(al1, bl9) | 0;\n mid = mid + Math.imul(al1, bh9) | 0;\n mid = mid + Math.imul(ah1, bl9) | 0;\n hi = hi + Math.imul(ah1, bh9) | 0;\n var w10 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */ lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = mid + Math.imul(ah9, bl2) | 0;\n hi = Math.imul(ah9, bh2);\n lo = lo + Math.imul(al8, bl3) | 0;\n mid = mid + Math.imul(al8, bh3) | 0;\n mid = mid + Math.imul(ah8, bl3) | 0;\n hi = hi + Math.imul(ah8, bh3) | 0;\n lo = lo + Math.imul(al7, bl4) | 0;\n mid = mid + Math.imul(al7, bh4) | 0;\n mid = mid + Math.imul(ah7, bl4) | 0;\n hi = hi + Math.imul(ah7, bh4) | 0;\n lo = lo + Math.imul(al6, bl5) | 0;\n mid = mid + Math.imul(al6, bh5) | 0;\n mid = mid + Math.imul(ah6, bl5) | 0;\n hi = hi + Math.imul(ah6, bh5) | 0;\n lo = lo + Math.imul(al5, bl6) | 0;\n mid = mid + Math.imul(al5, bh6) | 0;\n mid = mid + Math.imul(ah5, bl6) | 0;\n hi = hi + Math.imul(ah5, bh6) | 0;\n lo = lo + Math.imul(al4, bl7) | 0;\n mid = mid + Math.imul(al4, bh7) | 0;\n mid = mid + Math.imul(ah4, bl7) | 0;\n hi = hi + Math.imul(ah4, bh7) | 0;\n lo = lo + Math.imul(al3, bl8) | 0;\n mid = mid + Math.imul(al3, bh8) | 0;\n mid = mid + Math.imul(ah3, bl8) | 0;\n hi = hi + Math.imul(ah3, bh8) | 0;\n lo = lo + Math.imul(al2, bl9) | 0;\n mid = mid + Math.imul(al2, bh9) | 0;\n mid = mid + Math.imul(ah2, bl9) | 0;\n hi = hi + Math.imul(ah2, bh9) | 0;\n var w11 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */ lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = mid + Math.imul(ah9, bl3) | 0;\n hi = Math.imul(ah9, bh3);\n lo = lo + Math.imul(al8, bl4) | 0;\n mid = mid + Math.imul(al8, bh4) | 0;\n mid = mid + Math.imul(ah8, bl4) | 0;\n hi = hi + Math.imul(ah8, bh4) | 0;\n lo = lo + Math.imul(al7, bl5) | 0;\n mid = mid + Math.imul(al7, bh5) | 0;\n mid = mid + Math.imul(ah7, bl5) | 0;\n hi = hi + Math.imul(ah7, bh5) | 0;\n lo = lo + Math.imul(al6, bl6) | 0;\n mid = mid + Math.imul(al6, bh6) | 0;\n mid = mid + Math.imul(ah6, bl6) | 0;\n hi = hi + Math.imul(ah6, bh6) | 0;\n lo = lo + Math.imul(al5, bl7) | 0;\n mid = mid + Math.imul(al5, bh7) | 0;\n mid = mid + Math.imul(ah5, bl7) | 0;\n hi = hi + Math.imul(ah5, bh7) | 0;\n lo = lo + Math.imul(al4, bl8) | 0;\n mid = mid + Math.imul(al4, bh8) | 0;\n mid = mid + Math.imul(ah4, bl8) | 0;\n hi = hi + Math.imul(ah4, bh8) | 0;\n lo = lo + Math.imul(al3, bl9) | 0;\n mid = mid + Math.imul(al3, bh9) | 0;\n mid = mid + Math.imul(ah3, bl9) | 0;\n hi = hi + Math.imul(ah3, bh9) | 0;\n var w12 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */ lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = mid + Math.imul(ah9, bl4) | 0;\n hi = Math.imul(ah9, bh4);\n lo = lo + Math.imul(al8, bl5) | 0;\n mid = mid + Math.imul(al8, bh5) | 0;\n mid = mid + Math.imul(ah8, bl5) | 0;\n hi = hi + Math.imul(ah8, bh5) | 0;\n lo = lo + Math.imul(al7, bl6) | 0;\n mid = mid + Math.imul(al7, bh6) | 0;\n mid = mid + Math.imul(ah7, bl6) | 0;\n hi = hi + Math.imul(ah7, bh6) | 0;\n lo = lo + Math.imul(al6, bl7) | 0;\n mid = mid + Math.imul(al6, bh7) | 0;\n mid = mid + Math.imul(ah6, bl7) | 0;\n hi = hi + Math.imul(ah6, bh7) | 0;\n lo = lo + Math.imul(al5, bl8) | 0;\n mid = mid + Math.imul(al5, bh8) | 0;\n mid = mid + Math.imul(ah5, bl8) | 0;\n hi = hi + Math.imul(ah5, bh8) | 0;\n lo = lo + Math.imul(al4, bl9) | 0;\n mid = mid + Math.imul(al4, bh9) | 0;\n mid = mid + Math.imul(ah4, bl9) | 0;\n hi = hi + Math.imul(ah4, bh9) | 0;\n var w13 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */ lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = mid + Math.imul(ah9, bl5) | 0;\n hi = Math.imul(ah9, bh5);\n lo = lo + Math.imul(al8, bl6) | 0;\n mid = mid + Math.imul(al8, bh6) | 0;\n mid = mid + Math.imul(ah8, bl6) | 0;\n hi = hi + Math.imul(ah8, bh6) | 0;\n lo = lo + Math.imul(al7, bl7) | 0;\n mid = mid + Math.imul(al7, bh7) | 0;\n mid = mid + Math.imul(ah7, bl7) | 0;\n hi = hi + Math.imul(ah7, bh7) | 0;\n lo = lo + Math.imul(al6, bl8) | 0;\n mid = mid + Math.imul(al6, bh8) | 0;\n mid = mid + Math.imul(ah6, bl8) | 0;\n hi = hi + Math.imul(ah6, bh8) | 0;\n lo = lo + Math.imul(al5, bl9) | 0;\n mid = mid + Math.imul(al5, bh9) | 0;\n mid = mid + Math.imul(ah5, bl9) | 0;\n hi = hi + Math.imul(ah5, bh9) | 0;\n var w14 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */ lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = mid + Math.imul(ah9, bl6) | 0;\n hi = Math.imul(ah9, bh6);\n lo = lo + Math.imul(al8, bl7) | 0;\n mid = mid + Math.imul(al8, bh7) | 0;\n mid = mid + Math.imul(ah8, bl7) | 0;\n hi = hi + Math.imul(ah8, bh7) | 0;\n lo = lo + Math.imul(al7, bl8) | 0;\n mid = mid + Math.imul(al7, bh8) | 0;\n mid = mid + Math.imul(ah7, bl8) | 0;\n hi = hi + Math.imul(ah7, bh8) | 0;\n lo = lo + Math.imul(al6, bl9) | 0;\n mid = mid + Math.imul(al6, bh9) | 0;\n mid = mid + Math.imul(ah6, bl9) | 0;\n hi = hi + Math.imul(ah6, bh9) | 0;\n var w15 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */ lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = mid + Math.imul(ah9, bl7) | 0;\n hi = Math.imul(ah9, bh7);\n lo = lo + Math.imul(al8, bl8) | 0;\n mid = mid + Math.imul(al8, bh8) | 0;\n mid = mid + Math.imul(ah8, bl8) | 0;\n hi = hi + Math.imul(ah8, bh8) | 0;\n lo = lo + Math.imul(al7, bl9) | 0;\n mid = mid + Math.imul(al7, bh9) | 0;\n mid = mid + Math.imul(ah7, bl9) | 0;\n hi = hi + Math.imul(ah7, bh9) | 0;\n var w16 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */ lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = mid + Math.imul(ah9, bl8) | 0;\n hi = Math.imul(ah9, bh8);\n lo = lo + Math.imul(al8, bl9) | 0;\n mid = mid + Math.imul(al8, bh9) | 0;\n mid = mid + Math.imul(ah8, bl9) | 0;\n hi = hi + Math.imul(ah8, bh9) | 0;\n var w17 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */ lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = mid + Math.imul(ah9, bl9) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n // Polyfill comb\n if (!Math.imul) comb10MulTo = smallMulTo;\n function bigMulTo(self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n var carry = 0;\n var hncarry = 0;\n for(var k = 0; k < out.length - 1; k++){\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for(var j = Math.max(0, k - self.length + 1); j <= maxJ; j++){\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n var lo = r & 0x3ffffff;\n ncarry = ncarry + (r / 0x4000000 | 0) | 0;\n lo = lo + rword | 0;\n rword = lo & 0x3ffffff;\n ncarry = ncarry + (lo >>> 26) | 0;\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) out.words[k] = carry;\n else out.length--;\n return out.strip();\n }\n function jumboMulTo(self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n BN.prototype.mulTo = function mulTo(num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) res = comb10MulTo(this, num, out);\n else if (len < 63) res = smallMulTo(this, num, out);\n else if (len < 1024) res = bigMulTo(this, num, out);\n else res = jumboMulTo(this, num, out);\n return res;\n };\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n function FFTM(x, y) {\n this.x = x;\n this.y = y;\n }\n FFTM.prototype.makeRBT = function makeRBT(N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for(var i = 0; i < N; i++)t[i] = this.revBin(i, l, N);\n return t;\n };\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin(x, l, N) {\n if (x === 0 || x === N - 1) return x;\n var rb = 0;\n for(var i = 0; i < l; i++){\n rb |= (x & 1) << l - i - 1;\n x >>= 1;\n }\n return rb;\n };\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute(rbt, rws, iws, rtws, itws, N) {\n for(var i = 0; i < N; i++){\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n FFTM.prototype.transform = function transform(rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n for(var s = 1; s < N; s <<= 1){\n var l = s << 1;\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n for(var p = 0; p < N; p += l){\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n for(var j = 0; j < s; j++){\n var re = rtws[p + j];\n var ie = itws[p + j];\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n var rx = rtwdf_ * ro - itwdf_ * io;\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n /* jshint maxdepth : false */ if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n FFTM.prototype.guessLen13b = function guessLen13b(n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for(N = N / 2 | 0; N; N = N >>> 1)i++;\n return 1 << i + 1 + odd;\n };\n FFTM.prototype.conjugate = function conjugate(rws, iws, N) {\n if (N <= 1) return;\n for(var i = 0; i < N / 2; i++){\n var t = rws[i];\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n t = iws[i];\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n FFTM.prototype.normalize13b = function normalize13b(ws, N) {\n var carry = 0;\n for(var i = 0; i < N / 2; i++){\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + Math.round(ws[2 * i] / N) + carry;\n ws[i] = w & 0x3ffffff;\n if (w < 0x4000000) carry = 0;\n else carry = w / 0x4000000 | 0;\n }\n return ws;\n };\n FFTM.prototype.convert13b = function convert13b(ws, len, rws, N) {\n var carry = 0;\n for(var i = 0; i < len; i++){\n carry = carry + (ws[i] | 0);\n rws[2 * i] = carry & 0x1fff;\n carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff;\n carry = carry >>> 13;\n }\n // Pad with zeroes\n for(i = 2 * len; i < N; ++i)rws[i] = 0;\n assert(carry === 0);\n assert((carry & -8192) === 0);\n };\n FFTM.prototype.stub = function stub(N) {\n var ph = new Array(N);\n for(var i = 0; i < N; i++)ph[i] = 0;\n return ph;\n };\n FFTM.prototype.mulp = function mulp(x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n var rbt = this.makeRBT(N);\n var _ = this.stub(N);\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n var rmws = out.words;\n rmws.length = N;\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n for(var i = 0; i < N; i++){\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n // Multiply `this` by `num`\n BN.prototype.mul = function mul(num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n // Multiply employing FFT\n BN.prototype.mulf = function mulf(num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n // In-place Multiplication\n BN.prototype.imul = function imul(num) {\n return this.clone().mulTo(num, this);\n };\n BN.prototype.imuln = function imuln(num) {\n assert(typeof num === \"number\");\n assert(num < 0x4000000);\n // Carry\n var carry = 0;\n for(var i = 0; i < this.length; i++){\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += w / 0x4000000 | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n BN.prototype.muln = function muln(num) {\n return this.clone().imuln(num);\n };\n // `this` * `this`\n BN.prototype.sqr = function sqr() {\n return this.mul(this);\n };\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr() {\n return this.imul(this.clone());\n };\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow(num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n // Skip leading zeroes\n var res = this;\n for(var i = 0; i < w.length; i++, res = res.sqr()){\n if (w[i] !== 0) break;\n }\n if (++i < w.length) for(var q = res.sqr(); i < w.length; i++, q = q.sqr()){\n if (w[i] === 0) continue;\n res = res.mul(q);\n }\n return res;\n };\n // Shift-left in-place\n BN.prototype.iushln = function iushln(bits) {\n assert(typeof bits === \"number\" && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = 0x3ffffff >>> 26 - r << 26 - r;\n var i;\n if (r !== 0) {\n var carry = 0;\n for(i = 0; i < this.length; i++){\n var newCarry = this.words[i] & carryMask;\n var c = (this.words[i] | 0) - newCarry << r;\n this.words[i] = c | carry;\n carry = newCarry >>> 26 - r;\n }\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n if (s !== 0) {\n for(i = this.length - 1; i >= 0; i--)this.words[i + s] = this.words[i];\n for(i = 0; i < s; i++)this.words[i] = 0;\n this.length += s;\n }\n return this.strip();\n };\n BN.prototype.ishln = function ishln(bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn(bits, hint, extended) {\n assert(typeof bits === \"number\" && bits >= 0);\n var h;\n if (hint) h = (hint - hint % 26) / 26;\n else h = 0;\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ 0x3ffffff >>> r << r;\n var maskedWords = extended;\n h -= s;\n h = Math.max(0, h);\n // Extended mode, copy masked part\n if (maskedWords) {\n for(var i = 0; i < s; i++)maskedWords.words[i] = this.words[i];\n maskedWords.length = s;\n }\n if (s === 0) ;\n else if (this.length > s) {\n this.length -= s;\n for(i = 0; i < this.length; i++)this.words[i] = this.words[i + s];\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n var carry = 0;\n for(i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--){\n var word = this.words[i] | 0;\n this.words[i] = carry << 26 - r | word >>> r;\n carry = word & mask;\n }\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) maskedWords.words[maskedWords.length++] = carry;\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n return this.strip();\n };\n BN.prototype.ishrn = function ishrn(bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n // Shift-left\n BN.prototype.shln = function shln(bits) {\n return this.clone().ishln(bits);\n };\n BN.prototype.ushln = function ushln(bits) {\n return this.clone().iushln(bits);\n };\n // Shift-right\n BN.prototype.shrn = function shrn(bits) {\n return this.clone().ishrn(bits);\n };\n BN.prototype.ushrn = function ushrn(bits) {\n return this.clone().iushrn(bits);\n };\n // Test if n bit is set\n BN.prototype.testn = function testn(bit) {\n assert(typeof bit === \"number\" && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n // Check bit and return\n var w = this.words[s];\n return !!(w & q);\n };\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn(bits) {\n assert(typeof bits === \"number\" && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n assert(this.negative === 0, \"imaskn works only with positive numbers\");\n if (this.length <= s) return this;\n if (r !== 0) s++;\n this.length = Math.min(s, this.length);\n if (r !== 0) {\n var mask = 0x3ffffff ^ 0x3ffffff >>> r << r;\n this.words[this.length - 1] &= mask;\n }\n return this.strip();\n };\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn(bits) {\n return this.clone().imaskn(bits);\n };\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn(num) {\n assert(typeof num === \"number\");\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n // Add without checks\n return this._iaddn(num);\n };\n BN.prototype._iaddn = function _iaddn(num) {\n this.words[0] += num;\n // Carry\n for(var i = 0; i < this.length && this.words[i] >= 0x4000000; i++){\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) this.words[i + 1] = 1;\n else this.words[i + 1]++;\n }\n this.length = Math.max(this.length, i + 1);\n return this;\n };\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn(num) {\n assert(typeof num === \"number\");\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n this.words[0] -= num;\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else // Carry\n for(var i = 0; i < this.length && this.words[i] < 0; i++){\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n return this.strip();\n };\n BN.prototype.addn = function addn(num) {\n return this.clone().iaddn(num);\n };\n BN.prototype.subn = function subn(num) {\n return this.clone().isubn(num);\n };\n BN.prototype.iabs = function iabs() {\n this.negative = 0;\n return this;\n };\n BN.prototype.abs = function abs() {\n return this.clone().iabs();\n };\n BN.prototype._ishlnsubmul = function _ishlnsubmul(num, mul, shift) {\n var len = num.length + shift;\n var i;\n this._expand(len);\n var w;\n var carry = 0;\n for(i = 0; i < num.length; i++){\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - (right / 0x4000000 | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for(; i < this.length - shift; i++){\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n if (carry === 0) return this.strip();\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for(i = 0; i < this.length; i++){\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n return this.strip();\n };\n BN.prototype._wordDiv = function _wordDiv(num, mode) {\n var shift = this.length - num.length;\n var a = this.clone();\n var b = num;\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n if (mode !== \"mod\") {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for(var i = 0; i < q.length; i++)q.words[i] = 0;\n }\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) q.words[m] = 1;\n }\n for(var j = m - 1; j >= 0; j--){\n var qj = (a.words[b.length + j] | 0) * 0x4000000 + (a.words[b.length + j - 1] | 0);\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min(qj / bhi | 0, 0x3ffffff);\n a._ishlnsubmul(b, qj, j);\n while(a.negative !== 0){\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) a.negative ^= 1;\n }\n if (q) q.words[j] = qj;\n }\n if (q) q.strip();\n a.strip();\n // Denormalize\n if (mode !== \"div\" && shift !== 0) a.iushrn(shift);\n return {\n div: q || null,\n mod: a\n };\n };\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod(num, mode, positive) {\n assert(!num.isZero());\n if (this.isZero()) return {\n div: new BN(0),\n mod: new BN(0)\n };\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n if (mode !== \"mod\") div = res.div.neg();\n if (mode !== \"div\") {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) mod.iadd(num);\n }\n return {\n div: div,\n mod: mod\n };\n }\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n if (mode !== \"mod\") div = res.div.neg();\n return {\n div: div,\n mod: res.mod\n };\n }\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n if (mode !== \"div\") {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) mod.isub(num);\n }\n return {\n div: res.div,\n mod: mod\n };\n }\n // Both numbers are positive at this point\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) return {\n div: new BN(0),\n mod: this\n };\n // Very short reduction\n if (num.length === 1) {\n if (mode === \"div\") return {\n div: this.divn(num.words[0]),\n mod: null\n };\n if (mode === \"mod\") return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n return this._wordDiv(num, mode);\n };\n // Find `this` / `num`\n BN.prototype.div = function div(num) {\n return this.divmod(num, \"div\", false).div;\n };\n // Find `this` % `num`\n BN.prototype.mod = function mod(num) {\n return this.divmod(num, \"mod\", false).mod;\n };\n BN.prototype.umod = function umod(num) {\n return this.divmod(num, \"mod\", true).mod;\n };\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound(num) {\n var dm = this.divmod(num);\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n BN.prototype.modn = function modn(num) {\n assert(num <= 0x3ffffff);\n var p = 67108864 % num;\n var acc = 0;\n for(var i = this.length - 1; i >= 0; i--)acc = (p * acc + (this.words[i] | 0)) % num;\n return acc;\n };\n // In-place division by number\n BN.prototype.idivn = function idivn(num) {\n assert(num <= 0x3ffffff);\n var carry = 0;\n for(var i = this.length - 1; i >= 0; i--){\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = w / num | 0;\n carry = w % num;\n }\n return this.strip();\n };\n BN.prototype.divn = function divn(num) {\n return this.clone().idivn(num);\n };\n BN.prototype.egcd = function egcd(p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n var x = this;\n var y = p.clone();\n if (x.negative !== 0) x = x.umod(p);\n else x = x.clone();\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n var g = 0;\n while(x.isEven() && y.isEven()){\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n var yp = y.clone();\n var xp = x.clone();\n while(!x.isZero()){\n for(var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while(i-- > 0){\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n for(var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while(j-- > 0){\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp(p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n var a = this;\n var b = p.clone();\n if (a.negative !== 0) a = a.umod(p);\n else a = a.clone();\n var x1 = new BN(1);\n var x2 = new BN(0);\n var delta = b.clone();\n while(a.cmpn(1) > 0 && b.cmpn(1) > 0){\n for(var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while(i-- > 0){\n if (x1.isOdd()) x1.iadd(delta);\n x1.iushrn(1);\n }\n }\n for(var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while(j-- > 0){\n if (x2.isOdd()) x2.iadd(delta);\n x2.iushrn(1);\n }\n }\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n var res;\n if (a.cmpn(1) === 0) res = x1;\n else res = x2;\n if (res.cmpn(0) < 0) res.iadd(p);\n return res;\n };\n BN.prototype.gcd = function gcd(num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n // Remove common factor of two\n for(var shift = 0; a.isEven() && b.isEven(); shift++){\n a.iushrn(1);\n b.iushrn(1);\n }\n do {\n while(a.isEven())a.iushrn(1);\n while(b.isEven())b.iushrn(1);\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) break;\n a.isub(b);\n }while (true);\n return b.iushln(shift);\n };\n // Invert number in the field F(num)\n BN.prototype.invm = function invm(num) {\n return this.egcd(num).a.umod(num);\n };\n BN.prototype.isEven = function isEven() {\n return (this.words[0] & 1) === 0;\n };\n BN.prototype.isOdd = function isOdd() {\n return (this.words[0] & 1) === 1;\n };\n // And first word and num\n BN.prototype.andln = function andln(num) {\n return this.words[0] & num;\n };\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn(bit) {\n assert(typeof bit === \"number\");\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n // Add bit and propagate, if needed\n var carry = q;\n for(var i = s; carry !== 0 && i < this.length; i++){\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n BN.prototype.isZero = function isZero() {\n return this.length === 1 && this.words[0] === 0;\n };\n BN.prototype.cmpn = function cmpn(num) {\n var negative = num < 0;\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n this.strip();\n var res;\n if (this.length > 1) res = 1;\n else {\n if (negative) num = -num;\n assert(num <= 0x3ffffff, \"Number is too big\");\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp(num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp(num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n var res = 0;\n for(var i = this.length - 1; i >= 0; i--){\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n if (a === b) continue;\n if (a < b) res = -1;\n else if (a > b) res = 1;\n break;\n }\n return res;\n };\n BN.prototype.gtn = function gtn(num) {\n return this.cmpn(num) === 1;\n };\n BN.prototype.gt = function gt(num) {\n return this.cmp(num) === 1;\n };\n BN.prototype.gten = function gten(num) {\n return this.cmpn(num) >= 0;\n };\n BN.prototype.gte = function gte(num) {\n return this.cmp(num) >= 0;\n };\n BN.prototype.ltn = function ltn(num) {\n return this.cmpn(num) === -1;\n };\n BN.prototype.lt = function lt(num) {\n return this.cmp(num) === -1;\n };\n BN.prototype.lten = function lten(num) {\n return this.cmpn(num) <= 0;\n };\n BN.prototype.lte = function lte(num) {\n return this.cmp(num) <= 0;\n };\n BN.prototype.eqn = function eqn(num) {\n return this.cmpn(num) === 0;\n };\n BN.prototype.eq = function eq(num) {\n return this.cmp(num) === 0;\n };\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red(num) {\n return new Red(num);\n };\n BN.prototype.toRed = function toRed(ctx) {\n assert(!this.red, \"Already a number in reduction context\");\n assert(this.negative === 0, \"red works only with positives\");\n return ctx.convertTo(this)._forceRed(ctx);\n };\n BN.prototype.fromRed = function fromRed() {\n assert(this.red, \"fromRed works only with numbers in reduction context\");\n return this.red.convertFrom(this);\n };\n BN.prototype._forceRed = function _forceRed(ctx) {\n this.red = ctx;\n return this;\n };\n BN.prototype.forceRed = function forceRed(ctx) {\n assert(!this.red, \"Already a number in reduction context\");\n return this._forceRed(ctx);\n };\n BN.prototype.redAdd = function redAdd(num) {\n assert(this.red, \"redAdd works only with red numbers\");\n return this.red.add(this, num);\n };\n BN.prototype.redIAdd = function redIAdd(num) {\n assert(this.red, \"redIAdd works only with red numbers\");\n return this.red.iadd(this, num);\n };\n BN.prototype.redSub = function redSub(num) {\n assert(this.red, \"redSub works only with red numbers\");\n return this.red.sub(this, num);\n };\n BN.prototype.redISub = function redISub(num) {\n assert(this.red, \"redISub works only with red numbers\");\n return this.red.isub(this, num);\n };\n BN.prototype.redShl = function redShl(num) {\n assert(this.red, \"redShl works only with red numbers\");\n return this.red.shl(this, num);\n };\n BN.prototype.redMul = function redMul(num) {\n assert(this.red, \"redMul works only with red numbers\");\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n BN.prototype.redIMul = function redIMul(num) {\n assert(this.red, \"redMul works only with red numbers\");\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n BN.prototype.redSqr = function redSqr() {\n assert(this.red, \"redSqr works only with red numbers\");\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n BN.prototype.redISqr = function redISqr() {\n assert(this.red, \"redISqr works only with red numbers\");\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n // Square root over p\n BN.prototype.redSqrt = function redSqrt() {\n assert(this.red, \"redSqrt works only with red numbers\");\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n BN.prototype.redInvm = function redInvm() {\n assert(this.red, \"redInvm works only with red numbers\");\n this.red._verify1(this);\n return this.red.invm(this);\n };\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg() {\n assert(this.red, \"redNeg works only with red numbers\");\n this.red._verify1(this);\n return this.red.neg(this);\n };\n BN.prototype.redPow = function redPow(num) {\n assert(this.red && !num.red, \"redPow(normalNum)\");\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n // Pseudo-Mersenne prime\n function MPrime(name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n this.tmp = this._tmp();\n }\n MPrime.prototype._tmp = function _tmp() {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n MPrime.prototype.ireduce = function ireduce(num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n }while (rlen > this.n);\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) r.isub(this.p);\n else r.strip();\n return r;\n };\n MPrime.prototype.split = function split(input, out) {\n input.iushrn(this.n, 0, out);\n };\n MPrime.prototype.imulK = function imulK(num) {\n return num.imul(this.k);\n };\n function K256() {\n MPrime.call(this, \"k256\", \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\");\n }\n inherits(K256, MPrime);\n K256.prototype.split = function split(input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n var outLen = Math.min(input.length, 9);\n for(var i = 0; i < outLen; i++)output.words[i] = input.words[i];\n output.length = outLen;\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n for(i = 10; i < input.length; i++){\n var next = input.words[i] | 0;\n input.words[i - 10] = (next & mask) << 4 | prev >>> 22;\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) input.length -= 10;\n else input.length -= 9;\n };\n K256.prototype.imulK = function imulK(num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for(var i = 0; i < num.length; i++){\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + (lo / 0x4000000 | 0);\n }\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) num.length--;\n }\n return num;\n };\n function P224() {\n MPrime.call(this, \"p224\", \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\");\n }\n inherits(P224, MPrime);\n function P192() {\n MPrime.call(this, \"p192\", \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\");\n }\n inherits(P192, MPrime);\n function P25519() {\n // 2 ^ 255 - 19\n MPrime.call(this, \"25519\", \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\");\n }\n inherits(P25519, MPrime);\n P25519.prototype.imulK = function imulK(num) {\n // K = 0x13\n var carry = 0;\n for(var i = 0; i < num.length; i++){\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) num.words[num.length++] = carry;\n return num;\n };\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime(name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n var prime;\n if (name === \"k256\") prime = new K256();\n else if (name === \"p224\") prime = new P224();\n else if (name === \"p192\") prime = new P192();\n else if (name === \"p25519\") prime = new P25519();\n else throw new Error(\"Unknown prime \" + name);\n primes[name] = prime;\n return prime;\n };\n //\n // Base reduction engine\n //\n function Red(m) {\n if (typeof m === \"string\") {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), \"modulus must be greater than 1\");\n this.m = m;\n this.prime = null;\n }\n }\n Red.prototype._verify1 = function _verify1(a) {\n assert(a.negative === 0, \"red works only with positives\");\n assert(a.red, \"red works only with red numbers\");\n };\n Red.prototype._verify2 = function _verify2(a, b) {\n assert((a.negative | b.negative) === 0, \"red works only with positives\");\n assert(a.red && a.red === b.red, \"red works only with red numbers\");\n };\n Red.prototype.imod = function imod(a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n Red.prototype.neg = function neg(a) {\n if (a.isZero()) return a.clone();\n return this.m.sub(a)._forceRed(this);\n };\n Red.prototype.add = function add(a, b) {\n this._verify2(a, b);\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) res.isub(this.m);\n return res._forceRed(this);\n };\n Red.prototype.iadd = function iadd(a, b) {\n this._verify2(a, b);\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) res.isub(this.m);\n return res;\n };\n Red.prototype.sub = function sub(a, b) {\n this._verify2(a, b);\n var res = a.sub(b);\n if (res.cmpn(0) < 0) res.iadd(this.m);\n return res._forceRed(this);\n };\n Red.prototype.isub = function isub(a, b) {\n this._verify2(a, b);\n var res = a.isub(b);\n if (res.cmpn(0) < 0) res.iadd(this.m);\n return res;\n };\n Red.prototype.shl = function shl(a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n Red.prototype.imul = function imul(a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n Red.prototype.mul = function mul(a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n Red.prototype.isqr = function isqr(a) {\n return this.imul(a, a.clone());\n };\n Red.prototype.sqr = function sqr(a) {\n return this.mul(a, a);\n };\n Red.prototype.sqrt = function sqrt(a) {\n if (a.isZero()) return a.clone();\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while(!q.isZero() && q.andln(1) === 0){\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n while(this.pow(z, lpow).cmp(nOne) !== 0)z.redIAdd(nOne);\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while(t.cmp(one) !== 0){\n var tmp = t;\n for(var i = 0; tmp.cmp(one) !== 0; i++)tmp = tmp.redSqr();\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n return r;\n };\n Red.prototype.invm = function invm(a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else return this.imod(inv);\n };\n Red.prototype.pow = function pow(a, num) {\n if (num.isZero()) return new BN(1);\n if (num.cmpn(1) === 0) return a.clone();\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for(var i = 2; i < wnd.length; i++)wnd[i] = this.mul(wnd[i - 1], a);\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) start = 26;\n for(i = num.length - 1; i >= 0; i--){\n var word = num.words[i];\n for(var j = start - 1; j >= 0; j--){\n var bit = word >> j & 1;\n if (res !== wnd[0]) res = this.sqr(res);\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n return res;\n };\n Red.prototype.convertTo = function convertTo(num) {\n var r = num.umod(this.m);\n return r === num ? r.clone() : r;\n };\n Red.prototype.convertFrom = function convertFrom(num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n //\n // Montgomery method engine\n //\n BN.mont = function mont(num) {\n return new Mont(num);\n };\n function Mont(m) {\n Red.call(this, m);\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) this.shift += 26 - this.shift % 26;\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n Mont.prototype.convertTo = function convertTo(num) {\n return this.imod(num.ushln(this.shift));\n };\n Mont.prototype.convertFrom = function convertFrom(num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n Mont.prototype.imul = function imul(a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) res = u.isub(this.m);\n else if (u.cmpn(0) < 0) res = u.iadd(this.m);\n return res._forceRed(this);\n };\n Mont.prototype.mul = function mul(a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) res = u.isub(this.m);\n else if (u.cmpn(0) < 0) res = u.iadd(this.m);\n return res._forceRed(this);\n };\n Mont.prototype.invm = function invm(a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(module, this);\n\n});\nparcelRequire.register(\"6ZWSX\", function(module, exports) {\n\n$parcel$export(module.exports, \"Buffer\", () => $51861dfc7ca9d588$export$a143d493d941bafc, (v) => $51861dfc7ca9d588$export$a143d493d941bafc = v);\n$parcel$export(module.exports, \"SlowBuffer\", () => $51861dfc7ca9d588$export$e4cf37d7f6fb9e0a, (v) => $51861dfc7ca9d588$export$e4cf37d7f6fb9e0a = v);\n$parcel$export(module.exports, \"INSPECT_MAX_BYTES\", () => $51861dfc7ca9d588$export$f99ded8fe4b79145, (v) => $51861dfc7ca9d588$export$f99ded8fe4b79145 = v);\n$parcel$export(module.exports, \"kMaxLength\", () => $51861dfc7ca9d588$export$599f31c3813fae4d, (v) => $51861dfc7ca9d588$export$599f31c3813fae4d = v);\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */ /* eslint-disable no-proto */ var $51861dfc7ca9d588$export$a143d493d941bafc;\nvar $51861dfc7ca9d588$export$e4cf37d7f6fb9e0a;\nvar $51861dfc7ca9d588$export$f99ded8fe4b79145;\nvar $51861dfc7ca9d588$export$599f31c3813fae4d;\n\"use strict\";\n\nvar $kuxul = parcelRequire(\"kuxul\");\n\nvar $9NvM5 = parcelRequire(\"9NvM5\");\nvar $51861dfc7ca9d588$var$customInspectSymbol = typeof Symbol === \"function\" && typeof Symbol[\"for\"] === \"function\" // eslint-disable-line dot-notation\n ? Symbol[\"for\"](\"nodejs.util.inspect.custom\") // eslint-disable-line dot-notation\n : null;\n$51861dfc7ca9d588$export$a143d493d941bafc = $51861dfc7ca9d588$var$Buffer;\n$51861dfc7ca9d588$export$e4cf37d7f6fb9e0a = $51861dfc7ca9d588$var$SlowBuffer;\n$51861dfc7ca9d588$export$f99ded8fe4b79145 = 50;\nvar $51861dfc7ca9d588$var$K_MAX_LENGTH = 0x7fffffff;\n$51861dfc7ca9d588$export$599f31c3813fae4d = $51861dfc7ca9d588$var$K_MAX_LENGTH;\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */ $51861dfc7ca9d588$var$Buffer.TYPED_ARRAY_SUPPORT = $51861dfc7ca9d588$var$typedArraySupport();\nif (!$51861dfc7ca9d588$var$Buffer.TYPED_ARRAY_SUPPORT && typeof console !== \"undefined\" && typeof console.error === \"function\") console.error(\"This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.\");\nfunction $51861dfc7ca9d588$var$typedArraySupport() {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1);\n var proto = {\n foo: function() {\n return 42;\n }\n };\n Object.setPrototypeOf(proto, Uint8Array.prototype);\n Object.setPrototypeOf(arr, proto);\n return arr.foo() === 42;\n } catch (e) {\n return false;\n }\n}\nObject.defineProperty($51861dfc7ca9d588$var$Buffer.prototype, \"parent\", {\n enumerable: true,\n get: function() {\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(this)) return undefined;\n return this.buffer;\n }\n});\nObject.defineProperty($51861dfc7ca9d588$var$Buffer.prototype, \"offset\", {\n enumerable: true,\n get: function() {\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(this)) return undefined;\n return this.byteOffset;\n }\n});\nfunction $51861dfc7ca9d588$var$createBuffer(length) {\n if (length > $51861dfc7ca9d588$var$K_MAX_LENGTH) throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"');\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length);\n Object.setPrototypeOf(buf, $51861dfc7ca9d588$var$Buffer.prototype);\n return buf;\n}\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */ function $51861dfc7ca9d588$var$Buffer(arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === \"number\") {\n if (typeof encodingOrOffset === \"string\") throw new TypeError('The \"string\" argument must be of type string. Received type number');\n return $51861dfc7ca9d588$var$allocUnsafe(arg);\n }\n return $51861dfc7ca9d588$var$from(arg, encodingOrOffset, length);\n}\n$51861dfc7ca9d588$var$Buffer.poolSize = 8192 // not used by this implementation\n;\nfunction $51861dfc7ca9d588$var$from(value, encodingOrOffset, length) {\n if (typeof value === \"string\") return $51861dfc7ca9d588$var$fromString(value, encodingOrOffset);\n if (ArrayBuffer.isView(value)) return $51861dfc7ca9d588$var$fromArrayView(value);\n if (value == null) throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value);\n if ($51861dfc7ca9d588$var$isInstance(value, ArrayBuffer) || value && $51861dfc7ca9d588$var$isInstance(value.buffer, ArrayBuffer)) return $51861dfc7ca9d588$var$fromArrayBuffer(value, encodingOrOffset, length);\n if (typeof SharedArrayBuffer !== \"undefined\" && ($51861dfc7ca9d588$var$isInstance(value, SharedArrayBuffer) || value && $51861dfc7ca9d588$var$isInstance(value.buffer, SharedArrayBuffer))) return $51861dfc7ca9d588$var$fromArrayBuffer(value, encodingOrOffset, length);\n if (typeof value === \"number\") throw new TypeError('The \"value\" argument must not be of type number. Received type number');\n var valueOf = value.valueOf && value.valueOf();\n if (valueOf != null && valueOf !== value) return $51861dfc7ca9d588$var$Buffer.from(valueOf, encodingOrOffset, length);\n var b = $51861dfc7ca9d588$var$fromObject(value);\n if (b) return b;\n if (typeof Symbol !== \"undefined\" && Symbol.toPrimitive != null && typeof value[Symbol.toPrimitive] === \"function\") return $51861dfc7ca9d588$var$Buffer.from(value[Symbol.toPrimitive](\"string\"), encodingOrOffset, length);\n throw new TypeError(\"The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type \" + typeof value);\n}\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/ $51861dfc7ca9d588$var$Buffer.from = function(value, encodingOrOffset, length) {\n return $51861dfc7ca9d588$var$from(value, encodingOrOffset, length);\n};\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf($51861dfc7ca9d588$var$Buffer.prototype, Uint8Array.prototype);\nObject.setPrototypeOf($51861dfc7ca9d588$var$Buffer, Uint8Array);\nfunction $51861dfc7ca9d588$var$assertSize(size) {\n if (typeof size !== \"number\") throw new TypeError('\"size\" argument must be of type number');\n else if (size < 0) throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"');\n}\nfunction $51861dfc7ca9d588$var$alloc(size, fill, encoding) {\n $51861dfc7ca9d588$var$assertSize(size);\n if (size <= 0) return $51861dfc7ca9d588$var$createBuffer(size);\n if (fill !== undefined) // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === \"string\" ? $51861dfc7ca9d588$var$createBuffer(size).fill(fill, encoding) : $51861dfc7ca9d588$var$createBuffer(size).fill(fill);\n return $51861dfc7ca9d588$var$createBuffer(size);\n}\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/ $51861dfc7ca9d588$var$Buffer.alloc = function(size, fill, encoding) {\n return $51861dfc7ca9d588$var$alloc(size, fill, encoding);\n};\nfunction $51861dfc7ca9d588$var$allocUnsafe(size) {\n $51861dfc7ca9d588$var$assertSize(size);\n return $51861dfc7ca9d588$var$createBuffer(size < 0 ? 0 : $51861dfc7ca9d588$var$checked(size) | 0);\n}\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */ $51861dfc7ca9d588$var$Buffer.allocUnsafe = function(size) {\n return $51861dfc7ca9d588$var$allocUnsafe(size);\n};\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */ $51861dfc7ca9d588$var$Buffer.allocUnsafeSlow = function(size) {\n return $51861dfc7ca9d588$var$allocUnsafe(size);\n};\nfunction $51861dfc7ca9d588$var$fromString(string, encoding) {\n if (typeof encoding !== \"string\" || encoding === \"\") encoding = \"utf8\";\n if (!$51861dfc7ca9d588$var$Buffer.isEncoding(encoding)) throw new TypeError(\"Unknown encoding: \" + encoding);\n var length = $51861dfc7ca9d588$var$byteLength(string, encoding) | 0;\n var buf = $51861dfc7ca9d588$var$createBuffer(length);\n var actual = buf.write(string, encoding);\n if (actual !== length) // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual);\n return buf;\n}\nfunction $51861dfc7ca9d588$var$fromArrayLike(array) {\n var length = array.length < 0 ? 0 : $51861dfc7ca9d588$var$checked(array.length) | 0;\n var buf = $51861dfc7ca9d588$var$createBuffer(length);\n for(var i = 0; i < length; i += 1)buf[i] = array[i] & 255;\n return buf;\n}\nfunction $51861dfc7ca9d588$var$fromArrayView(arrayView) {\n if ($51861dfc7ca9d588$var$isInstance(arrayView, Uint8Array)) {\n var copy = new Uint8Array(arrayView);\n return $51861dfc7ca9d588$var$fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength);\n }\n return $51861dfc7ca9d588$var$fromArrayLike(arrayView);\n}\nfunction $51861dfc7ca9d588$var$fromArrayBuffer(array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) throw new RangeError('\"offset\" is outside of buffer bounds');\n if (array.byteLength < byteOffset + (length || 0)) throw new RangeError('\"length\" is outside of buffer bounds');\n var buf;\n if (byteOffset === undefined && length === undefined) buf = new Uint8Array(array);\n else if (length === undefined) buf = new Uint8Array(array, byteOffset);\n else buf = new Uint8Array(array, byteOffset, length);\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, $51861dfc7ca9d588$var$Buffer.prototype);\n return buf;\n}\nfunction $51861dfc7ca9d588$var$fromObject(obj) {\n if ($51861dfc7ca9d588$var$Buffer.isBuffer(obj)) {\n var len = $51861dfc7ca9d588$var$checked(obj.length) | 0;\n var buf = $51861dfc7ca9d588$var$createBuffer(len);\n if (buf.length === 0) return buf;\n obj.copy(buf, 0, 0, len);\n return buf;\n }\n if (obj.length !== undefined) {\n if (typeof obj.length !== \"number\" || $51861dfc7ca9d588$var$numberIsNaN(obj.length)) return $51861dfc7ca9d588$var$createBuffer(0);\n return $51861dfc7ca9d588$var$fromArrayLike(obj);\n }\n if (obj.type === \"Buffer\" && Array.isArray(obj.data)) return $51861dfc7ca9d588$var$fromArrayLike(obj.data);\n}\nfunction $51861dfc7ca9d588$var$checked(length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= $51861dfc7ca9d588$var$K_MAX_LENGTH) throw new RangeError(\"Attempt to allocate Buffer larger than maximum size: 0x\" + $51861dfc7ca9d588$var$K_MAX_LENGTH.toString(16) + \" bytes\");\n return length | 0;\n}\nfunction $51861dfc7ca9d588$var$SlowBuffer(length) {\n if (+length != length) length = 0;\n return $51861dfc7ca9d588$var$Buffer.alloc(+length);\n}\n$51861dfc7ca9d588$var$Buffer.isBuffer = function isBuffer(b) {\n return b != null && b._isBuffer === true && b !== $51861dfc7ca9d588$var$Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n ;\n};\n$51861dfc7ca9d588$var$Buffer.compare = function compare(a, b) {\n if ($51861dfc7ca9d588$var$isInstance(a, Uint8Array)) a = $51861dfc7ca9d588$var$Buffer.from(a, a.offset, a.byteLength);\n if ($51861dfc7ca9d588$var$isInstance(b, Uint8Array)) b = $51861dfc7ca9d588$var$Buffer.from(b, b.offset, b.byteLength);\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(a) || !$51861dfc7ca9d588$var$Buffer.isBuffer(b)) throw new TypeError('The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array');\n if (a === b) return 0;\n var x = a.length;\n var y = b.length;\n for(var i = 0, len = Math.min(x, y); i < len; ++i)if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\n$51861dfc7ca9d588$var$Buffer.isEncoding = function isEncoding(encoding) {\n switch(String(encoding).toLowerCase()){\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return true;\n default:\n return false;\n }\n};\n$51861dfc7ca9d588$var$Buffer.concat = function concat(list, length) {\n if (!Array.isArray(list)) throw new TypeError('\"list\" argument must be an Array of Buffers');\n if (list.length === 0) return $51861dfc7ca9d588$var$Buffer.alloc(0);\n var i;\n if (length === undefined) {\n length = 0;\n for(i = 0; i < list.length; ++i)length += list[i].length;\n }\n var buffer = $51861dfc7ca9d588$var$Buffer.allocUnsafe(length);\n var pos = 0;\n for(i = 0; i < list.length; ++i){\n var buf = list[i];\n if ($51861dfc7ca9d588$var$isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) $51861dfc7ca9d588$var$Buffer.from(buf).copy(buffer, pos);\n else Uint8Array.prototype.set.call(buffer, buf, pos);\n } else if (!$51861dfc7ca9d588$var$Buffer.isBuffer(buf)) throw new TypeError('\"list\" argument must be an Array of Buffers');\n else buf.copy(buffer, pos);\n pos += buf.length;\n }\n return buffer;\n};\nfunction $51861dfc7ca9d588$var$byteLength(string, encoding) {\n if ($51861dfc7ca9d588$var$Buffer.isBuffer(string)) return string.length;\n if (ArrayBuffer.isView(string) || $51861dfc7ca9d588$var$isInstance(string, ArrayBuffer)) return string.byteLength;\n if (typeof string !== \"string\") throw new TypeError('The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. Received type ' + typeof string);\n var len = string.length;\n var mustMatch = arguments.length > 2 && arguments[2] === true;\n if (!mustMatch && len === 0) return 0;\n // Use a for loop to avoid recursion\n var loweredCase = false;\n for(;;)switch(encoding){\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return len;\n case \"utf8\":\n case \"utf-8\":\n return $51861dfc7ca9d588$var$utf8ToBytes(string).length;\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return len * 2;\n case \"hex\":\n return len >>> 1;\n case \"base64\":\n return $51861dfc7ca9d588$var$base64ToBytes(string).length;\n default:\n if (loweredCase) return mustMatch ? -1 : $51861dfc7ca9d588$var$utf8ToBytes(string).length // assume utf8\n ;\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n}\n$51861dfc7ca9d588$var$Buffer.byteLength = $51861dfc7ca9d588$var$byteLength;\nfunction $51861dfc7ca9d588$var$slowToString(encoding, start, end) {\n var loweredCase = false;\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) start = 0;\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) return \"\";\n if (end === undefined || end > this.length) end = this.length;\n if (end <= 0) return \"\";\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0;\n start >>>= 0;\n if (end <= start) return \"\";\n if (!encoding) encoding = \"utf8\";\n while(true)switch(encoding){\n case \"hex\":\n return $51861dfc7ca9d588$var$hexSlice(this, start, end);\n case \"utf8\":\n case \"utf-8\":\n return $51861dfc7ca9d588$var$utf8Slice(this, start, end);\n case \"ascii\":\n return $51861dfc7ca9d588$var$asciiSlice(this, start, end);\n case \"latin1\":\n case \"binary\":\n return $51861dfc7ca9d588$var$latin1Slice(this, start, end);\n case \"base64\":\n return $51861dfc7ca9d588$var$base64Slice(this, start, end);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return $51861dfc7ca9d588$var$utf16leSlice(this, start, end);\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (encoding + \"\").toLowerCase();\n loweredCase = true;\n }\n}\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\n$51861dfc7ca9d588$var$Buffer.prototype._isBuffer = true;\nfunction $51861dfc7ca9d588$var$swap(b, n, m) {\n var i = b[n];\n b[n] = b[m];\n b[m] = i;\n}\n$51861dfc7ca9d588$var$Buffer.prototype.swap16 = function swap16() {\n var len = this.length;\n if (len % 2 !== 0) throw new RangeError(\"Buffer size must be a multiple of 16-bits\");\n for(var i = 0; i < len; i += 2)$51861dfc7ca9d588$var$swap(this, i, i + 1);\n return this;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.swap32 = function swap32() {\n var len = this.length;\n if (len % 4 !== 0) throw new RangeError(\"Buffer size must be a multiple of 32-bits\");\n for(var i = 0; i < len; i += 4){\n $51861dfc7ca9d588$var$swap(this, i, i + 3);\n $51861dfc7ca9d588$var$swap(this, i + 1, i + 2);\n }\n return this;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.swap64 = function swap64() {\n var len = this.length;\n if (len % 8 !== 0) throw new RangeError(\"Buffer size must be a multiple of 64-bits\");\n for(var i = 0; i < len; i += 8){\n $51861dfc7ca9d588$var$swap(this, i, i + 7);\n $51861dfc7ca9d588$var$swap(this, i + 1, i + 6);\n $51861dfc7ca9d588$var$swap(this, i + 2, i + 5);\n $51861dfc7ca9d588$var$swap(this, i + 3, i + 4);\n }\n return this;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.toString = function toString() {\n var length = this.length;\n if (length === 0) return \"\";\n if (arguments.length === 0) return $51861dfc7ca9d588$var$utf8Slice(this, 0, length);\n return $51861dfc7ca9d588$var$slowToString.apply(this, arguments);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.toLocaleString = $51861dfc7ca9d588$var$Buffer.prototype.toString;\n$51861dfc7ca9d588$var$Buffer.prototype.equals = function equals(b) {\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(b)) throw new TypeError(\"Argument must be a Buffer\");\n if (this === b) return true;\n return $51861dfc7ca9d588$var$Buffer.compare(this, b) === 0;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.inspect = function inspect() {\n var str = \"\";\n var max = $51861dfc7ca9d588$export$f99ded8fe4b79145;\n str = this.toString(\"hex\", 0, max).replace(/(.{2})/g, \"$1 \").trim();\n if (this.length > max) str += \" ... \";\n return \"\";\n};\nif ($51861dfc7ca9d588$var$customInspectSymbol) $51861dfc7ca9d588$var$Buffer.prototype[$51861dfc7ca9d588$var$customInspectSymbol] = $51861dfc7ca9d588$var$Buffer.prototype.inspect;\n$51861dfc7ca9d588$var$Buffer.prototype.compare = function compare(target, start, end, thisStart, thisEnd) {\n if ($51861dfc7ca9d588$var$isInstance(target, Uint8Array)) target = $51861dfc7ca9d588$var$Buffer.from(target, target.offset, target.byteLength);\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(target)) throw new TypeError('The \"target\" argument must be one of type Buffer or Uint8Array. Received type ' + typeof target);\n if (start === undefined) start = 0;\n if (end === undefined) end = target ? target.length : 0;\n if (thisStart === undefined) thisStart = 0;\n if (thisEnd === undefined) thisEnd = this.length;\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) throw new RangeError(\"out of range index\");\n if (thisStart >= thisEnd && start >= end) return 0;\n if (thisStart >= thisEnd) return -1;\n if (start >= end) return 1;\n start >>>= 0;\n end >>>= 0;\n thisStart >>>= 0;\n thisEnd >>>= 0;\n if (this === target) return 0;\n var x = thisEnd - thisStart;\n var y = end - start;\n var len = Math.min(x, y);\n var thisCopy = this.slice(thisStart, thisEnd);\n var targetCopy = target.slice(start, end);\n for(var i = 0; i < len; ++i)if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i];\n y = targetCopy[i];\n break;\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n};\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction $51861dfc7ca9d588$var$bidirectionalIndexOf(buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1;\n // Normalize byteOffset\n if (typeof byteOffset === \"string\") {\n encoding = byteOffset;\n byteOffset = 0;\n } else if (byteOffset > 0x7fffffff) byteOffset = 0x7fffffff;\n else if (byteOffset < -2147483648) byteOffset = -2147483648;\n byteOffset = +byteOffset // Coerce to Number.\n ;\n if ($51861dfc7ca9d588$var$numberIsNaN(byteOffset)) // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : buffer.length - 1;\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset;\n if (byteOffset >= buffer.length) {\n if (dir) return -1;\n else byteOffset = buffer.length - 1;\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0;\n else return -1;\n }\n // Normalize val\n if (typeof val === \"string\") val = $51861dfc7ca9d588$var$Buffer.from(val, encoding);\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if ($51861dfc7ca9d588$var$Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) return -1;\n return $51861dfc7ca9d588$var$arrayIndexOf(buffer, val, byteOffset, encoding, dir);\n } else if (typeof val === \"number\") {\n val = val & 0xFF // Search for a byte value [0-255]\n ;\n if (typeof Uint8Array.prototype.indexOf === \"function\") {\n if (dir) return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset);\n else return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset);\n }\n return $51861dfc7ca9d588$var$arrayIndexOf(buffer, [\n val\n ], byteOffset, encoding, dir);\n }\n throw new TypeError(\"val must be string, number or Buffer\");\n}\nfunction $51861dfc7ca9d588$var$arrayIndexOf(arr, val, byteOffset, encoding, dir) {\n var indexSize = 1;\n var arrLength = arr.length;\n var valLength = val.length;\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase();\n if (encoding === \"ucs2\" || encoding === \"ucs-2\" || encoding === \"utf16le\" || encoding === \"utf-16le\") {\n if (arr.length < 2 || val.length < 2) return -1;\n indexSize = 2;\n arrLength /= 2;\n valLength /= 2;\n byteOffset /= 2;\n }\n }\n function read(buf, i) {\n if (indexSize === 1) return buf[i];\n else return buf.readUInt16BE(i * indexSize);\n }\n var i;\n if (dir) {\n var foundIndex = -1;\n for(i = byteOffset; i < arrLength; i++)if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i;\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize;\n } else {\n if (foundIndex !== -1) i -= i - foundIndex;\n foundIndex = -1;\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength;\n for(i = byteOffset; i >= 0; i--){\n var found = true;\n for(var j = 0; j < valLength; j++)if (read(arr, i + j) !== read(val, j)) {\n found = false;\n break;\n }\n if (found) return i;\n }\n }\n return -1;\n}\n$51861dfc7ca9d588$var$Buffer.prototype.includes = function includes(val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.indexOf = function indexOf(val, byteOffset, encoding) {\n return $51861dfc7ca9d588$var$bidirectionalIndexOf(this, val, byteOffset, encoding, true);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.lastIndexOf = function lastIndexOf(val, byteOffset, encoding) {\n return $51861dfc7ca9d588$var$bidirectionalIndexOf(this, val, byteOffset, encoding, false);\n};\nfunction $51861dfc7ca9d588$var$hexWrite(buf, string, offset, length) {\n offset = Number(offset) || 0;\n var remaining = buf.length - offset;\n if (!length) length = remaining;\n else {\n length = Number(length);\n if (length > remaining) length = remaining;\n }\n var strLen = string.length;\n if (length > strLen / 2) length = strLen / 2;\n for(var i = 0; i < length; ++i){\n var parsed = parseInt(string.substr(i * 2, 2), 16);\n if ($51861dfc7ca9d588$var$numberIsNaN(parsed)) return i;\n buf[offset + i] = parsed;\n }\n return i;\n}\nfunction $51861dfc7ca9d588$var$utf8Write(buf, string, offset, length) {\n return $51861dfc7ca9d588$var$blitBuffer($51861dfc7ca9d588$var$utf8ToBytes(string, buf.length - offset), buf, offset, length);\n}\nfunction $51861dfc7ca9d588$var$asciiWrite(buf, string, offset, length) {\n return $51861dfc7ca9d588$var$blitBuffer($51861dfc7ca9d588$var$asciiToBytes(string), buf, offset, length);\n}\nfunction $51861dfc7ca9d588$var$base64Write(buf, string, offset, length) {\n return $51861dfc7ca9d588$var$blitBuffer($51861dfc7ca9d588$var$base64ToBytes(string), buf, offset, length);\n}\nfunction $51861dfc7ca9d588$var$ucs2Write(buf, string, offset, length) {\n return $51861dfc7ca9d588$var$blitBuffer($51861dfc7ca9d588$var$utf16leToBytes(string, buf.length - offset), buf, offset, length);\n}\n$51861dfc7ca9d588$var$Buffer.prototype.write = function write(string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = \"utf8\";\n length = this.length;\n offset = 0;\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === \"string\") {\n encoding = offset;\n length = this.length;\n offset = 0;\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0;\n if (isFinite(length)) {\n length = length >>> 0;\n if (encoding === undefined) encoding = \"utf8\";\n } else {\n encoding = length;\n length = undefined;\n }\n } else throw new Error(\"Buffer.write(string, encoding, offset[, length]) is no longer supported\");\n var remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n if (string.length > 0 && (length < 0 || offset < 0) || offset > this.length) throw new RangeError(\"Attempt to write outside buffer bounds\");\n if (!encoding) encoding = \"utf8\";\n var loweredCase = false;\n for(;;)switch(encoding){\n case \"hex\":\n return $51861dfc7ca9d588$var$hexWrite(this, string, offset, length);\n case \"utf8\":\n case \"utf-8\":\n return $51861dfc7ca9d588$var$utf8Write(this, string, offset, length);\n case \"ascii\":\n case \"latin1\":\n case \"binary\":\n return $51861dfc7ca9d588$var$asciiWrite(this, string, offset, length);\n case \"base64\":\n // Warning: maxLength not taken into account in base64Write\n return $51861dfc7ca9d588$var$base64Write(this, string, offset, length);\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return $51861dfc7ca9d588$var$ucs2Write(this, string, offset, length);\n default:\n if (loweredCase) throw new TypeError(\"Unknown encoding: \" + encoding);\n encoding = (\"\" + encoding).toLowerCase();\n loweredCase = true;\n }\n};\n$51861dfc7ca9d588$var$Buffer.prototype.toJSON = function toJSON() {\n return {\n type: \"Buffer\",\n data: Array.prototype.slice.call(this._arr || this, 0)\n };\n};\nfunction $51861dfc7ca9d588$var$base64Slice(buf, start, end) {\n if (start === 0 && end === buf.length) return $kuxul.fromByteArray(buf);\n else return $kuxul.fromByteArray(buf.slice(start, end));\n}\nfunction $51861dfc7ca9d588$var$utf8Slice(buf, start, end) {\n end = Math.min(buf.length, end);\n var res = [];\n var i = start;\n while(i < end){\n var firstByte = buf[i];\n var codePoint = null;\n var bytesPerSequence = firstByte > 0xEF ? 4 : firstByte > 0xDF ? 3 : firstByte > 0xBF ? 2 : 1;\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint;\n switch(bytesPerSequence){\n case 1:\n if (firstByte < 0x80) codePoint = firstByte;\n break;\n case 2:\n secondByte = buf[i + 1];\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | secondByte & 0x3F;\n if (tempCodePoint > 0x7F) codePoint = tempCodePoint;\n }\n break;\n case 3:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | thirdByte & 0x3F;\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) codePoint = tempCodePoint;\n }\n break;\n case 4:\n secondByte = buf[i + 1];\n thirdByte = buf[i + 2];\n fourthByte = buf[i + 3];\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | fourthByte & 0x3F;\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) codePoint = tempCodePoint;\n }\n }\n }\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD;\n bytesPerSequence = 1;\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000;\n res.push(codePoint >>> 10 & 0x3FF | 0xD800);\n codePoint = 0xDC00 | codePoint & 0x3FF;\n }\n res.push(codePoint);\n i += bytesPerSequence;\n }\n return $51861dfc7ca9d588$var$decodeCodePointsArray(res);\n}\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar $51861dfc7ca9d588$var$MAX_ARGUMENTS_LENGTH = 0x1000;\nfunction $51861dfc7ca9d588$var$decodeCodePointsArray(codePoints) {\n var len = codePoints.length;\n if (len <= $51861dfc7ca9d588$var$MAX_ARGUMENTS_LENGTH) return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n ;\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = \"\";\n var i = 0;\n while(i < len)res += String.fromCharCode.apply(String, codePoints.slice(i, i += $51861dfc7ca9d588$var$MAX_ARGUMENTS_LENGTH));\n return res;\n}\nfunction $51861dfc7ca9d588$var$asciiSlice(buf, start, end) {\n var ret = \"\";\n end = Math.min(buf.length, end);\n for(var i = start; i < end; ++i)ret += String.fromCharCode(buf[i] & 0x7F);\n return ret;\n}\nfunction $51861dfc7ca9d588$var$latin1Slice(buf, start, end) {\n var ret = \"\";\n end = Math.min(buf.length, end);\n for(var i = start; i < end; ++i)ret += String.fromCharCode(buf[i]);\n return ret;\n}\nfunction $51861dfc7ca9d588$var$hexSlice(buf, start, end) {\n var len = buf.length;\n if (!start || start < 0) start = 0;\n if (!end || end < 0 || end > len) end = len;\n var out = \"\";\n for(var i = start; i < end; ++i)out += $51861dfc7ca9d588$var$hexSliceLookupTable[buf[i]];\n return out;\n}\nfunction $51861dfc7ca9d588$var$utf16leSlice(buf, start, end) {\n var bytes = buf.slice(start, end);\n var res = \"\";\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for(var i = 0; i < bytes.length - 1; i += 2)res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256);\n return res;\n}\n$51861dfc7ca9d588$var$Buffer.prototype.slice = function slice(start, end) {\n var len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) start = len;\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) end = len;\n if (end < start) end = start;\n var newBuf = this.subarray(start, end);\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, $51861dfc7ca9d588$var$Buffer.prototype);\n return newBuf;\n};\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */ function $51861dfc7ca9d588$var$checkOffset(offset, ext, length) {\n if (offset % 1 !== 0 || offset < 0) throw new RangeError(\"offset is not uint\");\n if (offset + ext > length) throw new RangeError(\"Trying to access beyond buffer length\");\n}\n$51861dfc7ca9d588$var$Buffer.prototype.readUintLE = $51861dfc7ca9d588$var$Buffer.prototype.readUIntLE = function readUIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n while(++i < byteLength && (mul *= 0x100))val += this[offset + i] * mul;\n return val;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readUintBE = $51861dfc7ca9d588$var$Buffer.prototype.readUIntBE = function readUIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, byteLength, this.length);\n var val = this[offset + --byteLength];\n var mul = 1;\n while(byteLength > 0 && (mul *= 0x100))val += this[offset + --byteLength] * mul;\n return val;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readUint8 = $51861dfc7ca9d588$var$Buffer.prototype.readUInt8 = function readUInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 1, this.length);\n return this[offset];\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readUint16LE = $51861dfc7ca9d588$var$Buffer.prototype.readUInt16LE = function readUInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 2, this.length);\n return this[offset] | this[offset + 1] << 8;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readUint16BE = $51861dfc7ca9d588$var$Buffer.prototype.readUInt16BE = function readUInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 2, this.length);\n return this[offset] << 8 | this[offset + 1];\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readUint32LE = $51861dfc7ca9d588$var$Buffer.prototype.readUInt32LE = function readUInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 4, this.length);\n return (this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16) + this[offset + 3] * 0x1000000;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readUint32BE = $51861dfc7ca9d588$var$Buffer.prototype.readUInt32BE = function readUInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 4, this.length);\n return this[offset] * 0x1000000 + (this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3]);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readIntLE = function readIntLE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, byteLength, this.length);\n var val = this[offset];\n var mul = 1;\n var i = 0;\n while(++i < byteLength && (mul *= 0x100))val += this[offset + i] * mul;\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readIntBE = function readIntBE(offset, byteLength, noAssert) {\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, byteLength, this.length);\n var i = byteLength;\n var mul = 1;\n var val = this[offset + --i];\n while(i > 0 && (mul *= 0x100))val += this[offset + --i] * mul;\n mul *= 0x80;\n if (val >= mul) val -= Math.pow(2, 8 * byteLength);\n return val;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readInt8 = function readInt8(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 1, this.length);\n if (!(this[offset] & 0x80)) return this[offset];\n return (0xff - this[offset] + 1) * -1;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readInt16LE = function readInt16LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 2, this.length);\n var val = this[offset] | this[offset + 1] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readInt16BE = function readInt16BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 2, this.length);\n var val = this[offset + 1] | this[offset] << 8;\n return val & 0x8000 ? val | 0xFFFF0000 : val;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readInt32LE = function readInt32LE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 4, this.length);\n return this[offset] | this[offset + 1] << 8 | this[offset + 2] << 16 | this[offset + 3] << 24;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readInt32BE = function readInt32BE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 4, this.length);\n return this[offset] << 24 | this[offset + 1] << 16 | this[offset + 2] << 8 | this[offset + 3];\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readFloatLE = function readFloatLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 4, this.length);\n return $9NvM5.read(this, offset, true, 23, 4);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readFloatBE = function readFloatBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 4, this.length);\n return $9NvM5.read(this, offset, false, 23, 4);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readDoubleLE = function readDoubleLE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 8, this.length);\n return $9NvM5.read(this, offset, true, 52, 8);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.readDoubleBE = function readDoubleBE(offset, noAssert) {\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkOffset(offset, 8, this.length);\n return $9NvM5.read(this, offset, false, 52, 8);\n};\nfunction $51861dfc7ca9d588$var$checkInt(buf, value, offset, ext, max, min) {\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance');\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds');\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n}\n$51861dfc7ca9d588$var$Buffer.prototype.writeUintLE = $51861dfc7ca9d588$var$Buffer.prototype.writeUIntLE = function writeUIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n $51861dfc7ca9d588$var$checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n var mul = 1;\n var i = 0;\n this[offset] = value & 0xFF;\n while(++i < byteLength && (mul *= 0x100))this[offset + i] = value / mul & 0xFF;\n return offset + byteLength;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeUintBE = $51861dfc7ca9d588$var$Buffer.prototype.writeUIntBE = function writeUIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n byteLength = byteLength >>> 0;\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1;\n $51861dfc7ca9d588$var$checkInt(this, value, offset, byteLength, maxBytes, 0);\n }\n var i = byteLength - 1;\n var mul = 1;\n this[offset + i] = value & 0xFF;\n while(--i >= 0 && (mul *= 0x100))this[offset + i] = value / mul & 0xFF;\n return offset + byteLength;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeUint8 = $51861dfc7ca9d588$var$Buffer.prototype.writeUInt8 = function writeUInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 1, 0xff, 0);\n this[offset] = value & 0xff;\n return offset + 1;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeUint16LE = $51861dfc7ca9d588$var$Buffer.prototype.writeUInt16LE = function writeUInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeUint16BE = $51861dfc7ca9d588$var$Buffer.prototype.writeUInt16BE = function writeUInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 2, 0xffff, 0);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n return offset + 2;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeUint32LE = $51861dfc7ca9d588$var$Buffer.prototype.writeUInt32LE = function writeUInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset + 3] = value >>> 24;\n this[offset + 2] = value >>> 16;\n this[offset + 1] = value >>> 8;\n this[offset] = value & 0xff;\n return offset + 4;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeUint32BE = $51861dfc7ca9d588$var$Buffer.prototype.writeUInt32BE = function writeUInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 4, 0xffffffff, 0);\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n return offset + 4;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeIntLE = function writeIntLE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n $51861dfc7ca9d588$var$checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n var i = 0;\n var mul = 1;\n var sub = 0;\n this[offset] = value & 0xFF;\n while(++i < byteLength && (mul *= 0x100)){\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) sub = 1;\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n return offset + byteLength;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeIntBE = function writeIntBE(value, offset, byteLength, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1);\n $51861dfc7ca9d588$var$checkInt(this, value, offset, byteLength, limit - 1, -limit);\n }\n var i = byteLength - 1;\n var mul = 1;\n var sub = 0;\n this[offset + i] = value & 0xFF;\n while(--i >= 0 && (mul *= 0x100)){\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) sub = 1;\n this[offset + i] = (value / mul >> 0) - sub & 0xFF;\n }\n return offset + byteLength;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeInt8 = function writeInt8(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 1, 0x7f, -128);\n if (value < 0) value = 0xff + value + 1;\n this[offset] = value & 0xff;\n return offset + 1;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeInt16LE = function writeInt16LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 2, 0x7fff, -32768);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n return offset + 2;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeInt16BE = function writeInt16BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 2, 0x7fff, -32768);\n this[offset] = value >>> 8;\n this[offset + 1] = value & 0xff;\n return offset + 2;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeInt32LE = function writeInt32LE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 4, 0x7fffffff, -2147483648);\n this[offset] = value & 0xff;\n this[offset + 1] = value >>> 8;\n this[offset + 2] = value >>> 16;\n this[offset + 3] = value >>> 24;\n return offset + 4;\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeInt32BE = function writeInt32BE(value, offset, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkInt(this, value, offset, 4, 0x7fffffff, -2147483648);\n if (value < 0) value = 0xffffffff + value + 1;\n this[offset] = value >>> 24;\n this[offset + 1] = value >>> 16;\n this[offset + 2] = value >>> 8;\n this[offset + 3] = value & 0xff;\n return offset + 4;\n};\nfunction $51861dfc7ca9d588$var$checkIEEE754(buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError(\"Index out of range\");\n if (offset < 0) throw new RangeError(\"Index out of range\");\n}\nfunction $51861dfc7ca9d588$var$writeFloat(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -340282346638528860000000000000000000000);\n $9NvM5.write(buf, value, offset, littleEndian, 23, 4);\n return offset + 4;\n}\n$51861dfc7ca9d588$var$Buffer.prototype.writeFloatLE = function writeFloatLE(value, offset, noAssert) {\n return $51861dfc7ca9d588$var$writeFloat(this, value, offset, true, noAssert);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeFloatBE = function writeFloatBE(value, offset, noAssert) {\n return $51861dfc7ca9d588$var$writeFloat(this, value, offset, false, noAssert);\n};\nfunction $51861dfc7ca9d588$var$writeDouble(buf, value, offset, littleEndian, noAssert) {\n value = +value;\n offset = offset >>> 0;\n if (!noAssert) $51861dfc7ca9d588$var$checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -179769313486231570000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000);\n $9NvM5.write(buf, value, offset, littleEndian, 52, 8);\n return offset + 8;\n}\n$51861dfc7ca9d588$var$Buffer.prototype.writeDoubleLE = function writeDoubleLE(value, offset, noAssert) {\n return $51861dfc7ca9d588$var$writeDouble(this, value, offset, true, noAssert);\n};\n$51861dfc7ca9d588$var$Buffer.prototype.writeDoubleBE = function writeDoubleBE(value, offset, noAssert) {\n return $51861dfc7ca9d588$var$writeDouble(this, value, offset, false, noAssert);\n};\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\n$51861dfc7ca9d588$var$Buffer.prototype.copy = function copy(target, targetStart, start, end) {\n if (!$51861dfc7ca9d588$var$Buffer.isBuffer(target)) throw new TypeError(\"argument should be a Buffer\");\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n // Copy 0 bytes; we're done\n if (end === start) return 0;\n if (target.length === 0 || this.length === 0) return 0;\n // Fatal error conditions\n if (targetStart < 0) throw new RangeError(\"targetStart out of bounds\");\n if (start < 0 || start >= this.length) throw new RangeError(\"Index out of range\");\n if (end < 0) throw new RangeError(\"sourceEnd out of bounds\");\n // Are we oob?\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) end = target.length - targetStart + start;\n var len = end - start;\n if (this === target && typeof Uint8Array.prototype.copyWithin === \"function\") // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end);\n else Uint8Array.prototype.set.call(target, this.subarray(start, end), targetStart);\n return len;\n};\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\n$51861dfc7ca9d588$var$Buffer.prototype.fill = function fill(val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === \"string\") {\n if (typeof start === \"string\") {\n encoding = start;\n start = 0;\n end = this.length;\n } else if (typeof end === \"string\") {\n encoding = end;\n end = this.length;\n }\n if (encoding !== undefined && typeof encoding !== \"string\") throw new TypeError(\"encoding must be a string\");\n if (typeof encoding === \"string\" && !$51861dfc7ca9d588$var$Buffer.isEncoding(encoding)) throw new TypeError(\"Unknown encoding: \" + encoding);\n if (val.length === 1) {\n var code = val.charCodeAt(0);\n if (encoding === \"utf8\" && code < 128 || encoding === \"latin1\") // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code;\n }\n } else if (typeof val === \"number\") val = val & 255;\n else if (typeof val === \"boolean\") val = Number(val);\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) throw new RangeError(\"Out of range index\");\n if (end <= start) return this;\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n if (!val) val = 0;\n var i;\n if (typeof val === \"number\") for(i = start; i < end; ++i)this[i] = val;\n else {\n var bytes = $51861dfc7ca9d588$var$Buffer.isBuffer(val) ? val : $51861dfc7ca9d588$var$Buffer.from(val, encoding);\n var len = bytes.length;\n if (len === 0) throw new TypeError('The value \"' + val + '\" is invalid for argument \"value\"');\n for(i = 0; i < end - start; ++i)this[i + start] = bytes[i % len];\n }\n return this;\n};\n// HELPER FUNCTIONS\n// ================\nvar $51861dfc7ca9d588$var$INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g;\nfunction $51861dfc7ca9d588$var$base64clean(str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split(\"=\")[0];\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace($51861dfc7ca9d588$var$INVALID_BASE64_RE, \"\");\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return \"\";\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while(str.length % 4 !== 0)str = str + \"=\";\n return str;\n}\nfunction $51861dfc7ca9d588$var$utf8ToBytes(string, units) {\n units = units || Infinity;\n var codePoint;\n var length = string.length;\n var leadSurrogate = null;\n var bytes = [];\n for(var i = 0; i < length; ++i){\n codePoint = string.charCodeAt(i);\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue;\n }\n // valid lead\n leadSurrogate = codePoint;\n continue;\n }\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n leadSurrogate = codePoint;\n continue;\n }\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n } else if (leadSurrogate) // valid bmp char, but last char was a lead\n {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n }\n leadSurrogate = null;\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break;\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break;\n bytes.push(codePoint >> 0x6 | 0xC0, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break;\n bytes.push(codePoint >> 0xC | 0xE0, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break;\n bytes.push(codePoint >> 0x12 | 0xF0, codePoint >> 0xC & 0x3F | 0x80, codePoint >> 0x6 & 0x3F | 0x80, codePoint & 0x3F | 0x80);\n } else throw new Error(\"Invalid code point\");\n }\n return bytes;\n}\nfunction $51861dfc7ca9d588$var$asciiToBytes(str) {\n var byteArray = [];\n for(var i = 0; i < str.length; ++i)// Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF);\n return byteArray;\n}\nfunction $51861dfc7ca9d588$var$utf16leToBytes(str, units) {\n var c, hi, lo;\n var byteArray = [];\n for(var i = 0; i < str.length; ++i){\n if ((units -= 2) < 0) break;\n c = str.charCodeAt(i);\n hi = c >> 8;\n lo = c % 256;\n byteArray.push(lo);\n byteArray.push(hi);\n }\n return byteArray;\n}\nfunction $51861dfc7ca9d588$var$base64ToBytes(str) {\n return $kuxul.toByteArray($51861dfc7ca9d588$var$base64clean(str));\n}\nfunction $51861dfc7ca9d588$var$blitBuffer(src, dst, offset, length) {\n for(var i = 0; i < length; ++i){\n if (i + offset >= dst.length || i >= src.length) break;\n dst[i + offset] = src[i];\n }\n return i;\n}\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction $51861dfc7ca9d588$var$isInstance(obj, type) {\n return obj instanceof type || obj != null && obj.constructor != null && obj.constructor.name != null && obj.constructor.name === type.name;\n}\nfunction $51861dfc7ca9d588$var$numberIsNaN(obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n ;\n}\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nvar $51861dfc7ca9d588$var$hexSliceLookupTable = function() {\n var alphabet = \"0123456789abcdef\";\n var table = new Array(256);\n for(var i = 0; i < 16; ++i){\n var i16 = i * 16;\n for(var j = 0; j < 16; ++j)table[i16 + j] = alphabet[i] + alphabet[j];\n }\n return table;\n}();\n\n});\nparcelRequire.register(\"kuxul\", function(module, exports) {\n\n$parcel$export(module.exports, \"toByteArray\", () => $eeb0961446aae8e3$export$d622b2ad8d90c771, (v) => $eeb0961446aae8e3$export$d622b2ad8d90c771 = v);\n$parcel$export(module.exports, \"fromByteArray\", () => $eeb0961446aae8e3$export$6100ba28696e12de, (v) => $eeb0961446aae8e3$export$6100ba28696e12de = v);\nvar $eeb0961446aae8e3$export$a48f0734ac7c2329;\nvar $eeb0961446aae8e3$export$d622b2ad8d90c771;\nvar $eeb0961446aae8e3$export$6100ba28696e12de;\n\"use strict\";\n$eeb0961446aae8e3$export$a48f0734ac7c2329 = $eeb0961446aae8e3$var$byteLength;\n$eeb0961446aae8e3$export$d622b2ad8d90c771 = $eeb0961446aae8e3$var$toByteArray;\n$eeb0961446aae8e3$export$6100ba28696e12de = $eeb0961446aae8e3$var$fromByteArray;\nvar $eeb0961446aae8e3$var$lookup = [];\nvar $eeb0961446aae8e3$var$revLookup = [];\nvar $eeb0961446aae8e3$var$Arr = typeof Uint8Array !== \"undefined\" ? Uint8Array : Array;\nvar $eeb0961446aae8e3$var$code = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\";\nfor(var $eeb0961446aae8e3$var$i = 0, $eeb0961446aae8e3$var$len = $eeb0961446aae8e3$var$code.length; $eeb0961446aae8e3$var$i < $eeb0961446aae8e3$var$len; ++$eeb0961446aae8e3$var$i){\n $eeb0961446aae8e3$var$lookup[$eeb0961446aae8e3$var$i] = $eeb0961446aae8e3$var$code[$eeb0961446aae8e3$var$i];\n $eeb0961446aae8e3$var$revLookup[$eeb0961446aae8e3$var$code.charCodeAt($eeb0961446aae8e3$var$i)] = $eeb0961446aae8e3$var$i;\n}\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\n$eeb0961446aae8e3$var$revLookup[\"-\".charCodeAt(0)] = 62;\n$eeb0961446aae8e3$var$revLookup[\"_\".charCodeAt(0)] = 63;\nfunction $eeb0961446aae8e3$var$getLens(b64) {\n var len = b64.length;\n if (len % 4 > 0) throw new Error(\"Invalid string. Length must be a multiple of 4\");\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf(\"=\");\n if (validLen === -1) validLen = len;\n var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n return [\n validLen,\n placeHoldersLen\n ];\n}\n// base64 is 4/3 + up to two characters of the original data\nfunction $eeb0961446aae8e3$var$byteLength(b64) {\n var lens = $eeb0961446aae8e3$var$getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\nfunction $eeb0961446aae8e3$var$_byteLength(b64, validLen, placeHoldersLen) {\n return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\nfunction $eeb0961446aae8e3$var$toByteArray(b64) {\n var tmp;\n var lens = $eeb0961446aae8e3$var$getLens(b64);\n var validLen = lens[0];\n var placeHoldersLen = lens[1];\n var arr = new $eeb0961446aae8e3$var$Arr($eeb0961446aae8e3$var$_byteLength(b64, validLen, placeHoldersLen));\n var curByte = 0;\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n var i;\n for(i = 0; i < len; i += 4){\n tmp = $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i)] << 18 | $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i + 1)] << 12 | $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i + 2)] << 6 | $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i + 3)];\n arr[curByte++] = tmp >> 16 & 0xFF;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n if (placeHoldersLen === 2) {\n tmp = $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i)] << 2 | $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i + 1)] >> 4;\n arr[curByte++] = tmp & 0xFF;\n }\n if (placeHoldersLen === 1) {\n tmp = $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i)] << 10 | $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i + 1)] << 4 | $eeb0961446aae8e3$var$revLookup[b64.charCodeAt(i + 2)] >> 2;\n arr[curByte++] = tmp >> 8 & 0xFF;\n arr[curByte++] = tmp & 0xFF;\n }\n return arr;\n}\nfunction $eeb0961446aae8e3$var$tripletToBase64(num) {\n return $eeb0961446aae8e3$var$lookup[num >> 18 & 0x3F] + $eeb0961446aae8e3$var$lookup[num >> 12 & 0x3F] + $eeb0961446aae8e3$var$lookup[num >> 6 & 0x3F] + $eeb0961446aae8e3$var$lookup[num & 0x3F];\n}\nfunction $eeb0961446aae8e3$var$encodeChunk(uint8, start, end) {\n var tmp;\n var output = [];\n for(var i = start; i < end; i += 3){\n tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF);\n output.push($eeb0961446aae8e3$var$tripletToBase64(tmp));\n }\n return output.join(\"\");\n}\nfunction $eeb0961446aae8e3$var$fromByteArray(uint8) {\n var tmp;\n var len = uint8.length;\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n ;\n var parts = [];\n var maxChunkLength = 16383 // must be multiple of 3\n ;\n // go through the array every three bytes, we'll deal with trailing stuff later\n for(var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength)parts.push($eeb0961446aae8e3$var$encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1];\n parts.push($eeb0961446aae8e3$var$lookup[tmp >> 2] + $eeb0961446aae8e3$var$lookup[tmp << 4 & 0x3F] + \"==\");\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n parts.push($eeb0961446aae8e3$var$lookup[tmp >> 10] + $eeb0961446aae8e3$var$lookup[tmp >> 4 & 0x3F] + $eeb0961446aae8e3$var$lookup[tmp << 2 & 0x3F] + \"=\");\n }\n return parts.join(\"\");\n}\n\n});\n\nparcelRequire.register(\"9NvM5\", function(module, exports) {\n\n$parcel$export(module.exports, \"read\", () => $7221566bd4d49f44$export$aafa59e2e03f2942, (v) => $7221566bd4d49f44$export$aafa59e2e03f2942 = v);\n$parcel$export(module.exports, \"write\", () => $7221566bd4d49f44$export$68d8715fc104d294, (v) => $7221566bd4d49f44$export$68d8715fc104d294 = v);\n/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ var $7221566bd4d49f44$export$aafa59e2e03f2942;\nvar $7221566bd4d49f44$export$68d8715fc104d294;\n$7221566bd4d49f44$export$aafa59e2e03f2942 = function(buffer, offset, isLE, mLen, nBytes) {\n var e, m;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = -7;\n var i = isLE ? nBytes - 1 : 0;\n var d = isLE ? -1 : 1;\n var s = buffer[offset + i];\n i += d;\n e = s & (1 << -nBits) - 1;\n s >>= -nBits;\n nBits += eLen;\n for(; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for(; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8);\n if (e === 0) e = 1 - eBias;\n else if (e === eMax) return m ? NaN : (s ? -1 : 1) * Infinity;\n else {\n m = m + Math.pow(2, mLen);\n e = e - eBias;\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen);\n};\n$7221566bd4d49f44$export$68d8715fc104d294 = function(buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c;\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0;\n var i = isLE ? 0 : nBytes - 1;\n var d = isLE ? 1 : -1;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n value = Math.abs(value);\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0;\n e = eMax;\n } else {\n e = Math.floor(Math.log(value) / Math.LN2);\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) value += rt / c;\n else value += rt * Math.pow(2, 1 - eBias);\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * Math.pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);\n e = 0;\n }\n }\n for(; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for(; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8);\n buffer[offset + i - d] |= s * 128;\n};\n\n});\n\n\n\nparcelRequire.register(\"lrNtv\", function(module, exports) {\n\nvar $aVYM4 = parcelRequire(\"aVYM4\");\n\nvar $edrkG = parcelRequire(\"edrkG\");\n/**\n * Returns a BN object, converts a number value to a BN\n * @param {String|Number|Object} `arg` input a string number, hex string number, number, BigNumber or BN object\n * @return {Object} `output` BN object of the number\n * @throws if the argument is not an array, object that isn't a bignumber, not a string number or number\n */ module.exports = function numberToBN(arg) {\n if (typeof arg === \"string\" || typeof arg === \"number\") {\n var multiplier = new $aVYM4(1); // eslint-disable-line\n var formattedString = String(arg).toLowerCase().trim();\n var isHexPrefixed = formattedString.substr(0, 2) === \"0x\" || formattedString.substr(0, 3) === \"-0x\";\n var stringArg = $edrkG(formattedString); // eslint-disable-line\n if (stringArg.substr(0, 1) === \"-\") {\n stringArg = $edrkG(stringArg.slice(1));\n multiplier = new $aVYM4(-1, 10);\n }\n stringArg = stringArg === \"\" ? \"0\" : stringArg;\n if (!stringArg.match(/^-?[0-9]+$/) && stringArg.match(/^[0-9A-Fa-f]+$/) || stringArg.match(/^[a-fA-F]+$/) || isHexPrefixed === true && stringArg.match(/^[0-9A-Fa-f]+$/)) return new $aVYM4(stringArg, 16).mul(multiplier);\n if ((stringArg.match(/^-?[0-9]+$/) || stringArg === \"\") && isHexPrefixed === false) return new $aVYM4(stringArg, 10).mul(multiplier);\n } else if (typeof arg === \"object\" && arg.toString && !arg.pop && !arg.push) {\n if (arg.toString(10).match(/^-?[0-9]+$/) && (arg.mul || arg.dividedToIntegerBy)) return new $aVYM4(arg.toString(10), 10);\n }\n throw new Error(\"[number-to-bn] while converting number \" + JSON.stringify(arg) + \" to BN.js instance, error: invalid number value. Value must be an integer, hex string, BN or BigNumber instance. Note, decimals are not supported.\");\n};\n\n});\nparcelRequire.register(\"aVYM4\", function(module, exports) {\n\n(function(module1, exports) {\n \"use strict\";\n // Utils\n function assert(val, msg) {\n if (!val) throw new Error(msg || \"Assertion failed\");\n }\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n // BN\n function BN(number, base, endian) {\n if (BN.isBN(number)) return number;\n this.negative = 0;\n this.words = null;\n this.length = 0;\n // Reduction context\n this.red = null;\n if (number !== null) {\n if (base === \"le\" || base === \"be\") {\n endian = base;\n base = 10;\n }\n this._init(number || 0, base || 10, endian || \"be\");\n }\n }\n if (typeof module1 === \"object\") module1.exports = BN;\n else exports.BN = BN;\n BN.BN = BN;\n BN.wordSize = 26;\n var Buffer;\n try {\n Buffer = (parcelRequire(\"6ZWSX\")).Buffer;\n } catch (e) {}\n BN.isBN = function isBN(num) {\n if (num instanceof BN) return true;\n return num !== null && typeof num === \"object\" && num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n BN.max = function max(left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n BN.min = function min(left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n BN.prototype._init = function init(number, base, endian) {\n if (typeof number === \"number\") return this._initNumber(number, base, endian);\n if (typeof number === \"object\") return this._initArray(number, base, endian);\n if (base === \"hex\") base = 16;\n assert(base === (base | 0) && base >= 2 && base <= 36);\n number = number.toString().replace(/\\s+/g, \"\");\n var start = 0;\n if (number[0] === \"-\") start++;\n if (base === 16) this._parseHex(number, start);\n else this._parseBase(number, base, start);\n if (number[0] === \"-\") this.negative = 1;\n this.strip();\n if (endian !== \"le\") return;\n this._initArray(this.toArray(), base, endian);\n };\n BN.prototype._initNumber = function _initNumber(number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [\n number & 0x3ffffff\n ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n number / 0x4000000 & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n number / 0x4000000 & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n if (endian !== \"le\") return;\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n BN.prototype._initArray = function _initArray(number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === \"number\");\n if (number.length <= 0) {\n this.words = [\n 0\n ];\n this.length = 1;\n return this;\n }\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for(var i = 0; i < this.length; i++)this.words[i] = 0;\n var j, w;\n var off = 0;\n if (endian === \"be\") for(i = number.length - 1, j = 0; i >= 0; i -= 3){\n w = number[i] | number[i - 1] << 8 | number[i - 2] << 16;\n this.words[j] |= w << off & 0x3ffffff;\n this.words[j + 1] = w >>> 26 - off & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n else if (endian === \"le\") for(i = 0, j = 0; i < number.length; i += 3){\n w = number[i] | number[i + 1] << 8 | number[i + 2] << 16;\n this.words[j] |= w << off & 0x3ffffff;\n this.words[j + 1] = w >>> 26 - off & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n return this.strip();\n };\n function parseHex(str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for(var i = start; i < len; i++){\n var c = str.charCodeAt(i) - 48;\n r <<= 4;\n // 'a' - 'f'\n if (c >= 49 && c <= 54) r |= c - 49 + 0xa;\n else if (c >= 17 && c <= 22) r |= c - 17 + 0xa;\n else r |= c & 0xf;\n }\n return r;\n }\n BN.prototype._parseHex = function _parseHex(number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for(var i = 0; i < this.length; i++)this.words[i] = 0;\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for(i = number.length - 6, j = 0; i >= start; i -= 6){\n w = parseHex(number, i, i + 6);\n this.words[j] |= w << off & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> 26 - off & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= w << off & 0x3ffffff;\n this.words[j + 1] |= w >>> 26 - off & 0x3fffff;\n }\n this.strip();\n };\n function parseBase(str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for(var i = start; i < len; i++){\n var c = str.charCodeAt(i) - 48;\n r *= mul;\n // 'a'\n if (c >= 49) r += c - 49 + 0xa;\n else if (c >= 17) r += c - 17 + 0xa;\n else r += c;\n }\n return r;\n }\n BN.prototype._parseBase = function _parseBase(number, base, start) {\n // Initialize as zero\n this.words = [\n 0\n ];\n this.length = 1;\n // Find length of limb in base\n for(var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base)limbLen++;\n limbLen--;\n limbPow = limbPow / base | 0;\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n var word = 0;\n for(var i = start; i < end; i += limbLen){\n word = parseBase(number, i, i + limbLen, base);\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) this.words[0] += word;\n else this._iaddn(word);\n }\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n for(i = 0; i < mod; i++)pow *= base;\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) this.words[0] += word;\n else this._iaddn(word);\n }\n };\n BN.prototype.copy = function copy(dest) {\n dest.words = new Array(this.length);\n for(var i = 0; i < this.length; i++)dest.words[i] = this.words[i];\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n BN.prototype.clone = function clone() {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n BN.prototype._expand = function _expand(size) {\n while(this.length < size)this.words[this.length++] = 0;\n return this;\n };\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip() {\n while(this.length > 1 && this.words[this.length - 1] === 0)this.length--;\n return this._normSign();\n };\n BN.prototype._normSign = function _normSign() {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) this.negative = 0;\n return this;\n };\n BN.prototype.inspect = function inspect() {\n return (this.red ? \"\";\n };\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */ var zeros = [\n \"\",\n \"0\",\n \"00\",\n \"000\",\n \"0000\",\n \"00000\",\n \"000000\",\n \"0000000\",\n \"00000000\",\n \"000000000\",\n \"0000000000\",\n \"00000000000\",\n \"000000000000\",\n \"0000000000000\",\n \"00000000000000\",\n \"000000000000000\",\n \"0000000000000000\",\n \"00000000000000000\",\n \"000000000000000000\",\n \"0000000000000000000\",\n \"00000000000000000000\",\n \"000000000000000000000\",\n \"0000000000000000000000\",\n \"00000000000000000000000\",\n \"000000000000000000000000\",\n \"0000000000000000000000000\"\n ];\n var groupSizes = [\n 0,\n 0,\n 25,\n 16,\n 12,\n 11,\n 10,\n 9,\n 8,\n 8,\n 7,\n 7,\n 7,\n 7,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5\n ];\n var groupBases = [\n 0,\n 0,\n 33554432,\n 43046721,\n 16777216,\n 48828125,\n 60466176,\n 40353607,\n 16777216,\n 43046721,\n 10000000,\n 19487171,\n 35831808,\n 62748517,\n 7529536,\n 11390625,\n 16777216,\n 24137569,\n 34012224,\n 47045881,\n 64000000,\n 4084101,\n 5153632,\n 6436343,\n 7962624,\n 9765625,\n 11881376,\n 14348907,\n 17210368,\n 20511149,\n 24300000,\n 28629151,\n 33554432,\n 39135393,\n 45435424,\n 52521875,\n 60466176\n ];\n BN.prototype.toString = function toString(base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n var out;\n if (base === 16 || base === \"hex\") {\n out = \"\";\n var off = 0;\n var carry = 0;\n for(var i = 0; i < this.length; i++){\n var w = this.words[i];\n var word = ((w << off | carry) & 0xffffff).toString(16);\n carry = w >>> 24 - off & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) out = zeros[6 - word.length] + word + out;\n else out = word + out;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) out = carry.toString(16) + out;\n while(out.length % padding !== 0)out = \"0\" + out;\n if (this.negative !== 0) out = \"-\" + out;\n return out;\n }\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = \"\";\n var c = this.clone();\n c.negative = 0;\n while(!c.isZero()){\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n if (!c.isZero()) out = zeros[groupSize - r.length] + r + out;\n else out = r + out;\n }\n if (this.isZero()) out = \"0\" + out;\n while(out.length % padding !== 0)out = \"0\" + out;\n if (this.negative !== 0) out = \"-\" + out;\n return out;\n }\n assert(false, \"Base should be between 2 and 36\");\n };\n BN.prototype.toNumber = function toNumber() {\n var ret = this.words[0];\n if (this.length === 2) ret += this.words[1] * 0x4000000;\n else if (this.length === 3 && this.words[2] === 0x01) // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + this.words[1] * 0x4000000;\n else if (this.length > 2) assert(false, \"Number can only safely store up to 53 bits\");\n return this.negative !== 0 ? -ret : ret;\n };\n BN.prototype.toJSON = function toJSON() {\n return this.toString(16);\n };\n BN.prototype.toBuffer = function toBuffer(endian, length) {\n assert(typeof Buffer !== \"undefined\");\n return this.toArrayLike(Buffer, endian, length);\n };\n BN.prototype.toArray = function toArray(endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n BN.prototype.toArrayLike = function toArrayLike(ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, \"byte array longer than desired length\");\n assert(reqLength > 0, \"Requested array length <= 0\");\n this.strip();\n var littleEndian = endian === \"le\";\n var res = new ArrayType(reqLength);\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for(i = 0; i < reqLength - byteLength; i++)res[i] = 0;\n for(i = 0; !q.isZero(); i++){\n b = q.andln(0xff);\n q.iushrn(8);\n res[reqLength - i - 1] = b;\n }\n } else {\n for(i = 0; !q.isZero(); i++){\n b = q.andln(0xff);\n q.iushrn(8);\n res[i] = b;\n }\n for(; i < reqLength; i++)res[i] = 0;\n }\n return res;\n };\n if (Math.clz32) BN.prototype._countBits = function _countBits(w) {\n return 32 - Math.clz32(w);\n };\n else BN.prototype._countBits = function _countBits(w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n BN.prototype._zeroBits = function _zeroBits(w) {\n // Short-cut\n if (w === 0) return 26;\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) r++;\n return r;\n };\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength() {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n function toBitArray(num) {\n var w = new Array(num.bitLength());\n for(var bit = 0; bit < w.length; bit++){\n var off = bit / 26 | 0;\n var wbit = bit % 26;\n w[bit] = (num.words[off] & 1 << wbit) >>> wbit;\n }\n return w;\n }\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits() {\n if (this.isZero()) return 0;\n var r = 0;\n for(var i = 0; i < this.length; i++){\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n BN.prototype.byteLength = function byteLength() {\n return Math.ceil(this.bitLength() / 8);\n };\n BN.prototype.toTwos = function toTwos(width) {\n if (this.negative !== 0) return this.abs().inotn(width).iaddn(1);\n return this.clone();\n };\n BN.prototype.fromTwos = function fromTwos(width) {\n if (this.testn(width - 1)) return this.notn(width).iaddn(1).ineg();\n return this.clone();\n };\n BN.prototype.isNeg = function isNeg() {\n return this.negative !== 0;\n };\n // Return negative clone of `this`\n BN.prototype.neg = function neg() {\n return this.clone().ineg();\n };\n BN.prototype.ineg = function ineg() {\n if (!this.isZero()) this.negative ^= 1;\n return this;\n };\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor(num) {\n while(this.length < num.length)this.words[this.length++] = 0;\n for(var i = 0; i < num.length; i++)this.words[i] = this.words[i] | num.words[i];\n return this.strip();\n };\n BN.prototype.ior = function ior(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n // Or `num` with `this`\n BN.prototype.or = function or(num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n BN.prototype.uor = function uor(num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand(num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) b = num;\n else b = this;\n for(var i = 0; i < b.length; i++)this.words[i] = this.words[i] & num.words[i];\n this.length = b.length;\n return this.strip();\n };\n BN.prototype.iand = function iand(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n // And `num` with `this`\n BN.prototype.and = function and(num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n BN.prototype.uand = function uand(num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor(num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n for(var i = 0; i < b.length; i++)this.words[i] = a.words[i] ^ b.words[i];\n if (this !== a) for(; i < a.length; i++)this.words[i] = a.words[i];\n this.length = a.length;\n return this.strip();\n };\n BN.prototype.ixor = function ixor(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n // Xor `num` with `this`\n BN.prototype.xor = function xor(num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n BN.prototype.uxor = function uxor(num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn(width) {\n assert(typeof width === \"number\" && width >= 0);\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n if (bitsLeft > 0) bytesNeeded--;\n // Handle complete words\n for(var i = 0; i < bytesNeeded; i++)this.words[i] = ~this.words[i] & 0x3ffffff;\n // Handle the residue\n if (bitsLeft > 0) this.words[i] = ~this.words[i] & 0x3ffffff >> 26 - bitsLeft;\n // And remove leading zeroes\n return this.strip();\n };\n BN.prototype.notn = function notn(width) {\n return this.clone().inotn(width);\n };\n // Set `bit` of `this`\n BN.prototype.setn = function setn(bit, val) {\n assert(typeof bit === \"number\" && bit >= 0);\n var off = bit / 26 | 0;\n var wbit = bit % 26;\n this._expand(off + 1);\n if (val) this.words[off] = this.words[off] | 1 << wbit;\n else this.words[off] = this.words[off] & ~(1 << wbit);\n return this.strip();\n };\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd(num) {\n var r;\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n var carry = 0;\n for(var i = 0; i < b.length; i++){\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for(; carry !== 0 && i < a.length; i++){\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) for(; i < a.length; i++)this.words[i] = a.words[i];\n return this;\n };\n // Add `num` to `this`\n BN.prototype.add = function add(num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n if (this.length > num.length) return this.clone().iadd(num);\n return num.clone().iadd(this);\n };\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub(num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n var carry = 0;\n for(var i = 0; i < b.length; i++){\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for(; carry !== 0 && i < a.length; i++){\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) for(; i < a.length; i++)this.words[i] = a.words[i];\n this.length = Math.max(this.length, i);\n if (a !== this) this.negative = 1;\n return this.strip();\n };\n // Subtract `num` from `this`\n BN.prototype.sub = function sub(num) {\n return this.clone().isub(num);\n };\n function smallMulTo(self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = self.length + num.length | 0;\n out.length = len;\n len = len - 1 | 0;\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n var lo = r & 0x3ffffff;\n var carry = r / 0x4000000 | 0;\n out.words[0] = lo;\n for(var k = 1; k < len; k++){\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for(var j = Math.max(0, k - self.length + 1); j <= maxJ; j++){\n var i = k - j | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += r / 0x4000000 | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) out.words[k] = carry | 0;\n else out.length--;\n return out.strip();\n }\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo(self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */ lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = mid + Math.imul(ah0, bl0) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */ lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = mid + Math.imul(ah1, bl0) | 0;\n hi = Math.imul(ah1, bh0);\n lo = lo + Math.imul(al0, bl1) | 0;\n mid = mid + Math.imul(al0, bh1) | 0;\n mid = mid + Math.imul(ah0, bl1) | 0;\n hi = hi + Math.imul(ah0, bh1) | 0;\n var w1 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */ lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = mid + Math.imul(ah2, bl0) | 0;\n hi = Math.imul(ah2, bh0);\n lo = lo + Math.imul(al1, bl1) | 0;\n mid = mid + Math.imul(al1, bh1) | 0;\n mid = mid + Math.imul(ah1, bl1) | 0;\n hi = hi + Math.imul(ah1, bh1) | 0;\n lo = lo + Math.imul(al0, bl2) | 0;\n mid = mid + Math.imul(al0, bh2) | 0;\n mid = mid + Math.imul(ah0, bl2) | 0;\n hi = hi + Math.imul(ah0, bh2) | 0;\n var w2 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */ lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = mid + Math.imul(ah3, bl0) | 0;\n hi = Math.imul(ah3, bh0);\n lo = lo + Math.imul(al2, bl1) | 0;\n mid = mid + Math.imul(al2, bh1) | 0;\n mid = mid + Math.imul(ah2, bl1) | 0;\n hi = hi + Math.imul(ah2, bh1) | 0;\n lo = lo + Math.imul(al1, bl2) | 0;\n mid = mid + Math.imul(al1, bh2) | 0;\n mid = mid + Math.imul(ah1, bl2) | 0;\n hi = hi + Math.imul(ah1, bh2) | 0;\n lo = lo + Math.imul(al0, bl3) | 0;\n mid = mid + Math.imul(al0, bh3) | 0;\n mid = mid + Math.imul(ah0, bl3) | 0;\n hi = hi + Math.imul(ah0, bh3) | 0;\n var w3 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */ lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = mid + Math.imul(ah4, bl0) | 0;\n hi = Math.imul(ah4, bh0);\n lo = lo + Math.imul(al3, bl1) | 0;\n mid = mid + Math.imul(al3, bh1) | 0;\n mid = mid + Math.imul(ah3, bl1) | 0;\n hi = hi + Math.imul(ah3, bh1) | 0;\n lo = lo + Math.imul(al2, bl2) | 0;\n mid = mid + Math.imul(al2, bh2) | 0;\n mid = mid + Math.imul(ah2, bl2) | 0;\n hi = hi + Math.imul(ah2, bh2) | 0;\n lo = lo + Math.imul(al1, bl3) | 0;\n mid = mid + Math.imul(al1, bh3) | 0;\n mid = mid + Math.imul(ah1, bl3) | 0;\n hi = hi + Math.imul(ah1, bh3) | 0;\n lo = lo + Math.imul(al0, bl4) | 0;\n mid = mid + Math.imul(al0, bh4) | 0;\n mid = mid + Math.imul(ah0, bl4) | 0;\n hi = hi + Math.imul(ah0, bh4) | 0;\n var w4 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */ lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = mid + Math.imul(ah5, bl0) | 0;\n hi = Math.imul(ah5, bh0);\n lo = lo + Math.imul(al4, bl1) | 0;\n mid = mid + Math.imul(al4, bh1) | 0;\n mid = mid + Math.imul(ah4, bl1) | 0;\n hi = hi + Math.imul(ah4, bh1) | 0;\n lo = lo + Math.imul(al3, bl2) | 0;\n mid = mid + Math.imul(al3, bh2) | 0;\n mid = mid + Math.imul(ah3, bl2) | 0;\n hi = hi + Math.imul(ah3, bh2) | 0;\n lo = lo + Math.imul(al2, bl3) | 0;\n mid = mid + Math.imul(al2, bh3) | 0;\n mid = mid + Math.imul(ah2, bl3) | 0;\n hi = hi + Math.imul(ah2, bh3) | 0;\n lo = lo + Math.imul(al1, bl4) | 0;\n mid = mid + Math.imul(al1, bh4) | 0;\n mid = mid + Math.imul(ah1, bl4) | 0;\n hi = hi + Math.imul(ah1, bh4) | 0;\n lo = lo + Math.imul(al0, bl5) | 0;\n mid = mid + Math.imul(al0, bh5) | 0;\n mid = mid + Math.imul(ah0, bl5) | 0;\n hi = hi + Math.imul(ah0, bh5) | 0;\n var w5 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */ lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = mid + Math.imul(ah6, bl0) | 0;\n hi = Math.imul(ah6, bh0);\n lo = lo + Math.imul(al5, bl1) | 0;\n mid = mid + Math.imul(al5, bh1) | 0;\n mid = mid + Math.imul(ah5, bl1) | 0;\n hi = hi + Math.imul(ah5, bh1) | 0;\n lo = lo + Math.imul(al4, bl2) | 0;\n mid = mid + Math.imul(al4, bh2) | 0;\n mid = mid + Math.imul(ah4, bl2) | 0;\n hi = hi + Math.imul(ah4, bh2) | 0;\n lo = lo + Math.imul(al3, bl3) | 0;\n mid = mid + Math.imul(al3, bh3) | 0;\n mid = mid + Math.imul(ah3, bl3) | 0;\n hi = hi + Math.imul(ah3, bh3) | 0;\n lo = lo + Math.imul(al2, bl4) | 0;\n mid = mid + Math.imul(al2, bh4) | 0;\n mid = mid + Math.imul(ah2, bl4) | 0;\n hi = hi + Math.imul(ah2, bh4) | 0;\n lo = lo + Math.imul(al1, bl5) | 0;\n mid = mid + Math.imul(al1, bh5) | 0;\n mid = mid + Math.imul(ah1, bl5) | 0;\n hi = hi + Math.imul(ah1, bh5) | 0;\n lo = lo + Math.imul(al0, bl6) | 0;\n mid = mid + Math.imul(al0, bh6) | 0;\n mid = mid + Math.imul(ah0, bl6) | 0;\n hi = hi + Math.imul(ah0, bh6) | 0;\n var w6 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */ lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = mid + Math.imul(ah7, bl0) | 0;\n hi = Math.imul(ah7, bh0);\n lo = lo + Math.imul(al6, bl1) | 0;\n mid = mid + Math.imul(al6, bh1) | 0;\n mid = mid + Math.imul(ah6, bl1) | 0;\n hi = hi + Math.imul(ah6, bh1) | 0;\n lo = lo + Math.imul(al5, bl2) | 0;\n mid = mid + Math.imul(al5, bh2) | 0;\n mid = mid + Math.imul(ah5, bl2) | 0;\n hi = hi + Math.imul(ah5, bh2) | 0;\n lo = lo + Math.imul(al4, bl3) | 0;\n mid = mid + Math.imul(al4, bh3) | 0;\n mid = mid + Math.imul(ah4, bl3) | 0;\n hi = hi + Math.imul(ah4, bh3) | 0;\n lo = lo + Math.imul(al3, bl4) | 0;\n mid = mid + Math.imul(al3, bh4) | 0;\n mid = mid + Math.imul(ah3, bl4) | 0;\n hi = hi + Math.imul(ah3, bh4) | 0;\n lo = lo + Math.imul(al2, bl5) | 0;\n mid = mid + Math.imul(al2, bh5) | 0;\n mid = mid + Math.imul(ah2, bl5) | 0;\n hi = hi + Math.imul(ah2, bh5) | 0;\n lo = lo + Math.imul(al1, bl6) | 0;\n mid = mid + Math.imul(al1, bh6) | 0;\n mid = mid + Math.imul(ah1, bl6) | 0;\n hi = hi + Math.imul(ah1, bh6) | 0;\n lo = lo + Math.imul(al0, bl7) | 0;\n mid = mid + Math.imul(al0, bh7) | 0;\n mid = mid + Math.imul(ah0, bl7) | 0;\n hi = hi + Math.imul(ah0, bh7) | 0;\n var w7 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */ lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = mid + Math.imul(ah8, bl0) | 0;\n hi = Math.imul(ah8, bh0);\n lo = lo + Math.imul(al7, bl1) | 0;\n mid = mid + Math.imul(al7, bh1) | 0;\n mid = mid + Math.imul(ah7, bl1) | 0;\n hi = hi + Math.imul(ah7, bh1) | 0;\n lo = lo + Math.imul(al6, bl2) | 0;\n mid = mid + Math.imul(al6, bh2) | 0;\n mid = mid + Math.imul(ah6, bl2) | 0;\n hi = hi + Math.imul(ah6, bh2) | 0;\n lo = lo + Math.imul(al5, bl3) | 0;\n mid = mid + Math.imul(al5, bh3) | 0;\n mid = mid + Math.imul(ah5, bl3) | 0;\n hi = hi + Math.imul(ah5, bh3) | 0;\n lo = lo + Math.imul(al4, bl4) | 0;\n mid = mid + Math.imul(al4, bh4) | 0;\n mid = mid + Math.imul(ah4, bl4) | 0;\n hi = hi + Math.imul(ah4, bh4) | 0;\n lo = lo + Math.imul(al3, bl5) | 0;\n mid = mid + Math.imul(al3, bh5) | 0;\n mid = mid + Math.imul(ah3, bl5) | 0;\n hi = hi + Math.imul(ah3, bh5) | 0;\n lo = lo + Math.imul(al2, bl6) | 0;\n mid = mid + Math.imul(al2, bh6) | 0;\n mid = mid + Math.imul(ah2, bl6) | 0;\n hi = hi + Math.imul(ah2, bh6) | 0;\n lo = lo + Math.imul(al1, bl7) | 0;\n mid = mid + Math.imul(al1, bh7) | 0;\n mid = mid + Math.imul(ah1, bl7) | 0;\n hi = hi + Math.imul(ah1, bh7) | 0;\n lo = lo + Math.imul(al0, bl8) | 0;\n mid = mid + Math.imul(al0, bh8) | 0;\n mid = mid + Math.imul(ah0, bl8) | 0;\n hi = hi + Math.imul(ah0, bh8) | 0;\n var w8 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */ lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = mid + Math.imul(ah9, bl0) | 0;\n hi = Math.imul(ah9, bh0);\n lo = lo + Math.imul(al8, bl1) | 0;\n mid = mid + Math.imul(al8, bh1) | 0;\n mid = mid + Math.imul(ah8, bl1) | 0;\n hi = hi + Math.imul(ah8, bh1) | 0;\n lo = lo + Math.imul(al7, bl2) | 0;\n mid = mid + Math.imul(al7, bh2) | 0;\n mid = mid + Math.imul(ah7, bl2) | 0;\n hi = hi + Math.imul(ah7, bh2) | 0;\n lo = lo + Math.imul(al6, bl3) | 0;\n mid = mid + Math.imul(al6, bh3) | 0;\n mid = mid + Math.imul(ah6, bl3) | 0;\n hi = hi + Math.imul(ah6, bh3) | 0;\n lo = lo + Math.imul(al5, bl4) | 0;\n mid = mid + Math.imul(al5, bh4) | 0;\n mid = mid + Math.imul(ah5, bl4) | 0;\n hi = hi + Math.imul(ah5, bh4) | 0;\n lo = lo + Math.imul(al4, bl5) | 0;\n mid = mid + Math.imul(al4, bh5) | 0;\n mid = mid + Math.imul(ah4, bl5) | 0;\n hi = hi + Math.imul(ah4, bh5) | 0;\n lo = lo + Math.imul(al3, bl6) | 0;\n mid = mid + Math.imul(al3, bh6) | 0;\n mid = mid + Math.imul(ah3, bl6) | 0;\n hi = hi + Math.imul(ah3, bh6) | 0;\n lo = lo + Math.imul(al2, bl7) | 0;\n mid = mid + Math.imul(al2, bh7) | 0;\n mid = mid + Math.imul(ah2, bl7) | 0;\n hi = hi + Math.imul(ah2, bh7) | 0;\n lo = lo + Math.imul(al1, bl8) | 0;\n mid = mid + Math.imul(al1, bh8) | 0;\n mid = mid + Math.imul(ah1, bl8) | 0;\n hi = hi + Math.imul(ah1, bh8) | 0;\n lo = lo + Math.imul(al0, bl9) | 0;\n mid = mid + Math.imul(al0, bh9) | 0;\n mid = mid + Math.imul(ah0, bl9) | 0;\n hi = hi + Math.imul(ah0, bh9) | 0;\n var w9 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */ lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = mid + Math.imul(ah9, bl1) | 0;\n hi = Math.imul(ah9, bh1);\n lo = lo + Math.imul(al8, bl2) | 0;\n mid = mid + Math.imul(al8, bh2) | 0;\n mid = mid + Math.imul(ah8, bl2) | 0;\n hi = hi + Math.imul(ah8, bh2) | 0;\n lo = lo + Math.imul(al7, bl3) | 0;\n mid = mid + Math.imul(al7, bh3) | 0;\n mid = mid + Math.imul(ah7, bl3) | 0;\n hi = hi + Math.imul(ah7, bh3) | 0;\n lo = lo + Math.imul(al6, bl4) | 0;\n mid = mid + Math.imul(al6, bh4) | 0;\n mid = mid + Math.imul(ah6, bl4) | 0;\n hi = hi + Math.imul(ah6, bh4) | 0;\n lo = lo + Math.imul(al5, bl5) | 0;\n mid = mid + Math.imul(al5, bh5) | 0;\n mid = mid + Math.imul(ah5, bl5) | 0;\n hi = hi + Math.imul(ah5, bh5) | 0;\n lo = lo + Math.imul(al4, bl6) | 0;\n mid = mid + Math.imul(al4, bh6) | 0;\n mid = mid + Math.imul(ah4, bl6) | 0;\n hi = hi + Math.imul(ah4, bh6) | 0;\n lo = lo + Math.imul(al3, bl7) | 0;\n mid = mid + Math.imul(al3, bh7) | 0;\n mid = mid + Math.imul(ah3, bl7) | 0;\n hi = hi + Math.imul(ah3, bh7) | 0;\n lo = lo + Math.imul(al2, bl8) | 0;\n mid = mid + Math.imul(al2, bh8) | 0;\n mid = mid + Math.imul(ah2, bl8) | 0;\n hi = hi + Math.imul(ah2, bh8) | 0;\n lo = lo + Math.imul(al1, bl9) | 0;\n mid = mid + Math.imul(al1, bh9) | 0;\n mid = mid + Math.imul(ah1, bl9) | 0;\n hi = hi + Math.imul(ah1, bh9) | 0;\n var w10 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */ lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = mid + Math.imul(ah9, bl2) | 0;\n hi = Math.imul(ah9, bh2);\n lo = lo + Math.imul(al8, bl3) | 0;\n mid = mid + Math.imul(al8, bh3) | 0;\n mid = mid + Math.imul(ah8, bl3) | 0;\n hi = hi + Math.imul(ah8, bh3) | 0;\n lo = lo + Math.imul(al7, bl4) | 0;\n mid = mid + Math.imul(al7, bh4) | 0;\n mid = mid + Math.imul(ah7, bl4) | 0;\n hi = hi + Math.imul(ah7, bh4) | 0;\n lo = lo + Math.imul(al6, bl5) | 0;\n mid = mid + Math.imul(al6, bh5) | 0;\n mid = mid + Math.imul(ah6, bl5) | 0;\n hi = hi + Math.imul(ah6, bh5) | 0;\n lo = lo + Math.imul(al5, bl6) | 0;\n mid = mid + Math.imul(al5, bh6) | 0;\n mid = mid + Math.imul(ah5, bl6) | 0;\n hi = hi + Math.imul(ah5, bh6) | 0;\n lo = lo + Math.imul(al4, bl7) | 0;\n mid = mid + Math.imul(al4, bh7) | 0;\n mid = mid + Math.imul(ah4, bl7) | 0;\n hi = hi + Math.imul(ah4, bh7) | 0;\n lo = lo + Math.imul(al3, bl8) | 0;\n mid = mid + Math.imul(al3, bh8) | 0;\n mid = mid + Math.imul(ah3, bl8) | 0;\n hi = hi + Math.imul(ah3, bh8) | 0;\n lo = lo + Math.imul(al2, bl9) | 0;\n mid = mid + Math.imul(al2, bh9) | 0;\n mid = mid + Math.imul(ah2, bl9) | 0;\n hi = hi + Math.imul(ah2, bh9) | 0;\n var w11 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */ lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = mid + Math.imul(ah9, bl3) | 0;\n hi = Math.imul(ah9, bh3);\n lo = lo + Math.imul(al8, bl4) | 0;\n mid = mid + Math.imul(al8, bh4) | 0;\n mid = mid + Math.imul(ah8, bl4) | 0;\n hi = hi + Math.imul(ah8, bh4) | 0;\n lo = lo + Math.imul(al7, bl5) | 0;\n mid = mid + Math.imul(al7, bh5) | 0;\n mid = mid + Math.imul(ah7, bl5) | 0;\n hi = hi + Math.imul(ah7, bh5) | 0;\n lo = lo + Math.imul(al6, bl6) | 0;\n mid = mid + Math.imul(al6, bh6) | 0;\n mid = mid + Math.imul(ah6, bl6) | 0;\n hi = hi + Math.imul(ah6, bh6) | 0;\n lo = lo + Math.imul(al5, bl7) | 0;\n mid = mid + Math.imul(al5, bh7) | 0;\n mid = mid + Math.imul(ah5, bl7) | 0;\n hi = hi + Math.imul(ah5, bh7) | 0;\n lo = lo + Math.imul(al4, bl8) | 0;\n mid = mid + Math.imul(al4, bh8) | 0;\n mid = mid + Math.imul(ah4, bl8) | 0;\n hi = hi + Math.imul(ah4, bh8) | 0;\n lo = lo + Math.imul(al3, bl9) | 0;\n mid = mid + Math.imul(al3, bh9) | 0;\n mid = mid + Math.imul(ah3, bl9) | 0;\n hi = hi + Math.imul(ah3, bh9) | 0;\n var w12 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */ lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = mid + Math.imul(ah9, bl4) | 0;\n hi = Math.imul(ah9, bh4);\n lo = lo + Math.imul(al8, bl5) | 0;\n mid = mid + Math.imul(al8, bh5) | 0;\n mid = mid + Math.imul(ah8, bl5) | 0;\n hi = hi + Math.imul(ah8, bh5) | 0;\n lo = lo + Math.imul(al7, bl6) | 0;\n mid = mid + Math.imul(al7, bh6) | 0;\n mid = mid + Math.imul(ah7, bl6) | 0;\n hi = hi + Math.imul(ah7, bh6) | 0;\n lo = lo + Math.imul(al6, bl7) | 0;\n mid = mid + Math.imul(al6, bh7) | 0;\n mid = mid + Math.imul(ah6, bl7) | 0;\n hi = hi + Math.imul(ah6, bh7) | 0;\n lo = lo + Math.imul(al5, bl8) | 0;\n mid = mid + Math.imul(al5, bh8) | 0;\n mid = mid + Math.imul(ah5, bl8) | 0;\n hi = hi + Math.imul(ah5, bh8) | 0;\n lo = lo + Math.imul(al4, bl9) | 0;\n mid = mid + Math.imul(al4, bh9) | 0;\n mid = mid + Math.imul(ah4, bl9) | 0;\n hi = hi + Math.imul(ah4, bh9) | 0;\n var w13 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */ lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = mid + Math.imul(ah9, bl5) | 0;\n hi = Math.imul(ah9, bh5);\n lo = lo + Math.imul(al8, bl6) | 0;\n mid = mid + Math.imul(al8, bh6) | 0;\n mid = mid + Math.imul(ah8, bl6) | 0;\n hi = hi + Math.imul(ah8, bh6) | 0;\n lo = lo + Math.imul(al7, bl7) | 0;\n mid = mid + Math.imul(al7, bh7) | 0;\n mid = mid + Math.imul(ah7, bl7) | 0;\n hi = hi + Math.imul(ah7, bh7) | 0;\n lo = lo + Math.imul(al6, bl8) | 0;\n mid = mid + Math.imul(al6, bh8) | 0;\n mid = mid + Math.imul(ah6, bl8) | 0;\n hi = hi + Math.imul(ah6, bh8) | 0;\n lo = lo + Math.imul(al5, bl9) | 0;\n mid = mid + Math.imul(al5, bh9) | 0;\n mid = mid + Math.imul(ah5, bl9) | 0;\n hi = hi + Math.imul(ah5, bh9) | 0;\n var w14 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */ lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = mid + Math.imul(ah9, bl6) | 0;\n hi = Math.imul(ah9, bh6);\n lo = lo + Math.imul(al8, bl7) | 0;\n mid = mid + Math.imul(al8, bh7) | 0;\n mid = mid + Math.imul(ah8, bl7) | 0;\n hi = hi + Math.imul(ah8, bh7) | 0;\n lo = lo + Math.imul(al7, bl8) | 0;\n mid = mid + Math.imul(al7, bh8) | 0;\n mid = mid + Math.imul(ah7, bl8) | 0;\n hi = hi + Math.imul(ah7, bh8) | 0;\n lo = lo + Math.imul(al6, bl9) | 0;\n mid = mid + Math.imul(al6, bh9) | 0;\n mid = mid + Math.imul(ah6, bl9) | 0;\n hi = hi + Math.imul(ah6, bh9) | 0;\n var w15 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */ lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = mid + Math.imul(ah9, bl7) | 0;\n hi = Math.imul(ah9, bh7);\n lo = lo + Math.imul(al8, bl8) | 0;\n mid = mid + Math.imul(al8, bh8) | 0;\n mid = mid + Math.imul(ah8, bl8) | 0;\n hi = hi + Math.imul(ah8, bh8) | 0;\n lo = lo + Math.imul(al7, bl9) | 0;\n mid = mid + Math.imul(al7, bh9) | 0;\n mid = mid + Math.imul(ah7, bl9) | 0;\n hi = hi + Math.imul(ah7, bh9) | 0;\n var w16 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */ lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = mid + Math.imul(ah9, bl8) | 0;\n hi = Math.imul(ah9, bh8);\n lo = lo + Math.imul(al8, bl9) | 0;\n mid = mid + Math.imul(al8, bh9) | 0;\n mid = mid + Math.imul(ah8, bl9) | 0;\n hi = hi + Math.imul(ah8, bh9) | 0;\n var w17 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */ lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = mid + Math.imul(ah9, bl9) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n // Polyfill comb\n if (!Math.imul) comb10MulTo = smallMulTo;\n function bigMulTo(self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n var carry = 0;\n var hncarry = 0;\n for(var k = 0; k < out.length - 1; k++){\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for(var j = Math.max(0, k - self.length + 1); j <= maxJ; j++){\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n var lo = r & 0x3ffffff;\n ncarry = ncarry + (r / 0x4000000 | 0) | 0;\n lo = lo + rword | 0;\n rword = lo & 0x3ffffff;\n ncarry = ncarry + (lo >>> 26) | 0;\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) out.words[k] = carry;\n else out.length--;\n return out.strip();\n }\n function jumboMulTo(self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n BN.prototype.mulTo = function mulTo(num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) res = comb10MulTo(this, num, out);\n else if (len < 63) res = smallMulTo(this, num, out);\n else if (len < 1024) res = bigMulTo(this, num, out);\n else res = jumboMulTo(this, num, out);\n return res;\n };\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n function FFTM(x, y) {\n this.x = x;\n this.y = y;\n }\n FFTM.prototype.makeRBT = function makeRBT(N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for(var i = 0; i < N; i++)t[i] = this.revBin(i, l, N);\n return t;\n };\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin(x, l, N) {\n if (x === 0 || x === N - 1) return x;\n var rb = 0;\n for(var i = 0; i < l; i++){\n rb |= (x & 1) << l - i - 1;\n x >>= 1;\n }\n return rb;\n };\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute(rbt, rws, iws, rtws, itws, N) {\n for(var i = 0; i < N; i++){\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n FFTM.prototype.transform = function transform(rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n for(var s = 1; s < N; s <<= 1){\n var l = s << 1;\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n for(var p = 0; p < N; p += l){\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n for(var j = 0; j < s; j++){\n var re = rtws[p + j];\n var ie = itws[p + j];\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n var rx = rtwdf_ * ro - itwdf_ * io;\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n /* jshint maxdepth : false */ if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n FFTM.prototype.guessLen13b = function guessLen13b(n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for(N = N / 2 | 0; N; N = N >>> 1)i++;\n return 1 << i + 1 + odd;\n };\n FFTM.prototype.conjugate = function conjugate(rws, iws, N) {\n if (N <= 1) return;\n for(var i = 0; i < N / 2; i++){\n var t = rws[i];\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n t = iws[i];\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n FFTM.prototype.normalize13b = function normalize13b(ws, N) {\n var carry = 0;\n for(var i = 0; i < N / 2; i++){\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + Math.round(ws[2 * i] / N) + carry;\n ws[i] = w & 0x3ffffff;\n if (w < 0x4000000) carry = 0;\n else carry = w / 0x4000000 | 0;\n }\n return ws;\n };\n FFTM.prototype.convert13b = function convert13b(ws, len, rws, N) {\n var carry = 0;\n for(var i = 0; i < len; i++){\n carry = carry + (ws[i] | 0);\n rws[2 * i] = carry & 0x1fff;\n carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff;\n carry = carry >>> 13;\n }\n // Pad with zeroes\n for(i = 2 * len; i < N; ++i)rws[i] = 0;\n assert(carry === 0);\n assert((carry & -8192) === 0);\n };\n FFTM.prototype.stub = function stub(N) {\n var ph = new Array(N);\n for(var i = 0; i < N; i++)ph[i] = 0;\n return ph;\n };\n FFTM.prototype.mulp = function mulp(x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n var rbt = this.makeRBT(N);\n var _ = this.stub(N);\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n var rmws = out.words;\n rmws.length = N;\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n for(var i = 0; i < N; i++){\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n // Multiply `this` by `num`\n BN.prototype.mul = function mul(num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n // Multiply employing FFT\n BN.prototype.mulf = function mulf(num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n // In-place Multiplication\n BN.prototype.imul = function imul(num) {\n return this.clone().mulTo(num, this);\n };\n BN.prototype.imuln = function imuln(num) {\n assert(typeof num === \"number\");\n assert(num < 0x4000000);\n // Carry\n var carry = 0;\n for(var i = 0; i < this.length; i++){\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += w / 0x4000000 | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n BN.prototype.muln = function muln(num) {\n return this.clone().imuln(num);\n };\n // `this` * `this`\n BN.prototype.sqr = function sqr() {\n return this.mul(this);\n };\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr() {\n return this.imul(this.clone());\n };\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow(num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n // Skip leading zeroes\n var res = this;\n for(var i = 0; i < w.length; i++, res = res.sqr()){\n if (w[i] !== 0) break;\n }\n if (++i < w.length) for(var q = res.sqr(); i < w.length; i++, q = q.sqr()){\n if (w[i] === 0) continue;\n res = res.mul(q);\n }\n return res;\n };\n // Shift-left in-place\n BN.prototype.iushln = function iushln(bits) {\n assert(typeof bits === \"number\" && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = 0x3ffffff >>> 26 - r << 26 - r;\n var i;\n if (r !== 0) {\n var carry = 0;\n for(i = 0; i < this.length; i++){\n var newCarry = this.words[i] & carryMask;\n var c = (this.words[i] | 0) - newCarry << r;\n this.words[i] = c | carry;\n carry = newCarry >>> 26 - r;\n }\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n if (s !== 0) {\n for(i = this.length - 1; i >= 0; i--)this.words[i + s] = this.words[i];\n for(i = 0; i < s; i++)this.words[i] = 0;\n this.length += s;\n }\n return this.strip();\n };\n BN.prototype.ishln = function ishln(bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn(bits, hint, extended) {\n assert(typeof bits === \"number\" && bits >= 0);\n var h;\n if (hint) h = (hint - hint % 26) / 26;\n else h = 0;\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ 0x3ffffff >>> r << r;\n var maskedWords = extended;\n h -= s;\n h = Math.max(0, h);\n // Extended mode, copy masked part\n if (maskedWords) {\n for(var i = 0; i < s; i++)maskedWords.words[i] = this.words[i];\n maskedWords.length = s;\n }\n if (s === 0) ;\n else if (this.length > s) {\n this.length -= s;\n for(i = 0; i < this.length; i++)this.words[i] = this.words[i + s];\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n var carry = 0;\n for(i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--){\n var word = this.words[i] | 0;\n this.words[i] = carry << 26 - r | word >>> r;\n carry = word & mask;\n }\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) maskedWords.words[maskedWords.length++] = carry;\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n return this.strip();\n };\n BN.prototype.ishrn = function ishrn(bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n // Shift-left\n BN.prototype.shln = function shln(bits) {\n return this.clone().ishln(bits);\n };\n BN.prototype.ushln = function ushln(bits) {\n return this.clone().iushln(bits);\n };\n // Shift-right\n BN.prototype.shrn = function shrn(bits) {\n return this.clone().ishrn(bits);\n };\n BN.prototype.ushrn = function ushrn(bits) {\n return this.clone().iushrn(bits);\n };\n // Test if n bit is set\n BN.prototype.testn = function testn(bit) {\n assert(typeof bit === \"number\" && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n // Check bit and return\n var w = this.words[s];\n return !!(w & q);\n };\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn(bits) {\n assert(typeof bits === \"number\" && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n assert(this.negative === 0, \"imaskn works only with positive numbers\");\n if (this.length <= s) return this;\n if (r !== 0) s++;\n this.length = Math.min(s, this.length);\n if (r !== 0) {\n var mask = 0x3ffffff ^ 0x3ffffff >>> r << r;\n this.words[this.length - 1] &= mask;\n }\n return this.strip();\n };\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn(bits) {\n return this.clone().imaskn(bits);\n };\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn(num) {\n assert(typeof num === \"number\");\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n // Add without checks\n return this._iaddn(num);\n };\n BN.prototype._iaddn = function _iaddn(num) {\n this.words[0] += num;\n // Carry\n for(var i = 0; i < this.length && this.words[i] >= 0x4000000; i++){\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) this.words[i + 1] = 1;\n else this.words[i + 1]++;\n }\n this.length = Math.max(this.length, i + 1);\n return this;\n };\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn(num) {\n assert(typeof num === \"number\");\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n this.words[0] -= num;\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else // Carry\n for(var i = 0; i < this.length && this.words[i] < 0; i++){\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n return this.strip();\n };\n BN.prototype.addn = function addn(num) {\n return this.clone().iaddn(num);\n };\n BN.prototype.subn = function subn(num) {\n return this.clone().isubn(num);\n };\n BN.prototype.iabs = function iabs() {\n this.negative = 0;\n return this;\n };\n BN.prototype.abs = function abs() {\n return this.clone().iabs();\n };\n BN.prototype._ishlnsubmul = function _ishlnsubmul(num, mul, shift) {\n var len = num.length + shift;\n var i;\n this._expand(len);\n var w;\n var carry = 0;\n for(i = 0; i < num.length; i++){\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - (right / 0x4000000 | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for(; i < this.length - shift; i++){\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n if (carry === 0) return this.strip();\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for(i = 0; i < this.length; i++){\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n return this.strip();\n };\n BN.prototype._wordDiv = function _wordDiv(num, mode) {\n var shift = this.length - num.length;\n var a = this.clone();\n var b = num;\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n if (mode !== \"mod\") {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for(var i = 0; i < q.length; i++)q.words[i] = 0;\n }\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) q.words[m] = 1;\n }\n for(var j = m - 1; j >= 0; j--){\n var qj = (a.words[b.length + j] | 0) * 0x4000000 + (a.words[b.length + j - 1] | 0);\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min(qj / bhi | 0, 0x3ffffff);\n a._ishlnsubmul(b, qj, j);\n while(a.negative !== 0){\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) a.negative ^= 1;\n }\n if (q) q.words[j] = qj;\n }\n if (q) q.strip();\n a.strip();\n // Denormalize\n if (mode !== \"div\" && shift !== 0) a.iushrn(shift);\n return {\n div: q || null,\n mod: a\n };\n };\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod(num, mode, positive) {\n assert(!num.isZero());\n if (this.isZero()) return {\n div: new BN(0),\n mod: new BN(0)\n };\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n if (mode !== \"mod\") div = res.div.neg();\n if (mode !== \"div\") {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) mod.iadd(num);\n }\n return {\n div: div,\n mod: mod\n };\n }\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n if (mode !== \"mod\") div = res.div.neg();\n return {\n div: div,\n mod: res.mod\n };\n }\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n if (mode !== \"div\") {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) mod.isub(num);\n }\n return {\n div: res.div,\n mod: mod\n };\n }\n // Both numbers are positive at this point\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) return {\n div: new BN(0),\n mod: this\n };\n // Very short reduction\n if (num.length === 1) {\n if (mode === \"div\") return {\n div: this.divn(num.words[0]),\n mod: null\n };\n if (mode === \"mod\") return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n return this._wordDiv(num, mode);\n };\n // Find `this` / `num`\n BN.prototype.div = function div(num) {\n return this.divmod(num, \"div\", false).div;\n };\n // Find `this` % `num`\n BN.prototype.mod = function mod(num) {\n return this.divmod(num, \"mod\", false).mod;\n };\n BN.prototype.umod = function umod(num) {\n return this.divmod(num, \"mod\", true).mod;\n };\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound(num) {\n var dm = this.divmod(num);\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n BN.prototype.modn = function modn(num) {\n assert(num <= 0x3ffffff);\n var p = 67108864 % num;\n var acc = 0;\n for(var i = this.length - 1; i >= 0; i--)acc = (p * acc + (this.words[i] | 0)) % num;\n return acc;\n };\n // In-place division by number\n BN.prototype.idivn = function idivn(num) {\n assert(num <= 0x3ffffff);\n var carry = 0;\n for(var i = this.length - 1; i >= 0; i--){\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = w / num | 0;\n carry = w % num;\n }\n return this.strip();\n };\n BN.prototype.divn = function divn(num) {\n return this.clone().idivn(num);\n };\n BN.prototype.egcd = function egcd(p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n var x = this;\n var y = p.clone();\n if (x.negative !== 0) x = x.umod(p);\n else x = x.clone();\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n var g = 0;\n while(x.isEven() && y.isEven()){\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n var yp = y.clone();\n var xp = x.clone();\n while(!x.isZero()){\n for(var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while(i-- > 0){\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n for(var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while(j-- > 0){\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp(p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n var a = this;\n var b = p.clone();\n if (a.negative !== 0) a = a.umod(p);\n else a = a.clone();\n var x1 = new BN(1);\n var x2 = new BN(0);\n var delta = b.clone();\n while(a.cmpn(1) > 0 && b.cmpn(1) > 0){\n for(var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while(i-- > 0){\n if (x1.isOdd()) x1.iadd(delta);\n x1.iushrn(1);\n }\n }\n for(var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while(j-- > 0){\n if (x2.isOdd()) x2.iadd(delta);\n x2.iushrn(1);\n }\n }\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n var res;\n if (a.cmpn(1) === 0) res = x1;\n else res = x2;\n if (res.cmpn(0) < 0) res.iadd(p);\n return res;\n };\n BN.prototype.gcd = function gcd(num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n // Remove common factor of two\n for(var shift = 0; a.isEven() && b.isEven(); shift++){\n a.iushrn(1);\n b.iushrn(1);\n }\n do {\n while(a.isEven())a.iushrn(1);\n while(b.isEven())b.iushrn(1);\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) break;\n a.isub(b);\n }while (true);\n return b.iushln(shift);\n };\n // Invert number in the field F(num)\n BN.prototype.invm = function invm(num) {\n return this.egcd(num).a.umod(num);\n };\n BN.prototype.isEven = function isEven() {\n return (this.words[0] & 1) === 0;\n };\n BN.prototype.isOdd = function isOdd() {\n return (this.words[0] & 1) === 1;\n };\n // And first word and num\n BN.prototype.andln = function andln(num) {\n return this.words[0] & num;\n };\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn(bit) {\n assert(typeof bit === \"number\");\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n // Add bit and propagate, if needed\n var carry = q;\n for(var i = s; carry !== 0 && i < this.length; i++){\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n BN.prototype.isZero = function isZero() {\n return this.length === 1 && this.words[0] === 0;\n };\n BN.prototype.cmpn = function cmpn(num) {\n var negative = num < 0;\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n this.strip();\n var res;\n if (this.length > 1) res = 1;\n else {\n if (negative) num = -num;\n assert(num <= 0x3ffffff, \"Number is too big\");\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp(num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp(num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n var res = 0;\n for(var i = this.length - 1; i >= 0; i--){\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n if (a === b) continue;\n if (a < b) res = -1;\n else if (a > b) res = 1;\n break;\n }\n return res;\n };\n BN.prototype.gtn = function gtn(num) {\n return this.cmpn(num) === 1;\n };\n BN.prototype.gt = function gt(num) {\n return this.cmp(num) === 1;\n };\n BN.prototype.gten = function gten(num) {\n return this.cmpn(num) >= 0;\n };\n BN.prototype.gte = function gte(num) {\n return this.cmp(num) >= 0;\n };\n BN.prototype.ltn = function ltn(num) {\n return this.cmpn(num) === -1;\n };\n BN.prototype.lt = function lt(num) {\n return this.cmp(num) === -1;\n };\n BN.prototype.lten = function lten(num) {\n return this.cmpn(num) <= 0;\n };\n BN.prototype.lte = function lte(num) {\n return this.cmp(num) <= 0;\n };\n BN.prototype.eqn = function eqn(num) {\n return this.cmpn(num) === 0;\n };\n BN.prototype.eq = function eq(num) {\n return this.cmp(num) === 0;\n };\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red(num) {\n return new Red(num);\n };\n BN.prototype.toRed = function toRed(ctx) {\n assert(!this.red, \"Already a number in reduction context\");\n assert(this.negative === 0, \"red works only with positives\");\n return ctx.convertTo(this)._forceRed(ctx);\n };\n BN.prototype.fromRed = function fromRed() {\n assert(this.red, \"fromRed works only with numbers in reduction context\");\n return this.red.convertFrom(this);\n };\n BN.prototype._forceRed = function _forceRed(ctx) {\n this.red = ctx;\n return this;\n };\n BN.prototype.forceRed = function forceRed(ctx) {\n assert(!this.red, \"Already a number in reduction context\");\n return this._forceRed(ctx);\n };\n BN.prototype.redAdd = function redAdd(num) {\n assert(this.red, \"redAdd works only with red numbers\");\n return this.red.add(this, num);\n };\n BN.prototype.redIAdd = function redIAdd(num) {\n assert(this.red, \"redIAdd works only with red numbers\");\n return this.red.iadd(this, num);\n };\n BN.prototype.redSub = function redSub(num) {\n assert(this.red, \"redSub works only with red numbers\");\n return this.red.sub(this, num);\n };\n BN.prototype.redISub = function redISub(num) {\n assert(this.red, \"redISub works only with red numbers\");\n return this.red.isub(this, num);\n };\n BN.prototype.redShl = function redShl(num) {\n assert(this.red, \"redShl works only with red numbers\");\n return this.red.shl(this, num);\n };\n BN.prototype.redMul = function redMul(num) {\n assert(this.red, \"redMul works only with red numbers\");\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n BN.prototype.redIMul = function redIMul(num) {\n assert(this.red, \"redMul works only with red numbers\");\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n BN.prototype.redSqr = function redSqr() {\n assert(this.red, \"redSqr works only with red numbers\");\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n BN.prototype.redISqr = function redISqr() {\n assert(this.red, \"redISqr works only with red numbers\");\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n // Square root over p\n BN.prototype.redSqrt = function redSqrt() {\n assert(this.red, \"redSqrt works only with red numbers\");\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n BN.prototype.redInvm = function redInvm() {\n assert(this.red, \"redInvm works only with red numbers\");\n this.red._verify1(this);\n return this.red.invm(this);\n };\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg() {\n assert(this.red, \"redNeg works only with red numbers\");\n this.red._verify1(this);\n return this.red.neg(this);\n };\n BN.prototype.redPow = function redPow(num) {\n assert(this.red && !num.red, \"redPow(normalNum)\");\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n // Pseudo-Mersenne prime\n function MPrime(name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n this.tmp = this._tmp();\n }\n MPrime.prototype._tmp = function _tmp() {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n MPrime.prototype.ireduce = function ireduce(num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n }while (rlen > this.n);\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) r.isub(this.p);\n else r.strip();\n return r;\n };\n MPrime.prototype.split = function split(input, out) {\n input.iushrn(this.n, 0, out);\n };\n MPrime.prototype.imulK = function imulK(num) {\n return num.imul(this.k);\n };\n function K256() {\n MPrime.call(this, \"k256\", \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\");\n }\n inherits(K256, MPrime);\n K256.prototype.split = function split(input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n var outLen = Math.min(input.length, 9);\n for(var i = 0; i < outLen; i++)output.words[i] = input.words[i];\n output.length = outLen;\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n for(i = 10; i < input.length; i++){\n var next = input.words[i] | 0;\n input.words[i - 10] = (next & mask) << 4 | prev >>> 22;\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) input.length -= 10;\n else input.length -= 9;\n };\n K256.prototype.imulK = function imulK(num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for(var i = 0; i < num.length; i++){\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + (lo / 0x4000000 | 0);\n }\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) num.length--;\n }\n return num;\n };\n function P224() {\n MPrime.call(this, \"p224\", \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\");\n }\n inherits(P224, MPrime);\n function P192() {\n MPrime.call(this, \"p192\", \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\");\n }\n inherits(P192, MPrime);\n function P25519() {\n // 2 ^ 255 - 19\n MPrime.call(this, \"25519\", \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\");\n }\n inherits(P25519, MPrime);\n P25519.prototype.imulK = function imulK(num) {\n // K = 0x13\n var carry = 0;\n for(var i = 0; i < num.length; i++){\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) num.words[num.length++] = carry;\n return num;\n };\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime(name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n var prime;\n if (name === \"k256\") prime = new K256();\n else if (name === \"p224\") prime = new P224();\n else if (name === \"p192\") prime = new P192();\n else if (name === \"p25519\") prime = new P25519();\n else throw new Error(\"Unknown prime \" + name);\n primes[name] = prime;\n return prime;\n };\n //\n // Base reduction engine\n //\n function Red(m) {\n if (typeof m === \"string\") {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), \"modulus must be greater than 1\");\n this.m = m;\n this.prime = null;\n }\n }\n Red.prototype._verify1 = function _verify1(a) {\n assert(a.negative === 0, \"red works only with positives\");\n assert(a.red, \"red works only with red numbers\");\n };\n Red.prototype._verify2 = function _verify2(a, b) {\n assert((a.negative | b.negative) === 0, \"red works only with positives\");\n assert(a.red && a.red === b.red, \"red works only with red numbers\");\n };\n Red.prototype.imod = function imod(a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n Red.prototype.neg = function neg(a) {\n if (a.isZero()) return a.clone();\n return this.m.sub(a)._forceRed(this);\n };\n Red.prototype.add = function add(a, b) {\n this._verify2(a, b);\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) res.isub(this.m);\n return res._forceRed(this);\n };\n Red.prototype.iadd = function iadd(a, b) {\n this._verify2(a, b);\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) res.isub(this.m);\n return res;\n };\n Red.prototype.sub = function sub(a, b) {\n this._verify2(a, b);\n var res = a.sub(b);\n if (res.cmpn(0) < 0) res.iadd(this.m);\n return res._forceRed(this);\n };\n Red.prototype.isub = function isub(a, b) {\n this._verify2(a, b);\n var res = a.isub(b);\n if (res.cmpn(0) < 0) res.iadd(this.m);\n return res;\n };\n Red.prototype.shl = function shl(a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n Red.prototype.imul = function imul(a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n Red.prototype.mul = function mul(a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n Red.prototype.isqr = function isqr(a) {\n return this.imul(a, a.clone());\n };\n Red.prototype.sqr = function sqr(a) {\n return this.mul(a, a);\n };\n Red.prototype.sqrt = function sqrt(a) {\n if (a.isZero()) return a.clone();\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while(!q.isZero() && q.andln(1) === 0){\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n while(this.pow(z, lpow).cmp(nOne) !== 0)z.redIAdd(nOne);\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while(t.cmp(one) !== 0){\n var tmp = t;\n for(var i = 0; tmp.cmp(one) !== 0; i++)tmp = tmp.redSqr();\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n return r;\n };\n Red.prototype.invm = function invm(a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else return this.imod(inv);\n };\n Red.prototype.pow = function pow(a, num) {\n if (num.isZero()) return new BN(1);\n if (num.cmpn(1) === 0) return a.clone();\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for(var i = 2; i < wnd.length; i++)wnd[i] = this.mul(wnd[i - 1], a);\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) start = 26;\n for(i = num.length - 1; i >= 0; i--){\n var word = num.words[i];\n for(var j = start - 1; j >= 0; j--){\n var bit = word >> j & 1;\n if (res !== wnd[0]) res = this.sqr(res);\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n return res;\n };\n Red.prototype.convertTo = function convertTo(num) {\n var r = num.umod(this.m);\n return r === num ? r.clone() : r;\n };\n Red.prototype.convertFrom = function convertFrom(num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n //\n // Montgomery method engine\n //\n BN.mont = function mont(num) {\n return new Mont(num);\n };\n function Mont(m) {\n Red.call(this, m);\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) this.shift += 26 - this.shift % 26;\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n Mont.prototype.convertTo = function convertTo(num) {\n return this.imod(num.ushln(this.shift));\n };\n Mont.prototype.convertFrom = function convertFrom(num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n Mont.prototype.imul = function imul(a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) res = u.isub(this.m);\n else if (u.cmpn(0) < 0) res = u.iadd(this.m);\n return res._forceRed(this);\n };\n Mont.prototype.mul = function mul(a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) res = u.isub(this.m);\n else if (u.cmpn(0) < 0) res = u.iadd(this.m);\n return res._forceRed(this);\n };\n Mont.prototype.invm = function invm(a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(module, this);\n\n});\n\nparcelRequire.register(\"edrkG\", function(module, exports) {\n\nvar $1Gpd4 = parcelRequire(\"1Gpd4\");\n/**\n * Removes '0x' from a given `String` is present\n * @param {String} str the string value\n * @return {String|Optional} a string by pass if necessary\n */ module.exports = function stripHexPrefix(str) {\n if (typeof str !== \"string\") return str;\n return $1Gpd4(str) ? str.slice(2) : str;\n};\n\n});\nparcelRequire.register(\"1Gpd4\", function(module, exports) {\n/**\n * Returns a `Boolean` on whether or not the a `String` starts with '0x'\n * @param {String} str the string input value\n * @return {Boolean} a boolean if it is or is not hex prefixed\n * @throws if the str input is not a string\n */ module.exports = function isHexPrefixed(str) {\n if (typeof str !== \"string\") throw new Error(\"[is-hex-prefixed] value must be type 'string', is currently type \" + typeof str + \", while checking isHexPrefixed.\");\n return str.slice(0, 2) === \"0x\";\n};\n\n});\n\n\n\n\nparcelRequire.register(\"eNPzt\", function(module, exports) {\n/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n */ /**\n * @file utils.js\n * @author Fabian Vogelsteller \n * @date 2017\n */ \nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $ac6da539943f3978$require$Buffer = $6ZWSX.Buffer;\n\nvar $dEXSZ = parcelRequire(\"dEXSZ\");\n\nvar $lrNtv = parcelRequire(\"lrNtv\");\n\nvar $7gSD0 = parcelRequire(\"7gSD0\");\n\nvar $7Z98w = parcelRequire(\"7Z98w\");\n\nvar $36d7k = parcelRequire(\"36d7k\");\n/**\n * Returns true if object is BN, otherwise false\n *\n * @method isBN\n * @param {Object} object\n * @return {Boolean}\n */ var $ac6da539943f3978$var$isBN = function(object) {\n return $dEXSZ.isBN(object);\n};\n/**\n * Returns true if object is BigNumber, otherwise false\n *\n * @method isBigNumber\n * @param {Object} object\n * @return {Boolean}\n */ var $ac6da539943f3978$var$isBigNumber = function(object) {\n return object && object.constructor && object.constructor.name === \"BigNumber\";\n};\n/**\n * Takes an input and transforms it into an BN\n *\n * @method toBN\n * @param {Number|String|BN} number, string, HEX string or BN\n * @return {BN} BN\n */ var $ac6da539943f3978$var$toBN = function(number) {\n try {\n return $lrNtv.apply(null, arguments);\n } catch (e) {\n throw new Error(e + ' Given value: \"' + number + '\"');\n }\n};\n/**\n * Takes and input transforms it into BN and if it is negative value, into two's complement\n *\n * @method toTwosComplement\n * @param {Number|String|BN} number\n * @return {String}\n */ var $ac6da539943f3978$var$toTwosComplement = function(number) {\n return \"0x\" + $ac6da539943f3978$var$toBN(number).toTwos(256).toString(16, 64);\n};\n/**\n * Checks if the given string is an address\n *\n * @method isAddress\n * @param {String} address the given HEX address\n * @return {Boolean}\n */ var $ac6da539943f3978$var$isAddress = function(address) {\n // check if it has the basic requirements of an address\n if (!/^(0x)?[0-9a-f]{40}$/i.test(address)) return false;\n else if (/^(0x|0X)?[0-9a-f]{40}$/.test(address) || /^(0x|0X)?[0-9A-F]{40}$/.test(address)) return true;\n else return $ac6da539943f3978$var$checkAddressChecksum(address);\n};\n/**\n * Checks if the given string is a checksummed address\n *\n * @method checkAddressChecksum\n * @param {String} address the given HEX address\n * @return {Boolean}\n */ var $ac6da539943f3978$var$checkAddressChecksum = function(address) {\n // Check each case\n address = address.replace(/^0x/i, \"\");\n var addressHash = $ac6da539943f3978$var$sha3(address.toLowerCase()).replace(/^0x/i, \"\");\n for(var i = 0; i < 40; i++){\n // the nth letter should be uppercase if the nth digit of casemap is 1\n if (parseInt(addressHash[i], 16) > 7 && address[i].toUpperCase() !== address[i] || parseInt(addressHash[i], 16) <= 7 && address[i].toLowerCase() !== address[i]) return false;\n }\n return true;\n};\n/**\n * Should be called to pad string to expected length\n *\n * @method leftPad\n * @param {String} string to be padded\n * @param {Number} chars that result string should have\n * @param {String} sign, by default 0\n * @returns {String} right aligned string\n */ var $ac6da539943f3978$var$leftPad = function(string, chars, sign) {\n var hasPrefix = /^0x/i.test(string) || typeof string === \"number\";\n string = string.toString(16).replace(/^0x/i, \"\");\n var padding = chars - string.length + 1 >= 0 ? chars - string.length + 1 : 0;\n return (hasPrefix ? \"0x\" : \"\") + new Array(padding).join(sign ? sign : \"0\") + string;\n};\n/**\n * Should be called to pad string to expected length\n *\n * @method rightPad\n * @param {String} string to be padded\n * @param {Number} chars that result string should have\n * @param {String} sign, by default 0\n * @returns {String} right aligned string\n */ var $ac6da539943f3978$var$rightPad = function(string, chars, sign) {\n var hasPrefix = /^0x/i.test(string) || typeof string === \"number\";\n string = string.toString(16).replace(/^0x/i, \"\");\n var padding = chars - string.length + 1 >= 0 ? chars - string.length + 1 : 0;\n return (hasPrefix ? \"0x\" : \"\") + string + new Array(padding).join(sign ? sign : \"0\");\n};\n/**\n * Should be called to get hex representation (prefixed by 0x) of utf8 string\n *\n * @method utf8ToHex\n * @param {String} str\n * @returns {String} hex representation of input string\n */ var $ac6da539943f3978$var$utf8ToHex = function(str) {\n str = $7gSD0.encode(str);\n var hex = \"\";\n // remove \\u0000 padding from either side\n str = str.replace(/^(?:\\u0000)*/, \"\");\n str = str.split(\"\").reverse().join(\"\");\n str = str.replace(/^(?:\\u0000)*/, \"\");\n str = str.split(\"\").reverse().join(\"\");\n for(var i = 0; i < str.length; i++){\n var code = str.charCodeAt(i);\n // if (code !== 0) {\n var n = code.toString(16);\n hex += n.length < 2 ? \"0\" + n : n;\n // }\n }\n return \"0x\" + hex;\n};\n/**\n * Should be called to get utf8 from it's hex representation\n *\n * @method hexToUtf8\n * @param {String} hex\n * @returns {String} ascii string representation of hex value\n */ var $ac6da539943f3978$var$hexToUtf8 = function(hex) {\n if (!$ac6da539943f3978$var$isHexStrict(hex)) throw new Error('The parameter \"' + hex + '\" must be a valid HEX string.');\n var str = \"\";\n var code = 0;\n hex = hex.replace(/^0x/i, \"\");\n // remove 00 padding from either side\n hex = hex.replace(/^(?:00)*/, \"\");\n hex = hex.split(\"\").reverse().join(\"\");\n hex = hex.replace(/^(?:00)*/, \"\");\n hex = hex.split(\"\").reverse().join(\"\");\n var l = hex.length;\n for(var i = 0; i < l; i += 2){\n code = parseInt(hex.slice(i, i + 2), 16);\n // if (code !== 0) {\n str += String.fromCharCode(code);\n // }\n }\n return $7gSD0.decode(str);\n};\n/**\n * Converts value to it's number representation.\n * However, if the value is larger than the maximum safe integer, returns the value as a string.\n *\n * @method hexToNumber\n * @param {String|Number|BN} value\n * @param {Boolean} bigIntOnOverflow - if true, return the hex value in case of overflow\n * @return {Number|String}\n */ var $ac6da539943f3978$var$hexToNumber = function(value, bigIntOnOverflow = false) {\n if (!value) return value;\n if (typeof value === \"string\" && !$ac6da539943f3978$var$isHexStrict(value)) throw new Error('Given value \"' + value + '\" is not a valid hex string.');\n const n = $ac6da539943f3978$var$toBN(value);\n if (bigIntOnOverflow && (n > Number.MAX_SAFE_INTEGER || n < Number.MIN_SAFE_INTEGER)) return BigInt(n);\n return n.toNumber();\n};\n/**\n * Converts value to it's decimal representation in string\n *\n * @method hexToNumberString\n * @param {String|Number|BN} value\n * @return {String}\n */ var $ac6da539943f3978$var$hexToNumberString = function(value) {\n if (!value) return value;\n if (typeof value === \"string\" && !$ac6da539943f3978$var$isHexStrict(value)) throw new Error('Given value \"' + value + '\" is not a valid hex string.');\n return $ac6da539943f3978$var$toBN(value).toString(10);\n};\n/**\n * Converts value to it's hex representation\n *\n * @method numberToHex\n * @param {String|Number|BN} value\n * @return {String}\n */ var $ac6da539943f3978$var$numberToHex = function(value) {\n if (value === null || value === undefined) return value;\n if (!isFinite(value) && !$ac6da539943f3978$var$isHexStrict(value)) throw new Error('Given input \"' + value + '\" is not a number.');\n var number = $ac6da539943f3978$var$toBN(value);\n var result = number.toString(16);\n return number.lt(new $dEXSZ(0)) ? \"-0x\" + result.slice(1) : \"0x\" + result;\n};\n/**\n * Convert a byte array to a hex string\n *\n * Note: Implementation from crypto-js\n *\n * @method bytesToHex\n * @param {Array} bytes\n * @return {String} the hex string\n */ var $ac6da539943f3978$var$bytesToHex = function(bytes) {\n for(var hex = [], i = 0; i < bytes.length; i++){\n /* jshint ignore:start */ hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n /* jshint ignore:end */ }\n return \"0x\" + hex.join(\"\");\n};\n/**\n * Convert a hex string to a byte array\n *\n * Note: Implementation from crypto-js\n *\n * @method hexToBytes\n * @param {string} hex\n * @return {Array} the byte array\n */ var $ac6da539943f3978$var$hexToBytes = function(hex) {\n hex = hex.toString(16);\n if (!$ac6da539943f3978$var$isHexStrict(hex)) throw new Error('Given value \"' + hex + '\" is not a valid hex string.');\n hex = hex.replace(/^0x/i, \"\");\n for(var bytes = [], c = 0; c < hex.length; c += 2)bytes.push(parseInt(hex.slice(c, c + 2), 16));\n return bytes;\n};\n/**\n * Auto converts any given value into it's hex representation.\n *\n * And even stringifys objects before.\n *\n * @method toHex\n * @param {String|Number|BN|Object|Buffer} value\n * @param {Boolean} returnType\n * @return {String}\n */ var $ac6da539943f3978$var$toHex = function(value, returnType) {\n /*jshint maxcomplexity: false */ if ($ac6da539943f3978$var$isAddress(value)) return returnType ? \"address\" : \"0x\" + value.toLowerCase().replace(/^0x/i, \"\");\n if (typeof value === \"boolean\") return returnType ? \"bool\" : value ? \"0x01\" : \"0x00\";\n if ($ac6da539943f3978$require$Buffer.isBuffer(value)) return \"0x\" + value.toString(\"hex\");\n if (typeof value === \"object\" && !!value && !$ac6da539943f3978$var$isBigNumber(value) && !$ac6da539943f3978$var$isBN(value)) return returnType ? \"string\" : $ac6da539943f3978$var$utf8ToHex(JSON.stringify(value));\n // if its a negative number, pass it through numberToHex\n if (typeof value === \"string\") {\n if (value.indexOf(\"-0x\") === 0 || value.indexOf(\"-0X\") === 0) return returnType ? \"int256\" : $ac6da539943f3978$var$numberToHex(value);\n else if (value.indexOf(\"0x\") === 0 || value.indexOf(\"0X\") === 0) return returnType ? \"bytes\" : value;\n else if (!isFinite(value)) return returnType ? \"string\" : $ac6da539943f3978$var$utf8ToHex(value);\n }\n return returnType ? value < 0 ? \"int256\" : \"uint256\" : $ac6da539943f3978$var$numberToHex(value);\n};\n/**\n * Check if string is HEX, requires a 0x in front\n *\n * @method isHexStrict\n * @param {String} hex to be checked\n * @returns {Boolean}\n */ var $ac6da539943f3978$var$isHexStrict = function(hex) {\n return (typeof hex === \"string\" || typeof hex === \"number\") && /^(-)?0x[0-9a-f]*$/i.test(hex);\n};\n/**\n * Check if string is HEX\n *\n * @method isHex\n * @param {String} hex to be checked\n * @returns {Boolean}\n */ var $ac6da539943f3978$var$isHex = function(hex) {\n return (typeof hex === \"string\" || typeof hex === \"number\") && /^(-0x|0x)?[0-9a-f]*$/i.test(hex);\n};\n/**\n * Remove 0x prefix from string\n *\n * @method stripHexPrefix\n * @param {String} str to be checked\n * @returns {String}\n */ var $ac6da539943f3978$var$stripHexPrefix = function(str) {\n if (str !== 0 && $ac6da539943f3978$var$isHex(str)) return str.replace(/^(-)?0x/i, \"$1\");\n return str;\n};\n/**\n * Returns true if given string is a valid Ethereum block header bloom.\n *\n * @method isBloom\n * @param {String} bloom encoded bloom filter\n * @return {Boolean}\n */ var $ac6da539943f3978$var$isBloom = function(bloom) {\n return $36d7k.isBloom(bloom);\n};\n/**\n * Returns true if the ethereum users address is part of the given bloom\n * note: false positives are possible.\n *\n * @method isUserEthereumAddressInBloom\n * @param {String} ethereumAddress encoded bloom filter\n * @param {String} bloom ethereum addresss\n * @return {Boolean}\n */ var $ac6da539943f3978$var$isUserEthereumAddressInBloom = function(bloom, ethereumAddress) {\n return $36d7k.isUserEthereumAddressInBloom(bloom, ethereumAddress);\n};\n/**\n * Returns true if the contract address is part of the given bloom\n * note: false positives are possible.\n *\n * @method isUserEthereumAddressInBloom\n * @param {String} bloom encoded bloom filter\n * @param {String} contractAddress contract addresss\n * @return {Boolean}\n */ var $ac6da539943f3978$var$isContractAddressInBloom = function(bloom, contractAddress) {\n return $36d7k.isContractAddressInBloom(bloom, contractAddress);\n};\n/**\n * Returns true if given string is a valid log topic.\n *\n * @method isTopic\n * @param {String} topic encoded topic\n * @return {Boolean}\n */ var $ac6da539943f3978$var$isTopic = function(topic) {\n return $36d7k.isTopic(topic);\n};\n/**\n * Returns true if the topic is part of the given bloom\n * note: false positives are possible.\n *\n * @method isTopicInBloom\n * @param {String} bloom encoded bloom filter\n * @param {String} topic encoded topic\n * @return {Boolean}\n */ var $ac6da539943f3978$var$isTopicInBloom = function(bloom, topic) {\n return $36d7k.isTopicInBloom(bloom, topic);\n};\n/**\n * Returns true if the value is part of the given bloom\n * note: false positives are possible.\n *\n * @method isInBloom\n * @param {String} bloom encoded bloom filter\n * @param {String | Uint8Array} topic encoded value\n * @return {Boolean}\n */ var $ac6da539943f3978$var$isInBloom = function(bloom, topic) {\n return $36d7k.isInBloom(bloom, topic);\n};\n/**\n * Hashes values to a sha3 hash using keccak 256\n *\n * To hash a HEX string the hex must have 0x in front.\n *\n * @method sha3\n * @return {String} the sha3 string\n */ var $ac6da539943f3978$var$SHA3_NULL_S = \"0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470\";\nvar $ac6da539943f3978$var$sha3 = function(value) {\n if ($ac6da539943f3978$var$isBN(value)) value = value.toString();\n if ($ac6da539943f3978$var$isHexStrict(value) && /^0x/i.test(value.toString())) value = $7Z98w.toBuffer(value);\n else if (typeof value === \"string\") // Assume value is an arbitrary string\n value = $ac6da539943f3978$require$Buffer.from(value, \"utf-8\");\n var returnValue = $7Z98w.bufferToHex($7Z98w.keccak256(value));\n if (returnValue === $ac6da539943f3978$var$SHA3_NULL_S) return null;\n else return returnValue;\n};\n// expose the under the hood keccak256\n$ac6da539943f3978$var$sha3._Hash = $7Z98w.keccak256;\n/**\n * @method sha3Raw\n *\n * @param value\n *\n * @returns {string}\n */ var $ac6da539943f3978$var$sha3Raw = function(value) {\n value = $ac6da539943f3978$var$sha3(value);\n if (value === null) return $ac6da539943f3978$var$SHA3_NULL_S;\n return value;\n};\n/**\n * Auto converts any given value into it's hex representation,\n * then converts hex to number.\n *\n * @method toNumber\n * @param {String|Number|BN} value\n * @param {Boolean} bigIntOnOverflow - if true, return the hex value in case of overflow\n * @return {Number|String}\n */ var $ac6da539943f3978$var$toNumber = function(value, bigIntOnOverflow = false) {\n return typeof value === \"number\" ? value : $ac6da539943f3978$var$hexToNumber($ac6da539943f3978$var$toHex(value), bigIntOnOverflow);\n};\n// 1.x currently accepts 0x... strings, bn.js after update doesn't. it would be a breaking change\nvar $ac6da539943f3978$var$BNwrapped = function(value) {\n // check negative\n if (typeof value == \"string\" && value.includes(\"0x\")) {\n const [negative, hexValue] = value.toLocaleLowerCase().startsWith(\"-\") ? [\n \"-\",\n value.slice(3)\n ] : [\n \"\",\n value.slice(2)\n ];\n return new $dEXSZ(negative + hexValue, 16);\n } else return new $dEXSZ(value);\n};\nObject.setPrototypeOf($ac6da539943f3978$var$BNwrapped, $dEXSZ);\nObject.setPrototypeOf($ac6da539943f3978$var$BNwrapped.prototype, $dEXSZ.prototype);\nmodule.exports = {\n BN: $ac6da539943f3978$var$BNwrapped,\n isBN: $ac6da539943f3978$var$isBN,\n isBigNumber: $ac6da539943f3978$var$isBigNumber,\n toBN: $ac6da539943f3978$var$toBN,\n isAddress: $ac6da539943f3978$var$isAddress,\n isBloom: $ac6da539943f3978$var$isBloom,\n isUserEthereumAddressInBloom: $ac6da539943f3978$var$isUserEthereumAddressInBloom,\n isContractAddressInBloom: $ac6da539943f3978$var$isContractAddressInBloom,\n isTopic: $ac6da539943f3978$var$isTopic,\n isTopicInBloom: $ac6da539943f3978$var$isTopicInBloom,\n isInBloom: $ac6da539943f3978$var$isInBloom,\n checkAddressChecksum: $ac6da539943f3978$var$checkAddressChecksum,\n utf8ToHex: $ac6da539943f3978$var$utf8ToHex,\n hexToUtf8: $ac6da539943f3978$var$hexToUtf8,\n hexToNumber: $ac6da539943f3978$var$hexToNumber,\n hexToNumberString: $ac6da539943f3978$var$hexToNumberString,\n numberToHex: $ac6da539943f3978$var$numberToHex,\n toHex: $ac6da539943f3978$var$toHex,\n hexToBytes: $ac6da539943f3978$var$hexToBytes,\n bytesToHex: $ac6da539943f3978$var$bytesToHex,\n isHex: $ac6da539943f3978$var$isHex,\n isHexStrict: $ac6da539943f3978$var$isHexStrict,\n stripHexPrefix: $ac6da539943f3978$var$stripHexPrefix,\n leftPad: $ac6da539943f3978$var$leftPad,\n rightPad: $ac6da539943f3978$var$rightPad,\n toTwosComplement: $ac6da539943f3978$var$toTwosComplement,\n sha3: $ac6da539943f3978$var$sha3,\n sha3Raw: $ac6da539943f3978$var$sha3Raw,\n toNumber: $ac6da539943f3978$var$toNumber\n};\n\n});\nparcelRequire.register(\"7gSD0\", function(module, exports) {\n(function(root) {\n var stringFromCharCode = String.fromCharCode;\n // Taken from https://mths.be/punycode\n function ucs2decode(string) {\n var output = [];\n var counter = 0;\n var length = string.length;\n var value;\n var extra;\n while(counter < length){\n value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // high surrogate, and there is a next character\n extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) == 0xDC00) output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n else {\n // unmatched surrogate; only append this code unit, in case the next\n // code unit is the high surrogate of a surrogate pair\n output.push(value);\n counter--;\n }\n } else output.push(value);\n }\n return output;\n }\n // Taken from https://mths.be/punycode\n function ucs2encode(array) {\n var length = array.length;\n var index = -1;\n var value;\n var output = \"\";\n while(++index < length){\n value = array[index];\n if (value > 0xFFFF) {\n value -= 0x10000;\n output += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n value = 0xDC00 | value & 0x3FF;\n }\n output += stringFromCharCode(value);\n }\n return output;\n }\n function checkScalarValue(codePoint) {\n if (codePoint >= 0xD800 && codePoint <= 0xDFFF) throw Error(\"Lone surrogate U+\" + codePoint.toString(16).toUpperCase() + \" is not a scalar value\");\n }\n /*--------------------------------------------------------------------------*/ function createByte(codePoint, shift) {\n return stringFromCharCode(codePoint >> shift & 0x3F | 0x80);\n }\n function encodeCodePoint(codePoint) {\n if ((codePoint & 0xFFFFFF80) == 0) return stringFromCharCode(codePoint);\n var symbol = \"\";\n if ((codePoint & 0xFFFFF800) == 0) symbol = stringFromCharCode(codePoint >> 6 & 0x1F | 0xC0);\n else if ((codePoint & 0xFFFF0000) == 0) {\n checkScalarValue(codePoint);\n symbol = stringFromCharCode(codePoint >> 12 & 0x0F | 0xE0);\n symbol += createByte(codePoint, 6);\n } else if ((codePoint & 0xFFE00000) == 0) {\n symbol = stringFromCharCode(codePoint >> 18 & 0x07 | 0xF0);\n symbol += createByte(codePoint, 12);\n symbol += createByte(codePoint, 6);\n }\n symbol += stringFromCharCode(codePoint & 0x3F | 0x80);\n return symbol;\n }\n function utf8encode(string) {\n var codePoints = ucs2decode(string);\n var length = codePoints.length;\n var index = -1;\n var codePoint;\n var byteString = \"\";\n while(++index < length){\n codePoint = codePoints[index];\n byteString += encodeCodePoint(codePoint);\n }\n return byteString;\n }\n /*--------------------------------------------------------------------------*/ function readContinuationByte() {\n if (byteIndex >= byteCount) throw Error(\"Invalid byte index\");\n var continuationByte = byteArray[byteIndex] & 0xFF;\n byteIndex++;\n if ((continuationByte & 0xC0) == 0x80) return continuationByte & 0x3F;\n // If we end up here, it’s not a continuation byte\n throw Error(\"Invalid continuation byte\");\n }\n function decodeSymbol() {\n var byte1;\n var byte2;\n var byte3;\n var byte4;\n var codePoint;\n if (byteIndex > byteCount) throw Error(\"Invalid byte index\");\n if (byteIndex == byteCount) return false;\n // Read first byte\n byte1 = byteArray[byteIndex] & 0xFF;\n byteIndex++;\n // 1-byte sequence (no continuation bytes)\n if ((byte1 & 0x80) == 0) return byte1;\n // 2-byte sequence\n if ((byte1 & 0xE0) == 0xC0) {\n byte2 = readContinuationByte();\n codePoint = (byte1 & 0x1F) << 6 | byte2;\n if (codePoint >= 0x80) return codePoint;\n else throw Error(\"Invalid continuation byte\");\n }\n // 3-byte sequence (may include unpaired surrogates)\n if ((byte1 & 0xF0) == 0xE0) {\n byte2 = readContinuationByte();\n byte3 = readContinuationByte();\n codePoint = (byte1 & 0x0F) << 12 | byte2 << 6 | byte3;\n if (codePoint >= 0x0800) {\n checkScalarValue(codePoint);\n return codePoint;\n } else throw Error(\"Invalid continuation byte\");\n }\n // 4-byte sequence\n if ((byte1 & 0xF8) == 0xF0) {\n byte2 = readContinuationByte();\n byte3 = readContinuationByte();\n byte4 = readContinuationByte();\n codePoint = (byte1 & 0x07) << 0x12 | byte2 << 0x0C | byte3 << 0x06 | byte4;\n if (codePoint >= 0x010000 && codePoint <= 0x10FFFF) return codePoint;\n }\n throw Error(\"Invalid UTF-8 detected\");\n }\n var byteArray;\n var byteCount;\n var byteIndex;\n function utf8decode(byteString) {\n byteArray = ucs2decode(byteString);\n byteCount = byteArray.length;\n byteIndex = 0;\n var codePoints = [];\n var tmp;\n while((tmp = decodeSymbol()) !== false)codePoints.push(tmp);\n return ucs2encode(codePoints);\n }\n /*--------------------------------------------------------------------------*/ root.version = \"3.0.0\";\n root.encode = utf8encode;\n root.decode = utf8decode;\n})(module.exports);\n\n});\n\nparcelRequire.register(\"7Z98w\", function(module, exports) {\n\"use strict\";\nvar $5d0551371c89d07b$var$__createBinding = module.exports && module.exports.__createBinding || (Object.create ? function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n enumerable: true,\n get: function() {\n return m[k];\n }\n };\n Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\nvar $5d0551371c89d07b$var$__exportStar = module.exports && module.exports.__exportStar || function(m, exports1) {\n for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports1, p)) $5d0551371c89d07b$var$__createBinding(exports1, m, p);\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.isHexString = module.exports.getKeys = module.exports.fromAscii = module.exports.fromUtf8 = module.exports.toAscii = module.exports.arrayContainsArray = module.exports.getBinarySize = module.exports.padToEven = module.exports.stripHexPrefix = module.exports.isHexPrefixed = void 0;\n\n/**\n * Constants\n */ $5d0551371c89d07b$var$__exportStar((parcelRequire(\"5jI7y\")), module.exports);\n\n/**\n * Account class and helper functions\n */ $5d0551371c89d07b$var$__exportStar((parcelRequire(\"idiNS\")), module.exports);\n\n/**\n * Address type\n */ $5d0551371c89d07b$var$__exportStar((parcelRequire(\"aSXhg\")), module.exports);\n\n/**\n * Hash functions\n */ $5d0551371c89d07b$var$__exportStar((parcelRequire(\"gKSHR\")), module.exports);\n\n/**\n * ECDSA signature\n */ $5d0551371c89d07b$var$__exportStar((parcelRequire(\"67JT1\")), module.exports);\n\n/**\n * Utilities for manipulating Buffers, byte arrays, etc.\n */ $5d0551371c89d07b$var$__exportStar((parcelRequire(\"b61lJ\")), module.exports);\n\n/**\n * Function for definining properties on an object\n */ $5d0551371c89d07b$var$__exportStar((parcelRequire(\"cLPFP\")), module.exports);\n\n/**\n * External exports (BN, rlp)\n */ $5d0551371c89d07b$var$__exportStar((parcelRequire(\"4jhio\")), module.exports);\n\n/**\n * Helpful TypeScript types\n */ $5d0551371c89d07b$var$__exportStar((parcelRequire(\"eLj8Y\")), module.exports);\n\nvar $aj8Qm = parcelRequire(\"aj8Qm\");\nObject.defineProperty(module.exports, \"isHexPrefixed\", {\n enumerable: true,\n get: function() {\n return $aj8Qm.isHexPrefixed;\n }\n});\nObject.defineProperty(module.exports, \"stripHexPrefix\", {\n enumerable: true,\n get: function() {\n return $aj8Qm.stripHexPrefix;\n }\n});\nObject.defineProperty(module.exports, \"padToEven\", {\n enumerable: true,\n get: function() {\n return $aj8Qm.padToEven;\n }\n});\nObject.defineProperty(module.exports, \"getBinarySize\", {\n enumerable: true,\n get: function() {\n return $aj8Qm.getBinarySize;\n }\n});\nObject.defineProperty(module.exports, \"arrayContainsArray\", {\n enumerable: true,\n get: function() {\n return $aj8Qm.arrayContainsArray;\n }\n});\nObject.defineProperty(module.exports, \"toAscii\", {\n enumerable: true,\n get: function() {\n return $aj8Qm.toAscii;\n }\n});\nObject.defineProperty(module.exports, \"fromUtf8\", {\n enumerable: true,\n get: function() {\n return $aj8Qm.fromUtf8;\n }\n});\nObject.defineProperty(module.exports, \"fromAscii\", {\n enumerable: true,\n get: function() {\n return $aj8Qm.fromAscii;\n }\n});\nObject.defineProperty(module.exports, \"getKeys\", {\n enumerable: true,\n get: function() {\n return $aj8Qm.getKeys;\n }\n});\nObject.defineProperty(module.exports, \"isHexString\", {\n enumerable: true,\n get: function() {\n return $aj8Qm.isHexString;\n }\n});\n\n});\nparcelRequire.register(\"5jI7y\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.KECCAK256_RLP = module.exports.KECCAK256_RLP_S = module.exports.KECCAK256_RLP_ARRAY = module.exports.KECCAK256_RLP_ARRAY_S = module.exports.KECCAK256_NULL = module.exports.KECCAK256_NULL_S = module.exports.TWO_POW256 = module.exports.MAX_INTEGER = module.exports.MAX_UINT64 = void 0;\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\n\nvar $4jhio = parcelRequire(\"4jhio\");\n/**\n * 2^64-1\n */ module.exports.MAX_UINT64 = new $4jhio.BN(\"ffffffffffffffff\", 16);\n/**\n * The max integer that the evm can handle (2^256-1)\n */ module.exports.MAX_INTEGER = new $4jhio.BN(\"ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\", 16);\n/**\n * 2^256\n */ module.exports.TWO_POW256 = new $4jhio.BN(\"10000000000000000000000000000000000000000000000000000000000000000\", 16);\n/**\n * Keccak-256 hash of null\n */ module.exports.KECCAK256_NULL_S = \"c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470\";\n/**\n * Keccak-256 hash of null\n */ module.exports.KECCAK256_NULL = $6ZWSX.Buffer.from(module.exports.KECCAK256_NULL_S, \"hex\");\n/**\n * Keccak-256 of an RLP of an empty array\n */ module.exports.KECCAK256_RLP_ARRAY_S = \"1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347\";\n/**\n * Keccak-256 of an RLP of an empty array\n */ module.exports.KECCAK256_RLP_ARRAY = $6ZWSX.Buffer.from(module.exports.KECCAK256_RLP_ARRAY_S, \"hex\");\n/**\n * Keccak-256 hash of the RLP of null\n */ module.exports.KECCAK256_RLP_S = \"56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421\";\n/**\n * Keccak-256 hash of the RLP of null\n */ module.exports.KECCAK256_RLP = $6ZWSX.Buffer.from(module.exports.KECCAK256_RLP_S, \"hex\");\n\n});\nparcelRequire.register(\"4jhio\", function(module, exports) {\n\"use strict\";\n/**\n * Re-exports commonly used modules:\n * * Exports [`BN`](https://github.com/indutny/bn.js), [`rlp`](https://github.com/ethereumjs/rlp).\n * @packageDocumentation\n */ var $32365a58f62e9fb8$var$__createBinding = module.exports && module.exports.__createBinding || (Object.create ? function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n enumerable: true,\n get: function() {\n return m[k];\n }\n };\n Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\nvar $32365a58f62e9fb8$var$__setModuleDefault = module.exports && module.exports.__setModuleDefault || (Object.create ? function(o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function(o, v) {\n o[\"default\"] = v;\n});\nvar $32365a58f62e9fb8$var$__importStar = module.exports && module.exports.__importStar || function(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) {\n for(var k in mod)if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) $32365a58f62e9fb8$var$__createBinding(result, mod, k);\n }\n $32365a58f62e9fb8$var$__setModuleDefault(result, mod);\n return result;\n};\nvar $32365a58f62e9fb8$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.rlp = module.exports.BN = void 0;\n\nvar $32365a58f62e9fb8$var$bn_js_1 = $32365a58f62e9fb8$var$__importDefault((parcelRequire(\"dEXSZ\")));\nmodule.exports.BN = $32365a58f62e9fb8$var$bn_js_1.default;\n\nvar $32365a58f62e9fb8$var$rlp = $32365a58f62e9fb8$var$__importStar((parcelRequire(\"15efp\")));\nmodule.exports.rlp = $32365a58f62e9fb8$var$rlp;\n\n});\nparcelRequire.register(\"15efp\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $0ca14f51a53c43ef$require$Buffer = $6ZWSX.Buffer;\n\"use strict\";\nvar $0ca14f51a53c43ef$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.getLength = module.exports.decode = module.exports.encode = void 0;\n\nvar $0ca14f51a53c43ef$var$bn_js_1 = $0ca14f51a53c43ef$var$__importDefault((parcelRequire(\"dEXSZ\")));\n/**\n * RLP Encoding based on: https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP\n * This function takes in a data, convert it to buffer if not, and a length for recursion\n * @param input - will be converted to buffer\n * @returns returns buffer of encoded data\n **/ function $0ca14f51a53c43ef$var$encode(input) {\n if (Array.isArray(input)) {\n var output = [];\n for(var i = 0; i < input.length; i++)output.push($0ca14f51a53c43ef$var$encode(input[i]));\n var buf = $0ca14f51a53c43ef$require$Buffer.concat(output);\n return $0ca14f51a53c43ef$require$Buffer.concat([\n $0ca14f51a53c43ef$var$encodeLength(buf.length, 192),\n buf\n ]);\n } else {\n var inputBuf = $0ca14f51a53c43ef$var$toBuffer(input);\n return inputBuf.length === 1 && inputBuf[0] < 128 ? inputBuf : $0ca14f51a53c43ef$require$Buffer.concat([\n $0ca14f51a53c43ef$var$encodeLength(inputBuf.length, 128),\n inputBuf\n ]);\n }\n}\nmodule.exports.encode = $0ca14f51a53c43ef$var$encode;\n/**\n * Parse integers. Check if there is no leading zeros\n * @param v The value to parse\n * @param base The base to parse the integer into\n */ function $0ca14f51a53c43ef$var$safeParseInt(v, base) {\n if (v[0] === \"0\" && v[1] === \"0\") throw new Error(\"invalid RLP: extra zeros\");\n return parseInt(v, base);\n}\nfunction $0ca14f51a53c43ef$var$encodeLength(len, offset) {\n if (len < 56) return $0ca14f51a53c43ef$require$Buffer.from([\n len + offset\n ]);\n else {\n var hexLength = $0ca14f51a53c43ef$var$intToHex(len);\n var lLength = hexLength.length / 2;\n var firstByte = $0ca14f51a53c43ef$var$intToHex(offset + 55 + lLength);\n return $0ca14f51a53c43ef$require$Buffer.from(firstByte + hexLength, \"hex\");\n }\n}\nfunction $0ca14f51a53c43ef$var$decode(input, stream) {\n if (stream === void 0) stream = false;\n if (!input || input.length === 0) return $0ca14f51a53c43ef$require$Buffer.from([]);\n var inputBuffer = $0ca14f51a53c43ef$var$toBuffer(input);\n var decoded = $0ca14f51a53c43ef$var$_decode(inputBuffer);\n if (stream) return decoded;\n if (decoded.remainder.length !== 0) throw new Error(\"invalid remainder\");\n return decoded.data;\n}\nmodule.exports.decode = $0ca14f51a53c43ef$var$decode;\n/**\n * Get the length of the RLP input\n * @param input\n * @returns The length of the input or an empty Buffer if no input\n */ function $0ca14f51a53c43ef$var$getLength(input) {\n if (!input || input.length === 0) return $0ca14f51a53c43ef$require$Buffer.from([]);\n var inputBuffer = $0ca14f51a53c43ef$var$toBuffer(input);\n var firstByte = inputBuffer[0];\n if (firstByte <= 0x7f) return inputBuffer.length;\n else if (firstByte <= 0xb7) return firstByte - 0x7f;\n else if (firstByte <= 0xbf) return firstByte - 0xb6;\n else if (firstByte <= 0xf7) // a list between 0-55 bytes long\n return firstByte - 0xbf;\n else {\n // a list over 55 bytes long\n var llength = firstByte - 0xf6;\n var length_1 = $0ca14f51a53c43ef$var$safeParseInt(inputBuffer.slice(1, llength).toString(\"hex\"), 16);\n return llength + length_1;\n }\n}\nmodule.exports.getLength = $0ca14f51a53c43ef$var$getLength;\n/** Decode an input with RLP */ function $0ca14f51a53c43ef$var$_decode(input) {\n var length, llength, data, innerRemainder, d;\n var decoded = [];\n var firstByte = input[0];\n if (firstByte <= 0x7f) // a single byte whose value is in the [0x00, 0x7f] range, that byte is its own RLP encoding.\n return {\n data: input.slice(0, 1),\n remainder: input.slice(1)\n };\n else if (firstByte <= 0xb7) {\n // string is 0-55 bytes long. A single byte with value 0x80 plus the length of the string followed by the string\n // The range of the first byte is [0x80, 0xb7]\n length = firstByte - 0x7f;\n // set 0x80 null to 0\n if (firstByte === 0x80) data = $0ca14f51a53c43ef$require$Buffer.from([]);\n else data = input.slice(1, length);\n if (length === 2 && data[0] < 0x80) throw new Error(\"invalid rlp encoding: byte must be less 0x80\");\n return {\n data: data,\n remainder: input.slice(length)\n };\n } else if (firstByte <= 0xbf) {\n // string is greater than 55 bytes long. A single byte with the value (0xb7 plus the length of the length),\n // followed by the length, followed by the string\n llength = firstByte - 0xb6;\n if (input.length - 1 < llength) throw new Error(\"invalid RLP: not enough bytes for string length\");\n length = $0ca14f51a53c43ef$var$safeParseInt(input.slice(1, llength).toString(\"hex\"), 16);\n if (length <= 55) throw new Error(\"invalid RLP: expected string length to be greater than 55\");\n data = input.slice(llength, length + llength);\n if (data.length < length) throw new Error(\"invalid RLP: not enough bytes for string\");\n return {\n data: data,\n remainder: input.slice(length + llength)\n };\n } else if (firstByte <= 0xf7) {\n // a list between 0-55 bytes long\n length = firstByte - 0xbf;\n innerRemainder = input.slice(1, length);\n while(innerRemainder.length){\n d = $0ca14f51a53c43ef$var$_decode(innerRemainder);\n decoded.push(d.data);\n innerRemainder = d.remainder;\n }\n return {\n data: decoded,\n remainder: input.slice(length)\n };\n } else {\n // a list over 55 bytes long\n llength = firstByte - 0xf6;\n length = $0ca14f51a53c43ef$var$safeParseInt(input.slice(1, llength).toString(\"hex\"), 16);\n var totalLength = llength + length;\n if (totalLength > input.length) throw new Error(\"invalid rlp: total length is larger than the data\");\n innerRemainder = input.slice(llength, totalLength);\n if (innerRemainder.length === 0) throw new Error(\"invalid rlp, List has a invalid length\");\n while(innerRemainder.length){\n d = $0ca14f51a53c43ef$var$_decode(innerRemainder);\n decoded.push(d.data);\n innerRemainder = d.remainder;\n }\n return {\n data: decoded,\n remainder: input.slice(totalLength)\n };\n }\n}\n/** Check if a string is prefixed by 0x */ function $0ca14f51a53c43ef$var$isHexPrefixed(str) {\n return str.slice(0, 2) === \"0x\";\n}\n/** Removes 0x from a given String */ function $0ca14f51a53c43ef$var$stripHexPrefix(str) {\n if (typeof str !== \"string\") return str;\n return $0ca14f51a53c43ef$var$isHexPrefixed(str) ? str.slice(2) : str;\n}\n/** Transform an integer into its hexadecimal value */ function $0ca14f51a53c43ef$var$intToHex(integer) {\n if (integer < 0) throw new Error(\"Invalid integer as argument, must be unsigned!\");\n var hex = integer.toString(16);\n return hex.length % 2 ? \"0\" + hex : hex;\n}\n/** Pad a string to be even */ function $0ca14f51a53c43ef$var$padToEven(a) {\n return a.length % 2 ? \"0\" + a : a;\n}\n/** Transform an integer into a Buffer */ function $0ca14f51a53c43ef$var$intToBuffer(integer) {\n var hex = $0ca14f51a53c43ef$var$intToHex(integer);\n return $0ca14f51a53c43ef$require$Buffer.from(hex, \"hex\");\n}\n/** Transform anything into a Buffer */ function $0ca14f51a53c43ef$var$toBuffer(v) {\n if (!$0ca14f51a53c43ef$require$Buffer.isBuffer(v)) {\n if (typeof v === \"string\") {\n if ($0ca14f51a53c43ef$var$isHexPrefixed(v)) return $0ca14f51a53c43ef$require$Buffer.from($0ca14f51a53c43ef$var$padToEven($0ca14f51a53c43ef$var$stripHexPrefix(v)), \"hex\");\n else return $0ca14f51a53c43ef$require$Buffer.from(v);\n } else if (typeof v === \"number\" || typeof v === \"bigint\") {\n if (!v) return $0ca14f51a53c43ef$require$Buffer.from([]);\n else return $0ca14f51a53c43ef$var$intToBuffer(v);\n } else if (v === null || v === undefined) return $0ca14f51a53c43ef$require$Buffer.from([]);\n else if (v instanceof Uint8Array) return $0ca14f51a53c43ef$require$Buffer.from(v);\n else if ($0ca14f51a53c43ef$var$bn_js_1.default.isBN(v)) // converts a BN to a Buffer\n return $0ca14f51a53c43ef$require$Buffer.from(v.toArray());\n else throw new Error(\"invalid type\");\n }\n return v;\n}\n\n});\n\n\n\nparcelRequire.register(\"idiNS\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $d42806dba2e311ba$require$Buffer = $6ZWSX.Buffer;\n\"use strict\";\nvar $d42806dba2e311ba$var$__read = module.exports && module.exports.__read || function(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally{\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally{\n if (e) throw e.error;\n }\n }\n return ar;\n};\nvar $d42806dba2e311ba$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.isZeroAddress = module.exports.zeroAddress = module.exports.importPublic = module.exports.privateToAddress = module.exports.privateToPublic = module.exports.publicToAddress = module.exports.pubToAddress = module.exports.isValidPublic = module.exports.isValidPrivate = module.exports.generateAddress2 = module.exports.generateAddress = module.exports.isValidChecksumAddress = module.exports.toChecksumAddress = module.exports.isValidAddress = module.exports.Account = void 0;\n\nvar $d42806dba2e311ba$var$assert_1 = $d42806dba2e311ba$var$__importDefault((parcelRequire(\"aLUwE\")));\n\nvar $4jhio = parcelRequire(\"4jhio\");\n\nvar $iET4t = parcelRequire(\"iET4t\");\n\nvar $aj8Qm = parcelRequire(\"aj8Qm\");\n\nvar $5jI7y = parcelRequire(\"5jI7y\");\n\nvar $b61lJ = parcelRequire(\"b61lJ\");\n\nvar $gKSHR = parcelRequire(\"gKSHR\");\n\nvar $7jIKp = parcelRequire(\"7jIKp\");\n\nvar $eLj8Y = parcelRequire(\"eLj8Y\");\nvar $d42806dba2e311ba$var$Account = /** @class */ function() {\n /**\n * This constructor assigns and validates the values.\n * Use the static factory methods to assist in creating an Account from varying data types.\n */ function Account(nonce, balance, stateRoot, codeHash) {\n if (nonce === void 0) nonce = new $4jhio.BN(0);\n if (balance === void 0) balance = new $4jhio.BN(0);\n if (stateRoot === void 0) stateRoot = $5jI7y.KECCAK256_RLP;\n if (codeHash === void 0) codeHash = $5jI7y.KECCAK256_NULL;\n this.nonce = nonce;\n this.balance = balance;\n this.stateRoot = stateRoot;\n this.codeHash = codeHash;\n this._validate();\n }\n Account.fromAccountData = function(accountData) {\n var nonce = accountData.nonce, balance = accountData.balance, stateRoot = accountData.stateRoot, codeHash = accountData.codeHash;\n return new Account(nonce ? new $4jhio.BN((0, $b61lJ.toBuffer)(nonce)) : undefined, balance ? new $4jhio.BN((0, $b61lJ.toBuffer)(balance)) : undefined, stateRoot ? (0, $b61lJ.toBuffer)(stateRoot) : undefined, codeHash ? (0, $b61lJ.toBuffer)(codeHash) : undefined);\n };\n Account.fromRlpSerializedAccount = function(serialized) {\n var values = $4jhio.rlp.decode(serialized);\n if (!Array.isArray(values)) throw new Error(\"Invalid serialized account input. Must be array\");\n return this.fromValuesArray(values);\n };\n Account.fromValuesArray = function(values) {\n var _a = $d42806dba2e311ba$var$__read(values, 4), nonce = _a[0], balance = _a[1], stateRoot = _a[2], codeHash = _a[3];\n return new Account(new $4jhio.BN(nonce), new $4jhio.BN(balance), stateRoot, codeHash);\n };\n Account.prototype._validate = function() {\n if (this.nonce.lt(new $4jhio.BN(0))) throw new Error(\"nonce must be greater than zero\");\n if (this.balance.lt(new $4jhio.BN(0))) throw new Error(\"balance must be greater than zero\");\n if (this.stateRoot.length !== 32) throw new Error(\"stateRoot must have a length of 32\");\n if (this.codeHash.length !== 32) throw new Error(\"codeHash must have a length of 32\");\n };\n /**\n * Returns a Buffer Array of the raw Buffers for the account, in order.\n */ Account.prototype.raw = function() {\n return [\n (0, $eLj8Y.bnToUnpaddedBuffer)(this.nonce),\n (0, $eLj8Y.bnToUnpaddedBuffer)(this.balance),\n this.stateRoot,\n this.codeHash\n ];\n };\n /**\n * Returns the RLP serialization of the account as a `Buffer`.\n */ Account.prototype.serialize = function() {\n return $4jhio.rlp.encode(this.raw());\n };\n /**\n * Returns a `Boolean` determining if the account is a contract.\n */ Account.prototype.isContract = function() {\n return !this.codeHash.equals($5jI7y.KECCAK256_NULL);\n };\n /**\n * Returns a `Boolean` determining if the account is empty complying to the definition of\n * account emptiness in [EIP-161](https://eips.ethereum.org/EIPS/eip-161):\n * \"An account is considered empty when it has no code and zero nonce and zero balance.\"\n */ Account.prototype.isEmpty = function() {\n return this.balance.isZero() && this.nonce.isZero() && this.codeHash.equals($5jI7y.KECCAK256_NULL);\n };\n return Account;\n}();\nmodule.exports.Account = $d42806dba2e311ba$var$Account;\n/**\n * Checks if the address is a valid. Accepts checksummed addresses too.\n */ var $d42806dba2e311ba$var$isValidAddress = function(hexAddress) {\n try {\n (0, $7jIKp.assertIsString)(hexAddress);\n } catch (e) {\n return false;\n }\n return /^0x[0-9a-fA-F]{40}$/.test(hexAddress);\n};\nmodule.exports.isValidAddress = $d42806dba2e311ba$var$isValidAddress;\n/**\n * Returns a checksummed address.\n *\n * If an eip1191ChainId is provided, the chainId will be included in the checksum calculation. This\n * has the effect of checksummed addresses for one chain having invalid checksums for others.\n * For more details see [EIP-1191](https://eips.ethereum.org/EIPS/eip-1191).\n *\n * WARNING: Checksums with and without the chainId will differ and the EIP-1191 checksum is not\n * backwards compatible to the original widely adopted checksum format standard introduced in\n * [EIP-55](https://eips.ethereum.org/EIPS/eip-55), so this will break in existing applications.\n * Usage of this EIP is therefore discouraged unless you have a very targeted use case.\n */ var $d42806dba2e311ba$var$toChecksumAddress = function(hexAddress, eip1191ChainId) {\n (0, $7jIKp.assertIsHexString)(hexAddress);\n var address = (0, $aj8Qm.stripHexPrefix)(hexAddress).toLowerCase();\n var prefix = \"\";\n if (eip1191ChainId) {\n var chainId = (0, $eLj8Y.toType)(eip1191ChainId, $eLj8Y.TypeOutput.BN);\n prefix = chainId.toString() + \"0x\";\n }\n var hash = (0, $gKSHR.keccakFromString)(prefix + address).toString(\"hex\");\n var ret = \"0x\";\n for(var i = 0; i < address.length; i++)if (parseInt(hash[i], 16) >= 8) ret += address[i].toUpperCase();\n else ret += address[i];\n return ret;\n};\nmodule.exports.toChecksumAddress = $d42806dba2e311ba$var$toChecksumAddress;\n/**\n * Checks if the address is a valid checksummed address.\n *\n * See toChecksumAddress' documentation for details about the eip1191ChainId parameter.\n */ var $d42806dba2e311ba$var$isValidChecksumAddress = function(hexAddress, eip1191ChainId) {\n return (0, module.exports.isValidAddress)(hexAddress) && (0, module.exports.toChecksumAddress)(hexAddress, eip1191ChainId) === hexAddress;\n};\nmodule.exports.isValidChecksumAddress = $d42806dba2e311ba$var$isValidChecksumAddress;\n/**\n * Generates an address of a newly created contract.\n * @param from The address which is creating this new address\n * @param nonce The nonce of the from account\n */ var $d42806dba2e311ba$var$generateAddress = function(from, nonce) {\n (0, $7jIKp.assertIsBuffer)(from);\n (0, $7jIKp.assertIsBuffer)(nonce);\n var nonceBN = new $4jhio.BN(nonce);\n if (nonceBN.isZero()) // in RLP we want to encode null in the case of zero nonce\n // read the RLP documentation for an answer if you dare\n return (0, $gKSHR.rlphash)([\n from,\n null\n ]).slice(-20);\n // Only take the lower 160bits of the hash\n return (0, $gKSHR.rlphash)([\n from,\n $d42806dba2e311ba$require$Buffer.from(nonceBN.toArray())\n ]).slice(-20);\n};\nmodule.exports.generateAddress = $d42806dba2e311ba$var$generateAddress;\n/**\n * Generates an address for a contract created using CREATE2.\n * @param from The address which is creating this new address\n * @param salt A salt\n * @param initCode The init code of the contract being created\n */ var $d42806dba2e311ba$var$generateAddress2 = function(from, salt, initCode) {\n (0, $7jIKp.assertIsBuffer)(from);\n (0, $7jIKp.assertIsBuffer)(salt);\n (0, $7jIKp.assertIsBuffer)(initCode);\n (0, $d42806dba2e311ba$var$assert_1.default)(from.length === 20);\n (0, $d42806dba2e311ba$var$assert_1.default)(salt.length === 32);\n var address = (0, $gKSHR.keccak256)($d42806dba2e311ba$require$Buffer.concat([\n $d42806dba2e311ba$require$Buffer.from(\"ff\", \"hex\"),\n from,\n salt,\n (0, $gKSHR.keccak256)(initCode)\n ]));\n return address.slice(-20);\n};\nmodule.exports.generateAddress2 = $d42806dba2e311ba$var$generateAddress2;\n/**\n * Checks if the private key satisfies the rules of the curve secp256k1.\n */ var $d42806dba2e311ba$var$isValidPrivate = function(privateKey) {\n return (0, $iET4t.privateKeyVerify)(privateKey);\n};\nmodule.exports.isValidPrivate = $d42806dba2e311ba$var$isValidPrivate;\n/**\n * Checks if the public key satisfies the rules of the curve secp256k1\n * and the requirements of Ethereum.\n * @param publicKey The two points of an uncompressed key, unless sanitize is enabled\n * @param sanitize Accept public keys in other formats\n */ var $d42806dba2e311ba$var$isValidPublic = function(publicKey, sanitize) {\n if (sanitize === void 0) sanitize = false;\n (0, $7jIKp.assertIsBuffer)(publicKey);\n if (publicKey.length === 64) // Convert to SEC1 for secp256k1\n return (0, $iET4t.publicKeyVerify)($d42806dba2e311ba$require$Buffer.concat([\n $d42806dba2e311ba$require$Buffer.from([\n 4\n ]),\n publicKey\n ]));\n if (!sanitize) return false;\n return (0, $iET4t.publicKeyVerify)(publicKey);\n};\nmodule.exports.isValidPublic = $d42806dba2e311ba$var$isValidPublic;\n/**\n * Returns the ethereum address of a given public key.\n * Accepts \"Ethereum public keys\" and SEC1 encoded keys.\n * @param pubKey The two points of an uncompressed key, unless sanitize is enabled\n * @param sanitize Accept public keys in other formats\n */ var $d42806dba2e311ba$var$pubToAddress = function(pubKey, sanitize) {\n if (sanitize === void 0) sanitize = false;\n (0, $7jIKp.assertIsBuffer)(pubKey);\n if (sanitize && pubKey.length !== 64) pubKey = $d42806dba2e311ba$require$Buffer.from((0, $iET4t.publicKeyConvert)(pubKey, false).slice(1));\n (0, $d42806dba2e311ba$var$assert_1.default)(pubKey.length === 64);\n // Only take the lower 160bits of the hash\n return (0, $gKSHR.keccak)(pubKey).slice(-20);\n};\nmodule.exports.pubToAddress = $d42806dba2e311ba$var$pubToAddress;\nmodule.exports.publicToAddress = module.exports.pubToAddress;\n/**\n * Returns the ethereum public key of a given private key.\n * @param privateKey A private key must be 256 bits wide\n */ var $d42806dba2e311ba$var$privateToPublic = function(privateKey) {\n (0, $7jIKp.assertIsBuffer)(privateKey);\n // skip the type flag and use the X, Y points\n return $d42806dba2e311ba$require$Buffer.from((0, $iET4t.publicKeyCreate)(privateKey, false)).slice(1);\n};\nmodule.exports.privateToPublic = $d42806dba2e311ba$var$privateToPublic;\n/**\n * Returns the ethereum address of a given private key.\n * @param privateKey A private key must be 256 bits wide\n */ var $d42806dba2e311ba$var$privateToAddress = function(privateKey) {\n return (0, module.exports.publicToAddress)((0, module.exports.privateToPublic)(privateKey));\n};\nmodule.exports.privateToAddress = $d42806dba2e311ba$var$privateToAddress;\n/**\n * Converts a public key to the Ethereum format.\n */ var $d42806dba2e311ba$var$importPublic = function(publicKey) {\n (0, $7jIKp.assertIsBuffer)(publicKey);\n if (publicKey.length !== 64) publicKey = $d42806dba2e311ba$require$Buffer.from((0, $iET4t.publicKeyConvert)(publicKey, false).slice(1));\n return publicKey;\n};\nmodule.exports.importPublic = $d42806dba2e311ba$var$importPublic;\n/**\n * Returns the zero address.\n */ var $d42806dba2e311ba$var$zeroAddress = function() {\n var addressLength = 20;\n var addr = (0, $b61lJ.zeros)(addressLength);\n return (0, $b61lJ.bufferToHex)(addr);\n};\nmodule.exports.zeroAddress = $d42806dba2e311ba$var$zeroAddress;\n/**\n * Checks if a given address is the zero address.\n */ var $d42806dba2e311ba$var$isZeroAddress = function(hexAddress) {\n try {\n (0, $7jIKp.assertIsString)(hexAddress);\n } catch (e) {\n return false;\n }\n var zeroAddr = (0, module.exports.zeroAddress)();\n return zeroAddr === hexAddress;\n};\nmodule.exports.isZeroAddress = $d42806dba2e311ba$var$isZeroAddress;\n\n});\nparcelRequire.register(\"aLUwE\", function(module, exports) {\n// Currently in sync with Node.js lib/assert.js\n// https://github.com/nodejs/node/commit/2a51ae424a513ec9a6aa3466baa0cc1d55dd4f3b\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar $hPtJY = parcelRequire(\"hPtJY\");\n\"use strict\";\nfunction $7d7a23f7babfddb7$var$_typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") $7d7a23f7babfddb7$var$_typeof = function _typeof(obj) {\n return typeof obj;\n };\n else $7d7a23f7babfddb7$var$_typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n return $7d7a23f7babfddb7$var$_typeof(obj);\n}\nfunction $7d7a23f7babfddb7$var$_classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\nvar $cCihK = parcelRequire(\"cCihK\");\nvar $7d7a23f7babfddb7$var$_require$codes = $cCihK.codes, $7d7a23f7babfddb7$var$ERR_AMBIGUOUS_ARGUMENT = $7d7a23f7babfddb7$var$_require$codes.ERR_AMBIGUOUS_ARGUMENT, $7d7a23f7babfddb7$var$ERR_INVALID_ARG_TYPE = $7d7a23f7babfddb7$var$_require$codes.ERR_INVALID_ARG_TYPE, $7d7a23f7babfddb7$var$ERR_INVALID_ARG_VALUE = $7d7a23f7babfddb7$var$_require$codes.ERR_INVALID_ARG_VALUE, $7d7a23f7babfddb7$var$ERR_INVALID_RETURN_VALUE = $7d7a23f7babfddb7$var$_require$codes.ERR_INVALID_RETURN_VALUE, $7d7a23f7babfddb7$var$ERR_MISSING_ARGS = $7d7a23f7babfddb7$var$_require$codes.ERR_MISSING_ARGS;\n\nvar $8pS6q = parcelRequire(\"8pS6q\");\n\nvar $N7Lcz = parcelRequire(\"N7Lcz\");\nvar $7d7a23f7babfddb7$var$inspect = $N7Lcz.inspect;\n\nvar $N7Lcz = parcelRequire(\"N7Lcz\");\nvar $7d7a23f7babfddb7$require$_require$types = $N7Lcz.types;\nvar $7d7a23f7babfddb7$var$isPromise = $7d7a23f7babfddb7$require$_require$types.isPromise, $7d7a23f7babfddb7$var$isRegExp = $7d7a23f7babfddb7$require$_require$types.isRegExp;\n\nvar $7d7a23f7babfddb7$var$objectAssign = Object.assign ? Object.assign : (parcelRequire(\"dYBnA\")).assign;\n\nvar $7d7a23f7babfddb7$var$objectIs = Object.is ? Object.is : (parcelRequire(\"eT9RM\"));\nvar $7d7a23f7babfddb7$var$errorCache = new Map();\nvar $7d7a23f7babfddb7$var$isDeepEqual;\nvar $7d7a23f7babfddb7$var$isDeepStrictEqual;\nvar $7d7a23f7babfddb7$var$parseExpressionAt;\nvar $7d7a23f7babfddb7$var$findNodeAround;\nvar $7d7a23f7babfddb7$var$decoder;\n\nfunction $7d7a23f7babfddb7$var$lazyLoadComparison() {\n var comparison = (parcelRequire(\"3LKhK\"));\n $7d7a23f7babfddb7$var$isDeepEqual = comparison.isDeepEqual;\n $7d7a23f7babfddb7$var$isDeepStrictEqual = comparison.isDeepStrictEqual;\n} // Escape control characters but not \\n and \\t to keep the line breaks and\n// indentation intact.\n// eslint-disable-next-line no-control-regex\nvar $7d7a23f7babfddb7$var$escapeSequencesRegExp = /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]/g;\nvar $7d7a23f7babfddb7$var$meta = [\n \"\\\\u0000\",\n \"\\\\u0001\",\n \"\\\\u0002\",\n \"\\\\u0003\",\n \"\\\\u0004\",\n \"\\\\u0005\",\n \"\\\\u0006\",\n \"\\\\u0007\",\n \"\\\\b\",\n \"\",\n \"\",\n \"\\\\u000b\",\n \"\\\\f\",\n \"\",\n \"\\\\u000e\",\n \"\\\\u000f\",\n \"\\\\u0010\",\n \"\\\\u0011\",\n \"\\\\u0012\",\n \"\\\\u0013\",\n \"\\\\u0014\",\n \"\\\\u0015\",\n \"\\\\u0016\",\n \"\\\\u0017\",\n \"\\\\u0018\",\n \"\\\\u0019\",\n \"\\\\u001a\",\n \"\\\\u001b\",\n \"\\\\u001c\",\n \"\\\\u001d\",\n \"\\\\u001e\",\n \"\\\\u001f\"\n];\nvar $7d7a23f7babfddb7$var$escapeFn = function escapeFn(str) {\n return $7d7a23f7babfddb7$var$meta[str.charCodeAt(0)];\n};\nvar $7d7a23f7babfddb7$var$warned = false; // The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\nvar $7d7a23f7babfddb7$var$assert = module.exports = $7d7a23f7babfddb7$var$ok;\nvar $7d7a23f7babfddb7$var$NO_EXCEPTION_SENTINEL = {}; // All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\nfunction $7d7a23f7babfddb7$var$innerFail(obj) {\n if (obj.message instanceof Error) throw obj.message;\n throw new $8pS6q(obj);\n}\nfunction $7d7a23f7babfddb7$var$fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length;\n var internalMessage;\n if (argsLen === 0) internalMessage = \"Failed\";\n else if (argsLen === 1) {\n message = actual;\n actual = undefined;\n } else {\n if ($7d7a23f7babfddb7$var$warned === false) {\n $7d7a23f7babfddb7$var$warned = true;\n var warn = $hPtJY.emitWarning ? $hPtJY.emitWarning : console.warn.bind(console);\n warn(\"assert.fail() with more than one argument is deprecated. Please use assert.strictEqual() instead or only pass a message.\", \"DeprecationWarning\", \"DEP0094\");\n }\n if (argsLen === 2) operator = \"!=\";\n }\n if (message instanceof Error) throw message;\n var errArgs = {\n actual: actual,\n expected: expected,\n operator: operator === undefined ? \"fail\" : operator,\n stackStartFn: stackStartFn || $7d7a23f7babfddb7$var$fail\n };\n if (message !== undefined) errArgs.message = message;\n var err = new $8pS6q(errArgs);\n if (internalMessage) {\n err.message = internalMessage;\n err.generatedMessage = true;\n }\n throw err;\n}\n$7d7a23f7babfddb7$var$assert.fail = $7d7a23f7babfddb7$var$fail; // The AssertionError is defined in internal/error.\n$7d7a23f7babfddb7$var$assert.AssertionError = $8pS6q;\nfunction $7d7a23f7babfddb7$var$innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = false;\n if (argLen === 0) {\n generatedMessage = true;\n message = \"No value argument passed to `assert.ok()`\";\n } else if (message instanceof Error) throw message;\n var err = new $8pS6q({\n actual: value,\n expected: true,\n message: message,\n operator: \"==\",\n stackStartFn: fn\n });\n err.generatedMessage = generatedMessage;\n throw err;\n }\n} // Pure assertion tests whether a value is truthy, as determined\n// by !!value.\nfunction $7d7a23f7babfddb7$var$ok() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++)args[_key] = arguments[_key];\n $7d7a23f7babfddb7$var$innerOk.apply(void 0, [\n $7d7a23f7babfddb7$var$ok,\n args.length\n ].concat(args));\n}\n$7d7a23f7babfddb7$var$assert.ok = $7d7a23f7babfddb7$var$ok; // The equality assertion tests shallow, coercive equality with ==.\n/* eslint-disable no-restricted-properties */ $7d7a23f7babfddb7$var$assert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2) throw new $7d7a23f7babfddb7$var$ERR_MISSING_ARGS(\"actual\", \"expected\");\n // eslint-disable-next-line eqeqeq\n if (actual != expected) $7d7a23f7babfddb7$var$innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: \"==\",\n stackStartFn: equal\n });\n}; // The non-equality assertion tests for whether two objects are not\n// equal with !=.\n$7d7a23f7babfddb7$var$assert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2) throw new $7d7a23f7babfddb7$var$ERR_MISSING_ARGS(\"actual\", \"expected\");\n // eslint-disable-next-line eqeqeq\n if (actual == expected) $7d7a23f7babfddb7$var$innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: \"!=\",\n stackStartFn: notEqual\n });\n}; // The equivalence assertion tests a deep equality relation.\n$7d7a23f7babfddb7$var$assert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2) throw new $7d7a23f7babfddb7$var$ERR_MISSING_ARGS(\"actual\", \"expected\");\n if ($7d7a23f7babfddb7$var$isDeepEqual === undefined) $7d7a23f7babfddb7$var$lazyLoadComparison();\n if (!$7d7a23f7babfddb7$var$isDeepEqual(actual, expected)) $7d7a23f7babfddb7$var$innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: \"deepEqual\",\n stackStartFn: deepEqual\n });\n}; // The non-equivalence assertion tests for any deep inequality.\n$7d7a23f7babfddb7$var$assert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2) throw new $7d7a23f7babfddb7$var$ERR_MISSING_ARGS(\"actual\", \"expected\");\n if ($7d7a23f7babfddb7$var$isDeepEqual === undefined) $7d7a23f7babfddb7$var$lazyLoadComparison();\n if ($7d7a23f7babfddb7$var$isDeepEqual(actual, expected)) $7d7a23f7babfddb7$var$innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: \"notDeepEqual\",\n stackStartFn: notDeepEqual\n });\n};\n/* eslint-enable */ $7d7a23f7babfddb7$var$assert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) throw new $7d7a23f7babfddb7$var$ERR_MISSING_ARGS(\"actual\", \"expected\");\n if ($7d7a23f7babfddb7$var$isDeepEqual === undefined) $7d7a23f7babfddb7$var$lazyLoadComparison();\n if (!$7d7a23f7babfddb7$var$isDeepStrictEqual(actual, expected)) $7d7a23f7babfddb7$var$innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: \"deepStrictEqual\",\n stackStartFn: deepStrictEqual\n });\n};\n$7d7a23f7babfddb7$var$assert.notDeepStrictEqual = $7d7a23f7babfddb7$var$notDeepStrictEqual;\nfunction $7d7a23f7babfddb7$var$notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) throw new $7d7a23f7babfddb7$var$ERR_MISSING_ARGS(\"actual\", \"expected\");\n if ($7d7a23f7babfddb7$var$isDeepEqual === undefined) $7d7a23f7babfddb7$var$lazyLoadComparison();\n if ($7d7a23f7babfddb7$var$isDeepStrictEqual(actual, expected)) $7d7a23f7babfddb7$var$innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: \"notDeepStrictEqual\",\n stackStartFn: $7d7a23f7babfddb7$var$notDeepStrictEqual\n });\n}\n$7d7a23f7babfddb7$var$assert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2) throw new $7d7a23f7babfddb7$var$ERR_MISSING_ARGS(\"actual\", \"expected\");\n if (!$7d7a23f7babfddb7$var$objectIs(actual, expected)) $7d7a23f7babfddb7$var$innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: \"strictEqual\",\n stackStartFn: strictEqual\n });\n};\n$7d7a23f7babfddb7$var$assert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2) throw new $7d7a23f7babfddb7$var$ERR_MISSING_ARGS(\"actual\", \"expected\");\n if ($7d7a23f7babfddb7$var$objectIs(actual, expected)) $7d7a23f7babfddb7$var$innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: \"notStrictEqual\",\n stackStartFn: notStrictEqual\n });\n};\nvar $7d7a23f7babfddb7$var$Comparison = function Comparison(obj, keys, actual) {\n var _this = this;\n $7d7a23f7babfddb7$var$_classCallCheck(this, Comparison);\n keys.forEach(function(key) {\n if (key in obj) {\n if (actual !== undefined && typeof actual[key] === \"string\" && $7d7a23f7babfddb7$var$isRegExp(obj[key]) && obj[key].test(actual[key])) _this[key] = actual[key];\n else _this[key] = obj[key];\n }\n });\n};\nfunction $7d7a23f7babfddb7$var$compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !$7d7a23f7babfddb7$var$isDeepStrictEqual(actual[key], expected[key])) {\n if (!message) {\n // Create placeholder objects to create a nice output.\n var a = new $7d7a23f7babfddb7$var$Comparison(actual, keys);\n var b = new $7d7a23f7babfddb7$var$Comparison(expected, keys, actual);\n var err = new $8pS6q({\n actual: a,\n expected: b,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n err.actual = actual;\n err.expected = expected;\n err.operator = fn.name;\n throw err;\n }\n $7d7a23f7babfddb7$var$innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n}\nfunction $7d7a23f7babfddb7$var$expectedException(actual, expected, msg, fn) {\n if (typeof expected !== \"function\") {\n if ($7d7a23f7babfddb7$var$isRegExp(expected)) return expected.test(actual); // assert.doesNotThrow does not accept objects.\n if (arguments.length === 2) throw new $7d7a23f7babfddb7$var$ERR_INVALID_ARG_TYPE(\"expected\", [\n \"Function\",\n \"RegExp\"\n ], expected);\n // Handle primitives properly.\n if ($7d7a23f7babfddb7$var$_typeof(actual) !== \"object\" || actual === null) {\n var err = new $8pS6q({\n actual: actual,\n expected: expected,\n message: msg,\n operator: \"deepStrictEqual\",\n stackStartFn: fn\n });\n err.operator = fn.name;\n throw err;\n }\n var keys = Object.keys(expected); // Special handle errors to make sure the name and the message are compared\n // as well.\n if (expected instanceof Error) keys.push(\"name\", \"message\");\n else if (keys.length === 0) throw new $7d7a23f7babfddb7$var$ERR_INVALID_ARG_VALUE(\"error\", expected, \"may not be an empty object\");\n if ($7d7a23f7babfddb7$var$isDeepEqual === undefined) $7d7a23f7babfddb7$var$lazyLoadComparison();\n keys.forEach(function(key) {\n if (typeof actual[key] === \"string\" && $7d7a23f7babfddb7$var$isRegExp(expected[key]) && expected[key].test(actual[key])) return;\n $7d7a23f7babfddb7$var$compareExceptionKey(actual, expected, key, msg, keys, fn);\n });\n return true;\n } // Guard instanceof against arrow functions as they don't have a prototype.\n if (expected.prototype !== undefined && actual instanceof expected) return true;\n if (Error.isPrototypeOf(expected)) return false;\n return expected.call({}, actual) === true;\n}\nfunction $7d7a23f7babfddb7$var$getActual(fn) {\n if (typeof fn !== \"function\") throw new $7d7a23f7babfddb7$var$ERR_INVALID_ARG_TYPE(\"fn\", \"Function\", fn);\n try {\n fn();\n } catch (e) {\n return e;\n }\n return $7d7a23f7babfddb7$var$NO_EXCEPTION_SENTINEL;\n}\nfunction $7d7a23f7babfddb7$var$checkIsPromise(obj) {\n // Accept native ES6 promises and promises that are implemented in a similar\n // way. Do not accept thenables that use a function as `obj` and that have no\n // `catch` handler.\n // TODO: thenables are checked up until they have the correct methods,\n // but according to documentation, the `then` method should receive\n // the `fulfill` and `reject` arguments as well or it may be never resolved.\n return $7d7a23f7babfddb7$var$isPromise(obj) || obj !== null && $7d7a23f7babfddb7$var$_typeof(obj) === \"object\" && typeof obj.then === \"function\" && typeof obj.catch === \"function\";\n}\nfunction $7d7a23f7babfddb7$var$waitForActual(promiseFn) {\n return Promise.resolve().then(function() {\n var resultPromise;\n if (typeof promiseFn === \"function\") {\n // Return a rejected promise if `promiseFn` throws synchronously.\n resultPromise = promiseFn(); // Fail in case no promise is returned.\n if (!$7d7a23f7babfddb7$var$checkIsPromise(resultPromise)) throw new $7d7a23f7babfddb7$var$ERR_INVALID_RETURN_VALUE(\"instance of Promise\", \"promiseFn\", resultPromise);\n } else if ($7d7a23f7babfddb7$var$checkIsPromise(promiseFn)) resultPromise = promiseFn;\n else throw new $7d7a23f7babfddb7$var$ERR_INVALID_ARG_TYPE(\"promiseFn\", [\n \"Function\",\n \"Promise\"\n ], promiseFn);\n return Promise.resolve().then(function() {\n return resultPromise;\n }).then(function() {\n return $7d7a23f7babfddb7$var$NO_EXCEPTION_SENTINEL;\n }).catch(function(e) {\n return e;\n });\n });\n}\nfunction $7d7a23f7babfddb7$var$expectsError(stackStartFn, actual, error, message) {\n if (typeof error === \"string\") {\n if (arguments.length === 4) throw new $7d7a23f7babfddb7$var$ERR_INVALID_ARG_TYPE(\"error\", [\n \"Object\",\n \"Error\",\n \"Function\",\n \"RegExp\"\n ], error);\n if ($7d7a23f7babfddb7$var$_typeof(actual) === \"object\" && actual !== null) {\n if (actual.message === error) throw new $7d7a23f7babfddb7$var$ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error message \"'.concat(actual.message, '\" is identical to the message.'));\n } else if (actual === error) throw new $7d7a23f7babfddb7$var$ERR_AMBIGUOUS_ARGUMENT(\"error/message\", 'The error \"'.concat(actual, '\" is identical to the message.'));\n message = error;\n error = undefined;\n } else if (error != null && $7d7a23f7babfddb7$var$_typeof(error) !== \"object\" && typeof error !== \"function\") throw new $7d7a23f7babfddb7$var$ERR_INVALID_ARG_TYPE(\"error\", [\n \"Object\",\n \"Error\",\n \"Function\",\n \"RegExp\"\n ], error);\n if (actual === $7d7a23f7babfddb7$var$NO_EXCEPTION_SENTINEL) {\n var details = \"\";\n if (error && error.name) details += \" (\".concat(error.name, \")\");\n details += message ? \": \".concat(message) : \".\";\n var fnType = stackStartFn.name === \"rejects\" ? \"rejection\" : \"exception\";\n $7d7a23f7babfddb7$var$innerFail({\n actual: undefined,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn: stackStartFn\n });\n }\n if (error && !$7d7a23f7babfddb7$var$expectedException(actual, error, message, stackStartFn)) throw actual;\n}\nfunction $7d7a23f7babfddb7$var$expectsNoError(stackStartFn, actual, error, message) {\n if (actual === $7d7a23f7babfddb7$var$NO_EXCEPTION_SENTINEL) return;\n if (typeof error === \"string\") {\n message = error;\n error = undefined;\n }\n if (!error || $7d7a23f7babfddb7$var$expectedException(actual, error)) {\n var details = message ? \": \".concat(message) : \".\";\n var fnType = stackStartFn.name === \"doesNotReject\" ? \"rejection\" : \"exception\";\n $7d7a23f7babfddb7$var$innerFail({\n actual: actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, \"\\n\") + 'Actual message: \"'.concat(actual && actual.message, '\"'),\n stackStartFn: stackStartFn\n });\n }\n throw actual;\n}\n$7d7a23f7babfddb7$var$assert.throws = function throws(promiseFn) {\n for(var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++)args[_key2 - 1] = arguments[_key2];\n $7d7a23f7babfddb7$var$expectsError.apply(void 0, [\n throws,\n $7d7a23f7babfddb7$var$getActual(promiseFn)\n ].concat(args));\n};\n$7d7a23f7babfddb7$var$assert.rejects = function rejects(promiseFn) {\n for(var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++)args[_key3 - 1] = arguments[_key3];\n return $7d7a23f7babfddb7$var$waitForActual(promiseFn).then(function(result) {\n return $7d7a23f7babfddb7$var$expectsError.apply(void 0, [\n rejects,\n result\n ].concat(args));\n });\n};\n$7d7a23f7babfddb7$var$assert.doesNotThrow = function doesNotThrow(fn) {\n for(var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++)args[_key4 - 1] = arguments[_key4];\n $7d7a23f7babfddb7$var$expectsNoError.apply(void 0, [\n doesNotThrow,\n $7d7a23f7babfddb7$var$getActual(fn)\n ].concat(args));\n};\n$7d7a23f7babfddb7$var$assert.doesNotReject = function doesNotReject(fn) {\n for(var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++)args[_key5 - 1] = arguments[_key5];\n return $7d7a23f7babfddb7$var$waitForActual(fn).then(function(result) {\n return $7d7a23f7babfddb7$var$expectsNoError.apply(void 0, [\n doesNotReject,\n result\n ].concat(args));\n });\n};\n$7d7a23f7babfddb7$var$assert.ifError = function ifError(err) {\n if (err !== null && err !== undefined) {\n var message = \"ifError got unwanted exception: \";\n if ($7d7a23f7babfddb7$var$_typeof(err) === \"object\" && typeof err.message === \"string\") {\n if (err.message.length === 0 && err.constructor) message += err.constructor.name;\n else message += err.message;\n } else message += $7d7a23f7babfddb7$var$inspect(err);\n var newErr = new $8pS6q({\n actual: err,\n expected: null,\n operator: \"ifError\",\n message: message,\n stackStartFn: ifError\n }); // Make sure we actually have a stack trace!\n var origStack = err.stack;\n if (typeof origStack === \"string\") {\n // This will remove any duplicated frames from the error frames taken\n // from within `ifError` and add the original error frames to the newly\n // created ones.\n var tmp2 = origStack.split(\"\\n\");\n tmp2.shift(); // Filter all frames existing in err.stack.\n var tmp1 = newErr.stack.split(\"\\n\");\n for(var i = 0; i < tmp2.length; i++){\n // Find the first occurrence of the frame.\n var pos = tmp1.indexOf(tmp2[i]);\n if (pos !== -1) {\n // Only keep new frames.\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n newErr.stack = \"\".concat(tmp1.join(\"\\n\"), \"\\n\").concat(tmp2.join(\"\\n\"));\n }\n throw newErr;\n }\n}; // Expose a strict only variant of assert\nfunction $7d7a23f7babfddb7$var$strict() {\n for(var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++)args[_key6] = arguments[_key6];\n $7d7a23f7babfddb7$var$innerOk.apply(void 0, [\n $7d7a23f7babfddb7$var$strict,\n args.length\n ].concat(args));\n}\n$7d7a23f7babfddb7$var$assert.strict = $7d7a23f7babfddb7$var$objectAssign($7d7a23f7babfddb7$var$strict, $7d7a23f7babfddb7$var$assert, {\n equal: $7d7a23f7babfddb7$var$assert.strictEqual,\n deepEqual: $7d7a23f7babfddb7$var$assert.deepStrictEqual,\n notEqual: $7d7a23f7babfddb7$var$assert.notStrictEqual,\n notDeepEqual: $7d7a23f7babfddb7$var$assert.notDeepStrictEqual\n});\n$7d7a23f7babfddb7$var$assert.strict.strict = $7d7a23f7babfddb7$var$assert.strict;\n\n});\nparcelRequire.register(\"hPtJY\", function(module, exports) {\n// shim for using process in browser\nvar $cfae44f0dfdf62c0$var$process = module.exports = {};\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\nvar $cfae44f0dfdf62c0$var$cachedSetTimeout;\nvar $cfae44f0dfdf62c0$var$cachedClearTimeout;\nfunction $cfae44f0dfdf62c0$var$defaultSetTimout() {\n throw new Error(\"setTimeout has not been defined\");\n}\nfunction $cfae44f0dfdf62c0$var$defaultClearTimeout() {\n throw new Error(\"clearTimeout has not been defined\");\n}\n(function() {\n try {\n if (typeof setTimeout === \"function\") $cfae44f0dfdf62c0$var$cachedSetTimeout = setTimeout;\n else $cfae44f0dfdf62c0$var$cachedSetTimeout = $cfae44f0dfdf62c0$var$defaultSetTimout;\n } catch (e) {\n $cfae44f0dfdf62c0$var$cachedSetTimeout = $cfae44f0dfdf62c0$var$defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === \"function\") $cfae44f0dfdf62c0$var$cachedClearTimeout = clearTimeout;\n else $cfae44f0dfdf62c0$var$cachedClearTimeout = $cfae44f0dfdf62c0$var$defaultClearTimeout;\n } catch (e) {\n $cfae44f0dfdf62c0$var$cachedClearTimeout = $cfae44f0dfdf62c0$var$defaultClearTimeout;\n }\n})();\nfunction $cfae44f0dfdf62c0$var$runTimeout(fun) {\n if ($cfae44f0dfdf62c0$var$cachedSetTimeout === setTimeout) //normal enviroments in sane situations\n return setTimeout(fun, 0);\n // if setTimeout wasn't available but was latter defined\n if (($cfae44f0dfdf62c0$var$cachedSetTimeout === $cfae44f0dfdf62c0$var$defaultSetTimout || !$cfae44f0dfdf62c0$var$cachedSetTimeout) && setTimeout) {\n $cfae44f0dfdf62c0$var$cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return $cfae44f0dfdf62c0$var$cachedSetTimeout(fun, 0);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return $cfae44f0dfdf62c0$var$cachedSetTimeout.call(null, fun, 0);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return $cfae44f0dfdf62c0$var$cachedSetTimeout.call(this, fun, 0);\n }\n }\n}\nfunction $cfae44f0dfdf62c0$var$runClearTimeout(marker) {\n if ($cfae44f0dfdf62c0$var$cachedClearTimeout === clearTimeout) //normal enviroments in sane situations\n return clearTimeout(marker);\n // if clearTimeout wasn't available but was latter defined\n if (($cfae44f0dfdf62c0$var$cachedClearTimeout === $cfae44f0dfdf62c0$var$defaultClearTimeout || !$cfae44f0dfdf62c0$var$cachedClearTimeout) && clearTimeout) {\n $cfae44f0dfdf62c0$var$cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return $cfae44f0dfdf62c0$var$cachedClearTimeout(marker);\n } catch (e) {\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return $cfae44f0dfdf62c0$var$cachedClearTimeout.call(null, marker);\n } catch (e) {\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return $cfae44f0dfdf62c0$var$cachedClearTimeout.call(this, marker);\n }\n }\n}\nvar $cfae44f0dfdf62c0$var$queue = [];\nvar $cfae44f0dfdf62c0$var$draining = false;\nvar $cfae44f0dfdf62c0$var$currentQueue;\nvar $cfae44f0dfdf62c0$var$queueIndex = -1;\nfunction $cfae44f0dfdf62c0$var$cleanUpNextTick() {\n if (!$cfae44f0dfdf62c0$var$draining || !$cfae44f0dfdf62c0$var$currentQueue) return;\n $cfae44f0dfdf62c0$var$draining = false;\n if ($cfae44f0dfdf62c0$var$currentQueue.length) $cfae44f0dfdf62c0$var$queue = $cfae44f0dfdf62c0$var$currentQueue.concat($cfae44f0dfdf62c0$var$queue);\n else $cfae44f0dfdf62c0$var$queueIndex = -1;\n if ($cfae44f0dfdf62c0$var$queue.length) $cfae44f0dfdf62c0$var$drainQueue();\n}\nfunction $cfae44f0dfdf62c0$var$drainQueue() {\n if ($cfae44f0dfdf62c0$var$draining) return;\n var timeout = $cfae44f0dfdf62c0$var$runTimeout($cfae44f0dfdf62c0$var$cleanUpNextTick);\n $cfae44f0dfdf62c0$var$draining = true;\n var len = $cfae44f0dfdf62c0$var$queue.length;\n while(len){\n $cfae44f0dfdf62c0$var$currentQueue = $cfae44f0dfdf62c0$var$queue;\n $cfae44f0dfdf62c0$var$queue = [];\n while(++$cfae44f0dfdf62c0$var$queueIndex < len)if ($cfae44f0dfdf62c0$var$currentQueue) $cfae44f0dfdf62c0$var$currentQueue[$cfae44f0dfdf62c0$var$queueIndex].run();\n $cfae44f0dfdf62c0$var$queueIndex = -1;\n len = $cfae44f0dfdf62c0$var$queue.length;\n }\n $cfae44f0dfdf62c0$var$currentQueue = null;\n $cfae44f0dfdf62c0$var$draining = false;\n $cfae44f0dfdf62c0$var$runClearTimeout(timeout);\n}\n$cfae44f0dfdf62c0$var$process.nextTick = function(fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) for(var i = 1; i < arguments.length; i++)args[i - 1] = arguments[i];\n $cfae44f0dfdf62c0$var$queue.push(new $cfae44f0dfdf62c0$var$Item(fun, args));\n if ($cfae44f0dfdf62c0$var$queue.length === 1 && !$cfae44f0dfdf62c0$var$draining) $cfae44f0dfdf62c0$var$runTimeout($cfae44f0dfdf62c0$var$drainQueue);\n};\n// v8 likes predictible objects\nfunction $cfae44f0dfdf62c0$var$Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n$cfae44f0dfdf62c0$var$Item.prototype.run = function() {\n this.fun.apply(null, this.array);\n};\n$cfae44f0dfdf62c0$var$process.title = \"browser\";\n$cfae44f0dfdf62c0$var$process.browser = true;\n$cfae44f0dfdf62c0$var$process.env = {};\n$cfae44f0dfdf62c0$var$process.argv = [];\n$cfae44f0dfdf62c0$var$process.version = \"\"; // empty string to avoid regexp issues\n$cfae44f0dfdf62c0$var$process.versions = {};\nfunction $cfae44f0dfdf62c0$var$noop() {}\n$cfae44f0dfdf62c0$var$process.on = $cfae44f0dfdf62c0$var$noop;\n$cfae44f0dfdf62c0$var$process.addListener = $cfae44f0dfdf62c0$var$noop;\n$cfae44f0dfdf62c0$var$process.once = $cfae44f0dfdf62c0$var$noop;\n$cfae44f0dfdf62c0$var$process.off = $cfae44f0dfdf62c0$var$noop;\n$cfae44f0dfdf62c0$var$process.removeListener = $cfae44f0dfdf62c0$var$noop;\n$cfae44f0dfdf62c0$var$process.removeAllListeners = $cfae44f0dfdf62c0$var$noop;\n$cfae44f0dfdf62c0$var$process.emit = $cfae44f0dfdf62c0$var$noop;\n$cfae44f0dfdf62c0$var$process.prependListener = $cfae44f0dfdf62c0$var$noop;\n$cfae44f0dfdf62c0$var$process.prependOnceListener = $cfae44f0dfdf62c0$var$noop;\n$cfae44f0dfdf62c0$var$process.listeners = function(name) {\n return [];\n};\n$cfae44f0dfdf62c0$var$process.binding = function(name) {\n throw new Error(\"process.binding is not supported\");\n};\n$cfae44f0dfdf62c0$var$process.cwd = function() {\n return \"/\";\n};\n$cfae44f0dfdf62c0$var$process.chdir = function(dir) {\n throw new Error(\"process.chdir is not supported\");\n};\n$cfae44f0dfdf62c0$var$process.umask = function() {\n return 0;\n};\n\n});\n\nparcelRequire.register(\"cCihK\", function(module, exports) {\n\n$parcel$export(module.exports, \"codes\", () => $92f737b1c63f6b54$export$e45cb6485273080e, (v) => $92f737b1c63f6b54$export$e45cb6485273080e = v);\n// Currently in sync with Node.js lib/internal/errors.js\n// https://github.com/nodejs/node/commit/3b044962c48fe313905877a96b5d0894a5404f6f\n/* eslint node-core/documented-errors: \"error\" */ /* eslint node-core/alphabetize-errors: \"error\" */ /* eslint node-core/prefer-util-format-errors: \"error\" */ var $92f737b1c63f6b54$export$e45cb6485273080e;\n\"use strict\"; // The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\nfunction $92f737b1c63f6b54$var$_typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") $92f737b1c63f6b54$var$_typeof = function _typeof(obj) {\n return typeof obj;\n };\n else $92f737b1c63f6b54$var$_typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n return $92f737b1c63f6b54$var$_typeof(obj);\n}\nfunction $92f737b1c63f6b54$var$_classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction $92f737b1c63f6b54$var$_possibleConstructorReturn(self, call) {\n if (call && ($92f737b1c63f6b54$var$_typeof(call) === \"object\" || typeof call === \"function\")) return call;\n return $92f737b1c63f6b54$var$_assertThisInitialized(self);\n}\nfunction $92f737b1c63f6b54$var$_assertThisInitialized(self) {\n if (self === void 0) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n}\nfunction $92f737b1c63f6b54$var$_getPrototypeOf(o) {\n $92f737b1c63f6b54$var$_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return $92f737b1c63f6b54$var$_getPrototypeOf(o);\n}\nfunction $92f737b1c63f6b54$var$_inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) throw new TypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) $92f737b1c63f6b54$var$_setPrototypeOf(subClass, superClass);\n}\nfunction $92f737b1c63f6b54$var$_setPrototypeOf(o, p) {\n $92f737b1c63f6b54$var$_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return $92f737b1c63f6b54$var$_setPrototypeOf(o, p);\n}\nvar $92f737b1c63f6b54$var$codes = {}; // Lazy loaded\nvar $92f737b1c63f6b54$var$assert;\nvar $92f737b1c63f6b54$var$util;\nfunction $92f737b1c63f6b54$var$createErrorType(code, message, Base) {\n if (!Base) Base = Error;\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === \"string\") return message;\n else return message(arg1, arg2, arg3);\n }\n var NodeError = /*#__PURE__*/ function(_Base) {\n $92f737b1c63f6b54$var$_inherits(NodeError, _Base);\n function NodeError(arg1, arg2, arg3) {\n var _this;\n $92f737b1c63f6b54$var$_classCallCheck(this, NodeError);\n _this = $92f737b1c63f6b54$var$_possibleConstructorReturn(this, $92f737b1c63f6b54$var$_getPrototypeOf(NodeError).call(this, getMessage(arg1, arg2, arg3)));\n _this.code = code;\n return _this;\n }\n return NodeError;\n }(Base);\n $92f737b1c63f6b54$var$codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\nfunction $92f737b1c63f6b54$var$oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function(i) {\n return String(i);\n });\n if (len > 2) return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(\", \"), \", or \") + expected[len - 1];\n else if (len === 2) return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n else return \"of \".concat(thing, \" \").concat(expected[0]);\n } else return \"of \".concat(thing, \" \").concat(String(expected));\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\nfunction $92f737b1c63f6b54$var$startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nfunction $92f737b1c63f6b54$var$endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) this_len = str.length;\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\nfunction $92f737b1c63f6b54$var$includes(str, search, start) {\n if (typeof start !== \"number\") start = 0;\n if (start + search.length > str.length) return false;\n else return str.indexOf(search, start) !== -1;\n}\n$92f737b1c63f6b54$var$createErrorType(\"ERR_AMBIGUOUS_ARGUMENT\", 'The \"%s\" argument is ambiguous. %s', TypeError);\n\n$92f737b1c63f6b54$var$createErrorType(\"ERR_INVALID_ARG_TYPE\", function(name, expected, actual) {\n if ($92f737b1c63f6b54$var$assert === undefined) $92f737b1c63f6b54$var$assert = (parcelRequire(\"aLUwE\"));\n $92f737b1c63f6b54$var$assert(typeof name === \"string\", \"'name' must be a string\"); // determiner: 'must be' or 'must not be'\n var determiner;\n if (typeof expected === \"string\" && $92f737b1c63f6b54$var$startsWith(expected, \"not \")) {\n determiner = \"must not be\";\n expected = expected.replace(/^not /, \"\");\n } else determiner = \"must be\";\n var msg;\n if ($92f737b1c63f6b54$var$endsWith(name, \" argument\")) // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat($92f737b1c63f6b54$var$oneOf(expected, \"type\"));\n else {\n var type = $92f737b1c63f6b54$var$includes(name, \".\") ? \"property\" : \"argument\";\n msg = 'The \"'.concat(name, '\" ').concat(type, \" \").concat(determiner, \" \").concat($92f737b1c63f6b54$var$oneOf(expected, \"type\"));\n } // TODO(BridgeAR): Improve the output by showing `null` and similar.\n msg += \". Received type \".concat($92f737b1c63f6b54$var$_typeof(actual));\n return msg;\n}, TypeError);\n\n$92f737b1c63f6b54$var$createErrorType(\"ERR_INVALID_ARG_VALUE\", function(name, value) {\n var reason = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"is invalid\";\n if ($92f737b1c63f6b54$var$util === undefined) $92f737b1c63f6b54$var$util = (parcelRequire(\"N7Lcz\"));\n var inspected = $92f737b1c63f6b54$var$util.inspect(value);\n if (inspected.length > 128) inspected = \"\".concat(inspected.slice(0, 128), \"...\");\n return \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n}, TypeError, RangeError);\n$92f737b1c63f6b54$var$createErrorType(\"ERR_INVALID_RETURN_VALUE\", function(input, name, value) {\n var type;\n if (value && value.constructor && value.constructor.name) type = \"instance of \".concat(value.constructor.name);\n else type = \"type \".concat($92f737b1c63f6b54$var$_typeof(value));\n return \"Expected \".concat(input, ' to be returned from the \"').concat(name, '\"') + \" function but got \".concat(type, \".\");\n}, TypeError);\n\n$92f737b1c63f6b54$var$createErrorType(\"ERR_MISSING_ARGS\", function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++)args[_key] = arguments[_key];\n if ($92f737b1c63f6b54$var$assert === undefined) $92f737b1c63f6b54$var$assert = (parcelRequire(\"aLUwE\"));\n $92f737b1c63f6b54$var$assert(args.length > 0, \"At least one arg needs to be specified\");\n var msg = \"The \";\n var len = args.length;\n args = args.map(function(a) {\n return '\"'.concat(a, '\"');\n });\n switch(len){\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n default:\n msg += args.slice(0, len - 1).join(\", \");\n msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n return \"\".concat(msg, \" must be specified\");\n}, TypeError);\n$92f737b1c63f6b54$export$e45cb6485273080e = $92f737b1c63f6b54$var$codes;\n\n});\nparcelRequire.register(\"N7Lcz\", function(module, exports) {\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar $hPtJY = parcelRequire(\"hPtJY\");\nvar $093a98c17cb6b6b8$var$getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors || function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for(var i = 0; i < keys.length; i++)descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n return descriptors;\n};\nvar $093a98c17cb6b6b8$var$formatRegExp = /%[sdj%]/g;\nmodule.exports.format = function(f) {\n if (!$093a98c17cb6b6b8$var$isString(f)) {\n var objects = [];\n for(var i = 0; i < arguments.length; i++)objects.push($093a98c17cb6b6b8$var$inspect(arguments[i]));\n return objects.join(\" \");\n }\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace($093a98c17cb6b6b8$var$formatRegExp, function(x) {\n if (x === \"%%\") return \"%\";\n if (i >= len) return x;\n switch(x){\n case \"%s\":\n return String(args[i++]);\n case \"%d\":\n return Number(args[i++]);\n case \"%j\":\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return \"[Circular]\";\n }\n default:\n return x;\n }\n });\n for(var x = args[i]; i < len; x = args[++i])if ($093a98c17cb6b6b8$var$isNull(x) || !$093a98c17cb6b6b8$var$isObject(x)) str += \" \" + x;\n else str += \" \" + $093a98c17cb6b6b8$var$inspect(x);\n return str;\n};\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nmodule.exports.deprecate = function(fn, msg) {\n if (typeof $hPtJY !== \"undefined\" && $hPtJY.noDeprecation === true) return fn;\n // Allow for deprecating things in the process of starting up.\n if (typeof $hPtJY === \"undefined\") return function() {\n return module.exports.deprecate(fn, msg).apply(this, arguments);\n };\n var warned = false;\n function deprecated() {\n if (!warned) {\n if ($hPtJY.throwDeprecation) throw new Error(msg);\n else if ($hPtJY.traceDeprecation) console.trace(msg);\n else console.error(msg);\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n return deprecated;\n};\nvar $093a98c17cb6b6b8$var$debugs = {};\nvar $093a98c17cb6b6b8$var$debugEnvRegex = /^$/;\nvar $093a98c17cb6b6b8$var$debugEnv;\nmodule.exports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!$093a98c17cb6b6b8$var$debugs[set]) {\n if ($093a98c17cb6b6b8$var$debugEnvRegex.test(set)) {\n var pid = $hPtJY.pid;\n $093a98c17cb6b6b8$var$debugs[set] = function() {\n var msg = module.exports.format.apply(module.exports, arguments);\n console.error(\"%s %d: %s\", set, pid, msg);\n };\n } else $093a98c17cb6b6b8$var$debugs[set] = function() {};\n }\n return $093a98c17cb6b6b8$var$debugs[set];\n};\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */ /* legacy: obj, showHidden, depth, colors*/ function $093a98c17cb6b6b8$var$inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: $093a98c17cb6b6b8$var$stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if ($093a98c17cb6b6b8$var$isBoolean(opts)) // legacy...\n ctx.showHidden = opts;\n else if (opts) // got an \"options\" object\n module.exports._extend(ctx, opts);\n // set default options\n if ($093a98c17cb6b6b8$var$isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if ($093a98c17cb6b6b8$var$isUndefined(ctx.depth)) ctx.depth = 2;\n if ($093a98c17cb6b6b8$var$isUndefined(ctx.colors)) ctx.colors = false;\n if ($093a98c17cb6b6b8$var$isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = $093a98c17cb6b6b8$var$stylizeWithColor;\n return $093a98c17cb6b6b8$var$formatValue(ctx, obj, ctx.depth);\n}\nmodule.exports.inspect = $093a98c17cb6b6b8$var$inspect;\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\n$093a98c17cb6b6b8$var$inspect.colors = {\n \"bold\": [\n 1,\n 22\n ],\n \"italic\": [\n 3,\n 23\n ],\n \"underline\": [\n 4,\n 24\n ],\n \"inverse\": [\n 7,\n 27\n ],\n \"white\": [\n 37,\n 39\n ],\n \"grey\": [\n 90,\n 39\n ],\n \"black\": [\n 30,\n 39\n ],\n \"blue\": [\n 34,\n 39\n ],\n \"cyan\": [\n 36,\n 39\n ],\n \"green\": [\n 32,\n 39\n ],\n \"magenta\": [\n 35,\n 39\n ],\n \"red\": [\n 31,\n 39\n ],\n \"yellow\": [\n 33,\n 39\n ]\n};\n// Don't use 'blue' not visible on cmd.exe\n$093a98c17cb6b6b8$var$inspect.styles = {\n \"special\": \"cyan\",\n \"number\": \"yellow\",\n \"boolean\": \"yellow\",\n \"undefined\": \"grey\",\n \"null\": \"bold\",\n \"string\": \"green\",\n \"date\": \"magenta\",\n // \"name\": intentionally not styling\n \"regexp\": \"red\"\n};\nfunction $093a98c17cb6b6b8$var$stylizeWithColor(str, styleType) {\n var style = $093a98c17cb6b6b8$var$inspect.styles[styleType];\n if (style) return \"\\x1b[\" + $093a98c17cb6b6b8$var$inspect.colors[style][0] + \"m\" + str + \"\\x1b[\" + $093a98c17cb6b6b8$var$inspect.colors[style][1] + \"m\";\n else return str;\n}\nfunction $093a98c17cb6b6b8$var$stylizeNoColor(str, styleType) {\n return str;\n}\nfunction $093a98c17cb6b6b8$var$arrayToHash(array) {\n var hash = {};\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n return hash;\n}\nfunction $093a98c17cb6b6b8$var$formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect && value && $093a98c17cb6b6b8$var$isFunction(value.inspect) && // Filter out the util module, it's inspect function is special\n value.inspect !== module.exports.inspect && // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!$093a98c17cb6b6b8$var$isString(ret)) ret = $093a98c17cb6b6b8$var$formatValue(ctx, ret, recurseTimes);\n return ret;\n }\n // Primitive types cannot have properties\n var primitive = $093a98c17cb6b6b8$var$formatPrimitive(ctx, value);\n if (primitive) return primitive;\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = $093a98c17cb6b6b8$var$arrayToHash(keys);\n if (ctx.showHidden) keys = Object.getOwnPropertyNames(value);\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if ($093a98c17cb6b6b8$var$isError(value) && (keys.indexOf(\"message\") >= 0 || keys.indexOf(\"description\") >= 0)) return $093a98c17cb6b6b8$var$formatError(value);\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if ($093a98c17cb6b6b8$var$isFunction(value)) {\n var name = value.name ? \": \" + value.name : \"\";\n return ctx.stylize(\"[Function\" + name + \"]\", \"special\");\n }\n if ($093a98c17cb6b6b8$var$isRegExp(value)) return ctx.stylize(RegExp.prototype.toString.call(value), \"regexp\");\n if ($093a98c17cb6b6b8$var$isDate(value)) return ctx.stylize(Date.prototype.toString.call(value), \"date\");\n if ($093a98c17cb6b6b8$var$isError(value)) return $093a98c17cb6b6b8$var$formatError(value);\n }\n var base = \"\", array = false, braces = [\n \"{\",\n \"}\"\n ];\n // Make Array say that they are Array\n if ($093a98c17cb6b6b8$var$isArray(value)) {\n array = true;\n braces = [\n \"[\",\n \"]\"\n ];\n }\n // Make functions say that they are functions\n if ($093a98c17cb6b6b8$var$isFunction(value)) {\n var n = value.name ? \": \" + value.name : \"\";\n base = \" [Function\" + n + \"]\";\n }\n // Make RegExps say that they are RegExps\n if ($093a98c17cb6b6b8$var$isRegExp(value)) base = \" \" + RegExp.prototype.toString.call(value);\n // Make dates with properties first say the date\n if ($093a98c17cb6b6b8$var$isDate(value)) base = \" \" + Date.prototype.toUTCString.call(value);\n // Make error with message first say the error\n if ($093a98c17cb6b6b8$var$isError(value)) base = \" \" + $093a98c17cb6b6b8$var$formatError(value);\n if (keys.length === 0 && (!array || value.length == 0)) return braces[0] + base + braces[1];\n if (recurseTimes < 0) {\n if ($093a98c17cb6b6b8$var$isRegExp(value)) return ctx.stylize(RegExp.prototype.toString.call(value), \"regexp\");\n else return ctx.stylize(\"[Object]\", \"special\");\n }\n ctx.seen.push(value);\n var output;\n if (array) output = $093a98c17cb6b6b8$var$formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n else output = keys.map(function(key) {\n return $093a98c17cb6b6b8$var$formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n ctx.seen.pop();\n return $093a98c17cb6b6b8$var$reduceToSingleString(output, base, braces);\n}\nfunction $093a98c17cb6b6b8$var$formatPrimitive(ctx, value) {\n if ($093a98c17cb6b6b8$var$isUndefined(value)) return ctx.stylize(\"undefined\", \"undefined\");\n if ($093a98c17cb6b6b8$var$isString(value)) {\n var simple = \"'\" + JSON.stringify(value).replace(/^\"|\"$/g, \"\").replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"') + \"'\";\n return ctx.stylize(simple, \"string\");\n }\n if ($093a98c17cb6b6b8$var$isNumber(value)) return ctx.stylize(\"\" + value, \"number\");\n if ($093a98c17cb6b6b8$var$isBoolean(value)) return ctx.stylize(\"\" + value, \"boolean\");\n // For some reason typeof null is \"object\", so special case here.\n if ($093a98c17cb6b6b8$var$isNull(value)) return ctx.stylize(\"null\", \"null\");\n}\nfunction $093a98c17cb6b6b8$var$formatError(value) {\n return \"[\" + Error.prototype.toString.call(value) + \"]\";\n}\nfunction $093a98c17cb6b6b8$var$formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for(var i = 0, l = value.length; i < l; ++i)if ($093a98c17cb6b6b8$var$hasOwnProperty(value, String(i))) output.push($093a98c17cb6b6b8$var$formatProperty(ctx, value, recurseTimes, visibleKeys, String(i), true));\n else output.push(\"\");\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) output.push($093a98c17cb6b6b8$var$formatProperty(ctx, value, recurseTimes, visibleKeys, key, true));\n });\n return output;\n}\nfunction $093a98c17cb6b6b8$var$formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || {\n value: value[key]\n };\n if (desc.get) {\n if (desc.set) str = ctx.stylize(\"[Getter/Setter]\", \"special\");\n else str = ctx.stylize(\"[Getter]\", \"special\");\n } else if (desc.set) str = ctx.stylize(\"[Setter]\", \"special\");\n if (!$093a98c17cb6b6b8$var$hasOwnProperty(visibleKeys, key)) name = \"[\" + key + \"]\";\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if ($093a98c17cb6b6b8$var$isNull(recurseTimes)) str = $093a98c17cb6b6b8$var$formatValue(ctx, desc.value, null);\n else str = $093a98c17cb6b6b8$var$formatValue(ctx, desc.value, recurseTimes - 1);\n if (str.indexOf(\"\\n\") > -1) {\n if (array) str = str.split(\"\\n\").map(function(line) {\n return \" \" + line;\n }).join(\"\\n\").slice(2);\n else str = \"\\n\" + str.split(\"\\n\").map(function(line) {\n return \" \" + line;\n }).join(\"\\n\");\n }\n } else str = ctx.stylize(\"[Circular]\", \"special\");\n }\n if ($093a98c17cb6b6b8$var$isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) return str;\n name = JSON.stringify(\"\" + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, \"name\");\n } else {\n name = name.replace(/'/g, \"\\\\'\").replace(/\\\\\"/g, '\"').replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, \"string\");\n }\n }\n return name + \": \" + str;\n}\nfunction $093a98c17cb6b6b8$var$reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf(\"\\n\") >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, \"\").length + 1;\n }, 0);\n if (length > 60) return braces[0] + (base === \"\" ? \"\" : base + \"\\n \") + \" \" + output.join(\",\\n \") + \" \" + braces[1];\n return braces[0] + base + \" \" + output.join(\", \") + \" \" + braces[1];\n}\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nmodule.exports.types = (parcelRequire(\"7He6T\"));\nfunction $093a98c17cb6b6b8$var$isArray(ar) {\n return Array.isArray(ar);\n}\nmodule.exports.isArray = $093a98c17cb6b6b8$var$isArray;\nfunction $093a98c17cb6b6b8$var$isBoolean(arg) {\n return typeof arg === \"boolean\";\n}\nmodule.exports.isBoolean = $093a98c17cb6b6b8$var$isBoolean;\nfunction $093a98c17cb6b6b8$var$isNull(arg) {\n return arg === null;\n}\nmodule.exports.isNull = $093a98c17cb6b6b8$var$isNull;\nfunction $093a98c17cb6b6b8$var$isNullOrUndefined(arg) {\n return arg == null;\n}\nmodule.exports.isNullOrUndefined = $093a98c17cb6b6b8$var$isNullOrUndefined;\nfunction $093a98c17cb6b6b8$var$isNumber(arg) {\n return typeof arg === \"number\";\n}\nmodule.exports.isNumber = $093a98c17cb6b6b8$var$isNumber;\nfunction $093a98c17cb6b6b8$var$isString(arg) {\n return typeof arg === \"string\";\n}\nmodule.exports.isString = $093a98c17cb6b6b8$var$isString;\nfunction $093a98c17cb6b6b8$var$isSymbol(arg) {\n return typeof arg === \"symbol\";\n}\nmodule.exports.isSymbol = $093a98c17cb6b6b8$var$isSymbol;\nfunction $093a98c17cb6b6b8$var$isUndefined(arg) {\n return arg === void 0;\n}\nmodule.exports.isUndefined = $093a98c17cb6b6b8$var$isUndefined;\nfunction $093a98c17cb6b6b8$var$isRegExp(re) {\n return $093a98c17cb6b6b8$var$isObject(re) && $093a98c17cb6b6b8$var$objectToString(re) === \"[object RegExp]\";\n}\nmodule.exports.isRegExp = $093a98c17cb6b6b8$var$isRegExp;\nmodule.exports.types.isRegExp = $093a98c17cb6b6b8$var$isRegExp;\nfunction $093a98c17cb6b6b8$var$isObject(arg) {\n return typeof arg === \"object\" && arg !== null;\n}\nmodule.exports.isObject = $093a98c17cb6b6b8$var$isObject;\nfunction $093a98c17cb6b6b8$var$isDate(d) {\n return $093a98c17cb6b6b8$var$isObject(d) && $093a98c17cb6b6b8$var$objectToString(d) === \"[object Date]\";\n}\nmodule.exports.isDate = $093a98c17cb6b6b8$var$isDate;\nmodule.exports.types.isDate = $093a98c17cb6b6b8$var$isDate;\nfunction $093a98c17cb6b6b8$var$isError(e) {\n return $093a98c17cb6b6b8$var$isObject(e) && ($093a98c17cb6b6b8$var$objectToString(e) === \"[object Error]\" || e instanceof Error);\n}\nmodule.exports.isError = $093a98c17cb6b6b8$var$isError;\nmodule.exports.types.isNativeError = $093a98c17cb6b6b8$var$isError;\nfunction $093a98c17cb6b6b8$var$isFunction(arg) {\n return typeof arg === \"function\";\n}\nmodule.exports.isFunction = $093a98c17cb6b6b8$var$isFunction;\nfunction $093a98c17cb6b6b8$var$isPrimitive(arg) {\n return arg === null || typeof arg === \"boolean\" || typeof arg === \"number\" || typeof arg === \"string\" || typeof arg === \"symbol\" || // ES6 symbol\n typeof arg === \"undefined\";\n}\nmodule.exports.isPrimitive = $093a98c17cb6b6b8$var$isPrimitive;\n\nmodule.exports.isBuffer = (parcelRequire(\"kotBY\"));\nfunction $093a98c17cb6b6b8$var$objectToString(o) {\n return Object.prototype.toString.call(o);\n}\nfunction $093a98c17cb6b6b8$var$pad(n) {\n return n < 10 ? \"0\" + n.toString(10) : n.toString(10);\n}\nvar $093a98c17cb6b6b8$var$months = [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\",\n \"Nov\",\n \"Dec\"\n];\n// 26 Feb 16:19:34\nfunction $093a98c17cb6b6b8$var$timestamp() {\n var d = new Date();\n var time = [\n $093a98c17cb6b6b8$var$pad(d.getHours()),\n $093a98c17cb6b6b8$var$pad(d.getMinutes()),\n $093a98c17cb6b6b8$var$pad(d.getSeconds())\n ].join(\":\");\n return [\n d.getDate(),\n $093a98c17cb6b6b8$var$months[d.getMonth()],\n time\n ].join(\" \");\n}\n// log is just a thin wrapper to console.log that prepends a timestamp\nmodule.exports.log = function() {\n console.log(\"%s - %s\", $093a98c17cb6b6b8$var$timestamp(), module.exports.format.apply(module.exports, arguments));\n};\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */ module.exports.inherits = (parcelRequire(\"dlqwk\"));\nmodule.exports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !$093a98c17cb6b6b8$var$isObject(add)) return origin;\n var keys = Object.keys(add);\n var i = keys.length;\n while(i--)origin[keys[i]] = add[keys[i]];\n return origin;\n};\nfunction $093a98c17cb6b6b8$var$hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\nvar $093a98c17cb6b6b8$var$kCustomPromisifiedSymbol = typeof Symbol !== \"undefined\" ? Symbol(\"util.promisify.custom\") : undefined;\nmodule.exports.promisify = function promisify(original) {\n if (typeof original !== \"function\") throw new TypeError('The \"original\" argument must be of type Function');\n if ($093a98c17cb6b6b8$var$kCustomPromisifiedSymbol && original[$093a98c17cb6b6b8$var$kCustomPromisifiedSymbol]) {\n var fn = original[$093a98c17cb6b6b8$var$kCustomPromisifiedSymbol];\n if (typeof fn !== \"function\") throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n Object.defineProperty(fn, $093a98c17cb6b6b8$var$kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: false,\n writable: false,\n configurable: true\n });\n return fn;\n }\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function(resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n var args = [];\n for(var i = 0; i < arguments.length; i++)args.push(arguments[i]);\n args.push(function(err, value) {\n if (err) promiseReject(err);\n else promiseResolve(value);\n });\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n return promise;\n }\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n if ($093a98c17cb6b6b8$var$kCustomPromisifiedSymbol) Object.defineProperty(fn, $093a98c17cb6b6b8$var$kCustomPromisifiedSymbol, {\n value: fn,\n enumerable: false,\n writable: false,\n configurable: true\n });\n return Object.defineProperties(fn, $093a98c17cb6b6b8$var$getOwnPropertyDescriptors(original));\n};\nmodule.exports.promisify.custom = $093a98c17cb6b6b8$var$kCustomPromisifiedSymbol;\nfunction $093a98c17cb6b6b8$var$callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error(\"Promise was rejected with a falsy value\");\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\nfunction $093a98c17cb6b6b8$var$callbackify(original) {\n if (typeof original !== \"function\") throw new TypeError('The \"original\" argument must be of type Function');\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for(var i = 0; i < arguments.length; i++)args.push(arguments[i]);\n var maybeCb = args.pop();\n if (typeof maybeCb !== \"function\") throw new TypeError(\"The last argument must be of type Function\");\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args).then(function(ret) {\n $hPtJY.nextTick(cb.bind(null, null, ret));\n }, function(rej) {\n $hPtJY.nextTick($093a98c17cb6b6b8$var$callbackifyOnRejected.bind(null, rej, cb));\n });\n }\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified, $093a98c17cb6b6b8$var$getOwnPropertyDescriptors(original));\n return callbackified;\n}\nmodule.exports.callbackify = $093a98c17cb6b6b8$var$callbackify;\n\n});\nparcelRequire.register(\"7He6T\", function(module, exports) {\n// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\"use strict\";\n\nvar $f4HGZ = parcelRequire(\"f4HGZ\");\n\nvar $5WnCa = parcelRequire(\"5WnCa\");\n\nvar $gJrpv = parcelRequire(\"gJrpv\");\n\nvar $hN833 = parcelRequire(\"hN833\");\nfunction $59a77e8886024a57$var$uncurryThis(f) {\n return f.call.bind(f);\n}\nvar $59a77e8886024a57$var$BigIntSupported = typeof BigInt !== \"undefined\";\nvar $59a77e8886024a57$var$SymbolSupported = typeof Symbol !== \"undefined\";\nvar $59a77e8886024a57$var$ObjectToString = $59a77e8886024a57$var$uncurryThis(Object.prototype.toString);\nvar $59a77e8886024a57$var$numberValue = $59a77e8886024a57$var$uncurryThis(Number.prototype.valueOf);\nvar $59a77e8886024a57$var$stringValue = $59a77e8886024a57$var$uncurryThis(String.prototype.valueOf);\nvar $59a77e8886024a57$var$booleanValue = $59a77e8886024a57$var$uncurryThis(Boolean.prototype.valueOf);\nif ($59a77e8886024a57$var$BigIntSupported) var $59a77e8886024a57$var$bigIntValue = $59a77e8886024a57$var$uncurryThis(BigInt.prototype.valueOf);\nif ($59a77e8886024a57$var$SymbolSupported) var $59a77e8886024a57$var$symbolValue = $59a77e8886024a57$var$uncurryThis(Symbol.prototype.valueOf);\nfunction $59a77e8886024a57$var$checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== \"object\") return false;\n try {\n prototypeValueOf(value);\n return true;\n } catch (e) {\n return false;\n }\n}\nmodule.exports.isArgumentsObject = $f4HGZ;\nmodule.exports.isGeneratorFunction = $5WnCa;\nmodule.exports.isTypedArray = $hN833;\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction $59a77e8886024a57$var$isPromise(input) {\n return typeof Promise !== \"undefined\" && input instanceof Promise || input !== null && typeof input === \"object\" && typeof input.then === \"function\" && typeof input.catch === \"function\";\n}\nmodule.exports.isPromise = $59a77e8886024a57$var$isPromise;\nfunction $59a77e8886024a57$var$isArrayBufferView(value) {\n if (typeof ArrayBuffer !== \"undefined\" && ArrayBuffer.isView) return ArrayBuffer.isView(value);\n return $hN833(value) || $59a77e8886024a57$var$isDataView(value);\n}\nmodule.exports.isArrayBufferView = $59a77e8886024a57$var$isArrayBufferView;\nfunction $59a77e8886024a57$var$isUint8Array(value) {\n return $gJrpv(value) === \"Uint8Array\";\n}\nmodule.exports.isUint8Array = $59a77e8886024a57$var$isUint8Array;\nfunction $59a77e8886024a57$var$isUint8ClampedArray(value) {\n return $gJrpv(value) === \"Uint8ClampedArray\";\n}\nmodule.exports.isUint8ClampedArray = $59a77e8886024a57$var$isUint8ClampedArray;\nfunction $59a77e8886024a57$var$isUint16Array(value) {\n return $gJrpv(value) === \"Uint16Array\";\n}\nmodule.exports.isUint16Array = $59a77e8886024a57$var$isUint16Array;\nfunction $59a77e8886024a57$var$isUint32Array(value) {\n return $gJrpv(value) === \"Uint32Array\";\n}\nmodule.exports.isUint32Array = $59a77e8886024a57$var$isUint32Array;\nfunction $59a77e8886024a57$var$isInt8Array(value) {\n return $gJrpv(value) === \"Int8Array\";\n}\nmodule.exports.isInt8Array = $59a77e8886024a57$var$isInt8Array;\nfunction $59a77e8886024a57$var$isInt16Array(value) {\n return $gJrpv(value) === \"Int16Array\";\n}\nmodule.exports.isInt16Array = $59a77e8886024a57$var$isInt16Array;\nfunction $59a77e8886024a57$var$isInt32Array(value) {\n return $gJrpv(value) === \"Int32Array\";\n}\nmodule.exports.isInt32Array = $59a77e8886024a57$var$isInt32Array;\nfunction $59a77e8886024a57$var$isFloat32Array(value) {\n return $gJrpv(value) === \"Float32Array\";\n}\nmodule.exports.isFloat32Array = $59a77e8886024a57$var$isFloat32Array;\nfunction $59a77e8886024a57$var$isFloat64Array(value) {\n return $gJrpv(value) === \"Float64Array\";\n}\nmodule.exports.isFloat64Array = $59a77e8886024a57$var$isFloat64Array;\nfunction $59a77e8886024a57$var$isBigInt64Array(value) {\n return $gJrpv(value) === \"BigInt64Array\";\n}\nmodule.exports.isBigInt64Array = $59a77e8886024a57$var$isBigInt64Array;\nfunction $59a77e8886024a57$var$isBigUint64Array(value) {\n return $gJrpv(value) === \"BigUint64Array\";\n}\nmodule.exports.isBigUint64Array = $59a77e8886024a57$var$isBigUint64Array;\nfunction $59a77e8886024a57$var$isMapToString(value) {\n return $59a77e8886024a57$var$ObjectToString(value) === \"[object Map]\";\n}\n$59a77e8886024a57$var$isMapToString.working = typeof Map !== \"undefined\" && $59a77e8886024a57$var$isMapToString(new Map());\nfunction $59a77e8886024a57$var$isMap(value) {\n if (typeof Map === \"undefined\") return false;\n return $59a77e8886024a57$var$isMapToString.working ? $59a77e8886024a57$var$isMapToString(value) : value instanceof Map;\n}\nmodule.exports.isMap = $59a77e8886024a57$var$isMap;\nfunction $59a77e8886024a57$var$isSetToString(value) {\n return $59a77e8886024a57$var$ObjectToString(value) === \"[object Set]\";\n}\n$59a77e8886024a57$var$isSetToString.working = typeof Set !== \"undefined\" && $59a77e8886024a57$var$isSetToString(new Set());\nfunction $59a77e8886024a57$var$isSet(value) {\n if (typeof Set === \"undefined\") return false;\n return $59a77e8886024a57$var$isSetToString.working ? $59a77e8886024a57$var$isSetToString(value) : value instanceof Set;\n}\nmodule.exports.isSet = $59a77e8886024a57$var$isSet;\nfunction $59a77e8886024a57$var$isWeakMapToString(value) {\n return $59a77e8886024a57$var$ObjectToString(value) === \"[object WeakMap]\";\n}\n$59a77e8886024a57$var$isWeakMapToString.working = typeof WeakMap !== \"undefined\" && $59a77e8886024a57$var$isWeakMapToString(new WeakMap());\nfunction $59a77e8886024a57$var$isWeakMap(value) {\n if (typeof WeakMap === \"undefined\") return false;\n return $59a77e8886024a57$var$isWeakMapToString.working ? $59a77e8886024a57$var$isWeakMapToString(value) : value instanceof WeakMap;\n}\nmodule.exports.isWeakMap = $59a77e8886024a57$var$isWeakMap;\nfunction $59a77e8886024a57$var$isWeakSetToString(value) {\n return $59a77e8886024a57$var$ObjectToString(value) === \"[object WeakSet]\";\n}\n$59a77e8886024a57$var$isWeakSetToString.working = typeof WeakSet !== \"undefined\" && $59a77e8886024a57$var$isWeakSetToString(new WeakSet());\nfunction $59a77e8886024a57$var$isWeakSet(value) {\n return $59a77e8886024a57$var$isWeakSetToString(value);\n}\nmodule.exports.isWeakSet = $59a77e8886024a57$var$isWeakSet;\nfunction $59a77e8886024a57$var$isArrayBufferToString(value) {\n return $59a77e8886024a57$var$ObjectToString(value) === \"[object ArrayBuffer]\";\n}\n$59a77e8886024a57$var$isArrayBufferToString.working = typeof ArrayBuffer !== \"undefined\" && $59a77e8886024a57$var$isArrayBufferToString(new ArrayBuffer());\nfunction $59a77e8886024a57$var$isArrayBuffer(value) {\n if (typeof ArrayBuffer === \"undefined\") return false;\n return $59a77e8886024a57$var$isArrayBufferToString.working ? $59a77e8886024a57$var$isArrayBufferToString(value) : value instanceof ArrayBuffer;\n}\nmodule.exports.isArrayBuffer = $59a77e8886024a57$var$isArrayBuffer;\nfunction $59a77e8886024a57$var$isDataViewToString(value) {\n return $59a77e8886024a57$var$ObjectToString(value) === \"[object DataView]\";\n}\n$59a77e8886024a57$var$isDataViewToString.working = typeof ArrayBuffer !== \"undefined\" && typeof DataView !== \"undefined\" && $59a77e8886024a57$var$isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1));\nfunction $59a77e8886024a57$var$isDataView(value) {\n if (typeof DataView === \"undefined\") return false;\n return $59a77e8886024a57$var$isDataViewToString.working ? $59a77e8886024a57$var$isDataViewToString(value) : value instanceof DataView;\n}\nmodule.exports.isDataView = $59a77e8886024a57$var$isDataView;\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar $59a77e8886024a57$var$SharedArrayBufferCopy = typeof SharedArrayBuffer !== \"undefined\" ? SharedArrayBuffer : undefined;\nfunction $59a77e8886024a57$var$isSharedArrayBufferToString(value) {\n return $59a77e8886024a57$var$ObjectToString(value) === \"[object SharedArrayBuffer]\";\n}\nfunction $59a77e8886024a57$var$isSharedArrayBuffer(value) {\n if (typeof $59a77e8886024a57$var$SharedArrayBufferCopy === \"undefined\") return false;\n if (typeof $59a77e8886024a57$var$isSharedArrayBufferToString.working === \"undefined\") $59a77e8886024a57$var$isSharedArrayBufferToString.working = $59a77e8886024a57$var$isSharedArrayBufferToString(new $59a77e8886024a57$var$SharedArrayBufferCopy());\n return $59a77e8886024a57$var$isSharedArrayBufferToString.working ? $59a77e8886024a57$var$isSharedArrayBufferToString(value) : value instanceof $59a77e8886024a57$var$SharedArrayBufferCopy;\n}\nmodule.exports.isSharedArrayBuffer = $59a77e8886024a57$var$isSharedArrayBuffer;\nfunction $59a77e8886024a57$var$isAsyncFunction(value) {\n return $59a77e8886024a57$var$ObjectToString(value) === \"[object AsyncFunction]\";\n}\nmodule.exports.isAsyncFunction = $59a77e8886024a57$var$isAsyncFunction;\nfunction $59a77e8886024a57$var$isMapIterator(value) {\n return $59a77e8886024a57$var$ObjectToString(value) === \"[object Map Iterator]\";\n}\nmodule.exports.isMapIterator = $59a77e8886024a57$var$isMapIterator;\nfunction $59a77e8886024a57$var$isSetIterator(value) {\n return $59a77e8886024a57$var$ObjectToString(value) === \"[object Set Iterator]\";\n}\nmodule.exports.isSetIterator = $59a77e8886024a57$var$isSetIterator;\nfunction $59a77e8886024a57$var$isGeneratorObject(value) {\n return $59a77e8886024a57$var$ObjectToString(value) === \"[object Generator]\";\n}\nmodule.exports.isGeneratorObject = $59a77e8886024a57$var$isGeneratorObject;\nfunction $59a77e8886024a57$var$isWebAssemblyCompiledModule(value) {\n return $59a77e8886024a57$var$ObjectToString(value) === \"[object WebAssembly.Module]\";\n}\nmodule.exports.isWebAssemblyCompiledModule = $59a77e8886024a57$var$isWebAssemblyCompiledModule;\nfunction $59a77e8886024a57$var$isNumberObject(value) {\n return $59a77e8886024a57$var$checkBoxedPrimitive(value, $59a77e8886024a57$var$numberValue);\n}\nmodule.exports.isNumberObject = $59a77e8886024a57$var$isNumberObject;\nfunction $59a77e8886024a57$var$isStringObject(value) {\n return $59a77e8886024a57$var$checkBoxedPrimitive(value, $59a77e8886024a57$var$stringValue);\n}\nmodule.exports.isStringObject = $59a77e8886024a57$var$isStringObject;\nfunction $59a77e8886024a57$var$isBooleanObject(value) {\n return $59a77e8886024a57$var$checkBoxedPrimitive(value, $59a77e8886024a57$var$booleanValue);\n}\nmodule.exports.isBooleanObject = $59a77e8886024a57$var$isBooleanObject;\nfunction $59a77e8886024a57$var$isBigIntObject(value) {\n return $59a77e8886024a57$var$BigIntSupported && $59a77e8886024a57$var$checkBoxedPrimitive(value, $59a77e8886024a57$var$bigIntValue);\n}\nmodule.exports.isBigIntObject = $59a77e8886024a57$var$isBigIntObject;\nfunction $59a77e8886024a57$var$isSymbolObject(value) {\n return $59a77e8886024a57$var$SymbolSupported && $59a77e8886024a57$var$checkBoxedPrimitive(value, $59a77e8886024a57$var$symbolValue);\n}\nmodule.exports.isSymbolObject = $59a77e8886024a57$var$isSymbolObject;\nfunction $59a77e8886024a57$var$isBoxedPrimitive(value) {\n return $59a77e8886024a57$var$isNumberObject(value) || $59a77e8886024a57$var$isStringObject(value) || $59a77e8886024a57$var$isBooleanObject(value) || $59a77e8886024a57$var$isBigIntObject(value) || $59a77e8886024a57$var$isSymbolObject(value);\n}\nmodule.exports.isBoxedPrimitive = $59a77e8886024a57$var$isBoxedPrimitive;\nfunction $59a77e8886024a57$var$isAnyArrayBuffer(value) {\n return typeof Uint8Array !== \"undefined\" && ($59a77e8886024a57$var$isArrayBuffer(value) || $59a77e8886024a57$var$isSharedArrayBuffer(value));\n}\nmodule.exports.isAnyArrayBuffer = $59a77e8886024a57$var$isAnyArrayBuffer;\n[\n \"isProxy\",\n \"isExternal\",\n \"isModuleNamespaceObject\"\n].forEach(function(method) {\n Object.defineProperty(module.exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + \" is not supported in userland\");\n }\n });\n});\n\n});\nparcelRequire.register(\"f4HGZ\", function(module, exports) {\n\"use strict\";\n\nvar $af991f1d6c80f097$var$hasToStringTag = (parcelRequire(\"3KyxH\"))();\n\nvar $hXu6F = parcelRequire(\"hXu6F\");\nvar $af991f1d6c80f097$var$$toString = $hXu6F(\"Object.prototype.toString\");\nvar $af991f1d6c80f097$var$isStandardArguments = function isArguments(value) {\n if ($af991f1d6c80f097$var$hasToStringTag && value && typeof value === \"object\" && Symbol.toStringTag in value) return false;\n return $af991f1d6c80f097$var$$toString(value) === \"[object Arguments]\";\n};\nvar $af991f1d6c80f097$var$isLegacyArguments = function isArguments(value) {\n if ($af991f1d6c80f097$var$isStandardArguments(value)) return true;\n return value !== null && typeof value === \"object\" && typeof value.length === \"number\" && value.length >= 0 && $af991f1d6c80f097$var$$toString(value) !== \"[object Array]\" && $af991f1d6c80f097$var$$toString(value.callee) === \"[object Function]\";\n};\nvar $af991f1d6c80f097$var$supportsStandardArguments = function() {\n return $af991f1d6c80f097$var$isStandardArguments(arguments);\n}();\n$af991f1d6c80f097$var$isStandardArguments.isLegacyArguments = $af991f1d6c80f097$var$isLegacyArguments; // for tests\nmodule.exports = $af991f1d6c80f097$var$supportsStandardArguments ? $af991f1d6c80f097$var$isStandardArguments : $af991f1d6c80f097$var$isLegacyArguments;\n\n});\nparcelRequire.register(\"3KyxH\", function(module, exports) {\n\"use strict\";\n\nvar $7YWkK = parcelRequire(\"7YWkK\");\nmodule.exports = function hasToStringTagShams() {\n return $7YWkK() && !!Symbol.toStringTag;\n};\n\n});\nparcelRequire.register(\"7YWkK\", function(module, exports) {\n\"use strict\";\n/* eslint complexity: [2, 18], max-statements: [2, 33] */ module.exports = function hasSymbols() {\n if (typeof Symbol !== \"function\" || typeof Object.getOwnPropertySymbols !== \"function\") return false;\n if (typeof Symbol.iterator === \"symbol\") return true;\n var obj = {};\n var sym = Symbol(\"test\");\n var symObj = Object(sym);\n if (typeof sym === \"string\") return false;\n if (Object.prototype.toString.call(sym) !== \"[object Symbol]\") return false;\n if (Object.prototype.toString.call(symObj) !== \"[object Symbol]\") return false;\n // temp disabled per https://github.com/ljharb/object.assign/issues/17\n // if (sym instanceof Symbol) { return false; }\n // temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n // if (!(symObj instanceof Symbol)) { return false; }\n // if (typeof Symbol.prototype.toString !== 'function') { return false; }\n // if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n var symVal = 42;\n obj[sym] = symVal;\n for(sym in obj)return false;\n // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n if (typeof Object.keys === \"function\" && Object.keys(obj).length !== 0) return false;\n if (typeof Object.getOwnPropertyNames === \"function\" && Object.getOwnPropertyNames(obj).length !== 0) return false;\n var syms = Object.getOwnPropertySymbols(obj);\n if (syms.length !== 1 || syms[0] !== sym) return false;\n if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) return false;\n if (typeof Object.getOwnPropertyDescriptor === \"function\") {\n var descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n if (descriptor.value !== symVal || descriptor.enumerable !== true) return false;\n }\n return true;\n};\n\n});\n\n\nparcelRequire.register(\"hXu6F\", function(module, exports) {\n\"use strict\";\n\nvar $1zENl = parcelRequire(\"1zENl\");\n\nvar $cOB0F = parcelRequire(\"cOB0F\");\nvar $d12f4cdcd6b10506$var$$indexOf = $cOB0F($1zENl(\"String.prototype.indexOf\"));\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n var intrinsic = $1zENl(name, !!allowMissing);\n if (typeof intrinsic === \"function\" && $d12f4cdcd6b10506$var$$indexOf(name, \".prototype.\") > -1) return $cOB0F(intrinsic);\n return intrinsic;\n};\n\n});\nparcelRequire.register(\"1zENl\", function(module, exports) {\n\"use strict\";\nvar $1258b452ecf218a1$var$undefined;\nvar $1258b452ecf218a1$var$$SyntaxError = SyntaxError;\nvar $1258b452ecf218a1$var$$Function = Function;\nvar $1258b452ecf218a1$var$$TypeError = TypeError;\n// eslint-disable-next-line consistent-return\nvar $1258b452ecf218a1$var$getEvalledConstructor = function(expressionSyntax) {\n try {\n return $1258b452ecf218a1$var$$Function('\"use strict\"; return (' + expressionSyntax + \").constructor;\")();\n } catch (e) {}\n};\nvar $1258b452ecf218a1$var$$gOPD = Object.getOwnPropertyDescriptor;\nif ($1258b452ecf218a1$var$$gOPD) try {\n $1258b452ecf218a1$var$$gOPD({}, \"\");\n} catch (e) {\n $1258b452ecf218a1$var$$gOPD = null; // this is IE 8, which has a broken gOPD\n}\nvar $1258b452ecf218a1$var$throwTypeError = function() {\n throw new $1258b452ecf218a1$var$$TypeError();\n};\nvar $1258b452ecf218a1$var$ThrowTypeError = $1258b452ecf218a1$var$$gOPD ? function() {\n try {\n // eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n arguments.callee; // IE 8 does not throw here\n return $1258b452ecf218a1$var$throwTypeError;\n } catch (calleeThrows) {\n try {\n // IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n return $1258b452ecf218a1$var$$gOPD(arguments, \"callee\").get;\n } catch (gOPDthrows) {\n return $1258b452ecf218a1$var$throwTypeError;\n }\n }\n}() : $1258b452ecf218a1$var$throwTypeError;\n\nvar $1258b452ecf218a1$var$hasSymbols = (parcelRequire(\"24qIq\"))();\n\nvar $1258b452ecf218a1$var$hasProto = (parcelRequire(\"dSRh6\"))();\nvar $1258b452ecf218a1$var$getProto = Object.getPrototypeOf || ($1258b452ecf218a1$var$hasProto ? function(x) {\n return x.__proto__;\n} // eslint-disable-line no-proto\n : null);\nvar $1258b452ecf218a1$var$needsEval = {};\nvar $1258b452ecf218a1$var$TypedArray = typeof Uint8Array === \"undefined\" || !$1258b452ecf218a1$var$getProto ? $1258b452ecf218a1$var$undefined : $1258b452ecf218a1$var$getProto(Uint8Array);\nvar $1258b452ecf218a1$var$INTRINSICS = {\n \"%AggregateError%\": typeof AggregateError === \"undefined\" ? $1258b452ecf218a1$var$undefined : AggregateError,\n \"%Array%\": Array,\n \"%ArrayBuffer%\": typeof ArrayBuffer === \"undefined\" ? $1258b452ecf218a1$var$undefined : ArrayBuffer,\n \"%ArrayIteratorPrototype%\": $1258b452ecf218a1$var$hasSymbols && $1258b452ecf218a1$var$getProto ? $1258b452ecf218a1$var$getProto([][Symbol.iterator]()) : $1258b452ecf218a1$var$undefined,\n \"%AsyncFromSyncIteratorPrototype%\": $1258b452ecf218a1$var$undefined,\n \"%AsyncFunction%\": $1258b452ecf218a1$var$needsEval,\n \"%AsyncGenerator%\": $1258b452ecf218a1$var$needsEval,\n \"%AsyncGeneratorFunction%\": $1258b452ecf218a1$var$needsEval,\n \"%AsyncIteratorPrototype%\": $1258b452ecf218a1$var$needsEval,\n \"%Atomics%\": typeof Atomics === \"undefined\" ? $1258b452ecf218a1$var$undefined : Atomics,\n \"%BigInt%\": typeof BigInt === \"undefined\" ? $1258b452ecf218a1$var$undefined : BigInt,\n \"%BigInt64Array%\": typeof BigInt64Array === \"undefined\" ? $1258b452ecf218a1$var$undefined : BigInt64Array,\n \"%BigUint64Array%\": typeof BigUint64Array === \"undefined\" ? $1258b452ecf218a1$var$undefined : BigUint64Array,\n \"%Boolean%\": Boolean,\n \"%DataView%\": typeof DataView === \"undefined\" ? $1258b452ecf218a1$var$undefined : DataView,\n \"%Date%\": Date,\n \"%decodeURI%\": decodeURI,\n \"%decodeURIComponent%\": decodeURIComponent,\n \"%encodeURI%\": encodeURI,\n \"%encodeURIComponent%\": encodeURIComponent,\n \"%Error%\": Error,\n \"%eval%\": eval,\n \"%EvalError%\": EvalError,\n \"%Float32Array%\": typeof Float32Array === \"undefined\" ? $1258b452ecf218a1$var$undefined : Float32Array,\n \"%Float64Array%\": typeof Float64Array === \"undefined\" ? $1258b452ecf218a1$var$undefined : Float64Array,\n \"%FinalizationRegistry%\": typeof FinalizationRegistry === \"undefined\" ? $1258b452ecf218a1$var$undefined : FinalizationRegistry,\n \"%Function%\": $1258b452ecf218a1$var$$Function,\n \"%GeneratorFunction%\": $1258b452ecf218a1$var$needsEval,\n \"%Int8Array%\": typeof Int8Array === \"undefined\" ? $1258b452ecf218a1$var$undefined : Int8Array,\n \"%Int16Array%\": typeof Int16Array === \"undefined\" ? $1258b452ecf218a1$var$undefined : Int16Array,\n \"%Int32Array%\": typeof Int32Array === \"undefined\" ? $1258b452ecf218a1$var$undefined : Int32Array,\n \"%isFinite%\": isFinite,\n \"%isNaN%\": isNaN,\n \"%IteratorPrototype%\": $1258b452ecf218a1$var$hasSymbols && $1258b452ecf218a1$var$getProto ? $1258b452ecf218a1$var$getProto($1258b452ecf218a1$var$getProto([][Symbol.iterator]())) : $1258b452ecf218a1$var$undefined,\n \"%JSON%\": typeof JSON === \"object\" ? JSON : $1258b452ecf218a1$var$undefined,\n \"%Map%\": typeof Map === \"undefined\" ? $1258b452ecf218a1$var$undefined : Map,\n \"%MapIteratorPrototype%\": typeof Map === \"undefined\" || !$1258b452ecf218a1$var$hasSymbols || !$1258b452ecf218a1$var$getProto ? $1258b452ecf218a1$var$undefined : $1258b452ecf218a1$var$getProto(new Map()[Symbol.iterator]()),\n \"%Math%\": Math,\n \"%Number%\": Number,\n \"%Object%\": Object,\n \"%parseFloat%\": parseFloat,\n \"%parseInt%\": parseInt,\n \"%Promise%\": typeof Promise === \"undefined\" ? $1258b452ecf218a1$var$undefined : Promise,\n \"%Proxy%\": typeof Proxy === \"undefined\" ? $1258b452ecf218a1$var$undefined : Proxy,\n \"%RangeError%\": RangeError,\n \"%ReferenceError%\": ReferenceError,\n \"%Reflect%\": typeof Reflect === \"undefined\" ? $1258b452ecf218a1$var$undefined : Reflect,\n \"%RegExp%\": RegExp,\n \"%Set%\": typeof Set === \"undefined\" ? $1258b452ecf218a1$var$undefined : Set,\n \"%SetIteratorPrototype%\": typeof Set === \"undefined\" || !$1258b452ecf218a1$var$hasSymbols || !$1258b452ecf218a1$var$getProto ? $1258b452ecf218a1$var$undefined : $1258b452ecf218a1$var$getProto(new Set()[Symbol.iterator]()),\n \"%SharedArrayBuffer%\": typeof SharedArrayBuffer === \"undefined\" ? $1258b452ecf218a1$var$undefined : SharedArrayBuffer,\n \"%String%\": String,\n \"%StringIteratorPrototype%\": $1258b452ecf218a1$var$hasSymbols && $1258b452ecf218a1$var$getProto ? $1258b452ecf218a1$var$getProto(\"\"[Symbol.iterator]()) : $1258b452ecf218a1$var$undefined,\n \"%Symbol%\": $1258b452ecf218a1$var$hasSymbols ? Symbol : $1258b452ecf218a1$var$undefined,\n \"%SyntaxError%\": $1258b452ecf218a1$var$$SyntaxError,\n \"%ThrowTypeError%\": $1258b452ecf218a1$var$ThrowTypeError,\n \"%TypedArray%\": $1258b452ecf218a1$var$TypedArray,\n \"%TypeError%\": $1258b452ecf218a1$var$$TypeError,\n \"%Uint8Array%\": typeof Uint8Array === \"undefined\" ? $1258b452ecf218a1$var$undefined : Uint8Array,\n \"%Uint8ClampedArray%\": typeof Uint8ClampedArray === \"undefined\" ? $1258b452ecf218a1$var$undefined : Uint8ClampedArray,\n \"%Uint16Array%\": typeof Uint16Array === \"undefined\" ? $1258b452ecf218a1$var$undefined : Uint16Array,\n \"%Uint32Array%\": typeof Uint32Array === \"undefined\" ? $1258b452ecf218a1$var$undefined : Uint32Array,\n \"%URIError%\": URIError,\n \"%WeakMap%\": typeof WeakMap === \"undefined\" ? $1258b452ecf218a1$var$undefined : WeakMap,\n \"%WeakRef%\": typeof WeakRef === \"undefined\" ? $1258b452ecf218a1$var$undefined : WeakRef,\n \"%WeakSet%\": typeof WeakSet === \"undefined\" ? $1258b452ecf218a1$var$undefined : WeakSet\n};\nif ($1258b452ecf218a1$var$getProto) try {\n null.error; // eslint-disable-line no-unused-expressions\n} catch (e) {\n // https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n var $1258b452ecf218a1$var$errorProto = $1258b452ecf218a1$var$getProto($1258b452ecf218a1$var$getProto(e));\n $1258b452ecf218a1$var$INTRINSICS[\"%Error.prototype%\"] = $1258b452ecf218a1$var$errorProto;\n}\nvar $1258b452ecf218a1$var$doEval = function doEval(name) {\n var value;\n if (name === \"%AsyncFunction%\") value = $1258b452ecf218a1$var$getEvalledConstructor(\"async function () {}\");\n else if (name === \"%GeneratorFunction%\") value = $1258b452ecf218a1$var$getEvalledConstructor(\"function* () {}\");\n else if (name === \"%AsyncGeneratorFunction%\") value = $1258b452ecf218a1$var$getEvalledConstructor(\"async function* () {}\");\n else if (name === \"%AsyncGenerator%\") {\n var fn = doEval(\"%AsyncGeneratorFunction%\");\n if (fn) value = fn.prototype;\n } else if (name === \"%AsyncIteratorPrototype%\") {\n var gen = doEval(\"%AsyncGenerator%\");\n if (gen && $1258b452ecf218a1$var$getProto) value = $1258b452ecf218a1$var$getProto(gen.prototype);\n }\n $1258b452ecf218a1$var$INTRINSICS[name] = value;\n return value;\n};\nvar $1258b452ecf218a1$var$LEGACY_ALIASES = {\n \"%ArrayBufferPrototype%\": [\n \"ArrayBuffer\",\n \"prototype\"\n ],\n \"%ArrayPrototype%\": [\n \"Array\",\n \"prototype\"\n ],\n \"%ArrayProto_entries%\": [\n \"Array\",\n \"prototype\",\n \"entries\"\n ],\n \"%ArrayProto_forEach%\": [\n \"Array\",\n \"prototype\",\n \"forEach\"\n ],\n \"%ArrayProto_keys%\": [\n \"Array\",\n \"prototype\",\n \"keys\"\n ],\n \"%ArrayProto_values%\": [\n \"Array\",\n \"prototype\",\n \"values\"\n ],\n \"%AsyncFunctionPrototype%\": [\n \"AsyncFunction\",\n \"prototype\"\n ],\n \"%AsyncGenerator%\": [\n \"AsyncGeneratorFunction\",\n \"prototype\"\n ],\n \"%AsyncGeneratorPrototype%\": [\n \"AsyncGeneratorFunction\",\n \"prototype\",\n \"prototype\"\n ],\n \"%BooleanPrototype%\": [\n \"Boolean\",\n \"prototype\"\n ],\n \"%DataViewPrototype%\": [\n \"DataView\",\n \"prototype\"\n ],\n \"%DatePrototype%\": [\n \"Date\",\n \"prototype\"\n ],\n \"%ErrorPrototype%\": [\n \"Error\",\n \"prototype\"\n ],\n \"%EvalErrorPrototype%\": [\n \"EvalError\",\n \"prototype\"\n ],\n \"%Float32ArrayPrototype%\": [\n \"Float32Array\",\n \"prototype\"\n ],\n \"%Float64ArrayPrototype%\": [\n \"Float64Array\",\n \"prototype\"\n ],\n \"%FunctionPrototype%\": [\n \"Function\",\n \"prototype\"\n ],\n \"%Generator%\": [\n \"GeneratorFunction\",\n \"prototype\"\n ],\n \"%GeneratorPrototype%\": [\n \"GeneratorFunction\",\n \"prototype\",\n \"prototype\"\n ],\n \"%Int8ArrayPrototype%\": [\n \"Int8Array\",\n \"prototype\"\n ],\n \"%Int16ArrayPrototype%\": [\n \"Int16Array\",\n \"prototype\"\n ],\n \"%Int32ArrayPrototype%\": [\n \"Int32Array\",\n \"prototype\"\n ],\n \"%JSONParse%\": [\n \"JSON\",\n \"parse\"\n ],\n \"%JSONStringify%\": [\n \"JSON\",\n \"stringify\"\n ],\n \"%MapPrototype%\": [\n \"Map\",\n \"prototype\"\n ],\n \"%NumberPrototype%\": [\n \"Number\",\n \"prototype\"\n ],\n \"%ObjectPrototype%\": [\n \"Object\",\n \"prototype\"\n ],\n \"%ObjProto_toString%\": [\n \"Object\",\n \"prototype\",\n \"toString\"\n ],\n \"%ObjProto_valueOf%\": [\n \"Object\",\n \"prototype\",\n \"valueOf\"\n ],\n \"%PromisePrototype%\": [\n \"Promise\",\n \"prototype\"\n ],\n \"%PromiseProto_then%\": [\n \"Promise\",\n \"prototype\",\n \"then\"\n ],\n \"%Promise_all%\": [\n \"Promise\",\n \"all\"\n ],\n \"%Promise_reject%\": [\n \"Promise\",\n \"reject\"\n ],\n \"%Promise_resolve%\": [\n \"Promise\",\n \"resolve\"\n ],\n \"%RangeErrorPrototype%\": [\n \"RangeError\",\n \"prototype\"\n ],\n \"%ReferenceErrorPrototype%\": [\n \"ReferenceError\",\n \"prototype\"\n ],\n \"%RegExpPrototype%\": [\n \"RegExp\",\n \"prototype\"\n ],\n \"%SetPrototype%\": [\n \"Set\",\n \"prototype\"\n ],\n \"%SharedArrayBufferPrototype%\": [\n \"SharedArrayBuffer\",\n \"prototype\"\n ],\n \"%StringPrototype%\": [\n \"String\",\n \"prototype\"\n ],\n \"%SymbolPrototype%\": [\n \"Symbol\",\n \"prototype\"\n ],\n \"%SyntaxErrorPrototype%\": [\n \"SyntaxError\",\n \"prototype\"\n ],\n \"%TypedArrayPrototype%\": [\n \"TypedArray\",\n \"prototype\"\n ],\n \"%TypeErrorPrototype%\": [\n \"TypeError\",\n \"prototype\"\n ],\n \"%Uint8ArrayPrototype%\": [\n \"Uint8Array\",\n \"prototype\"\n ],\n \"%Uint8ClampedArrayPrototype%\": [\n \"Uint8ClampedArray\",\n \"prototype\"\n ],\n \"%Uint16ArrayPrototype%\": [\n \"Uint16Array\",\n \"prototype\"\n ],\n \"%Uint32ArrayPrototype%\": [\n \"Uint32Array\",\n \"prototype\"\n ],\n \"%URIErrorPrototype%\": [\n \"URIError\",\n \"prototype\"\n ],\n \"%WeakMapPrototype%\": [\n \"WeakMap\",\n \"prototype\"\n ],\n \"%WeakSetPrototype%\": [\n \"WeakSet\",\n \"prototype\"\n ]\n};\n\nvar $gvair = parcelRequire(\"gvair\");\n\nvar $8aKn2 = parcelRequire(\"8aKn2\");\nvar $1258b452ecf218a1$var$$concat = $gvair.call(Function.call, Array.prototype.concat);\nvar $1258b452ecf218a1$var$$spliceApply = $gvair.call(Function.apply, Array.prototype.splice);\nvar $1258b452ecf218a1$var$$replace = $gvair.call(Function.call, String.prototype.replace);\nvar $1258b452ecf218a1$var$$strSlice = $gvair.call(Function.call, String.prototype.slice);\nvar $1258b452ecf218a1$var$$exec = $gvair.call(Function.call, RegExp.prototype.exec);\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */ var $1258b452ecf218a1$var$rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar $1258b452ecf218a1$var$reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */ \nvar $1258b452ecf218a1$var$stringToPath = function stringToPath(string) {\n var first = $1258b452ecf218a1$var$$strSlice(string, 0, 1);\n var last = $1258b452ecf218a1$var$$strSlice(string, -1);\n if (first === \"%\" && last !== \"%\") throw new $1258b452ecf218a1$var$$SyntaxError(\"invalid intrinsic syntax, expected closing `%`\");\n else if (last === \"%\" && first !== \"%\") throw new $1258b452ecf218a1$var$$SyntaxError(\"invalid intrinsic syntax, expected opening `%`\");\n var result = [];\n $1258b452ecf218a1$var$$replace(string, $1258b452ecf218a1$var$rePropName, function(match, number, quote, subString) {\n result[result.length] = quote ? $1258b452ecf218a1$var$$replace(subString, $1258b452ecf218a1$var$reEscapeChar, \"$1\") : number || match;\n });\n return result;\n};\n/* end adaptation */ var $1258b452ecf218a1$var$getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n var intrinsicName = name;\n var alias;\n if ($8aKn2($1258b452ecf218a1$var$LEGACY_ALIASES, intrinsicName)) {\n alias = $1258b452ecf218a1$var$LEGACY_ALIASES[intrinsicName];\n intrinsicName = \"%\" + alias[0] + \"%\";\n }\n if ($8aKn2($1258b452ecf218a1$var$INTRINSICS, intrinsicName)) {\n var value = $1258b452ecf218a1$var$INTRINSICS[intrinsicName];\n if (value === $1258b452ecf218a1$var$needsEval) value = $1258b452ecf218a1$var$doEval(intrinsicName);\n if (typeof value === \"undefined\" && !allowMissing) throw new $1258b452ecf218a1$var$$TypeError(\"intrinsic \" + name + \" exists, but is not available. Please file an issue!\");\n return {\n alias: alias,\n name: intrinsicName,\n value: value\n };\n }\n throw new $1258b452ecf218a1$var$$SyntaxError(\"intrinsic \" + name + \" does not exist!\");\n};\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n if (typeof name !== \"string\" || name.length === 0) throw new $1258b452ecf218a1$var$$TypeError(\"intrinsic name must be a non-empty string\");\n if (arguments.length > 1 && typeof allowMissing !== \"boolean\") throw new $1258b452ecf218a1$var$$TypeError('\"allowMissing\" argument must be a boolean');\n if ($1258b452ecf218a1$var$$exec(/^%?[^%]*%?$/, name) === null) throw new $1258b452ecf218a1$var$$SyntaxError(\"`%` may not be present anywhere but at the beginning and end of the intrinsic name\");\n var parts = $1258b452ecf218a1$var$stringToPath(name);\n var intrinsicBaseName = parts.length > 0 ? parts[0] : \"\";\n var intrinsic = $1258b452ecf218a1$var$getBaseIntrinsic(\"%\" + intrinsicBaseName + \"%\", allowMissing);\n var intrinsicRealName = intrinsic.name;\n var value = intrinsic.value;\n var skipFurtherCaching = false;\n var alias = intrinsic.alias;\n if (alias) {\n intrinsicBaseName = alias[0];\n $1258b452ecf218a1$var$$spliceApply(parts, $1258b452ecf218a1$var$$concat([\n 0,\n 1\n ], alias));\n }\n for(var i = 1, isOwn = true; i < parts.length; i += 1){\n var part = parts[i];\n var first = $1258b452ecf218a1$var$$strSlice(part, 0, 1);\n var last = $1258b452ecf218a1$var$$strSlice(part, -1);\n if ((first === '\"' || first === \"'\" || first === \"`\" || last === '\"' || last === \"'\" || last === \"`\") && first !== last) throw new $1258b452ecf218a1$var$$SyntaxError(\"property names with quotes must have matching quotes\");\n if (part === \"constructor\" || !isOwn) skipFurtherCaching = true;\n intrinsicBaseName += \".\" + part;\n intrinsicRealName = \"%\" + intrinsicBaseName + \"%\";\n if ($8aKn2($1258b452ecf218a1$var$INTRINSICS, intrinsicRealName)) value = $1258b452ecf218a1$var$INTRINSICS[intrinsicRealName];\n else if (value != null) {\n if (!(part in value)) {\n if (!allowMissing) throw new $1258b452ecf218a1$var$$TypeError(\"base intrinsic for \" + name + \" exists, but the property is not available.\");\n return void 0;\n }\n if ($1258b452ecf218a1$var$$gOPD && i + 1 >= parts.length) {\n var desc = $1258b452ecf218a1$var$$gOPD(value, part);\n isOwn = !!desc;\n // By convention, when a data property is converted to an accessor\n // property to emulate a data property that does not suffer from\n // the override mistake, that accessor's getter is marked with\n // an `originalValue` property. Here, when we detect this, we\n // uphold the illusion by pretending to see that original data\n // property, i.e., returning the value rather than the getter\n // itself.\n if (isOwn && \"get\" in desc && !(\"originalValue\" in desc.get)) value = desc.get;\n else value = value[part];\n } else {\n isOwn = $8aKn2(value, part);\n value = value[part];\n }\n if (isOwn && !skipFurtherCaching) $1258b452ecf218a1$var$INTRINSICS[intrinsicRealName] = value;\n }\n }\n return value;\n};\n\n});\nparcelRequire.register(\"24qIq\", function(module, exports) {\n\"use strict\";\nvar $1820ada193f67aeb$var$origSymbol = typeof Symbol !== \"undefined\" && Symbol;\n\nvar $7YWkK = parcelRequire(\"7YWkK\");\nmodule.exports = function hasNativeSymbols() {\n if (typeof $1820ada193f67aeb$var$origSymbol !== \"function\") return false;\n if (typeof Symbol !== \"function\") return false;\n if (typeof $1820ada193f67aeb$var$origSymbol(\"foo\") !== \"symbol\") return false;\n if (typeof Symbol(\"bar\") !== \"symbol\") return false;\n return $7YWkK();\n};\n\n});\n\nparcelRequire.register(\"dSRh6\", function(module, exports) {\n\"use strict\";\nvar $a1b9a4c94d7d9147$var$test = {\n foo: {}\n};\nvar $a1b9a4c94d7d9147$var$$Object = Object;\nmodule.exports = function hasProto() {\n return ({\n __proto__: $a1b9a4c94d7d9147$var$test\n }).foo === $a1b9a4c94d7d9147$var$test.foo && !(({\n __proto__: null\n }) instanceof $a1b9a4c94d7d9147$var$$Object);\n};\n\n});\n\nparcelRequire.register(\"gvair\", function(module, exports) {\n\"use strict\";\n\nvar $kAGnA = parcelRequire(\"kAGnA\");\nmodule.exports = Function.prototype.bind || $kAGnA;\n\n});\nparcelRequire.register(\"kAGnA\", function(module, exports) {\n\"use strict\";\n/* eslint no-invalid-this: 1 */ var $efd80b1d7fbb2850$var$ERROR_MESSAGE = \"Function.prototype.bind called on incompatible \";\nvar $efd80b1d7fbb2850$var$slice = Array.prototype.slice;\nvar $efd80b1d7fbb2850$var$toStr = Object.prototype.toString;\nvar $efd80b1d7fbb2850$var$funcType = \"[object Function]\";\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== \"function\" || $efd80b1d7fbb2850$var$toStr.call(target) !== $efd80b1d7fbb2850$var$funcType) throw new TypeError($efd80b1d7fbb2850$var$ERROR_MESSAGE + target);\n var args = $efd80b1d7fbb2850$var$slice.call(arguments, 1);\n var bound;\n var binder = function() {\n if (this instanceof bound) {\n var result = target.apply(this, args.concat($efd80b1d7fbb2850$var$slice.call(arguments)));\n if (Object(result) === result) return result;\n return this;\n } else return target.apply(that, args.concat($efd80b1d7fbb2850$var$slice.call(arguments)));\n };\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for(var i = 0; i < boundLength; i++)boundArgs.push(\"$\" + i);\n bound = Function(\"binder\", \"return function (\" + boundArgs.join(\",\") + \"){ return binder.apply(this,arguments); }\")(binder);\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n return bound;\n};\n\n});\n\n\nparcelRequire.register(\"8aKn2\", function(module, exports) {\n\"use strict\";\n\nvar $gvair = parcelRequire(\"gvair\");\nmodule.exports = $gvair.call(Function.call, Object.prototype.hasOwnProperty);\n\n});\n\n\nparcelRequire.register(\"cOB0F\", function(module, exports) {\n\"use strict\";\n\nvar $gvair = parcelRequire(\"gvair\");\n\nvar $1zENl = parcelRequire(\"1zENl\");\nvar $9546dce5bd4976bd$var$$apply = $1zENl(\"%Function.prototype.apply%\");\nvar $9546dce5bd4976bd$var$$call = $1zENl(\"%Function.prototype.call%\");\nvar $9546dce5bd4976bd$var$$reflectApply = $1zENl(\"%Reflect.apply%\", true) || $gvair.call($9546dce5bd4976bd$var$$call, $9546dce5bd4976bd$var$$apply);\nvar $9546dce5bd4976bd$var$$gOPD = $1zENl(\"%Object.getOwnPropertyDescriptor%\", true);\nvar $9546dce5bd4976bd$var$$defineProperty = $1zENl(\"%Object.defineProperty%\", true);\nvar $9546dce5bd4976bd$var$$max = $1zENl(\"%Math.max%\");\nif ($9546dce5bd4976bd$var$$defineProperty) try {\n $9546dce5bd4976bd$var$$defineProperty({}, \"a\", {\n value: 1\n });\n} catch (e) {\n // IE 8 has a broken defineProperty\n $9546dce5bd4976bd$var$$defineProperty = null;\n}\nmodule.exports = function callBind(originalFunction) {\n var func = $9546dce5bd4976bd$var$$reflectApply($gvair, $9546dce5bd4976bd$var$$call, arguments);\n if ($9546dce5bd4976bd$var$$gOPD && $9546dce5bd4976bd$var$$defineProperty) {\n var desc = $9546dce5bd4976bd$var$$gOPD(func, \"length\");\n if (desc.configurable) // original length, plus the receiver, minus any additional arguments (after the receiver)\n $9546dce5bd4976bd$var$$defineProperty(func, \"length\", {\n value: 1 + $9546dce5bd4976bd$var$$max(0, originalFunction.length - (arguments.length - 1))\n });\n }\n return func;\n};\nvar $9546dce5bd4976bd$var$applyBind = function applyBind() {\n return $9546dce5bd4976bd$var$$reflectApply($gvair, $9546dce5bd4976bd$var$$apply, arguments);\n};\nif ($9546dce5bd4976bd$var$$defineProperty) $9546dce5bd4976bd$var$$defineProperty(module.exports, \"apply\", {\n value: $9546dce5bd4976bd$var$applyBind\n});\nelse module.exports.apply = $9546dce5bd4976bd$var$applyBind;\n\n});\n\n\n\nparcelRequire.register(\"5WnCa\", function(module, exports) {\n\"use strict\";\nvar $4534afe844d627e4$var$toStr = Object.prototype.toString;\nvar $4534afe844d627e4$var$fnToStr = Function.prototype.toString;\nvar $4534afe844d627e4$var$isFnRegex = /^\\s*(?:function)?\\*/;\n\nvar $4534afe844d627e4$var$hasToStringTag = (parcelRequire(\"3KyxH\"))();\nvar $4534afe844d627e4$var$getProto = Object.getPrototypeOf;\nvar $4534afe844d627e4$var$getGeneratorFunc = function() {\n if (!$4534afe844d627e4$var$hasToStringTag) return false;\n try {\n return Function(\"return function*() {}\")();\n } catch (e) {}\n};\nvar $4534afe844d627e4$var$GeneratorFunction;\nmodule.exports = function isGeneratorFunction(fn) {\n if (typeof fn !== \"function\") return false;\n if ($4534afe844d627e4$var$isFnRegex.test($4534afe844d627e4$var$fnToStr.call(fn))) return true;\n if (!$4534afe844d627e4$var$hasToStringTag) {\n var str = $4534afe844d627e4$var$toStr.call(fn);\n return str === \"[object GeneratorFunction]\";\n }\n if (!$4534afe844d627e4$var$getProto) return false;\n if (typeof $4534afe844d627e4$var$GeneratorFunction === \"undefined\") {\n var generatorFunc = $4534afe844d627e4$var$getGeneratorFunc();\n $4534afe844d627e4$var$GeneratorFunction = generatorFunc ? $4534afe844d627e4$var$getProto(generatorFunc) : false;\n }\n return $4534afe844d627e4$var$getProto(fn) === $4534afe844d627e4$var$GeneratorFunction;\n};\n\n});\n\nparcelRequire.register(\"gJrpv\", function(module, exports) {\n\"use strict\";\n\nvar $gFhA7 = parcelRequire(\"gFhA7\");\n\nvar $8yXCr = parcelRequire(\"8yXCr\");\n\nvar $hXu6F = parcelRequire(\"hXu6F\");\n\nvar $dYOee = parcelRequire(\"dYOee\");\nvar $c2e61c703a2c9ae0$var$$toString = $hXu6F(\"Object.prototype.toString\");\n\nvar $c2e61c703a2c9ae0$var$hasToStringTag = (parcelRequire(\"3KyxH\"))();\nvar $c2e61c703a2c9ae0$var$g = typeof globalThis === \"undefined\" ? $parcel$global : globalThis;\nvar $c2e61c703a2c9ae0$var$typedArrays = $8yXCr();\nvar $c2e61c703a2c9ae0$var$$slice = $hXu6F(\"String.prototype.slice\");\nvar $c2e61c703a2c9ae0$var$toStrTags = {};\nvar $c2e61c703a2c9ae0$var$getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif ($c2e61c703a2c9ae0$var$hasToStringTag && $dYOee && $c2e61c703a2c9ae0$var$getPrototypeOf) $gFhA7($c2e61c703a2c9ae0$var$typedArrays, function(typedArray) {\n if (typeof $c2e61c703a2c9ae0$var$g[typedArray] === \"function\") {\n var arr = new $c2e61c703a2c9ae0$var$g[typedArray]();\n if (Symbol.toStringTag in arr) {\n var proto = $c2e61c703a2c9ae0$var$getPrototypeOf(arr);\n var descriptor = $dYOee(proto, Symbol.toStringTag);\n if (!descriptor) {\n var superProto = $c2e61c703a2c9ae0$var$getPrototypeOf(proto);\n descriptor = $dYOee(superProto, Symbol.toStringTag);\n }\n $c2e61c703a2c9ae0$var$toStrTags[typedArray] = descriptor.get;\n }\n }\n});\nvar $c2e61c703a2c9ae0$var$tryTypedArrays = function tryAllTypedArrays(value) {\n var foundName = false;\n $gFhA7($c2e61c703a2c9ae0$var$toStrTags, function(getter, typedArray) {\n if (!foundName) try {\n var name = getter.call(value);\n if (name === typedArray) foundName = name;\n } catch (e) {}\n });\n return foundName;\n};\n\nvar $hN833 = parcelRequire(\"hN833\");\nmodule.exports = function whichTypedArray(value) {\n if (!$hN833(value)) return false;\n if (!$c2e61c703a2c9ae0$var$hasToStringTag || !(Symbol.toStringTag in value)) return $c2e61c703a2c9ae0$var$$slice($c2e61c703a2c9ae0$var$$toString(value), 8, -1);\n return $c2e61c703a2c9ae0$var$tryTypedArrays(value);\n};\n\n});\nparcelRequire.register(\"gFhA7\", function(module, exports) {\n\"use strict\";\n\nvar $63RD0 = parcelRequire(\"63RD0\");\nvar $c21e1d005400ef2a$var$toStr = Object.prototype.toString;\nvar $c21e1d005400ef2a$var$hasOwnProperty = Object.prototype.hasOwnProperty;\nvar $c21e1d005400ef2a$var$forEachArray = function forEachArray(array, iterator, receiver) {\n for(var i = 0, len = array.length; i < len; i++)if ($c21e1d005400ef2a$var$hasOwnProperty.call(array, i)) {\n if (receiver == null) iterator(array[i], i, array);\n else iterator.call(receiver, array[i], i, array);\n }\n};\nvar $c21e1d005400ef2a$var$forEachString = function forEachString(string, iterator, receiver) {\n for(var i = 0, len = string.length; i < len; i++)// no such thing as a sparse string.\n if (receiver == null) iterator(string.charAt(i), i, string);\n else iterator.call(receiver, string.charAt(i), i, string);\n};\nvar $c21e1d005400ef2a$var$forEachObject = function forEachObject(object, iterator, receiver) {\n for(var k in object)if ($c21e1d005400ef2a$var$hasOwnProperty.call(object, k)) {\n if (receiver == null) iterator(object[k], k, object);\n else iterator.call(receiver, object[k], k, object);\n }\n};\nvar $c21e1d005400ef2a$var$forEach = function forEach(list, iterator, thisArg) {\n if (!$63RD0(iterator)) throw new TypeError(\"iterator must be a function\");\n var receiver;\n if (arguments.length >= 3) receiver = thisArg;\n if ($c21e1d005400ef2a$var$toStr.call(list) === \"[object Array]\") $c21e1d005400ef2a$var$forEachArray(list, iterator, receiver);\n else if (typeof list === \"string\") $c21e1d005400ef2a$var$forEachString(list, iterator, receiver);\n else $c21e1d005400ef2a$var$forEachObject(list, iterator, receiver);\n};\nmodule.exports = $c21e1d005400ef2a$var$forEach;\n\n});\nparcelRequire.register(\"63RD0\", function(module, exports) {\n\"use strict\";\nvar $469c9f4bd3a650de$var$fnToStr = Function.prototype.toString;\nvar $469c9f4bd3a650de$var$reflectApply = typeof Reflect === \"object\" && Reflect !== null && Reflect.apply;\nvar $469c9f4bd3a650de$var$badArrayLike;\nvar $469c9f4bd3a650de$var$isCallableMarker;\nif (typeof $469c9f4bd3a650de$var$reflectApply === \"function\" && typeof Object.defineProperty === \"function\") try {\n $469c9f4bd3a650de$var$badArrayLike = Object.defineProperty({}, \"length\", {\n get: function() {\n throw $469c9f4bd3a650de$var$isCallableMarker;\n }\n });\n $469c9f4bd3a650de$var$isCallableMarker = {};\n // eslint-disable-next-line no-throw-literal\n $469c9f4bd3a650de$var$reflectApply(function() {\n throw 42;\n }, null, $469c9f4bd3a650de$var$badArrayLike);\n} catch (_) {\n if (_ !== $469c9f4bd3a650de$var$isCallableMarker) $469c9f4bd3a650de$var$reflectApply = null;\n}\nelse $469c9f4bd3a650de$var$reflectApply = null;\nvar $469c9f4bd3a650de$var$constructorRegex = /^\\s*class\\b/;\nvar $469c9f4bd3a650de$var$isES6ClassFn = function isES6ClassFunction(value) {\n try {\n var fnStr = $469c9f4bd3a650de$var$fnToStr.call(value);\n return $469c9f4bd3a650de$var$constructorRegex.test(fnStr);\n } catch (e) {\n return false; // not a function\n }\n};\nvar $469c9f4bd3a650de$var$tryFunctionObject = function tryFunctionToStr(value) {\n try {\n if ($469c9f4bd3a650de$var$isES6ClassFn(value)) return false;\n $469c9f4bd3a650de$var$fnToStr.call(value);\n return true;\n } catch (e) {\n return false;\n }\n};\nvar $469c9f4bd3a650de$var$toStr = Object.prototype.toString;\nvar $469c9f4bd3a650de$var$objectClass = \"[object Object]\";\nvar $469c9f4bd3a650de$var$fnClass = \"[object Function]\";\nvar $469c9f4bd3a650de$var$genClass = \"[object GeneratorFunction]\";\nvar $469c9f4bd3a650de$var$ddaClass = \"[object HTMLAllCollection]\"; // IE 11\nvar $469c9f4bd3a650de$var$ddaClass2 = \"[object HTML document.all class]\";\nvar $469c9f4bd3a650de$var$ddaClass3 = \"[object HTMLCollection]\"; // IE 9-10\nvar $469c9f4bd3a650de$var$hasToStringTag = typeof Symbol === \"function\" && !!Symbol.toStringTag; // better: use `has-tostringtag`\nvar $469c9f4bd3a650de$var$isIE68 = !(0 in [\n , \n]); // eslint-disable-line no-sparse-arrays, comma-spacing\nvar $469c9f4bd3a650de$var$isDDA = function isDocumentDotAll() {\n return false;\n};\nif (typeof document === \"object\") {\n // Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n var $469c9f4bd3a650de$var$all = document.all;\n if ($469c9f4bd3a650de$var$toStr.call($469c9f4bd3a650de$var$all) === $469c9f4bd3a650de$var$toStr.call(document.all)) $469c9f4bd3a650de$var$isDDA = function isDocumentDotAll(value) {\n /* globals document: false */ // in IE 6-8, typeof document.all is \"object\" and it's truthy\n if (($469c9f4bd3a650de$var$isIE68 || !value) && (typeof value === \"undefined\" || typeof value === \"object\")) try {\n var str = $469c9f4bd3a650de$var$toStr.call(value);\n return (str === $469c9f4bd3a650de$var$ddaClass || str === $469c9f4bd3a650de$var$ddaClass2 || str === $469c9f4bd3a650de$var$ddaClass3 // opera 12.16\n || str === $469c9f4bd3a650de$var$objectClass // IE 6-8\n ) && value(\"\") == null; // eslint-disable-line eqeqeq\n } catch (e) {}\n return false;\n };\n}\nmodule.exports = $469c9f4bd3a650de$var$reflectApply ? function isCallable(value) {\n if ($469c9f4bd3a650de$var$isDDA(value)) return true;\n if (!value) return false;\n if (typeof value !== \"function\" && typeof value !== \"object\") return false;\n try {\n $469c9f4bd3a650de$var$reflectApply(value, null, $469c9f4bd3a650de$var$badArrayLike);\n } catch (e) {\n if (e !== $469c9f4bd3a650de$var$isCallableMarker) return false;\n }\n return !$469c9f4bd3a650de$var$isES6ClassFn(value) && $469c9f4bd3a650de$var$tryFunctionObject(value);\n} : function isCallable(value) {\n if ($469c9f4bd3a650de$var$isDDA(value)) return true;\n if (!value) return false;\n if (typeof value !== \"function\" && typeof value !== \"object\") return false;\n if ($469c9f4bd3a650de$var$hasToStringTag) return $469c9f4bd3a650de$var$tryFunctionObject(value);\n if ($469c9f4bd3a650de$var$isES6ClassFn(value)) return false;\n var strClass = $469c9f4bd3a650de$var$toStr.call(value);\n if (strClass !== $469c9f4bd3a650de$var$fnClass && strClass !== $469c9f4bd3a650de$var$genClass && !/^\\[object HTML/.test(strClass)) return false;\n return $469c9f4bd3a650de$var$tryFunctionObject(value);\n};\n\n});\n\n\nparcelRequire.register(\"8yXCr\", function(module, exports) {\n\"use strict\";\nvar $63bfbecf41903c8f$var$possibleNames = [\n \"BigInt64Array\",\n \"BigUint64Array\",\n \"Float32Array\",\n \"Float64Array\",\n \"Int16Array\",\n \"Int32Array\",\n \"Int8Array\",\n \"Uint16Array\",\n \"Uint32Array\",\n \"Uint8Array\",\n \"Uint8ClampedArray\"\n];\nvar $63bfbecf41903c8f$var$g = typeof globalThis === \"undefined\" ? $parcel$global : globalThis;\nmodule.exports = function availableTypedArrays() {\n var out = [];\n for(var i = 0; i < $63bfbecf41903c8f$var$possibleNames.length; i++)if (typeof $63bfbecf41903c8f$var$g[$63bfbecf41903c8f$var$possibleNames[i]] === \"function\") out[out.length] = $63bfbecf41903c8f$var$possibleNames[i];\n return out;\n};\n\n});\n\nparcelRequire.register(\"dYOee\", function(module, exports) {\n\"use strict\";\n\nvar $1zENl = parcelRequire(\"1zENl\");\nvar $a2d7d74e83f6c3ed$var$$gOPD = $1zENl(\"%Object.getOwnPropertyDescriptor%\", true);\nif ($a2d7d74e83f6c3ed$var$$gOPD) try {\n $a2d7d74e83f6c3ed$var$$gOPD([], \"length\");\n} catch (e) {\n // IE 8 has a broken gOPD\n $a2d7d74e83f6c3ed$var$$gOPD = null;\n}\nmodule.exports = $a2d7d74e83f6c3ed$var$$gOPD;\n\n});\n\nparcelRequire.register(\"hN833\", function(module, exports) {\n\"use strict\";\n\nvar $gFhA7 = parcelRequire(\"gFhA7\");\n\nvar $8yXCr = parcelRequire(\"8yXCr\");\n\nvar $hXu6F = parcelRequire(\"hXu6F\");\nvar $cf3d4182e663752d$var$$toString = $hXu6F(\"Object.prototype.toString\");\n\nvar $cf3d4182e663752d$var$hasToStringTag = (parcelRequire(\"3KyxH\"))();\n\nvar $dYOee = parcelRequire(\"dYOee\");\nvar $cf3d4182e663752d$var$g = typeof globalThis === \"undefined\" ? $parcel$global : globalThis;\nvar $cf3d4182e663752d$var$typedArrays = $8yXCr();\nvar $cf3d4182e663752d$var$$indexOf = $hXu6F(\"Array.prototype.indexOf\", true) || function indexOf(array, value) {\n for(var i = 0; i < array.length; i += 1){\n if (array[i] === value) return i;\n }\n return -1;\n};\nvar $cf3d4182e663752d$var$$slice = $hXu6F(\"String.prototype.slice\");\nvar $cf3d4182e663752d$var$toStrTags = {};\nvar $cf3d4182e663752d$var$getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif ($cf3d4182e663752d$var$hasToStringTag && $dYOee && $cf3d4182e663752d$var$getPrototypeOf) $gFhA7($cf3d4182e663752d$var$typedArrays, function(typedArray) {\n var arr = new $cf3d4182e663752d$var$g[typedArray]();\n if (Symbol.toStringTag in arr) {\n var proto = $cf3d4182e663752d$var$getPrototypeOf(arr);\n var descriptor = $dYOee(proto, Symbol.toStringTag);\n if (!descriptor) {\n var superProto = $cf3d4182e663752d$var$getPrototypeOf(proto);\n descriptor = $dYOee(superProto, Symbol.toStringTag);\n }\n $cf3d4182e663752d$var$toStrTags[typedArray] = descriptor.get;\n }\n});\nvar $cf3d4182e663752d$var$tryTypedArrays = function tryAllTypedArrays(value) {\n var anyTrue = false;\n $gFhA7($cf3d4182e663752d$var$toStrTags, function(getter, typedArray) {\n if (!anyTrue) try {\n anyTrue = getter.call(value) === typedArray;\n } catch (e) {}\n });\n return anyTrue;\n};\nmodule.exports = function isTypedArray(value) {\n if (!value || typeof value !== \"object\") return false;\n if (!$cf3d4182e663752d$var$hasToStringTag || !(Symbol.toStringTag in value)) {\n var tag = $cf3d4182e663752d$var$$slice($cf3d4182e663752d$var$$toString(value), 8, -1);\n return $cf3d4182e663752d$var$$indexOf($cf3d4182e663752d$var$typedArrays, tag) > -1;\n }\n if (!$dYOee) return false;\n return $cf3d4182e663752d$var$tryTypedArrays(value);\n};\n\n});\n\n\n\nparcelRequire.register(\"kotBY\", function(module, exports) {\nmodule.exports = function isBuffer(arg) {\n return arg && typeof arg === \"object\" && typeof arg.copy === \"function\" && typeof arg.fill === \"function\" && typeof arg.readUInt8 === \"function\";\n};\n\n});\n\nparcelRequire.register(\"dlqwk\", function(module, exports) {\nif (typeof Object.create === \"function\") // implementation from standard node.js 'util' module\nmodule.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n};\nelse // old school shim for old browsers\nmodule.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n};\n\n});\n\n\n\nparcelRequire.register(\"8pS6q\", function(module, exports) {\n// Currently in sync with Node.js lib/internal/assert/assertion_error.js\n// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c\n\nvar $hPtJY = parcelRequire(\"hPtJY\");\n\"use strict\";\nfunction $620aa032cca82da4$var$_objectSpread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n if (typeof Object.getOwnPropertySymbols === \"function\") ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n ownKeys.forEach(function(key) {\n $620aa032cca82da4$var$_defineProperty(target, key, source[key]);\n });\n }\n return target;\n}\nfunction $620aa032cca82da4$var$_defineProperty(obj, key, value) {\n if (key in obj) Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n else obj[key] = value;\n return obj;\n}\nfunction $620aa032cca82da4$var$_classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction $620aa032cca82da4$var$_defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction $620aa032cca82da4$var$_createClass(Constructor, protoProps, staticProps) {\n if (protoProps) $620aa032cca82da4$var$_defineProperties(Constructor.prototype, protoProps);\n if (staticProps) $620aa032cca82da4$var$_defineProperties(Constructor, staticProps);\n return Constructor;\n}\nfunction $620aa032cca82da4$var$_possibleConstructorReturn(self, call) {\n if (call && ($620aa032cca82da4$var$_typeof(call) === \"object\" || typeof call === \"function\")) return call;\n return $620aa032cca82da4$var$_assertThisInitialized(self);\n}\nfunction $620aa032cca82da4$var$_assertThisInitialized(self) {\n if (self === void 0) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n return self;\n}\nfunction $620aa032cca82da4$var$_inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) throw new TypeError(\"Super expression must either be null or a function\");\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) $620aa032cca82da4$var$_setPrototypeOf(subClass, superClass);\n}\nfunction $620aa032cca82da4$var$_wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n $620aa032cca82da4$var$_wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !$620aa032cca82da4$var$_isNativeFunction(Class)) return Class;\n if (typeof Class !== \"function\") throw new TypeError(\"Super expression must either be null or a function\");\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n _cache.set(Class, Wrapper);\n }\n function Wrapper() {\n return $620aa032cca82da4$var$_construct(Class, arguments, $620aa032cca82da4$var$_getPrototypeOf(this).constructor);\n }\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return $620aa032cca82da4$var$_setPrototypeOf(Wrapper, Class);\n };\n return $620aa032cca82da4$var$_wrapNativeSuper(Class);\n}\nfunction $620aa032cca82da4$var$isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Date.prototype.toString.call(Reflect.construct(Date, [], function() {}));\n return true;\n } catch (e) {\n return false;\n }\n}\nfunction $620aa032cca82da4$var$_construct(Parent, args, Class) {\n if ($620aa032cca82da4$var$isNativeReflectConstruct()) $620aa032cca82da4$var$_construct = Reflect.construct;\n else $620aa032cca82da4$var$_construct = function _construct(Parent, args, Class) {\n var a = [\n null\n ];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) $620aa032cca82da4$var$_setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n return $620aa032cca82da4$var$_construct.apply(null, arguments);\n}\nfunction $620aa032cca82da4$var$_isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\nfunction $620aa032cca82da4$var$_setPrototypeOf(o, p) {\n $620aa032cca82da4$var$_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return $620aa032cca82da4$var$_setPrototypeOf(o, p);\n}\nfunction $620aa032cca82da4$var$_getPrototypeOf(o) {\n $620aa032cca82da4$var$_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return $620aa032cca82da4$var$_getPrototypeOf(o);\n}\nfunction $620aa032cca82da4$var$_typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") $620aa032cca82da4$var$_typeof = function _typeof(obj) {\n return typeof obj;\n };\n else $620aa032cca82da4$var$_typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n return $620aa032cca82da4$var$_typeof(obj);\n}\n\nvar $N7Lcz = parcelRequire(\"N7Lcz\");\nvar $620aa032cca82da4$var$inspect = $N7Lcz.inspect;\n\nvar $cCihK = parcelRequire(\"cCihK\");\nvar $620aa032cca82da4$var$ERR_INVALID_ARG_TYPE = $cCihK.codes.ERR_INVALID_ARG_TYPE; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nfunction $620aa032cca82da4$var$endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) this_len = str.length;\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\nfunction $620aa032cca82da4$var$repeat(str, count) {\n count = Math.floor(count);\n if (str.length == 0 || count == 0) return \"\";\n var maxCount = str.length * count;\n count = Math.floor(Math.log(count) / Math.log(2));\n while(count){\n str += str;\n count--;\n }\n str += str.substring(0, maxCount - str.length);\n return str;\n}\nvar $620aa032cca82da4$var$blue = \"\";\nvar $620aa032cca82da4$var$green = \"\";\nvar $620aa032cca82da4$var$red = \"\";\nvar $620aa032cca82da4$var$white = \"\";\nvar $620aa032cca82da4$var$kReadableOperator = {\n deepStrictEqual: \"Expected values to be strictly deep-equal:\",\n strictEqual: \"Expected values to be strictly equal:\",\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: \"Expected values to be loosely deep-equal:\",\n equal: \"Expected values to be loosely equal:\",\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: \"Values identical but not reference-equal:\"\n}; // Comparing short primitives should just show === / !== instead of using the\n// diff.\nvar $620aa032cca82da4$var$kMaxShortLength = 10;\nfunction $620aa032cca82da4$var$copyError(source) {\n var keys = Object.keys(source);\n var target = Object.create(Object.getPrototypeOf(source));\n keys.forEach(function(key) {\n target[key] = source[key];\n });\n Object.defineProperty(target, \"message\", {\n value: source.message\n });\n return target;\n}\nfunction $620aa032cca82da4$var$inspectValue(val) {\n // The util.inspect default values could be changed. This makes sure the\n // error messages contain the necessary information nevertheless.\n return $620aa032cca82da4$var$inspect(val, {\n compact: false,\n customInspect: false,\n depth: 1000,\n maxArrayLength: Infinity,\n // Assert compares only enumerable properties (with a few exceptions).\n showHidden: false,\n // Having a long line as error is better than wrapping the line for\n // comparison for now.\n // TODO(BridgeAR): `breakLength` should be limited as soon as soon as we\n // have meta information about the inspected properties (i.e., know where\n // in what line the property starts and ends).\n breakLength: Infinity,\n // Assert does not detect proxies currently.\n showProxy: false,\n sorted: true,\n // Inspect getters as we also check them when comparing entries.\n getters: true\n });\n}\nfunction $620aa032cca82da4$var$createErrDiff(actual, expected, operator) {\n var other = \"\";\n var res = \"\";\n var lastPos = 0;\n var end = \"\";\n var skipped = false;\n var actualInspected = $620aa032cca82da4$var$inspectValue(actual);\n var actualLines = actualInspected.split(\"\\n\");\n var expectedLines = $620aa032cca82da4$var$inspectValue(expected).split(\"\\n\");\n var i = 0;\n var indicator = \"\"; // In case both values are objects explicitly mark them as not reference equal\n // for the `strictEqual` operator.\n if (operator === \"strictEqual\" && $620aa032cca82da4$var$_typeof(actual) === \"object\" && $620aa032cca82da4$var$_typeof(expected) === \"object\" && actual !== null && expected !== null) operator = \"strictEqualObject\";\n // If \"actual\" and \"expected\" fit on a single line and they are not strictly\n // equal, check further special handling.\n if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length; // If the character length of \"actual\" and \"expected\" together is less than\n // kMaxShortLength and if neither is an object and at least one of them is\n // not `zero`, use the strict equal comparison to visualize the output.\n if (inputLength <= $620aa032cca82da4$var$kMaxShortLength) {\n if (($620aa032cca82da4$var$_typeof(actual) !== \"object\" || actual === null) && ($620aa032cca82da4$var$_typeof(expected) !== \"object\" || expected === null) && (actual !== 0 || expected !== 0)) // -0 === +0\n return \"\".concat($620aa032cca82da4$var$kReadableOperator[operator], \"\\n\\n\") + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], \"\\n\");\n } else if (operator !== \"strictEqualObject\") {\n // If the stderr is a tty and the input length is lower than the current\n // columns per line, add a mismatch indicator below the output. If it is\n // not a tty, use a default value of 80 characters.\n var maxLength = $hPtJY.stderr && $hPtJY.stderr.isTTY ? $hPtJY.stderr.columns : 80;\n if (inputLength < maxLength) {\n while(actualLines[0][i] === expectedLines[0][i])i++;\n // Ignore the first characters.\n if (i > 2) {\n // Add position indicator for the first mismatch in case it is a\n // single line and the input length is less than the column length.\n indicator = \"\\n \".concat($620aa032cca82da4$var$repeat(\" \", i), \"^\");\n i = 0;\n }\n }\n }\n } // Remove all ending lines that match (this optimizes the output for\n // readability by reducing the number of total changed lines).\n var a = actualLines[actualLines.length - 1];\n var b = expectedLines[expectedLines.length - 1];\n while(a === b){\n if (i++ < 2) end = \"\\n \".concat(a).concat(end);\n else other = a;\n actualLines.pop();\n expectedLines.pop();\n if (actualLines.length === 0 || expectedLines.length === 0) break;\n a = actualLines[actualLines.length - 1];\n b = expectedLines[expectedLines.length - 1];\n }\n var maxLines = Math.max(actualLines.length, expectedLines.length); // Strict equal with identical objects that are not identical by reference.\n // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })\n if (maxLines === 0) {\n // We have to get the result again. The lines were all removed before.\n var _actualLines = actualInspected.split(\"\\n\"); // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n if (_actualLines.length > 30) {\n _actualLines[26] = \"\".concat($620aa032cca82da4$var$blue, \"...\").concat($620aa032cca82da4$var$white);\n while(_actualLines.length > 27)_actualLines.pop();\n }\n return \"\".concat($620aa032cca82da4$var$kReadableOperator.notIdentical, \"\\n\\n\").concat(_actualLines.join(\"\\n\"), \"\\n\");\n }\n if (i > 3) {\n end = \"\\n\".concat($620aa032cca82da4$var$blue, \"...\").concat($620aa032cca82da4$var$white).concat(end);\n skipped = true;\n }\n if (other !== \"\") {\n end = \"\\n \".concat(other).concat(end);\n other = \"\";\n }\n var printedLines = 0;\n var msg = $620aa032cca82da4$var$kReadableOperator[operator] + \"\\n\".concat($620aa032cca82da4$var$green, \"+ actual\").concat($620aa032cca82da4$var$white, \" \").concat($620aa032cca82da4$var$red, \"- expected\").concat($620aa032cca82da4$var$white);\n var skippedMsg = \" \".concat($620aa032cca82da4$var$blue, \"...\").concat($620aa032cca82da4$var$white, \" Lines skipped\");\n for(i = 0; i < maxLines; i++){\n // Only extra expected lines exist\n var cur = i - lastPos;\n if (actualLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat($620aa032cca82da4$var$blue, \"...\").concat($620aa032cca82da4$var$white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(expectedLines[i - 2]);\n printedLines++;\n }\n res += \"\\n \".concat(expectedLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n lastPos = i; // Add the expected line to the cache.\n other += \"\\n\".concat($620aa032cca82da4$var$red, \"-\").concat($620aa032cca82da4$var$white, \" \").concat(expectedLines[i]);\n printedLines++; // Only extra actual lines exist\n } else if (expectedLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat($620aa032cca82da4$var$blue, \"...\").concat($620aa032cca82da4$var$white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n lastPos = i; // Add the actual line to the result.\n res += \"\\n\".concat($620aa032cca82da4$var$green, \"+\").concat($620aa032cca82da4$var$white, \" \").concat(actualLines[i]);\n printedLines++; // Lines diverge\n } else {\n var expectedLine = expectedLines[i];\n var actualLine = actualLines[i]; // If the lines diverge, specifically check for lines that only diverge by\n // a trailing comma. In that case it is actually identical and we should\n // mark it as such.\n var divergingLines = actualLine !== expectedLine && (!$620aa032cca82da4$var$endsWith(actualLine, \",\") || actualLine.slice(0, -1) !== expectedLine); // If the expected line has a trailing comma but is otherwise identical,\n // add a comma at the end of the actual line. Otherwise the output could\n // look weird as in:\n //\n // [\n // 1 // No comma at the end!\n // + 2\n // ]\n //\n if (divergingLines && $620aa032cca82da4$var$endsWith(expectedLine, \",\") && expectedLine.slice(0, -1) === actualLine) {\n divergingLines = false;\n actualLine += \",\";\n }\n if (divergingLines) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat($620aa032cca82da4$var$blue, \"...\").concat($620aa032cca82da4$var$white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n lastPos = i; // Add the actual line to the result and cache the expected diverging\n // line so consecutive diverging lines show up as +++--- and not +-+-+-.\n res += \"\\n\".concat($620aa032cca82da4$var$green, \"+\").concat($620aa032cca82da4$var$white, \" \").concat(actualLine);\n other += \"\\n\".concat($620aa032cca82da4$var$red, \"-\").concat($620aa032cca82da4$var$white, \" \").concat(expectedLine);\n printedLines += 2; // Lines are identical\n } else {\n // Add all cached information to the result before adding other things\n // and reset the cache.\n res += other;\n other = \"\"; // If the last diverging line is exactly one line above or if it is the\n // very first line, add the line to the result.\n if (cur === 1 || i === 0) {\n res += \"\\n \".concat(actualLine);\n printedLines++;\n }\n }\n } // Inspected object to big (Show ~20 rows max)\n if (printedLines > 20 && i < maxLines - 2) return \"\".concat(msg).concat(skippedMsg, \"\\n\").concat(res, \"\\n\").concat($620aa032cca82da4$var$blue, \"...\").concat($620aa032cca82da4$var$white).concat(other, \"\\n\") + \"\".concat($620aa032cca82da4$var$blue, \"...\").concat($620aa032cca82da4$var$white);\n }\n return \"\".concat(msg).concat(skipped ? skippedMsg : \"\", \"\\n\").concat(res).concat(other).concat(end).concat(indicator);\n}\nvar $620aa032cca82da4$var$AssertionError = /*#__PURE__*/ function(_Error) {\n $620aa032cca82da4$var$_inherits(AssertionError, _Error);\n function AssertionError(options) {\n var _this;\n $620aa032cca82da4$var$_classCallCheck(this, AssertionError);\n if ($620aa032cca82da4$var$_typeof(options) !== \"object\" || options === null) throw new $620aa032cca82da4$var$ERR_INVALID_ARG_TYPE(\"options\", \"Object\", options);\n var message = options.message, operator = options.operator, stackStartFn = options.stackStartFn;\n var actual = options.actual, expected = options.expected;\n var limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n if (message != null) _this = $620aa032cca82da4$var$_possibleConstructorReturn(this, $620aa032cca82da4$var$_getPrototypeOf(AssertionError).call(this, String(message)));\n else {\n if ($hPtJY.stderr && $hPtJY.stderr.isTTY) {\n // Reset on each call to make sure we handle dynamically set environment\n // variables correct.\n if ($hPtJY.stderr && $hPtJY.stderr.getColorDepth && $hPtJY.stderr.getColorDepth() !== 1) {\n $620aa032cca82da4$var$blue = \"\\x1b[34m\";\n $620aa032cca82da4$var$green = \"\\x1b[32m\";\n $620aa032cca82da4$var$white = \"\\x1b[39m\";\n $620aa032cca82da4$var$red = \"\\x1b[31m\";\n } else {\n $620aa032cca82da4$var$blue = \"\";\n $620aa032cca82da4$var$green = \"\";\n $620aa032cca82da4$var$white = \"\";\n $620aa032cca82da4$var$red = \"\";\n }\n } // Prevent the error stack from being visible by duplicating the error\n // in a very close way to the original in case both sides are actually\n // instances of Error.\n if ($620aa032cca82da4$var$_typeof(actual) === \"object\" && actual !== null && $620aa032cca82da4$var$_typeof(expected) === \"object\" && expected !== null && \"stack\" in actual && actual instanceof Error && \"stack\" in expected && expected instanceof Error) {\n actual = $620aa032cca82da4$var$copyError(actual);\n expected = $620aa032cca82da4$var$copyError(expected);\n }\n if (operator === \"deepStrictEqual\" || operator === \"strictEqual\") _this = $620aa032cca82da4$var$_possibleConstructorReturn(this, $620aa032cca82da4$var$_getPrototypeOf(AssertionError).call(this, $620aa032cca82da4$var$createErrDiff(actual, expected, operator)));\n else if (operator === \"notDeepStrictEqual\" || operator === \"notStrictEqual\") {\n // In case the objects are equal but the operator requires unequal, show\n // the first object and say A equals B\n var base = $620aa032cca82da4$var$kReadableOperator[operator];\n var res = $620aa032cca82da4$var$inspectValue(actual).split(\"\\n\"); // In case \"actual\" is an object, it should not be reference equal.\n if (operator === \"notStrictEqual\" && $620aa032cca82da4$var$_typeof(actual) === \"object\" && actual !== null) base = $620aa032cca82da4$var$kReadableOperator.notStrictEqualObject;\n // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n if (res.length > 30) {\n res[26] = \"\".concat($620aa032cca82da4$var$blue, \"...\").concat($620aa032cca82da4$var$white);\n while(res.length > 27)res.pop();\n } // Only print a single input.\n if (res.length === 1) _this = $620aa032cca82da4$var$_possibleConstructorReturn(this, $620aa032cca82da4$var$_getPrototypeOf(AssertionError).call(this, \"\".concat(base, \" \").concat(res[0])));\n else _this = $620aa032cca82da4$var$_possibleConstructorReturn(this, $620aa032cca82da4$var$_getPrototypeOf(AssertionError).call(this, \"\".concat(base, \"\\n\\n\").concat(res.join(\"\\n\"), \"\\n\")));\n } else {\n var _res = $620aa032cca82da4$var$inspectValue(actual);\n var other = \"\";\n var knownOperators = $620aa032cca82da4$var$kReadableOperator[operator];\n if (operator === \"notDeepEqual\" || operator === \"notEqual\") {\n _res = \"\".concat($620aa032cca82da4$var$kReadableOperator[operator], \"\\n\\n\").concat(_res);\n if (_res.length > 1024) _res = \"\".concat(_res.slice(0, 1021), \"...\");\n } else {\n other = \"\".concat($620aa032cca82da4$var$inspectValue(expected));\n if (_res.length > 512) _res = \"\".concat(_res.slice(0, 509), \"...\");\n if (other.length > 512) other = \"\".concat(other.slice(0, 509), \"...\");\n if (operator === \"deepEqual\" || operator === \"equal\") _res = \"\".concat(knownOperators, \"\\n\\n\").concat(_res, \"\\n\\nshould equal\\n\\n\");\n else other = \" \".concat(operator, \" \").concat(other);\n }\n _this = $620aa032cca82da4$var$_possibleConstructorReturn(this, $620aa032cca82da4$var$_getPrototypeOf(AssertionError).call(this, \"\".concat(_res).concat(other)));\n }\n }\n Error.stackTraceLimit = limit;\n _this.generatedMessage = !message;\n Object.defineProperty($620aa032cca82da4$var$_assertThisInitialized(_this), \"name\", {\n value: \"AssertionError [ERR_ASSERTION]\",\n enumerable: false,\n writable: true,\n configurable: true\n });\n _this.code = \"ERR_ASSERTION\";\n _this.actual = actual;\n _this.expected = expected;\n _this.operator = operator;\n if (Error.captureStackTrace) // eslint-disable-next-line no-restricted-syntax\n Error.captureStackTrace($620aa032cca82da4$var$_assertThisInitialized(_this), stackStartFn);\n // Create error message including the error code in the name.\n _this.stack; // Reset the name.\n _this.name = \"AssertionError\";\n return $620aa032cca82da4$var$_possibleConstructorReturn(_this);\n }\n $620aa032cca82da4$var$_createClass(AssertionError, [\n {\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n },\n {\n key: $620aa032cca82da4$var$inspect.custom,\n value: function value(recurseTimes, ctx) {\n // This limits the `actual` and `expected` property default inspection to\n // the minimum depth. Otherwise those values would be too verbose compared\n // to the actual error message which contains a combined view of these two\n // input values.\n return $620aa032cca82da4$var$inspect(this, $620aa032cca82da4$var$_objectSpread({}, ctx, {\n customInspect: false,\n depth: 0\n }));\n }\n }\n ]);\n return AssertionError;\n}($620aa032cca82da4$var$_wrapNativeSuper(Error));\nmodule.exports = $620aa032cca82da4$var$AssertionError;\n\n});\n\nparcelRequire.register(\"dYBnA\", function(module, exports) {\n/**\n * Code refactored from Mozilla Developer Network:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n */ \"use strict\";\nfunction $a2cddfb99e0a6135$var$assign(target, firstSource) {\n if (target === undefined || target === null) throw new TypeError(\"Cannot convert first argument to object\");\n var to = Object(target);\n for(var i = 1; i < arguments.length; i++){\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) continue;\n var keysArray = Object.keys(Object(nextSource));\n for(var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++){\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) to[nextKey] = nextSource[nextKey];\n }\n }\n return to;\n}\nfunction $a2cddfb99e0a6135$var$polyfill() {\n if (!Object.assign) Object.defineProperty(Object, \"assign\", {\n enumerable: false,\n configurable: true,\n writable: true,\n value: $a2cddfb99e0a6135$var$assign\n });\n}\nmodule.exports = {\n assign: $a2cddfb99e0a6135$var$assign,\n polyfill: $a2cddfb99e0a6135$var$polyfill\n};\n\n});\n\nparcelRequire.register(\"eT9RM\", function(module, exports) {\n\"use strict\";\n\nvar $1UbTr = parcelRequire(\"1UbTr\");\n\nvar $cOB0F = parcelRequire(\"cOB0F\");\n\nvar $6wuPW = parcelRequire(\"6wuPW\");\n\nvar $5SxoI = parcelRequire(\"5SxoI\");\n\nvar $bNbuK = parcelRequire(\"bNbuK\");\nvar $ad6ddb07ef0cb149$var$polyfill = $cOB0F($5SxoI(), Object);\n$1UbTr($ad6ddb07ef0cb149$var$polyfill, {\n getPolyfill: $5SxoI,\n implementation: $6wuPW,\n shim: $bNbuK\n});\nmodule.exports = $ad6ddb07ef0cb149$var$polyfill;\n\n});\nparcelRequire.register(\"1UbTr\", function(module, exports) {\n\"use strict\";\n\nvar $81enX = parcelRequire(\"81enX\");\nvar $16343f2546a69e4c$var$hasSymbols = typeof Symbol === \"function\" && typeof Symbol(\"foo\") === \"symbol\";\nvar $16343f2546a69e4c$var$toStr = Object.prototype.toString;\nvar $16343f2546a69e4c$var$concat = Array.prototype.concat;\nvar $16343f2546a69e4c$var$origDefineProperty = Object.defineProperty;\nvar $16343f2546a69e4c$var$isFunction = function(fn) {\n return typeof fn === \"function\" && $16343f2546a69e4c$var$toStr.call(fn) === \"[object Function]\";\n};\n\nvar $16343f2546a69e4c$var$hasPropertyDescriptors = (parcelRequire(\"i16wS\"))();\nvar $16343f2546a69e4c$var$supportsDescriptors = $16343f2546a69e4c$var$origDefineProperty && $16343f2546a69e4c$var$hasPropertyDescriptors;\nvar $16343f2546a69e4c$var$defineProperty = function(object, name, value, predicate) {\n if (name in object) {\n if (predicate === true) {\n if (object[name] === value) return;\n } else if (!$16343f2546a69e4c$var$isFunction(predicate) || !predicate()) return;\n }\n if ($16343f2546a69e4c$var$supportsDescriptors) $16343f2546a69e4c$var$origDefineProperty(object, name, {\n configurable: true,\n enumerable: false,\n value: value,\n writable: true\n });\n else object[name] = value; // eslint-disable-line no-param-reassign\n};\nvar $16343f2546a69e4c$var$defineProperties = function(object, map) {\n var predicates = arguments.length > 2 ? arguments[2] : {};\n var props = $81enX(map);\n if ($16343f2546a69e4c$var$hasSymbols) props = $16343f2546a69e4c$var$concat.call(props, Object.getOwnPropertySymbols(map));\n for(var i = 0; i < props.length; i += 1)$16343f2546a69e4c$var$defineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n};\n$16343f2546a69e4c$var$defineProperties.supportsDescriptors = !!$16343f2546a69e4c$var$supportsDescriptors;\nmodule.exports = $16343f2546a69e4c$var$defineProperties;\n\n});\nparcelRequire.register(\"81enX\", function(module, exports) {\n\"use strict\";\nvar $5d69935f2747da8d$var$slice = Array.prototype.slice;\n\nvar $z1gio = parcelRequire(\"z1gio\");\nvar $5d69935f2747da8d$var$origKeys = Object.keys;\n\nvar $5d69935f2747da8d$var$keysShim = $5d69935f2747da8d$var$origKeys ? function keys(o) {\n return $5d69935f2747da8d$var$origKeys(o);\n} : (parcelRequire(\"4nFCC\"));\nvar $5d69935f2747da8d$var$originalKeys = Object.keys;\n$5d69935f2747da8d$var$keysShim.shim = function shimObjectKeys() {\n if (Object.keys) {\n var keysWorksWithArguments = function() {\n // Safari 5.0 bug\n var args = Object.keys(arguments);\n return args && args.length === arguments.length;\n }(1, 2);\n if (!keysWorksWithArguments) Object.keys = function keys(object) {\n if ($z1gio(object)) return $5d69935f2747da8d$var$originalKeys($5d69935f2747da8d$var$slice.call(object));\n return $5d69935f2747da8d$var$originalKeys(object);\n };\n } else Object.keys = $5d69935f2747da8d$var$keysShim;\n return Object.keys || $5d69935f2747da8d$var$keysShim;\n};\nmodule.exports = $5d69935f2747da8d$var$keysShim;\n\n});\nparcelRequire.register(\"z1gio\", function(module, exports) {\n\"use strict\";\nvar $06943f92b55ad7fa$var$toStr = Object.prototype.toString;\nmodule.exports = function isArguments(value) {\n var str = $06943f92b55ad7fa$var$toStr.call(value);\n var isArgs = str === \"[object Arguments]\";\n if (!isArgs) isArgs = str !== \"[object Array]\" && value !== null && typeof value === \"object\" && typeof value.length === \"number\" && value.length >= 0 && $06943f92b55ad7fa$var$toStr.call(value.callee) === \"[object Function]\";\n return isArgs;\n};\n\n});\n\nparcelRequire.register(\"4nFCC\", function(module, exports) {\n\"use strict\";\nvar $330998a67e44345d$var$keysShim;\n\nif (!Object.keys) {\n // modified from https://github.com/es-shims/es5-shim\n var $330998a67e44345d$var$has = Object.prototype.hasOwnProperty;\n var $330998a67e44345d$var$toStr = Object.prototype.toString;\n var $330998a67e44345d$var$isArgs = (parcelRequire(\"z1gio\")); // eslint-disable-line global-require\n var $330998a67e44345d$var$isEnumerable = Object.prototype.propertyIsEnumerable;\n var $330998a67e44345d$var$hasDontEnumBug = !$330998a67e44345d$var$isEnumerable.call({\n toString: null\n }, \"toString\");\n var $330998a67e44345d$var$hasProtoEnumBug = $330998a67e44345d$var$isEnumerable.call(function() {}, \"prototype\");\n var $330998a67e44345d$var$dontEnums = [\n \"toString\",\n \"toLocaleString\",\n \"valueOf\",\n \"hasOwnProperty\",\n \"isPrototypeOf\",\n \"propertyIsEnumerable\",\n \"constructor\"\n ];\n var $330998a67e44345d$var$equalsConstructorPrototype = function(o) {\n var ctor = o.constructor;\n return ctor && ctor.prototype === o;\n };\n var $330998a67e44345d$var$excludedKeys = {\n $applicationCache: true,\n $console: true,\n $external: true,\n $frame: true,\n $frameElement: true,\n $frames: true,\n $innerHeight: true,\n $innerWidth: true,\n $onmozfullscreenchange: true,\n $onmozfullscreenerror: true,\n $outerHeight: true,\n $outerWidth: true,\n $pageXOffset: true,\n $pageYOffset: true,\n $parent: true,\n $scrollLeft: true,\n $scrollTop: true,\n $scrollX: true,\n $scrollY: true,\n $self: true,\n $webkitIndexedDB: true,\n $webkitStorageInfo: true,\n $window: true\n };\n var $330998a67e44345d$var$hasAutomationEqualityBug = function() {\n /* global window */ if (typeof window === \"undefined\") return false;\n for(var k in window)try {\n if (!$330998a67e44345d$var$excludedKeys[\"$\" + k] && $330998a67e44345d$var$has.call(window, k) && window[k] !== null && typeof window[k] === \"object\") try {\n $330998a67e44345d$var$equalsConstructorPrototype(window[k]);\n } catch (e) {\n return true;\n }\n } catch (e) {\n return true;\n }\n return false;\n }();\n var $330998a67e44345d$var$equalsConstructorPrototypeIfNotBuggy = function(o) {\n /* global window */ if (typeof window === \"undefined\" || !$330998a67e44345d$var$hasAutomationEqualityBug) return $330998a67e44345d$var$equalsConstructorPrototype(o);\n try {\n return $330998a67e44345d$var$equalsConstructorPrototype(o);\n } catch (e) {\n return false;\n }\n };\n $330998a67e44345d$var$keysShim = function keys(object) {\n var isObject = object !== null && typeof object === \"object\";\n var isFunction = $330998a67e44345d$var$toStr.call(object) === \"[object Function]\";\n var isArguments = $330998a67e44345d$var$isArgs(object);\n var isString = isObject && $330998a67e44345d$var$toStr.call(object) === \"[object String]\";\n var theKeys = [];\n if (!isObject && !isFunction && !isArguments) throw new TypeError(\"Object.keys called on a non-object\");\n var skipProto = $330998a67e44345d$var$hasProtoEnumBug && isFunction;\n if (isString && object.length > 0 && !$330998a67e44345d$var$has.call(object, 0)) for(var i = 0; i < object.length; ++i)theKeys.push(String(i));\n if (isArguments && object.length > 0) for(var j = 0; j < object.length; ++j)theKeys.push(String(j));\n else {\n for(var name in object)if (!(skipProto && name === \"prototype\") && $330998a67e44345d$var$has.call(object, name)) theKeys.push(String(name));\n }\n if ($330998a67e44345d$var$hasDontEnumBug) {\n var skipConstructor = $330998a67e44345d$var$equalsConstructorPrototypeIfNotBuggy(object);\n for(var k = 0; k < $330998a67e44345d$var$dontEnums.length; ++k)if (!(skipConstructor && $330998a67e44345d$var$dontEnums[k] === \"constructor\") && $330998a67e44345d$var$has.call(object, $330998a67e44345d$var$dontEnums[k])) theKeys.push($330998a67e44345d$var$dontEnums[k]);\n }\n return theKeys;\n };\n}\nmodule.exports = $330998a67e44345d$var$keysShim;\n\n});\n\n\nparcelRequire.register(\"i16wS\", function(module, exports) {\n\"use strict\";\n\nvar $1zENl = parcelRequire(\"1zENl\");\nvar $d1dd62937e17e68d$var$$defineProperty = $1zENl(\"%Object.defineProperty%\", true);\nvar $d1dd62937e17e68d$var$hasPropertyDescriptors = function hasPropertyDescriptors() {\n if ($d1dd62937e17e68d$var$$defineProperty) try {\n $d1dd62937e17e68d$var$$defineProperty({}, \"a\", {\n value: 1\n });\n return true;\n } catch (e) {\n // IE 8 has a broken defineProperty\n return false;\n }\n return false;\n};\n$d1dd62937e17e68d$var$hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n // node v0.6 has a bug where array lengths can be Set but not Defined\n if (!$d1dd62937e17e68d$var$hasPropertyDescriptors()) return null;\n try {\n return $d1dd62937e17e68d$var$$defineProperty([], \"length\", {\n value: 1\n }).length !== 1;\n } catch (e) {\n // In Firefox 4-22, defining length on an array throws an exception.\n return true;\n }\n};\nmodule.exports = $d1dd62937e17e68d$var$hasPropertyDescriptors;\n\n});\n\n\nparcelRequire.register(\"6wuPW\", function(module, exports) {\n\"use strict\";\nvar $4bfda6cb765ad269$var$numberIsNaN = function(value) {\n return value !== value;\n};\nmodule.exports = function is(a, b) {\n if (a === 0 && b === 0) return 1 / a === 1 / b;\n if (a === b) return true;\n if ($4bfda6cb765ad269$var$numberIsNaN(a) && $4bfda6cb765ad269$var$numberIsNaN(b)) return true;\n return false;\n};\n\n});\n\nparcelRequire.register(\"5SxoI\", function(module, exports) {\n\"use strict\";\n\nvar $6wuPW = parcelRequire(\"6wuPW\");\nmodule.exports = function getPolyfill() {\n return typeof Object.is === \"function\" ? Object.is : $6wuPW;\n};\n\n});\n\nparcelRequire.register(\"bNbuK\", function(module, exports) {\n\"use strict\";\n\nvar $5SxoI = parcelRequire(\"5SxoI\");\n\nvar $1UbTr = parcelRequire(\"1UbTr\");\nmodule.exports = function shimObjectIs() {\n var polyfill = $5SxoI();\n $1UbTr(Object, {\n is: polyfill\n }, {\n is: function testObjectIs() {\n return Object.is !== polyfill;\n }\n });\n return polyfill;\n};\n\n});\n\n\nparcelRequire.register(\"3LKhK\", function(module, exports) {\n// Currently in sync with Node.js lib/internal/util/comparisons.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\"use strict\";\nfunction $2be9aa30bff457b9$var$_slicedToArray(arr, i) {\n return $2be9aa30bff457b9$var$_arrayWithHoles(arr) || $2be9aa30bff457b9$var$_iterableToArrayLimit(arr, i) || $2be9aa30bff457b9$var$_nonIterableRest();\n}\nfunction $2be9aa30bff457b9$var$_nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n}\nfunction $2be9aa30bff457b9$var$_iterableToArrayLimit(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n try {\n for(var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true){\n _arr.push(_s.value);\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally{\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally{\n if (_d) throw _e;\n }\n }\n return _arr;\n}\nfunction $2be9aa30bff457b9$var$_arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\nfunction $2be9aa30bff457b9$var$_typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") $2be9aa30bff457b9$var$_typeof = function _typeof(obj) {\n return typeof obj;\n };\n else $2be9aa30bff457b9$var$_typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n return $2be9aa30bff457b9$var$_typeof(obj);\n}\nvar $2be9aa30bff457b9$var$regexFlagsSupported = /a/g.flags !== undefined;\nvar $2be9aa30bff457b9$var$arrayFromSet = function arrayFromSet(set) {\n var array = [];\n set.forEach(function(value) {\n return array.push(value);\n });\n return array;\n};\nvar $2be9aa30bff457b9$var$arrayFromMap = function arrayFromMap(map) {\n var array = [];\n map.forEach(function(value, key) {\n return array.push([\n key,\n value\n ]);\n });\n return array;\n};\n\nvar $2be9aa30bff457b9$var$objectIs = Object.is ? Object.is : (parcelRequire(\"eT9RM\"));\nvar $2be9aa30bff457b9$var$objectGetOwnPropertySymbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols : function() {\n return [];\n};\n\nvar $2be9aa30bff457b9$var$numberIsNaN = Number.isNaN ? Number.isNaN : (parcelRequire(\"c8Cyq\"));\nfunction $2be9aa30bff457b9$var$uncurryThis(f) {\n return f.call.bind(f);\n}\nvar $2be9aa30bff457b9$var$hasOwnProperty = $2be9aa30bff457b9$var$uncurryThis(Object.prototype.hasOwnProperty);\nvar $2be9aa30bff457b9$var$propertyIsEnumerable = $2be9aa30bff457b9$var$uncurryThis(Object.prototype.propertyIsEnumerable);\nvar $2be9aa30bff457b9$var$objectToString = $2be9aa30bff457b9$var$uncurryThis(Object.prototype.toString);\n\nvar $N7Lcz = parcelRequire(\"N7Lcz\");\nvar $2be9aa30bff457b9$require$_require$types = $N7Lcz.types;\nvar $2be9aa30bff457b9$var$isAnyArrayBuffer = $2be9aa30bff457b9$require$_require$types.isAnyArrayBuffer, $2be9aa30bff457b9$var$isArrayBufferView = $2be9aa30bff457b9$require$_require$types.isArrayBufferView, $2be9aa30bff457b9$var$isDate = $2be9aa30bff457b9$require$_require$types.isDate, $2be9aa30bff457b9$var$isMap = $2be9aa30bff457b9$require$_require$types.isMap, $2be9aa30bff457b9$var$isRegExp = $2be9aa30bff457b9$require$_require$types.isRegExp, $2be9aa30bff457b9$var$isSet = $2be9aa30bff457b9$require$_require$types.isSet, $2be9aa30bff457b9$var$isNativeError = $2be9aa30bff457b9$require$_require$types.isNativeError, $2be9aa30bff457b9$var$isBoxedPrimitive = $2be9aa30bff457b9$require$_require$types.isBoxedPrimitive, $2be9aa30bff457b9$var$isNumberObject = $2be9aa30bff457b9$require$_require$types.isNumberObject, $2be9aa30bff457b9$var$isStringObject = $2be9aa30bff457b9$require$_require$types.isStringObject, $2be9aa30bff457b9$var$isBooleanObject = $2be9aa30bff457b9$require$_require$types.isBooleanObject, $2be9aa30bff457b9$var$isBigIntObject = $2be9aa30bff457b9$require$_require$types.isBigIntObject, $2be9aa30bff457b9$var$isSymbolObject = $2be9aa30bff457b9$require$_require$types.isSymbolObject, $2be9aa30bff457b9$var$isFloat32Array = $2be9aa30bff457b9$require$_require$types.isFloat32Array, $2be9aa30bff457b9$var$isFloat64Array = $2be9aa30bff457b9$require$_require$types.isFloat64Array;\nfunction $2be9aa30bff457b9$var$isNonIndex(key) {\n if (key.length === 0 || key.length > 10) return true;\n for(var i = 0; i < key.length; i++){\n var code = key.charCodeAt(i);\n if (code < 48 || code > 57) return true;\n } // The maximum size for an array is 2 ** 32 -1.\n return key.length === 10 && key >= Math.pow(2, 32);\n}\nfunction $2be9aa30bff457b9$var$getOwnNonIndexProperties(value) {\n return Object.keys(value).filter($2be9aa30bff457b9$var$isNonIndex).concat($2be9aa30bff457b9$var$objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)));\n} // Taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */ function $2be9aa30bff457b9$var$compare(a, b) {\n if (a === b) return 0;\n var x = a.length;\n var y = b.length;\n for(var i = 0, len = Math.min(x, y); i < len; ++i)if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n if (x < y) return -1;\n if (y < x) return 1;\n return 0;\n}\nvar $2be9aa30bff457b9$var$ONLY_ENUMERABLE = undefined;\nvar $2be9aa30bff457b9$var$kStrict = true;\nvar $2be9aa30bff457b9$var$kLoose = false;\nvar $2be9aa30bff457b9$var$kNoIterator = 0;\nvar $2be9aa30bff457b9$var$kIsArray = 1;\nvar $2be9aa30bff457b9$var$kIsSet = 2;\nvar $2be9aa30bff457b9$var$kIsMap = 3; // Check if they have the same source and flags\nfunction $2be9aa30bff457b9$var$areSimilarRegExps(a, b) {\n return $2be9aa30bff457b9$var$regexFlagsSupported ? a.source === b.source && a.flags === b.flags : RegExp.prototype.toString.call(a) === RegExp.prototype.toString.call(b);\n}\nfunction $2be9aa30bff457b9$var$areSimilarFloatArrays(a, b) {\n if (a.byteLength !== b.byteLength) return false;\n for(var offset = 0; offset < a.byteLength; offset++){\n if (a[offset] !== b[offset]) return false;\n }\n return true;\n}\nfunction $2be9aa30bff457b9$var$areSimilarTypedArrays(a, b) {\n if (a.byteLength !== b.byteLength) return false;\n return $2be9aa30bff457b9$var$compare(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)) === 0;\n}\nfunction $2be9aa30bff457b9$var$areEqualArrayBuffers(buf1, buf2) {\n return buf1.byteLength === buf2.byteLength && $2be9aa30bff457b9$var$compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0;\n}\nfunction $2be9aa30bff457b9$var$isEqualBoxedPrimitive(val1, val2) {\n if ($2be9aa30bff457b9$var$isNumberObject(val1)) return $2be9aa30bff457b9$var$isNumberObject(val2) && $2be9aa30bff457b9$var$objectIs(Number.prototype.valueOf.call(val1), Number.prototype.valueOf.call(val2));\n if ($2be9aa30bff457b9$var$isStringObject(val1)) return $2be9aa30bff457b9$var$isStringObject(val2) && String.prototype.valueOf.call(val1) === String.prototype.valueOf.call(val2);\n if ($2be9aa30bff457b9$var$isBooleanObject(val1)) return $2be9aa30bff457b9$var$isBooleanObject(val2) && Boolean.prototype.valueOf.call(val1) === Boolean.prototype.valueOf.call(val2);\n if ($2be9aa30bff457b9$var$isBigIntObject(val1)) return $2be9aa30bff457b9$var$isBigIntObject(val2) && BigInt.prototype.valueOf.call(val1) === BigInt.prototype.valueOf.call(val2);\n return $2be9aa30bff457b9$var$isSymbolObject(val2) && Symbol.prototype.valueOf.call(val1) === Symbol.prototype.valueOf.call(val2);\n} // Notes: Type tags are historical [[Class]] properties that can be set by\n// FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS\n// and retrieved using Object.prototype.toString.call(obj) in JS\n// See https://tc39.github.io/ecma262/#sec-object.prototype.tostring\n// for a list of tags pre-defined in the spec.\n// There are some unspecified tags in the wild too (e.g. typed array tags).\n// Since tags can be altered, they only serve fast failures\n//\n// Typed arrays and buffers are checked by comparing the content in their\n// underlying ArrayBuffer. This optimization requires that it's\n// reasonable to interpret their underlying memory in the same way,\n// which is checked by comparing their type tags.\n// (e.g. a Uint8Array and a Uint16Array with the same memory content\n// could still be different because they will be interpreted differently).\n//\n// For strict comparison, objects should have\n// a) The same built-in type tags\n// b) The same prototypes.\nfunction $2be9aa30bff457b9$var$innerDeepEqual(val1, val2, strict, memos) {\n // All identical values are equivalent, as determined by ===.\n if (val1 === val2) {\n if (val1 !== 0) return true;\n return strict ? $2be9aa30bff457b9$var$objectIs(val1, val2) : true;\n } // Check more closely if val1 and val2 are equal.\n if (strict) {\n if ($2be9aa30bff457b9$var$_typeof(val1) !== \"object\") return typeof val1 === \"number\" && $2be9aa30bff457b9$var$numberIsNaN(val1) && $2be9aa30bff457b9$var$numberIsNaN(val2);\n if ($2be9aa30bff457b9$var$_typeof(val2) !== \"object\" || val1 === null || val2 === null) return false;\n if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) return false;\n } else {\n if (val1 === null || $2be9aa30bff457b9$var$_typeof(val1) !== \"object\") {\n if (val2 === null || $2be9aa30bff457b9$var$_typeof(val2) !== \"object\") // eslint-disable-next-line eqeqeq\n return val1 == val2;\n return false;\n }\n if (val2 === null || $2be9aa30bff457b9$var$_typeof(val2) !== \"object\") return false;\n }\n var val1Tag = $2be9aa30bff457b9$var$objectToString(val1);\n var val2Tag = $2be9aa30bff457b9$var$objectToString(val2);\n if (val1Tag !== val2Tag) return false;\n if (Array.isArray(val1)) {\n // Check for sparse arrays and general fast path\n if (val1.length !== val2.length) return false;\n var keys1 = $2be9aa30bff457b9$var$getOwnNonIndexProperties(val1, $2be9aa30bff457b9$var$ONLY_ENUMERABLE);\n var keys2 = $2be9aa30bff457b9$var$getOwnNonIndexProperties(val2, $2be9aa30bff457b9$var$ONLY_ENUMERABLE);\n if (keys1.length !== keys2.length) return false;\n return $2be9aa30bff457b9$var$keyCheck(val1, val2, strict, memos, $2be9aa30bff457b9$var$kIsArray, keys1);\n } // [browserify] This triggers on certain types in IE (Map/Set) so we don't\n // wan't to early return out of the rest of the checks. However we can check\n // if the second value is one of these values and the first isn't.\n if (val1Tag === \"[object Object]\") {\n // return keyCheck(val1, val2, strict, memos, kNoIterator);\n if (!$2be9aa30bff457b9$var$isMap(val1) && $2be9aa30bff457b9$var$isMap(val2) || !$2be9aa30bff457b9$var$isSet(val1) && $2be9aa30bff457b9$var$isSet(val2)) return false;\n }\n if ($2be9aa30bff457b9$var$isDate(val1)) {\n if (!$2be9aa30bff457b9$var$isDate(val2) || Date.prototype.getTime.call(val1) !== Date.prototype.getTime.call(val2)) return false;\n } else if ($2be9aa30bff457b9$var$isRegExp(val1)) {\n if (!$2be9aa30bff457b9$var$isRegExp(val2) || !$2be9aa30bff457b9$var$areSimilarRegExps(val1, val2)) return false;\n } else if ($2be9aa30bff457b9$var$isNativeError(val1) || val1 instanceof Error) {\n // Do not compare the stack as it might differ even though the error itself\n // is otherwise identical.\n if (val1.message !== val2.message || val1.name !== val2.name) return false;\n } else if ($2be9aa30bff457b9$var$isArrayBufferView(val1)) {\n if (!strict && ($2be9aa30bff457b9$var$isFloat32Array(val1) || $2be9aa30bff457b9$var$isFloat64Array(val1))) {\n if (!$2be9aa30bff457b9$var$areSimilarFloatArrays(val1, val2)) return false;\n } else if (!$2be9aa30bff457b9$var$areSimilarTypedArrays(val1, val2)) return false;\n // Buffer.compare returns true, so val1.length === val2.length. If they both\n // only contain numeric keys, we don't need to exam further than checking\n // the symbols.\n var _keys = $2be9aa30bff457b9$var$getOwnNonIndexProperties(val1, $2be9aa30bff457b9$var$ONLY_ENUMERABLE);\n var _keys2 = $2be9aa30bff457b9$var$getOwnNonIndexProperties(val2, $2be9aa30bff457b9$var$ONLY_ENUMERABLE);\n if (_keys.length !== _keys2.length) return false;\n return $2be9aa30bff457b9$var$keyCheck(val1, val2, strict, memos, $2be9aa30bff457b9$var$kNoIterator, _keys);\n } else if ($2be9aa30bff457b9$var$isSet(val1)) {\n if (!$2be9aa30bff457b9$var$isSet(val2) || val1.size !== val2.size) return false;\n return $2be9aa30bff457b9$var$keyCheck(val1, val2, strict, memos, $2be9aa30bff457b9$var$kIsSet);\n } else if ($2be9aa30bff457b9$var$isMap(val1)) {\n if (!$2be9aa30bff457b9$var$isMap(val2) || val1.size !== val2.size) return false;\n return $2be9aa30bff457b9$var$keyCheck(val1, val2, strict, memos, $2be9aa30bff457b9$var$kIsMap);\n } else if ($2be9aa30bff457b9$var$isAnyArrayBuffer(val1)) {\n if (!$2be9aa30bff457b9$var$areEqualArrayBuffers(val1, val2)) return false;\n } else if ($2be9aa30bff457b9$var$isBoxedPrimitive(val1) && !$2be9aa30bff457b9$var$isEqualBoxedPrimitive(val1, val2)) return false;\n return $2be9aa30bff457b9$var$keyCheck(val1, val2, strict, memos, $2be9aa30bff457b9$var$kNoIterator);\n}\nfunction $2be9aa30bff457b9$var$getEnumerables(val, keys) {\n return keys.filter(function(k) {\n return $2be9aa30bff457b9$var$propertyIsEnumerable(val, k);\n });\n}\nfunction $2be9aa30bff457b9$var$keyCheck(val1, val2, strict, memos, iterationType, aKeys) {\n // For all remaining Object pairs, including Array, objects and Maps,\n // equivalence is determined by having:\n // a) The same number of owned enumerable properties\n // b) The same set of keys/indexes (although not necessarily the same order)\n // c) Equivalent values for every corresponding key/index\n // d) For Sets and Maps, equal contents\n // Note: this accounts for both named and indexed properties on Arrays.\n if (arguments.length === 5) {\n aKeys = Object.keys(val1);\n var bKeys = Object.keys(val2); // The pair must have the same number of owned properties.\n if (aKeys.length !== bKeys.length) return false;\n } // Cheap key test\n var i = 0;\n for(; i < aKeys.length; i++){\n if (!$2be9aa30bff457b9$var$hasOwnProperty(val2, aKeys[i])) return false;\n }\n if (strict && arguments.length === 5) {\n var symbolKeysA = $2be9aa30bff457b9$var$objectGetOwnPropertySymbols(val1);\n if (symbolKeysA.length !== 0) {\n var count = 0;\n for(i = 0; i < symbolKeysA.length; i++){\n var key = symbolKeysA[i];\n if ($2be9aa30bff457b9$var$propertyIsEnumerable(val1, key)) {\n if (!$2be9aa30bff457b9$var$propertyIsEnumerable(val2, key)) return false;\n aKeys.push(key);\n count++;\n } else if ($2be9aa30bff457b9$var$propertyIsEnumerable(val2, key)) return false;\n }\n var symbolKeysB = $2be9aa30bff457b9$var$objectGetOwnPropertySymbols(val2);\n if (symbolKeysA.length !== symbolKeysB.length && $2be9aa30bff457b9$var$getEnumerables(val2, symbolKeysB).length !== count) return false;\n } else {\n var _symbolKeysB = $2be9aa30bff457b9$var$objectGetOwnPropertySymbols(val2);\n if (_symbolKeysB.length !== 0 && $2be9aa30bff457b9$var$getEnumerables(val2, _symbolKeysB).length !== 0) return false;\n }\n }\n if (aKeys.length === 0 && (iterationType === $2be9aa30bff457b9$var$kNoIterator || iterationType === $2be9aa30bff457b9$var$kIsArray && val1.length === 0 || val1.size === 0)) return true;\n // Use memos to handle cycles.\n if (memos === undefined) memos = {\n val1: new Map(),\n val2: new Map(),\n position: 0\n };\n else {\n // We prevent up to two map.has(x) calls by directly retrieving the value\n // and checking for undefined. The map can only contain numbers, so it is\n // safe to check for undefined only.\n var val2MemoA = memos.val1.get(val1);\n if (val2MemoA !== undefined) {\n var val2MemoB = memos.val2.get(val2);\n if (val2MemoB !== undefined) return val2MemoA === val2MemoB;\n }\n memos.position++;\n }\n memos.val1.set(val1, memos.position);\n memos.val2.set(val2, memos.position);\n var areEq = $2be9aa30bff457b9$var$objEquiv(val1, val2, strict, aKeys, memos, iterationType);\n memos.val1.delete(val1);\n memos.val2.delete(val2);\n return areEq;\n}\nfunction $2be9aa30bff457b9$var$setHasEqualElement(set, val1, strict, memo) {\n // Go looking.\n var setValues = $2be9aa30bff457b9$var$arrayFromSet(set);\n for(var i = 0; i < setValues.length; i++){\n var val2 = setValues[i];\n if ($2be9aa30bff457b9$var$innerDeepEqual(val1, val2, strict, memo)) {\n // Remove the matching element to make sure we do not check that again.\n set.delete(val2);\n return true;\n }\n }\n return false;\n} // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness#Loose_equality_using\n// Sadly it is not possible to detect corresponding values properly in case the\n// type is a string, number, bigint or boolean. The reason is that those values\n// can match lots of different string values (e.g., 1n == '+00001').\nfunction $2be9aa30bff457b9$var$findLooseMatchingPrimitives(prim) {\n switch($2be9aa30bff457b9$var$_typeof(prim)){\n case \"undefined\":\n return null;\n case \"object\":\n // Only pass in null as object!\n return undefined;\n case \"symbol\":\n return false;\n case \"string\":\n prim = +prim;\n // Loose equal entries exist only if the string is possible to convert to\n // a regular number and not NaN.\n // Fall through\n case \"number\":\n if ($2be9aa30bff457b9$var$numberIsNaN(prim)) return false;\n }\n return true;\n}\nfunction $2be9aa30bff457b9$var$setMightHaveLoosePrim(a, b, prim) {\n var altValue = $2be9aa30bff457b9$var$findLooseMatchingPrimitives(prim);\n if (altValue != null) return altValue;\n return b.has(altValue) && !a.has(altValue);\n}\nfunction $2be9aa30bff457b9$var$mapMightHaveLoosePrim(a, b, prim, item, memo) {\n var altValue = $2be9aa30bff457b9$var$findLooseMatchingPrimitives(prim);\n if (altValue != null) return altValue;\n var curB = b.get(altValue);\n if (curB === undefined && !b.has(altValue) || !$2be9aa30bff457b9$var$innerDeepEqual(item, curB, false, memo)) return false;\n return !a.has(altValue) && $2be9aa30bff457b9$var$innerDeepEqual(item, curB, false, memo);\n}\nfunction $2be9aa30bff457b9$var$setEquiv(a, b, strict, memo) {\n // This is a lazily initiated Set of entries which have to be compared\n // pairwise.\n var set = null;\n var aValues = $2be9aa30bff457b9$var$arrayFromSet(a);\n for(var i = 0; i < aValues.length; i++){\n var val = aValues[i]; // Note: Checking for the objects first improves the performance for object\n // heavy sets but it is a minor slow down for primitives. As they are fast\n // to check this improves the worst case scenario instead.\n if ($2be9aa30bff457b9$var$_typeof(val) === \"object\" && val !== null) {\n if (set === null) set = new Set();\n // If the specified value doesn't exist in the second set its an not null\n // object (or non strict only: a not matching primitive) we'll need to go\n // hunting for something thats deep-(strict-)equal to it. To make this\n // O(n log n) complexity we have to copy these values in a new set first.\n set.add(val);\n } else if (!b.has(val)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null values.\n if (!$2be9aa30bff457b9$var$setMightHaveLoosePrim(a, b, val)) return false;\n if (set === null) set = new Set();\n set.add(val);\n }\n }\n if (set !== null) {\n var bValues = $2be9aa30bff457b9$var$arrayFromSet(b);\n for(var _i = 0; _i < bValues.length; _i++){\n var _val = bValues[_i]; // We have to check if a primitive value is already\n // matching and only if it's not, go hunting for it.\n if ($2be9aa30bff457b9$var$_typeof(_val) === \"object\" && _val !== null) {\n if (!$2be9aa30bff457b9$var$setHasEqualElement(set, _val, strict, memo)) return false;\n } else if (!strict && !a.has(_val) && !$2be9aa30bff457b9$var$setHasEqualElement(set, _val, strict, memo)) return false;\n }\n return set.size === 0;\n }\n return true;\n}\nfunction $2be9aa30bff457b9$var$mapHasEqualEntry(set, map, key1, item1, strict, memo) {\n // To be able to handle cases like:\n // Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])\n // ... we need to consider *all* matching keys, not just the first we find.\n var setValues = $2be9aa30bff457b9$var$arrayFromSet(set);\n for(var i = 0; i < setValues.length; i++){\n var key2 = setValues[i];\n if ($2be9aa30bff457b9$var$innerDeepEqual(key1, key2, strict, memo) && $2be9aa30bff457b9$var$innerDeepEqual(item1, map.get(key2), strict, memo)) {\n set.delete(key2);\n return true;\n }\n }\n return false;\n}\nfunction $2be9aa30bff457b9$var$mapEquiv(a, b, strict, memo) {\n var set = null;\n var aEntries = $2be9aa30bff457b9$var$arrayFromMap(a);\n for(var i = 0; i < aEntries.length; i++){\n var _aEntries$i = $2be9aa30bff457b9$var$_slicedToArray(aEntries[i], 2), key = _aEntries$i[0], item1 = _aEntries$i[1];\n if ($2be9aa30bff457b9$var$_typeof(key) === \"object\" && key !== null) {\n if (set === null) set = new Set();\n set.add(key);\n } else {\n // By directly retrieving the value we prevent another b.has(key) check in\n // almost all possible cases.\n var item2 = b.get(key);\n if (item2 === undefined && !b.has(key) || !$2be9aa30bff457b9$var$innerDeepEqual(item1, item2, strict, memo)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null\n // keys.\n if (!$2be9aa30bff457b9$var$mapMightHaveLoosePrim(a, b, key, item1, memo)) return false;\n if (set === null) set = new Set();\n set.add(key);\n }\n }\n }\n if (set !== null) {\n var bEntries = $2be9aa30bff457b9$var$arrayFromMap(b);\n for(var _i2 = 0; _i2 < bEntries.length; _i2++){\n var _bEntries$_i = $2be9aa30bff457b9$var$_slicedToArray(bEntries[_i2], 2), key = _bEntries$_i[0], item = _bEntries$_i[1];\n if ($2be9aa30bff457b9$var$_typeof(key) === \"object\" && key !== null) {\n if (!$2be9aa30bff457b9$var$mapHasEqualEntry(set, a, key, item, strict, memo)) return false;\n } else if (!strict && (!a.has(key) || !$2be9aa30bff457b9$var$innerDeepEqual(a.get(key), item, false, memo)) && !$2be9aa30bff457b9$var$mapHasEqualEntry(set, a, key, item, false, memo)) return false;\n }\n return set.size === 0;\n }\n return true;\n}\nfunction $2be9aa30bff457b9$var$objEquiv(a, b, strict, keys, memos, iterationType) {\n // Sets and maps don't have their entries accessible via normal object\n // properties.\n var i = 0;\n if (iterationType === $2be9aa30bff457b9$var$kIsSet) {\n if (!$2be9aa30bff457b9$var$setEquiv(a, b, strict, memos)) return false;\n } else if (iterationType === $2be9aa30bff457b9$var$kIsMap) {\n if (!$2be9aa30bff457b9$var$mapEquiv(a, b, strict, memos)) return false;\n } else if (iterationType === $2be9aa30bff457b9$var$kIsArray) for(; i < a.length; i++){\n if ($2be9aa30bff457b9$var$hasOwnProperty(a, i)) {\n if (!$2be9aa30bff457b9$var$hasOwnProperty(b, i) || !$2be9aa30bff457b9$var$innerDeepEqual(a[i], b[i], strict, memos)) return false;\n } else if ($2be9aa30bff457b9$var$hasOwnProperty(b, i)) return false;\n else {\n // Array is sparse.\n var keysA = Object.keys(a);\n for(; i < keysA.length; i++){\n var key = keysA[i];\n if (!$2be9aa30bff457b9$var$hasOwnProperty(b, key) || !$2be9aa30bff457b9$var$innerDeepEqual(a[key], b[key], strict, memos)) return false;\n }\n if (keysA.length !== Object.keys(b).length) return false;\n return true;\n }\n }\n // The pair must have equivalent values for every corresponding key.\n // Possibly expensive deep test:\n for(i = 0; i < keys.length; i++){\n var _key = keys[i];\n if (!$2be9aa30bff457b9$var$innerDeepEqual(a[_key], b[_key], strict, memos)) return false;\n }\n return true;\n}\nfunction $2be9aa30bff457b9$var$isDeepEqual(val1, val2) {\n return $2be9aa30bff457b9$var$innerDeepEqual(val1, val2, $2be9aa30bff457b9$var$kLoose);\n}\nfunction $2be9aa30bff457b9$var$isDeepStrictEqual(val1, val2) {\n return $2be9aa30bff457b9$var$innerDeepEqual(val1, val2, $2be9aa30bff457b9$var$kStrict);\n}\nmodule.exports = {\n isDeepEqual: $2be9aa30bff457b9$var$isDeepEqual,\n isDeepStrictEqual: $2be9aa30bff457b9$var$isDeepStrictEqual\n};\n\n});\nparcelRequire.register(\"c8Cyq\", function(module, exports) {\n\"use strict\";\n\nvar $cOB0F = parcelRequire(\"cOB0F\");\n\nvar $1UbTr = parcelRequire(\"1UbTr\");\n\nvar $8sYH2 = parcelRequire(\"8sYH2\");\n\nvar $91M8b = parcelRequire(\"91M8b\");\n\nvar $hCf9I = parcelRequire(\"hCf9I\");\nvar $8d642377f5822430$var$polyfill = $cOB0F($91M8b(), Number);\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */ $1UbTr($8d642377f5822430$var$polyfill, {\n getPolyfill: $91M8b,\n implementation: $8sYH2,\n shim: $hCf9I\n});\nmodule.exports = $8d642377f5822430$var$polyfill;\n\n});\nparcelRequire.register(\"8sYH2\", function(module, exports) {\n\"use strict\";\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */ module.exports = function isNaN(value) {\n return value !== value;\n};\n\n});\n\nparcelRequire.register(\"91M8b\", function(module, exports) {\n\"use strict\";\n\nvar $8sYH2 = parcelRequire(\"8sYH2\");\nmodule.exports = function getPolyfill() {\n if (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN(\"a\")) return Number.isNaN;\n return $8sYH2;\n};\n\n});\n\nparcelRequire.register(\"hCf9I\", function(module, exports) {\n\"use strict\";\n\nvar $1UbTr = parcelRequire(\"1UbTr\");\n\nvar $91M8b = parcelRequire(\"91M8b\");\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */ module.exports = function shimNumberIsNaN() {\n var polyfill = $91M8b();\n $1UbTr(Number, {\n isNaN: polyfill\n }, {\n isNaN: function testIsNaN() {\n return Number.isNaN !== polyfill;\n }\n });\n return polyfill;\n};\n\n});\n\n\n\n\nparcelRequire.register(\"iET4t\", function(module, exports) {\n\"use strict\";\nvar $d956ae6943bb41ce$var$__awaiter = module.exports && module.exports.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar $d956ae6943bb41ce$var$__generator = module.exports && module.exports.__generator || function(thisArg, body) {\n var _ = {\n label: 0,\n sent: function() {\n if (t[0] & 1) throw t[1];\n return t[1];\n },\n trys: [],\n ops: []\n }, f, y, t, g;\n return g = {\n next: verb(0),\n \"throw\": verb(1),\n \"return\": verb(2)\n }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() {\n return this;\n }), g;\n function verb(n) {\n return function(v) {\n return step([\n n,\n v\n ]);\n };\n }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while(_)try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [\n op[0] & 2,\n t.value\n ];\n switch(op[0]){\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return {\n value: op[1],\n done: false\n };\n case 5:\n _.label++;\n y = op[1];\n op = [\n 0\n ];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || op[1] > t[0] && op[1] < t[3])) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2]) _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n } catch (e) {\n op = [\n 6,\n e\n ];\n y = 0;\n } finally{\n f = t = 0;\n }\n if (op[0] & 5) throw op[1];\n return {\n value: op[0] ? op[1] : void 0,\n done: true\n };\n }\n};\nfunction $d956ae6943bb41ce$var$__export(m) {\n for(var p in m)if (!module.exports.hasOwnProperty(p)) module.exports[p] = m[p];\n}\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n\nvar $1dT7K = parcelRequire(\"1dT7K\");\nvar $d956ae6943bb41ce$var$SECP256K1_PRIVATE_KEY_SIZE = 32;\nfunction $d956ae6943bb41ce$var$createPrivateKey() {\n return $d956ae6943bb41ce$var$__awaiter(this, void 0, void 0, function() {\n var pk;\n return $d956ae6943bb41ce$var$__generator(this, function(_a) {\n switch(_a.label){\n case 0:\n return [\n 4 /*yield*/ ,\n $1dT7K.getRandomBytes($d956ae6943bb41ce$var$SECP256K1_PRIVATE_KEY_SIZE)\n ];\n case 1:\n pk = _a.sent();\n if ((parcelRequire(\"6oMVP\")).privateKeyVerify(pk)) return [\n 2 /*return*/ ,\n pk\n ];\n return [\n 3 /*break*/ ,\n 0\n ];\n case 2:\n return [\n 2 /*return*/ \n ];\n }\n });\n });\n}\nmodule.exports.createPrivateKey = $d956ae6943bb41ce$var$createPrivateKey;\nfunction $d956ae6943bb41ce$var$createPrivateKeySync() {\n while(true){\n var pk = $1dT7K.getRandomBytesSync($d956ae6943bb41ce$var$SECP256K1_PRIVATE_KEY_SIZE);\n if ((parcelRequire(\"6oMVP\")).privateKeyVerify(pk)) return pk;\n }\n}\nmodule.exports.createPrivateKeySync = $d956ae6943bb41ce$var$createPrivateKeySync;\n\n$d956ae6943bb41ce$var$__export((parcelRequire(\"6oMVP\")));\n\n});\nparcelRequire.register(\"6oMVP\", function(module, exports) {\n\n\nmodule.exports = (parcelRequire(\"fr4Yq\"))((parcelRequire(\"ejO33\")));\n\n});\nparcelRequire.register(\"fr4Yq\", function(module, exports) {\nconst $b3cd3c4411d4f56b$var$errors = {\n IMPOSSIBLE_CASE: \"Impossible case. Please create issue.\",\n TWEAK_ADD: \"The tweak was out of range or the resulted private key is invalid\",\n TWEAK_MUL: \"The tweak was out of range or equal to zero\",\n CONTEXT_RANDOMIZE_UNKNOW: \"Unknow error on context randomization\",\n SECKEY_INVALID: \"Private Key is invalid\",\n PUBKEY_PARSE: \"Public Key could not be parsed\",\n PUBKEY_SERIALIZE: \"Public Key serialization error\",\n PUBKEY_COMBINE: \"The sum of the public keys is not valid\",\n SIG_PARSE: \"Signature could not be parsed\",\n SIGN: \"The nonce generation function failed, or the private key was invalid\",\n RECOVER: \"Public key could not be recover\",\n ECDH: \"Scalar was invalid (zero or overflow)\"\n};\nfunction $b3cd3c4411d4f56b$var$assert(cond, msg) {\n if (!cond) throw new Error(msg);\n}\nfunction $b3cd3c4411d4f56b$var$isUint8Array(name, value, length) {\n $b3cd3c4411d4f56b$var$assert(value instanceof Uint8Array, `Expected ${name} to be an Uint8Array`);\n if (length !== undefined) {\n if (Array.isArray(length)) {\n const numbers = length.join(\", \");\n const msg = `Expected ${name} to be an Uint8Array with length [${numbers}]`;\n $b3cd3c4411d4f56b$var$assert(length.includes(value.length), msg);\n } else {\n const msg = `Expected ${name} to be an Uint8Array with length ${length}`;\n $b3cd3c4411d4f56b$var$assert(value.length === length, msg);\n }\n }\n}\nfunction $b3cd3c4411d4f56b$var$isCompressed(value) {\n $b3cd3c4411d4f56b$var$assert($b3cd3c4411d4f56b$var$toTypeString(value) === \"Boolean\", \"Expected compressed to be a Boolean\");\n}\nfunction $b3cd3c4411d4f56b$var$getAssertedOutput(output = (len)=>new Uint8Array(len), length) {\n if (typeof output === \"function\") output = output(length);\n $b3cd3c4411d4f56b$var$isUint8Array(\"output\", output, length);\n return output;\n}\nfunction $b3cd3c4411d4f56b$var$toTypeString(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n}\nmodule.exports = (secp256k1)=>{\n return {\n contextRandomize (seed) {\n $b3cd3c4411d4f56b$var$assert(seed === null || seed instanceof Uint8Array, \"Expected seed to be an Uint8Array or null\");\n if (seed !== null) $b3cd3c4411d4f56b$var$isUint8Array(\"seed\", seed, 32);\n switch(secp256k1.contextRandomize(seed)){\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.CONTEXT_RANDOMIZE_UNKNOW);\n }\n },\n privateKeyVerify (seckey) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"private key\", seckey, 32);\n return secp256k1.privateKeyVerify(seckey) === 0;\n },\n privateKeyNegate (seckey) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"private key\", seckey, 32);\n switch(secp256k1.privateKeyNegate(seckey)){\n case 0:\n return seckey;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.IMPOSSIBLE_CASE);\n }\n },\n privateKeyTweakAdd (seckey, tweak) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"private key\", seckey, 32);\n $b3cd3c4411d4f56b$var$isUint8Array(\"tweak\", tweak, 32);\n switch(secp256k1.privateKeyTweakAdd(seckey, tweak)){\n case 0:\n return seckey;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.TWEAK_ADD);\n }\n },\n privateKeyTweakMul (seckey, tweak) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"private key\", seckey, 32);\n $b3cd3c4411d4f56b$var$isUint8Array(\"tweak\", tweak, 32);\n switch(secp256k1.privateKeyTweakMul(seckey, tweak)){\n case 0:\n return seckey;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.TWEAK_MUL);\n }\n },\n publicKeyVerify (pubkey) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"public key\", pubkey, [\n 33,\n 65\n ]);\n return secp256k1.publicKeyVerify(pubkey) === 0;\n },\n publicKeyCreate (seckey, compressed = true, output) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"private key\", seckey, 32);\n $b3cd3c4411d4f56b$var$isCompressed(compressed);\n output = $b3cd3c4411d4f56b$var$getAssertedOutput(output, compressed ? 33 : 65);\n switch(secp256k1.publicKeyCreate(output, seckey)){\n case 0:\n return output;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.SECKEY_INVALID);\n case 2:\n throw new Error($b3cd3c4411d4f56b$var$errors.PUBKEY_SERIALIZE);\n }\n },\n publicKeyConvert (pubkey, compressed = true, output) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"public key\", pubkey, [\n 33,\n 65\n ]);\n $b3cd3c4411d4f56b$var$isCompressed(compressed);\n output = $b3cd3c4411d4f56b$var$getAssertedOutput(output, compressed ? 33 : 65);\n switch(secp256k1.publicKeyConvert(output, pubkey)){\n case 0:\n return output;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.PUBKEY_PARSE);\n case 2:\n throw new Error($b3cd3c4411d4f56b$var$errors.PUBKEY_SERIALIZE);\n }\n },\n publicKeyNegate (pubkey, compressed = true, output) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"public key\", pubkey, [\n 33,\n 65\n ]);\n $b3cd3c4411d4f56b$var$isCompressed(compressed);\n output = $b3cd3c4411d4f56b$var$getAssertedOutput(output, compressed ? 33 : 65);\n switch(secp256k1.publicKeyNegate(output, pubkey)){\n case 0:\n return output;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.PUBKEY_PARSE);\n case 2:\n throw new Error($b3cd3c4411d4f56b$var$errors.IMPOSSIBLE_CASE);\n case 3:\n throw new Error($b3cd3c4411d4f56b$var$errors.PUBKEY_SERIALIZE);\n }\n },\n publicKeyCombine (pubkeys, compressed = true, output) {\n $b3cd3c4411d4f56b$var$assert(Array.isArray(pubkeys), \"Expected public keys to be an Array\");\n $b3cd3c4411d4f56b$var$assert(pubkeys.length > 0, \"Expected public keys array will have more than zero items\");\n for (const pubkey of pubkeys)$b3cd3c4411d4f56b$var$isUint8Array(\"public key\", pubkey, [\n 33,\n 65\n ]);\n $b3cd3c4411d4f56b$var$isCompressed(compressed);\n output = $b3cd3c4411d4f56b$var$getAssertedOutput(output, compressed ? 33 : 65);\n switch(secp256k1.publicKeyCombine(output, pubkeys)){\n case 0:\n return output;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.PUBKEY_PARSE);\n case 2:\n throw new Error($b3cd3c4411d4f56b$var$errors.PUBKEY_COMBINE);\n case 3:\n throw new Error($b3cd3c4411d4f56b$var$errors.PUBKEY_SERIALIZE);\n }\n },\n publicKeyTweakAdd (pubkey, tweak, compressed = true, output) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"public key\", pubkey, [\n 33,\n 65\n ]);\n $b3cd3c4411d4f56b$var$isUint8Array(\"tweak\", tweak, 32);\n $b3cd3c4411d4f56b$var$isCompressed(compressed);\n output = $b3cd3c4411d4f56b$var$getAssertedOutput(output, compressed ? 33 : 65);\n switch(secp256k1.publicKeyTweakAdd(output, pubkey, tweak)){\n case 0:\n return output;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.PUBKEY_PARSE);\n case 2:\n throw new Error($b3cd3c4411d4f56b$var$errors.TWEAK_ADD);\n }\n },\n publicKeyTweakMul (pubkey, tweak, compressed = true, output) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"public key\", pubkey, [\n 33,\n 65\n ]);\n $b3cd3c4411d4f56b$var$isUint8Array(\"tweak\", tweak, 32);\n $b3cd3c4411d4f56b$var$isCompressed(compressed);\n output = $b3cd3c4411d4f56b$var$getAssertedOutput(output, compressed ? 33 : 65);\n switch(secp256k1.publicKeyTweakMul(output, pubkey, tweak)){\n case 0:\n return output;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.PUBKEY_PARSE);\n case 2:\n throw new Error($b3cd3c4411d4f56b$var$errors.TWEAK_MUL);\n }\n },\n signatureNormalize (sig) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"signature\", sig, 64);\n switch(secp256k1.signatureNormalize(sig)){\n case 0:\n return sig;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.SIG_PARSE);\n }\n },\n signatureExport (sig, output) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"signature\", sig, 64);\n output = $b3cd3c4411d4f56b$var$getAssertedOutput(output, 72);\n const obj = {\n output: output,\n outputlen: 72\n };\n switch(secp256k1.signatureExport(obj, sig)){\n case 0:\n return output.slice(0, obj.outputlen);\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.SIG_PARSE);\n case 2:\n throw new Error($b3cd3c4411d4f56b$var$errors.IMPOSSIBLE_CASE);\n }\n },\n signatureImport (sig, output) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"signature\", sig);\n output = $b3cd3c4411d4f56b$var$getAssertedOutput(output, 64);\n switch(secp256k1.signatureImport(output, sig)){\n case 0:\n return output;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.SIG_PARSE);\n case 2:\n throw new Error($b3cd3c4411d4f56b$var$errors.IMPOSSIBLE_CASE);\n }\n },\n ecdsaSign (msg32, seckey, options = {}, output) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"message\", msg32, 32);\n $b3cd3c4411d4f56b$var$isUint8Array(\"private key\", seckey, 32);\n $b3cd3c4411d4f56b$var$assert($b3cd3c4411d4f56b$var$toTypeString(options) === \"Object\", \"Expected options to be an Object\");\n if (options.data !== undefined) $b3cd3c4411d4f56b$var$isUint8Array(\"options.data\", options.data);\n if (options.noncefn !== undefined) $b3cd3c4411d4f56b$var$assert($b3cd3c4411d4f56b$var$toTypeString(options.noncefn) === \"Function\", \"Expected options.noncefn to be a Function\");\n output = $b3cd3c4411d4f56b$var$getAssertedOutput(output, 64);\n const obj = {\n signature: output,\n recid: null\n };\n switch(secp256k1.ecdsaSign(obj, msg32, seckey, options.data, options.noncefn)){\n case 0:\n return obj;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.SIGN);\n case 2:\n throw new Error($b3cd3c4411d4f56b$var$errors.IMPOSSIBLE_CASE);\n }\n },\n ecdsaVerify (sig, msg32, pubkey) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"signature\", sig, 64);\n $b3cd3c4411d4f56b$var$isUint8Array(\"message\", msg32, 32);\n $b3cd3c4411d4f56b$var$isUint8Array(\"public key\", pubkey, [\n 33,\n 65\n ]);\n switch(secp256k1.ecdsaVerify(sig, msg32, pubkey)){\n case 0:\n return true;\n case 3:\n return false;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.SIG_PARSE);\n case 2:\n throw new Error($b3cd3c4411d4f56b$var$errors.PUBKEY_PARSE);\n }\n },\n ecdsaRecover (sig, recid, msg32, compressed = true, output) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"signature\", sig, 64);\n $b3cd3c4411d4f56b$var$assert($b3cd3c4411d4f56b$var$toTypeString(recid) === \"Number\" && recid >= 0 && recid <= 3, \"Expected recovery id to be a Number within interval [0, 3]\");\n $b3cd3c4411d4f56b$var$isUint8Array(\"message\", msg32, 32);\n $b3cd3c4411d4f56b$var$isCompressed(compressed);\n output = $b3cd3c4411d4f56b$var$getAssertedOutput(output, compressed ? 33 : 65);\n switch(secp256k1.ecdsaRecover(output, sig, recid, msg32)){\n case 0:\n return output;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.SIG_PARSE);\n case 2:\n throw new Error($b3cd3c4411d4f56b$var$errors.RECOVER);\n case 3:\n throw new Error($b3cd3c4411d4f56b$var$errors.IMPOSSIBLE_CASE);\n }\n },\n ecdh (pubkey, seckey, options = {}, output) {\n $b3cd3c4411d4f56b$var$isUint8Array(\"public key\", pubkey, [\n 33,\n 65\n ]);\n $b3cd3c4411d4f56b$var$isUint8Array(\"private key\", seckey, 32);\n $b3cd3c4411d4f56b$var$assert($b3cd3c4411d4f56b$var$toTypeString(options) === \"Object\", \"Expected options to be an Object\");\n if (options.data !== undefined) $b3cd3c4411d4f56b$var$isUint8Array(\"options.data\", options.data);\n if (options.hashfn !== undefined) {\n $b3cd3c4411d4f56b$var$assert($b3cd3c4411d4f56b$var$toTypeString(options.hashfn) === \"Function\", \"Expected options.hashfn to be a Function\");\n if (options.xbuf !== undefined) $b3cd3c4411d4f56b$var$isUint8Array(\"options.xbuf\", options.xbuf, 32);\n if (options.ybuf !== undefined) $b3cd3c4411d4f56b$var$isUint8Array(\"options.ybuf\", options.ybuf, 32);\n $b3cd3c4411d4f56b$var$isUint8Array(\"output\", output);\n } else output = $b3cd3c4411d4f56b$var$getAssertedOutput(output, 32);\n switch(secp256k1.ecdh(output, pubkey, seckey, options.data, options.hashfn, options.xbuf, options.ybuf)){\n case 0:\n return output;\n case 1:\n throw new Error($b3cd3c4411d4f56b$var$errors.PUBKEY_PARSE);\n case 2:\n throw new Error($b3cd3c4411d4f56b$var$errors.ECDH);\n }\n }\n };\n};\n\n});\n\nparcelRequire.register(\"ejO33\", function(module, exports) {\n\nvar $1zUcV = parcelRequire(\"1zUcV\");\nvar $a6c9a9981cef49fd$require$EC = $1zUcV.ec;\nconst $a6c9a9981cef49fd$var$ec = new $a6c9a9981cef49fd$require$EC(\"secp256k1\");\nconst $a6c9a9981cef49fd$var$ecparams = $a6c9a9981cef49fd$var$ec.curve;\n// Hack, we can not use bn.js@5, while elliptic uses bn.js@4\n// See https://github.com/indutny/elliptic/issues/191#issuecomment-569888758\nconst $a6c9a9981cef49fd$var$BN = $a6c9a9981cef49fd$var$ecparams.n.constructor;\nfunction $a6c9a9981cef49fd$var$loadCompressedPublicKey(first, xbuf) {\n let x = new $a6c9a9981cef49fd$var$BN(xbuf);\n // overflow\n if (x.cmp($a6c9a9981cef49fd$var$ecparams.p) >= 0) return null;\n x = x.toRed($a6c9a9981cef49fd$var$ecparams.red);\n // compute corresponding Y\n let y = x.redSqr().redIMul(x).redIAdd($a6c9a9981cef49fd$var$ecparams.b).redSqrt();\n if (first === 0x03 !== y.isOdd()) y = y.redNeg();\n return $a6c9a9981cef49fd$var$ec.keyPair({\n pub: {\n x: x,\n y: y\n }\n });\n}\nfunction $a6c9a9981cef49fd$var$loadUncompressedPublicKey(first, xbuf, ybuf) {\n let x = new $a6c9a9981cef49fd$var$BN(xbuf);\n let y = new $a6c9a9981cef49fd$var$BN(ybuf);\n // overflow\n if (x.cmp($a6c9a9981cef49fd$var$ecparams.p) >= 0 || y.cmp($a6c9a9981cef49fd$var$ecparams.p) >= 0) return null;\n x = x.toRed($a6c9a9981cef49fd$var$ecparams.red);\n y = y.toRed($a6c9a9981cef49fd$var$ecparams.red);\n // is odd flag\n if ((first === 0x06 || first === 0x07) && y.isOdd() !== (first === 0x07)) return null;\n // x*x*x + b = y*y\n const x3 = x.redSqr().redIMul(x);\n if (!y.redSqr().redISub(x3.redIAdd($a6c9a9981cef49fd$var$ecparams.b)).isZero()) return null;\n return $a6c9a9981cef49fd$var$ec.keyPair({\n pub: {\n x: x,\n y: y\n }\n });\n}\nfunction $a6c9a9981cef49fd$var$loadPublicKey(pubkey) {\n // length should be validated in interface\n const first = pubkey[0];\n switch(first){\n case 0x02:\n case 0x03:\n if (pubkey.length !== 33) return null;\n return $a6c9a9981cef49fd$var$loadCompressedPublicKey(first, pubkey.subarray(1, 33));\n case 0x04:\n case 0x06:\n case 0x07:\n if (pubkey.length !== 65) return null;\n return $a6c9a9981cef49fd$var$loadUncompressedPublicKey(first, pubkey.subarray(1, 33), pubkey.subarray(33, 65));\n default:\n return null;\n }\n}\nfunction $a6c9a9981cef49fd$var$savePublicKey(output, point) {\n const pubkey = point.encode(null, output.length === 33);\n // Loop should be faster because we do not need create extra Uint8Array\n // output.set(new Uint8Array(pubkey))\n for(let i = 0; i < output.length; ++i)output[i] = pubkey[i];\n}\nmodule.exports = {\n contextRandomize () {\n return 0;\n },\n privateKeyVerify (seckey) {\n const bn = new $a6c9a9981cef49fd$var$BN(seckey);\n return bn.cmp($a6c9a9981cef49fd$var$ecparams.n) < 0 && !bn.isZero() ? 0 : 1;\n },\n privateKeyNegate (seckey) {\n const bn = new $a6c9a9981cef49fd$var$BN(seckey);\n const negate = $a6c9a9981cef49fd$var$ecparams.n.sub(bn).umod($a6c9a9981cef49fd$var$ecparams.n).toArrayLike(Uint8Array, \"be\", 32);\n seckey.set(negate);\n return 0;\n },\n privateKeyTweakAdd (seckey, tweak) {\n const bn = new $a6c9a9981cef49fd$var$BN(tweak);\n if (bn.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0) return 1;\n bn.iadd(new $a6c9a9981cef49fd$var$BN(seckey));\n if (bn.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0) bn.isub($a6c9a9981cef49fd$var$ecparams.n);\n if (bn.isZero()) return 1;\n const tweaked = bn.toArrayLike(Uint8Array, \"be\", 32);\n seckey.set(tweaked);\n return 0;\n },\n privateKeyTweakMul (seckey, tweak) {\n let bn = new $a6c9a9981cef49fd$var$BN(tweak);\n if (bn.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0 || bn.isZero()) return 1;\n bn.imul(new $a6c9a9981cef49fd$var$BN(seckey));\n if (bn.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0) bn = bn.umod($a6c9a9981cef49fd$var$ecparams.n);\n const tweaked = bn.toArrayLike(Uint8Array, \"be\", 32);\n seckey.set(tweaked);\n return 0;\n },\n publicKeyVerify (pubkey) {\n const pair = $a6c9a9981cef49fd$var$loadPublicKey(pubkey);\n return pair === null ? 1 : 0;\n },\n publicKeyCreate (output, seckey) {\n const bn = new $a6c9a9981cef49fd$var$BN(seckey);\n if (bn.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0 || bn.isZero()) return 1;\n const point = $a6c9a9981cef49fd$var$ec.keyFromPrivate(seckey).getPublic();\n $a6c9a9981cef49fd$var$savePublicKey(output, point);\n return 0;\n },\n publicKeyConvert (output, pubkey) {\n const pair = $a6c9a9981cef49fd$var$loadPublicKey(pubkey);\n if (pair === null) return 1;\n const point = pair.getPublic();\n $a6c9a9981cef49fd$var$savePublicKey(output, point);\n return 0;\n },\n publicKeyNegate (output, pubkey) {\n const pair = $a6c9a9981cef49fd$var$loadPublicKey(pubkey);\n if (pair === null) return 1;\n const point = pair.getPublic();\n point.y = point.y.redNeg();\n $a6c9a9981cef49fd$var$savePublicKey(output, point);\n return 0;\n },\n publicKeyCombine (output, pubkeys) {\n const pairs = new Array(pubkeys.length);\n for(let i = 0; i < pubkeys.length; ++i){\n pairs[i] = $a6c9a9981cef49fd$var$loadPublicKey(pubkeys[i]);\n if (pairs[i] === null) return 1;\n }\n let point = pairs[0].getPublic();\n for(let i = 1; i < pairs.length; ++i)point = point.add(pairs[i].pub);\n if (point.isInfinity()) return 2;\n $a6c9a9981cef49fd$var$savePublicKey(output, point);\n return 0;\n },\n publicKeyTweakAdd (output, pubkey, tweak) {\n const pair = $a6c9a9981cef49fd$var$loadPublicKey(pubkey);\n if (pair === null) return 1;\n tweak = new $a6c9a9981cef49fd$var$BN(tweak);\n if (tweak.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0) return 2;\n const point = pair.getPublic().add($a6c9a9981cef49fd$var$ecparams.g.mul(tweak));\n if (point.isInfinity()) return 2;\n $a6c9a9981cef49fd$var$savePublicKey(output, point);\n return 0;\n },\n publicKeyTweakMul (output, pubkey, tweak) {\n const pair = $a6c9a9981cef49fd$var$loadPublicKey(pubkey);\n if (pair === null) return 1;\n tweak = new $a6c9a9981cef49fd$var$BN(tweak);\n if (tweak.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0 || tweak.isZero()) return 2;\n const point = pair.getPublic().mul(tweak);\n $a6c9a9981cef49fd$var$savePublicKey(output, point);\n return 0;\n },\n signatureNormalize (sig) {\n const r = new $a6c9a9981cef49fd$var$BN(sig.subarray(0, 32));\n const s = new $a6c9a9981cef49fd$var$BN(sig.subarray(32, 64));\n if (r.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0 || s.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0) return 1;\n if (s.cmp($a6c9a9981cef49fd$var$ec.nh) === 1) sig.set($a6c9a9981cef49fd$var$ecparams.n.sub(s).toArrayLike(Uint8Array, \"be\", 32), 32);\n return 0;\n },\n // Copied 1-to-1 from https://github.com/bitcoinjs/bip66/blob/master/index.js\n // Adapted for Uint8Array instead Buffer\n signatureExport (obj, sig) {\n const sigR = sig.subarray(0, 32);\n const sigS = sig.subarray(32, 64);\n if (new $a6c9a9981cef49fd$var$BN(sigR).cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0) return 1;\n if (new $a6c9a9981cef49fd$var$BN(sigS).cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0) return 1;\n const { output: output } = obj;\n // Prepare R\n let r = output.subarray(4, 37);\n r[0] = 0x00;\n r.set(sigR, 1);\n let lenR = 33;\n let posR = 0;\n for(; lenR > 1 && r[posR] === 0x00 && !(r[posR + 1] & 0x80); --lenR, ++posR);\n r = r.subarray(posR);\n if (r[0] & 0x80) return 1;\n if (lenR > 1 && r[0] === 0x00 && !(r[1] & 0x80)) return 1;\n // Prepare S\n let s = output.subarray(39, 72);\n s[0] = 0x00;\n s.set(sigS, 1);\n let lenS = 33;\n let posS = 0;\n for(; lenS > 1 && s[posS] === 0x00 && !(s[posS + 1] & 0x80); --lenS, ++posS);\n s = s.subarray(posS);\n if (s[0] & 0x80) return 1;\n if (lenS > 1 && s[0] === 0x00 && !(s[1] & 0x80)) return 1;\n // Set output length for return\n obj.outputlen = 6 + lenR + lenS;\n // Output in specified format\n // 0x30 [total-length] 0x02 [R-length] [R] 0x02 [S-length] [S]\n output[0] = 0x30;\n output[1] = obj.outputlen - 2;\n output[2] = 0x02;\n output[3] = r.length;\n output.set(r, 4);\n output[4 + lenR] = 0x02;\n output[5 + lenR] = s.length;\n output.set(s, 6 + lenR);\n return 0;\n },\n // Copied 1-to-1 from https://github.com/bitcoinjs/bip66/blob/master/index.js\n // Adapted for Uint8Array instead Buffer\n signatureImport (output, sig) {\n if (sig.length < 8) return 1;\n if (sig.length > 72) return 1;\n if (sig[0] !== 0x30) return 1;\n if (sig[1] !== sig.length - 2) return 1;\n if (sig[2] !== 0x02) return 1;\n const lenR = sig[3];\n if (lenR === 0) return 1;\n if (5 + lenR >= sig.length) return 1;\n if (sig[4 + lenR] !== 0x02) return 1;\n const lenS = sig[5 + lenR];\n if (lenS === 0) return 1;\n if (6 + lenR + lenS !== sig.length) return 1;\n if (sig[4] & 0x80) return 1;\n if (lenR > 1 && sig[4] === 0x00 && !(sig[5] & 0x80)) return 1;\n if (sig[lenR + 6] & 0x80) return 1;\n if (lenS > 1 && sig[lenR + 6] === 0x00 && !(sig[lenR + 7] & 0x80)) return 1;\n let sigR = sig.subarray(4, 4 + lenR);\n if (sigR.length === 33 && sigR[0] === 0x00) sigR = sigR.subarray(1);\n if (sigR.length > 32) return 1;\n let sigS = sig.subarray(6 + lenR);\n if (sigS.length === 33 && sigS[0] === 0x00) sigS = sigS.slice(1);\n if (sigS.length > 32) throw new Error(\"S length is too long\");\n let r = new $a6c9a9981cef49fd$var$BN(sigR);\n if (r.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0) r = new $a6c9a9981cef49fd$var$BN(0);\n let s = new $a6c9a9981cef49fd$var$BN(sig.subarray(6 + lenR));\n if (s.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0) s = new $a6c9a9981cef49fd$var$BN(0);\n output.set(r.toArrayLike(Uint8Array, \"be\", 32), 0);\n output.set(s.toArrayLike(Uint8Array, \"be\", 32), 32);\n return 0;\n },\n ecdsaSign (obj, message, seckey, data, noncefn) {\n if (noncefn) {\n const _noncefn = noncefn;\n noncefn = (counter)=>{\n const nonce = _noncefn(message, seckey, null, data, counter);\n const isValid = nonce instanceof Uint8Array && nonce.length === 32;\n if (!isValid) throw new Error(\"This is the way\");\n return new $a6c9a9981cef49fd$var$BN(nonce);\n };\n }\n const d = new $a6c9a9981cef49fd$var$BN(seckey);\n if (d.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0 || d.isZero()) return 1;\n let sig;\n try {\n sig = $a6c9a9981cef49fd$var$ec.sign(message, seckey, {\n canonical: true,\n k: noncefn,\n pers: data\n });\n } catch (err) {\n return 1;\n }\n obj.signature.set(sig.r.toArrayLike(Uint8Array, \"be\", 32), 0);\n obj.signature.set(sig.s.toArrayLike(Uint8Array, \"be\", 32), 32);\n obj.recid = sig.recoveryParam;\n return 0;\n },\n ecdsaVerify (sig, msg32, pubkey) {\n const sigObj = {\n r: sig.subarray(0, 32),\n s: sig.subarray(32, 64)\n };\n const sigr = new $a6c9a9981cef49fd$var$BN(sigObj.r);\n const sigs = new $a6c9a9981cef49fd$var$BN(sigObj.s);\n if (sigr.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0 || sigs.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0) return 1;\n if (sigs.cmp($a6c9a9981cef49fd$var$ec.nh) === 1 || sigr.isZero() || sigs.isZero()) return 3;\n const pair = $a6c9a9981cef49fd$var$loadPublicKey(pubkey);\n if (pair === null) return 2;\n const point = pair.getPublic();\n const isValid = $a6c9a9981cef49fd$var$ec.verify(msg32, sigObj, point);\n return isValid ? 0 : 3;\n },\n ecdsaRecover (output, sig, recid, msg32) {\n const sigObj = {\n r: sig.slice(0, 32),\n s: sig.slice(32, 64)\n };\n const sigr = new $a6c9a9981cef49fd$var$BN(sigObj.r);\n const sigs = new $a6c9a9981cef49fd$var$BN(sigObj.s);\n if (sigr.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0 || sigs.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0) return 1;\n if (sigr.isZero() || sigs.isZero()) return 2;\n // Can throw `throw new Error('Unable to find sencond key candinate');`\n let point;\n try {\n point = $a6c9a9981cef49fd$var$ec.recoverPubKey(msg32, sigObj, recid);\n } catch (err) {\n return 2;\n }\n $a6c9a9981cef49fd$var$savePublicKey(output, point);\n return 0;\n },\n ecdh (output, pubkey, seckey, data, hashfn, xbuf, ybuf) {\n const pair = $a6c9a9981cef49fd$var$loadPublicKey(pubkey);\n if (pair === null) return 1;\n const scalar = new $a6c9a9981cef49fd$var$BN(seckey);\n if (scalar.cmp($a6c9a9981cef49fd$var$ecparams.n) >= 0 || scalar.isZero()) return 2;\n const point = pair.getPublic().mul(scalar);\n if (hashfn === undefined) {\n const data = point.encode(null, true);\n const sha256 = $a6c9a9981cef49fd$var$ec.hash().update(data).digest();\n for(let i = 0; i < 32; ++i)output[i] = sha256[i];\n } else {\n if (!xbuf) xbuf = new Uint8Array(32);\n const x = point.getX().toArray(\"be\", 32);\n for(let i = 0; i < 32; ++i)xbuf[i] = x[i];\n if (!ybuf) ybuf = new Uint8Array(32);\n const y = point.getY().toArray(\"be\", 32);\n for(let i = 0; i < 32; ++i)ybuf[i] = y[i];\n const hash = hashfn(xbuf, ybuf, data);\n const isValid = hash instanceof Uint8Array && hash.length === output.length;\n if (!isValid) return 2;\n output.set(hash);\n }\n return 0;\n }\n};\n\n});\nparcelRequire.register(\"1zUcV\", function(module, exports) {\n\"use strict\";\nvar $1264a8f63e75be39$var$elliptic = module.exports;\n\n$1264a8f63e75be39$var$elliptic.version = (parcelRequire(\"fuV4H\")).version;\n\n$1264a8f63e75be39$var$elliptic.utils = (parcelRequire(\"gEVtY\"));\n\n$1264a8f63e75be39$var$elliptic.rand = (parcelRequire(\"7JHF0\"));\n\n$1264a8f63e75be39$var$elliptic.curve = (parcelRequire(\"cP1GP\"));\n\n$1264a8f63e75be39$var$elliptic.curves = (parcelRequire(\"fbTbW\"));\n\n// Protocols\n$1264a8f63e75be39$var$elliptic.ec = (parcelRequire(\"220Zx\"));\n\n$1264a8f63e75be39$var$elliptic.eddsa = (parcelRequire(\"esmmS\"));\n\n});\nparcelRequire.register(\"fuV4H\", function(module, exports) {\nmodule.exports = JSON.parse('{\"name\":\"elliptic\",\"version\":\"6.5.4\",\"description\":\"EC cryptography\",\"main\":\"lib/elliptic.js\",\"files\":[\"lib\"],\"scripts\":{\"lint\":\"eslint lib test\",\"lint:fix\":\"npm run lint -- --fix\",\"unit\":\"istanbul test _mocha --reporter=spec test/index.js\",\"test\":\"npm run lint && npm run unit\",\"version\":\"grunt dist && git add dist/\"},\"repository\":{\"type\":\"git\",\"url\":\"git@github.com:indutny/elliptic\"},\"keywords\":[\"EC\",\"Elliptic\",\"curve\",\"Cryptography\"],\"author\":\"Fedor Indutny \",\"license\":\"MIT\",\"bugs\":{\"url\":\"https://github.com/indutny/elliptic/issues\"},\"homepage\":\"https://github.com/indutny/elliptic\",\"devDependencies\":{\"brfs\":\"^2.0.2\",\"coveralls\":\"^3.1.0\",\"eslint\":\"^7.6.0\",\"grunt\":\"^1.2.1\",\"grunt-browserify\":\"^5.3.0\",\"grunt-cli\":\"^1.3.2\",\"grunt-contrib-connect\":\"^3.0.0\",\"grunt-contrib-copy\":\"^1.0.0\",\"grunt-contrib-uglify\":\"^5.0.0\",\"grunt-mocha-istanbul\":\"^5.0.2\",\"grunt-saucelabs\":\"^9.0.1\",\"istanbul\":\"^0.4.5\",\"mocha\":\"^8.0.1\"},\"dependencies\":{\"bn.js\":\"^4.11.9\",\"brorand\":\"^1.1.0\",\"hash.js\":\"^1.0.0\",\"hmac-drbg\":\"^1.0.1\",\"inherits\":\"^2.0.4\",\"minimalistic-assert\":\"^1.0.1\",\"minimalistic-crypto-utils\":\"^1.0.1\"}}');\n\n});\n\nparcelRequire.register(\"gEVtY\", function(module, exports) {\n\"use strict\";\nvar $c20cf89948514165$var$utils = module.exports;\n\nvar $jX0xT = parcelRequire(\"jX0xT\");\n\nvar $koC21 = parcelRequire(\"koC21\");\n\nvar $lC4vN = parcelRequire(\"lC4vN\");\n$c20cf89948514165$var$utils.assert = $koC21;\n$c20cf89948514165$var$utils.toArray = $lC4vN.toArray;\n$c20cf89948514165$var$utils.zero2 = $lC4vN.zero2;\n$c20cf89948514165$var$utils.toHex = $lC4vN.toHex;\n$c20cf89948514165$var$utils.encode = $lC4vN.encode;\n// Represent num in a w-NAF form\nfunction $c20cf89948514165$var$getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n var ws = 1 << w + 1;\n var k = num.clone();\n for(var i = 0; i < naf.length; i++){\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1) z = (ws >> 1) - mod;\n else z = mod;\n k.isubn(z);\n } else z = 0;\n naf[i] = z;\n k.iushrn(1);\n }\n return naf;\n}\n$c20cf89948514165$var$utils.getNAF = $c20cf89948514165$var$getNAF;\n// Represent k1, k2 in a Joint Sparse Form\nfunction $c20cf89948514165$var$getJSF(k1, k2) {\n var jsf = [\n [],\n []\n ];\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while(k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0){\n // First phase\n var m14 = k1.andln(3) + d1 & 3;\n var m24 = k2.andln(3) + d2 & 3;\n if (m14 === 3) m14 = -1;\n if (m24 === 3) m24 = -1;\n var u1;\n if ((m14 & 1) === 0) u1 = 0;\n else {\n m8 = k1.andln(7) + d1 & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2) u1 = -m14;\n else u1 = m14;\n }\n jsf[0].push(u1);\n var u2;\n if ((m24 & 1) === 0) u2 = 0;\n else {\n m8 = k2.andln(7) + d2 & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2) u2 = -m24;\n else u2 = m24;\n }\n jsf[1].push(u2);\n // Second phase\n if (2 * d1 === u1 + 1) d1 = 1 - d1;\n if (2 * d2 === u2 + 1) d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n return jsf;\n}\n$c20cf89948514165$var$utils.getJSF = $c20cf89948514165$var$getJSF;\nfunction $c20cf89948514165$var$cachedProperty(obj, name, computer) {\n var key = \"_\" + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] : this[key] = computer.call(this);\n };\n}\n$c20cf89948514165$var$utils.cachedProperty = $c20cf89948514165$var$cachedProperty;\nfunction $c20cf89948514165$var$parseBytes(bytes) {\n return typeof bytes === \"string\" ? $c20cf89948514165$var$utils.toArray(bytes, \"hex\") : bytes;\n}\n$c20cf89948514165$var$utils.parseBytes = $c20cf89948514165$var$parseBytes;\nfunction $c20cf89948514165$var$intFromLE(bytes) {\n return new $jX0xT(bytes, \"hex\", \"le\");\n}\n$c20cf89948514165$var$utils.intFromLE = $c20cf89948514165$var$intFromLE;\n\n});\nparcelRequire.register(\"jX0xT\", function(module, exports) {\n\n(function(module1, exports) {\n \"use strict\";\n // Utils\n function assert(val, msg) {\n if (!val) throw new Error(msg || \"Assertion failed\");\n }\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits(ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n // BN\n function BN(number, base, endian) {\n if (BN.isBN(number)) return number;\n this.negative = 0;\n this.words = null;\n this.length = 0;\n // Reduction context\n this.red = null;\n if (number !== null) {\n if (base === \"le\" || base === \"be\") {\n endian = base;\n base = 10;\n }\n this._init(number || 0, base || 10, endian || \"be\");\n }\n }\n if (typeof module1 === \"object\") module1.exports = BN;\n else exports.BN = BN;\n BN.BN = BN;\n BN.wordSize = 26;\n var Buffer;\n try {\n if (typeof window !== \"undefined\" && typeof window.Buffer !== \"undefined\") Buffer = window.Buffer;\n else Buffer = (parcelRequire(\"kjyEk\")).Buffer;\n } catch (e) {}\n BN.isBN = function isBN(num) {\n if (num instanceof BN) return true;\n return num !== null && typeof num === \"object\" && num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n BN.max = function max(left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n BN.min = function min(left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n BN.prototype._init = function init(number, base, endian) {\n if (typeof number === \"number\") return this._initNumber(number, base, endian);\n if (typeof number === \"object\") return this._initArray(number, base, endian);\n if (base === \"hex\") base = 16;\n assert(base === (base | 0) && base >= 2 && base <= 36);\n number = number.toString().replace(/\\s+/g, \"\");\n var start = 0;\n if (number[0] === \"-\") {\n start++;\n this.negative = 1;\n }\n if (start < number.length) {\n if (base === 16) this._parseHex(number, start, endian);\n else {\n this._parseBase(number, base, start);\n if (endian === \"le\") this._initArray(this.toArray(), base, endian);\n }\n }\n };\n BN.prototype._initNumber = function _initNumber(number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [\n number & 0x3ffffff\n ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n number / 0x4000000 & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n number / 0x4000000 & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n if (endian !== \"le\") return;\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n BN.prototype._initArray = function _initArray(number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === \"number\");\n if (number.length <= 0) {\n this.words = [\n 0\n ];\n this.length = 1;\n return this;\n }\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for(var i = 0; i < this.length; i++)this.words[i] = 0;\n var j, w;\n var off = 0;\n if (endian === \"be\") for(i = number.length - 1, j = 0; i >= 0; i -= 3){\n w = number[i] | number[i - 1] << 8 | number[i - 2] << 16;\n this.words[j] |= w << off & 0x3ffffff;\n this.words[j + 1] = w >>> 26 - off & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n else if (endian === \"le\") for(i = 0, j = 0; i < number.length; i += 3){\n w = number[i] | number[i + 1] << 8 | number[i + 2] << 16;\n this.words[j] |= w << off & 0x3ffffff;\n this.words[j + 1] = w >>> 26 - off & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n return this.strip();\n };\n function parseHex4Bits(string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) return c - 55;\n else if (c >= 97 && c <= 102) return c - 87;\n else return c - 48 & 0xf;\n }\n function parseHexByte(string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) r |= parseHex4Bits(string, index - 1) << 4;\n return r;\n }\n BN.prototype._parseHex = function _parseHex(number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for(var i = 0; i < this.length; i++)this.words[i] = 0;\n // 24-bits chunks\n var off = 0;\n var j = 0;\n var w;\n if (endian === \"be\") for(i = number.length - 1; i >= start; i -= 2){\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else off += 8;\n }\n else {\n var parseLength = number.length - start;\n for(i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2){\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else off += 8;\n }\n }\n this.strip();\n };\n function parseBase(str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for(var i = start; i < len; i++){\n var c = str.charCodeAt(i) - 48;\n r *= mul;\n // 'a'\n if (c >= 49) r += c - 49 + 0xa;\n else if (c >= 17) r += c - 17 + 0xa;\n else r += c;\n }\n return r;\n }\n BN.prototype._parseBase = function _parseBase(number, base, start) {\n // Initialize as zero\n this.words = [\n 0\n ];\n this.length = 1;\n // Find length of limb in base\n for(var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base)limbLen++;\n limbLen--;\n limbPow = limbPow / base | 0;\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n var word = 0;\n for(var i = start; i < end; i += limbLen){\n word = parseBase(number, i, i + limbLen, base);\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) this.words[0] += word;\n else this._iaddn(word);\n }\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n for(i = 0; i < mod; i++)pow *= base;\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) this.words[0] += word;\n else this._iaddn(word);\n }\n this.strip();\n };\n BN.prototype.copy = function copy(dest) {\n dest.words = new Array(this.length);\n for(var i = 0; i < this.length; i++)dest.words[i] = this.words[i];\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n BN.prototype.clone = function clone() {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n BN.prototype._expand = function _expand(size) {\n while(this.length < size)this.words[this.length++] = 0;\n return this;\n };\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip() {\n while(this.length > 1 && this.words[this.length - 1] === 0)this.length--;\n return this._normSign();\n };\n BN.prototype._normSign = function _normSign() {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) this.negative = 0;\n return this;\n };\n BN.prototype.inspect = function inspect() {\n return (this.red ? \"\";\n };\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */ var zeros = [\n \"\",\n \"0\",\n \"00\",\n \"000\",\n \"0000\",\n \"00000\",\n \"000000\",\n \"0000000\",\n \"00000000\",\n \"000000000\",\n \"0000000000\",\n \"00000000000\",\n \"000000000000\",\n \"0000000000000\",\n \"00000000000000\",\n \"000000000000000\",\n \"0000000000000000\",\n \"00000000000000000\",\n \"000000000000000000\",\n \"0000000000000000000\",\n \"00000000000000000000\",\n \"000000000000000000000\",\n \"0000000000000000000000\",\n \"00000000000000000000000\",\n \"000000000000000000000000\",\n \"0000000000000000000000000\"\n ];\n var groupSizes = [\n 0,\n 0,\n 25,\n 16,\n 12,\n 11,\n 10,\n 9,\n 8,\n 8,\n 7,\n 7,\n 7,\n 7,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 6,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5,\n 5\n ];\n var groupBases = [\n 0,\n 0,\n 33554432,\n 43046721,\n 16777216,\n 48828125,\n 60466176,\n 40353607,\n 16777216,\n 43046721,\n 10000000,\n 19487171,\n 35831808,\n 62748517,\n 7529536,\n 11390625,\n 16777216,\n 24137569,\n 34012224,\n 47045881,\n 64000000,\n 4084101,\n 5153632,\n 6436343,\n 7962624,\n 9765625,\n 11881376,\n 14348907,\n 17210368,\n 20511149,\n 24300000,\n 28629151,\n 33554432,\n 39135393,\n 45435424,\n 52521875,\n 60466176\n ];\n BN.prototype.toString = function toString(base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n var out;\n if (base === 16 || base === \"hex\") {\n out = \"\";\n var off = 0;\n var carry = 0;\n for(var i = 0; i < this.length; i++){\n var w = this.words[i];\n var word = ((w << off | carry) & 0xffffff).toString(16);\n carry = w >>> 24 - off & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) out = zeros[6 - word.length] + word + out;\n else out = word + out;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) out = carry.toString(16) + out;\n while(out.length % padding !== 0)out = \"0\" + out;\n if (this.negative !== 0) out = \"-\" + out;\n return out;\n }\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = \"\";\n var c = this.clone();\n c.negative = 0;\n while(!c.isZero()){\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n if (!c.isZero()) out = zeros[groupSize - r.length] + r + out;\n else out = r + out;\n }\n if (this.isZero()) out = \"0\" + out;\n while(out.length % padding !== 0)out = \"0\" + out;\n if (this.negative !== 0) out = \"-\" + out;\n return out;\n }\n assert(false, \"Base should be between 2 and 36\");\n };\n BN.prototype.toNumber = function toNumber() {\n var ret = this.words[0];\n if (this.length === 2) ret += this.words[1] * 0x4000000;\n else if (this.length === 3 && this.words[2] === 0x01) // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + this.words[1] * 0x4000000;\n else if (this.length > 2) assert(false, \"Number can only safely store up to 53 bits\");\n return this.negative !== 0 ? -ret : ret;\n };\n BN.prototype.toJSON = function toJSON() {\n return this.toString(16);\n };\n BN.prototype.toBuffer = function toBuffer(endian, length) {\n assert(typeof Buffer !== \"undefined\");\n return this.toArrayLike(Buffer, endian, length);\n };\n BN.prototype.toArray = function toArray(endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n BN.prototype.toArrayLike = function toArrayLike(ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, \"byte array longer than desired length\");\n assert(reqLength > 0, \"Requested array length <= 0\");\n this.strip();\n var littleEndian = endian === \"le\";\n var res = new ArrayType(reqLength);\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for(i = 0; i < reqLength - byteLength; i++)res[i] = 0;\n for(i = 0; !q.isZero(); i++){\n b = q.andln(0xff);\n q.iushrn(8);\n res[reqLength - i - 1] = b;\n }\n } else {\n for(i = 0; !q.isZero(); i++){\n b = q.andln(0xff);\n q.iushrn(8);\n res[i] = b;\n }\n for(; i < reqLength; i++)res[i] = 0;\n }\n return res;\n };\n if (Math.clz32) BN.prototype._countBits = function _countBits(w) {\n return 32 - Math.clz32(w);\n };\n else BN.prototype._countBits = function _countBits(w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n BN.prototype._zeroBits = function _zeroBits(w) {\n // Short-cut\n if (w === 0) return 26;\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) r++;\n return r;\n };\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength() {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n function toBitArray(num) {\n var w = new Array(num.bitLength());\n for(var bit = 0; bit < w.length; bit++){\n var off = bit / 26 | 0;\n var wbit = bit % 26;\n w[bit] = (num.words[off] & 1 << wbit) >>> wbit;\n }\n return w;\n }\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits() {\n if (this.isZero()) return 0;\n var r = 0;\n for(var i = 0; i < this.length; i++){\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n BN.prototype.byteLength = function byteLength() {\n return Math.ceil(this.bitLength() / 8);\n };\n BN.prototype.toTwos = function toTwos(width) {\n if (this.negative !== 0) return this.abs().inotn(width).iaddn(1);\n return this.clone();\n };\n BN.prototype.fromTwos = function fromTwos(width) {\n if (this.testn(width - 1)) return this.notn(width).iaddn(1).ineg();\n return this.clone();\n };\n BN.prototype.isNeg = function isNeg() {\n return this.negative !== 0;\n };\n // Return negative clone of `this`\n BN.prototype.neg = function neg() {\n return this.clone().ineg();\n };\n BN.prototype.ineg = function ineg() {\n if (!this.isZero()) this.negative ^= 1;\n return this;\n };\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor(num) {\n while(this.length < num.length)this.words[this.length++] = 0;\n for(var i = 0; i < num.length; i++)this.words[i] = this.words[i] | num.words[i];\n return this.strip();\n };\n BN.prototype.ior = function ior(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n // Or `num` with `this`\n BN.prototype.or = function or(num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n BN.prototype.uor = function uor(num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand(num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) b = num;\n else b = this;\n for(var i = 0; i < b.length; i++)this.words[i] = this.words[i] & num.words[i];\n this.length = b.length;\n return this.strip();\n };\n BN.prototype.iand = function iand(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n // And `num` with `this`\n BN.prototype.and = function and(num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n BN.prototype.uand = function uand(num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor(num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n for(var i = 0; i < b.length; i++)this.words[i] = a.words[i] ^ b.words[i];\n if (this !== a) for(; i < a.length; i++)this.words[i] = a.words[i];\n this.length = a.length;\n return this.strip();\n };\n BN.prototype.ixor = function ixor(num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n // Xor `num` with `this`\n BN.prototype.xor = function xor(num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n BN.prototype.uxor = function uxor(num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn(width) {\n assert(typeof width === \"number\" && width >= 0);\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n if (bitsLeft > 0) bytesNeeded--;\n // Handle complete words\n for(var i = 0; i < bytesNeeded; i++)this.words[i] = ~this.words[i] & 0x3ffffff;\n // Handle the residue\n if (bitsLeft > 0) this.words[i] = ~this.words[i] & 0x3ffffff >> 26 - bitsLeft;\n // And remove leading zeroes\n return this.strip();\n };\n BN.prototype.notn = function notn(width) {\n return this.clone().inotn(width);\n };\n // Set `bit` of `this`\n BN.prototype.setn = function setn(bit, val) {\n assert(typeof bit === \"number\" && bit >= 0);\n var off = bit / 26 | 0;\n var wbit = bit % 26;\n this._expand(off + 1);\n if (val) this.words[off] = this.words[off] | 1 << wbit;\n else this.words[off] = this.words[off] & ~(1 << wbit);\n return this.strip();\n };\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd(num) {\n var r;\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n var carry = 0;\n for(var i = 0; i < b.length; i++){\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for(; carry !== 0 && i < a.length; i++){\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) for(; i < a.length; i++)this.words[i] = a.words[i];\n return this;\n };\n // Add `num` to `this`\n BN.prototype.add = function add(num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n if (this.length > num.length) return this.clone().iadd(num);\n return num.clone().iadd(this);\n };\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub(num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n var carry = 0;\n for(var i = 0; i < b.length; i++){\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for(; carry !== 0 && i < a.length; i++){\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) for(; i < a.length; i++)this.words[i] = a.words[i];\n this.length = Math.max(this.length, i);\n if (a !== this) this.negative = 1;\n return this.strip();\n };\n // Subtract `num` from `this`\n BN.prototype.sub = function sub(num) {\n return this.clone().isub(num);\n };\n function smallMulTo(self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = self.length + num.length | 0;\n out.length = len;\n len = len - 1 | 0;\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n var lo = r & 0x3ffffff;\n var carry = r / 0x4000000 | 0;\n out.words[0] = lo;\n for(var k = 1; k < len; k++){\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for(var j = Math.max(0, k - self.length + 1); j <= maxJ; j++){\n var i = k - j | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += r / 0x4000000 | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) out.words[k] = carry | 0;\n else out.length--;\n return out.strip();\n }\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo(self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */ lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = mid + Math.imul(ah0, bl0) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w0 >>> 26) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */ lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = mid + Math.imul(ah1, bl0) | 0;\n hi = Math.imul(ah1, bh0);\n lo = lo + Math.imul(al0, bl1) | 0;\n mid = mid + Math.imul(al0, bh1) | 0;\n mid = mid + Math.imul(ah0, bl1) | 0;\n hi = hi + Math.imul(ah0, bh1) | 0;\n var w1 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w1 >>> 26) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */ lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = mid + Math.imul(ah2, bl0) | 0;\n hi = Math.imul(ah2, bh0);\n lo = lo + Math.imul(al1, bl1) | 0;\n mid = mid + Math.imul(al1, bh1) | 0;\n mid = mid + Math.imul(ah1, bl1) | 0;\n hi = hi + Math.imul(ah1, bh1) | 0;\n lo = lo + Math.imul(al0, bl2) | 0;\n mid = mid + Math.imul(al0, bh2) | 0;\n mid = mid + Math.imul(ah0, bl2) | 0;\n hi = hi + Math.imul(ah0, bh2) | 0;\n var w2 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w2 >>> 26) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */ lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = mid + Math.imul(ah3, bl0) | 0;\n hi = Math.imul(ah3, bh0);\n lo = lo + Math.imul(al2, bl1) | 0;\n mid = mid + Math.imul(al2, bh1) | 0;\n mid = mid + Math.imul(ah2, bl1) | 0;\n hi = hi + Math.imul(ah2, bh1) | 0;\n lo = lo + Math.imul(al1, bl2) | 0;\n mid = mid + Math.imul(al1, bh2) | 0;\n mid = mid + Math.imul(ah1, bl2) | 0;\n hi = hi + Math.imul(ah1, bh2) | 0;\n lo = lo + Math.imul(al0, bl3) | 0;\n mid = mid + Math.imul(al0, bh3) | 0;\n mid = mid + Math.imul(ah0, bl3) | 0;\n hi = hi + Math.imul(ah0, bh3) | 0;\n var w3 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w3 >>> 26) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */ lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = mid + Math.imul(ah4, bl0) | 0;\n hi = Math.imul(ah4, bh0);\n lo = lo + Math.imul(al3, bl1) | 0;\n mid = mid + Math.imul(al3, bh1) | 0;\n mid = mid + Math.imul(ah3, bl1) | 0;\n hi = hi + Math.imul(ah3, bh1) | 0;\n lo = lo + Math.imul(al2, bl2) | 0;\n mid = mid + Math.imul(al2, bh2) | 0;\n mid = mid + Math.imul(ah2, bl2) | 0;\n hi = hi + Math.imul(ah2, bh2) | 0;\n lo = lo + Math.imul(al1, bl3) | 0;\n mid = mid + Math.imul(al1, bh3) | 0;\n mid = mid + Math.imul(ah1, bl3) | 0;\n hi = hi + Math.imul(ah1, bh3) | 0;\n lo = lo + Math.imul(al0, bl4) | 0;\n mid = mid + Math.imul(al0, bh4) | 0;\n mid = mid + Math.imul(ah0, bl4) | 0;\n hi = hi + Math.imul(ah0, bh4) | 0;\n var w4 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w4 >>> 26) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */ lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = mid + Math.imul(ah5, bl0) | 0;\n hi = Math.imul(ah5, bh0);\n lo = lo + Math.imul(al4, bl1) | 0;\n mid = mid + Math.imul(al4, bh1) | 0;\n mid = mid + Math.imul(ah4, bl1) | 0;\n hi = hi + Math.imul(ah4, bh1) | 0;\n lo = lo + Math.imul(al3, bl2) | 0;\n mid = mid + Math.imul(al3, bh2) | 0;\n mid = mid + Math.imul(ah3, bl2) | 0;\n hi = hi + Math.imul(ah3, bh2) | 0;\n lo = lo + Math.imul(al2, bl3) | 0;\n mid = mid + Math.imul(al2, bh3) | 0;\n mid = mid + Math.imul(ah2, bl3) | 0;\n hi = hi + Math.imul(ah2, bh3) | 0;\n lo = lo + Math.imul(al1, bl4) | 0;\n mid = mid + Math.imul(al1, bh4) | 0;\n mid = mid + Math.imul(ah1, bl4) | 0;\n hi = hi + Math.imul(ah1, bh4) | 0;\n lo = lo + Math.imul(al0, bl5) | 0;\n mid = mid + Math.imul(al0, bh5) | 0;\n mid = mid + Math.imul(ah0, bl5) | 0;\n hi = hi + Math.imul(ah0, bh5) | 0;\n var w5 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w5 >>> 26) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */ lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = mid + Math.imul(ah6, bl0) | 0;\n hi = Math.imul(ah6, bh0);\n lo = lo + Math.imul(al5, bl1) | 0;\n mid = mid + Math.imul(al5, bh1) | 0;\n mid = mid + Math.imul(ah5, bl1) | 0;\n hi = hi + Math.imul(ah5, bh1) | 0;\n lo = lo + Math.imul(al4, bl2) | 0;\n mid = mid + Math.imul(al4, bh2) | 0;\n mid = mid + Math.imul(ah4, bl2) | 0;\n hi = hi + Math.imul(ah4, bh2) | 0;\n lo = lo + Math.imul(al3, bl3) | 0;\n mid = mid + Math.imul(al3, bh3) | 0;\n mid = mid + Math.imul(ah3, bl3) | 0;\n hi = hi + Math.imul(ah3, bh3) | 0;\n lo = lo + Math.imul(al2, bl4) | 0;\n mid = mid + Math.imul(al2, bh4) | 0;\n mid = mid + Math.imul(ah2, bl4) | 0;\n hi = hi + Math.imul(ah2, bh4) | 0;\n lo = lo + Math.imul(al1, bl5) | 0;\n mid = mid + Math.imul(al1, bh5) | 0;\n mid = mid + Math.imul(ah1, bl5) | 0;\n hi = hi + Math.imul(ah1, bh5) | 0;\n lo = lo + Math.imul(al0, bl6) | 0;\n mid = mid + Math.imul(al0, bh6) | 0;\n mid = mid + Math.imul(ah0, bl6) | 0;\n hi = hi + Math.imul(ah0, bh6) | 0;\n var w6 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w6 >>> 26) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */ lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = mid + Math.imul(ah7, bl0) | 0;\n hi = Math.imul(ah7, bh0);\n lo = lo + Math.imul(al6, bl1) | 0;\n mid = mid + Math.imul(al6, bh1) | 0;\n mid = mid + Math.imul(ah6, bl1) | 0;\n hi = hi + Math.imul(ah6, bh1) | 0;\n lo = lo + Math.imul(al5, bl2) | 0;\n mid = mid + Math.imul(al5, bh2) | 0;\n mid = mid + Math.imul(ah5, bl2) | 0;\n hi = hi + Math.imul(ah5, bh2) | 0;\n lo = lo + Math.imul(al4, bl3) | 0;\n mid = mid + Math.imul(al4, bh3) | 0;\n mid = mid + Math.imul(ah4, bl3) | 0;\n hi = hi + Math.imul(ah4, bh3) | 0;\n lo = lo + Math.imul(al3, bl4) | 0;\n mid = mid + Math.imul(al3, bh4) | 0;\n mid = mid + Math.imul(ah3, bl4) | 0;\n hi = hi + Math.imul(ah3, bh4) | 0;\n lo = lo + Math.imul(al2, bl5) | 0;\n mid = mid + Math.imul(al2, bh5) | 0;\n mid = mid + Math.imul(ah2, bl5) | 0;\n hi = hi + Math.imul(ah2, bh5) | 0;\n lo = lo + Math.imul(al1, bl6) | 0;\n mid = mid + Math.imul(al1, bh6) | 0;\n mid = mid + Math.imul(ah1, bl6) | 0;\n hi = hi + Math.imul(ah1, bh6) | 0;\n lo = lo + Math.imul(al0, bl7) | 0;\n mid = mid + Math.imul(al0, bh7) | 0;\n mid = mid + Math.imul(ah0, bl7) | 0;\n hi = hi + Math.imul(ah0, bh7) | 0;\n var w7 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w7 >>> 26) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */ lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = mid + Math.imul(ah8, bl0) | 0;\n hi = Math.imul(ah8, bh0);\n lo = lo + Math.imul(al7, bl1) | 0;\n mid = mid + Math.imul(al7, bh1) | 0;\n mid = mid + Math.imul(ah7, bl1) | 0;\n hi = hi + Math.imul(ah7, bh1) | 0;\n lo = lo + Math.imul(al6, bl2) | 0;\n mid = mid + Math.imul(al6, bh2) | 0;\n mid = mid + Math.imul(ah6, bl2) | 0;\n hi = hi + Math.imul(ah6, bh2) | 0;\n lo = lo + Math.imul(al5, bl3) | 0;\n mid = mid + Math.imul(al5, bh3) | 0;\n mid = mid + Math.imul(ah5, bl3) | 0;\n hi = hi + Math.imul(ah5, bh3) | 0;\n lo = lo + Math.imul(al4, bl4) | 0;\n mid = mid + Math.imul(al4, bh4) | 0;\n mid = mid + Math.imul(ah4, bl4) | 0;\n hi = hi + Math.imul(ah4, bh4) | 0;\n lo = lo + Math.imul(al3, bl5) | 0;\n mid = mid + Math.imul(al3, bh5) | 0;\n mid = mid + Math.imul(ah3, bl5) | 0;\n hi = hi + Math.imul(ah3, bh5) | 0;\n lo = lo + Math.imul(al2, bl6) | 0;\n mid = mid + Math.imul(al2, bh6) | 0;\n mid = mid + Math.imul(ah2, bl6) | 0;\n hi = hi + Math.imul(ah2, bh6) | 0;\n lo = lo + Math.imul(al1, bl7) | 0;\n mid = mid + Math.imul(al1, bh7) | 0;\n mid = mid + Math.imul(ah1, bl7) | 0;\n hi = hi + Math.imul(ah1, bh7) | 0;\n lo = lo + Math.imul(al0, bl8) | 0;\n mid = mid + Math.imul(al0, bh8) | 0;\n mid = mid + Math.imul(ah0, bl8) | 0;\n hi = hi + Math.imul(ah0, bh8) | 0;\n var w8 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w8 >>> 26) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */ lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = mid + Math.imul(ah9, bl0) | 0;\n hi = Math.imul(ah9, bh0);\n lo = lo + Math.imul(al8, bl1) | 0;\n mid = mid + Math.imul(al8, bh1) | 0;\n mid = mid + Math.imul(ah8, bl1) | 0;\n hi = hi + Math.imul(ah8, bh1) | 0;\n lo = lo + Math.imul(al7, bl2) | 0;\n mid = mid + Math.imul(al7, bh2) | 0;\n mid = mid + Math.imul(ah7, bl2) | 0;\n hi = hi + Math.imul(ah7, bh2) | 0;\n lo = lo + Math.imul(al6, bl3) | 0;\n mid = mid + Math.imul(al6, bh3) | 0;\n mid = mid + Math.imul(ah6, bl3) | 0;\n hi = hi + Math.imul(ah6, bh3) | 0;\n lo = lo + Math.imul(al5, bl4) | 0;\n mid = mid + Math.imul(al5, bh4) | 0;\n mid = mid + Math.imul(ah5, bl4) | 0;\n hi = hi + Math.imul(ah5, bh4) | 0;\n lo = lo + Math.imul(al4, bl5) | 0;\n mid = mid + Math.imul(al4, bh5) | 0;\n mid = mid + Math.imul(ah4, bl5) | 0;\n hi = hi + Math.imul(ah4, bh5) | 0;\n lo = lo + Math.imul(al3, bl6) | 0;\n mid = mid + Math.imul(al3, bh6) | 0;\n mid = mid + Math.imul(ah3, bl6) | 0;\n hi = hi + Math.imul(ah3, bh6) | 0;\n lo = lo + Math.imul(al2, bl7) | 0;\n mid = mid + Math.imul(al2, bh7) | 0;\n mid = mid + Math.imul(ah2, bl7) | 0;\n hi = hi + Math.imul(ah2, bh7) | 0;\n lo = lo + Math.imul(al1, bl8) | 0;\n mid = mid + Math.imul(al1, bh8) | 0;\n mid = mid + Math.imul(ah1, bl8) | 0;\n hi = hi + Math.imul(ah1, bh8) | 0;\n lo = lo + Math.imul(al0, bl9) | 0;\n mid = mid + Math.imul(al0, bh9) | 0;\n mid = mid + Math.imul(ah0, bl9) | 0;\n hi = hi + Math.imul(ah0, bh9) | 0;\n var w9 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w9 >>> 26) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */ lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = mid + Math.imul(ah9, bl1) | 0;\n hi = Math.imul(ah9, bh1);\n lo = lo + Math.imul(al8, bl2) | 0;\n mid = mid + Math.imul(al8, bh2) | 0;\n mid = mid + Math.imul(ah8, bl2) | 0;\n hi = hi + Math.imul(ah8, bh2) | 0;\n lo = lo + Math.imul(al7, bl3) | 0;\n mid = mid + Math.imul(al7, bh3) | 0;\n mid = mid + Math.imul(ah7, bl3) | 0;\n hi = hi + Math.imul(ah7, bh3) | 0;\n lo = lo + Math.imul(al6, bl4) | 0;\n mid = mid + Math.imul(al6, bh4) | 0;\n mid = mid + Math.imul(ah6, bl4) | 0;\n hi = hi + Math.imul(ah6, bh4) | 0;\n lo = lo + Math.imul(al5, bl5) | 0;\n mid = mid + Math.imul(al5, bh5) | 0;\n mid = mid + Math.imul(ah5, bl5) | 0;\n hi = hi + Math.imul(ah5, bh5) | 0;\n lo = lo + Math.imul(al4, bl6) | 0;\n mid = mid + Math.imul(al4, bh6) | 0;\n mid = mid + Math.imul(ah4, bl6) | 0;\n hi = hi + Math.imul(ah4, bh6) | 0;\n lo = lo + Math.imul(al3, bl7) | 0;\n mid = mid + Math.imul(al3, bh7) | 0;\n mid = mid + Math.imul(ah3, bl7) | 0;\n hi = hi + Math.imul(ah3, bh7) | 0;\n lo = lo + Math.imul(al2, bl8) | 0;\n mid = mid + Math.imul(al2, bh8) | 0;\n mid = mid + Math.imul(ah2, bl8) | 0;\n hi = hi + Math.imul(ah2, bh8) | 0;\n lo = lo + Math.imul(al1, bl9) | 0;\n mid = mid + Math.imul(al1, bh9) | 0;\n mid = mid + Math.imul(ah1, bl9) | 0;\n hi = hi + Math.imul(ah1, bh9) | 0;\n var w10 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w10 >>> 26) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */ lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = mid + Math.imul(ah9, bl2) | 0;\n hi = Math.imul(ah9, bh2);\n lo = lo + Math.imul(al8, bl3) | 0;\n mid = mid + Math.imul(al8, bh3) | 0;\n mid = mid + Math.imul(ah8, bl3) | 0;\n hi = hi + Math.imul(ah8, bh3) | 0;\n lo = lo + Math.imul(al7, bl4) | 0;\n mid = mid + Math.imul(al7, bh4) | 0;\n mid = mid + Math.imul(ah7, bl4) | 0;\n hi = hi + Math.imul(ah7, bh4) | 0;\n lo = lo + Math.imul(al6, bl5) | 0;\n mid = mid + Math.imul(al6, bh5) | 0;\n mid = mid + Math.imul(ah6, bl5) | 0;\n hi = hi + Math.imul(ah6, bh5) | 0;\n lo = lo + Math.imul(al5, bl6) | 0;\n mid = mid + Math.imul(al5, bh6) | 0;\n mid = mid + Math.imul(ah5, bl6) | 0;\n hi = hi + Math.imul(ah5, bh6) | 0;\n lo = lo + Math.imul(al4, bl7) | 0;\n mid = mid + Math.imul(al4, bh7) | 0;\n mid = mid + Math.imul(ah4, bl7) | 0;\n hi = hi + Math.imul(ah4, bh7) | 0;\n lo = lo + Math.imul(al3, bl8) | 0;\n mid = mid + Math.imul(al3, bh8) | 0;\n mid = mid + Math.imul(ah3, bl8) | 0;\n hi = hi + Math.imul(ah3, bh8) | 0;\n lo = lo + Math.imul(al2, bl9) | 0;\n mid = mid + Math.imul(al2, bh9) | 0;\n mid = mid + Math.imul(ah2, bl9) | 0;\n hi = hi + Math.imul(ah2, bh9) | 0;\n var w11 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w11 >>> 26) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */ lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = mid + Math.imul(ah9, bl3) | 0;\n hi = Math.imul(ah9, bh3);\n lo = lo + Math.imul(al8, bl4) | 0;\n mid = mid + Math.imul(al8, bh4) | 0;\n mid = mid + Math.imul(ah8, bl4) | 0;\n hi = hi + Math.imul(ah8, bh4) | 0;\n lo = lo + Math.imul(al7, bl5) | 0;\n mid = mid + Math.imul(al7, bh5) | 0;\n mid = mid + Math.imul(ah7, bl5) | 0;\n hi = hi + Math.imul(ah7, bh5) | 0;\n lo = lo + Math.imul(al6, bl6) | 0;\n mid = mid + Math.imul(al6, bh6) | 0;\n mid = mid + Math.imul(ah6, bl6) | 0;\n hi = hi + Math.imul(ah6, bh6) | 0;\n lo = lo + Math.imul(al5, bl7) | 0;\n mid = mid + Math.imul(al5, bh7) | 0;\n mid = mid + Math.imul(ah5, bl7) | 0;\n hi = hi + Math.imul(ah5, bh7) | 0;\n lo = lo + Math.imul(al4, bl8) | 0;\n mid = mid + Math.imul(al4, bh8) | 0;\n mid = mid + Math.imul(ah4, bl8) | 0;\n hi = hi + Math.imul(ah4, bh8) | 0;\n lo = lo + Math.imul(al3, bl9) | 0;\n mid = mid + Math.imul(al3, bh9) | 0;\n mid = mid + Math.imul(ah3, bl9) | 0;\n hi = hi + Math.imul(ah3, bh9) | 0;\n var w12 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w12 >>> 26) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */ lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = mid + Math.imul(ah9, bl4) | 0;\n hi = Math.imul(ah9, bh4);\n lo = lo + Math.imul(al8, bl5) | 0;\n mid = mid + Math.imul(al8, bh5) | 0;\n mid = mid + Math.imul(ah8, bl5) | 0;\n hi = hi + Math.imul(ah8, bh5) | 0;\n lo = lo + Math.imul(al7, bl6) | 0;\n mid = mid + Math.imul(al7, bh6) | 0;\n mid = mid + Math.imul(ah7, bl6) | 0;\n hi = hi + Math.imul(ah7, bh6) | 0;\n lo = lo + Math.imul(al6, bl7) | 0;\n mid = mid + Math.imul(al6, bh7) | 0;\n mid = mid + Math.imul(ah6, bl7) | 0;\n hi = hi + Math.imul(ah6, bh7) | 0;\n lo = lo + Math.imul(al5, bl8) | 0;\n mid = mid + Math.imul(al5, bh8) | 0;\n mid = mid + Math.imul(ah5, bl8) | 0;\n hi = hi + Math.imul(ah5, bh8) | 0;\n lo = lo + Math.imul(al4, bl9) | 0;\n mid = mid + Math.imul(al4, bh9) | 0;\n mid = mid + Math.imul(ah4, bl9) | 0;\n hi = hi + Math.imul(ah4, bh9) | 0;\n var w13 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w13 >>> 26) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */ lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = mid + Math.imul(ah9, bl5) | 0;\n hi = Math.imul(ah9, bh5);\n lo = lo + Math.imul(al8, bl6) | 0;\n mid = mid + Math.imul(al8, bh6) | 0;\n mid = mid + Math.imul(ah8, bl6) | 0;\n hi = hi + Math.imul(ah8, bh6) | 0;\n lo = lo + Math.imul(al7, bl7) | 0;\n mid = mid + Math.imul(al7, bh7) | 0;\n mid = mid + Math.imul(ah7, bl7) | 0;\n hi = hi + Math.imul(ah7, bh7) | 0;\n lo = lo + Math.imul(al6, bl8) | 0;\n mid = mid + Math.imul(al6, bh8) | 0;\n mid = mid + Math.imul(ah6, bl8) | 0;\n hi = hi + Math.imul(ah6, bh8) | 0;\n lo = lo + Math.imul(al5, bl9) | 0;\n mid = mid + Math.imul(al5, bh9) | 0;\n mid = mid + Math.imul(ah5, bl9) | 0;\n hi = hi + Math.imul(ah5, bh9) | 0;\n var w14 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w14 >>> 26) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */ lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = mid + Math.imul(ah9, bl6) | 0;\n hi = Math.imul(ah9, bh6);\n lo = lo + Math.imul(al8, bl7) | 0;\n mid = mid + Math.imul(al8, bh7) | 0;\n mid = mid + Math.imul(ah8, bl7) | 0;\n hi = hi + Math.imul(ah8, bh7) | 0;\n lo = lo + Math.imul(al7, bl8) | 0;\n mid = mid + Math.imul(al7, bh8) | 0;\n mid = mid + Math.imul(ah7, bl8) | 0;\n hi = hi + Math.imul(ah7, bh8) | 0;\n lo = lo + Math.imul(al6, bl9) | 0;\n mid = mid + Math.imul(al6, bh9) | 0;\n mid = mid + Math.imul(ah6, bl9) | 0;\n hi = hi + Math.imul(ah6, bh9) | 0;\n var w15 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w15 >>> 26) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */ lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = mid + Math.imul(ah9, bl7) | 0;\n hi = Math.imul(ah9, bh7);\n lo = lo + Math.imul(al8, bl8) | 0;\n mid = mid + Math.imul(al8, bh8) | 0;\n mid = mid + Math.imul(ah8, bl8) | 0;\n hi = hi + Math.imul(ah8, bh8) | 0;\n lo = lo + Math.imul(al7, bl9) | 0;\n mid = mid + Math.imul(al7, bh9) | 0;\n mid = mid + Math.imul(ah7, bl9) | 0;\n hi = hi + Math.imul(ah7, bh9) | 0;\n var w16 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w16 >>> 26) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */ lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = mid + Math.imul(ah9, bl8) | 0;\n hi = Math.imul(ah9, bh8);\n lo = lo + Math.imul(al8, bl9) | 0;\n mid = mid + Math.imul(al8, bh9) | 0;\n mid = mid + Math.imul(ah8, bl9) | 0;\n hi = hi + Math.imul(ah8, bh9) | 0;\n var w17 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w17 >>> 26) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */ lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = mid + Math.imul(ah9, bl9) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (c + lo | 0) + ((mid & 0x1fff) << 13) | 0;\n c = (hi + (mid >>> 13) | 0) + (w18 >>> 26) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n // Polyfill comb\n if (!Math.imul) comb10MulTo = smallMulTo;\n function bigMulTo(self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n var carry = 0;\n var hncarry = 0;\n for(var k = 0; k < out.length - 1; k++){\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for(var j = Math.max(0, k - self.length + 1); j <= maxJ; j++){\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n var lo = r & 0x3ffffff;\n ncarry = ncarry + (r / 0x4000000 | 0) | 0;\n lo = lo + rword | 0;\n rword = lo & 0x3ffffff;\n ncarry = ncarry + (lo >>> 26) | 0;\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) out.words[k] = carry;\n else out.length--;\n return out.strip();\n }\n function jumboMulTo(self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n BN.prototype.mulTo = function mulTo(num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) res = comb10MulTo(this, num, out);\n else if (len < 63) res = smallMulTo(this, num, out);\n else if (len < 1024) res = bigMulTo(this, num, out);\n else res = jumboMulTo(this, num, out);\n return res;\n };\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n function FFTM(x, y) {\n this.x = x;\n this.y = y;\n }\n FFTM.prototype.makeRBT = function makeRBT(N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for(var i = 0; i < N; i++)t[i] = this.revBin(i, l, N);\n return t;\n };\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin(x, l, N) {\n if (x === 0 || x === N - 1) return x;\n var rb = 0;\n for(var i = 0; i < l; i++){\n rb |= (x & 1) << l - i - 1;\n x >>= 1;\n }\n return rb;\n };\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute(rbt, rws, iws, rtws, itws, N) {\n for(var i = 0; i < N; i++){\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n FFTM.prototype.transform = function transform(rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n for(var s = 1; s < N; s <<= 1){\n var l = s << 1;\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n for(var p = 0; p < N; p += l){\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n for(var j = 0; j < s; j++){\n var re = rtws[p + j];\n var ie = itws[p + j];\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n var rx = rtwdf_ * ro - itwdf_ * io;\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n /* jshint maxdepth : false */ if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n FFTM.prototype.guessLen13b = function guessLen13b(n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for(N = N / 2 | 0; N; N = N >>> 1)i++;\n return 1 << i + 1 + odd;\n };\n FFTM.prototype.conjugate = function conjugate(rws, iws, N) {\n if (N <= 1) return;\n for(var i = 0; i < N / 2; i++){\n var t = rws[i];\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n t = iws[i];\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n FFTM.prototype.normalize13b = function normalize13b(ws, N) {\n var carry = 0;\n for(var i = 0; i < N / 2; i++){\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 + Math.round(ws[2 * i] / N) + carry;\n ws[i] = w & 0x3ffffff;\n if (w < 0x4000000) carry = 0;\n else carry = w / 0x4000000 | 0;\n }\n return ws;\n };\n FFTM.prototype.convert13b = function convert13b(ws, len, rws, N) {\n var carry = 0;\n for(var i = 0; i < len; i++){\n carry = carry + (ws[i] | 0);\n rws[2 * i] = carry & 0x1fff;\n carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff;\n carry = carry >>> 13;\n }\n // Pad with zeroes\n for(i = 2 * len; i < N; ++i)rws[i] = 0;\n assert(carry === 0);\n assert((carry & -8192) === 0);\n };\n FFTM.prototype.stub = function stub(N) {\n var ph = new Array(N);\n for(var i = 0; i < N; i++)ph[i] = 0;\n return ph;\n };\n FFTM.prototype.mulp = function mulp(x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n var rbt = this.makeRBT(N);\n var _ = this.stub(N);\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n var rmws = out.words;\n rmws.length = N;\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n for(var i = 0; i < N; i++){\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n // Multiply `this` by `num`\n BN.prototype.mul = function mul(num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n // Multiply employing FFT\n BN.prototype.mulf = function mulf(num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n // In-place Multiplication\n BN.prototype.imul = function imul(num) {\n return this.clone().mulTo(num, this);\n };\n BN.prototype.imuln = function imuln(num) {\n assert(typeof num === \"number\");\n assert(num < 0x4000000);\n // Carry\n var carry = 0;\n for(var i = 0; i < this.length; i++){\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += w / 0x4000000 | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n BN.prototype.muln = function muln(num) {\n return this.clone().imuln(num);\n };\n // `this` * `this`\n BN.prototype.sqr = function sqr() {\n return this.mul(this);\n };\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr() {\n return this.imul(this.clone());\n };\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow(num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n // Skip leading zeroes\n var res = this;\n for(var i = 0; i < w.length; i++, res = res.sqr()){\n if (w[i] !== 0) break;\n }\n if (++i < w.length) for(var q = res.sqr(); i < w.length; i++, q = q.sqr()){\n if (w[i] === 0) continue;\n res = res.mul(q);\n }\n return res;\n };\n // Shift-left in-place\n BN.prototype.iushln = function iushln(bits) {\n assert(typeof bits === \"number\" && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = 0x3ffffff >>> 26 - r << 26 - r;\n var i;\n if (r !== 0) {\n var carry = 0;\n for(i = 0; i < this.length; i++){\n var newCarry = this.words[i] & carryMask;\n var c = (this.words[i] | 0) - newCarry << r;\n this.words[i] = c | carry;\n carry = newCarry >>> 26 - r;\n }\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n if (s !== 0) {\n for(i = this.length - 1; i >= 0; i--)this.words[i + s] = this.words[i];\n for(i = 0; i < s; i++)this.words[i] = 0;\n this.length += s;\n }\n return this.strip();\n };\n BN.prototype.ishln = function ishln(bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn(bits, hint, extended) {\n assert(typeof bits === \"number\" && bits >= 0);\n var h;\n if (hint) h = (hint - hint % 26) / 26;\n else h = 0;\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ 0x3ffffff >>> r << r;\n var maskedWords = extended;\n h -= s;\n h = Math.max(0, h);\n // Extended mode, copy masked part\n if (maskedWords) {\n for(var i = 0; i < s; i++)maskedWords.words[i] = this.words[i];\n maskedWords.length = s;\n }\n if (s === 0) ;\n else if (this.length > s) {\n this.length -= s;\n for(i = 0; i < this.length; i++)this.words[i] = this.words[i + s];\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n var carry = 0;\n for(i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--){\n var word = this.words[i] | 0;\n this.words[i] = carry << 26 - r | word >>> r;\n carry = word & mask;\n }\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) maskedWords.words[maskedWords.length++] = carry;\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n return this.strip();\n };\n BN.prototype.ishrn = function ishrn(bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n // Shift-left\n BN.prototype.shln = function shln(bits) {\n return this.clone().ishln(bits);\n };\n BN.prototype.ushln = function ushln(bits) {\n return this.clone().iushln(bits);\n };\n // Shift-right\n BN.prototype.shrn = function shrn(bits) {\n return this.clone().ishrn(bits);\n };\n BN.prototype.ushrn = function ushrn(bits) {\n return this.clone().iushrn(bits);\n };\n // Test if n bit is set\n BN.prototype.testn = function testn(bit) {\n assert(typeof bit === \"number\" && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n // Check bit and return\n var w = this.words[s];\n return !!(w & q);\n };\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn(bits) {\n assert(typeof bits === \"number\" && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n assert(this.negative === 0, \"imaskn works only with positive numbers\");\n if (this.length <= s) return this;\n if (r !== 0) s++;\n this.length = Math.min(s, this.length);\n if (r !== 0) {\n var mask = 0x3ffffff ^ 0x3ffffff >>> r << r;\n this.words[this.length - 1] &= mask;\n }\n return this.strip();\n };\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn(bits) {\n return this.clone().imaskn(bits);\n };\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn(num) {\n assert(typeof num === \"number\");\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n // Add without checks\n return this._iaddn(num);\n };\n BN.prototype._iaddn = function _iaddn(num) {\n this.words[0] += num;\n // Carry\n for(var i = 0; i < this.length && this.words[i] >= 0x4000000; i++){\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) this.words[i + 1] = 1;\n else this.words[i + 1]++;\n }\n this.length = Math.max(this.length, i + 1);\n return this;\n };\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn(num) {\n assert(typeof num === \"number\");\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n this.words[0] -= num;\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else // Carry\n for(var i = 0; i < this.length && this.words[i] < 0; i++){\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n return this.strip();\n };\n BN.prototype.addn = function addn(num) {\n return this.clone().iaddn(num);\n };\n BN.prototype.subn = function subn(num) {\n return this.clone().isubn(num);\n };\n BN.prototype.iabs = function iabs() {\n this.negative = 0;\n return this;\n };\n BN.prototype.abs = function abs() {\n return this.clone().iabs();\n };\n BN.prototype._ishlnsubmul = function _ishlnsubmul(num, mul, shift) {\n var len = num.length + shift;\n var i;\n this._expand(len);\n var w;\n var carry = 0;\n for(i = 0; i < num.length; i++){\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - (right / 0x4000000 | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for(; i < this.length - shift; i++){\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n if (carry === 0) return this.strip();\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for(i = 0; i < this.length; i++){\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n return this.strip();\n };\n BN.prototype._wordDiv = function _wordDiv(num, mode) {\n var shift = this.length - num.length;\n var a = this.clone();\n var b = num;\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n if (mode !== \"mod\") {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for(var i = 0; i < q.length; i++)q.words[i] = 0;\n }\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) q.words[m] = 1;\n }\n for(var j = m - 1; j >= 0; j--){\n var qj = (a.words[b.length + j] | 0) * 0x4000000 + (a.words[b.length + j - 1] | 0);\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min(qj / bhi | 0, 0x3ffffff);\n a._ishlnsubmul(b, qj, j);\n while(a.negative !== 0){\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) a.negative ^= 1;\n }\n if (q) q.words[j] = qj;\n }\n if (q) q.strip();\n a.strip();\n // Denormalize\n if (mode !== \"div\" && shift !== 0) a.iushrn(shift);\n return {\n div: q || null,\n mod: a\n };\n };\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod(num, mode, positive) {\n assert(!num.isZero());\n if (this.isZero()) return {\n div: new BN(0),\n mod: new BN(0)\n };\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n if (mode !== \"mod\") div = res.div.neg();\n if (mode !== \"div\") {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) mod.iadd(num);\n }\n return {\n div: div,\n mod: mod\n };\n }\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n if (mode !== \"mod\") div = res.div.neg();\n return {\n div: div,\n mod: res.mod\n };\n }\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n if (mode !== \"div\") {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) mod.isub(num);\n }\n return {\n div: res.div,\n mod: mod\n };\n }\n // Both numbers are positive at this point\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) return {\n div: new BN(0),\n mod: this\n };\n // Very short reduction\n if (num.length === 1) {\n if (mode === \"div\") return {\n div: this.divn(num.words[0]),\n mod: null\n };\n if (mode === \"mod\") return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n return this._wordDiv(num, mode);\n };\n // Find `this` / `num`\n BN.prototype.div = function div(num) {\n return this.divmod(num, \"div\", false).div;\n };\n // Find `this` % `num`\n BN.prototype.mod = function mod(num) {\n return this.divmod(num, \"mod\", false).mod;\n };\n BN.prototype.umod = function umod(num) {\n return this.divmod(num, \"mod\", true).mod;\n };\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound(num) {\n var dm = this.divmod(num);\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n BN.prototype.modn = function modn(num) {\n assert(num <= 0x3ffffff);\n var p = 67108864 % num;\n var acc = 0;\n for(var i = this.length - 1; i >= 0; i--)acc = (p * acc + (this.words[i] | 0)) % num;\n return acc;\n };\n // In-place division by number\n BN.prototype.idivn = function idivn(num) {\n assert(num <= 0x3ffffff);\n var carry = 0;\n for(var i = this.length - 1; i >= 0; i--){\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = w / num | 0;\n carry = w % num;\n }\n return this.strip();\n };\n BN.prototype.divn = function divn(num) {\n return this.clone().idivn(num);\n };\n BN.prototype.egcd = function egcd(p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n var x = this;\n var y = p.clone();\n if (x.negative !== 0) x = x.umod(p);\n else x = x.clone();\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n var g = 0;\n while(x.isEven() && y.isEven()){\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n var yp = y.clone();\n var xp = x.clone();\n while(!x.isZero()){\n for(var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while(i-- > 0){\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n for(var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while(j-- > 0){\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp(p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n var a = this;\n var b = p.clone();\n if (a.negative !== 0) a = a.umod(p);\n else a = a.clone();\n var x1 = new BN(1);\n var x2 = new BN(0);\n var delta = b.clone();\n while(a.cmpn(1) > 0 && b.cmpn(1) > 0){\n for(var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while(i-- > 0){\n if (x1.isOdd()) x1.iadd(delta);\n x1.iushrn(1);\n }\n }\n for(var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while(j-- > 0){\n if (x2.isOdd()) x2.iadd(delta);\n x2.iushrn(1);\n }\n }\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n var res;\n if (a.cmpn(1) === 0) res = x1;\n else res = x2;\n if (res.cmpn(0) < 0) res.iadd(p);\n return res;\n };\n BN.prototype.gcd = function gcd(num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n // Remove common factor of two\n for(var shift = 0; a.isEven() && b.isEven(); shift++){\n a.iushrn(1);\n b.iushrn(1);\n }\n do {\n while(a.isEven())a.iushrn(1);\n while(b.isEven())b.iushrn(1);\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) break;\n a.isub(b);\n }while (true);\n return b.iushln(shift);\n };\n // Invert number in the field F(num)\n BN.prototype.invm = function invm(num) {\n return this.egcd(num).a.umod(num);\n };\n BN.prototype.isEven = function isEven() {\n return (this.words[0] & 1) === 0;\n };\n BN.prototype.isOdd = function isOdd() {\n return (this.words[0] & 1) === 1;\n };\n // And first word and num\n BN.prototype.andln = function andln(num) {\n return this.words[0] & num;\n };\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn(bit) {\n assert(typeof bit === \"number\");\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n // Add bit and propagate, if needed\n var carry = q;\n for(var i = s; carry !== 0 && i < this.length; i++){\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n BN.prototype.isZero = function isZero() {\n return this.length === 1 && this.words[0] === 0;\n };\n BN.prototype.cmpn = function cmpn(num) {\n var negative = num < 0;\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n this.strip();\n var res;\n if (this.length > 1) res = 1;\n else {\n if (negative) num = -num;\n assert(num <= 0x3ffffff, \"Number is too big\");\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp(num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp(num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n var res = 0;\n for(var i = this.length - 1; i >= 0; i--){\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n if (a === b) continue;\n if (a < b) res = -1;\n else if (a > b) res = 1;\n break;\n }\n return res;\n };\n BN.prototype.gtn = function gtn(num) {\n return this.cmpn(num) === 1;\n };\n BN.prototype.gt = function gt(num) {\n return this.cmp(num) === 1;\n };\n BN.prototype.gten = function gten(num) {\n return this.cmpn(num) >= 0;\n };\n BN.prototype.gte = function gte(num) {\n return this.cmp(num) >= 0;\n };\n BN.prototype.ltn = function ltn(num) {\n return this.cmpn(num) === -1;\n };\n BN.prototype.lt = function lt(num) {\n return this.cmp(num) === -1;\n };\n BN.prototype.lten = function lten(num) {\n return this.cmpn(num) <= 0;\n };\n BN.prototype.lte = function lte(num) {\n return this.cmp(num) <= 0;\n };\n BN.prototype.eqn = function eqn(num) {\n return this.cmpn(num) === 0;\n };\n BN.prototype.eq = function eq(num) {\n return this.cmp(num) === 0;\n };\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red(num) {\n return new Red(num);\n };\n BN.prototype.toRed = function toRed(ctx) {\n assert(!this.red, \"Already a number in reduction context\");\n assert(this.negative === 0, \"red works only with positives\");\n return ctx.convertTo(this)._forceRed(ctx);\n };\n BN.prototype.fromRed = function fromRed() {\n assert(this.red, \"fromRed works only with numbers in reduction context\");\n return this.red.convertFrom(this);\n };\n BN.prototype._forceRed = function _forceRed(ctx) {\n this.red = ctx;\n return this;\n };\n BN.prototype.forceRed = function forceRed(ctx) {\n assert(!this.red, \"Already a number in reduction context\");\n return this._forceRed(ctx);\n };\n BN.prototype.redAdd = function redAdd(num) {\n assert(this.red, \"redAdd works only with red numbers\");\n return this.red.add(this, num);\n };\n BN.prototype.redIAdd = function redIAdd(num) {\n assert(this.red, \"redIAdd works only with red numbers\");\n return this.red.iadd(this, num);\n };\n BN.prototype.redSub = function redSub(num) {\n assert(this.red, \"redSub works only with red numbers\");\n return this.red.sub(this, num);\n };\n BN.prototype.redISub = function redISub(num) {\n assert(this.red, \"redISub works only with red numbers\");\n return this.red.isub(this, num);\n };\n BN.prototype.redShl = function redShl(num) {\n assert(this.red, \"redShl works only with red numbers\");\n return this.red.shl(this, num);\n };\n BN.prototype.redMul = function redMul(num) {\n assert(this.red, \"redMul works only with red numbers\");\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n BN.prototype.redIMul = function redIMul(num) {\n assert(this.red, \"redMul works only with red numbers\");\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n BN.prototype.redSqr = function redSqr() {\n assert(this.red, \"redSqr works only with red numbers\");\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n BN.prototype.redISqr = function redISqr() {\n assert(this.red, \"redISqr works only with red numbers\");\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n // Square root over p\n BN.prototype.redSqrt = function redSqrt() {\n assert(this.red, \"redSqrt works only with red numbers\");\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n BN.prototype.redInvm = function redInvm() {\n assert(this.red, \"redInvm works only with red numbers\");\n this.red._verify1(this);\n return this.red.invm(this);\n };\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg() {\n assert(this.red, \"redNeg works only with red numbers\");\n this.red._verify1(this);\n return this.red.neg(this);\n };\n BN.prototype.redPow = function redPow(num) {\n assert(this.red && !num.red, \"redPow(normalNum)\");\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n // Pseudo-Mersenne prime\n function MPrime(name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n this.tmp = this._tmp();\n }\n MPrime.prototype._tmp = function _tmp() {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n MPrime.prototype.ireduce = function ireduce(num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n }while (rlen > this.n);\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) r.isub(this.p);\n else if (r.strip !== undefined) // r is BN v4 instance\n r.strip();\n else // r is BN v5 instance\n r._strip();\n return r;\n };\n MPrime.prototype.split = function split(input, out) {\n input.iushrn(this.n, 0, out);\n };\n MPrime.prototype.imulK = function imulK(num) {\n return num.imul(this.k);\n };\n function K256() {\n MPrime.call(this, \"k256\", \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\");\n }\n inherits(K256, MPrime);\n K256.prototype.split = function split(input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n var outLen = Math.min(input.length, 9);\n for(var i = 0; i < outLen; i++)output.words[i] = input.words[i];\n output.length = outLen;\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n for(i = 10; i < input.length; i++){\n var next = input.words[i] | 0;\n input.words[i - 10] = (next & mask) << 4 | prev >>> 22;\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) input.length -= 10;\n else input.length -= 9;\n };\n K256.prototype.imulK = function imulK(num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for(var i = 0; i < num.length; i++){\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + (lo / 0x4000000 | 0);\n }\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) num.length--;\n }\n return num;\n };\n function P224() {\n MPrime.call(this, \"p224\", \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\");\n }\n inherits(P224, MPrime);\n function P192() {\n MPrime.call(this, \"p192\", \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\");\n }\n inherits(P192, MPrime);\n function P25519() {\n // 2 ^ 255 - 19\n MPrime.call(this, \"25519\", \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\");\n }\n inherits(P25519, MPrime);\n P25519.prototype.imulK = function imulK(num) {\n // K = 0x13\n var carry = 0;\n for(var i = 0; i < num.length; i++){\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) num.words[num.length++] = carry;\n return num;\n };\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime(name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n var prime;\n if (name === \"k256\") prime = new K256();\n else if (name === \"p224\") prime = new P224();\n else if (name === \"p192\") prime = new P192();\n else if (name === \"p25519\") prime = new P25519();\n else throw new Error(\"Unknown prime \" + name);\n primes[name] = prime;\n return prime;\n };\n //\n // Base reduction engine\n //\n function Red(m) {\n if (typeof m === \"string\") {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), \"modulus must be greater than 1\");\n this.m = m;\n this.prime = null;\n }\n }\n Red.prototype._verify1 = function _verify1(a) {\n assert(a.negative === 0, \"red works only with positives\");\n assert(a.red, \"red works only with red numbers\");\n };\n Red.prototype._verify2 = function _verify2(a, b) {\n assert((a.negative | b.negative) === 0, \"red works only with positives\");\n assert(a.red && a.red === b.red, \"red works only with red numbers\");\n };\n Red.prototype.imod = function imod(a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n Red.prototype.neg = function neg(a) {\n if (a.isZero()) return a.clone();\n return this.m.sub(a)._forceRed(this);\n };\n Red.prototype.add = function add(a, b) {\n this._verify2(a, b);\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) res.isub(this.m);\n return res._forceRed(this);\n };\n Red.prototype.iadd = function iadd(a, b) {\n this._verify2(a, b);\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) res.isub(this.m);\n return res;\n };\n Red.prototype.sub = function sub(a, b) {\n this._verify2(a, b);\n var res = a.sub(b);\n if (res.cmpn(0) < 0) res.iadd(this.m);\n return res._forceRed(this);\n };\n Red.prototype.isub = function isub(a, b) {\n this._verify2(a, b);\n var res = a.isub(b);\n if (res.cmpn(0) < 0) res.iadd(this.m);\n return res;\n };\n Red.prototype.shl = function shl(a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n Red.prototype.imul = function imul(a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n Red.prototype.mul = function mul(a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n Red.prototype.isqr = function isqr(a) {\n return this.imul(a, a.clone());\n };\n Red.prototype.sqr = function sqr(a) {\n return this.mul(a, a);\n };\n Red.prototype.sqrt = function sqrt(a) {\n if (a.isZero()) return a.clone();\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while(!q.isZero() && q.andln(1) === 0){\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n while(this.pow(z, lpow).cmp(nOne) !== 0)z.redIAdd(nOne);\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while(t.cmp(one) !== 0){\n var tmp = t;\n for(var i = 0; tmp.cmp(one) !== 0; i++)tmp = tmp.redSqr();\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n return r;\n };\n Red.prototype.invm = function invm(a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else return this.imod(inv);\n };\n Red.prototype.pow = function pow(a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for(var i = 2; i < wnd.length; i++)wnd[i] = this.mul(wnd[i - 1], a);\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) start = 26;\n for(i = num.length - 1; i >= 0; i--){\n var word = num.words[i];\n for(var j = start - 1; j >= 0; j--){\n var bit = word >> j & 1;\n if (res !== wnd[0]) res = this.sqr(res);\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n return res;\n };\n Red.prototype.convertTo = function convertTo(num) {\n var r = num.umod(this.m);\n return r === num ? r.clone() : r;\n };\n Red.prototype.convertFrom = function convertFrom(num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n //\n // Montgomery method engine\n //\n BN.mont = function mont(num) {\n return new Mont(num);\n };\n function Mont(m) {\n Red.call(this, m);\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) this.shift += 26 - this.shift % 26;\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n Mont.prototype.convertTo = function convertTo(num) {\n return this.imod(num.ushln(this.shift));\n };\n Mont.prototype.convertFrom = function convertFrom(num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n Mont.prototype.imul = function imul(a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) res = u.isub(this.m);\n else if (u.cmpn(0) < 0) res = u.iadd(this.m);\n return res._forceRed(this);\n };\n Mont.prototype.mul = function mul(a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) res = u.isub(this.m);\n else if (u.cmpn(0) < 0) res = u.iadd(this.m);\n return res._forceRed(this);\n };\n Mont.prototype.invm = function invm(a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(module, this);\n\n});\n\nparcelRequire.register(\"koC21\", function(module, exports) {\nmodule.exports = $ed938ccf59a32f03$var$assert;\nfunction $ed938ccf59a32f03$var$assert(val, msg) {\n if (!val) throw new Error(msg || \"Assertion failed\");\n}\n$ed938ccf59a32f03$var$assert.equal = function assertEqual(l, r, msg) {\n if (l != r) throw new Error(msg || \"Assertion failed: \" + l + \" != \" + r);\n};\n\n});\n\nparcelRequire.register(\"lC4vN\", function(module, exports) {\n\"use strict\";\nvar $fbc0a58a3f4350d8$var$utils = module.exports;\nfunction $fbc0a58a3f4350d8$var$toArray(msg, enc) {\n if (Array.isArray(msg)) return msg.slice();\n if (!msg) return [];\n var res = [];\n if (typeof msg !== \"string\") {\n for(var i = 0; i < msg.length; i++)res[i] = msg[i] | 0;\n return res;\n }\n if (enc === \"hex\") {\n msg = msg.replace(/[^a-z0-9]+/ig, \"\");\n if (msg.length % 2 !== 0) msg = \"0\" + msg;\n for(var i = 0; i < msg.length; i += 2)res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else for(var i = 0; i < msg.length; i++){\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi) res.push(hi, lo);\n else res.push(lo);\n }\n return res;\n}\n$fbc0a58a3f4350d8$var$utils.toArray = $fbc0a58a3f4350d8$var$toArray;\nfunction $fbc0a58a3f4350d8$var$zero2(word) {\n if (word.length === 1) return \"0\" + word;\n else return word;\n}\n$fbc0a58a3f4350d8$var$utils.zero2 = $fbc0a58a3f4350d8$var$zero2;\nfunction $fbc0a58a3f4350d8$var$toHex(msg) {\n var res = \"\";\n for(var i = 0; i < msg.length; i++)res += $fbc0a58a3f4350d8$var$zero2(msg[i].toString(16));\n return res;\n}\n$fbc0a58a3f4350d8$var$utils.toHex = $fbc0a58a3f4350d8$var$toHex;\n$fbc0a58a3f4350d8$var$utils.encode = function encode(arr, enc) {\n if (enc === \"hex\") return $fbc0a58a3f4350d8$var$toHex(arr);\n else return arr;\n};\n\n});\n\n\nparcelRequire.register(\"7JHF0\", function(module, exports) {\nvar $5a1e9a6ed4e8de8a$var$r;\nmodule.exports = function rand(len) {\n if (!$5a1e9a6ed4e8de8a$var$r) $5a1e9a6ed4e8de8a$var$r = new $5a1e9a6ed4e8de8a$var$Rand(null);\n return $5a1e9a6ed4e8de8a$var$r.generate(len);\n};\nfunction $5a1e9a6ed4e8de8a$var$Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = $5a1e9a6ed4e8de8a$var$Rand;\n$5a1e9a6ed4e8de8a$var$Rand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n// Emulate crypto API using randy\n$5a1e9a6ed4e8de8a$var$Rand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes) return this.rand.getBytes(n);\n var res = new Uint8Array(n);\n for(var i = 0; i < res.length; i++)res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === \"object\") {\n if (self.crypto && self.crypto.getRandomValues) // Modern browsers\n $5a1e9a6ed4e8de8a$var$Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n else if (self.msCrypto && self.msCrypto.getRandomValues) // IE\n $5a1e9a6ed4e8de8a$var$Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n else if (typeof window === \"object\") // Old junk\n $5a1e9a6ed4e8de8a$var$Rand.prototype._rand = function() {\n throw new Error(\"Not implemented yet\");\n };\n} else // Node.js or Web worker with no crypto support\ntry {\n var $5a1e9a6ed4e8de8a$var$crypto = (parcelRequire(\"kjyEk\"));\n if (typeof $5a1e9a6ed4e8de8a$var$crypto.randomBytes !== \"function\") throw new Error(\"Not supported\");\n $5a1e9a6ed4e8de8a$var$Rand.prototype._rand = function _rand(n) {\n return $5a1e9a6ed4e8de8a$var$crypto.randomBytes(n);\n };\n} catch (e) {}\n\n});\n\nparcelRequire.register(\"cP1GP\", function(module, exports) {\n\"use strict\";\nvar $955b8f041d2341cf$var$curve = module.exports;\n\n$955b8f041d2341cf$var$curve.base = (parcelRequire(\"hSu7V\"));\n\n$955b8f041d2341cf$var$curve.short = (parcelRequire(\"eYNyQ\"));\n\n$955b8f041d2341cf$var$curve.mont = (parcelRequire(\"av2Yx\"));\n\n$955b8f041d2341cf$var$curve.edwards = (parcelRequire(\"dqmX9\"));\n\n});\nparcelRequire.register(\"hSu7V\", function(module, exports) {\n\"use strict\";\n\nvar $jX0xT = parcelRequire(\"jX0xT\");\n\nvar $gEVtY = parcelRequire(\"gEVtY\");\nvar $d03ed95a59c9b218$var$getNAF = $gEVtY.getNAF;\nvar $d03ed95a59c9b218$var$getJSF = $gEVtY.getJSF;\nvar $d03ed95a59c9b218$var$assert = $gEVtY.assert;\nfunction $d03ed95a59c9b218$var$BaseCurve(type, conf) {\n this.type = type;\n this.p = new $jX0xT(conf.p, 16);\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? $jX0xT.red(conf.prime) : $jX0xT.mont(this.p);\n // Useful for many curves\n this.zero = new $jX0xT(0).toRed(this.red);\n this.one = new $jX0xT(1).toRed(this.red);\n this.two = new $jX0xT(2).toRed(this.red);\n // Curve configuration, optional\n this.n = conf.n && new $jX0xT(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n this._bitLength = this.n ? this.n.bitLength() : 0;\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) this.redN = null;\n else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = $d03ed95a59c9b218$var$BaseCurve;\n$d03ed95a59c9b218$var$BaseCurve.prototype.point = function point() {\n throw new Error(\"Not implemented\");\n};\n$d03ed95a59c9b218$var$BaseCurve.prototype.validate = function validate() {\n throw new Error(\"Not implemented\");\n};\n$d03ed95a59c9b218$var$BaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n $d03ed95a59c9b218$var$assert(p.precomputed);\n var doubles = p._getDoubles();\n var naf = $d03ed95a59c9b218$var$getNAF(k, 1, this._bitLength);\n var I = (1 << doubles.step + 1) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for(j = 0; j < naf.length; j += doubles.step){\n nafW = 0;\n for(var l = j + doubles.step - 1; l >= j; l--)nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for(var i = I; i > 0; i--){\n for(j = 0; j < repr.length; j++){\n nafW = repr[j];\n if (nafW === i) b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i) b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n$d03ed95a59c9b218$var$BaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n // Get NAF form\n var naf = $d03ed95a59c9b218$var$getNAF(k, w, this._bitLength);\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for(var i = naf.length - 1; i >= 0; i--){\n // Count zeroes\n for(var l = 0; i >= 0 && naf[i] === 0; i--)l++;\n if (i >= 0) l++;\n acc = acc.dblp(l);\n if (i < 0) break;\n var z = naf[i];\n $d03ed95a59c9b218$var$assert(z !== 0);\n if (p.type === \"affine\") {\n // J +- P\n if (z > 0) acc = acc.mixedAdd(wnd[z - 1 >> 1]);\n else acc = acc.mixedAdd(wnd[-z - 1 >> 1].neg());\n } else // J +- J\n if (z > 0) acc = acc.add(wnd[z - 1 >> 1]);\n else acc = acc.add(wnd[-z - 1 >> 1].neg());\n }\n return p.type === \"affine\" ? acc.toP() : acc;\n};\n$d03ed95a59c9b218$var$BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW, points, coeffs, len, jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for(i = 0; i < len; i++){\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n // Comb small window NAFs\n for(i = len - 1; i >= 1; i -= 2){\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = $d03ed95a59c9b218$var$getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = $d03ed95a59c9b218$var$getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n var comb = [\n points[a],\n /* 1 */ null,\n /* 3 */ null,\n /* 5 */ points[b]\n ];\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n var index = [\n -3,\n /* -1 -1 */ -1,\n /* -1 0 */ -5,\n /* -1 1 */ -7,\n /* 0 -1 */ 0,\n /* 0 0 */ 7,\n /* 0 1 */ 5,\n /* 1 -1 */ 1,\n /* 1 0 */ 3\n ];\n var jsf = $d03ed95a59c9b218$var$getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for(j = 0; j < max; j++){\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for(i = max; i >= 0; i--){\n var k = 0;\n while(i >= 0){\n var zero = true;\n for(j = 0; j < len; j++){\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0) zero = false;\n }\n if (!zero) break;\n k++;\n i--;\n }\n if (i >= 0) k++;\n acc = acc.dblp(k);\n if (i < 0) break;\n for(j = 0; j < len; j++){\n var z = tmp[j];\n p;\n if (z === 0) continue;\n else if (z > 0) p = wnd[j][z - 1 >> 1];\n else if (z < 0) p = wnd[j][-z - 1 >> 1].neg();\n if (p.type === \"affine\") acc = acc.mixedAdd(p);\n else acc = acc.add(p);\n }\n }\n // Zeroify references\n for(i = 0; i < len; i++)wnd[i] = null;\n if (jacobianResult) return acc;\n else return acc.toP();\n};\nfunction $d03ed95a59c9b218$var$BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\n$d03ed95a59c9b218$var$BaseCurve.BasePoint = $d03ed95a59c9b218$var$BasePoint;\n$d03ed95a59c9b218$var$BasePoint.prototype.eq = function eq() {\n throw new Error(\"Not implemented\");\n};\n$d03ed95a59c9b218$var$BasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n$d03ed95a59c9b218$var$BaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = $gEVtY.toArray(bytes, enc);\n var len = this.p.byteLength();\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) && bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06) $d03ed95a59c9b218$var$assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07) $d03ed95a59c9b218$var$assert(bytes[bytes.length - 1] % 2 === 1);\n var res = this.point(bytes.slice(1, 1 + len), bytes.slice(1 + len, 1 + 2 * len));\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) && bytes.length - 1 === len) return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n throw new Error(\"Unknown point format\");\n};\n$d03ed95a59c9b218$var$BasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n$d03ed95a59c9b218$var$BasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray(\"be\", len);\n if (compact) return [\n this.getY().isEven() ? 0x02 : 0x03\n ].concat(x);\n return [\n 0x04\n ].concat(x, this.getY().toArray(\"be\", len));\n};\n$d03ed95a59c9b218$var$BasePoint.prototype.encode = function encode(enc, compact) {\n return $gEVtY.encode(this._encode(compact), enc);\n};\n$d03ed95a59c9b218$var$BasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed) return this;\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n return this;\n};\n$d03ed95a59c9b218$var$BasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed) return false;\n var doubles = this.precomputed.doubles;\n if (!doubles) return false;\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n$d03ed95a59c9b218$var$BasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles) return this.precomputed.doubles;\n var doubles = [\n this\n ];\n var acc = this;\n for(var i = 0; i < power; i += step){\n for(var j = 0; j < step; j++)acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles\n };\n};\n$d03ed95a59c9b218$var$BasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf) return this.precomputed.naf;\n var res = [\n this\n ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for(var i = 1; i < max; i++)res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res\n };\n};\n$d03ed95a59c9b218$var$BasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n$d03ed95a59c9b218$var$BasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for(var i = 0; i < k; i++)r = r.dbl();\n return r;\n};\n\n});\n\nparcelRequire.register(\"eYNyQ\", function(module, exports) {\n\"use strict\";\n\nvar $gEVtY = parcelRequire(\"gEVtY\");\n\nvar $jX0xT = parcelRequire(\"jX0xT\");\n\nvar $dlqwk = parcelRequire(\"dlqwk\");\n\nvar $hSu7V = parcelRequire(\"hSu7V\");\nvar $ae7d1d0c45b43ec6$var$assert = $gEVtY.assert;\nfunction $ae7d1d0c45b43ec6$var$ShortCurve(conf) {\n $hSu7V.call(this, \"short\", conf);\n this.a = new $jX0xT(conf.a, 16).toRed(this.red);\n this.b = new $jX0xT(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\n$dlqwk($ae7d1d0c45b43ec6$var$ShortCurve, $hSu7V);\nmodule.exports = $ae7d1d0c45b43ec6$var$ShortCurve;\n$ae7d1d0c45b43ec6$var$ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1) return;\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) beta = new $jX0xT(conf.beta, 16).toRed(this.red);\n else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) lambda = new $jX0xT(conf.lambda, 16);\n else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) lambda = lambdas[0];\n else {\n lambda = lambdas[1];\n $ae7d1d0c45b43ec6$var$assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) basis = conf.basis.map(function(vec) {\n return {\n a: new $jX0xT(vec.a, 16),\n b: new $jX0xT(vec.b, 16)\n };\n });\n else basis = this._getEndoBasis(lambda);\n return {\n beta: beta,\n lambda: lambda,\n basis: basis\n };\n};\n$ae7d1d0c45b43ec6$var$ShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : $jX0xT.mont(num);\n var tinv = new $jX0xT(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n var s = new $jX0xT(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [\n l1,\n l2\n ];\n};\n$ae7d1d0c45b43ec6$var$ShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new $jX0xT(1);\n var y1 = new $jX0xT(0);\n var x2 = new $jX0xT(0);\n var y2 = new $jX0xT(1);\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n var prevR;\n var i = 0;\n var r;\n var x;\n while(u.cmpn(0) !== 0){\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) break;\n prevR = r;\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n return [\n {\n a: a1,\n b: b1\n },\n {\n a: a2,\n b: b2\n }\n ];\n};\n$ae7d1d0c45b43ec6$var$ShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return {\n k1: k1,\n k2: k2\n };\n};\n$ae7d1d0c45b43ec6$var$ShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new $jX0xT(x, 16);\n if (!x.red) x = x.toRed(this.red);\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0) throw new Error(\"invalid point\");\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd) y = y.redNeg();\n return this.point(x, y);\n};\n$ae7d1d0c45b43ec6$var$ShortCurve.prototype.validate = function validate(point) {\n if (point.inf) return true;\n var x = point.x;\n var y = point.y;\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n$ae7d1d0c45b43ec6$var$ShortCurve.prototype._endoWnafMulAdd = function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for(var i = 0; i < points.length; i++){\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n // Clean-up references to points and coefficients\n for(var j = 0; j < i * 2; j++){\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n};\nfunction $ae7d1d0c45b43ec6$var$Point(curve, x, y, isRed) {\n $hSu7V.BasePoint.call(this, curve, \"affine\");\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new $jX0xT(x, 16);\n this.y = new $jX0xT(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red) this.x = this.x.toRed(this.curve.red);\n if (!this.y.red) this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\n$dlqwk($ae7d1d0c45b43ec6$var$Point, $hSu7V.BasePoint);\n$ae7d1d0c45b43ec6$var$ShortCurve.prototype.point = function point(x, y, isRed) {\n return new $ae7d1d0c45b43ec6$var$Point(this, x, y, isRed);\n};\n$ae7d1d0c45b43ec6$var$ShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return $ae7d1d0c45b43ec6$var$Point.fromJSON(this, obj, red);\n};\n$ae7d1d0c45b43ec6$var$Point.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo) return;\n var pre = this.precomputed;\n if (pre && pre.beta) return pre.beta;\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul)\n }\n };\n }\n return beta;\n};\n$ae7d1d0c45b43ec6$var$Point.prototype.toJSON = function toJSON() {\n if (!this.precomputed) return [\n this.x,\n this.y\n ];\n return [\n this.x,\n this.y,\n this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1)\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1)\n }\n }\n ];\n};\n$ae7d1d0c45b43ec6$var$Point.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === \"string\") obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2]) return res;\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [\n res\n ].concat(pre.doubles.points.map(obj2point))\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [\n res\n ].concat(pre.naf.points.map(obj2point))\n }\n };\n return res;\n};\n$ae7d1d0c45b43ec6$var$Point.prototype.inspect = function inspect() {\n if (this.isInfinity()) return \"\";\n return \"\";\n};\n$ae7d1d0c45b43ec6$var$Point.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n$ae7d1d0c45b43ec6$var$Point.prototype.add = function add(p) {\n // O + P = P\n if (this.inf) return p;\n // P + O = P\n if (p.inf) return this;\n // P + P = 2P\n if (this.eq(p)) return this.dbl();\n // P + (-P) = O\n if (this.neg().eq(p)) return this.curve.point(null, null);\n // P + Q = O\n if (this.x.cmp(p.x) === 0) return this.curve.point(null, null);\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0) c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n$ae7d1d0c45b43ec6$var$Point.prototype.dbl = function dbl() {\n if (this.inf) return this;\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0) return this.curve.point(null, null);\n var a = this.curve.a;\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n$ae7d1d0c45b43ec6$var$Point.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n$ae7d1d0c45b43ec6$var$Point.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n$ae7d1d0c45b43ec6$var$Point.prototype.mul = function mul(k) {\n k = new $jX0xT(k, 16);\n if (this.isInfinity()) return this;\n else if (this._hasDoubles(k)) return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo) return this.curve._endoWnafMulAdd([\n this\n ], [\n k\n ]);\n else return this.curve._wnafMul(this, k);\n};\n$ae7d1d0c45b43ec6$var$Point.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [\n this,\n p2\n ];\n var coeffs = [\n k1,\n k2\n ];\n if (this.curve.endo) return this.curve._endoWnafMulAdd(points, coeffs);\n else return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n$ae7d1d0c45b43ec6$var$Point.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [\n this,\n p2\n ];\n var coeffs = [\n k1,\n k2\n ];\n if (this.curve.endo) return this.curve._endoWnafMulAdd(points, coeffs, true);\n else return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n$ae7d1d0c45b43ec6$var$Point.prototype.eq = function eq(p) {\n return this === p || this.inf === p.inf && (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n$ae7d1d0c45b43ec6$var$Point.prototype.neg = function neg(_precompute) {\n if (this.inf) return this;\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate)\n }\n };\n }\n return res;\n};\n$ae7d1d0c45b43ec6$var$Point.prototype.toJ = function toJ() {\n if (this.inf) return this.curve.jpoint(null, null, null);\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\nfunction $ae7d1d0c45b43ec6$var$JPoint(curve, x, y, z) {\n $hSu7V.BasePoint.call(this, curve, \"jacobian\");\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new $jX0xT(0);\n } else {\n this.x = new $jX0xT(x, 16);\n this.y = new $jX0xT(y, 16);\n this.z = new $jX0xT(z, 16);\n }\n if (!this.x.red) this.x = this.x.toRed(this.curve.red);\n if (!this.y.red) this.y = this.y.toRed(this.curve.red);\n if (!this.z.red) this.z = this.z.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n}\n$dlqwk($ae7d1d0c45b43ec6$var$JPoint, $hSu7V.BasePoint);\n$ae7d1d0c45b43ec6$var$ShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new $ae7d1d0c45b43ec6$var$JPoint(this, x, y, z);\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype.toP = function toP() {\n if (this.isInfinity()) return this.curve.point(null, null);\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n return this.curve.point(ax, ay);\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity()) return p;\n // P + O = P\n if (p.isInfinity()) return this;\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0) return this.curve.jpoint(null, null, null);\n else return this.dbl();\n }\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity()) return p.toJ();\n // P + O = P\n if (p.isInfinity()) return this;\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0) return this.curve.jpoint(null, null, null);\n else return this.dbl();\n }\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0) return this;\n if (this.isInfinity()) return this;\n if (!pow) return this.dbl();\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for(i = 0; i < pow; i++)r = r.dbl();\n return r;\n }\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n // Reuse results\n var jyd = jy.redAdd(jy);\n for(i = 0; i < pow; i++){\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow) jz4 = jz4.redMul(jyd4);\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype.dbl = function dbl() {\n if (this.isInfinity()) return this;\n if (this.curve.zeroA) return this._zeroDbl();\n else if (this.curve.threeA) return this._threeDbl();\n else return this._dbl();\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n return this.curve.jpoint(nx, ny, nz);\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n return this.curve.jpoint(nx, ny, nz);\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n return this.curve.jpoint(nx, ny, nz);\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA) return this.dbl().add(this);\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n return this.curve.jpoint(nx, ny, nz);\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype.mul = function mul(k, kbase) {\n k = new $jX0xT(k, kbase);\n return this.curve._wnafMul(this, k);\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype.eq = function eq(p) {\n if (p.type === \"affine\") return this.eq(p.toJ());\n if (this === p) return true;\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0) return false;\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0) return true;\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for(;;){\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0) return false;\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0) return true;\n }\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype.inspect = function inspect() {\n if (this.isInfinity()) return \"\";\n return \"\";\n};\n$ae7d1d0c45b43ec6$var$JPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\n});\n\nparcelRequire.register(\"av2Yx\", function(module, exports) {\n\"use strict\";\n\nvar $jX0xT = parcelRequire(\"jX0xT\");\n\nvar $dlqwk = parcelRequire(\"dlqwk\");\n\nvar $hSu7V = parcelRequire(\"hSu7V\");\n\nvar $gEVtY = parcelRequire(\"gEVtY\");\nfunction $7a4f1b7c0dc1f992$var$MontCurve(conf) {\n $hSu7V.call(this, \"mont\", conf);\n this.a = new $jX0xT(conf.a, 16).toRed(this.red);\n this.b = new $jX0xT(conf.b, 16).toRed(this.red);\n this.i4 = new $jX0xT(4).toRed(this.red).redInvm();\n this.two = new $jX0xT(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\n$dlqwk($7a4f1b7c0dc1f992$var$MontCurve, $hSu7V);\nmodule.exports = $7a4f1b7c0dc1f992$var$MontCurve;\n$7a4f1b7c0dc1f992$var$MontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n return y.redSqr().cmp(rhs) === 0;\n};\nfunction $7a4f1b7c0dc1f992$var$Point(curve, x, z) {\n $hSu7V.BasePoint.call(this, curve, \"projective\");\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new $jX0xT(x, 16);\n this.z = new $jX0xT(z, 16);\n if (!this.x.red) this.x = this.x.toRed(this.curve.red);\n if (!this.z.red) this.z = this.z.toRed(this.curve.red);\n }\n}\n$dlqwk($7a4f1b7c0dc1f992$var$Point, $hSu7V.BasePoint);\n$7a4f1b7c0dc1f992$var$MontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point($gEVtY.toArray(bytes, enc), 1);\n};\n$7a4f1b7c0dc1f992$var$MontCurve.prototype.point = function point(x, z) {\n return new $7a4f1b7c0dc1f992$var$Point(this, x, z);\n};\n$7a4f1b7c0dc1f992$var$MontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return $7a4f1b7c0dc1f992$var$Point.fromJSON(this, obj);\n};\n$7a4f1b7c0dc1f992$var$Point.prototype.precompute = function precompute() {\n// No-op\n};\n$7a4f1b7c0dc1f992$var$Point.prototype._encode = function _encode() {\n return this.getX().toArray(\"be\", this.curve.p.byteLength());\n};\n$7a4f1b7c0dc1f992$var$Point.fromJSON = function fromJSON(curve, obj) {\n return new $7a4f1b7c0dc1f992$var$Point(curve, obj[0], obj[1] || curve.one);\n};\n$7a4f1b7c0dc1f992$var$Point.prototype.inspect = function inspect() {\n if (this.isInfinity()) return \"\";\n return \"\";\n};\n$7a4f1b7c0dc1f992$var$Point.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n$7a4f1b7c0dc1f992$var$Point.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n$7a4f1b7c0dc1f992$var$Point.prototype.add = function add() {\n throw new Error(\"Not supported on Montgomery curve\");\n};\n$7a4f1b7c0dc1f992$var$Point.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n$7a4f1b7c0dc1f992$var$Point.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n for(var bits = []; t.cmpn(0) !== 0; t.iushrn(1))bits.push(t.andln(1));\n for(var i = bits.length - 1; i >= 0; i--)if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n return b;\n};\n$7a4f1b7c0dc1f992$var$Point.prototype.mulAdd = function mulAdd() {\n throw new Error(\"Not supported on Montgomery curve\");\n};\n$7a4f1b7c0dc1f992$var$Point.prototype.jumlAdd = function jumlAdd() {\n throw new Error(\"Not supported on Montgomery curve\");\n};\n$7a4f1b7c0dc1f992$var$Point.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n$7a4f1b7c0dc1f992$var$Point.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n$7a4f1b7c0dc1f992$var$Point.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n return this.x.fromRed();\n};\n\n});\n\nparcelRequire.register(\"dqmX9\", function(module, exports) {\n\"use strict\";\n\nvar $gEVtY = parcelRequire(\"gEVtY\");\n\nvar $jX0xT = parcelRequire(\"jX0xT\");\n\nvar $dlqwk = parcelRequire(\"dlqwk\");\n\nvar $hSu7V = parcelRequire(\"hSu7V\");\nvar $9c5f8216d530af0e$var$assert = $gEVtY.assert;\nfunction $9c5f8216d530af0e$var$EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n $hSu7V.call(this, \"edwards\", conf);\n this.a = new $jX0xT(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new $jX0xT(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new $jX0xT(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n $9c5f8216d530af0e$var$assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\n$dlqwk($9c5f8216d530af0e$var$EdwardsCurve, $hSu7V);\nmodule.exports = $9c5f8216d530af0e$var$EdwardsCurve;\n$9c5f8216d530af0e$var$EdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA) return num.redNeg();\n else return this.a.redMul(num);\n};\n$9c5f8216d530af0e$var$EdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC) return num;\n else return this.c.redMul(num);\n};\n// Just for compatibility with Short curve\n$9c5f8216d530af0e$var$EdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n$9c5f8216d530af0e$var$EdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new $jX0xT(x, 16);\n if (!x.red) x = x.toRed(this.red);\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0) throw new Error(\"invalid point\");\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd) y = y.redNeg();\n return this.point(x, y);\n};\n$9c5f8216d530af0e$var$EdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new $jX0xT(y, 16);\n if (!y.red) y = y.toRed(this.red);\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n if (x2.cmp(this.zero) === 0) {\n if (odd) throw new Error(\"invalid point\");\n else return this.point(this.zero, y);\n }\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0) throw new Error(\"invalid point\");\n if (x.fromRed().isOdd() !== odd) x = x.redNeg();\n return this.point(x, y);\n};\n$9c5f8216d530af0e$var$EdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity()) return true;\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n return lhs.cmp(rhs) === 0;\n};\nfunction $9c5f8216d530af0e$var$Point(curve, x, y, z, t) {\n $hSu7V.BasePoint.call(this, curve, \"projective\");\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new $jX0xT(x, 16);\n this.y = new $jX0xT(y, 16);\n this.z = z ? new $jX0xT(z, 16) : this.curve.one;\n this.t = t && new $jX0xT(t, 16);\n if (!this.x.red) this.x = this.x.toRed(this.curve.red);\n if (!this.y.red) this.y = this.y.toRed(this.curve.red);\n if (!this.z.red) this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red) this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne) this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\n$dlqwk($9c5f8216d530af0e$var$Point, $hSu7V.BasePoint);\n$9c5f8216d530af0e$var$EdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return $9c5f8216d530af0e$var$Point.fromJSON(this, obj);\n};\n$9c5f8216d530af0e$var$EdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new $9c5f8216d530af0e$var$Point(this, x, y, z, t);\n};\n$9c5f8216d530af0e$var$Point.fromJSON = function fromJSON(curve, obj) {\n return new $9c5f8216d530af0e$var$Point(curve, obj[0], obj[1], obj[2]);\n};\n$9c5f8216d530af0e$var$Point.prototype.inspect = function inspect() {\n if (this.isInfinity()) return \"\";\n return \"\";\n};\n$9c5f8216d530af0e$var$Point.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 && (this.y.cmp(this.z) === 0 || this.zOne && this.y.cmp(this.curve.c) === 0);\n};\n$9c5f8216d530af0e$var$Point.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n$9c5f8216d530af0e$var$Point.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n$9c5f8216d530af0e$var$Point.prototype.dbl = function dbl() {\n if (this.isInfinity()) return this;\n // Double in extended coordinates\n if (this.curve.extended) return this._extDbl();\n else return this._projDbl();\n};\n$9c5f8216d530af0e$var$Point.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n$9c5f8216d530af0e$var$Point.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n$9c5f8216d530af0e$var$Point.prototype.add = function add(p) {\n if (this.isInfinity()) return p;\n if (p.isInfinity()) return this;\n if (this.curve.extended) return this._extAdd(p);\n else return this._projAdd(p);\n};\n$9c5f8216d530af0e$var$Point.prototype.mul = function mul(k) {\n if (this._hasDoubles(k)) return this.curve._fixedNafMul(this, k);\n else return this.curve._wnafMul(this, k);\n};\n$9c5f8216d530af0e$var$Point.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [\n this,\n p\n ], [\n k1,\n k2\n ], 2, false);\n};\n$9c5f8216d530af0e$var$Point.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [\n this,\n p\n ], [\n k1,\n k2\n ], 2, true);\n};\n$9c5f8216d530af0e$var$Point.prototype.normalize = function normalize() {\n if (this.zOne) return this;\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t) this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n$9c5f8216d530af0e$var$Point.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(), this.y, this.z, this.t && this.t.redNeg());\n};\n$9c5f8216d530af0e$var$Point.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n$9c5f8216d530af0e$var$Point.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n$9c5f8216d530af0e$var$Point.prototype.eq = function eq(other) {\n return this === other || this.getX().cmp(other.getX()) === 0 && this.getY().cmp(other.getY()) === 0;\n};\n$9c5f8216d530af0e$var$Point.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0) return true;\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for(;;){\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0) return false;\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0) return true;\n }\n};\n// Compatibility with BaseCurve\n$9c5f8216d530af0e$var$Point.prototype.toP = $9c5f8216d530af0e$var$Point.prototype.normalize;\n$9c5f8216d530af0e$var$Point.prototype.mixedAdd = $9c5f8216d530af0e$var$Point.prototype.add;\n\n});\n\n\nparcelRequire.register(\"fbTbW\", function(module, exports) {\n\"use strict\";\nvar $b0f2b206068f1378$var$curves = module.exports;\n\nvar $kiSKt = parcelRequire(\"kiSKt\");\n\nvar $cP1GP = parcelRequire(\"cP1GP\");\n\nvar $gEVtY = parcelRequire(\"gEVtY\");\nvar $b0f2b206068f1378$var$assert = $gEVtY.assert;\nfunction $b0f2b206068f1378$var$PresetCurve(options) {\n if (options.type === \"short\") this.curve = new $cP1GP.short(options);\n else if (options.type === \"edwards\") this.curve = new $cP1GP.edwards(options);\n else this.curve = new $cP1GP.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n $b0f2b206068f1378$var$assert(this.g.validate(), \"Invalid curve\");\n $b0f2b206068f1378$var$assert(this.g.mul(this.n).isInfinity(), \"Invalid curve, G*N != O\");\n}\n$b0f2b206068f1378$var$curves.PresetCurve = $b0f2b206068f1378$var$PresetCurve;\nfunction $b0f2b206068f1378$var$defineCurve(name, options) {\n Object.defineProperty($b0f2b206068f1378$var$curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new $b0f2b206068f1378$var$PresetCurve(options);\n Object.defineProperty($b0f2b206068f1378$var$curves, name, {\n configurable: true,\n enumerable: true,\n value: curve\n });\n return curve;\n }\n });\n}\n$b0f2b206068f1378$var$defineCurve(\"p192\", {\n type: \"short\",\n prime: \"p192\",\n p: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",\n b: \"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",\n n: \"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",\n hash: $kiSKt.sha256,\n gRed: false,\n g: [\n \"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\n \"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"\n ]\n});\n$b0f2b206068f1378$var$defineCurve(\"p224\", {\n type: \"short\",\n prime: \"p224\",\n p: \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",\n b: \"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",\n n: \"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",\n hash: $kiSKt.sha256,\n gRed: false,\n g: [\n \"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\n \"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"\n ]\n});\n$b0f2b206068f1378$var$defineCurve(\"p256\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",\n a: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",\n b: \"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",\n n: \"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",\n hash: $kiSKt.sha256,\n gRed: false,\n g: [\n \"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\n \"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"\n ]\n});\n$b0f2b206068f1378$var$defineCurve(\"p384\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",\n a: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",\n b: \"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",\n n: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",\n hash: $kiSKt.sha384,\n gRed: false,\n g: [\n \"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\n \"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"\n ]\n});\n$b0f2b206068f1378$var$defineCurve(\"p521\", {\n type: \"short\",\n prime: null,\n p: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",\n a: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",\n b: \"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",\n n: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",\n hash: $kiSKt.sha512,\n gRed: false,\n g: [\n \"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\n \"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"\n ]\n});\n$b0f2b206068f1378$var$defineCurve(\"curve25519\", {\n type: \"mont\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"76d06\",\n b: \"1\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: $kiSKt.sha256,\n gRed: false,\n g: [\n \"9\"\n ]\n});\n$b0f2b206068f1378$var$defineCurve(\"ed25519\", {\n type: \"edwards\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"-1\",\n c: \"1\",\n // -121665 * (121666^(-1)) (mod P)\n d: \"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: $kiSKt.sha256,\n gRed: false,\n g: [\n \"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\n // 4/5\n \"6666666666666666666666666666666666666666666666666666666666666658\"\n ]\n});\nvar $b0f2b206068f1378$var$pre;\n\ntry {\n $b0f2b206068f1378$var$pre = (parcelRequire(\"lNVWe\"));\n} catch (e) {\n $b0f2b206068f1378$var$pre = undefined;\n}\n$b0f2b206068f1378$var$defineCurve(\"secp256k1\", {\n type: \"short\",\n prime: \"k256\",\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",\n a: \"0\",\n b: \"7\",\n n: \"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",\n h: \"1\",\n hash: $kiSKt.sha256,\n // Precomputed endomorphism\n beta: \"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",\n lambda: \"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",\n basis: [\n {\n a: \"3086d221a7d46bcde86c90e49284eb15\",\n b: \"-e4437ed6010e88286f547fa90abfe4c3\"\n },\n {\n a: \"114ca50f7a8e2f3f657c1108d9d44cfd8\",\n b: \"3086d221a7d46bcde86c90e49284eb15\"\n }\n ],\n gRed: false,\n g: [\n \"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\n \"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",\n $b0f2b206068f1378$var$pre\n ]\n});\n\n});\nparcelRequire.register(\"kiSKt\", function(module, exports) {\nvar $ec7ff5071b027891$var$hash = module.exports;\n\n$ec7ff5071b027891$var$hash.utils = (parcelRequire(\"btcbI\"));\n\n$ec7ff5071b027891$var$hash.common = (parcelRequire(\"aAb7n\"));\n\n$ec7ff5071b027891$var$hash.sha = (parcelRequire(\"2wnQk\"));\n\n$ec7ff5071b027891$var$hash.ripemd = (parcelRequire(\"05eZB\"));\n\n$ec7ff5071b027891$var$hash.hmac = (parcelRequire(\"ap2lu\"));\n// Proxy hash functions to the main object\n$ec7ff5071b027891$var$hash.sha1 = $ec7ff5071b027891$var$hash.sha.sha1;\n$ec7ff5071b027891$var$hash.sha256 = $ec7ff5071b027891$var$hash.sha.sha256;\n$ec7ff5071b027891$var$hash.sha224 = $ec7ff5071b027891$var$hash.sha.sha224;\n$ec7ff5071b027891$var$hash.sha384 = $ec7ff5071b027891$var$hash.sha.sha384;\n$ec7ff5071b027891$var$hash.sha512 = $ec7ff5071b027891$var$hash.sha.sha512;\n$ec7ff5071b027891$var$hash.ripemd160 = $ec7ff5071b027891$var$hash.ripemd.ripemd160;\n\n});\nparcelRequire.register(\"btcbI\", function(module, exports) {\n\n$parcel$export(module.exports, \"inherits\", () => $859bdb699f0f4e15$export$69f1b2dcda23c5f8, (v) => $859bdb699f0f4e15$export$69f1b2dcda23c5f8 = v);\n$parcel$export(module.exports, \"toArray\", () => $859bdb699f0f4e15$export$45b10814cc054894, (v) => $859bdb699f0f4e15$export$45b10814cc054894 = v);\n$parcel$export(module.exports, \"toHex\", () => $859bdb699f0f4e15$export$7ea66e3774a60b67, (v) => $859bdb699f0f4e15$export$7ea66e3774a60b67 = v);\n$parcel$export(module.exports, \"htonl\", () => $859bdb699f0f4e15$export$34a52f00f601f6f1, (v) => $859bdb699f0f4e15$export$34a52f00f601f6f1 = v);\n$parcel$export(module.exports, \"toHex32\", () => $859bdb699f0f4e15$export$812b0cbd5e8a72ab, (v) => $859bdb699f0f4e15$export$812b0cbd5e8a72ab = v);\n$parcel$export(module.exports, \"zero2\", () => $859bdb699f0f4e15$export$f24f9e11d63bb314, (v) => $859bdb699f0f4e15$export$f24f9e11d63bb314 = v);\n$parcel$export(module.exports, \"zero8\", () => $859bdb699f0f4e15$export$b71357c7e07ca1f1, (v) => $859bdb699f0f4e15$export$b71357c7e07ca1f1 = v);\n$parcel$export(module.exports, \"join32\", () => $859bdb699f0f4e15$export$2e58a4b541fdcbe8, (v) => $859bdb699f0f4e15$export$2e58a4b541fdcbe8 = v);\n$parcel$export(module.exports, \"split32\", () => $859bdb699f0f4e15$export$183b950bde9faab8, (v) => $859bdb699f0f4e15$export$183b950bde9faab8 = v);\n$parcel$export(module.exports, \"rotr32\", () => $859bdb699f0f4e15$export$4785c77169fea59e, (v) => $859bdb699f0f4e15$export$4785c77169fea59e = v);\n$parcel$export(module.exports, \"rotl32\", () => $859bdb699f0f4e15$export$242a185dfcffac5b, (v) => $859bdb699f0f4e15$export$242a185dfcffac5b = v);\n$parcel$export(module.exports, \"sum32\", () => $859bdb699f0f4e15$export$58c04ae0ae31877d, (v) => $859bdb699f0f4e15$export$58c04ae0ae31877d = v);\n$parcel$export(module.exports, \"sum32_3\", () => $859bdb699f0f4e15$export$d058ca695f8c6f11, (v) => $859bdb699f0f4e15$export$d058ca695f8c6f11 = v);\n$parcel$export(module.exports, \"sum32_4\", () => $859bdb699f0f4e15$export$a1efd7fc3e986367, (v) => $859bdb699f0f4e15$export$a1efd7fc3e986367 = v);\n$parcel$export(module.exports, \"sum32_5\", () => $859bdb699f0f4e15$export$bbfea4a2b5abaab4, (v) => $859bdb699f0f4e15$export$bbfea4a2b5abaab4 = v);\n$parcel$export(module.exports, \"sum64\", () => $859bdb699f0f4e15$export$97ad4afc7de86152, (v) => $859bdb699f0f4e15$export$97ad4afc7de86152 = v);\n$parcel$export(module.exports, \"sum64_hi\", () => $859bdb699f0f4e15$export$ce4673d9a79f6a4b, (v) => $859bdb699f0f4e15$export$ce4673d9a79f6a4b = v);\n$parcel$export(module.exports, \"sum64_lo\", () => $859bdb699f0f4e15$export$786cc99fc6eedc0b, (v) => $859bdb699f0f4e15$export$786cc99fc6eedc0b = v);\n$parcel$export(module.exports, \"sum64_4_hi\", () => $859bdb699f0f4e15$export$45c59b9a1848dd0, (v) => $859bdb699f0f4e15$export$45c59b9a1848dd0 = v);\n$parcel$export(module.exports, \"sum64_4_lo\", () => $859bdb699f0f4e15$export$50d8f613e76d3034, (v) => $859bdb699f0f4e15$export$50d8f613e76d3034 = v);\n$parcel$export(module.exports, \"sum64_5_hi\", () => $859bdb699f0f4e15$export$b8e83683c60ee162, (v) => $859bdb699f0f4e15$export$b8e83683c60ee162 = v);\n$parcel$export(module.exports, \"sum64_5_lo\", () => $859bdb699f0f4e15$export$aeeb51790d1bcc4a, (v) => $859bdb699f0f4e15$export$aeeb51790d1bcc4a = v);\n$parcel$export(module.exports, \"rotr64_hi\", () => $859bdb699f0f4e15$export$bb7c616f719ad9c, (v) => $859bdb699f0f4e15$export$bb7c616f719ad9c = v);\n$parcel$export(module.exports, \"rotr64_lo\", () => $859bdb699f0f4e15$export$4d63290824f9d7df, (v) => $859bdb699f0f4e15$export$4d63290824f9d7df = v);\n$parcel$export(module.exports, \"shr64_hi\", () => $859bdb699f0f4e15$export$2f64ceb90ef28ea1, (v) => $859bdb699f0f4e15$export$2f64ceb90ef28ea1 = v);\n$parcel$export(module.exports, \"shr64_lo\", () => $859bdb699f0f4e15$export$8d2089d465f6d10d, (v) => $859bdb699f0f4e15$export$8d2089d465f6d10d = v);\nvar $859bdb699f0f4e15$export$69f1b2dcda23c5f8;\nvar $859bdb699f0f4e15$export$45b10814cc054894;\nvar $859bdb699f0f4e15$export$7ea66e3774a60b67;\nvar $859bdb699f0f4e15$export$34a52f00f601f6f1;\nvar $859bdb699f0f4e15$export$812b0cbd5e8a72ab;\nvar $859bdb699f0f4e15$export$f24f9e11d63bb314;\nvar $859bdb699f0f4e15$export$b71357c7e07ca1f1;\nvar $859bdb699f0f4e15$export$2e58a4b541fdcbe8;\nvar $859bdb699f0f4e15$export$183b950bde9faab8;\nvar $859bdb699f0f4e15$export$4785c77169fea59e;\nvar $859bdb699f0f4e15$export$242a185dfcffac5b;\nvar $859bdb699f0f4e15$export$58c04ae0ae31877d;\nvar $859bdb699f0f4e15$export$d058ca695f8c6f11;\nvar $859bdb699f0f4e15$export$a1efd7fc3e986367;\nvar $859bdb699f0f4e15$export$bbfea4a2b5abaab4;\nvar $859bdb699f0f4e15$export$97ad4afc7de86152;\nvar $859bdb699f0f4e15$export$ce4673d9a79f6a4b;\nvar $859bdb699f0f4e15$export$786cc99fc6eedc0b;\nvar $859bdb699f0f4e15$export$45c59b9a1848dd0;\nvar $859bdb699f0f4e15$export$50d8f613e76d3034;\nvar $859bdb699f0f4e15$export$b8e83683c60ee162;\nvar $859bdb699f0f4e15$export$aeeb51790d1bcc4a;\nvar $859bdb699f0f4e15$export$bb7c616f719ad9c;\nvar $859bdb699f0f4e15$export$4d63290824f9d7df;\nvar $859bdb699f0f4e15$export$2f64ceb90ef28ea1;\nvar $859bdb699f0f4e15$export$8d2089d465f6d10d;\n\"use strict\";\n\nvar $koC21 = parcelRequire(\"koC21\");\n\nvar $dlqwk = parcelRequire(\"dlqwk\");\n$859bdb699f0f4e15$export$69f1b2dcda23c5f8 = $dlqwk;\nfunction $859bdb699f0f4e15$var$isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) return false;\n if (i < 0 || i + 1 >= msg.length) return false;\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\nfunction $859bdb699f0f4e15$var$toArray(msg, enc) {\n if (Array.isArray(msg)) return msg.slice();\n if (!msg) return [];\n var res = [];\n if (typeof msg === \"string\") {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for(var i = 0; i < msg.length; i++){\n var c = msg.charCodeAt(i);\n if (c < 128) res[p++] = c;\n else if (c < 2048) {\n res[p++] = c >> 6 | 192;\n res[p++] = c & 63 | 128;\n } else if ($859bdb699f0f4e15$var$isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = c >> 18 | 240;\n res[p++] = c >> 12 & 63 | 128;\n res[p++] = c >> 6 & 63 | 128;\n res[p++] = c & 63 | 128;\n } else {\n res[p++] = c >> 12 | 224;\n res[p++] = c >> 6 & 63 | 128;\n res[p++] = c & 63 | 128;\n }\n }\n } else if (enc === \"hex\") {\n msg = msg.replace(/[^a-z0-9]+/ig, \"\");\n if (msg.length % 2 !== 0) msg = \"0\" + msg;\n for(i = 0; i < msg.length; i += 2)res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else for(i = 0; i < msg.length; i++)res[i] = msg[i] | 0;\n return res;\n}\n$859bdb699f0f4e15$export$45b10814cc054894 = $859bdb699f0f4e15$var$toArray;\nfunction $859bdb699f0f4e15$var$toHex(msg) {\n var res = \"\";\n for(var i = 0; i < msg.length; i++)res += $859bdb699f0f4e15$var$zero2(msg[i].toString(16));\n return res;\n}\n$859bdb699f0f4e15$export$7ea66e3774a60b67 = $859bdb699f0f4e15$var$toHex;\nfunction $859bdb699f0f4e15$var$htonl(w) {\n var res = w >>> 24 | w >>> 8 & 0xff00 | w << 8 & 0xff0000 | (w & 0xff) << 24;\n return res >>> 0;\n}\n$859bdb699f0f4e15$export$34a52f00f601f6f1 = $859bdb699f0f4e15$var$htonl;\nfunction $859bdb699f0f4e15$var$toHex32(msg, endian) {\n var res = \"\";\n for(var i = 0; i < msg.length; i++){\n var w = msg[i];\n if (endian === \"little\") w = $859bdb699f0f4e15$var$htonl(w);\n res += $859bdb699f0f4e15$var$zero8(w.toString(16));\n }\n return res;\n}\n$859bdb699f0f4e15$export$812b0cbd5e8a72ab = $859bdb699f0f4e15$var$toHex32;\nfunction $859bdb699f0f4e15$var$zero2(word) {\n if (word.length === 1) return \"0\" + word;\n else return word;\n}\n$859bdb699f0f4e15$export$f24f9e11d63bb314 = $859bdb699f0f4e15$var$zero2;\nfunction $859bdb699f0f4e15$var$zero8(word) {\n if (word.length === 7) return \"0\" + word;\n else if (word.length === 6) return \"00\" + word;\n else if (word.length === 5) return \"000\" + word;\n else if (word.length === 4) return \"0000\" + word;\n else if (word.length === 3) return \"00000\" + word;\n else if (word.length === 2) return \"000000\" + word;\n else if (word.length === 1) return \"0000000\" + word;\n else return word;\n}\n$859bdb699f0f4e15$export$b71357c7e07ca1f1 = $859bdb699f0f4e15$var$zero8;\nfunction $859bdb699f0f4e15$var$join32(msg, start, end, endian) {\n var len = end - start;\n $koC21(len % 4 === 0);\n var res = new Array(len / 4);\n for(var i = 0, k = start; i < res.length; i++, k += 4){\n var w;\n if (endian === \"big\") w = msg[k] << 24 | msg[k + 1] << 16 | msg[k + 2] << 8 | msg[k + 3];\n else w = msg[k + 3] << 24 | msg[k + 2] << 16 | msg[k + 1] << 8 | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\n$859bdb699f0f4e15$export$2e58a4b541fdcbe8 = $859bdb699f0f4e15$var$join32;\nfunction $859bdb699f0f4e15$var$split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for(var i = 0, k = 0; i < msg.length; i++, k += 4){\n var m = msg[i];\n if (endian === \"big\") {\n res[k] = m >>> 24;\n res[k + 1] = m >>> 16 & 0xff;\n res[k + 2] = m >>> 8 & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = m >>> 16 & 0xff;\n res[k + 1] = m >>> 8 & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\n$859bdb699f0f4e15$export$183b950bde9faab8 = $859bdb699f0f4e15$var$split32;\nfunction $859bdb699f0f4e15$var$rotr32(w, b) {\n return w >>> b | w << 32 - b;\n}\n$859bdb699f0f4e15$export$4785c77169fea59e = $859bdb699f0f4e15$var$rotr32;\nfunction $859bdb699f0f4e15$var$rotl32(w, b) {\n return w << b | w >>> 32 - b;\n}\n$859bdb699f0f4e15$export$242a185dfcffac5b = $859bdb699f0f4e15$var$rotl32;\nfunction $859bdb699f0f4e15$var$sum32(a, b) {\n return a + b >>> 0;\n}\n$859bdb699f0f4e15$export$58c04ae0ae31877d = $859bdb699f0f4e15$var$sum32;\nfunction $859bdb699f0f4e15$var$sum32_3(a, b, c) {\n return a + b + c >>> 0;\n}\n$859bdb699f0f4e15$export$d058ca695f8c6f11 = $859bdb699f0f4e15$var$sum32_3;\nfunction $859bdb699f0f4e15$var$sum32_4(a, b, c, d) {\n return a + b + c + d >>> 0;\n}\n$859bdb699f0f4e15$export$a1efd7fc3e986367 = $859bdb699f0f4e15$var$sum32_4;\nfunction $859bdb699f0f4e15$var$sum32_5(a, b, c, d, e) {\n return a + b + c + d + e >>> 0;\n}\n$859bdb699f0f4e15$export$bbfea4a2b5abaab4 = $859bdb699f0f4e15$var$sum32_5;\nfunction $859bdb699f0f4e15$var$sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n var lo = al + bl >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\n$859bdb699f0f4e15$export$97ad4afc7de86152 = $859bdb699f0f4e15$var$sum64;\nfunction $859bdb699f0f4e15$var$sum64_hi(ah, al, bh, bl) {\n var lo = al + bl >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\n$859bdb699f0f4e15$export$ce4673d9a79f6a4b = $859bdb699f0f4e15$var$sum64_hi;\nfunction $859bdb699f0f4e15$var$sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\n$859bdb699f0f4e15$export$786cc99fc6eedc0b = $859bdb699f0f4e15$var$sum64_lo;\nfunction $859bdb699f0f4e15$var$sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = lo + bl >>> 0;\n carry += lo < al ? 1 : 0;\n lo = lo + cl >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = lo + dl >>> 0;\n carry += lo < dl ? 1 : 0;\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\n$859bdb699f0f4e15$export$45c59b9a1848dd0 = $859bdb699f0f4e15$var$sum64_4_hi;\nfunction $859bdb699f0f4e15$var$sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\n$859bdb699f0f4e15$export$50d8f613e76d3034 = $859bdb699f0f4e15$var$sum64_4_lo;\nfunction $859bdb699f0f4e15$var$sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = lo + bl >>> 0;\n carry += lo < al ? 1 : 0;\n lo = lo + cl >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = lo + dl >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = lo + el >>> 0;\n carry += lo < el ? 1 : 0;\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\n$859bdb699f0f4e15$export$b8e83683c60ee162 = $859bdb699f0f4e15$var$sum64_5_hi;\nfunction $859bdb699f0f4e15$var$sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n return lo >>> 0;\n}\n$859bdb699f0f4e15$export$aeeb51790d1bcc4a = $859bdb699f0f4e15$var$sum64_5_lo;\nfunction $859bdb699f0f4e15$var$rotr64_hi(ah, al, num) {\n var r = al << 32 - num | ah >>> num;\n return r >>> 0;\n}\n$859bdb699f0f4e15$export$bb7c616f719ad9c = $859bdb699f0f4e15$var$rotr64_hi;\nfunction $859bdb699f0f4e15$var$rotr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n}\n$859bdb699f0f4e15$export$4d63290824f9d7df = $859bdb699f0f4e15$var$rotr64_lo;\nfunction $859bdb699f0f4e15$var$shr64_hi(ah, al, num) {\n return ah >>> num;\n}\n$859bdb699f0f4e15$export$2f64ceb90ef28ea1 = $859bdb699f0f4e15$var$shr64_hi;\nfunction $859bdb699f0f4e15$var$shr64_lo(ah, al, num) {\n var r = ah << 32 - num | al >>> num;\n return r >>> 0;\n}\n$859bdb699f0f4e15$export$8d2089d465f6d10d = $859bdb699f0f4e15$var$shr64_lo;\n\n});\n\nparcelRequire.register(\"aAb7n\", function(module, exports) {\n\n$parcel$export(module.exports, \"BlockHash\", () => $7b45e3fb23ceb2f4$export$8687658379b577e6, (v) => $7b45e3fb23ceb2f4$export$8687658379b577e6 = v);\nvar $7b45e3fb23ceb2f4$export$8687658379b577e6;\n\"use strict\";\n\nvar $btcbI = parcelRequire(\"btcbI\");\n\nvar $koC21 = parcelRequire(\"koC21\");\nfunction $7b45e3fb23ceb2f4$var$BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = \"big\";\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\n$7b45e3fb23ceb2f4$export$8687658379b577e6 = $7b45e3fb23ceb2f4$var$BlockHash;\n$7b45e3fb23ceb2f4$var$BlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = $btcbI.toArray(msg, enc);\n if (!this.pending) this.pending = msg;\n else this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0) this.pending = null;\n msg = $btcbI.join32(msg, 0, msg.length - r, this.endian);\n for(var i = 0; i < msg.length; i += this._delta32)this._update(msg, i, i + this._delta32);\n }\n return this;\n};\n$7b45e3fb23ceb2f4$var$BlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n $koC21(this.pending === null);\n return this._digest(enc);\n};\n$7b45e3fb23ceb2f4$var$BlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - (len + this.padLength) % bytes;\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for(var i = 1; i < k; i++)res[i] = 0;\n // Append length\n len <<= 3;\n if (this.endian === \"big\") {\n for(var t = 8; t < this.padLength; t++)res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = len >>> 24 & 0xff;\n res[i++] = len >>> 16 & 0xff;\n res[i++] = len >>> 8 & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = len >>> 8 & 0xff;\n res[i++] = len >>> 16 & 0xff;\n res[i++] = len >>> 24 & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n for(t = 8; t < this.padLength; t++)res[i++] = 0;\n }\n return res;\n};\n\n});\n\nparcelRequire.register(\"2wnQk\", function(module, exports) {\n\n$parcel$export(module.exports, \"sha1\", () => $1d6110a725745f5a$export$5091bdda49ba90f5, (v) => $1d6110a725745f5a$export$5091bdda49ba90f5 = v);\n$parcel$export(module.exports, \"sha224\", () => $1d6110a725745f5a$export$97b70509d4e397ea, (v) => $1d6110a725745f5a$export$97b70509d4e397ea = v);\n$parcel$export(module.exports, \"sha256\", () => $1d6110a725745f5a$export$bced8d2aada2d1c9, (v) => $1d6110a725745f5a$export$bced8d2aada2d1c9 = v);\n$parcel$export(module.exports, \"sha384\", () => $1d6110a725745f5a$export$612d47d55dedde45, (v) => $1d6110a725745f5a$export$612d47d55dedde45 = v);\n$parcel$export(module.exports, \"sha512\", () => $1d6110a725745f5a$export$a888d2532e6dc7bb, (v) => $1d6110a725745f5a$export$a888d2532e6dc7bb = v);\nvar $1d6110a725745f5a$export$5091bdda49ba90f5;\nvar $1d6110a725745f5a$export$97b70509d4e397ea;\nvar $1d6110a725745f5a$export$bced8d2aada2d1c9;\nvar $1d6110a725745f5a$export$612d47d55dedde45;\nvar $1d6110a725745f5a$export$a888d2532e6dc7bb;\n\"use strict\";\n\n$1d6110a725745f5a$export$5091bdda49ba90f5 = (parcelRequire(\"IUW6G\"));\n\n$1d6110a725745f5a$export$97b70509d4e397ea = (parcelRequire(\"gBE2w\"));\n\n$1d6110a725745f5a$export$bced8d2aada2d1c9 = (parcelRequire(\"a9EzX\"));\n\n$1d6110a725745f5a$export$612d47d55dedde45 = (parcelRequire(\"7j4cV\"));\n\n$1d6110a725745f5a$export$a888d2532e6dc7bb = (parcelRequire(\"lMBCM\"));\n\n});\nparcelRequire.register(\"IUW6G\", function(module, exports) {\n\"use strict\";\n\nvar $btcbI = parcelRequire(\"btcbI\");\n\nvar $aAb7n = parcelRequire(\"aAb7n\");\n\nvar $dV8oa = parcelRequire(\"dV8oa\");\nvar $0870468534428d45$var$rotl32 = $btcbI.rotl32;\nvar $0870468534428d45$var$sum32 = $btcbI.sum32;\nvar $0870468534428d45$var$sum32_5 = $btcbI.sum32_5;\nvar $0870468534428d45$var$ft_1 = $dV8oa.ft_1;\nvar $0870468534428d45$var$BlockHash = $aAb7n.BlockHash;\nvar $0870468534428d45$var$sha1_K = [\n 0x5A827999,\n 0x6ED9EBA1,\n 0x8F1BBCDC,\n 0xCA62C1D6\n];\nfunction $0870468534428d45$var$SHA1() {\n if (!(this instanceof $0870468534428d45$var$SHA1)) return new $0870468534428d45$var$SHA1();\n $0870468534428d45$var$BlockHash.call(this);\n this.h = [\n 0x67452301,\n 0xefcdab89,\n 0x98badcfe,\n 0x10325476,\n 0xc3d2e1f0\n ];\n this.W = new Array(80);\n}\n$btcbI.inherits($0870468534428d45$var$SHA1, $0870468534428d45$var$BlockHash);\nmodule.exports = $0870468534428d45$var$SHA1;\n$0870468534428d45$var$SHA1.blockSize = 512;\n$0870468534428d45$var$SHA1.outSize = 160;\n$0870468534428d45$var$SHA1.hmacStrength = 80;\n$0870468534428d45$var$SHA1.padLength = 64;\n$0870468534428d45$var$SHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n for(var i = 0; i < 16; i++)W[i] = msg[start + i];\n for(; i < W.length; i++)W[i] = $0870468534428d45$var$rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n for(i = 0; i < W.length; i++){\n var s = ~~(i / 20);\n var t = $0870468534428d45$var$sum32_5($0870468534428d45$var$rotl32(a, 5), $0870468534428d45$var$ft_1(s, b, c, d), e, W[i], $0870468534428d45$var$sha1_K[s]);\n e = d;\n d = c;\n c = $0870468534428d45$var$rotl32(b, 30);\n b = a;\n a = t;\n }\n this.h[0] = $0870468534428d45$var$sum32(this.h[0], a);\n this.h[1] = $0870468534428d45$var$sum32(this.h[1], b);\n this.h[2] = $0870468534428d45$var$sum32(this.h[2], c);\n this.h[3] = $0870468534428d45$var$sum32(this.h[3], d);\n this.h[4] = $0870468534428d45$var$sum32(this.h[4], e);\n};\n$0870468534428d45$var$SHA1.prototype._digest = function digest(enc) {\n if (enc === \"hex\") return $btcbI.toHex32(this.h, \"big\");\n else return $btcbI.split32(this.h, \"big\");\n};\n\n});\nparcelRequire.register(\"dV8oa\", function(module, exports) {\n\n$parcel$export(module.exports, \"ft_1\", () => $a2271b1744b4602b$export$5a92649d7ddb9f63, (v) => $a2271b1744b4602b$export$5a92649d7ddb9f63 = v);\n$parcel$export(module.exports, \"ch32\", () => $a2271b1744b4602b$export$c6d0d020c3a6269, (v) => $a2271b1744b4602b$export$c6d0d020c3a6269 = v);\n$parcel$export(module.exports, \"maj32\", () => $a2271b1744b4602b$export$eb90c27fca05f956, (v) => $a2271b1744b4602b$export$eb90c27fca05f956 = v);\n$parcel$export(module.exports, \"s0_256\", () => $a2271b1744b4602b$export$14a4a98e063b1999, (v) => $a2271b1744b4602b$export$14a4a98e063b1999 = v);\n$parcel$export(module.exports, \"s1_256\", () => $a2271b1744b4602b$export$d20cecfa1564c686, (v) => $a2271b1744b4602b$export$d20cecfa1564c686 = v);\n$parcel$export(module.exports, \"g0_256\", () => $a2271b1744b4602b$export$44fd472a12fc6db, (v) => $a2271b1744b4602b$export$44fd472a12fc6db = v);\n$parcel$export(module.exports, \"g1_256\", () => $a2271b1744b4602b$export$1ed238bb6ea1dd47, (v) => $a2271b1744b4602b$export$1ed238bb6ea1dd47 = v);\nvar $a2271b1744b4602b$export$5a92649d7ddb9f63;\nvar $a2271b1744b4602b$export$c6d0d020c3a6269;\nvar $a2271b1744b4602b$export$eb90c27fca05f956;\nvar $a2271b1744b4602b$export$cc992891a14496a1;\nvar $a2271b1744b4602b$export$14a4a98e063b1999;\nvar $a2271b1744b4602b$export$d20cecfa1564c686;\nvar $a2271b1744b4602b$export$44fd472a12fc6db;\nvar $a2271b1744b4602b$export$1ed238bb6ea1dd47;\n\"use strict\";\n\nvar $btcbI = parcelRequire(\"btcbI\");\nvar $a2271b1744b4602b$var$rotr32 = $btcbI.rotr32;\nfunction $a2271b1744b4602b$var$ft_1(s, x, y, z) {\n if (s === 0) return $a2271b1744b4602b$var$ch32(x, y, z);\n if (s === 1 || s === 3) return $a2271b1744b4602b$var$p32(x, y, z);\n if (s === 2) return $a2271b1744b4602b$var$maj32(x, y, z);\n}\n$a2271b1744b4602b$export$5a92649d7ddb9f63 = $a2271b1744b4602b$var$ft_1;\nfunction $a2271b1744b4602b$var$ch32(x, y, z) {\n return x & y ^ ~x & z;\n}\n$a2271b1744b4602b$export$c6d0d020c3a6269 = $a2271b1744b4602b$var$ch32;\nfunction $a2271b1744b4602b$var$maj32(x, y, z) {\n return x & y ^ x & z ^ y & z;\n}\n$a2271b1744b4602b$export$eb90c27fca05f956 = $a2271b1744b4602b$var$maj32;\nfunction $a2271b1744b4602b$var$p32(x, y, z) {\n return x ^ y ^ z;\n}\n$a2271b1744b4602b$export$cc992891a14496a1 = $a2271b1744b4602b$var$p32;\nfunction $a2271b1744b4602b$var$s0_256(x) {\n return $a2271b1744b4602b$var$rotr32(x, 2) ^ $a2271b1744b4602b$var$rotr32(x, 13) ^ $a2271b1744b4602b$var$rotr32(x, 22);\n}\n$a2271b1744b4602b$export$14a4a98e063b1999 = $a2271b1744b4602b$var$s0_256;\nfunction $a2271b1744b4602b$var$s1_256(x) {\n return $a2271b1744b4602b$var$rotr32(x, 6) ^ $a2271b1744b4602b$var$rotr32(x, 11) ^ $a2271b1744b4602b$var$rotr32(x, 25);\n}\n$a2271b1744b4602b$export$d20cecfa1564c686 = $a2271b1744b4602b$var$s1_256;\nfunction $a2271b1744b4602b$var$g0_256(x) {\n return $a2271b1744b4602b$var$rotr32(x, 7) ^ $a2271b1744b4602b$var$rotr32(x, 18) ^ x >>> 3;\n}\n$a2271b1744b4602b$export$44fd472a12fc6db = $a2271b1744b4602b$var$g0_256;\nfunction $a2271b1744b4602b$var$g1_256(x) {\n return $a2271b1744b4602b$var$rotr32(x, 17) ^ $a2271b1744b4602b$var$rotr32(x, 19) ^ x >>> 10;\n}\n$a2271b1744b4602b$export$1ed238bb6ea1dd47 = $a2271b1744b4602b$var$g1_256;\n\n});\n\n\nparcelRequire.register(\"gBE2w\", function(module, exports) {\n\"use strict\";\n\nvar $btcbI = parcelRequire(\"btcbI\");\n\nvar $a9EzX = parcelRequire(\"a9EzX\");\nfunction $c16f2915997a3b04$var$SHA224() {\n if (!(this instanceof $c16f2915997a3b04$var$SHA224)) return new $c16f2915997a3b04$var$SHA224();\n $a9EzX.call(this);\n this.h = [\n 0xc1059ed8,\n 0x367cd507,\n 0x3070dd17,\n 0xf70e5939,\n 0xffc00b31,\n 0x68581511,\n 0x64f98fa7,\n 0xbefa4fa4\n ];\n}\n$btcbI.inherits($c16f2915997a3b04$var$SHA224, $a9EzX);\nmodule.exports = $c16f2915997a3b04$var$SHA224;\n$c16f2915997a3b04$var$SHA224.blockSize = 512;\n$c16f2915997a3b04$var$SHA224.outSize = 224;\n$c16f2915997a3b04$var$SHA224.hmacStrength = 192;\n$c16f2915997a3b04$var$SHA224.padLength = 64;\n$c16f2915997a3b04$var$SHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === \"hex\") return $btcbI.toHex32(this.h.slice(0, 7), \"big\");\n else return $btcbI.split32(this.h.slice(0, 7), \"big\");\n};\n\n});\nparcelRequire.register(\"a9EzX\", function(module, exports) {\n\"use strict\";\n\nvar $btcbI = parcelRequire(\"btcbI\");\n\nvar $aAb7n = parcelRequire(\"aAb7n\");\n\nvar $dV8oa = parcelRequire(\"dV8oa\");\n\nvar $koC21 = parcelRequire(\"koC21\");\nvar $764a38c4cb12cffe$var$sum32 = $btcbI.sum32;\nvar $764a38c4cb12cffe$var$sum32_4 = $btcbI.sum32_4;\nvar $764a38c4cb12cffe$var$sum32_5 = $btcbI.sum32_5;\nvar $764a38c4cb12cffe$var$ch32 = $dV8oa.ch32;\nvar $764a38c4cb12cffe$var$maj32 = $dV8oa.maj32;\nvar $764a38c4cb12cffe$var$s0_256 = $dV8oa.s0_256;\nvar $764a38c4cb12cffe$var$s1_256 = $dV8oa.s1_256;\nvar $764a38c4cb12cffe$var$g0_256 = $dV8oa.g0_256;\nvar $764a38c4cb12cffe$var$g1_256 = $dV8oa.g1_256;\nvar $764a38c4cb12cffe$var$BlockHash = $aAb7n.BlockHash;\nvar $764a38c4cb12cffe$var$sha256_K = [\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n];\nfunction $764a38c4cb12cffe$var$SHA256() {\n if (!(this instanceof $764a38c4cb12cffe$var$SHA256)) return new $764a38c4cb12cffe$var$SHA256();\n $764a38c4cb12cffe$var$BlockHash.call(this);\n this.h = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n ];\n this.k = $764a38c4cb12cffe$var$sha256_K;\n this.W = new Array(64);\n}\n$btcbI.inherits($764a38c4cb12cffe$var$SHA256, $764a38c4cb12cffe$var$BlockHash);\nmodule.exports = $764a38c4cb12cffe$var$SHA256;\n$764a38c4cb12cffe$var$SHA256.blockSize = 512;\n$764a38c4cb12cffe$var$SHA256.outSize = 256;\n$764a38c4cb12cffe$var$SHA256.hmacStrength = 192;\n$764a38c4cb12cffe$var$SHA256.padLength = 64;\n$764a38c4cb12cffe$var$SHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n for(var i = 0; i < 16; i++)W[i] = msg[start + i];\n for(; i < W.length; i++)W[i] = $764a38c4cb12cffe$var$sum32_4($764a38c4cb12cffe$var$g1_256(W[i - 2]), W[i - 7], $764a38c4cb12cffe$var$g0_256(W[i - 15]), W[i - 16]);\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n $koC21(this.k.length === W.length);\n for(i = 0; i < W.length; i++){\n var T1 = $764a38c4cb12cffe$var$sum32_5(h, $764a38c4cb12cffe$var$s1_256(e), $764a38c4cb12cffe$var$ch32(e, f, g), this.k[i], W[i]);\n var T2 = $764a38c4cb12cffe$var$sum32($764a38c4cb12cffe$var$s0_256(a), $764a38c4cb12cffe$var$maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = $764a38c4cb12cffe$var$sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = $764a38c4cb12cffe$var$sum32(T1, T2);\n }\n this.h[0] = $764a38c4cb12cffe$var$sum32(this.h[0], a);\n this.h[1] = $764a38c4cb12cffe$var$sum32(this.h[1], b);\n this.h[2] = $764a38c4cb12cffe$var$sum32(this.h[2], c);\n this.h[3] = $764a38c4cb12cffe$var$sum32(this.h[3], d);\n this.h[4] = $764a38c4cb12cffe$var$sum32(this.h[4], e);\n this.h[5] = $764a38c4cb12cffe$var$sum32(this.h[5], f);\n this.h[6] = $764a38c4cb12cffe$var$sum32(this.h[6], g);\n this.h[7] = $764a38c4cb12cffe$var$sum32(this.h[7], h);\n};\n$764a38c4cb12cffe$var$SHA256.prototype._digest = function digest(enc) {\n if (enc === \"hex\") return $btcbI.toHex32(this.h, \"big\");\n else return $btcbI.split32(this.h, \"big\");\n};\n\n});\n\n\nparcelRequire.register(\"7j4cV\", function(module, exports) {\n\"use strict\";\n\nvar $btcbI = parcelRequire(\"btcbI\");\n\nvar $lMBCM = parcelRequire(\"lMBCM\");\nfunction $551d923eb49b8fc5$var$SHA384() {\n if (!(this instanceof $551d923eb49b8fc5$var$SHA384)) return new $551d923eb49b8fc5$var$SHA384();\n $lMBCM.call(this);\n this.h = [\n 0xcbbb9d5d,\n 0xc1059ed8,\n 0x629a292a,\n 0x367cd507,\n 0x9159015a,\n 0x3070dd17,\n 0x152fecd8,\n 0xf70e5939,\n 0x67332667,\n 0xffc00b31,\n 0x8eb44a87,\n 0x68581511,\n 0xdb0c2e0d,\n 0x64f98fa7,\n 0x47b5481d,\n 0xbefa4fa4\n ];\n}\n$btcbI.inherits($551d923eb49b8fc5$var$SHA384, $lMBCM);\nmodule.exports = $551d923eb49b8fc5$var$SHA384;\n$551d923eb49b8fc5$var$SHA384.blockSize = 1024;\n$551d923eb49b8fc5$var$SHA384.outSize = 384;\n$551d923eb49b8fc5$var$SHA384.hmacStrength = 192;\n$551d923eb49b8fc5$var$SHA384.padLength = 128;\n$551d923eb49b8fc5$var$SHA384.prototype._digest = function digest(enc) {\n if (enc === \"hex\") return $btcbI.toHex32(this.h.slice(0, 12), \"big\");\n else return $btcbI.split32(this.h.slice(0, 12), \"big\");\n};\n\n});\nparcelRequire.register(\"lMBCM\", function(module, exports) {\n\"use strict\";\n\nvar $btcbI = parcelRequire(\"btcbI\");\n\nvar $aAb7n = parcelRequire(\"aAb7n\");\n\nvar $koC21 = parcelRequire(\"koC21\");\nvar $fdbb441c0566fb85$var$rotr64_hi = $btcbI.rotr64_hi;\nvar $fdbb441c0566fb85$var$rotr64_lo = $btcbI.rotr64_lo;\nvar $fdbb441c0566fb85$var$shr64_hi = $btcbI.shr64_hi;\nvar $fdbb441c0566fb85$var$shr64_lo = $btcbI.shr64_lo;\nvar $fdbb441c0566fb85$var$sum64 = $btcbI.sum64;\nvar $fdbb441c0566fb85$var$sum64_hi = $btcbI.sum64_hi;\nvar $fdbb441c0566fb85$var$sum64_lo = $btcbI.sum64_lo;\nvar $fdbb441c0566fb85$var$sum64_4_hi = $btcbI.sum64_4_hi;\nvar $fdbb441c0566fb85$var$sum64_4_lo = $btcbI.sum64_4_lo;\nvar $fdbb441c0566fb85$var$sum64_5_hi = $btcbI.sum64_5_hi;\nvar $fdbb441c0566fb85$var$sum64_5_lo = $btcbI.sum64_5_lo;\nvar $fdbb441c0566fb85$var$BlockHash = $aAb7n.BlockHash;\nvar $fdbb441c0566fb85$var$sha512_K = [\n 0x428a2f98,\n 0xd728ae22,\n 0x71374491,\n 0x23ef65cd,\n 0xb5c0fbcf,\n 0xec4d3b2f,\n 0xe9b5dba5,\n 0x8189dbbc,\n 0x3956c25b,\n 0xf348b538,\n 0x59f111f1,\n 0xb605d019,\n 0x923f82a4,\n 0xaf194f9b,\n 0xab1c5ed5,\n 0xda6d8118,\n 0xd807aa98,\n 0xa3030242,\n 0x12835b01,\n 0x45706fbe,\n 0x243185be,\n 0x4ee4b28c,\n 0x550c7dc3,\n 0xd5ffb4e2,\n 0x72be5d74,\n 0xf27b896f,\n 0x80deb1fe,\n 0x3b1696b1,\n 0x9bdc06a7,\n 0x25c71235,\n 0xc19bf174,\n 0xcf692694,\n 0xe49b69c1,\n 0x9ef14ad2,\n 0xefbe4786,\n 0x384f25e3,\n 0x0fc19dc6,\n 0x8b8cd5b5,\n 0x240ca1cc,\n 0x77ac9c65,\n 0x2de92c6f,\n 0x592b0275,\n 0x4a7484aa,\n 0x6ea6e483,\n 0x5cb0a9dc,\n 0xbd41fbd4,\n 0x76f988da,\n 0x831153b5,\n 0x983e5152,\n 0xee66dfab,\n 0xa831c66d,\n 0x2db43210,\n 0xb00327c8,\n 0x98fb213f,\n 0xbf597fc7,\n 0xbeef0ee4,\n 0xc6e00bf3,\n 0x3da88fc2,\n 0xd5a79147,\n 0x930aa725,\n 0x06ca6351,\n 0xe003826f,\n 0x14292967,\n 0x0a0e6e70,\n 0x27b70a85,\n 0x46d22ffc,\n 0x2e1b2138,\n 0x5c26c926,\n 0x4d2c6dfc,\n 0x5ac42aed,\n 0x53380d13,\n 0x9d95b3df,\n 0x650a7354,\n 0x8baf63de,\n 0x766a0abb,\n 0x3c77b2a8,\n 0x81c2c92e,\n 0x47edaee6,\n 0x92722c85,\n 0x1482353b,\n 0xa2bfe8a1,\n 0x4cf10364,\n 0xa81a664b,\n 0xbc423001,\n 0xc24b8b70,\n 0xd0f89791,\n 0xc76c51a3,\n 0x0654be30,\n 0xd192e819,\n 0xd6ef5218,\n 0xd6990624,\n 0x5565a910,\n 0xf40e3585,\n 0x5771202a,\n 0x106aa070,\n 0x32bbd1b8,\n 0x19a4c116,\n 0xb8d2d0c8,\n 0x1e376c08,\n 0x5141ab53,\n 0x2748774c,\n 0xdf8eeb99,\n 0x34b0bcb5,\n 0xe19b48a8,\n 0x391c0cb3,\n 0xc5c95a63,\n 0x4ed8aa4a,\n 0xe3418acb,\n 0x5b9cca4f,\n 0x7763e373,\n 0x682e6ff3,\n 0xd6b2b8a3,\n 0x748f82ee,\n 0x5defb2fc,\n 0x78a5636f,\n 0x43172f60,\n 0x84c87814,\n 0xa1f0ab72,\n 0x8cc70208,\n 0x1a6439ec,\n 0x90befffa,\n 0x23631e28,\n 0xa4506ceb,\n 0xde82bde9,\n 0xbef9a3f7,\n 0xb2c67915,\n 0xc67178f2,\n 0xe372532b,\n 0xca273ece,\n 0xea26619c,\n 0xd186b8c7,\n 0x21c0c207,\n 0xeada7dd6,\n 0xcde0eb1e,\n 0xf57d4f7f,\n 0xee6ed178,\n 0x06f067aa,\n 0x72176fba,\n 0x0a637dc5,\n 0xa2c898a6,\n 0x113f9804,\n 0xbef90dae,\n 0x1b710b35,\n 0x131c471b,\n 0x28db77f5,\n 0x23047d84,\n 0x32caab7b,\n 0x40c72493,\n 0x3c9ebe0a,\n 0x15c9bebc,\n 0x431d67c4,\n 0x9c100d4c,\n 0x4cc5d4be,\n 0xcb3e42b6,\n 0x597f299c,\n 0xfc657e2a,\n 0x5fcb6fab,\n 0x3ad6faec,\n 0x6c44198c,\n 0x4a475817\n];\nfunction $fdbb441c0566fb85$var$SHA512() {\n if (!(this instanceof $fdbb441c0566fb85$var$SHA512)) return new $fdbb441c0566fb85$var$SHA512();\n $fdbb441c0566fb85$var$BlockHash.call(this);\n this.h = [\n 0x6a09e667,\n 0xf3bcc908,\n 0xbb67ae85,\n 0x84caa73b,\n 0x3c6ef372,\n 0xfe94f82b,\n 0xa54ff53a,\n 0x5f1d36f1,\n 0x510e527f,\n 0xade682d1,\n 0x9b05688c,\n 0x2b3e6c1f,\n 0x1f83d9ab,\n 0xfb41bd6b,\n 0x5be0cd19,\n 0x137e2179\n ];\n this.k = $fdbb441c0566fb85$var$sha512_K;\n this.W = new Array(160);\n}\n$btcbI.inherits($fdbb441c0566fb85$var$SHA512, $fdbb441c0566fb85$var$BlockHash);\nmodule.exports = $fdbb441c0566fb85$var$SHA512;\n$fdbb441c0566fb85$var$SHA512.blockSize = 1024;\n$fdbb441c0566fb85$var$SHA512.outSize = 512;\n$fdbb441c0566fb85$var$SHA512.hmacStrength = 192;\n$fdbb441c0566fb85$var$SHA512.padLength = 128;\n$fdbb441c0566fb85$var$SHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n // 32 x 32bit words\n for(var i = 0; i < 32; i++)W[i] = msg[start + i];\n for(; i < W.length; i += 2){\n var c0_hi = $fdbb441c0566fb85$var$g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = $fdbb441c0566fb85$var$g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = $fdbb441c0566fb85$var$g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = $fdbb441c0566fb85$var$g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n W[i] = $fdbb441c0566fb85$var$sum64_4_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo);\n W[i + 1] = $fdbb441c0566fb85$var$sum64_4_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo);\n }\n};\n$fdbb441c0566fb85$var$SHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n var W = this.W;\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n $koC21(this.k.length === W.length);\n for(var i = 0; i < W.length; i += 2){\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = $fdbb441c0566fb85$var$s1_512_hi(eh, el);\n var c1_lo = $fdbb441c0566fb85$var$s1_512_lo(eh, el);\n var c2_hi = $fdbb441c0566fb85$var$ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = $fdbb441c0566fb85$var$ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n var T1_hi = $fdbb441c0566fb85$var$sum64_5_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo);\n var T1_lo = $fdbb441c0566fb85$var$sum64_5_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo);\n c0_hi = $fdbb441c0566fb85$var$s0_512_hi(ah, al);\n c0_lo = $fdbb441c0566fb85$var$s0_512_lo(ah, al);\n c1_hi = $fdbb441c0566fb85$var$maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = $fdbb441c0566fb85$var$maj64_lo(ah, al, bh, bl, ch, cl);\n var T2_hi = $fdbb441c0566fb85$var$sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = $fdbb441c0566fb85$var$sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n hh = gh;\n hl = gl;\n gh = fh;\n gl = fl;\n fh = eh;\n fl = el;\n eh = $fdbb441c0566fb85$var$sum64_hi(dh, dl, T1_hi, T1_lo);\n el = $fdbb441c0566fb85$var$sum64_lo(dl, dl, T1_hi, T1_lo);\n dh = ch;\n dl = cl;\n ch = bh;\n cl = bl;\n bh = ah;\n bl = al;\n ah = $fdbb441c0566fb85$var$sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = $fdbb441c0566fb85$var$sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n $fdbb441c0566fb85$var$sum64(this.h, 0, ah, al);\n $fdbb441c0566fb85$var$sum64(this.h, 2, bh, bl);\n $fdbb441c0566fb85$var$sum64(this.h, 4, ch, cl);\n $fdbb441c0566fb85$var$sum64(this.h, 6, dh, dl);\n $fdbb441c0566fb85$var$sum64(this.h, 8, eh, el);\n $fdbb441c0566fb85$var$sum64(this.h, 10, fh, fl);\n $fdbb441c0566fb85$var$sum64(this.h, 12, gh, gl);\n $fdbb441c0566fb85$var$sum64(this.h, 14, hh, hl);\n};\n$fdbb441c0566fb85$var$SHA512.prototype._digest = function digest(enc) {\n if (enc === \"hex\") return $btcbI.toHex32(this.h, \"big\");\n else return $btcbI.split32(this.h, \"big\");\n};\nfunction $fdbb441c0566fb85$var$ch64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ ~xh & zh;\n if (r < 0) r += 0x100000000;\n return r;\n}\nfunction $fdbb441c0566fb85$var$ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ ~xl & zl;\n if (r < 0) r += 0x100000000;\n return r;\n}\nfunction $fdbb441c0566fb85$var$maj64_hi(xh, xl, yh, yl, zh) {\n var r = xh & yh ^ xh & zh ^ yh & zh;\n if (r < 0) r += 0x100000000;\n return r;\n}\nfunction $fdbb441c0566fb85$var$maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = xl & yl ^ xl & zl ^ yl & zl;\n if (r < 0) r += 0x100000000;\n return r;\n}\nfunction $fdbb441c0566fb85$var$s0_512_hi(xh, xl) {\n var c0_hi = $fdbb441c0566fb85$var$rotr64_hi(xh, xl, 28);\n var c1_hi = $fdbb441c0566fb85$var$rotr64_hi(xl, xh, 2); // 34\n var c2_hi = $fdbb441c0566fb85$var$rotr64_hi(xl, xh, 7); // 39\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0) r += 0x100000000;\n return r;\n}\nfunction $fdbb441c0566fb85$var$s0_512_lo(xh, xl) {\n var c0_lo = $fdbb441c0566fb85$var$rotr64_lo(xh, xl, 28);\n var c1_lo = $fdbb441c0566fb85$var$rotr64_lo(xl, xh, 2); // 34\n var c2_lo = $fdbb441c0566fb85$var$rotr64_lo(xl, xh, 7); // 39\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0) r += 0x100000000;\n return r;\n}\nfunction $fdbb441c0566fb85$var$s1_512_hi(xh, xl) {\n var c0_hi = $fdbb441c0566fb85$var$rotr64_hi(xh, xl, 14);\n var c1_hi = $fdbb441c0566fb85$var$rotr64_hi(xh, xl, 18);\n var c2_hi = $fdbb441c0566fb85$var$rotr64_hi(xl, xh, 9); // 41\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0) r += 0x100000000;\n return r;\n}\nfunction $fdbb441c0566fb85$var$s1_512_lo(xh, xl) {\n var c0_lo = $fdbb441c0566fb85$var$rotr64_lo(xh, xl, 14);\n var c1_lo = $fdbb441c0566fb85$var$rotr64_lo(xh, xl, 18);\n var c2_lo = $fdbb441c0566fb85$var$rotr64_lo(xl, xh, 9); // 41\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0) r += 0x100000000;\n return r;\n}\nfunction $fdbb441c0566fb85$var$g0_512_hi(xh, xl) {\n var c0_hi = $fdbb441c0566fb85$var$rotr64_hi(xh, xl, 1);\n var c1_hi = $fdbb441c0566fb85$var$rotr64_hi(xh, xl, 8);\n var c2_hi = $fdbb441c0566fb85$var$shr64_hi(xh, xl, 7);\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0) r += 0x100000000;\n return r;\n}\nfunction $fdbb441c0566fb85$var$g0_512_lo(xh, xl) {\n var c0_lo = $fdbb441c0566fb85$var$rotr64_lo(xh, xl, 1);\n var c1_lo = $fdbb441c0566fb85$var$rotr64_lo(xh, xl, 8);\n var c2_lo = $fdbb441c0566fb85$var$shr64_lo(xh, xl, 7);\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0) r += 0x100000000;\n return r;\n}\nfunction $fdbb441c0566fb85$var$g1_512_hi(xh, xl) {\n var c0_hi = $fdbb441c0566fb85$var$rotr64_hi(xh, xl, 19);\n var c1_hi = $fdbb441c0566fb85$var$rotr64_hi(xl, xh, 29); // 61\n var c2_hi = $fdbb441c0566fb85$var$shr64_hi(xh, xl, 6);\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0) r += 0x100000000;\n return r;\n}\nfunction $fdbb441c0566fb85$var$g1_512_lo(xh, xl) {\n var c0_lo = $fdbb441c0566fb85$var$rotr64_lo(xh, xl, 19);\n var c1_lo = $fdbb441c0566fb85$var$rotr64_lo(xl, xh, 29); // 61\n var c2_lo = $fdbb441c0566fb85$var$shr64_lo(xh, xl, 6);\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0) r += 0x100000000;\n return r;\n}\n\n});\n\n\n\nparcelRequire.register(\"05eZB\", function(module, exports) {\n\n$parcel$export(module.exports, \"ripemd160\", () => $00fc18f316764a3b$export$d1cea0ee4e3f0d3e, (v) => $00fc18f316764a3b$export$d1cea0ee4e3f0d3e = v);\nvar $00fc18f316764a3b$export$d1cea0ee4e3f0d3e;\n\"use strict\";\n\nvar $btcbI = parcelRequire(\"btcbI\");\n\nvar $aAb7n = parcelRequire(\"aAb7n\");\nvar $00fc18f316764a3b$var$rotl32 = $btcbI.rotl32;\nvar $00fc18f316764a3b$var$sum32 = $btcbI.sum32;\nvar $00fc18f316764a3b$var$sum32_3 = $btcbI.sum32_3;\nvar $00fc18f316764a3b$var$sum32_4 = $btcbI.sum32_4;\nvar $00fc18f316764a3b$var$BlockHash = $aAb7n.BlockHash;\nfunction $00fc18f316764a3b$var$RIPEMD160() {\n if (!(this instanceof $00fc18f316764a3b$var$RIPEMD160)) return new $00fc18f316764a3b$var$RIPEMD160();\n $00fc18f316764a3b$var$BlockHash.call(this);\n this.h = [\n 0x67452301,\n 0xefcdab89,\n 0x98badcfe,\n 0x10325476,\n 0xc3d2e1f0\n ];\n this.endian = \"little\";\n}\n$btcbI.inherits($00fc18f316764a3b$var$RIPEMD160, $00fc18f316764a3b$var$BlockHash);\n$00fc18f316764a3b$export$d1cea0ee4e3f0d3e = $00fc18f316764a3b$var$RIPEMD160;\n$00fc18f316764a3b$var$RIPEMD160.blockSize = 512;\n$00fc18f316764a3b$var$RIPEMD160.outSize = 160;\n$00fc18f316764a3b$var$RIPEMD160.hmacStrength = 192;\n$00fc18f316764a3b$var$RIPEMD160.padLength = 64;\n$00fc18f316764a3b$var$RIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for(var j = 0; j < 80; j++){\n var T = $00fc18f316764a3b$var$sum32($00fc18f316764a3b$var$rotl32($00fc18f316764a3b$var$sum32_4(A, $00fc18f316764a3b$var$f(j, B, C, D), msg[$00fc18f316764a3b$var$r[j] + start], $00fc18f316764a3b$var$K(j)), $00fc18f316764a3b$var$s[j]), E);\n A = E;\n E = D;\n D = $00fc18f316764a3b$var$rotl32(C, 10);\n C = B;\n B = T;\n T = $00fc18f316764a3b$var$sum32($00fc18f316764a3b$var$rotl32($00fc18f316764a3b$var$sum32_4(Ah, $00fc18f316764a3b$var$f(79 - j, Bh, Ch, Dh), msg[$00fc18f316764a3b$var$rh[j] + start], $00fc18f316764a3b$var$Kh(j)), $00fc18f316764a3b$var$sh[j]), Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = $00fc18f316764a3b$var$rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = $00fc18f316764a3b$var$sum32_3(this.h[1], C, Dh);\n this.h[1] = $00fc18f316764a3b$var$sum32_3(this.h[2], D, Eh);\n this.h[2] = $00fc18f316764a3b$var$sum32_3(this.h[3], E, Ah);\n this.h[3] = $00fc18f316764a3b$var$sum32_3(this.h[4], A, Bh);\n this.h[4] = $00fc18f316764a3b$var$sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n$00fc18f316764a3b$var$RIPEMD160.prototype._digest = function digest(enc) {\n if (enc === \"hex\") return $btcbI.toHex32(this.h, \"little\");\n else return $btcbI.split32(this.h, \"little\");\n};\nfunction $00fc18f316764a3b$var$f(j, x, y, z) {\n if (j <= 15) return x ^ y ^ z;\n else if (j <= 31) return x & y | ~x & z;\n else if (j <= 47) return (x | ~y) ^ z;\n else if (j <= 63) return x & z | y & ~z;\n else return x ^ (y | ~z);\n}\nfunction $00fc18f316764a3b$var$K(j) {\n if (j <= 15) return 0x00000000;\n else if (j <= 31) return 0x5a827999;\n else if (j <= 47) return 0x6ed9eba1;\n else if (j <= 63) return 0x8f1bbcdc;\n else return 0xa953fd4e;\n}\nfunction $00fc18f316764a3b$var$Kh(j) {\n if (j <= 15) return 0x50a28be6;\n else if (j <= 31) return 0x5c4dd124;\n else if (j <= 47) return 0x6d703ef3;\n else if (j <= 63) return 0x7a6d76e9;\n else return 0x00000000;\n}\nvar $00fc18f316764a3b$var$r = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n];\nvar $00fc18f316764a3b$var$rh = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n];\nvar $00fc18f316764a3b$var$s = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n];\nvar $00fc18f316764a3b$var$sh = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n];\n\n});\n\nparcelRequire.register(\"ap2lu\", function(module, exports) {\n\"use strict\";\n\nvar $btcbI = parcelRequire(\"btcbI\");\n\nvar $koC21 = parcelRequire(\"koC21\");\nfunction $792e0ef6fa035d02$var$Hmac(hash, key, enc) {\n if (!(this instanceof $792e0ef6fa035d02$var$Hmac)) return new $792e0ef6fa035d02$var$Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n this._init($btcbI.toArray(key, enc));\n}\nmodule.exports = $792e0ef6fa035d02$var$Hmac;\n$792e0ef6fa035d02$var$Hmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize) key = new this.Hash().update(key).digest();\n $koC21(key.length <= this.blockSize);\n // Add padding to key\n for(var i = key.length; i < this.blockSize; i++)key.push(0);\n for(i = 0; i < key.length; i++)key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n // 0x36 ^ 0x5c = 0x6a\n for(i = 0; i < key.length; i++)key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n$792e0ef6fa035d02$var$Hmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n$792e0ef6fa035d02$var$Hmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n\n});\n\n\nparcelRequire.register(\"lNVWe\", function(module, exports) {\nmodule.exports = {\n doubles: {\n step: 4,\n points: [\n [\n \"e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a\",\n \"f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821\"\n ],\n [\n \"8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508\",\n \"11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf\"\n ],\n [\n \"175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739\",\n \"d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695\"\n ],\n [\n \"363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640\",\n \"4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9\"\n ],\n [\n \"8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c\",\n \"4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36\"\n ],\n [\n \"723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda\",\n \"96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f\"\n ],\n [\n \"eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa\",\n \"5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999\"\n ],\n [\n \"100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0\",\n \"cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09\"\n ],\n [\n \"e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d\",\n \"9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d\"\n ],\n [\n \"feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d\",\n \"e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088\"\n ],\n [\n \"da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1\",\n \"9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d\"\n ],\n [\n \"53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0\",\n \"5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8\"\n ],\n [\n \"8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047\",\n \"10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a\"\n ],\n [\n \"385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862\",\n \"283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453\"\n ],\n [\n \"6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7\",\n \"7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160\"\n ],\n [\n \"3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd\",\n \"56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0\"\n ],\n [\n \"85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83\",\n \"7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6\"\n ],\n [\n \"948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a\",\n \"53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589\"\n ],\n [\n \"6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8\",\n \"bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17\"\n ],\n [\n \"e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d\",\n \"4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda\"\n ],\n [\n \"e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725\",\n \"7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd\"\n ],\n [\n \"213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754\",\n \"4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2\"\n ],\n [\n \"4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c\",\n \"17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6\"\n ],\n [\n \"fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6\",\n \"6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f\"\n ],\n [\n \"76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39\",\n \"c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01\"\n ],\n [\n \"c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891\",\n \"893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3\"\n ],\n [\n \"d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b\",\n \"febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f\"\n ],\n [\n \"b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03\",\n \"2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7\"\n ],\n [\n \"e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d\",\n \"eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78\"\n ],\n [\n \"a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070\",\n \"7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1\"\n ],\n [\n \"90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4\",\n \"e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150\"\n ],\n [\n \"8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da\",\n \"662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82\"\n ],\n [\n \"e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11\",\n \"1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc\"\n ],\n [\n \"8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e\",\n \"efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b\"\n ],\n [\n \"e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41\",\n \"2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51\"\n ],\n [\n \"b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef\",\n \"67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45\"\n ],\n [\n \"d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8\",\n \"db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120\"\n ],\n [\n \"324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d\",\n \"648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84\"\n ],\n [\n \"4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96\",\n \"35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d\"\n ],\n [\n \"9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd\",\n \"ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d\"\n ],\n [\n \"6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5\",\n \"9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8\"\n ],\n [\n \"a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266\",\n \"40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8\"\n ],\n [\n \"7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71\",\n \"34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac\"\n ],\n [\n \"928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac\",\n \"c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f\"\n ],\n [\n \"85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751\",\n \"1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962\"\n ],\n [\n \"ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e\",\n \"493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907\"\n ],\n [\n \"827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241\",\n \"c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec\"\n ],\n [\n \"eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3\",\n \"be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d\"\n ],\n [\n \"e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f\",\n \"4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414\"\n ],\n [\n \"1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19\",\n \"aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd\"\n ],\n [\n \"146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be\",\n \"b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0\"\n ],\n [\n \"fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9\",\n \"6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811\"\n ],\n [\n \"da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2\",\n \"8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1\"\n ],\n [\n \"a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13\",\n \"7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c\"\n ],\n [\n \"174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c\",\n \"ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73\"\n ],\n [\n \"959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba\",\n \"2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd\"\n ],\n [\n \"d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151\",\n \"e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405\"\n ],\n [\n \"64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073\",\n \"d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589\"\n ],\n [\n \"8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458\",\n \"38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e\"\n ],\n [\n \"13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b\",\n \"69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27\"\n ],\n [\n \"bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366\",\n \"d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1\"\n ],\n [\n \"8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa\",\n \"40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482\"\n ],\n [\n \"8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0\",\n \"620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945\"\n ],\n [\n \"dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787\",\n \"7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573\"\n ],\n [\n \"f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e\",\n \"ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82\"\n ]\n ]\n },\n naf: {\n wnd: 7,\n points: [\n [\n \"f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9\",\n \"388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672\"\n ],\n [\n \"2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4\",\n \"d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6\"\n ],\n [\n \"5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc\",\n \"6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da\"\n ],\n [\n \"acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe\",\n \"cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37\"\n ],\n [\n \"774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb\",\n \"d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b\"\n ],\n [\n \"f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8\",\n \"ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81\"\n ],\n [\n \"d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e\",\n \"581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58\"\n ],\n [\n \"defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34\",\n \"4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77\"\n ],\n [\n \"2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c\",\n \"85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a\"\n ],\n [\n \"352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5\",\n \"321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c\"\n ],\n [\n \"2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f\",\n \"2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67\"\n ],\n [\n \"9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714\",\n \"73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402\"\n ],\n [\n \"daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729\",\n \"a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55\"\n ],\n [\n \"c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db\",\n \"2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482\"\n ],\n [\n \"6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4\",\n \"e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82\"\n ],\n [\n \"1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5\",\n \"b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396\"\n ],\n [\n \"605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479\",\n \"2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49\"\n ],\n [\n \"62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d\",\n \"80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf\"\n ],\n [\n \"80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f\",\n \"1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a\"\n ],\n [\n \"7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb\",\n \"d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7\"\n ],\n [\n \"d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9\",\n \"eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933\"\n ],\n [\n \"49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963\",\n \"758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a\"\n ],\n [\n \"77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74\",\n \"958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6\"\n ],\n [\n \"f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530\",\n \"e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37\"\n ],\n [\n \"463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b\",\n \"5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e\"\n ],\n [\n \"f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247\",\n \"cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6\"\n ],\n [\n \"caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1\",\n \"cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476\"\n ],\n [\n \"2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120\",\n \"4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40\"\n ],\n [\n \"7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435\",\n \"91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61\"\n ],\n [\n \"754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18\",\n \"673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683\"\n ],\n [\n \"e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8\",\n \"59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5\"\n ],\n [\n \"186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb\",\n \"3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b\"\n ],\n [\n \"df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f\",\n \"55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417\"\n ],\n [\n \"5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143\",\n \"efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868\"\n ],\n [\n \"290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba\",\n \"e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a\"\n ],\n [\n \"af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45\",\n \"f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6\"\n ],\n [\n \"766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a\",\n \"744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996\"\n ],\n [\n \"59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e\",\n \"c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e\"\n ],\n [\n \"f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8\",\n \"e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d\"\n ],\n [\n \"7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c\",\n \"30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2\"\n ],\n [\n \"948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519\",\n \"e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e\"\n ],\n [\n \"7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab\",\n \"100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437\"\n ],\n [\n \"3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca\",\n \"ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311\"\n ],\n [\n \"d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf\",\n \"8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4\"\n ],\n [\n \"1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610\",\n \"68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575\"\n ],\n [\n \"733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4\",\n \"f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d\"\n ],\n [\n \"15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c\",\n \"d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d\"\n ],\n [\n \"a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940\",\n \"edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629\"\n ],\n [\n \"e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980\",\n \"a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06\"\n ],\n [\n \"311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3\",\n \"66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374\"\n ],\n [\n \"34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf\",\n \"9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee\"\n ],\n [\n \"f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63\",\n \"4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1\"\n ],\n [\n \"d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448\",\n \"fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b\"\n ],\n [\n \"32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf\",\n \"5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661\"\n ],\n [\n \"7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5\",\n \"8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6\"\n ],\n [\n \"ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6\",\n \"8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e\"\n ],\n [\n \"16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5\",\n \"5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d\"\n ],\n [\n \"eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99\",\n \"f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc\"\n ],\n [\n \"78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51\",\n \"f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4\"\n ],\n [\n \"494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5\",\n \"42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c\"\n ],\n [\n \"a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5\",\n \"204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b\"\n ],\n [\n \"c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997\",\n \"4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913\"\n ],\n [\n \"841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881\",\n \"73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154\"\n ],\n [\n \"5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5\",\n \"39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865\"\n ],\n [\n \"36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66\",\n \"d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc\"\n ],\n [\n \"336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726\",\n \"ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224\"\n ],\n [\n \"8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede\",\n \"6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e\"\n ],\n [\n \"1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94\",\n \"60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6\"\n ],\n [\n \"85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31\",\n \"3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511\"\n ],\n [\n \"29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51\",\n \"b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b\"\n ],\n [\n \"a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252\",\n \"ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2\"\n ],\n [\n \"4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5\",\n \"cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c\"\n ],\n [\n \"d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b\",\n \"6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3\"\n ],\n [\n \"ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4\",\n \"322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d\"\n ],\n [\n \"af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f\",\n \"6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700\"\n ],\n [\n \"e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889\",\n \"2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4\"\n ],\n [\n \"591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246\",\n \"b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196\"\n ],\n [\n \"11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984\",\n \"998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4\"\n ],\n [\n \"3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a\",\n \"b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257\"\n ],\n [\n \"cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030\",\n \"bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13\"\n ],\n [\n \"c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197\",\n \"6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096\"\n ],\n [\n \"c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593\",\n \"c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38\"\n ],\n [\n \"a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef\",\n \"21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f\"\n ],\n [\n \"347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38\",\n \"60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448\"\n ],\n [\n \"da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a\",\n \"49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a\"\n ],\n [\n \"c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111\",\n \"5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4\"\n ],\n [\n \"4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502\",\n \"7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437\"\n ],\n [\n \"3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea\",\n \"be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7\"\n ],\n [\n \"cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26\",\n \"8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d\"\n ],\n [\n \"b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986\",\n \"39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a\"\n ],\n [\n \"d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e\",\n \"62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54\"\n ],\n [\n \"48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4\",\n \"25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77\"\n ],\n [\n \"dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda\",\n \"ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517\"\n ],\n [\n \"6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859\",\n \"cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10\"\n ],\n [\n \"e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f\",\n \"f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125\"\n ],\n [\n \"eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c\",\n \"6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e\"\n ],\n [\n \"13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942\",\n \"fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1\"\n ],\n [\n \"ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a\",\n \"1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2\"\n ],\n [\n \"b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80\",\n \"5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423\"\n ],\n [\n \"ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d\",\n \"438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8\"\n ],\n [\n \"8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1\",\n \"cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758\"\n ],\n [\n \"52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63\",\n \"c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375\"\n ],\n [\n \"e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352\",\n \"6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d\"\n ],\n [\n \"7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193\",\n \"ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec\"\n ],\n [\n \"5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00\",\n \"9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0\"\n ],\n [\n \"32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58\",\n \"ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c\"\n ],\n [\n \"e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7\",\n \"d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4\"\n ],\n [\n \"8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8\",\n \"c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f\"\n ],\n [\n \"4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e\",\n \"67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649\"\n ],\n [\n \"3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d\",\n \"cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826\"\n ],\n [\n \"674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b\",\n \"299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5\"\n ],\n [\n \"d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f\",\n \"f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87\"\n ],\n [\n \"30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6\",\n \"462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b\"\n ],\n [\n \"be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297\",\n \"62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc\"\n ],\n [\n \"93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a\",\n \"7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c\"\n ],\n [\n \"b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c\",\n \"ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f\"\n ],\n [\n \"d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52\",\n \"4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a\"\n ],\n [\n \"d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb\",\n \"bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46\"\n ],\n [\n \"463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065\",\n \"bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f\"\n ],\n [\n \"7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917\",\n \"603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03\"\n ],\n [\n \"74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9\",\n \"cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08\"\n ],\n [\n \"30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3\",\n \"553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8\"\n ],\n [\n \"9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57\",\n \"712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373\"\n ],\n [\n \"176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66\",\n \"ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3\"\n ],\n [\n \"75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8\",\n \"9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8\"\n ],\n [\n \"809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721\",\n \"9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1\"\n ],\n [\n \"1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180\",\n \"4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9\"\n ]\n ]\n }\n};\n\n});\n\n\nparcelRequire.register(\"220Zx\", function(module, exports) {\n\"use strict\";\n\nvar $jX0xT = parcelRequire(\"jX0xT\");\n\nvar $kKonu = parcelRequire(\"kKonu\");\n\nvar $gEVtY = parcelRequire(\"gEVtY\");\n\nvar $fbTbW = parcelRequire(\"fbTbW\");\n\nvar $7JHF0 = parcelRequire(\"7JHF0\");\nvar $17ac898fe5b06379$var$assert = $gEVtY.assert;\n\nvar $lPqzs = parcelRequire(\"lPqzs\");\n\nvar $i46nc = parcelRequire(\"i46nc\");\nfunction $17ac898fe5b06379$var$EC(options) {\n if (!(this instanceof $17ac898fe5b06379$var$EC)) return new $17ac898fe5b06379$var$EC(options);\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === \"string\") {\n $17ac898fe5b06379$var$assert(Object.prototype.hasOwnProperty.call($fbTbW, options), \"Unknown curve \" + options);\n options = $fbTbW[options];\n }\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof $fbTbW.PresetCurve) options = {\n curve: options\n };\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = $17ac898fe5b06379$var$EC;\n$17ac898fe5b06379$var$EC.prototype.keyPair = function keyPair(options) {\n return new $lPqzs(this, options);\n};\n$17ac898fe5b06379$var$EC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return $lPqzs.fromPrivate(this, priv, enc);\n};\n$17ac898fe5b06379$var$EC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return $lPqzs.fromPublic(this, pub, enc);\n};\n$17ac898fe5b06379$var$EC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options) options = {};\n // Instantiate Hmac_DRBG\n var drbg = new $kKonu({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\",\n entropy: options.entropy || $7JHF0(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || \"utf8\",\n nonce: this.n.toArray()\n });\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new $jX0xT(2));\n for(;;){\n var priv = new $jX0xT(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0) continue;\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n$17ac898fe5b06379$var$EC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0) msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0) return msg.sub(this.n);\n else return msg;\n};\n$17ac898fe5b06379$var$EC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === \"object\") {\n options = enc;\n enc = null;\n }\n if (!options) options = {};\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new $jX0xT(msg, 16));\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray(\"be\", bytes);\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray(\"be\", bytes);\n // Instantiate Hmac_DRBG\n var drbg = new $kKonu({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\"\n });\n // Number of bytes to generate\n var ns1 = this.n.sub(new $jX0xT(1));\n for(var iter = 0;; iter++){\n var k = options.k ? options.k(iter) : new $jX0xT(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0) continue;\n var kp = this.g.mul(k);\n if (kp.isInfinity()) continue;\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0) continue;\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0) continue;\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) | (kpX.cmp(r) !== 0 ? 2 : 0);\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n return new $i46nc({\n r: r,\n s: s,\n recoveryParam: recoveryParam\n });\n }\n};\n$17ac898fe5b06379$var$EC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new $jX0xT(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new $i46nc(signature, \"hex\");\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0) return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0) return false;\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity()) return false;\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity()) return false;\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n$17ac898fe5b06379$var$EC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n $17ac898fe5b06379$var$assert((3 & j) === j, \"The recovery param is more than two bits\");\n signature = new $i46nc(signature, enc);\n var n = this.n;\n var e = new $jX0xT(msg);\n var r = signature.r;\n var s = signature.s;\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey) throw new Error(\"Unable to find sencond key candinate\");\n // 1.1. Let x = r + jn.\n if (isSecondKey) r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else r = this.curve.pointFromX(r, isYOdd);\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n$17ac898fe5b06379$var$EC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new $i46nc(signature, enc);\n if (signature.recoveryParam !== null) return signature.recoveryParam;\n for(var i = 0; i < 4; i++){\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n if (Qprime.eq(Q)) return i;\n }\n throw new Error(\"Unable to find valid recovery factor\");\n};\n\n});\nparcelRequire.register(\"kKonu\", function(module, exports) {\n\"use strict\";\n\nvar $kiSKt = parcelRequire(\"kiSKt\");\n\nvar $lC4vN = parcelRequire(\"lC4vN\");\n\nvar $koC21 = parcelRequire(\"koC21\");\nfunction $f1ab03780ebd0ab4$var$HmacDRBG(options) {\n if (!(this instanceof $f1ab03780ebd0ab4$var$HmacDRBG)) return new $f1ab03780ebd0ab4$var$HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n var entropy = $lC4vN.toArray(options.entropy, options.entropyEnc || \"hex\");\n var nonce = $lC4vN.toArray(options.nonce, options.nonceEnc || \"hex\");\n var pers = $lC4vN.toArray(options.pers, options.persEnc || \"hex\");\n $koC21(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\");\n this._init(entropy, nonce, pers);\n}\nmodule.exports = $f1ab03780ebd0ab4$var$HmacDRBG;\n$f1ab03780ebd0ab4$var$HmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for(var i = 0; i < this.V.length; i++){\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n$f1ab03780ebd0ab4$var$HmacDRBG.prototype._hmac = function hmac() {\n return new $kiSKt.hmac(this.hash, this.K);\n};\n$f1ab03780ebd0ab4$var$HmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac().update(this.V).update([\n 0x00\n ]);\n if (seed) kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed) return;\n this.K = this._hmac().update(this.V).update([\n 0x01\n ]).update(seed).digest();\n this.V = this._hmac().update(this.V).digest();\n};\n$f1ab03780ebd0ab4$var$HmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== \"string\") {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n entropy = $lC4vN.toArray(entropy, entropyEnc);\n add = $lC4vN.toArray(add, addEnc);\n $koC21(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\");\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n$f1ab03780ebd0ab4$var$HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval) throw new Error(\"Reseed is required\");\n // Optional encoding\n if (typeof enc !== \"string\") {\n addEnc = add;\n add = enc;\n enc = null;\n }\n // Optional additional data\n if (add) {\n add = $lC4vN.toArray(add, addEnc || \"hex\");\n this._update(add);\n }\n var temp = [];\n while(temp.length < len){\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return $lC4vN.encode(res, enc);\n};\n\n});\n\nparcelRequire.register(\"lPqzs\", function(module, exports) {\n\"use strict\";\n\nvar $jX0xT = parcelRequire(\"jX0xT\");\n\nvar $gEVtY = parcelRequire(\"gEVtY\");\nvar $fe42f8d68750188b$var$assert = $gEVtY.assert;\nfunction $fe42f8d68750188b$var$KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv) this._importPrivate(options.priv, options.privEnc);\n if (options.pub) this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = $fe42f8d68750188b$var$KeyPair;\n$fe42f8d68750188b$var$KeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof $fe42f8d68750188b$var$KeyPair) return pub;\n return new $fe42f8d68750188b$var$KeyPair(ec, {\n pub: pub,\n pubEnc: enc\n });\n};\n$fe42f8d68750188b$var$KeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof $fe42f8d68750188b$var$KeyPair) return priv;\n return new $fe42f8d68750188b$var$KeyPair(ec, {\n priv: priv,\n privEnc: enc\n });\n};\n$fe42f8d68750188b$var$KeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n if (pub.isInfinity()) return {\n result: false,\n reason: \"Invalid public key\"\n };\n if (!pub.validate()) return {\n result: false,\n reason: \"Public key is not a point\"\n };\n if (!pub.mul(this.ec.curve.n).isInfinity()) return {\n result: false,\n reason: \"Public key * N != O\"\n };\n return {\n result: true,\n reason: null\n };\n};\n$fe42f8d68750188b$var$KeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === \"string\") {\n enc = compact;\n compact = null;\n }\n if (!this.pub) this.pub = this.ec.g.mul(this.priv);\n if (!enc) return this.pub;\n return this.pub.encode(enc, compact);\n};\n$fe42f8d68750188b$var$KeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === \"hex\") return this.priv.toString(16, 2);\n else return this.priv;\n};\n$fe42f8d68750188b$var$KeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new $jX0xT(key, enc || 16);\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n$fe42f8d68750188b$var$KeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === \"mont\") $fe42f8d68750188b$var$assert(key.x, \"Need x coordinate\");\n else if (this.ec.curve.type === \"short\" || this.ec.curve.type === \"edwards\") $fe42f8d68750188b$var$assert(key.x && key.y, \"Need both x and y coordinate\");\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n// ECDH\n$fe42f8d68750188b$var$KeyPair.prototype.derive = function derive(pub) {\n if (!pub.validate()) $fe42f8d68750188b$var$assert(pub.validate(), \"public point not validated\");\n return pub.mul(this.priv).getX();\n};\n// ECDSA\n$fe42f8d68750188b$var$KeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n$fe42f8d68750188b$var$KeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n$fe42f8d68750188b$var$KeyPair.prototype.inspect = function inspect() {\n return \"\";\n};\n\n});\n\nparcelRequire.register(\"i46nc\", function(module, exports) {\n\"use strict\";\n\nvar $jX0xT = parcelRequire(\"jX0xT\");\n\nvar $gEVtY = parcelRequire(\"gEVtY\");\nvar $d26d8b510bde7292$var$assert = $gEVtY.assert;\nfunction $d26d8b510bde7292$var$Signature(options, enc) {\n if (options instanceof $d26d8b510bde7292$var$Signature) return options;\n if (this._importDER(options, enc)) return;\n $d26d8b510bde7292$var$assert(options.r && options.s, \"Signature without r or s\");\n this.r = new $jX0xT(options.r, 16);\n this.s = new $jX0xT(options.s, 16);\n if (options.recoveryParam === undefined) this.recoveryParam = null;\n else this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = $d26d8b510bde7292$var$Signature;\nfunction $d26d8b510bde7292$var$Position() {\n this.place = 0;\n}\nfunction $d26d8b510bde7292$var$getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) return initial;\n var octetLen = initial & 0xf;\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) return false;\n var val = 0;\n for(var i = 0, off = p.place; i < octetLen; i++, off++){\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n // Leading zeroes\n if (val <= 0x7f) return false;\n p.place = off;\n return val;\n}\nfunction $d26d8b510bde7292$var$rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while(!buf[i] && !(buf[i + 1] & 0x80) && i < len)i++;\n if (i === 0) return buf;\n return buf.slice(i);\n}\n$d26d8b510bde7292$var$Signature.prototype._importDER = function _importDER(data, enc) {\n data = $gEVtY.toArray(data, enc);\n var p = new $d26d8b510bde7292$var$Position();\n if (data[p.place++] !== 0x30) return false;\n var len = $d26d8b510bde7292$var$getLength(data, p);\n if (len === false) return false;\n if (len + p.place !== data.length) return false;\n if (data[p.place++] !== 0x02) return false;\n var rlen = $d26d8b510bde7292$var$getLength(data, p);\n if (rlen === false) return false;\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) return false;\n var slen = $d26d8b510bde7292$var$getLength(data, p);\n if (slen === false) return false;\n if (data.length !== slen + p.place) return false;\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) r = r.slice(1);\n else // Leading zeroes\n return false;\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) s = s.slice(1);\n else // Leading zeroes\n return false;\n }\n this.r = new $jX0xT(r);\n this.s = new $jX0xT(s);\n this.recoveryParam = null;\n return true;\n};\nfunction $d26d8b510bde7292$var$constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while(--octets)arr.push(len >>> (octets << 3) & 0xff);\n arr.push(len);\n}\n$d26d8b510bde7292$var$Signature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n // Pad values\n if (r[0] & 0x80) r = [\n 0\n ].concat(r);\n // Pad values\n if (s[0] & 0x80) s = [\n 0\n ].concat(s);\n r = $d26d8b510bde7292$var$rmPadding(r);\n s = $d26d8b510bde7292$var$rmPadding(s);\n while(!s[0] && !(s[1] & 0x80))s = s.slice(1);\n var arr = [\n 0x02\n ];\n $d26d8b510bde7292$var$constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n $d26d8b510bde7292$var$constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [\n 0x30\n ];\n $d26d8b510bde7292$var$constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return $gEVtY.encode(res, enc);\n};\n\n});\n\n\nparcelRequire.register(\"esmmS\", function(module, exports) {\n\"use strict\";\n\nvar $kiSKt = parcelRequire(\"kiSKt\");\n\nvar $fbTbW = parcelRequire(\"fbTbW\");\n\nvar $gEVtY = parcelRequire(\"gEVtY\");\nvar $a865080dcef76248$var$assert = $gEVtY.assert;\nvar $a865080dcef76248$var$parseBytes = $gEVtY.parseBytes;\n\nvar $1D85n = parcelRequire(\"1D85n\");\n\nvar $7XcGE = parcelRequire(\"7XcGE\");\nfunction $a865080dcef76248$var$EDDSA(curve) {\n $a865080dcef76248$var$assert(curve === \"ed25519\", \"only tested with ed25519 so far\");\n if (!(this instanceof $a865080dcef76248$var$EDDSA)) return new $a865080dcef76248$var$EDDSA(curve);\n curve = $fbTbW[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = $kiSKt.sha512;\n}\nmodule.exports = $a865080dcef76248$var$EDDSA;\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/ $a865080dcef76248$var$EDDSA.prototype.sign = function sign(message, secret) {\n message = $a865080dcef76248$var$parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message).mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({\n R: R,\n S: S,\n Rencoded: Rencoded\n });\n};\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/ $a865080dcef76248$var$EDDSA.prototype.verify = function verify(message, sig, pub) {\n message = $a865080dcef76248$var$parseBytes(message);\n sig = this.makeSignature(sig);\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n$a865080dcef76248$var$EDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for(var i = 0; i < arguments.length; i++)hash.update(arguments[i]);\n return $gEVtY.intFromLE(hash.digest()).umod(this.curve.n);\n};\n$a865080dcef76248$var$EDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return $1D85n.fromPublic(this, pub);\n};\n$a865080dcef76248$var$EDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return $1D85n.fromSecret(this, secret);\n};\n$a865080dcef76248$var$EDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof $7XcGE) return sig;\n return new $7XcGE(this, sig);\n};\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/ $a865080dcef76248$var$EDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray(\"le\", this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n$a865080dcef76248$var$EDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = $gEVtY.parseBytes(bytes);\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & -129);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n var y = $gEVtY.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n$a865080dcef76248$var$EDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray(\"le\", this.encodingLength);\n};\n$a865080dcef76248$var$EDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return $gEVtY.intFromLE(bytes);\n};\n$a865080dcef76248$var$EDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n\n});\nparcelRequire.register(\"1D85n\", function(module, exports) {\n\"use strict\";\n\nvar $gEVtY = parcelRequire(\"gEVtY\");\nvar $12ffb49ca423a34b$var$assert = $gEVtY.assert;\nvar $12ffb49ca423a34b$var$parseBytes = $gEVtY.parseBytes;\nvar $12ffb49ca423a34b$var$cachedProperty = $gEVtY.cachedProperty;\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/ function $12ffb49ca423a34b$var$KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = $12ffb49ca423a34b$var$parseBytes(params.secret);\n if (eddsa.isPoint(params.pub)) this._pub = params.pub;\n else this._pubBytes = $12ffb49ca423a34b$var$parseBytes(params.pub);\n}\n$12ffb49ca423a34b$var$KeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof $12ffb49ca423a34b$var$KeyPair) return pub;\n return new $12ffb49ca423a34b$var$KeyPair(eddsa, {\n pub: pub\n });\n};\n$12ffb49ca423a34b$var$KeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof $12ffb49ca423a34b$var$KeyPair) return secret;\n return new $12ffb49ca423a34b$var$KeyPair(eddsa, {\n secret: secret\n });\n};\n$12ffb49ca423a34b$var$KeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n$12ffb49ca423a34b$var$cachedProperty($12ffb49ca423a34b$var$KeyPair, \"pubBytes\", function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n$12ffb49ca423a34b$var$cachedProperty($12ffb49ca423a34b$var$KeyPair, \"pub\", function pub() {\n if (this._pubBytes) return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n$12ffb49ca423a34b$var$cachedProperty($12ffb49ca423a34b$var$KeyPair, \"privBytes\", function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n return a;\n});\n$12ffb49ca423a34b$var$cachedProperty($12ffb49ca423a34b$var$KeyPair, \"priv\", function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n$12ffb49ca423a34b$var$cachedProperty($12ffb49ca423a34b$var$KeyPair, \"hash\", function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n$12ffb49ca423a34b$var$cachedProperty($12ffb49ca423a34b$var$KeyPair, \"messagePrefix\", function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n$12ffb49ca423a34b$var$KeyPair.prototype.sign = function sign(message) {\n $12ffb49ca423a34b$var$assert(this._secret, \"KeyPair can only verify\");\n return this.eddsa.sign(message, this);\n};\n$12ffb49ca423a34b$var$KeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n$12ffb49ca423a34b$var$KeyPair.prototype.getSecret = function getSecret(enc) {\n $12ffb49ca423a34b$var$assert(this._secret, \"KeyPair is public only\");\n return $gEVtY.encode(this.secret(), enc);\n};\n$12ffb49ca423a34b$var$KeyPair.prototype.getPublic = function getPublic(enc) {\n return $gEVtY.encode(this.pubBytes(), enc);\n};\nmodule.exports = $12ffb49ca423a34b$var$KeyPair;\n\n});\n\nparcelRequire.register(\"7XcGE\", function(module, exports) {\n\"use strict\";\n\nvar $jX0xT = parcelRequire(\"jX0xT\");\n\nvar $gEVtY = parcelRequire(\"gEVtY\");\nvar $5ca7e26f93e1a560$var$assert = $gEVtY.assert;\nvar $5ca7e26f93e1a560$var$cachedProperty = $gEVtY.cachedProperty;\nvar $5ca7e26f93e1a560$var$parseBytes = $gEVtY.parseBytes;\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/ function $5ca7e26f93e1a560$var$Signature(eddsa, sig) {\n this.eddsa = eddsa;\n if (typeof sig !== \"object\") sig = $5ca7e26f93e1a560$var$parseBytes(sig);\n if (Array.isArray(sig)) sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength)\n };\n $5ca7e26f93e1a560$var$assert(sig.R && sig.S, \"Signature without R or S\");\n if (eddsa.isPoint(sig.R)) this._R = sig.R;\n if (sig.S instanceof $jX0xT) this._S = sig.S;\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n$5ca7e26f93e1a560$var$cachedProperty($5ca7e26f93e1a560$var$Signature, \"S\", function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n$5ca7e26f93e1a560$var$cachedProperty($5ca7e26f93e1a560$var$Signature, \"R\", function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n$5ca7e26f93e1a560$var$cachedProperty($5ca7e26f93e1a560$var$Signature, \"Rencoded\", function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n$5ca7e26f93e1a560$var$cachedProperty($5ca7e26f93e1a560$var$Signature, \"Sencoded\", function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n$5ca7e26f93e1a560$var$Signature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n$5ca7e26f93e1a560$var$Signature.prototype.toHex = function toHex() {\n return $gEVtY.encode(this.toBytes(), \"hex\").toUpperCase();\n};\nmodule.exports = $5ca7e26f93e1a560$var$Signature;\n\n});\n\n\n\n\n\nparcelRequire.register(\"1dT7K\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $hkN9y = parcelRequire(\"hkN9y\");\nfunction $0e41c3d3aaec06be$var$getRandomBytes(bytes) {\n return new Promise(function(resolve, reject) {\n $hkN9y(bytes, function(err, resp) {\n if (err) {\n reject(err);\n return;\n }\n resolve(resp);\n });\n });\n}\nmodule.exports.getRandomBytes = $0e41c3d3aaec06be$var$getRandomBytes;\nfunction $0e41c3d3aaec06be$var$getRandomBytesSync(bytes) {\n return $hkN9y(bytes);\n}\nmodule.exports.getRandomBytesSync = $0e41c3d3aaec06be$var$getRandomBytesSync;\n\n});\nparcelRequire.register(\"hkN9y\", function(module, exports) {\n\nvar $hPtJY = parcelRequire(\"hPtJY\");\n\"use strict\";\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar $c9ea6eb6e1b0be83$var$MAX_BYTES = 65536;\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar $c9ea6eb6e1b0be83$var$MAX_UINT32 = 4294967295;\nfunction $c9ea6eb6e1b0be83$var$oldBrowser() {\n throw new Error(\"Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11\");\n}\n\nvar $1U9GM = parcelRequire(\"1U9GM\");\nvar $c9ea6eb6e1b0be83$require$Buffer = $1U9GM.Buffer;\nvar $c9ea6eb6e1b0be83$var$crypto = $parcel$global.crypto || $parcel$global.msCrypto;\nif ($c9ea6eb6e1b0be83$var$crypto && $c9ea6eb6e1b0be83$var$crypto.getRandomValues) module.exports = $c9ea6eb6e1b0be83$var$randomBytes;\nelse module.exports = $c9ea6eb6e1b0be83$var$oldBrowser;\nfunction $c9ea6eb6e1b0be83$var$randomBytes(size, cb) {\n // phantomjs needs to throw\n if (size > $c9ea6eb6e1b0be83$var$MAX_UINT32) throw new RangeError(\"requested too many random bytes\");\n var bytes = $c9ea6eb6e1b0be83$require$Buffer.allocUnsafe(size);\n if (size > 0) {\n if (size > $c9ea6eb6e1b0be83$var$MAX_BYTES) // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for(var generated = 0; generated < size; generated += $c9ea6eb6e1b0be83$var$MAX_BYTES)// buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n $c9ea6eb6e1b0be83$var$crypto.getRandomValues(bytes.slice(generated, generated + $c9ea6eb6e1b0be83$var$MAX_BYTES));\n else $c9ea6eb6e1b0be83$var$crypto.getRandomValues(bytes);\n }\n if (typeof cb === \"function\") return $hPtJY.nextTick(function() {\n cb(null, bytes);\n });\n return bytes;\n}\n\n});\nparcelRequire.register(\"1U9GM\", function(module, exports) {\n/*! safe-buffer. MIT License. Feross Aboukhadijeh */ /* eslint-disable node/no-deprecated-api */ \nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $1632896ed805433d$var$Buffer = $6ZWSX.Buffer;\n// alternative to using Object.keys for old browsers\nfunction $1632896ed805433d$var$copyProps(src, dst) {\n for(var key in src)dst[key] = src[key];\n}\nif ($1632896ed805433d$var$Buffer.from && $1632896ed805433d$var$Buffer.alloc && $1632896ed805433d$var$Buffer.allocUnsafe && $1632896ed805433d$var$Buffer.allocUnsafeSlow) module.exports = $6ZWSX;\nelse {\n // Copy properties from require('buffer')\n $1632896ed805433d$var$copyProps($6ZWSX, module.exports);\n module.exports.Buffer = $1632896ed805433d$var$SafeBuffer;\n}\nfunction $1632896ed805433d$var$SafeBuffer(arg, encodingOrOffset, length) {\n return $1632896ed805433d$var$Buffer(arg, encodingOrOffset, length);\n}\n$1632896ed805433d$var$SafeBuffer.prototype = Object.create($1632896ed805433d$var$Buffer.prototype);\n// Copy static methods from Buffer\n$1632896ed805433d$var$copyProps($1632896ed805433d$var$Buffer, $1632896ed805433d$var$SafeBuffer);\n$1632896ed805433d$var$SafeBuffer.from = function(arg, encodingOrOffset, length) {\n if (typeof arg === \"number\") throw new TypeError(\"Argument must not be a number\");\n return $1632896ed805433d$var$Buffer(arg, encodingOrOffset, length);\n};\n$1632896ed805433d$var$SafeBuffer.alloc = function(size, fill, encoding) {\n if (typeof size !== \"number\") throw new TypeError(\"Argument must be a number\");\n var buf = $1632896ed805433d$var$Buffer(size);\n if (fill !== undefined) {\n if (typeof encoding === \"string\") buf.fill(fill, encoding);\n else buf.fill(fill);\n } else buf.fill(0);\n return buf;\n};\n$1632896ed805433d$var$SafeBuffer.allocUnsafe = function(size) {\n if (typeof size !== \"number\") throw new TypeError(\"Argument must be a number\");\n return $1632896ed805433d$var$Buffer(size);\n};\n$1632896ed805433d$var$SafeBuffer.allocUnsafeSlow = function(size) {\n if (typeof size !== \"number\") throw new TypeError(\"Argument must be a number\");\n return $6ZWSX.SlowBuffer(size);\n};\n\n});\n\n\n\n\nparcelRequire.register(\"aj8Qm\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $781289dd73a1c17e$require$Buffer = $6ZWSX.Buffer;\n\"use strict\";\n/*\nThe MIT License\n\nCopyright (c) 2016 Nick Dodson. nickdodson.com\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE\n */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.isHexString = module.exports.getKeys = module.exports.fromAscii = module.exports.fromUtf8 = module.exports.toAscii = module.exports.arrayContainsArray = module.exports.getBinarySize = module.exports.padToEven = module.exports.stripHexPrefix = module.exports.isHexPrefixed = void 0;\n/**\n * Returns a `Boolean` on whether or not the a `String` starts with '0x'\n * @param str the string input value\n * @return a boolean if it is or is not hex prefixed\n * @throws if the str input is not a string\n */ function $781289dd73a1c17e$var$isHexPrefixed(str) {\n if (typeof str !== \"string\") throw new Error(\"[isHexPrefixed] input must be type 'string', received type \".concat(typeof str));\n return str[0] === \"0\" && str[1] === \"x\";\n}\nmodule.exports.isHexPrefixed = $781289dd73a1c17e$var$isHexPrefixed;\n/**\n * Removes '0x' from a given `String` if present\n * @param str the string value\n * @returns the string without 0x prefix\n */ var $781289dd73a1c17e$var$stripHexPrefix = function(str) {\n if (typeof str !== \"string\") throw new Error(\"[stripHexPrefix] input must be type 'string', received \".concat(typeof str));\n return $781289dd73a1c17e$var$isHexPrefixed(str) ? str.slice(2) : str;\n};\nmodule.exports.stripHexPrefix = $781289dd73a1c17e$var$stripHexPrefix;\n/**\n * Pads a `String` to have an even length\n * @param value\n * @return output\n */ function $781289dd73a1c17e$var$padToEven(value) {\n var a = value;\n if (typeof a !== \"string\") throw new Error(\"[padToEven] value must be type 'string', received \".concat(typeof a));\n if (a.length % 2) a = \"0\".concat(a);\n return a;\n}\nmodule.exports.padToEven = $781289dd73a1c17e$var$padToEven;\n/**\n * Get the binary size of a string\n * @param str\n * @returns the number of bytes contained within the string\n */ function $781289dd73a1c17e$var$getBinarySize(str) {\n if (typeof str !== \"string\") throw new Error(\"[getBinarySize] method requires input type 'string', recieved \".concat(typeof str));\n return $781289dd73a1c17e$require$Buffer.byteLength(str, \"utf8\");\n}\nmodule.exports.getBinarySize = $781289dd73a1c17e$var$getBinarySize;\n/**\n * Returns TRUE if the first specified array contains all elements\n * from the second one. FALSE otherwise.\n *\n * @param superset\n * @param subset\n *\n */ function $781289dd73a1c17e$var$arrayContainsArray(superset, subset, some) {\n if (Array.isArray(superset) !== true) throw new Error(\"[arrayContainsArray] method requires input 'superset' to be an array, got type '\".concat(typeof superset, \"'\"));\n if (Array.isArray(subset) !== true) throw new Error(\"[arrayContainsArray] method requires input 'subset' to be an array, got type '\".concat(typeof subset, \"'\"));\n return subset[some ? \"some\" : \"every\"](function(value) {\n return superset.indexOf(value) >= 0;\n });\n}\nmodule.exports.arrayContainsArray = $781289dd73a1c17e$var$arrayContainsArray;\n/**\n * Should be called to get ascii from its hex representation\n *\n * @param string in hex\n * @returns ascii string representation of hex value\n */ function $781289dd73a1c17e$var$toAscii(hex) {\n var str = \"\";\n var i = 0;\n var l = hex.length;\n if (hex.substring(0, 2) === \"0x\") i = 2;\n for(; i < l; i += 2){\n var code = parseInt(hex.substr(i, 2), 16);\n str += String.fromCharCode(code);\n }\n return str;\n}\nmodule.exports.toAscii = $781289dd73a1c17e$var$toAscii;\n/**\n * Should be called to get hex representation (prefixed by 0x) of utf8 string\n *\n * @param string\n * @param optional padding\n * @returns hex representation of input string\n */ function $781289dd73a1c17e$var$fromUtf8(stringValue) {\n var str = $781289dd73a1c17e$require$Buffer.from(stringValue, \"utf8\");\n return \"0x\".concat($781289dd73a1c17e$var$padToEven(str.toString(\"hex\")).replace(/^0+|0+$/g, \"\"));\n}\nmodule.exports.fromUtf8 = $781289dd73a1c17e$var$fromUtf8;\n/**\n * Should be called to get hex representation (prefixed by 0x) of ascii string\n *\n * @param string\n * @param optional padding\n * @returns hex representation of input string\n */ function $781289dd73a1c17e$var$fromAscii(stringValue) {\n var hex = \"\";\n for(var i = 0; i < stringValue.length; i++){\n var code = stringValue.charCodeAt(i);\n var n = code.toString(16);\n hex += n.length < 2 ? \"0\".concat(n) : n;\n }\n return \"0x\".concat(hex);\n}\nmodule.exports.fromAscii = $781289dd73a1c17e$var$fromAscii;\n/**\n * Returns the keys from an array of objects.\n * @example\n * ```js\n * getKeys([{a: '1', b: '2'}, {a: '3', b: '4'}], 'a') => ['1', '3']\n *````\n * @param params\n * @param key\n * @param allowEmpty\n * @returns output just a simple array of output keys\n */ function $781289dd73a1c17e$var$getKeys(params, key, allowEmpty) {\n if (!Array.isArray(params)) throw new Error(\"[getKeys] method expects input 'params' to be an array, got \".concat(typeof params));\n if (typeof key !== \"string\") throw new Error(\"[getKeys] method expects input 'key' to be type 'string', got \".concat(typeof params));\n var result = [];\n for(var i = 0; i < params.length; i++){\n var value = params[i][key];\n if (allowEmpty && !value) value = \"\";\n else if (typeof value !== \"string\") throw new Error(\"invalid abi - expected type 'string', received \".concat(typeof value));\n result.push(value);\n }\n return result;\n}\nmodule.exports.getKeys = $781289dd73a1c17e$var$getKeys;\n/**\n * Is the string a hex string.\n *\n * @param value\n * @param length\n * @returns output the string is a hex string\n */ function $781289dd73a1c17e$var$isHexString(value, length) {\n if (typeof value !== \"string\" || !value.match(/^0x[0-9A-Fa-f]*$/)) return false;\n if (length && value.length !== 2 + 2 * length) return false;\n return true;\n}\nmodule.exports.isHexString = $781289dd73a1c17e$var$isHexString;\n\n});\n\nparcelRequire.register(\"b61lJ\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $81414d3539e03a13$require$Buffer = $6ZWSX.Buffer;\n\"use strict\";\nvar $81414d3539e03a13$var$__values = module.exports && module.exports.__values || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function() {\n if (o && i >= o.length) o = void 0;\n return {\n value: o && o[i++],\n done: !o\n };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar $81414d3539e03a13$var$__read = module.exports && module.exports.__read || function(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while((n === void 0 || n-- > 0) && !(r = i.next()).done)ar.push(r.value);\n } catch (error) {\n e = {\n error: error\n };\n } finally{\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n } finally{\n if (e) throw e.error;\n }\n }\n return ar;\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.bufArrToArr = module.exports.arrToBufArr = module.exports.validateNoLeadingZeroes = module.exports.baToJSON = module.exports.toUtf8 = module.exports.addHexPrefix = module.exports.toUnsigned = module.exports.fromSigned = module.exports.bufferToHex = module.exports.bufferToInt = module.exports.toBuffer = module.exports.unpadHexString = module.exports.unpadArray = module.exports.unpadBuffer = module.exports.setLengthRight = module.exports.setLengthLeft = module.exports.zeros = module.exports.intToBuffer = module.exports.intToHex = void 0;\n\nvar $4jhio = parcelRequire(\"4jhio\");\n\nvar $aj8Qm = parcelRequire(\"aj8Qm\");\n\nvar $7jIKp = parcelRequire(\"7jIKp\");\n/**\n * Converts a `Number` into a hex `String`\n * @param {Number} i\n * @return {String}\n */ var $81414d3539e03a13$var$intToHex = function(i) {\n if (!Number.isSafeInteger(i) || i < 0) throw new Error(\"Received an invalid integer type: \".concat(i));\n return \"0x\".concat(i.toString(16));\n};\nmodule.exports.intToHex = $81414d3539e03a13$var$intToHex;\n/**\n * Converts an `Number` to a `Buffer`\n * @param {Number} i\n * @return {Buffer}\n */ var $81414d3539e03a13$var$intToBuffer = function(i) {\n var hex = (0, module.exports.intToHex)(i);\n return $81414d3539e03a13$require$Buffer.from((0, $aj8Qm.padToEven)(hex.slice(2)), \"hex\");\n};\nmodule.exports.intToBuffer = $81414d3539e03a13$var$intToBuffer;\n/**\n * Returns a buffer filled with 0s.\n * @param bytes the number of bytes the buffer should be\n */ var $81414d3539e03a13$var$zeros = function(bytes) {\n return $81414d3539e03a13$require$Buffer.allocUnsafe(bytes).fill(0);\n};\nmodule.exports.zeros = $81414d3539e03a13$var$zeros;\n/**\n * Pads a `Buffer` with zeros till it has `length` bytes.\n * Truncates the beginning or end of input if its length exceeds `length`.\n * @param msg the value to pad (Buffer)\n * @param length the number of bytes the output should be\n * @param right whether to start padding form the left or right\n * @return (Buffer)\n */ var $81414d3539e03a13$var$setLength = function(msg, length, right) {\n var buf = (0, module.exports.zeros)(length);\n if (right) {\n if (msg.length < length) {\n msg.copy(buf);\n return buf;\n }\n return msg.slice(0, length);\n } else {\n if (msg.length < length) {\n msg.copy(buf, length - msg.length);\n return buf;\n }\n return msg.slice(-length);\n }\n};\n/**\n * Left Pads a `Buffer` with leading zeros till it has `length` bytes.\n * Or it truncates the beginning if it exceeds.\n * @param msg the value to pad (Buffer)\n * @param length the number of bytes the output should be\n * @return (Buffer)\n */ var $81414d3539e03a13$var$setLengthLeft = function(msg, length) {\n (0, $7jIKp.assertIsBuffer)(msg);\n return $81414d3539e03a13$var$setLength(msg, length, false);\n};\nmodule.exports.setLengthLeft = $81414d3539e03a13$var$setLengthLeft;\n/**\n * Right Pads a `Buffer` with trailing zeros till it has `length` bytes.\n * it truncates the end if it exceeds.\n * @param msg the value to pad (Buffer)\n * @param length the number of bytes the output should be\n * @return (Buffer)\n */ var $81414d3539e03a13$var$setLengthRight = function(msg, length) {\n (0, $7jIKp.assertIsBuffer)(msg);\n return $81414d3539e03a13$var$setLength(msg, length, true);\n};\nmodule.exports.setLengthRight = $81414d3539e03a13$var$setLengthRight;\n/**\n * Trims leading zeros from a `Buffer`, `String` or `Number[]`.\n * @param a (Buffer|Array|String)\n * @return (Buffer|Array|String)\n */ var $81414d3539e03a13$var$stripZeros = function(a) {\n var first = a[0];\n while(a.length > 0 && first.toString() === \"0\"){\n a = a.slice(1);\n first = a[0];\n }\n return a;\n};\n/**\n * Trims leading zeros from a `Buffer`.\n * @param a (Buffer)\n * @return (Buffer)\n */ var $81414d3539e03a13$var$unpadBuffer = function(a) {\n (0, $7jIKp.assertIsBuffer)(a);\n return $81414d3539e03a13$var$stripZeros(a);\n};\nmodule.exports.unpadBuffer = $81414d3539e03a13$var$unpadBuffer;\n/**\n * Trims leading zeros from an `Array` (of numbers).\n * @param a (number[])\n * @return (number[])\n */ var $81414d3539e03a13$var$unpadArray = function(a) {\n (0, $7jIKp.assertIsArray)(a);\n return $81414d3539e03a13$var$stripZeros(a);\n};\nmodule.exports.unpadArray = $81414d3539e03a13$var$unpadArray;\n/**\n * Trims leading zeros from a hex-prefixed `String`.\n * @param a (String)\n * @return (String)\n */ var $81414d3539e03a13$var$unpadHexString = function(a) {\n (0, $7jIKp.assertIsHexString)(a);\n a = (0, $aj8Qm.stripHexPrefix)(a);\n return $81414d3539e03a13$var$stripZeros(a);\n};\nmodule.exports.unpadHexString = $81414d3539e03a13$var$unpadHexString;\n/**\n * Attempts to turn a value into a `Buffer`.\n * Inputs supported: `Buffer`, `String` (hex-prefixed), `Number`, null/undefined, `BN` and other objects\n * with a `toArray()` or `toBuffer()` method.\n * @param v the value\n */ var $81414d3539e03a13$var$toBuffer = function(v) {\n if (v === null || v === undefined) return $81414d3539e03a13$require$Buffer.allocUnsafe(0);\n if ($81414d3539e03a13$require$Buffer.isBuffer(v)) return $81414d3539e03a13$require$Buffer.from(v);\n if (Array.isArray(v) || v instanceof Uint8Array) return $81414d3539e03a13$require$Buffer.from(v);\n if (typeof v === \"string\") {\n if (!(0, $aj8Qm.isHexString)(v)) throw new Error(\"Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: \".concat(v));\n return $81414d3539e03a13$require$Buffer.from((0, $aj8Qm.padToEven)((0, $aj8Qm.stripHexPrefix)(v)), \"hex\");\n }\n if (typeof v === \"number\") return (0, module.exports.intToBuffer)(v);\n if ($4jhio.BN.isBN(v)) {\n if (v.isNeg()) throw new Error(\"Cannot convert negative BN to buffer. Given: \".concat(v));\n return v.toArrayLike($81414d3539e03a13$require$Buffer);\n }\n if (v.toArray) // converts a BN to a Buffer\n return $81414d3539e03a13$require$Buffer.from(v.toArray());\n if (v.toBuffer) return $81414d3539e03a13$require$Buffer.from(v.toBuffer());\n throw new Error(\"invalid type\");\n};\nmodule.exports.toBuffer = $81414d3539e03a13$var$toBuffer;\n/**\n * Converts a `Buffer` to a `Number`.\n * @param buf `Buffer` object to convert\n * @throws If the input number exceeds 53 bits.\n */ var $81414d3539e03a13$var$bufferToInt = function(buf) {\n return new $4jhio.BN((0, module.exports.toBuffer)(buf)).toNumber();\n};\nmodule.exports.bufferToInt = $81414d3539e03a13$var$bufferToInt;\n/**\n * Converts a `Buffer` into a `0x`-prefixed hex `String`.\n * @param buf `Buffer` object to convert\n */ var $81414d3539e03a13$var$bufferToHex = function(buf) {\n buf = (0, module.exports.toBuffer)(buf);\n return \"0x\" + buf.toString(\"hex\");\n};\nmodule.exports.bufferToHex = $81414d3539e03a13$var$bufferToHex;\n/**\n * Interprets a `Buffer` as a signed integer and returns a `BN`. Assumes 256-bit numbers.\n * @param num Signed integer value\n */ var $81414d3539e03a13$var$fromSigned = function(num) {\n return new $4jhio.BN(num).fromTwos(256);\n};\nmodule.exports.fromSigned = $81414d3539e03a13$var$fromSigned;\n/**\n * Converts a `BN` to an unsigned integer and returns it as a `Buffer`. Assumes 256-bit numbers.\n * @param num\n */ var $81414d3539e03a13$var$toUnsigned = function(num) {\n return $81414d3539e03a13$require$Buffer.from(num.toTwos(256).toArray());\n};\nmodule.exports.toUnsigned = $81414d3539e03a13$var$toUnsigned;\n/**\n * Adds \"0x\" to a given `String` if it does not already start with \"0x\".\n */ var $81414d3539e03a13$var$addHexPrefix = function(str) {\n if (typeof str !== \"string\") return str;\n return (0, $aj8Qm.isHexPrefixed)(str) ? str : \"0x\" + str;\n};\nmodule.exports.addHexPrefix = $81414d3539e03a13$var$addHexPrefix;\n/**\n * Returns the utf8 string representation from a hex string.\n *\n * Examples:\n *\n * Input 1: '657468657265756d000000000000000000000000000000000000000000000000'\n * Input 2: '657468657265756d'\n * Input 3: '000000000000000000000000000000000000000000000000657468657265756d'\n *\n * Output (all 3 input variants): 'ethereum'\n *\n * Note that this method is not intended to be used with hex strings\n * representing quantities in both big endian or little endian notation.\n *\n * @param string Hex string, should be `0x` prefixed\n * @return Utf8 string\n */ var $81414d3539e03a13$var$toUtf8 = function(hex) {\n var zerosRegexp = /^(00)+|(00)+$/g;\n hex = (0, $aj8Qm.stripHexPrefix)(hex);\n if (hex.length % 2 !== 0) throw new Error(\"Invalid non-even hex string input for toUtf8() provided\");\n var bufferVal = $81414d3539e03a13$require$Buffer.from(hex.replace(zerosRegexp, \"\"), \"hex\");\n return bufferVal.toString(\"utf8\");\n};\nmodule.exports.toUtf8 = $81414d3539e03a13$var$toUtf8;\n/**\n * Converts a `Buffer` or `Array` to JSON.\n * @param ba (Buffer|Array)\n * @return (Array|String|null)\n */ var $81414d3539e03a13$var$baToJSON = function(ba) {\n if ($81414d3539e03a13$require$Buffer.isBuffer(ba)) return \"0x\".concat(ba.toString(\"hex\"));\n else if (ba instanceof Array) {\n var array = [];\n for(var i = 0; i < ba.length; i++)array.push((0, module.exports.baToJSON)(ba[i]));\n return array;\n }\n};\nmodule.exports.baToJSON = $81414d3539e03a13$var$baToJSON;\n/**\n * Checks provided Buffers for leading zeroes and throws if found.\n *\n * Examples:\n *\n * Valid values: 0x1, 0x, 0x01, 0x1234\n * Invalid values: 0x0, 0x00, 0x001, 0x0001\n *\n * Note: This method is useful for validating that RLP encoded integers comply with the rule that all\n * integer values encoded to RLP must be in the most compact form and contain no leading zero bytes\n * @param values An object containing string keys and Buffer values\n * @throws if any provided value is found to have leading zero bytes\n */ var $81414d3539e03a13$var$validateNoLeadingZeroes = function(values) {\n var e_1, _a;\n try {\n for(var _b = $81414d3539e03a13$var$__values(Object.entries(values)), _c = _b.next(); !_c.done; _c = _b.next()){\n var _d = $81414d3539e03a13$var$__read(_c.value, 2), k = _d[0], v = _d[1];\n if (v !== undefined && v.length > 0 && v[0] === 0) throw new Error(\"\".concat(k, \" cannot have leading zeroes, received: \").concat(v.toString(\"hex\")));\n }\n } catch (e_1_1) {\n e_1 = {\n error: e_1_1\n };\n } finally{\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n } finally{\n if (e_1) throw e_1.error;\n }\n }\n};\nmodule.exports.validateNoLeadingZeroes = $81414d3539e03a13$var$validateNoLeadingZeroes;\nfunction $81414d3539e03a13$var$arrToBufArr(arr) {\n if (!Array.isArray(arr)) return $81414d3539e03a13$require$Buffer.from(arr);\n return arr.map(function(a) {\n return $81414d3539e03a13$var$arrToBufArr(a);\n });\n}\nmodule.exports.arrToBufArr = $81414d3539e03a13$var$arrToBufArr;\nfunction $81414d3539e03a13$var$bufArrToArr(arr) {\n if (!Array.isArray(arr)) return Uint8Array.from(arr !== null && arr !== void 0 ? arr : []);\n return arr.map(function(a) {\n return $81414d3539e03a13$var$bufArrToArr(a);\n });\n}\nmodule.exports.bufArrToArr = $81414d3539e03a13$var$bufArrToArr;\n\n});\nparcelRequire.register(\"7jIKp\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $553d04ab4f0b6098$require$Buffer = $6ZWSX.Buffer;\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.assertIsString = module.exports.assertIsArray = module.exports.assertIsBuffer = module.exports.assertIsHexString = void 0;\n\nvar $aj8Qm = parcelRequire(\"aj8Qm\");\n/**\n * Throws if a string is not hex prefixed\n * @param {string} input string to check hex prefix of\n */ var $553d04ab4f0b6098$var$assertIsHexString = function(input) {\n if (!(0, $aj8Qm.isHexString)(input)) {\n var msg = \"This method only supports 0x-prefixed hex strings but input was: \".concat(input);\n throw new Error(msg);\n }\n};\nmodule.exports.assertIsHexString = $553d04ab4f0b6098$var$assertIsHexString;\n/**\n * Throws if input is not a buffer\n * @param {Buffer} input value to check\n */ var $553d04ab4f0b6098$var$assertIsBuffer = function(input) {\n if (!$553d04ab4f0b6098$require$Buffer.isBuffer(input)) {\n var msg = \"This method only supports Buffer but input was: \".concat(input);\n throw new Error(msg);\n }\n};\nmodule.exports.assertIsBuffer = $553d04ab4f0b6098$var$assertIsBuffer;\n/**\n * Throws if input is not an array\n * @param {number[]} input value to check\n */ var $553d04ab4f0b6098$var$assertIsArray = function(input) {\n if (!Array.isArray(input)) {\n var msg = \"This method only supports number arrays but input was: \".concat(input);\n throw new Error(msg);\n }\n};\nmodule.exports.assertIsArray = $553d04ab4f0b6098$var$assertIsArray;\n/**\n * Throws if input is not a string\n * @param {string} input value to check\n */ var $553d04ab4f0b6098$var$assertIsString = function(input) {\n if (typeof input !== \"string\") {\n var msg = \"This method only supports strings but input was: \".concat(input);\n throw new Error(msg);\n }\n};\nmodule.exports.assertIsString = $553d04ab4f0b6098$var$assertIsString;\n\n});\n\n\nparcelRequire.register(\"gKSHR\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $c32b60c1ed6688ec$require$Buffer = $6ZWSX.Buffer;\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.rlphash = module.exports.ripemd160FromArray = module.exports.ripemd160FromString = module.exports.ripemd160 = module.exports.sha256FromArray = module.exports.sha256FromString = module.exports.sha256 = module.exports.keccakFromArray = module.exports.keccakFromHexString = module.exports.keccakFromString = module.exports.keccak256 = module.exports.keccak = void 0;\n\nvar $bnmFi = parcelRequire(\"bnmFi\");\n\nvar $1R2J7 = parcelRequire(\"1R2J7\");\n\nvar $4jhio = parcelRequire(\"4jhio\");\n\nvar $b61lJ = parcelRequire(\"b61lJ\");\n\nvar $7jIKp = parcelRequire(\"7jIKp\");\n/**\n * Creates Keccak hash of a Buffer input\n * @param a The input data (Buffer)\n * @param bits (number = 256) The Keccak width\n */ var $c32b60c1ed6688ec$var$keccak = function(a, bits) {\n if (bits === void 0) bits = 256;\n (0, $7jIKp.assertIsBuffer)(a);\n switch(bits){\n case 224:\n return (0, $bnmFi.keccak224)(a);\n case 256:\n return (0, $bnmFi.keccak256)(a);\n case 384:\n return (0, $bnmFi.keccak384)(a);\n case 512:\n return (0, $bnmFi.keccak512)(a);\n default:\n throw new Error(\"Invald algorithm: keccak\".concat(bits));\n }\n};\nmodule.exports.keccak = $c32b60c1ed6688ec$var$keccak;\n/**\n * Creates Keccak-256 hash of the input, alias for keccak(a, 256).\n * @param a The input data (Buffer)\n */ var $c32b60c1ed6688ec$var$keccak256 = function(a) {\n return (0, module.exports.keccak)(a);\n};\nmodule.exports.keccak256 = $c32b60c1ed6688ec$var$keccak256;\n/**\n * Creates Keccak hash of a utf-8 string input\n * @param a The input data (String)\n * @param bits (number = 256) The Keccak width\n */ var $c32b60c1ed6688ec$var$keccakFromString = function(a, bits) {\n if (bits === void 0) bits = 256;\n (0, $7jIKp.assertIsString)(a);\n var buf = $c32b60c1ed6688ec$require$Buffer.from(a, \"utf8\");\n return (0, module.exports.keccak)(buf, bits);\n};\nmodule.exports.keccakFromString = $c32b60c1ed6688ec$var$keccakFromString;\n/**\n * Creates Keccak hash of an 0x-prefixed string input\n * @param a The input data (String)\n * @param bits (number = 256) The Keccak width\n */ var $c32b60c1ed6688ec$var$keccakFromHexString = function(a, bits) {\n if (bits === void 0) bits = 256;\n (0, $7jIKp.assertIsHexString)(a);\n return (0, module.exports.keccak)((0, $b61lJ.toBuffer)(a), bits);\n};\nmodule.exports.keccakFromHexString = $c32b60c1ed6688ec$var$keccakFromHexString;\n/**\n * Creates Keccak hash of a number array input\n * @param a The input data (number[])\n * @param bits (number = 256) The Keccak width\n */ var $c32b60c1ed6688ec$var$keccakFromArray = function(a, bits) {\n if (bits === void 0) bits = 256;\n (0, $7jIKp.assertIsArray)(a);\n return (0, module.exports.keccak)((0, $b61lJ.toBuffer)(a), bits);\n};\nmodule.exports.keccakFromArray = $c32b60c1ed6688ec$var$keccakFromArray;\n/**\n * Creates SHA256 hash of an input.\n * @param a The input data (Buffer|Array|String)\n */ var $c32b60c1ed6688ec$var$_sha256 = function(a) {\n a = (0, $b61lJ.toBuffer)(a);\n return $1R2J7(\"sha256\").update(a).digest();\n};\n/**\n * Creates SHA256 hash of a Buffer input.\n * @param a The input data (Buffer)\n */ var $c32b60c1ed6688ec$var$sha256 = function(a) {\n (0, $7jIKp.assertIsBuffer)(a);\n return $c32b60c1ed6688ec$var$_sha256(a);\n};\nmodule.exports.sha256 = $c32b60c1ed6688ec$var$sha256;\n/**\n * Creates SHA256 hash of a string input.\n * @param a The input data (string)\n */ var $c32b60c1ed6688ec$var$sha256FromString = function(a) {\n (0, $7jIKp.assertIsString)(a);\n return $c32b60c1ed6688ec$var$_sha256(a);\n};\nmodule.exports.sha256FromString = $c32b60c1ed6688ec$var$sha256FromString;\n/**\n * Creates SHA256 hash of a number[] input.\n * @param a The input data (number[])\n */ var $c32b60c1ed6688ec$var$sha256FromArray = function(a) {\n (0, $7jIKp.assertIsArray)(a);\n return $c32b60c1ed6688ec$var$_sha256(a);\n};\nmodule.exports.sha256FromArray = $c32b60c1ed6688ec$var$sha256FromArray;\n/**\n * Creates RIPEMD160 hash of the input.\n * @param a The input data (Buffer|Array|String|Number)\n * @param padded Whether it should be padded to 256 bits or not\n */ var $c32b60c1ed6688ec$var$_ripemd160 = function(a, padded) {\n a = (0, $b61lJ.toBuffer)(a);\n var hash = $1R2J7(\"rmd160\").update(a).digest();\n if (padded === true) return (0, $b61lJ.setLengthLeft)(hash, 32);\n else return hash;\n};\n/**\n * Creates RIPEMD160 hash of a Buffer input.\n * @param a The input data (Buffer)\n * @param padded Whether it should be padded to 256 bits or not\n */ var $c32b60c1ed6688ec$var$ripemd160 = function(a, padded) {\n (0, $7jIKp.assertIsBuffer)(a);\n return $c32b60c1ed6688ec$var$_ripemd160(a, padded);\n};\nmodule.exports.ripemd160 = $c32b60c1ed6688ec$var$ripemd160;\n/**\n * Creates RIPEMD160 hash of a string input.\n * @param a The input data (String)\n * @param padded Whether it should be padded to 256 bits or not\n */ var $c32b60c1ed6688ec$var$ripemd160FromString = function(a, padded) {\n (0, $7jIKp.assertIsString)(a);\n return $c32b60c1ed6688ec$var$_ripemd160(a, padded);\n};\nmodule.exports.ripemd160FromString = $c32b60c1ed6688ec$var$ripemd160FromString;\n/**\n * Creates RIPEMD160 hash of a number[] input.\n * @param a The input data (number[])\n * @param padded Whether it should be padded to 256 bits or not\n */ var $c32b60c1ed6688ec$var$ripemd160FromArray = function(a, padded) {\n (0, $7jIKp.assertIsArray)(a);\n return $c32b60c1ed6688ec$var$_ripemd160(a, padded);\n};\nmodule.exports.ripemd160FromArray = $c32b60c1ed6688ec$var$ripemd160FromArray;\n/**\n * Creates SHA-3 hash of the RLP encoded version of the input.\n * @param a The input data\n */ var $c32b60c1ed6688ec$var$rlphash = function(a) {\n return (0, module.exports.keccak)($4jhio.rlp.encode(a));\n};\nmodule.exports.rlphash = $c32b60c1ed6688ec$var$rlphash;\n\n});\nparcelRequire.register(\"bnmFi\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $7udHx = parcelRequire(\"7udHx\");\n\nvar $X8PsT = parcelRequire(\"X8PsT\");\nmodule.exports.keccak224 = $7udHx.createHashFunction(function() {\n return $X8PsT(\"keccak224\");\n});\nmodule.exports.keccak256 = $7udHx.createHashFunction(function() {\n return $X8PsT(\"keccak256\");\n});\nmodule.exports.keccak384 = $7udHx.createHashFunction(function() {\n return $X8PsT(\"keccak384\");\n});\nmodule.exports.keccak512 = $7udHx.createHashFunction(function() {\n return $X8PsT(\"keccak512\");\n});\n\n});\nparcelRequire.register(\"7udHx\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $5735f68b0150732d$require$Buffer = $6ZWSX.Buffer;\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nfunction $5735f68b0150732d$var$createHashFunction(hashConstructor) {\n return function(msg) {\n var hash = hashConstructor();\n hash.update(msg);\n return $5735f68b0150732d$require$Buffer.from(hash.digest());\n };\n}\nmodule.exports.createHashFunction = $5735f68b0150732d$var$createHashFunction;\n\n});\n\nparcelRequire.register(\"X8PsT\", function(module, exports) {\n\n\nmodule.exports = (parcelRequire(\"d8tul\"))((parcelRequire(\"l2DpN\")));\n\n});\nparcelRequire.register(\"d8tul\", function(module, exports) {\n\nvar $lO6fo = parcelRequire(\"lO6fo\");\n\nvar $4jc6M = parcelRequire(\"4jc6M\");\nmodule.exports = function(KeccakState) {\n const Keccak = $lO6fo(KeccakState);\n const Shake = $4jc6M(KeccakState);\n return function(algorithm, options) {\n const hash = typeof algorithm === \"string\" ? algorithm.toLowerCase() : algorithm;\n switch(hash){\n case \"keccak224\":\n return new Keccak(1152, 448, null, 224, options);\n case \"keccak256\":\n return new Keccak(1088, 512, null, 256, options);\n case \"keccak384\":\n return new Keccak(832, 768, null, 384, options);\n case \"keccak512\":\n return new Keccak(576, 1024, null, 512, options);\n case \"sha3-224\":\n return new Keccak(1152, 448, 0x06, 224, options);\n case \"sha3-256\":\n return new Keccak(1088, 512, 0x06, 256, options);\n case \"sha3-384\":\n return new Keccak(832, 768, 0x06, 384, options);\n case \"sha3-512\":\n return new Keccak(576, 1024, 0x06, 512, options);\n case \"shake128\":\n return new Shake(1344, 256, 0x1f, options);\n case \"shake256\":\n return new Shake(1088, 512, 0x1f, options);\n default:\n throw new Error(\"Invald algorithm: \" + algorithm);\n }\n };\n};\n\n});\nparcelRequire.register(\"lO6fo\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $fe031d0e6064652e$require$Buffer = $6ZWSX.Buffer;\n\nvar $b6RFW = parcelRequire(\"b6RFW\");\nvar $fe031d0e6064652e$require$Transform = $b6RFW.Transform;\nmodule.exports = (KeccakState)=>class Keccak extends $fe031d0e6064652e$require$Transform {\n constructor(rate, capacity, delimitedSuffix, hashBitLength, options){\n super(options);\n this._rate = rate;\n this._capacity = capacity;\n this._delimitedSuffix = delimitedSuffix;\n this._hashBitLength = hashBitLength;\n this._options = options;\n this._state = new KeccakState();\n this._state.initialize(rate, capacity);\n this._finalized = false;\n }\n _transform(chunk, encoding, callback) {\n let error = null;\n try {\n this.update(chunk, encoding);\n } catch (err) {\n error = err;\n }\n callback(error);\n }\n _flush(callback) {\n let error = null;\n try {\n this.push(this.digest());\n } catch (err) {\n error = err;\n }\n callback(error);\n }\n update(data, encoding) {\n if (!$fe031d0e6064652e$require$Buffer.isBuffer(data) && typeof data !== \"string\") throw new TypeError(\"Data must be a string or a buffer\");\n if (this._finalized) throw new Error(\"Digest already called\");\n if (!$fe031d0e6064652e$require$Buffer.isBuffer(data)) data = $fe031d0e6064652e$require$Buffer.from(data, encoding);\n this._state.absorb(data);\n return this;\n }\n digest(encoding) {\n if (this._finalized) throw new Error(\"Digest already called\");\n this._finalized = true;\n if (this._delimitedSuffix) this._state.absorbLastFewBits(this._delimitedSuffix);\n let digest = this._state.squeeze(this._hashBitLength / 8);\n if (encoding !== undefined) digest = digest.toString(encoding);\n this._resetState();\n return digest;\n }\n // remove result from memory\n _resetState() {\n this._state.initialize(this._rate, this._capacity);\n return this;\n }\n // because sometimes we need hash right now and little later\n _clone() {\n const clone = new Keccak(this._rate, this._capacity, this._delimitedSuffix, this._hashBitLength, this._options);\n this._state.copy(clone._state);\n clone._finalized = this._finalized;\n return clone;\n }\n };\n\n});\nparcelRequire.register(\"b6RFW\", function(module, exports) {\n\nexports = module.exports = (parcelRequire(\"d4xg3\"));\nexports.Stream = exports;\nexports.Readable = exports;\n\nexports.Writable = (parcelRequire(\"3LwY7\"));\n\nexports.Duplex = (parcelRequire(\"DwJuQ\"));\n\nexports.Transform = (parcelRequire(\"b7kl8\"));\n\nexports.PassThrough = (parcelRequire(\"4wWcs\"));\n\nexports.finished = (parcelRequire(\"fiCvv\"));\n\nexports.pipeline = (parcelRequire(\"aGSwO\"));\n\n});\nparcelRequire.register(\"d4xg3\", function(module, exports) {\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar $hPtJY = parcelRequire(\"hPtJY\");\n\"use strict\";\nmodule.exports = $9845726cca5dc7eb$var$Readable;\n/**/ var $9845726cca5dc7eb$var$Duplex;\n/**/ $9845726cca5dc7eb$var$Readable.ReadableState = $9845726cca5dc7eb$var$ReadableState;\n\nvar $7etJZ = parcelRequire(\"7etJZ\");\nvar $9845726cca5dc7eb$require$EE = $7etJZ.EventEmitter;\nvar $9845726cca5dc7eb$var$EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n\nvar $jfAlf = parcelRequire(\"jfAlf\");\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $9845726cca5dc7eb$require$Buffer = $6ZWSX.Buffer;\nvar $9845726cca5dc7eb$var$OurUint8Array = (typeof $parcel$global !== \"undefined\" ? $parcel$global : typeof window !== \"undefined\" ? window : typeof self !== \"undefined\" ? self : {}).Uint8Array || function() {};\nfunction $9845726cca5dc7eb$var$_uint8ArrayToBuffer(chunk) {\n return $9845726cca5dc7eb$require$Buffer.from(chunk);\n}\nfunction $9845726cca5dc7eb$var$_isUint8Array(obj) {\n return $9845726cca5dc7eb$require$Buffer.isBuffer(obj) || obj instanceof $9845726cca5dc7eb$var$OurUint8Array;\n}\n\nvar $kjyEk = parcelRequire(\"kjyEk\");\nvar $9845726cca5dc7eb$var$debug;\nif ($kjyEk && $kjyEk.debuglog) $9845726cca5dc7eb$var$debug = $kjyEk.debuglog(\"stream\");\nelse $9845726cca5dc7eb$var$debug = function debug() {};\n\nvar $bF5dL = parcelRequire(\"bF5dL\");\n\nvar $fMCbt = parcelRequire(\"fMCbt\");\n\nvar $04a3B = parcelRequire(\"04a3B\");\nvar $9845726cca5dc7eb$var$getHighWaterMark = $04a3B.getHighWaterMark;\n\nvar $6JySE = parcelRequire(\"6JySE\");\nvar $9845726cca5dc7eb$require$_require$codes = $6JySE.codes;\nvar $9845726cca5dc7eb$var$ERR_INVALID_ARG_TYPE = $9845726cca5dc7eb$require$_require$codes.ERR_INVALID_ARG_TYPE, $9845726cca5dc7eb$var$ERR_STREAM_PUSH_AFTER_EOF = $9845726cca5dc7eb$require$_require$codes.ERR_STREAM_PUSH_AFTER_EOF, $9845726cca5dc7eb$var$ERR_METHOD_NOT_IMPLEMENTED = $9845726cca5dc7eb$require$_require$codes.ERR_METHOD_NOT_IMPLEMENTED, $9845726cca5dc7eb$var$ERR_STREAM_UNSHIFT_AFTER_END_EVENT = $9845726cca5dc7eb$require$_require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n// Lazy loaded to improve the startup performance.\nvar $9845726cca5dc7eb$var$StringDecoder;\nvar $9845726cca5dc7eb$var$createReadableStreamAsyncIterator;\nvar $9845726cca5dc7eb$var$from;\n\n(parcelRequire(\"dlqwk\"))($9845726cca5dc7eb$var$Readable, $jfAlf);\nvar $9845726cca5dc7eb$var$errorOrDestroy = $fMCbt.errorOrDestroy;\nvar $9845726cca5dc7eb$var$kProxyEvents = [\n \"error\",\n \"close\",\n \"destroy\",\n \"pause\",\n \"resume\"\n];\nfunction $9845726cca5dc7eb$var$prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === \"function\") return emitter.prependListener(event, fn);\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);\n else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);\n else emitter._events[event] = [\n fn,\n emitter._events[event]\n ];\n}\n\n\nfunction $9845726cca5dc7eb$var$ReadableState(options, stream, isDuplex) {\n $9845726cca5dc7eb$var$Duplex = $9845726cca5dc7eb$var$Duplex || (parcelRequire(\"DwJuQ\"));\n options = options || {};\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== \"boolean\") isDuplex = stream instanceof $9845726cca5dc7eb$var$Duplex;\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = $9845726cca5dc7eb$var$getHighWaterMark(this, options, \"readableHighWaterMark\", isDuplex);\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new $bF5dL();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n // has it been destroyed\n this.destroyed = false;\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || \"utf8\";\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!$9845726cca5dc7eb$var$StringDecoder) $9845726cca5dc7eb$var$StringDecoder = (parcelRequire(\"eNRCS\")).StringDecoder;\n this.decoder = new $9845726cca5dc7eb$var$StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\n\nfunction $9845726cca5dc7eb$var$Readable(options) {\n $9845726cca5dc7eb$var$Duplex = $9845726cca5dc7eb$var$Duplex || (parcelRequire(\"DwJuQ\"));\n if (!(this instanceof $9845726cca5dc7eb$var$Readable)) return new $9845726cca5dc7eb$var$Readable(options);\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof $9845726cca5dc7eb$var$Duplex;\n this._readableState = new $9845726cca5dc7eb$var$ReadableState(options, this, isDuplex);\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === \"function\") this._read = options.read;\n if (typeof options.destroy === \"function\") this._destroy = options.destroy;\n }\n $jfAlf.call(this);\n}\nObject.defineProperty($9845726cca5dc7eb$var$Readable.prototype, \"destroyed\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) return false;\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) return;\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\n$9845726cca5dc7eb$var$Readable.prototype.destroy = $fMCbt.destroy;\n$9845726cca5dc7eb$var$Readable.prototype._undestroy = $fMCbt.undestroy;\n$9845726cca5dc7eb$var$Readable.prototype._destroy = function(err, cb) {\n cb(err);\n};\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\n$9845726cca5dc7eb$var$Readable.prototype.push = function(chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === \"string\") {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = $9845726cca5dc7eb$require$Buffer.from(chunk, encoding);\n encoding = \"\";\n }\n skipChunkCheck = true;\n }\n } else skipChunkCheck = true;\n return $9845726cca5dc7eb$var$readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n// Unshift should *always* be something directly out of read()\n$9845726cca5dc7eb$var$Readable.prototype.unshift = function(chunk) {\n return $9845726cca5dc7eb$var$readableAddChunk(this, chunk, null, true, false);\n};\nfunction $9845726cca5dc7eb$var$readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n $9845726cca5dc7eb$var$debug(\"readableAddChunk\", chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n $9845726cca5dc7eb$var$onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = $9845726cca5dc7eb$var$chunkInvalid(state, chunk);\n if (er) $9845726cca5dc7eb$var$errorOrDestroy(stream, er);\n else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== \"string\" && !state.objectMode && Object.getPrototypeOf(chunk) !== $9845726cca5dc7eb$require$Buffer.prototype) chunk = $9845726cca5dc7eb$var$_uint8ArrayToBuffer(chunk);\n if (addToFront) {\n if (state.endEmitted) $9845726cca5dc7eb$var$errorOrDestroy(stream, new $9845726cca5dc7eb$var$ERR_STREAM_UNSHIFT_AFTER_END_EVENT());\n else $9845726cca5dc7eb$var$addChunk(stream, state, chunk, true);\n } else if (state.ended) $9845726cca5dc7eb$var$errorOrDestroy(stream, new $9845726cca5dc7eb$var$ERR_STREAM_PUSH_AFTER_EOF());\n else if (state.destroyed) return false;\n else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) $9845726cca5dc7eb$var$addChunk(stream, state, chunk, false);\n else $9845726cca5dc7eb$var$maybeReadMore(stream, state);\n } else $9845726cca5dc7eb$var$addChunk(stream, state, chunk, false);\n }\n } else if (!addToFront) {\n state.reading = false;\n $9845726cca5dc7eb$var$maybeReadMore(stream, state);\n }\n }\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction $9845726cca5dc7eb$var$addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit(\"data\", chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);\n else state.buffer.push(chunk);\n if (state.needReadable) $9845726cca5dc7eb$var$emitReadable(stream);\n }\n $9845726cca5dc7eb$var$maybeReadMore(stream, state);\n}\nfunction $9845726cca5dc7eb$var$chunkInvalid(state, chunk) {\n var er;\n if (!$9845726cca5dc7eb$var$_isUint8Array(chunk) && typeof chunk !== \"string\" && chunk !== undefined && !state.objectMode) er = new $9845726cca5dc7eb$var$ERR_INVALID_ARG_TYPE(\"chunk\", [\n \"string\",\n \"Buffer\",\n \"Uint8Array\"\n ], chunk);\n return er;\n}\n$9845726cca5dc7eb$var$Readable.prototype.isPaused = function() {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\n$9845726cca5dc7eb$var$Readable.prototype.setEncoding = function(enc) {\n if (!$9845726cca5dc7eb$var$StringDecoder) $9845726cca5dc7eb$var$StringDecoder = (parcelRequire(\"eNRCS\")).StringDecoder;\n var decoder = new $9845726cca5dc7eb$var$StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = \"\";\n while(p !== null){\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== \"\") this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n// Don't raise the hwm > 1GB\nvar $9845726cca5dc7eb$var$MAX_HWM = 0x40000000;\nfunction $9845726cca5dc7eb$var$computeNewHighWaterMark(n) {\n if (n >= $9845726cca5dc7eb$var$MAX_HWM) // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = $9845726cca5dc7eb$var$MAX_HWM;\n else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction $9845726cca5dc7eb$var$howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;\n else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = $9845726cca5dc7eb$var$computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n// you can override either this method, or the async _read(n) below.\n$9845726cca5dc7eb$var$Readable.prototype.read = function(n) {\n $9845726cca5dc7eb$var$debug(\"read\", n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n $9845726cca5dc7eb$var$debug(\"read: emitReadable\", state.length, state.ended);\n if (state.length === 0 && state.ended) $9845726cca5dc7eb$var$endReadable(this);\n else $9845726cca5dc7eb$var$emitReadable(this);\n return null;\n }\n n = $9845726cca5dc7eb$var$howMuchToRead(n, state);\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) $9845726cca5dc7eb$var$endReadable(this);\n return null;\n }\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n $9845726cca5dc7eb$var$debug(\"need readable\", doRead);\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n $9845726cca5dc7eb$var$debug(\"length less than watermark\", doRead);\n }\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n $9845726cca5dc7eb$var$debug(\"reading or ended\", doRead);\n } else if (doRead) {\n $9845726cca5dc7eb$var$debug(\"do read\");\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = $9845726cca5dc7eb$var$howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = $9845726cca5dc7eb$var$fromList(n, state);\n else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) $9845726cca5dc7eb$var$endReadable(this);\n }\n if (ret !== null) this.emit(\"data\", ret);\n return ret;\n};\nfunction $9845726cca5dc7eb$var$onEofChunk(stream, state) {\n $9845726cca5dc7eb$var$debug(\"onEofChunk\");\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n $9845726cca5dc7eb$var$emitReadable(stream);\n else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n $9845726cca5dc7eb$var$emitReadable_(stream);\n }\n }\n}\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction $9845726cca5dc7eb$var$emitReadable(stream) {\n var state = stream._readableState;\n $9845726cca5dc7eb$var$debug(\"emitReadable\", state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n $9845726cca5dc7eb$var$debug(\"emitReadable\", state.flowing);\n state.emittedReadable = true;\n $hPtJY.nextTick($9845726cca5dc7eb$var$emitReadable_, stream);\n }\n}\nfunction $9845726cca5dc7eb$var$emitReadable_(stream) {\n var state = stream._readableState;\n $9845726cca5dc7eb$var$debug(\"emitReadable_\", state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit(\"readable\");\n state.emittedReadable = false;\n }\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n $9845726cca5dc7eb$var$flow(stream);\n}\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction $9845726cca5dc7eb$var$maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n $hPtJY.nextTick($9845726cca5dc7eb$var$maybeReadMore_, stream, state);\n }\n}\nfunction $9845726cca5dc7eb$var$maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while(!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)){\n var len = state.length;\n $9845726cca5dc7eb$var$debug(\"maybeReadMore read 0\");\n stream.read(0);\n if (len === state.length) break;\n }\n state.readingMore = false;\n}\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\n$9845726cca5dc7eb$var$Readable.prototype._read = function(n) {\n $9845726cca5dc7eb$var$errorOrDestroy(this, new $9845726cca5dc7eb$var$ERR_METHOD_NOT_IMPLEMENTED(\"_read()\"));\n};\n$9845726cca5dc7eb$var$Readable.prototype.pipe = function(dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch(state.pipesCount){\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [\n state.pipes,\n dest\n ];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n $9845726cca5dc7eb$var$debug(\"pipe count=%d opts=%j\", state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== $hPtJY.stdout && dest !== $hPtJY.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) $hPtJY.nextTick(endFn);\n else src.once(\"end\", endFn);\n dest.on(\"unpipe\", onunpipe);\n function onunpipe(readable, unpipeInfo) {\n $9845726cca5dc7eb$var$debug(\"onunpipe\");\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n $9845726cca5dc7eb$var$debug(\"onend\");\n dest.end();\n }\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = $9845726cca5dc7eb$var$pipeOnDrain(src);\n dest.on(\"drain\", ondrain);\n var cleanedUp = false;\n function cleanup() {\n $9845726cca5dc7eb$var$debug(\"cleanup\");\n // cleanup event handlers once the pipe is broken\n dest.removeListener(\"close\", onclose);\n dest.removeListener(\"finish\", onfinish);\n dest.removeListener(\"drain\", ondrain);\n dest.removeListener(\"error\", onerror);\n dest.removeListener(\"unpipe\", onunpipe);\n src.removeListener(\"end\", onend);\n src.removeListener(\"end\", unpipe);\n src.removeListener(\"data\", ondata);\n cleanedUp = true;\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on(\"data\", ondata);\n function ondata(chunk) {\n $9845726cca5dc7eb$var$debug(\"ondata\");\n var ret = dest.write(chunk);\n $9845726cca5dc7eb$var$debug(\"dest.write\", ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && $9845726cca5dc7eb$var$indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n $9845726cca5dc7eb$var$debug(\"false write response, pause\", state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n $9845726cca5dc7eb$var$debug(\"onerror\", er);\n unpipe();\n dest.removeListener(\"error\", onerror);\n if ($9845726cca5dc7eb$var$EElistenerCount(dest, \"error\") === 0) $9845726cca5dc7eb$var$errorOrDestroy(dest, er);\n }\n // Make sure our error handler is attached before userland ones.\n $9845726cca5dc7eb$var$prependListener(dest, \"error\", onerror);\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener(\"finish\", onfinish);\n unpipe();\n }\n dest.once(\"close\", onclose);\n function onfinish() {\n $9845726cca5dc7eb$var$debug(\"onfinish\");\n dest.removeListener(\"close\", onclose);\n unpipe();\n }\n dest.once(\"finish\", onfinish);\n function unpipe() {\n $9845726cca5dc7eb$var$debug(\"unpipe\");\n src.unpipe(dest);\n }\n // tell the dest that it's being piped to\n dest.emit(\"pipe\", src);\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n $9845726cca5dc7eb$var$debug(\"pipe resume\");\n src.resume();\n }\n return dest;\n};\nfunction $9845726cca5dc7eb$var$pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n $9845726cca5dc7eb$var$debug(\"pipeOnDrain\", state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && $9845726cca5dc7eb$var$EElistenerCount(src, \"data\")) {\n state.flowing = true;\n $9845726cca5dc7eb$var$flow(src);\n }\n };\n}\n$9845726cca5dc7eb$var$Readable.prototype.unpipe = function(dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit(\"unpipe\", this, unpipeInfo);\n return this;\n }\n // slow case. multiple pipe destinations.\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for(var i = 0; i < len; i++)dests[i].emit(\"unpipe\", this, {\n hasUnpiped: false\n });\n return this;\n }\n // try to find the right one.\n var index = $9845726cca5dc7eb$var$indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit(\"unpipe\", this, unpipeInfo);\n return this;\n};\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\n$9845726cca5dc7eb$var$Readable.prototype.on = function(ev, fn) {\n var res = $jfAlf.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === \"data\") {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount(\"readable\") > 0;\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === \"readable\") {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n $9845726cca5dc7eb$var$debug(\"on readable\", state.length, state.reading);\n if (state.length) $9845726cca5dc7eb$var$emitReadable(this);\n else if (!state.reading) $hPtJY.nextTick($9845726cca5dc7eb$var$nReadingNextTick, this);\n }\n }\n return res;\n};\n$9845726cca5dc7eb$var$Readable.prototype.addListener = $9845726cca5dc7eb$var$Readable.prototype.on;\n$9845726cca5dc7eb$var$Readable.prototype.removeListener = function(ev, fn) {\n var res = $jfAlf.prototype.removeListener.call(this, ev, fn);\n if (ev === \"readable\") // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n $hPtJY.nextTick($9845726cca5dc7eb$var$updateReadableListening, this);\n return res;\n};\n$9845726cca5dc7eb$var$Readable.prototype.removeAllListeners = function(ev) {\n var res = $jfAlf.prototype.removeAllListeners.apply(this, arguments);\n if (ev === \"readable\" || ev === undefined) // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n $hPtJY.nextTick($9845726cca5dc7eb$var$updateReadableListening, this);\n return res;\n};\nfunction $9845726cca5dc7eb$var$updateReadableListening(self1) {\n var state = self1._readableState;\n state.readableListening = self1.listenerCount(\"readable\") > 0;\n if (state.resumeScheduled && !state.paused) // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n else if (self1.listenerCount(\"data\") > 0) self1.resume();\n}\nfunction $9845726cca5dc7eb$var$nReadingNextTick(self1) {\n $9845726cca5dc7eb$var$debug(\"readable nexttick read 0\");\n self1.read(0);\n}\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\n$9845726cca5dc7eb$var$Readable.prototype.resume = function() {\n var state = this._readableState;\n if (!state.flowing) {\n $9845726cca5dc7eb$var$debug(\"resume\");\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n $9845726cca5dc7eb$var$resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction $9845726cca5dc7eb$var$resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n $hPtJY.nextTick($9845726cca5dc7eb$var$resume_, stream, state);\n }\n}\nfunction $9845726cca5dc7eb$var$resume_(stream, state) {\n $9845726cca5dc7eb$var$debug(\"resume\", state.reading);\n if (!state.reading) stream.read(0);\n state.resumeScheduled = false;\n stream.emit(\"resume\");\n $9845726cca5dc7eb$var$flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\n$9845726cca5dc7eb$var$Readable.prototype.pause = function() {\n $9845726cca5dc7eb$var$debug(\"call pause flowing=%j\", this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n $9845726cca5dc7eb$var$debug(\"pause\");\n this._readableState.flowing = false;\n this.emit(\"pause\");\n }\n this._readableState.paused = true;\n return this;\n};\nfunction $9845726cca5dc7eb$var$flow(stream) {\n var state = stream._readableState;\n $9845726cca5dc7eb$var$debug(\"flow\", state.flowing);\n while(state.flowing && stream.read() !== null);\n}\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\n$9845726cca5dc7eb$var$Readable.prototype.wrap = function(stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on(\"end\", function() {\n $9845726cca5dc7eb$var$debug(\"wrapped end\");\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on(\"data\", function(chunk) {\n $9845726cca5dc7eb$var$debug(\"wrapped data\");\n if (state.decoder) chunk = state.decoder.write(chunk);\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;\n else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for(var i in stream)if (this[i] === undefined && typeof stream[i] === \"function\") this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n // proxy certain important events.\n for(var n = 0; n < $9845726cca5dc7eb$var$kProxyEvents.length; n++)stream.on($9845726cca5dc7eb$var$kProxyEvents[n], this.emit.bind(this, $9845726cca5dc7eb$var$kProxyEvents[n]));\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function(n) {\n $9845726cca5dc7eb$var$debug(\"wrapped _read\", n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\n\nif (typeof Symbol === \"function\") $9845726cca5dc7eb$var$Readable.prototype[Symbol.asyncIterator] = function() {\n if ($9845726cca5dc7eb$var$createReadableStreamAsyncIterator === undefined) $9845726cca5dc7eb$var$createReadableStreamAsyncIterator = (parcelRequire(\"2UdT6\"));\n return $9845726cca5dc7eb$var$createReadableStreamAsyncIterator(this);\n};\nObject.defineProperty($9845726cca5dc7eb$var$Readable.prototype, \"readableHighWaterMark\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty($9845726cca5dc7eb$var$Readable.prototype, \"readableBuffer\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty($9845726cca5dc7eb$var$Readable.prototype, \"readableFlowing\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) this._readableState.flowing = state;\n }\n});\n// exposed for testing purposes only.\n$9845726cca5dc7eb$var$Readable._fromList = $9845726cca5dc7eb$var$fromList;\nObject.defineProperty($9845726cca5dc7eb$var$Readable.prototype, \"readableLength\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction $9845726cca5dc7eb$var$fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();\n else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join(\"\");\n else if (state.buffer.length === 1) ret = state.buffer.first();\n else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else // read part of list\n ret = state.buffer.consume(n, state.decoder);\n return ret;\n}\nfunction $9845726cca5dc7eb$var$endReadable(stream) {\n var state = stream._readableState;\n $9845726cca5dc7eb$var$debug(\"endReadable\", state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n $hPtJY.nextTick($9845726cca5dc7eb$var$endReadableNT, state, stream);\n }\n}\nfunction $9845726cca5dc7eb$var$endReadableNT(state, stream) {\n $9845726cca5dc7eb$var$debug(\"endReadableNT\", state.endEmitted, state.length);\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit(\"end\");\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) stream.destroy();\n }\n }\n}\n\nif (typeof Symbol === \"function\") $9845726cca5dc7eb$var$Readable.from = function(iterable, opts) {\n if ($9845726cca5dc7eb$var$from === undefined) $9845726cca5dc7eb$var$from = (parcelRequire(\"e6P81\"));\n return $9845726cca5dc7eb$var$from($9845726cca5dc7eb$var$Readable, iterable, opts);\n};\nfunction $9845726cca5dc7eb$var$indexOf(xs, x) {\n for(var i = 0, l = xs.length; i < l; i++){\n if (xs[i] === x) return i;\n }\n return -1;\n}\n\n});\nparcelRequire.register(\"7etJZ\", function(module, exports) {\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\"use strict\";\nvar $5440e9199a418654$var$R = typeof Reflect === \"object\" ? Reflect : null;\nvar $5440e9199a418654$var$ReflectApply = $5440e9199a418654$var$R && typeof $5440e9199a418654$var$R.apply === \"function\" ? $5440e9199a418654$var$R.apply : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n};\nvar $5440e9199a418654$var$ReflectOwnKeys;\nif ($5440e9199a418654$var$R && typeof $5440e9199a418654$var$R.ownKeys === \"function\") $5440e9199a418654$var$ReflectOwnKeys = $5440e9199a418654$var$R.ownKeys;\nelse if (Object.getOwnPropertySymbols) $5440e9199a418654$var$ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n};\nelse $5440e9199a418654$var$ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n};\nfunction $5440e9199a418654$var$ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\nvar $5440e9199a418654$var$NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n};\nfunction $5440e9199a418654$var$EventEmitter() {\n $5440e9199a418654$var$EventEmitter.init.call(this);\n}\nmodule.exports = $5440e9199a418654$var$EventEmitter;\nmodule.exports.once = $5440e9199a418654$var$once;\n// Backwards-compat with node 0.10.x\n$5440e9199a418654$var$EventEmitter.EventEmitter = $5440e9199a418654$var$EventEmitter;\n$5440e9199a418654$var$EventEmitter.prototype._events = undefined;\n$5440e9199a418654$var$EventEmitter.prototype._eventsCount = 0;\n$5440e9199a418654$var$EventEmitter.prototype._maxListeners = undefined;\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar $5440e9199a418654$var$defaultMaxListeners = 10;\nfunction $5440e9199a418654$var$checkListener(listener) {\n if (typeof listener !== \"function\") throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n}\nObject.defineProperty($5440e9199a418654$var$EventEmitter, \"defaultMaxListeners\", {\n enumerable: true,\n get: function() {\n return $5440e9199a418654$var$defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== \"number\" || arg < 0 || $5440e9199a418654$var$NumberIsNaN(arg)) throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + \".\");\n $5440e9199a418654$var$defaultMaxListeners = arg;\n }\n});\n$5440e9199a418654$var$EventEmitter.init = function() {\n if (this._events === undefined || this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n this._maxListeners = this._maxListeners || undefined;\n};\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\n$5440e9199a418654$var$EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== \"number\" || n < 0 || $5440e9199a418654$var$NumberIsNaN(n)) throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + \".\");\n this._maxListeners = n;\n return this;\n};\nfunction $5440e9199a418654$var$_getMaxListeners(that) {\n if (that._maxListeners === undefined) return $5440e9199a418654$var$EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n$5440e9199a418654$var$EventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return $5440e9199a418654$var$_getMaxListeners(this);\n};\n$5440e9199a418654$var$EventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for(var i = 1; i < arguments.length; i++)args.push(arguments[i]);\n var doError = type === \"error\";\n var events = this._events;\n if (events !== undefined) doError = doError && events.error === undefined;\n else if (!doError) return false;\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0) er = args[0];\n if (er instanceof Error) // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n // At least give some kind of context to the user\n var err = new Error(\"Unhandled error.\" + (er ? \" (\" + er.message + \")\" : \"\"));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n var handler = events[type];\n if (handler === undefined) return false;\n if (typeof handler === \"function\") $5440e9199a418654$var$ReflectApply(handler, this, args);\n else {\n var len = handler.length;\n var listeners = $5440e9199a418654$var$arrayClone(handler, len);\n for(var i = 0; i < len; ++i)$5440e9199a418654$var$ReflectApply(listeners[i], this, args);\n }\n return true;\n};\nfunction $5440e9199a418654$var$_addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n $5440e9199a418654$var$checkListener(listener);\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit(\"newListener\", type, listener.listener ? listener.listener : listener);\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === \"function\") // Adding the second element, need to change to array.\n existing = events[type] = prepend ? [\n listener,\n existing\n ] : [\n existing,\n listener\n ];\n else if (prepend) existing.unshift(listener);\n else existing.push(listener);\n // Check for listener leak\n m = $5440e9199a418654$var$_getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error(\"Possible EventEmitter memory leak detected. \" + existing.length + \" \" + String(type) + \" listeners \" + \"added. Use emitter.setMaxListeners() to \" + \"increase limit\");\n w.name = \"MaxListenersExceededWarning\";\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n $5440e9199a418654$var$ProcessEmitWarning(w);\n }\n }\n return target;\n}\n$5440e9199a418654$var$EventEmitter.prototype.addListener = function addListener(type, listener) {\n return $5440e9199a418654$var$_addListener(this, type, listener, false);\n};\n$5440e9199a418654$var$EventEmitter.prototype.on = $5440e9199a418654$var$EventEmitter.prototype.addListener;\n$5440e9199a418654$var$EventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return $5440e9199a418654$var$_addListener(this, type, listener, true);\n};\nfunction $5440e9199a418654$var$onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0) return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\nfunction $5440e9199a418654$var$_onceWrap(target, type, listener) {\n var state = {\n fired: false,\n wrapFn: undefined,\n target: target,\n type: type,\n listener: listener\n };\n var wrapped = $5440e9199a418654$var$onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n$5440e9199a418654$var$EventEmitter.prototype.once = function once(type, listener) {\n $5440e9199a418654$var$checkListener(listener);\n this.on(type, $5440e9199a418654$var$_onceWrap(this, type, listener));\n return this;\n};\n$5440e9199a418654$var$EventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n $5440e9199a418654$var$checkListener(listener);\n this.prependListener(type, $5440e9199a418654$var$_onceWrap(this, type, listener));\n return this;\n};\n// Emits a 'removeListener' event if and only if the listener was removed.\n$5440e9199a418654$var$EventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n $5440e9199a418654$var$checkListener(listener);\n events = this._events;\n if (events === undefined) return this;\n list = events[type];\n if (list === undefined) return this;\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0) this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener) this.emit(\"removeListener\", type, list.listener || listener);\n }\n } else if (typeof list !== \"function\") {\n position = -1;\n for(i = list.length - 1; i >= 0; i--)if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n if (position < 0) return this;\n if (position === 0) list.shift();\n else $5440e9199a418654$var$spliceOne(list, position);\n if (list.length === 1) events[type] = list[0];\n if (events.removeListener !== undefined) this.emit(\"removeListener\", type, originalListener || listener);\n }\n return this;\n};\n$5440e9199a418654$var$EventEmitter.prototype.off = $5440e9199a418654$var$EventEmitter.prototype.removeListener;\n$5440e9199a418654$var$EventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === undefined) return this;\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0) this._events = Object.create(null);\n else delete events[type];\n }\n return this;\n }\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for(i = 0; i < keys.length; ++i){\n key = keys[i];\n if (key === \"removeListener\") continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners(\"removeListener\");\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n listeners = events[type];\n if (typeof listeners === \"function\") this.removeListener(type, listeners);\n else if (listeners !== undefined) // LIFO order\n for(i = listeners.length - 1; i >= 0; i--)this.removeListener(type, listeners[i]);\n return this;\n};\nfunction $5440e9199a418654$var$_listeners(target, type, unwrap) {\n var events = target._events;\n if (events === undefined) return [];\n var evlistener = events[type];\n if (evlistener === undefined) return [];\n if (typeof evlistener === \"function\") return unwrap ? [\n evlistener.listener || evlistener\n ] : [\n evlistener\n ];\n return unwrap ? $5440e9199a418654$var$unwrapListeners(evlistener) : $5440e9199a418654$var$arrayClone(evlistener, evlistener.length);\n}\n$5440e9199a418654$var$EventEmitter.prototype.listeners = function listeners(type) {\n return $5440e9199a418654$var$_listeners(this, type, true);\n};\n$5440e9199a418654$var$EventEmitter.prototype.rawListeners = function rawListeners(type) {\n return $5440e9199a418654$var$_listeners(this, type, false);\n};\n$5440e9199a418654$var$EventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === \"function\") return emitter.listenerCount(type);\n else return $5440e9199a418654$var$listenerCount.call(emitter, type);\n};\n$5440e9199a418654$var$EventEmitter.prototype.listenerCount = $5440e9199a418654$var$listenerCount;\nfunction $5440e9199a418654$var$listenerCount(type) {\n var events = this._events;\n if (events !== undefined) {\n var evlistener = events[type];\n if (typeof evlistener === \"function\") return 1;\n else if (evlistener !== undefined) return evlistener.length;\n }\n return 0;\n}\n$5440e9199a418654$var$EventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? $5440e9199a418654$var$ReflectOwnKeys(this._events) : [];\n};\nfunction $5440e9199a418654$var$arrayClone(arr, n) {\n var copy = new Array(n);\n for(var i = 0; i < n; ++i)copy[i] = arr[i];\n return copy;\n}\nfunction $5440e9199a418654$var$spliceOne(list, index) {\n for(; index + 1 < list.length; index++)list[index] = list[index + 1];\n list.pop();\n}\nfunction $5440e9199a418654$var$unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for(var i = 0; i < ret.length; ++i)ret[i] = arr[i].listener || arr[i];\n return ret;\n}\nfunction $5440e9199a418654$var$once(emitter, name) {\n return new Promise(function(resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n function resolver() {\n if (typeof emitter.removeListener === \"function\") emitter.removeListener(\"error\", errorListener);\n resolve([].slice.call(arguments));\n }\n $5440e9199a418654$var$eventTargetAgnosticAddListener(emitter, name, resolver, {\n once: true\n });\n if (name !== \"error\") $5440e9199a418654$var$addErrorHandlerIfEventEmitter(emitter, errorListener, {\n once: true\n });\n });\n}\nfunction $5440e9199a418654$var$addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === \"function\") $5440e9199a418654$var$eventTargetAgnosticAddListener(emitter, \"error\", handler, flags);\n}\nfunction $5440e9199a418654$var$eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === \"function\") {\n if (flags.once) emitter.once(name, listener);\n else emitter.on(name, listener);\n } else if (typeof emitter.addEventListener === \"function\") // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) emitter.removeEventListener(name, wrapListener);\n listener(arg);\n });\n else throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n}\n\n});\n\nparcelRequire.register(\"jfAlf\", function(module, exports) {\n\nmodule.exports = (parcelRequire(\"7etJZ\")).EventEmitter;\n\n});\n\nparcelRequire.register(\"bF5dL\", function(module, exports) {\n\"use strict\";\nfunction $87d792cd1b95f90e$var$ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function(sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction $87d792cd1b95f90e$var$_objectSpread(target) {\n for(var i = 1; i < arguments.length; i++){\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? $87d792cd1b95f90e$var$ownKeys(Object(source), !0).forEach(function(key) {\n $87d792cd1b95f90e$var$_defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : $87d792cd1b95f90e$var$ownKeys(Object(source)).forEach(function(key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction $87d792cd1b95f90e$var$_defineProperty(obj, key, value) {\n key = $87d792cd1b95f90e$var$_toPropertyKey(key);\n if (key in obj) Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n else obj[key] = value;\n return obj;\n}\nfunction $87d792cd1b95f90e$var$_classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\nfunction $87d792cd1b95f90e$var$_defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, $87d792cd1b95f90e$var$_toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction $87d792cd1b95f90e$var$_createClass(Constructor, protoProps, staticProps) {\n if (protoProps) $87d792cd1b95f90e$var$_defineProperties(Constructor.prototype, protoProps);\n if (staticProps) $87d792cd1b95f90e$var$_defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction $87d792cd1b95f90e$var$_toPropertyKey(arg) {\n var key = $87d792cd1b95f90e$var$_toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\nfunction $87d792cd1b95f90e$var$_toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $87d792cd1b95f90e$var$Buffer = $6ZWSX.Buffer;\n\nvar $kjyEk = parcelRequire(\"kjyEk\");\nvar $87d792cd1b95f90e$var$inspect = $kjyEk.inspect;\nvar $87d792cd1b95f90e$var$custom = $87d792cd1b95f90e$var$inspect && $87d792cd1b95f90e$var$inspect.custom || \"inspect\";\nfunction $87d792cd1b95f90e$var$copyBuffer(src, target, offset) {\n $87d792cd1b95f90e$var$Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/ function() {\n function BufferList() {\n $87d792cd1b95f90e$var$_classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n $87d792cd1b95f90e$var$_createClass(BufferList, [\n {\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;\n else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n },\n {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n },\n {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;\n else this.head = this.head.next;\n --this.length;\n return ret;\n }\n },\n {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n },\n {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return \"\";\n var p = this.head;\n var ret = \"\" + p.data;\n while(p = p.next)ret += s + p.data;\n return ret;\n }\n },\n {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return $87d792cd1b95f90e$var$Buffer.alloc(0);\n var ret = $87d792cd1b95f90e$var$Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while(p){\n $87d792cd1b95f90e$var$copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n },\n {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) // First chunk is a perfect match.\n ret = this.shift();\n else // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n return ret;\n }\n },\n {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n },\n {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while(p = p.next){\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;\n else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;\n else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n },\n {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = $87d792cd1b95f90e$var$Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while(p = p.next){\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;\n else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n },\n {\n key: $87d792cd1b95f90e$var$custom,\n value: function value(_, options) {\n return $87d792cd1b95f90e$var$inspect(this, $87d792cd1b95f90e$var$_objectSpread($87d792cd1b95f90e$var$_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }\n ]);\n return BufferList;\n}();\n\n});\n\nparcelRequire.register(\"fMCbt\", function(module, exports) {\n\nvar $hPtJY = parcelRequire(\"hPtJY\");\n\"use strict\";\n// undocumented cb() API, needed for core, not for public API\nfunction $b7d8f541ca4a3ff5$var$destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) cb(err);\n else if (err) {\n if (!this._writableState) $hPtJY.nextTick($b7d8f541ca4a3ff5$var$emitErrorNT, this, err);\n else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n $hPtJY.nextTick($b7d8f541ca4a3ff5$var$emitErrorNT, this, err);\n }\n }\n return this;\n }\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n if (this._readableState) this._readableState.destroyed = true;\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) this._writableState.destroyed = true;\n this._destroy(err || null, function(err) {\n if (!cb && err) {\n if (!_this._writableState) $hPtJY.nextTick($b7d8f541ca4a3ff5$var$emitErrorAndCloseNT, _this, err);\n else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n $hPtJY.nextTick($b7d8f541ca4a3ff5$var$emitErrorAndCloseNT, _this, err);\n } else $hPtJY.nextTick($b7d8f541ca4a3ff5$var$emitCloseNT, _this);\n } else if (cb) {\n $hPtJY.nextTick($b7d8f541ca4a3ff5$var$emitCloseNT, _this);\n cb(err);\n } else $hPtJY.nextTick($b7d8f541ca4a3ff5$var$emitCloseNT, _this);\n });\n return this;\n}\nfunction $b7d8f541ca4a3ff5$var$emitErrorAndCloseNT(self, err) {\n $b7d8f541ca4a3ff5$var$emitErrorNT(self, err);\n $b7d8f541ca4a3ff5$var$emitCloseNT(self);\n}\nfunction $b7d8f541ca4a3ff5$var$emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit(\"close\");\n}\nfunction $b7d8f541ca4a3ff5$var$undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction $b7d8f541ca4a3ff5$var$emitErrorNT(self, err) {\n self.emit(\"error\", err);\n}\nfunction $b7d8f541ca4a3ff5$var$errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);\n else stream.emit(\"error\", err);\n}\nmodule.exports = {\n destroy: $b7d8f541ca4a3ff5$var$destroy,\n undestroy: $b7d8f541ca4a3ff5$var$undestroy,\n errorOrDestroy: $b7d8f541ca4a3ff5$var$errorOrDestroy\n};\n\n});\n\nparcelRequire.register(\"04a3B\", function(module, exports) {\n\"use strict\";\n\nvar $6JySE = parcelRequire(\"6JySE\");\nvar $00c82cf8dac417cf$var$ERR_INVALID_OPT_VALUE = $6JySE.codes.ERR_INVALID_OPT_VALUE;\nfunction $00c82cf8dac417cf$var$highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction $00c82cf8dac417cf$var$getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = $00c82cf8dac417cf$var$highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : \"highWaterMark\";\n throw new $00c82cf8dac417cf$var$ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n // Default value\n return state.objectMode ? 16 : 16384;\n}\nmodule.exports = {\n getHighWaterMark: $00c82cf8dac417cf$var$getHighWaterMark\n};\n\n});\nparcelRequire.register(\"6JySE\", function(module, exports) {\n\n$parcel$export(module.exports, \"codes\", () => $4e720097bc0bc9d8$export$e45cb6485273080e, (v) => $4e720097bc0bc9d8$export$e45cb6485273080e = v);\nvar $4e720097bc0bc9d8$export$e45cb6485273080e;\n\"use strict\";\nfunction $4e720097bc0bc9d8$var$_inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n subClass.__proto__ = superClass;\n}\nvar $4e720097bc0bc9d8$var$codes = {};\nfunction $4e720097bc0bc9d8$var$createErrorType(code, message, Base) {\n if (!Base) Base = Error;\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === \"string\") return message;\n else return message(arg1, arg2, arg3);\n }\n var NodeError = /*#__PURE__*/ function(_Base) {\n $4e720097bc0bc9d8$var$_inheritsLoose(NodeError, _Base);\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n return NodeError;\n }(Base);\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n $4e720097bc0bc9d8$var$codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\nfunction $4e720097bc0bc9d8$var$oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function(i) {\n return String(i);\n });\n if (len > 2) return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(\", \"), \", or \") + expected[len - 1];\n else if (len === 2) return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n else return \"of \".concat(thing, \" \").concat(expected[0]);\n } else return \"of \".concat(thing, \" \").concat(String(expected));\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\nfunction $4e720097bc0bc9d8$var$startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\nfunction $4e720097bc0bc9d8$var$endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) this_len = str.length;\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\nfunction $4e720097bc0bc9d8$var$includes(str, search, start) {\n if (typeof start !== \"number\") start = 0;\n if (start + search.length > str.length) return false;\n else return str.indexOf(search, start) !== -1;\n}\n$4e720097bc0bc9d8$var$createErrorType(\"ERR_INVALID_OPT_VALUE\", function(name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\n$4e720097bc0bc9d8$var$createErrorType(\"ERR_INVALID_ARG_TYPE\", function(name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n if (typeof expected === \"string\" && $4e720097bc0bc9d8$var$startsWith(expected, \"not \")) {\n determiner = \"must not be\";\n expected = expected.replace(/^not /, \"\");\n } else determiner = \"must be\";\n var msg;\n if ($4e720097bc0bc9d8$var$endsWith(name, \" argument\")) // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat($4e720097bc0bc9d8$var$oneOf(expected, \"type\"));\n else {\n var type = $4e720097bc0bc9d8$var$includes(name, \".\") ? \"property\" : \"argument\";\n msg = 'The \"'.concat(name, '\" ').concat(type, \" \").concat(determiner, \" \").concat($4e720097bc0bc9d8$var$oneOf(expected, \"type\"));\n }\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\n$4e720097bc0bc9d8$var$createErrorType(\"ERR_STREAM_PUSH_AFTER_EOF\", \"stream.push() after EOF\");\n$4e720097bc0bc9d8$var$createErrorType(\"ERR_METHOD_NOT_IMPLEMENTED\", function(name) {\n return \"The \" + name + \" method is not implemented\";\n});\n$4e720097bc0bc9d8$var$createErrorType(\"ERR_STREAM_PREMATURE_CLOSE\", \"Premature close\");\n$4e720097bc0bc9d8$var$createErrorType(\"ERR_STREAM_DESTROYED\", function(name) {\n return \"Cannot call \" + name + \" after a stream was destroyed\";\n});\n$4e720097bc0bc9d8$var$createErrorType(\"ERR_MULTIPLE_CALLBACK\", \"Callback called multiple times\");\n$4e720097bc0bc9d8$var$createErrorType(\"ERR_STREAM_CANNOT_PIPE\", \"Cannot pipe, not readable\");\n$4e720097bc0bc9d8$var$createErrorType(\"ERR_STREAM_WRITE_AFTER_END\", \"write after end\");\n$4e720097bc0bc9d8$var$createErrorType(\"ERR_STREAM_NULL_VALUES\", \"May not write null values to stream\", TypeError);\n$4e720097bc0bc9d8$var$createErrorType(\"ERR_UNKNOWN_ENCODING\", function(arg) {\n return \"Unknown encoding: \" + arg;\n}, TypeError);\n$4e720097bc0bc9d8$var$createErrorType(\"ERR_STREAM_UNSHIFT_AFTER_END_EVENT\", \"stream.unshift() after end event\");\n$4e720097bc0bc9d8$export$e45cb6485273080e = $4e720097bc0bc9d8$var$codes;\n\n});\n\n\nparcelRequire.register(\"DwJuQ\", function(module, exports) {\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\nvar $hPtJY = parcelRequire(\"hPtJY\");\n\"use strict\";\n/**/ var $076d08b0309449dc$var$objectKeys = Object.keys || function(obj) {\n var keys = [];\n for(var key in obj)keys.push(key);\n return keys;\n};\n/**/ module.exports = $076d08b0309449dc$var$Duplex;\n\nvar $d4xg3 = parcelRequire(\"d4xg3\");\n\nvar $3LwY7 = parcelRequire(\"3LwY7\");\n\n(parcelRequire(\"dlqwk\"))($076d08b0309449dc$var$Duplex, $d4xg3);\n// Allow the keys array to be GC'ed.\nvar $076d08b0309449dc$var$keys = $076d08b0309449dc$var$objectKeys($3LwY7.prototype);\nfor(var $076d08b0309449dc$var$v = 0; $076d08b0309449dc$var$v < $076d08b0309449dc$var$keys.length; $076d08b0309449dc$var$v++){\n var $076d08b0309449dc$var$method = $076d08b0309449dc$var$keys[$076d08b0309449dc$var$v];\n if (!$076d08b0309449dc$var$Duplex.prototype[$076d08b0309449dc$var$method]) $076d08b0309449dc$var$Duplex.prototype[$076d08b0309449dc$var$method] = $3LwY7.prototype[$076d08b0309449dc$var$method];\n}\nfunction $076d08b0309449dc$var$Duplex(options) {\n if (!(this instanceof $076d08b0309449dc$var$Duplex)) return new $076d08b0309449dc$var$Duplex(options);\n $d4xg3.call(this, options);\n $3LwY7.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once(\"end\", $076d08b0309449dc$var$onend);\n }\n }\n}\nObject.defineProperty($076d08b0309449dc$var$Duplex.prototype, \"writableHighWaterMark\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty($076d08b0309449dc$var$Duplex.prototype, \"writableBuffer\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty($076d08b0309449dc$var$Duplex.prototype, \"writableLength\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n// the no-half-open enforcer\nfunction $076d08b0309449dc$var$onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n // no more data can be written.\n // But allow more writes to happen in this tick.\n $hPtJY.nextTick($076d08b0309449dc$var$onEndNT, this);\n}\nfunction $076d08b0309449dc$var$onEndNT(self) {\n self.end();\n}\nObject.defineProperty($076d08b0309449dc$var$Duplex.prototype, \"destroyed\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) return false;\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) return;\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});\n\n});\nparcelRequire.register(\"3LwY7\", function(module, exports) {\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\nvar $hPtJY = parcelRequire(\"hPtJY\");\n\"use strict\";\nmodule.exports = $2bdf55c2c4f390d3$var$Writable;\n/* */ function $2bdf55c2c4f390d3$var$WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction $2bdf55c2c4f390d3$var$CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function() {\n $2bdf55c2c4f390d3$var$onCorkedFinish(_this, state);\n };\n}\n/* */ /**/ var $2bdf55c2c4f390d3$var$Duplex;\n/**/ $2bdf55c2c4f390d3$var$Writable.WritableState = $2bdf55c2c4f390d3$var$WritableState;\n\n/**/ var $2bdf55c2c4f390d3$var$internalUtil = {\n deprecate: (parcelRequire(\"39vsn\"))\n};\n\nvar $jfAlf = parcelRequire(\"jfAlf\");\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $2bdf55c2c4f390d3$require$Buffer = $6ZWSX.Buffer;\nvar $2bdf55c2c4f390d3$var$OurUint8Array = (typeof $parcel$global !== \"undefined\" ? $parcel$global : typeof window !== \"undefined\" ? window : typeof self !== \"undefined\" ? self : {}).Uint8Array || function() {};\nfunction $2bdf55c2c4f390d3$var$_uint8ArrayToBuffer(chunk) {\n return $2bdf55c2c4f390d3$require$Buffer.from(chunk);\n}\nfunction $2bdf55c2c4f390d3$var$_isUint8Array(obj) {\n return $2bdf55c2c4f390d3$require$Buffer.isBuffer(obj) || obj instanceof $2bdf55c2c4f390d3$var$OurUint8Array;\n}\n\nvar $fMCbt = parcelRequire(\"fMCbt\");\n\nvar $04a3B = parcelRequire(\"04a3B\");\nvar $2bdf55c2c4f390d3$var$getHighWaterMark = $04a3B.getHighWaterMark;\n\nvar $6JySE = parcelRequire(\"6JySE\");\nvar $2bdf55c2c4f390d3$require$_require$codes = $6JySE.codes;\nvar $2bdf55c2c4f390d3$var$ERR_INVALID_ARG_TYPE = $2bdf55c2c4f390d3$require$_require$codes.ERR_INVALID_ARG_TYPE, $2bdf55c2c4f390d3$var$ERR_METHOD_NOT_IMPLEMENTED = $2bdf55c2c4f390d3$require$_require$codes.ERR_METHOD_NOT_IMPLEMENTED, $2bdf55c2c4f390d3$var$ERR_MULTIPLE_CALLBACK = $2bdf55c2c4f390d3$require$_require$codes.ERR_MULTIPLE_CALLBACK, $2bdf55c2c4f390d3$var$ERR_STREAM_CANNOT_PIPE = $2bdf55c2c4f390d3$require$_require$codes.ERR_STREAM_CANNOT_PIPE, $2bdf55c2c4f390d3$var$ERR_STREAM_DESTROYED = $2bdf55c2c4f390d3$require$_require$codes.ERR_STREAM_DESTROYED, $2bdf55c2c4f390d3$var$ERR_STREAM_NULL_VALUES = $2bdf55c2c4f390d3$require$_require$codes.ERR_STREAM_NULL_VALUES, $2bdf55c2c4f390d3$var$ERR_STREAM_WRITE_AFTER_END = $2bdf55c2c4f390d3$require$_require$codes.ERR_STREAM_WRITE_AFTER_END, $2bdf55c2c4f390d3$var$ERR_UNKNOWN_ENCODING = $2bdf55c2c4f390d3$require$_require$codes.ERR_UNKNOWN_ENCODING;\nvar $2bdf55c2c4f390d3$var$errorOrDestroy = $fMCbt.errorOrDestroy;\n\n(parcelRequire(\"dlqwk\"))($2bdf55c2c4f390d3$var$Writable, $jfAlf);\nfunction $2bdf55c2c4f390d3$var$nop() {}\n\nfunction $2bdf55c2c4f390d3$var$WritableState(options, stream, isDuplex) {\n $2bdf55c2c4f390d3$var$Duplex = $2bdf55c2c4f390d3$var$Duplex || (parcelRequire(\"DwJuQ\"));\n options = options || {};\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== \"boolean\") isDuplex = stream instanceof $2bdf55c2c4f390d3$var$Duplex;\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = $2bdf55c2c4f390d3$var$getHighWaterMark(this, options, \"writableHighWaterMark\", isDuplex);\n // if _final has been called\n this.finalCalled = false;\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n // has it been destroyed\n this.destroyed = false;\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || \"utf8\";\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function(er) {\n $2bdf55c2c4f390d3$var$onwrite(stream, er);\n };\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n // count buffered requests\n this.bufferedRequestCount = 0;\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new $2bdf55c2c4f390d3$var$CorkedRequest(this);\n}\n$2bdf55c2c4f390d3$var$WritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while(current){\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function() {\n try {\n Object.defineProperty($2bdf55c2c4f390d3$var$WritableState.prototype, \"buffer\", {\n get: $2bdf55c2c4f390d3$var$internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, \"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.\", \"DEP0003\")\n });\n } catch (_) {}\n})();\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar $2bdf55c2c4f390d3$var$realHasInstance;\nif (typeof Symbol === \"function\" && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === \"function\") {\n $2bdf55c2c4f390d3$var$realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty($2bdf55c2c4f390d3$var$Writable, Symbol.hasInstance, {\n value: function value(object) {\n if ($2bdf55c2c4f390d3$var$realHasInstance.call(this, object)) return true;\n if (this !== $2bdf55c2c4f390d3$var$Writable) return false;\n return object && object._writableState instanceof $2bdf55c2c4f390d3$var$WritableState;\n }\n });\n} else $2bdf55c2c4f390d3$var$realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n};\n\nfunction $2bdf55c2c4f390d3$var$Writable(options) {\n $2bdf55c2c4f390d3$var$Duplex = $2bdf55c2c4f390d3$var$Duplex || (parcelRequire(\"DwJuQ\"));\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof $2bdf55c2c4f390d3$var$Duplex;\n if (!isDuplex && !$2bdf55c2c4f390d3$var$realHasInstance.call($2bdf55c2c4f390d3$var$Writable, this)) return new $2bdf55c2c4f390d3$var$Writable(options);\n this._writableState = new $2bdf55c2c4f390d3$var$WritableState(options, this, isDuplex);\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === \"function\") this._write = options.write;\n if (typeof options.writev === \"function\") this._writev = options.writev;\n if (typeof options.destroy === \"function\") this._destroy = options.destroy;\n if (typeof options.final === \"function\") this._final = options.final;\n }\n $jfAlf.call(this);\n}\n// Otherwise people can pipe Writable streams, which is just wrong.\n$2bdf55c2c4f390d3$var$Writable.prototype.pipe = function() {\n $2bdf55c2c4f390d3$var$errorOrDestroy(this, new $2bdf55c2c4f390d3$var$ERR_STREAM_CANNOT_PIPE());\n};\nfunction $2bdf55c2c4f390d3$var$writeAfterEnd(stream, cb) {\n var er = new $2bdf55c2c4f390d3$var$ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n $2bdf55c2c4f390d3$var$errorOrDestroy(stream, er);\n $hPtJY.nextTick(cb, er);\n}\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction $2bdf55c2c4f390d3$var$validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) er = new $2bdf55c2c4f390d3$var$ERR_STREAM_NULL_VALUES();\n else if (typeof chunk !== \"string\" && !state.objectMode) er = new $2bdf55c2c4f390d3$var$ERR_INVALID_ARG_TYPE(\"chunk\", [\n \"string\",\n \"Buffer\"\n ], chunk);\n if (er) {\n $2bdf55c2c4f390d3$var$errorOrDestroy(stream, er);\n $hPtJY.nextTick(cb, er);\n return false;\n }\n return true;\n}\n$2bdf55c2c4f390d3$var$Writable.prototype.write = function(chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && $2bdf55c2c4f390d3$var$_isUint8Array(chunk);\n if (isBuf && !$2bdf55c2c4f390d3$require$Buffer.isBuffer(chunk)) chunk = $2bdf55c2c4f390d3$var$_uint8ArrayToBuffer(chunk);\n if (typeof encoding === \"function\") {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = \"buffer\";\n else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== \"function\") cb = $2bdf55c2c4f390d3$var$nop;\n if (state.ending) $2bdf55c2c4f390d3$var$writeAfterEnd(this, cb);\n else if (isBuf || $2bdf55c2c4f390d3$var$validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = $2bdf55c2c4f390d3$var$writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\n$2bdf55c2c4f390d3$var$Writable.prototype.cork = function() {\n this._writableState.corked++;\n};\n$2bdf55c2c4f390d3$var$Writable.prototype.uncork = function() {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) $2bdf55c2c4f390d3$var$clearBuffer(this, state);\n }\n};\n$2bdf55c2c4f390d3$var$Writable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === \"string\") encoding = encoding.toLowerCase();\n if (!([\n \"hex\",\n \"utf8\",\n \"utf-8\",\n \"ascii\",\n \"binary\",\n \"base64\",\n \"ucs2\",\n \"ucs-2\",\n \"utf16le\",\n \"utf-16le\",\n \"raw\"\n ].indexOf((encoding + \"\").toLowerCase()) > -1)) throw new $2bdf55c2c4f390d3$var$ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty($2bdf55c2c4f390d3$var$Writable.prototype, \"writableBuffer\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction $2bdf55c2c4f390d3$var$decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === \"string\") chunk = $2bdf55c2c4f390d3$require$Buffer.from(chunk, encoding);\n return chunk;\n}\nObject.defineProperty($2bdf55c2c4f390d3$var$Writable.prototype, \"writableHighWaterMark\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction $2bdf55c2c4f390d3$var$writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = $2bdf55c2c4f390d3$var$decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = \"buffer\";\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) last.next = state.lastBufferedRequest;\n else state.bufferedRequest = state.lastBufferedRequest;\n state.bufferedRequestCount += 1;\n } else $2bdf55c2c4f390d3$var$doWrite(stream, state, false, len, chunk, encoding, cb);\n return ret;\n}\nfunction $2bdf55c2c4f390d3$var$doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new $2bdf55c2c4f390d3$var$ERR_STREAM_DESTROYED(\"write\"));\n else if (writev) stream._writev(chunk, state.onwrite);\n else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction $2bdf55c2c4f390d3$var$onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n $hPtJY.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n $hPtJY.nextTick($2bdf55c2c4f390d3$var$finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n $2bdf55c2c4f390d3$var$errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n $2bdf55c2c4f390d3$var$errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n $2bdf55c2c4f390d3$var$finishMaybe(stream, state);\n }\n}\nfunction $2bdf55c2c4f390d3$var$onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction $2bdf55c2c4f390d3$var$onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== \"function\") throw new $2bdf55c2c4f390d3$var$ERR_MULTIPLE_CALLBACK();\n $2bdf55c2c4f390d3$var$onwriteStateUpdate(state);\n if (er) $2bdf55c2c4f390d3$var$onwriteError(stream, state, sync, er, cb);\n else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = $2bdf55c2c4f390d3$var$needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) $2bdf55c2c4f390d3$var$clearBuffer(stream, state);\n if (sync) $hPtJY.nextTick($2bdf55c2c4f390d3$var$afterWrite, stream, state, finished, cb);\n else $2bdf55c2c4f390d3$var$afterWrite(stream, state, finished, cb);\n }\n}\nfunction $2bdf55c2c4f390d3$var$afterWrite(stream, state, finished, cb) {\n if (!finished) $2bdf55c2c4f390d3$var$onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n $2bdf55c2c4f390d3$var$finishMaybe(stream, state);\n}\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction $2bdf55c2c4f390d3$var$onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit(\"drain\");\n }\n}\n// if there's something in the buffer waiting, then process it\nfunction $2bdf55c2c4f390d3$var$clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while(entry){\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n $2bdf55c2c4f390d3$var$doWrite(stream, state, true, state.length, buffer, \"\", holder.finish);\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else state.corkedRequestsFree = new $2bdf55c2c4f390d3$var$CorkedRequest(state);\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while(entry){\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n $2bdf55c2c4f390d3$var$doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) break;\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\n$2bdf55c2c4f390d3$var$Writable.prototype._write = function(chunk, encoding, cb) {\n cb(new $2bdf55c2c4f390d3$var$ERR_METHOD_NOT_IMPLEMENTED(\"_write()\"));\n};\n$2bdf55c2c4f390d3$var$Writable.prototype._writev = null;\n$2bdf55c2c4f390d3$var$Writable.prototype.end = function(chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === \"function\") {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === \"function\") {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n // ignore unnecessary end() calls.\n if (!state.ending) $2bdf55c2c4f390d3$var$endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty($2bdf55c2c4f390d3$var$Writable.prototype, \"writableLength\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction $2bdf55c2c4f390d3$var$needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction $2bdf55c2c4f390d3$var$callFinal(stream, state) {\n stream._final(function(err) {\n state.pendingcb--;\n if (err) $2bdf55c2c4f390d3$var$errorOrDestroy(stream, err);\n state.prefinished = true;\n stream.emit(\"prefinish\");\n $2bdf55c2c4f390d3$var$finishMaybe(stream, state);\n });\n}\nfunction $2bdf55c2c4f390d3$var$prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === \"function\" && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n $hPtJY.nextTick($2bdf55c2c4f390d3$var$callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit(\"prefinish\");\n }\n }\n}\nfunction $2bdf55c2c4f390d3$var$finishMaybe(stream, state) {\n var need = $2bdf55c2c4f390d3$var$needFinish(state);\n if (need) {\n $2bdf55c2c4f390d3$var$prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit(\"finish\");\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) stream.destroy();\n }\n }\n }\n return need;\n}\nfunction $2bdf55c2c4f390d3$var$endWritable(stream, state, cb) {\n state.ending = true;\n $2bdf55c2c4f390d3$var$finishMaybe(stream, state);\n if (cb) {\n if (state.finished) $hPtJY.nextTick(cb);\n else stream.once(\"finish\", cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction $2bdf55c2c4f390d3$var$onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while(entry){\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty($2bdf55c2c4f390d3$var$Writable.prototype, \"destroyed\", {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) return false;\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) return;\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\n$2bdf55c2c4f390d3$var$Writable.prototype.destroy = $fMCbt.destroy;\n$2bdf55c2c4f390d3$var$Writable.prototype._undestroy = $fMCbt.undestroy;\n$2bdf55c2c4f390d3$var$Writable.prototype._destroy = function(err, cb) {\n cb(err);\n};\n\n});\nparcelRequire.register(\"39vsn\", function(module, exports) {\n/**\n * Module exports.\n */ module.exports = $24ba9cfc39d77116$var$deprecate;\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */ function $24ba9cfc39d77116$var$deprecate(fn, msg) {\n if ($24ba9cfc39d77116$var$config(\"noDeprecation\")) return fn;\n var warned = false;\n function deprecated() {\n if (!warned) {\n if ($24ba9cfc39d77116$var$config(\"throwDeprecation\")) throw new Error(msg);\n else if ($24ba9cfc39d77116$var$config(\"traceDeprecation\")) console.trace(msg);\n else console.warn(msg);\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n return deprecated;\n}\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */ function $24ba9cfc39d77116$var$config(name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!$parcel$global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = $parcel$global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === \"true\";\n}\n\n});\n\n\n\nparcelRequire.register(\"eNRCS\", function(module, exports) {\n\n$parcel$export(module.exports, \"StringDecoder\", () => $ac6f3d51130904be$export$63a7aa211a91ed69, (v) => $ac6f3d51130904be$export$63a7aa211a91ed69 = v);\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nvar $ac6f3d51130904be$export$63a7aa211a91ed69;\n\"use strict\";\n\nvar $1U9GM = parcelRequire(\"1U9GM\");\nvar $ac6f3d51130904be$require$Buffer = $1U9GM.Buffer;\n/**/ var $ac6f3d51130904be$var$isEncoding = $ac6f3d51130904be$require$Buffer.isEncoding || function(encoding) {\n encoding = \"\" + encoding;\n switch(encoding && encoding.toLowerCase()){\n case \"hex\":\n case \"utf8\":\n case \"utf-8\":\n case \"ascii\":\n case \"binary\":\n case \"base64\":\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n case \"raw\":\n return true;\n default:\n return false;\n }\n};\nfunction $ac6f3d51130904be$var$_normalizeEncoding(enc) {\n if (!enc) return \"utf8\";\n var retried;\n while(true)switch(enc){\n case \"utf8\":\n case \"utf-8\":\n return \"utf8\";\n case \"ucs2\":\n case \"ucs-2\":\n case \"utf16le\":\n case \"utf-16le\":\n return \"utf16le\";\n case \"latin1\":\n case \"binary\":\n return \"latin1\";\n case \"base64\":\n case \"ascii\":\n case \"hex\":\n return enc;\n default:\n if (retried) return; // undefined\n enc = (\"\" + enc).toLowerCase();\n retried = true;\n }\n}\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction $ac6f3d51130904be$var$normalizeEncoding(enc) {\n var nenc = $ac6f3d51130904be$var$_normalizeEncoding(enc);\n if (typeof nenc !== \"string\" && ($ac6f3d51130904be$require$Buffer.isEncoding === $ac6f3d51130904be$var$isEncoding || !$ac6f3d51130904be$var$isEncoding(enc))) throw new Error(\"Unknown encoding: \" + enc);\n return nenc || enc;\n}\n$ac6f3d51130904be$export$63a7aa211a91ed69 = $ac6f3d51130904be$var$StringDecoder;\nfunction $ac6f3d51130904be$var$StringDecoder(encoding) {\n this.encoding = $ac6f3d51130904be$var$normalizeEncoding(encoding);\n var nb;\n switch(this.encoding){\n case \"utf16le\":\n this.text = $ac6f3d51130904be$var$utf16Text;\n this.end = $ac6f3d51130904be$var$utf16End;\n nb = 4;\n break;\n case \"utf8\":\n this.fillLast = $ac6f3d51130904be$var$utf8FillLast;\n nb = 4;\n break;\n case \"base64\":\n this.text = $ac6f3d51130904be$var$base64Text;\n this.end = $ac6f3d51130904be$var$base64End;\n nb = 3;\n break;\n default:\n this.write = $ac6f3d51130904be$var$simpleWrite;\n this.end = $ac6f3d51130904be$var$simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = $ac6f3d51130904be$require$Buffer.allocUnsafe(nb);\n}\n$ac6f3d51130904be$var$StringDecoder.prototype.write = function(buf) {\n if (buf.length === 0) return \"\";\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return \"\";\n i = this.lastNeed;\n this.lastNeed = 0;\n } else i = 0;\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || \"\";\n};\n$ac6f3d51130904be$var$StringDecoder.prototype.end = $ac6f3d51130904be$var$utf8End;\n// Returns only complete characters in a Buffer\n$ac6f3d51130904be$var$StringDecoder.prototype.text = $ac6f3d51130904be$var$utf8Text;\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\n$ac6f3d51130904be$var$StringDecoder.prototype.fillLast = function(buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction $ac6f3d51130904be$var$utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;\n else if (byte >> 5 === 0x06) return 2;\n else if (byte >> 4 === 0x0E) return 3;\n else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction $ac6f3d51130904be$var$utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = $ac6f3d51130904be$var$utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = $ac6f3d51130904be$var$utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = $ac6f3d51130904be$var$utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;\n else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction $ac6f3d51130904be$var$utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return \"�\";\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return \"�\";\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return \"�\";\n }\n }\n }\n}\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction $ac6f3d51130904be$var$utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = $ac6f3d51130904be$var$utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction $ac6f3d51130904be$var$utf8Text(buf, i) {\n var total = $ac6f3d51130904be$var$utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString(\"utf8\", i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString(\"utf8\", i, end);\n}\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction $ac6f3d51130904be$var$utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : \"\";\n if (this.lastNeed) return r + \"�\";\n return r;\n}\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction $ac6f3d51130904be$var$utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString(\"utf16le\", i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString(\"utf16le\", i, buf.length - 1);\n}\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction $ac6f3d51130904be$var$utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : \"\";\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString(\"utf16le\", 0, end);\n }\n return r;\n}\nfunction $ac6f3d51130904be$var$base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString(\"base64\", i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) this.lastChar[0] = buf[buf.length - 1];\n else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString(\"base64\", i, buf.length - n);\n}\nfunction $ac6f3d51130904be$var$base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : \"\";\n if (this.lastNeed) return r + this.lastChar.toString(\"base64\", 0, 3 - this.lastNeed);\n return r;\n}\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction $ac6f3d51130904be$var$simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\nfunction $ac6f3d51130904be$var$simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : \"\";\n}\n\n});\n\nparcelRequire.register(\"2UdT6\", function(module, exports) {\n\nvar $hPtJY = parcelRequire(\"hPtJY\");\n\"use strict\";\nvar $21db958e3a099d7d$var$_Object$setPrototypeO;\nfunction $21db958e3a099d7d$var$_defineProperty(obj, key, value) {\n key = $21db958e3a099d7d$var$_toPropertyKey(key);\n if (key in obj) Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n else obj[key] = value;\n return obj;\n}\nfunction $21db958e3a099d7d$var$_toPropertyKey(arg) {\n var key = $21db958e3a099d7d$var$_toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\nfunction $21db958e3a099d7d$var$_toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\n\nvar $fiCvv = parcelRequire(\"fiCvv\");\nvar $21db958e3a099d7d$var$kLastResolve = Symbol(\"lastResolve\");\nvar $21db958e3a099d7d$var$kLastReject = Symbol(\"lastReject\");\nvar $21db958e3a099d7d$var$kError = Symbol(\"error\");\nvar $21db958e3a099d7d$var$kEnded = Symbol(\"ended\");\nvar $21db958e3a099d7d$var$kLastPromise = Symbol(\"lastPromise\");\nvar $21db958e3a099d7d$var$kHandlePromise = Symbol(\"handlePromise\");\nvar $21db958e3a099d7d$var$kStream = Symbol(\"stream\");\nfunction $21db958e3a099d7d$var$createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction $21db958e3a099d7d$var$readAndResolve(iter) {\n var resolve = iter[$21db958e3a099d7d$var$kLastResolve];\n if (resolve !== null) {\n var data = iter[$21db958e3a099d7d$var$kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[$21db958e3a099d7d$var$kLastPromise] = null;\n iter[$21db958e3a099d7d$var$kLastResolve] = null;\n iter[$21db958e3a099d7d$var$kLastReject] = null;\n resolve($21db958e3a099d7d$var$createIterResult(data, false));\n }\n }\n}\nfunction $21db958e3a099d7d$var$onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n $hPtJY.nextTick($21db958e3a099d7d$var$readAndResolve, iter);\n}\nfunction $21db958e3a099d7d$var$wrapForNext(lastPromise, iter) {\n return function(resolve, reject) {\n lastPromise.then(function() {\n if (iter[$21db958e3a099d7d$var$kEnded]) {\n resolve($21db958e3a099d7d$var$createIterResult(undefined, true));\n return;\n }\n iter[$21db958e3a099d7d$var$kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar $21db958e3a099d7d$var$AsyncIteratorPrototype = Object.getPrototypeOf(function() {});\nvar $21db958e3a099d7d$var$ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf(($21db958e3a099d7d$var$_Object$setPrototypeO = {\n get stream () {\n return this[$21db958e3a099d7d$var$kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[$21db958e3a099d7d$var$kError];\n if (error !== null) return Promise.reject(error);\n if (this[$21db958e3a099d7d$var$kEnded]) return Promise.resolve($21db958e3a099d7d$var$createIterResult(undefined, true));\n if (this[$21db958e3a099d7d$var$kStream].destroyed) // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function(resolve, reject) {\n $hPtJY.nextTick(function() {\n if (_this[$21db958e3a099d7d$var$kError]) reject(_this[$21db958e3a099d7d$var$kError]);\n else resolve($21db958e3a099d7d$var$createIterResult(undefined, true));\n });\n });\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[$21db958e3a099d7d$var$kLastPromise];\n var promise;\n if (lastPromise) promise = new Promise($21db958e3a099d7d$var$wrapForNext(lastPromise, this));\n else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[$21db958e3a099d7d$var$kStream].read();\n if (data !== null) return Promise.resolve($21db958e3a099d7d$var$createIterResult(data, false));\n promise = new Promise(this[$21db958e3a099d7d$var$kHandlePromise]);\n }\n this[$21db958e3a099d7d$var$kLastPromise] = promise;\n return promise;\n }\n}, $21db958e3a099d7d$var$_defineProperty($21db958e3a099d7d$var$_Object$setPrototypeO, Symbol.asyncIterator, function() {\n return this;\n}), $21db958e3a099d7d$var$_defineProperty($21db958e3a099d7d$var$_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function(resolve, reject) {\n _this2[$21db958e3a099d7d$var$kStream].destroy(null, function(err) {\n if (err) {\n reject(err);\n return;\n }\n resolve($21db958e3a099d7d$var$createIterResult(undefined, true));\n });\n });\n}), $21db958e3a099d7d$var$_Object$setPrototypeO), $21db958e3a099d7d$var$AsyncIteratorPrototype);\nvar $21db958e3a099d7d$var$createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create($21db958e3a099d7d$var$ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, $21db958e3a099d7d$var$_defineProperty(_Object$create, $21db958e3a099d7d$var$kStream, {\n value: stream,\n writable: true\n }), $21db958e3a099d7d$var$_defineProperty(_Object$create, $21db958e3a099d7d$var$kLastResolve, {\n value: null,\n writable: true\n }), $21db958e3a099d7d$var$_defineProperty(_Object$create, $21db958e3a099d7d$var$kLastReject, {\n value: null,\n writable: true\n }), $21db958e3a099d7d$var$_defineProperty(_Object$create, $21db958e3a099d7d$var$kError, {\n value: null,\n writable: true\n }), $21db958e3a099d7d$var$_defineProperty(_Object$create, $21db958e3a099d7d$var$kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), $21db958e3a099d7d$var$_defineProperty(_Object$create, $21db958e3a099d7d$var$kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[$21db958e3a099d7d$var$kStream].read();\n if (data) {\n iterator[$21db958e3a099d7d$var$kLastPromise] = null;\n iterator[$21db958e3a099d7d$var$kLastResolve] = null;\n iterator[$21db958e3a099d7d$var$kLastReject] = null;\n resolve($21db958e3a099d7d$var$createIterResult(data, false));\n } else {\n iterator[$21db958e3a099d7d$var$kLastResolve] = resolve;\n iterator[$21db958e3a099d7d$var$kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[$21db958e3a099d7d$var$kLastPromise] = null;\n $fiCvv(stream, function(err) {\n if (err && err.code !== \"ERR_STREAM_PREMATURE_CLOSE\") {\n var reject = iterator[$21db958e3a099d7d$var$kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[$21db958e3a099d7d$var$kLastPromise] = null;\n iterator[$21db958e3a099d7d$var$kLastResolve] = null;\n iterator[$21db958e3a099d7d$var$kLastReject] = null;\n reject(err);\n }\n iterator[$21db958e3a099d7d$var$kError] = err;\n return;\n }\n var resolve = iterator[$21db958e3a099d7d$var$kLastResolve];\n if (resolve !== null) {\n iterator[$21db958e3a099d7d$var$kLastPromise] = null;\n iterator[$21db958e3a099d7d$var$kLastResolve] = null;\n iterator[$21db958e3a099d7d$var$kLastReject] = null;\n resolve($21db958e3a099d7d$var$createIterResult(undefined, true));\n }\n iterator[$21db958e3a099d7d$var$kEnded] = true;\n });\n stream.on(\"readable\", $21db958e3a099d7d$var$onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = $21db958e3a099d7d$var$createReadableStreamAsyncIterator;\n\n});\nparcelRequire.register(\"fiCvv\", function(module, exports) {\n// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\"use strict\";\n\nvar $6JySE = parcelRequire(\"6JySE\");\nvar $b236683171fcb6ee$var$ERR_STREAM_PREMATURE_CLOSE = $6JySE.codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction $b236683171fcb6ee$var$once(callback) {\n var called = false;\n return function() {\n if (called) return;\n called = true;\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++)args[_key] = arguments[_key];\n callback.apply(this, args);\n };\n}\nfunction $b236683171fcb6ee$var$noop() {}\nfunction $b236683171fcb6ee$var$isRequest(stream) {\n return stream.setHeader && typeof stream.abort === \"function\";\n}\nfunction $b236683171fcb6ee$var$eos(stream, opts, callback) {\n if (typeof opts === \"function\") return $b236683171fcb6ee$var$eos(stream, null, opts);\n if (!opts) opts = {};\n callback = $b236683171fcb6ee$var$once(callback || $b236683171fcb6ee$var$noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new $b236683171fcb6ee$var$ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new $b236683171fcb6ee$var$ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on(\"finish\", onfinish);\n };\n if ($b236683171fcb6ee$var$isRequest(stream)) {\n stream.on(\"complete\", onfinish);\n stream.on(\"abort\", onclose);\n if (stream.req) onrequest();\n else stream.on(\"request\", onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on(\"end\", onlegacyfinish);\n stream.on(\"close\", onlegacyfinish);\n }\n stream.on(\"end\", onend);\n stream.on(\"finish\", onfinish);\n if (opts.error !== false) stream.on(\"error\", onerror);\n stream.on(\"close\", onclose);\n return function() {\n stream.removeListener(\"complete\", onfinish);\n stream.removeListener(\"abort\", onclose);\n stream.removeListener(\"request\", onrequest);\n if (stream.req) stream.req.removeListener(\"finish\", onfinish);\n stream.removeListener(\"end\", onlegacyfinish);\n stream.removeListener(\"close\", onlegacyfinish);\n stream.removeListener(\"finish\", onfinish);\n stream.removeListener(\"end\", onend);\n stream.removeListener(\"error\", onerror);\n stream.removeListener(\"close\", onclose);\n };\n}\nmodule.exports = $b236683171fcb6ee$var$eos;\n\n});\n\n\nparcelRequire.register(\"e6P81\", function(module, exports) {\nmodule.exports = function() {\n throw new Error(\"Readable.from is not available in the browser\");\n};\n\n});\n\n\nparcelRequire.register(\"b7kl8\", function(module, exports) {\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\"use strict\";\nmodule.exports = $8180203f7f0d3074$var$Transform;\n\nvar $6JySE = parcelRequire(\"6JySE\");\nvar $8180203f7f0d3074$require$_require$codes = $6JySE.codes;\nvar $8180203f7f0d3074$var$ERR_METHOD_NOT_IMPLEMENTED = $8180203f7f0d3074$require$_require$codes.ERR_METHOD_NOT_IMPLEMENTED, $8180203f7f0d3074$var$ERR_MULTIPLE_CALLBACK = $8180203f7f0d3074$require$_require$codes.ERR_MULTIPLE_CALLBACK, $8180203f7f0d3074$var$ERR_TRANSFORM_ALREADY_TRANSFORMING = $8180203f7f0d3074$require$_require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING, $8180203f7f0d3074$var$ERR_TRANSFORM_WITH_LENGTH_0 = $8180203f7f0d3074$require$_require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\n\nvar $DwJuQ = parcelRequire(\"DwJuQ\");\n\n(parcelRequire(\"dlqwk\"))($8180203f7f0d3074$var$Transform, $DwJuQ);\nfunction $8180203f7f0d3074$var$afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) return this.emit(\"error\", new $8180203f7f0d3074$var$ERR_MULTIPLE_CALLBACK());\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null) // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n}\nfunction $8180203f7f0d3074$var$Transform(options) {\n if (!(this instanceof $8180203f7f0d3074$var$Transform)) return new $8180203f7f0d3074$var$Transform(options);\n $DwJuQ.call(this, options);\n this._transformState = {\n afterTransform: $8180203f7f0d3074$var$afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === \"function\") this._transform = options.transform;\n if (typeof options.flush === \"function\") this._flush = options.flush;\n }\n // When the writable side finishes, then flush out anything remaining.\n this.on(\"prefinish\", $8180203f7f0d3074$var$prefinish);\n}\nfunction $8180203f7f0d3074$var$prefinish() {\n var _this = this;\n if (typeof this._flush === \"function\" && !this._readableState.destroyed) this._flush(function(er, data) {\n $8180203f7f0d3074$var$done(_this, er, data);\n });\n else $8180203f7f0d3074$var$done(this, null, null);\n}\n$8180203f7f0d3074$var$Transform.prototype.push = function(chunk, encoding) {\n this._transformState.needTransform = false;\n return $DwJuQ.prototype.push.call(this, chunk, encoding);\n};\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\n$8180203f7f0d3074$var$Transform.prototype._transform = function(chunk, encoding, cb) {\n cb(new $8180203f7f0d3074$var$ERR_METHOD_NOT_IMPLEMENTED(\"_transform()\"));\n};\n$8180203f7f0d3074$var$Transform.prototype._write = function(chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\n$8180203f7f0d3074$var$Transform.prototype._read = function(n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n};\n$8180203f7f0d3074$var$Transform.prototype._destroy = function(err, cb) {\n $DwJuQ.prototype._destroy.call(this, err, function(err2) {\n cb(err2);\n });\n};\nfunction $8180203f7f0d3074$var$done(stream, er, data) {\n if (er) return stream.emit(\"error\", er);\n if (data != null) // single equals check for both `null` and `undefined`\n stream.push(data);\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new $8180203f7f0d3074$var$ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new $8180203f7f0d3074$var$ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}\n\n});\n\nparcelRequire.register(\"4wWcs\", function(module, exports) {\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\"use strict\";\nmodule.exports = $34c74be520d619f2$var$PassThrough;\n\nvar $b7kl8 = parcelRequire(\"b7kl8\");\n\n(parcelRequire(\"dlqwk\"))($34c74be520d619f2$var$PassThrough, $b7kl8);\nfunction $34c74be520d619f2$var$PassThrough(options) {\n if (!(this instanceof $34c74be520d619f2$var$PassThrough)) return new $34c74be520d619f2$var$PassThrough(options);\n $b7kl8.call(this, options);\n}\n$34c74be520d619f2$var$PassThrough.prototype._transform = function(chunk, encoding, cb) {\n cb(null, chunk);\n};\n\n});\n\nparcelRequire.register(\"aGSwO\", function(module, exports) {\n// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\"use strict\";\nvar $7c881fce7a4fadf1$var$eos;\nfunction $7c881fce7a4fadf1$var$once(callback) {\n var called = false;\n return function() {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\n\nvar $6JySE = parcelRequire(\"6JySE\");\nvar $7c881fce7a4fadf1$require$_require$codes = $6JySE.codes;\nvar $7c881fce7a4fadf1$var$ERR_MISSING_ARGS = $7c881fce7a4fadf1$require$_require$codes.ERR_MISSING_ARGS, $7c881fce7a4fadf1$var$ERR_STREAM_DESTROYED = $7c881fce7a4fadf1$require$_require$codes.ERR_STREAM_DESTROYED;\nfunction $7c881fce7a4fadf1$var$noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction $7c881fce7a4fadf1$var$isRequest(stream) {\n return stream.setHeader && typeof stream.abort === \"function\";\n}\n\nfunction $7c881fce7a4fadf1$var$destroyer(stream, reading, writing, callback) {\n callback = $7c881fce7a4fadf1$var$once(callback);\n var closed = false;\n stream.on(\"close\", function() {\n closed = true;\n });\n if ($7c881fce7a4fadf1$var$eos === undefined) $7c881fce7a4fadf1$var$eos = (parcelRequire(\"fiCvv\"));\n $7c881fce7a4fadf1$var$eos(stream, {\n readable: reading,\n writable: writing\n }, function(err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function(err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n // request.destroy just do .end - .abort is what we want\n if ($7c881fce7a4fadf1$var$isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === \"function\") return stream.destroy();\n callback(err || new $7c881fce7a4fadf1$var$ERR_STREAM_DESTROYED(\"pipe\"));\n };\n}\nfunction $7c881fce7a4fadf1$var$call(fn) {\n fn();\n}\nfunction $7c881fce7a4fadf1$var$pipe(from, to) {\n return from.pipe(to);\n}\nfunction $7c881fce7a4fadf1$var$popCallback(streams) {\n if (!streams.length) return $7c881fce7a4fadf1$var$noop;\n if (typeof streams[streams.length - 1] !== \"function\") return $7c881fce7a4fadf1$var$noop;\n return streams.pop();\n}\nfunction $7c881fce7a4fadf1$var$pipeline() {\n for(var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++)streams[_key] = arguments[_key];\n var callback = $7c881fce7a4fadf1$var$popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) throw new $7c881fce7a4fadf1$var$ERR_MISSING_ARGS(\"streams\");\n var error;\n var destroys = streams.map(function(stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return $7c881fce7a4fadf1$var$destroyer(stream, reading, writing, function(err) {\n if (!error) error = err;\n if (err) destroys.forEach($7c881fce7a4fadf1$var$call);\n if (reading) return;\n destroys.forEach($7c881fce7a4fadf1$var$call);\n callback(error);\n });\n });\n return streams.reduce($7c881fce7a4fadf1$var$pipe);\n}\nmodule.exports = $7c881fce7a4fadf1$var$pipeline;\n\n});\n\n\n\nparcelRequire.register(\"4jc6M\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $323254414dacbac4$require$Buffer = $6ZWSX.Buffer;\n\nvar $b6RFW = parcelRequire(\"b6RFW\");\nvar $323254414dacbac4$require$Transform = $b6RFW.Transform;\nmodule.exports = (KeccakState)=>class Shake extends $323254414dacbac4$require$Transform {\n constructor(rate, capacity, delimitedSuffix, options){\n super(options);\n this._rate = rate;\n this._capacity = capacity;\n this._delimitedSuffix = delimitedSuffix;\n this._options = options;\n this._state = new KeccakState();\n this._state.initialize(rate, capacity);\n this._finalized = false;\n }\n _transform(chunk, encoding, callback) {\n let error = null;\n try {\n this.update(chunk, encoding);\n } catch (err) {\n error = err;\n }\n callback(error);\n }\n _flush() {}\n _read(size) {\n this.push(this.squeeze(size));\n }\n update(data, encoding) {\n if (!$323254414dacbac4$require$Buffer.isBuffer(data) && typeof data !== \"string\") throw new TypeError(\"Data must be a string or a buffer\");\n if (this._finalized) throw new Error(\"Squeeze already called\");\n if (!$323254414dacbac4$require$Buffer.isBuffer(data)) data = $323254414dacbac4$require$Buffer.from(data, encoding);\n this._state.absorb(data);\n return this;\n }\n squeeze(dataByteLength, encoding) {\n if (!this._finalized) {\n this._finalized = true;\n this._state.absorbLastFewBits(this._delimitedSuffix);\n }\n let data = this._state.squeeze(dataByteLength);\n if (encoding !== undefined) data = data.toString(encoding);\n return data;\n }\n _resetState() {\n this._state.initialize(this._rate, this._capacity);\n return this;\n }\n _clone() {\n const clone = new Shake(this._rate, this._capacity, this._delimitedSuffix, this._options);\n this._state.copy(clone._state);\n clone._finalized = this._finalized;\n return clone;\n }\n };\n\n});\n\n\nparcelRequire.register(\"l2DpN\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $f5185be9cd3a5624$require$Buffer = $6ZWSX.Buffer;\n\nvar $93Kfq = parcelRequire(\"93Kfq\");\nfunction $f5185be9cd3a5624$var$Keccak() {\n // much faster than `new Array(50)`\n this.state = [\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0,\n 0\n ];\n this.blockSize = null;\n this.count = 0;\n this.squeezing = false;\n}\n$f5185be9cd3a5624$var$Keccak.prototype.initialize = function(rate, capacity) {\n for(let i = 0; i < 50; ++i)this.state[i] = 0;\n this.blockSize = rate / 8;\n this.count = 0;\n this.squeezing = false;\n};\n$f5185be9cd3a5624$var$Keccak.prototype.absorb = function(data) {\n for(let i = 0; i < data.length; ++i){\n this.state[~~(this.count / 4)] ^= data[i] << 8 * (this.count % 4);\n this.count += 1;\n if (this.count === this.blockSize) {\n $93Kfq.p1600(this.state);\n this.count = 0;\n }\n }\n};\n$f5185be9cd3a5624$var$Keccak.prototype.absorbLastFewBits = function(bits) {\n this.state[~~(this.count / 4)] ^= bits << 8 * (this.count % 4);\n if ((bits & 0x80) !== 0 && this.count === this.blockSize - 1) $93Kfq.p1600(this.state);\n this.state[~~((this.blockSize - 1) / 4)] ^= 0x80 << 8 * ((this.blockSize - 1) % 4);\n $93Kfq.p1600(this.state);\n this.count = 0;\n this.squeezing = true;\n};\n$f5185be9cd3a5624$var$Keccak.prototype.squeeze = function(length) {\n if (!this.squeezing) this.absorbLastFewBits(0x01);\n const output = $f5185be9cd3a5624$require$Buffer.alloc(length);\n for(let i = 0; i < length; ++i){\n output[i] = this.state[~~(this.count / 4)] >>> 8 * (this.count % 4) & 0xff;\n this.count += 1;\n if (this.count === this.blockSize) {\n $93Kfq.p1600(this.state);\n this.count = 0;\n }\n }\n return output;\n};\n$f5185be9cd3a5624$var$Keccak.prototype.copy = function(dest) {\n for(let i = 0; i < 50; ++i)dest.state[i] = this.state[i];\n dest.blockSize = this.blockSize;\n dest.count = this.count;\n dest.squeezing = this.squeezing;\n};\nmodule.exports = $f5185be9cd3a5624$var$Keccak;\n\n});\nparcelRequire.register(\"93Kfq\", function(module, exports) {\n\n$parcel$export(module.exports, \"p1600\", () => $698844b958219b6e$export$471358fe9e8379c0, (v) => $698844b958219b6e$export$471358fe9e8379c0 = v);\nvar $698844b958219b6e$export$471358fe9e8379c0;\nconst $698844b958219b6e$var$P1600_ROUND_CONSTANTS = [\n 1,\n 0,\n 32898,\n 0,\n 32906,\n 2147483648,\n 2147516416,\n 2147483648,\n 32907,\n 0,\n 2147483649,\n 0,\n 2147516545,\n 2147483648,\n 32777,\n 2147483648,\n 138,\n 0,\n 136,\n 0,\n 2147516425,\n 0,\n 2147483658,\n 0,\n 2147516555,\n 0,\n 139,\n 2147483648,\n 32905,\n 2147483648,\n 32771,\n 2147483648,\n 32770,\n 2147483648,\n 128,\n 2147483648,\n 32778,\n 0,\n 2147483658,\n 2147483648,\n 2147516545,\n 2147483648,\n 32896,\n 2147483648,\n 2147483649,\n 0,\n 2147516424,\n 2147483648\n];\n$698844b958219b6e$export$471358fe9e8379c0 = function(s) {\n for(let round = 0; round < 24; ++round){\n // theta\n const lo0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];\n const hi0 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];\n const lo1 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];\n const hi1 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];\n const lo2 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];\n const hi2 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];\n const lo3 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];\n const hi3 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];\n const lo4 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];\n const hi4 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];\n let lo = lo4 ^ (lo1 << 1 | hi1 >>> 31);\n let hi = hi4 ^ (hi1 << 1 | lo1 >>> 31);\n const t1slo0 = s[0] ^ lo;\n const t1shi0 = s[1] ^ hi;\n const t1slo5 = s[10] ^ lo;\n const t1shi5 = s[11] ^ hi;\n const t1slo10 = s[20] ^ lo;\n const t1shi10 = s[21] ^ hi;\n const t1slo15 = s[30] ^ lo;\n const t1shi15 = s[31] ^ hi;\n const t1slo20 = s[40] ^ lo;\n const t1shi20 = s[41] ^ hi;\n lo = lo0 ^ (lo2 << 1 | hi2 >>> 31);\n hi = hi0 ^ (hi2 << 1 | lo2 >>> 31);\n const t1slo1 = s[2] ^ lo;\n const t1shi1 = s[3] ^ hi;\n const t1slo6 = s[12] ^ lo;\n const t1shi6 = s[13] ^ hi;\n const t1slo11 = s[22] ^ lo;\n const t1shi11 = s[23] ^ hi;\n const t1slo16 = s[32] ^ lo;\n const t1shi16 = s[33] ^ hi;\n const t1slo21 = s[42] ^ lo;\n const t1shi21 = s[43] ^ hi;\n lo = lo1 ^ (lo3 << 1 | hi3 >>> 31);\n hi = hi1 ^ (hi3 << 1 | lo3 >>> 31);\n const t1slo2 = s[4] ^ lo;\n const t1shi2 = s[5] ^ hi;\n const t1slo7 = s[14] ^ lo;\n const t1shi7 = s[15] ^ hi;\n const t1slo12 = s[24] ^ lo;\n const t1shi12 = s[25] ^ hi;\n const t1slo17 = s[34] ^ lo;\n const t1shi17 = s[35] ^ hi;\n const t1slo22 = s[44] ^ lo;\n const t1shi22 = s[45] ^ hi;\n lo = lo2 ^ (lo4 << 1 | hi4 >>> 31);\n hi = hi2 ^ (hi4 << 1 | lo4 >>> 31);\n const t1slo3 = s[6] ^ lo;\n const t1shi3 = s[7] ^ hi;\n const t1slo8 = s[16] ^ lo;\n const t1shi8 = s[17] ^ hi;\n const t1slo13 = s[26] ^ lo;\n const t1shi13 = s[27] ^ hi;\n const t1slo18 = s[36] ^ lo;\n const t1shi18 = s[37] ^ hi;\n const t1slo23 = s[46] ^ lo;\n const t1shi23 = s[47] ^ hi;\n lo = lo3 ^ (lo0 << 1 | hi0 >>> 31);\n hi = hi3 ^ (hi0 << 1 | lo0 >>> 31);\n const t1slo4 = s[8] ^ lo;\n const t1shi4 = s[9] ^ hi;\n const t1slo9 = s[18] ^ lo;\n const t1shi9 = s[19] ^ hi;\n const t1slo14 = s[28] ^ lo;\n const t1shi14 = s[29] ^ hi;\n const t1slo19 = s[38] ^ lo;\n const t1shi19 = s[39] ^ hi;\n const t1slo24 = s[48] ^ lo;\n const t1shi24 = s[49] ^ hi;\n // rho & pi\n const t2slo0 = t1slo0;\n const t2shi0 = t1shi0;\n const t2slo16 = t1shi5 << 4 | t1slo5 >>> 28;\n const t2shi16 = t1slo5 << 4 | t1shi5 >>> 28;\n const t2slo7 = t1slo10 << 3 | t1shi10 >>> 29;\n const t2shi7 = t1shi10 << 3 | t1slo10 >>> 29;\n const t2slo23 = t1shi15 << 9 | t1slo15 >>> 23;\n const t2shi23 = t1slo15 << 9 | t1shi15 >>> 23;\n const t2slo14 = t1slo20 << 18 | t1shi20 >>> 14;\n const t2shi14 = t1shi20 << 18 | t1slo20 >>> 14;\n const t2slo10 = t1slo1 << 1 | t1shi1 >>> 31;\n const t2shi10 = t1shi1 << 1 | t1slo1 >>> 31;\n const t2slo1 = t1shi6 << 12 | t1slo6 >>> 20;\n const t2shi1 = t1slo6 << 12 | t1shi6 >>> 20;\n const t2slo17 = t1slo11 << 10 | t1shi11 >>> 22;\n const t2shi17 = t1shi11 << 10 | t1slo11 >>> 22;\n const t2slo8 = t1shi16 << 13 | t1slo16 >>> 19;\n const t2shi8 = t1slo16 << 13 | t1shi16 >>> 19;\n const t2slo24 = t1slo21 << 2 | t1shi21 >>> 30;\n const t2shi24 = t1shi21 << 2 | t1slo21 >>> 30;\n const t2slo20 = t1shi2 << 30 | t1slo2 >>> 2;\n const t2shi20 = t1slo2 << 30 | t1shi2 >>> 2;\n const t2slo11 = t1slo7 << 6 | t1shi7 >>> 26;\n const t2shi11 = t1shi7 << 6 | t1slo7 >>> 26;\n const t2slo2 = t1shi12 << 11 | t1slo12 >>> 21;\n const t2shi2 = t1slo12 << 11 | t1shi12 >>> 21;\n const t2slo18 = t1slo17 << 15 | t1shi17 >>> 17;\n const t2shi18 = t1shi17 << 15 | t1slo17 >>> 17;\n const t2slo9 = t1shi22 << 29 | t1slo22 >>> 3;\n const t2shi9 = t1slo22 << 29 | t1shi22 >>> 3;\n const t2slo5 = t1slo3 << 28 | t1shi3 >>> 4;\n const t2shi5 = t1shi3 << 28 | t1slo3 >>> 4;\n const t2slo21 = t1shi8 << 23 | t1slo8 >>> 9;\n const t2shi21 = t1slo8 << 23 | t1shi8 >>> 9;\n const t2slo12 = t1slo13 << 25 | t1shi13 >>> 7;\n const t2shi12 = t1shi13 << 25 | t1slo13 >>> 7;\n const t2slo3 = t1slo18 << 21 | t1shi18 >>> 11;\n const t2shi3 = t1shi18 << 21 | t1slo18 >>> 11;\n const t2slo19 = t1shi23 << 24 | t1slo23 >>> 8;\n const t2shi19 = t1slo23 << 24 | t1shi23 >>> 8;\n const t2slo15 = t1slo4 << 27 | t1shi4 >>> 5;\n const t2shi15 = t1shi4 << 27 | t1slo4 >>> 5;\n const t2slo6 = t1slo9 << 20 | t1shi9 >>> 12;\n const t2shi6 = t1shi9 << 20 | t1slo9 >>> 12;\n const t2slo22 = t1shi14 << 7 | t1slo14 >>> 25;\n const t2shi22 = t1slo14 << 7 | t1shi14 >>> 25;\n const t2slo13 = t1slo19 << 8 | t1shi19 >>> 24;\n const t2shi13 = t1shi19 << 8 | t1slo19 >>> 24;\n const t2slo4 = t1slo24 << 14 | t1shi24 >>> 18;\n const t2shi4 = t1shi24 << 14 | t1slo24 >>> 18;\n // chi\n s[0] = t2slo0 ^ ~t2slo1 & t2slo2;\n s[1] = t2shi0 ^ ~t2shi1 & t2shi2;\n s[10] = t2slo5 ^ ~t2slo6 & t2slo7;\n s[11] = t2shi5 ^ ~t2shi6 & t2shi7;\n s[20] = t2slo10 ^ ~t2slo11 & t2slo12;\n s[21] = t2shi10 ^ ~t2shi11 & t2shi12;\n s[30] = t2slo15 ^ ~t2slo16 & t2slo17;\n s[31] = t2shi15 ^ ~t2shi16 & t2shi17;\n s[40] = t2slo20 ^ ~t2slo21 & t2slo22;\n s[41] = t2shi20 ^ ~t2shi21 & t2shi22;\n s[2] = t2slo1 ^ ~t2slo2 & t2slo3;\n s[3] = t2shi1 ^ ~t2shi2 & t2shi3;\n s[12] = t2slo6 ^ ~t2slo7 & t2slo8;\n s[13] = t2shi6 ^ ~t2shi7 & t2shi8;\n s[22] = t2slo11 ^ ~t2slo12 & t2slo13;\n s[23] = t2shi11 ^ ~t2shi12 & t2shi13;\n s[32] = t2slo16 ^ ~t2slo17 & t2slo18;\n s[33] = t2shi16 ^ ~t2shi17 & t2shi18;\n s[42] = t2slo21 ^ ~t2slo22 & t2slo23;\n s[43] = t2shi21 ^ ~t2shi22 & t2shi23;\n s[4] = t2slo2 ^ ~t2slo3 & t2slo4;\n s[5] = t2shi2 ^ ~t2shi3 & t2shi4;\n s[14] = t2slo7 ^ ~t2slo8 & t2slo9;\n s[15] = t2shi7 ^ ~t2shi8 & t2shi9;\n s[24] = t2slo12 ^ ~t2slo13 & t2slo14;\n s[25] = t2shi12 ^ ~t2shi13 & t2shi14;\n s[34] = t2slo17 ^ ~t2slo18 & t2slo19;\n s[35] = t2shi17 ^ ~t2shi18 & t2shi19;\n s[44] = t2slo22 ^ ~t2slo23 & t2slo24;\n s[45] = t2shi22 ^ ~t2shi23 & t2shi24;\n s[6] = t2slo3 ^ ~t2slo4 & t2slo0;\n s[7] = t2shi3 ^ ~t2shi4 & t2shi0;\n s[16] = t2slo8 ^ ~t2slo9 & t2slo5;\n s[17] = t2shi8 ^ ~t2shi9 & t2shi5;\n s[26] = t2slo13 ^ ~t2slo14 & t2slo10;\n s[27] = t2shi13 ^ ~t2shi14 & t2shi10;\n s[36] = t2slo18 ^ ~t2slo19 & t2slo15;\n s[37] = t2shi18 ^ ~t2shi19 & t2shi15;\n s[46] = t2slo23 ^ ~t2slo24 & t2slo20;\n s[47] = t2shi23 ^ ~t2shi24 & t2shi20;\n s[8] = t2slo4 ^ ~t2slo0 & t2slo1;\n s[9] = t2shi4 ^ ~t2shi0 & t2shi1;\n s[18] = t2slo9 ^ ~t2slo5 & t2slo6;\n s[19] = t2shi9 ^ ~t2shi5 & t2shi6;\n s[28] = t2slo14 ^ ~t2slo10 & t2slo11;\n s[29] = t2shi14 ^ ~t2shi10 & t2shi11;\n s[38] = t2slo19 ^ ~t2slo15 & t2slo16;\n s[39] = t2shi19 ^ ~t2shi15 & t2shi16;\n s[48] = t2slo24 ^ ~t2slo20 & t2slo21;\n s[49] = t2shi24 ^ ~t2shi20 & t2shi21;\n // iota\n s[0] ^= $698844b958219b6e$var$P1600_ROUND_CONSTANTS[round * 2];\n s[1] ^= $698844b958219b6e$var$P1600_ROUND_CONSTANTS[round * 2 + 1];\n }\n};\n\n});\n\n\n\n\nparcelRequire.register(\"1R2J7\", function(module, exports) {\n\"use strict\";\n\nvar $dlqwk = parcelRequire(\"dlqwk\");\n\nvar $loYLU = parcelRequire(\"loYLU\");\n\nvar $a8qBR = parcelRequire(\"a8qBR\");\n\nvar $5Z1sR = parcelRequire(\"5Z1sR\");\n\nvar $26nOC = parcelRequire(\"26nOC\");\nfunction $159cdb2c74f453a8$var$Hash(hash) {\n $26nOC.call(this, \"digest\");\n this._hash = hash;\n}\n$dlqwk($159cdb2c74f453a8$var$Hash, $26nOC);\n$159cdb2c74f453a8$var$Hash.prototype._update = function(data) {\n this._hash.update(data);\n};\n$159cdb2c74f453a8$var$Hash.prototype._final = function() {\n return this._hash.digest();\n};\nmodule.exports = function createHash(alg) {\n alg = alg.toLowerCase();\n if (alg === \"md5\") return new $loYLU();\n if (alg === \"rmd160\" || alg === \"ripemd160\") return new $a8qBR();\n return new $159cdb2c74f453a8$var$Hash($5Z1sR(alg));\n};\n\n});\nparcelRequire.register(\"loYLU\", function(module, exports) {\n\"use strict\";\n\nvar $dlqwk = parcelRequire(\"dlqwk\");\n\nvar $eLdEM = parcelRequire(\"eLdEM\");\n\nvar $1U9GM = parcelRequire(\"1U9GM\");\nvar $f94afad95abc0930$require$Buffer = $1U9GM.Buffer;\nvar $f94afad95abc0930$var$ARRAY16 = new Array(16);\nfunction $f94afad95abc0930$var$MD5() {\n $eLdEM.call(this, 64);\n // state\n this._a = 0x67452301;\n this._b = 0xefcdab89;\n this._c = 0x98badcfe;\n this._d = 0x10325476;\n}\n$dlqwk($f94afad95abc0930$var$MD5, $eLdEM);\n$f94afad95abc0930$var$MD5.prototype._update = function() {\n var M = $f94afad95abc0930$var$ARRAY16;\n for(var i = 0; i < 16; ++i)M[i] = this._block.readInt32LE(i * 4);\n var a = this._a;\n var b = this._b;\n var c = this._c;\n var d = this._d;\n a = $f94afad95abc0930$var$fnF(a, b, c, d, M[0], 0xd76aa478, 7);\n d = $f94afad95abc0930$var$fnF(d, a, b, c, M[1], 0xe8c7b756, 12);\n c = $f94afad95abc0930$var$fnF(c, d, a, b, M[2], 0x242070db, 17);\n b = $f94afad95abc0930$var$fnF(b, c, d, a, M[3], 0xc1bdceee, 22);\n a = $f94afad95abc0930$var$fnF(a, b, c, d, M[4], 0xf57c0faf, 7);\n d = $f94afad95abc0930$var$fnF(d, a, b, c, M[5], 0x4787c62a, 12);\n c = $f94afad95abc0930$var$fnF(c, d, a, b, M[6], 0xa8304613, 17);\n b = $f94afad95abc0930$var$fnF(b, c, d, a, M[7], 0xfd469501, 22);\n a = $f94afad95abc0930$var$fnF(a, b, c, d, M[8], 0x698098d8, 7);\n d = $f94afad95abc0930$var$fnF(d, a, b, c, M[9], 0x8b44f7af, 12);\n c = $f94afad95abc0930$var$fnF(c, d, a, b, M[10], 0xffff5bb1, 17);\n b = $f94afad95abc0930$var$fnF(b, c, d, a, M[11], 0x895cd7be, 22);\n a = $f94afad95abc0930$var$fnF(a, b, c, d, M[12], 0x6b901122, 7);\n d = $f94afad95abc0930$var$fnF(d, a, b, c, M[13], 0xfd987193, 12);\n c = $f94afad95abc0930$var$fnF(c, d, a, b, M[14], 0xa679438e, 17);\n b = $f94afad95abc0930$var$fnF(b, c, d, a, M[15], 0x49b40821, 22);\n a = $f94afad95abc0930$var$fnG(a, b, c, d, M[1], 0xf61e2562, 5);\n d = $f94afad95abc0930$var$fnG(d, a, b, c, M[6], 0xc040b340, 9);\n c = $f94afad95abc0930$var$fnG(c, d, a, b, M[11], 0x265e5a51, 14);\n b = $f94afad95abc0930$var$fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20);\n a = $f94afad95abc0930$var$fnG(a, b, c, d, M[5], 0xd62f105d, 5);\n d = $f94afad95abc0930$var$fnG(d, a, b, c, M[10], 0x02441453, 9);\n c = $f94afad95abc0930$var$fnG(c, d, a, b, M[15], 0xd8a1e681, 14);\n b = $f94afad95abc0930$var$fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20);\n a = $f94afad95abc0930$var$fnG(a, b, c, d, M[9], 0x21e1cde6, 5);\n d = $f94afad95abc0930$var$fnG(d, a, b, c, M[14], 0xc33707d6, 9);\n c = $f94afad95abc0930$var$fnG(c, d, a, b, M[3], 0xf4d50d87, 14);\n b = $f94afad95abc0930$var$fnG(b, c, d, a, M[8], 0x455a14ed, 20);\n a = $f94afad95abc0930$var$fnG(a, b, c, d, M[13], 0xa9e3e905, 5);\n d = $f94afad95abc0930$var$fnG(d, a, b, c, M[2], 0xfcefa3f8, 9);\n c = $f94afad95abc0930$var$fnG(c, d, a, b, M[7], 0x676f02d9, 14);\n b = $f94afad95abc0930$var$fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20);\n a = $f94afad95abc0930$var$fnH(a, b, c, d, M[5], 0xfffa3942, 4);\n d = $f94afad95abc0930$var$fnH(d, a, b, c, M[8], 0x8771f681, 11);\n c = $f94afad95abc0930$var$fnH(c, d, a, b, M[11], 0x6d9d6122, 16);\n b = $f94afad95abc0930$var$fnH(b, c, d, a, M[14], 0xfde5380c, 23);\n a = $f94afad95abc0930$var$fnH(a, b, c, d, M[1], 0xa4beea44, 4);\n d = $f94afad95abc0930$var$fnH(d, a, b, c, M[4], 0x4bdecfa9, 11);\n c = $f94afad95abc0930$var$fnH(c, d, a, b, M[7], 0xf6bb4b60, 16);\n b = $f94afad95abc0930$var$fnH(b, c, d, a, M[10], 0xbebfbc70, 23);\n a = $f94afad95abc0930$var$fnH(a, b, c, d, M[13], 0x289b7ec6, 4);\n d = $f94afad95abc0930$var$fnH(d, a, b, c, M[0], 0xeaa127fa, 11);\n c = $f94afad95abc0930$var$fnH(c, d, a, b, M[3], 0xd4ef3085, 16);\n b = $f94afad95abc0930$var$fnH(b, c, d, a, M[6], 0x04881d05, 23);\n a = $f94afad95abc0930$var$fnH(a, b, c, d, M[9], 0xd9d4d039, 4);\n d = $f94afad95abc0930$var$fnH(d, a, b, c, M[12], 0xe6db99e5, 11);\n c = $f94afad95abc0930$var$fnH(c, d, a, b, M[15], 0x1fa27cf8, 16);\n b = $f94afad95abc0930$var$fnH(b, c, d, a, M[2], 0xc4ac5665, 23);\n a = $f94afad95abc0930$var$fnI(a, b, c, d, M[0], 0xf4292244, 6);\n d = $f94afad95abc0930$var$fnI(d, a, b, c, M[7], 0x432aff97, 10);\n c = $f94afad95abc0930$var$fnI(c, d, a, b, M[14], 0xab9423a7, 15);\n b = $f94afad95abc0930$var$fnI(b, c, d, a, M[5], 0xfc93a039, 21);\n a = $f94afad95abc0930$var$fnI(a, b, c, d, M[12], 0x655b59c3, 6);\n d = $f94afad95abc0930$var$fnI(d, a, b, c, M[3], 0x8f0ccc92, 10);\n c = $f94afad95abc0930$var$fnI(c, d, a, b, M[10], 0xffeff47d, 15);\n b = $f94afad95abc0930$var$fnI(b, c, d, a, M[1], 0x85845dd1, 21);\n a = $f94afad95abc0930$var$fnI(a, b, c, d, M[8], 0x6fa87e4f, 6);\n d = $f94afad95abc0930$var$fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10);\n c = $f94afad95abc0930$var$fnI(c, d, a, b, M[6], 0xa3014314, 15);\n b = $f94afad95abc0930$var$fnI(b, c, d, a, M[13], 0x4e0811a1, 21);\n a = $f94afad95abc0930$var$fnI(a, b, c, d, M[4], 0xf7537e82, 6);\n d = $f94afad95abc0930$var$fnI(d, a, b, c, M[11], 0xbd3af235, 10);\n c = $f94afad95abc0930$var$fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15);\n b = $f94afad95abc0930$var$fnI(b, c, d, a, M[9], 0xeb86d391, 21);\n this._a = this._a + a | 0;\n this._b = this._b + b | 0;\n this._c = this._c + c | 0;\n this._d = this._d + d | 0;\n};\n$f94afad95abc0930$var$MD5.prototype._digest = function() {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80;\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64);\n this._update();\n this._blockOffset = 0;\n }\n this._block.fill(0, this._blockOffset, 56);\n this._block.writeUInt32LE(this._length[0], 56);\n this._block.writeUInt32LE(this._length[1], 60);\n this._update();\n // produce result\n var buffer = $f94afad95abc0930$require$Buffer.allocUnsafe(16);\n buffer.writeInt32LE(this._a, 0);\n buffer.writeInt32LE(this._b, 4);\n buffer.writeInt32LE(this._c, 8);\n buffer.writeInt32LE(this._d, 12);\n return buffer;\n};\nfunction $f94afad95abc0930$var$rotl(x, n) {\n return x << n | x >>> 32 - n;\n}\nfunction $f94afad95abc0930$var$fnF(a, b, c, d, m, k, s) {\n return $f94afad95abc0930$var$rotl(a + (b & c | ~b & d) + m + k | 0, s) + b | 0;\n}\nfunction $f94afad95abc0930$var$fnG(a, b, c, d, m, k, s) {\n return $f94afad95abc0930$var$rotl(a + (b & d | c & ~d) + m + k | 0, s) + b | 0;\n}\nfunction $f94afad95abc0930$var$fnH(a, b, c, d, m, k, s) {\n return $f94afad95abc0930$var$rotl(a + (b ^ c ^ d) + m + k | 0, s) + b | 0;\n}\nfunction $f94afad95abc0930$var$fnI(a, b, c, d, m, k, s) {\n return $f94afad95abc0930$var$rotl(a + (c ^ (b | ~d)) + m + k | 0, s) + b | 0;\n}\nmodule.exports = $f94afad95abc0930$var$MD5;\n\n});\nparcelRequire.register(\"eLdEM\", function(module, exports) {\n\"use strict\";\n\nvar $1U9GM = parcelRequire(\"1U9GM\");\nvar $abf00c68ae11d39d$require$Buffer = $1U9GM.Buffer;\n\nvar $b6RFW = parcelRequire(\"b6RFW\");\nvar $abf00c68ae11d39d$require$Transform = $b6RFW.Transform;\n\nvar $dlqwk = parcelRequire(\"dlqwk\");\nfunction $abf00c68ae11d39d$var$throwIfNotStringOrBuffer(val, prefix) {\n if (!$abf00c68ae11d39d$require$Buffer.isBuffer(val) && typeof val !== \"string\") throw new TypeError(prefix + \" must be a string or a buffer\");\n}\nfunction $abf00c68ae11d39d$var$HashBase(blockSize) {\n $abf00c68ae11d39d$require$Transform.call(this);\n this._block = $abf00c68ae11d39d$require$Buffer.allocUnsafe(blockSize);\n this._blockSize = blockSize;\n this._blockOffset = 0;\n this._length = [\n 0,\n 0,\n 0,\n 0\n ];\n this._finalized = false;\n}\n$dlqwk($abf00c68ae11d39d$var$HashBase, $abf00c68ae11d39d$require$Transform);\n$abf00c68ae11d39d$var$HashBase.prototype._transform = function(chunk, encoding, callback) {\n var error = null;\n try {\n this.update(chunk, encoding);\n } catch (err) {\n error = err;\n }\n callback(error);\n};\n$abf00c68ae11d39d$var$HashBase.prototype._flush = function(callback) {\n var error = null;\n try {\n this.push(this.digest());\n } catch (err) {\n error = err;\n }\n callback(error);\n};\n$abf00c68ae11d39d$var$HashBase.prototype.update = function(data, encoding) {\n $abf00c68ae11d39d$var$throwIfNotStringOrBuffer(data, \"Data\");\n if (this._finalized) throw new Error(\"Digest already called\");\n if (!$abf00c68ae11d39d$require$Buffer.isBuffer(data)) data = $abf00c68ae11d39d$require$Buffer.from(data, encoding);\n // consume data\n var block = this._block;\n var offset = 0;\n while(this._blockOffset + data.length - offset >= this._blockSize){\n for(var i = this._blockOffset; i < this._blockSize;)block[i++] = data[offset++];\n this._update();\n this._blockOffset = 0;\n }\n while(offset < data.length)block[this._blockOffset++] = data[offset++];\n // update length\n for(var j = 0, carry = data.length * 8; carry > 0; ++j){\n this._length[j] += carry;\n carry = this._length[j] / 0x0100000000 | 0;\n if (carry > 0) this._length[j] -= 0x0100000000 * carry;\n }\n return this;\n};\n$abf00c68ae11d39d$var$HashBase.prototype._update = function() {\n throw new Error(\"_update is not implemented\");\n};\n$abf00c68ae11d39d$var$HashBase.prototype.digest = function(encoding) {\n if (this._finalized) throw new Error(\"Digest already called\");\n this._finalized = true;\n var digest = this._digest();\n if (encoding !== undefined) digest = digest.toString(encoding);\n // reset state\n this._block.fill(0);\n this._blockOffset = 0;\n for(var i = 0; i < 4; ++i)this._length[i] = 0;\n return digest;\n};\n$abf00c68ae11d39d$var$HashBase.prototype._digest = function() {\n throw new Error(\"_digest is not implemented\");\n};\nmodule.exports = $abf00c68ae11d39d$var$HashBase;\n\n});\n\n\nparcelRequire.register(\"a8qBR\", function(module, exports) {\n\"use strict\";\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $760f4ae3157f7f0b$require$Buffer = $6ZWSX.Buffer;\n\nvar $dlqwk = parcelRequire(\"dlqwk\");\n\nvar $eLdEM = parcelRequire(\"eLdEM\");\nvar $760f4ae3157f7f0b$var$ARRAY16 = new Array(16);\nvar $760f4ae3157f7f0b$var$zl = [\n 0,\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7,\n 8,\n 9,\n 10,\n 11,\n 12,\n 13,\n 14,\n 15,\n 7,\n 4,\n 13,\n 1,\n 10,\n 6,\n 15,\n 3,\n 12,\n 0,\n 9,\n 5,\n 2,\n 14,\n 11,\n 8,\n 3,\n 10,\n 14,\n 4,\n 9,\n 15,\n 8,\n 1,\n 2,\n 7,\n 0,\n 6,\n 13,\n 11,\n 5,\n 12,\n 1,\n 9,\n 11,\n 10,\n 0,\n 8,\n 12,\n 4,\n 13,\n 3,\n 7,\n 15,\n 14,\n 5,\n 6,\n 2,\n 4,\n 0,\n 5,\n 9,\n 7,\n 12,\n 2,\n 10,\n 14,\n 1,\n 3,\n 8,\n 11,\n 6,\n 15,\n 13\n];\nvar $760f4ae3157f7f0b$var$zr = [\n 5,\n 14,\n 7,\n 0,\n 9,\n 2,\n 11,\n 4,\n 13,\n 6,\n 15,\n 8,\n 1,\n 10,\n 3,\n 12,\n 6,\n 11,\n 3,\n 7,\n 0,\n 13,\n 5,\n 10,\n 14,\n 15,\n 8,\n 12,\n 4,\n 9,\n 1,\n 2,\n 15,\n 5,\n 1,\n 3,\n 7,\n 14,\n 6,\n 9,\n 11,\n 8,\n 12,\n 2,\n 10,\n 0,\n 4,\n 13,\n 8,\n 6,\n 4,\n 1,\n 3,\n 11,\n 15,\n 0,\n 5,\n 12,\n 2,\n 13,\n 9,\n 7,\n 10,\n 14,\n 12,\n 15,\n 10,\n 4,\n 1,\n 5,\n 8,\n 7,\n 6,\n 2,\n 13,\n 14,\n 0,\n 3,\n 9,\n 11\n];\nvar $760f4ae3157f7f0b$var$sl = [\n 11,\n 14,\n 15,\n 12,\n 5,\n 8,\n 7,\n 9,\n 11,\n 13,\n 14,\n 15,\n 6,\n 7,\n 9,\n 8,\n 7,\n 6,\n 8,\n 13,\n 11,\n 9,\n 7,\n 15,\n 7,\n 12,\n 15,\n 9,\n 11,\n 7,\n 13,\n 12,\n 11,\n 13,\n 6,\n 7,\n 14,\n 9,\n 13,\n 15,\n 14,\n 8,\n 13,\n 6,\n 5,\n 12,\n 7,\n 5,\n 11,\n 12,\n 14,\n 15,\n 14,\n 15,\n 9,\n 8,\n 9,\n 14,\n 5,\n 6,\n 8,\n 6,\n 5,\n 12,\n 9,\n 15,\n 5,\n 11,\n 6,\n 8,\n 13,\n 12,\n 5,\n 12,\n 13,\n 14,\n 11,\n 8,\n 5,\n 6\n];\nvar $760f4ae3157f7f0b$var$sr = [\n 8,\n 9,\n 9,\n 11,\n 13,\n 15,\n 15,\n 5,\n 7,\n 7,\n 8,\n 11,\n 14,\n 14,\n 12,\n 6,\n 9,\n 13,\n 15,\n 7,\n 12,\n 8,\n 9,\n 11,\n 7,\n 7,\n 12,\n 7,\n 6,\n 15,\n 13,\n 11,\n 9,\n 7,\n 15,\n 11,\n 8,\n 6,\n 6,\n 14,\n 12,\n 13,\n 5,\n 14,\n 13,\n 13,\n 7,\n 5,\n 15,\n 5,\n 8,\n 11,\n 14,\n 14,\n 6,\n 14,\n 6,\n 9,\n 12,\n 9,\n 12,\n 5,\n 15,\n 8,\n 8,\n 5,\n 12,\n 9,\n 12,\n 5,\n 14,\n 6,\n 8,\n 13,\n 6,\n 5,\n 15,\n 13,\n 11,\n 11\n];\nvar $760f4ae3157f7f0b$var$hl = [\n 0x00000000,\n 0x5a827999,\n 0x6ed9eba1,\n 0x8f1bbcdc,\n 0xa953fd4e\n];\nvar $760f4ae3157f7f0b$var$hr = [\n 0x50a28be6,\n 0x5c4dd124,\n 0x6d703ef3,\n 0x7a6d76e9,\n 0x00000000\n];\nfunction $760f4ae3157f7f0b$var$RIPEMD160() {\n $eLdEM.call(this, 64);\n // state\n this._a = 0x67452301;\n this._b = 0xefcdab89;\n this._c = 0x98badcfe;\n this._d = 0x10325476;\n this._e = 0xc3d2e1f0;\n}\n$dlqwk($760f4ae3157f7f0b$var$RIPEMD160, $eLdEM);\n$760f4ae3157f7f0b$var$RIPEMD160.prototype._update = function() {\n var words = $760f4ae3157f7f0b$var$ARRAY16;\n for(var j = 0; j < 16; ++j)words[j] = this._block.readInt32LE(j * 4);\n var al = this._a | 0;\n var bl = this._b | 0;\n var cl = this._c | 0;\n var dl = this._d | 0;\n var el = this._e | 0;\n var ar = this._a | 0;\n var br = this._b | 0;\n var cr = this._c | 0;\n var dr = this._d | 0;\n var er = this._e | 0;\n // computation\n for(var i = 0; i < 80; i += 1){\n var tl;\n var tr;\n if (i < 16) {\n tl = $760f4ae3157f7f0b$var$fn1(al, bl, cl, dl, el, words[$760f4ae3157f7f0b$var$zl[i]], $760f4ae3157f7f0b$var$hl[0], $760f4ae3157f7f0b$var$sl[i]);\n tr = $760f4ae3157f7f0b$var$fn5(ar, br, cr, dr, er, words[$760f4ae3157f7f0b$var$zr[i]], $760f4ae3157f7f0b$var$hr[0], $760f4ae3157f7f0b$var$sr[i]);\n } else if (i < 32) {\n tl = $760f4ae3157f7f0b$var$fn2(al, bl, cl, dl, el, words[$760f4ae3157f7f0b$var$zl[i]], $760f4ae3157f7f0b$var$hl[1], $760f4ae3157f7f0b$var$sl[i]);\n tr = $760f4ae3157f7f0b$var$fn4(ar, br, cr, dr, er, words[$760f4ae3157f7f0b$var$zr[i]], $760f4ae3157f7f0b$var$hr[1], $760f4ae3157f7f0b$var$sr[i]);\n } else if (i < 48) {\n tl = $760f4ae3157f7f0b$var$fn3(al, bl, cl, dl, el, words[$760f4ae3157f7f0b$var$zl[i]], $760f4ae3157f7f0b$var$hl[2], $760f4ae3157f7f0b$var$sl[i]);\n tr = $760f4ae3157f7f0b$var$fn3(ar, br, cr, dr, er, words[$760f4ae3157f7f0b$var$zr[i]], $760f4ae3157f7f0b$var$hr[2], $760f4ae3157f7f0b$var$sr[i]);\n } else if (i < 64) {\n tl = $760f4ae3157f7f0b$var$fn4(al, bl, cl, dl, el, words[$760f4ae3157f7f0b$var$zl[i]], $760f4ae3157f7f0b$var$hl[3], $760f4ae3157f7f0b$var$sl[i]);\n tr = $760f4ae3157f7f0b$var$fn2(ar, br, cr, dr, er, words[$760f4ae3157f7f0b$var$zr[i]], $760f4ae3157f7f0b$var$hr[3], $760f4ae3157f7f0b$var$sr[i]);\n } else {\n tl = $760f4ae3157f7f0b$var$fn5(al, bl, cl, dl, el, words[$760f4ae3157f7f0b$var$zl[i]], $760f4ae3157f7f0b$var$hl[4], $760f4ae3157f7f0b$var$sl[i]);\n tr = $760f4ae3157f7f0b$var$fn1(ar, br, cr, dr, er, words[$760f4ae3157f7f0b$var$zr[i]], $760f4ae3157f7f0b$var$hr[4], $760f4ae3157f7f0b$var$sr[i]);\n }\n al = el;\n el = dl;\n dl = $760f4ae3157f7f0b$var$rotl(cl, 10);\n cl = bl;\n bl = tl;\n ar = er;\n er = dr;\n dr = $760f4ae3157f7f0b$var$rotl(cr, 10);\n cr = br;\n br = tr;\n }\n // update state\n var t = this._b + cl + dr | 0;\n this._b = this._c + dl + er | 0;\n this._c = this._d + el + ar | 0;\n this._d = this._e + al + br | 0;\n this._e = this._a + bl + cr | 0;\n this._a = t;\n};\n$760f4ae3157f7f0b$var$RIPEMD160.prototype._digest = function() {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80;\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64);\n this._update();\n this._blockOffset = 0;\n }\n this._block.fill(0, this._blockOffset, 56);\n this._block.writeUInt32LE(this._length[0], 56);\n this._block.writeUInt32LE(this._length[1], 60);\n this._update();\n // produce result\n var buffer = $760f4ae3157f7f0b$require$Buffer.alloc ? $760f4ae3157f7f0b$require$Buffer.alloc(20) : new $760f4ae3157f7f0b$require$Buffer(20);\n buffer.writeInt32LE(this._a, 0);\n buffer.writeInt32LE(this._b, 4);\n buffer.writeInt32LE(this._c, 8);\n buffer.writeInt32LE(this._d, 12);\n buffer.writeInt32LE(this._e, 16);\n return buffer;\n};\nfunction $760f4ae3157f7f0b$var$rotl(x, n) {\n return x << n | x >>> 32 - n;\n}\nfunction $760f4ae3157f7f0b$var$fn1(a, b, c, d, e, m, k, s) {\n return $760f4ae3157f7f0b$var$rotl(a + (b ^ c ^ d) + m + k | 0, s) + e | 0;\n}\nfunction $760f4ae3157f7f0b$var$fn2(a, b, c, d, e, m, k, s) {\n return $760f4ae3157f7f0b$var$rotl(a + (b & c | ~b & d) + m + k | 0, s) + e | 0;\n}\nfunction $760f4ae3157f7f0b$var$fn3(a, b, c, d, e, m, k, s) {\n return $760f4ae3157f7f0b$var$rotl(a + ((b | ~c) ^ d) + m + k | 0, s) + e | 0;\n}\nfunction $760f4ae3157f7f0b$var$fn4(a, b, c, d, e, m, k, s) {\n return $760f4ae3157f7f0b$var$rotl(a + (b & d | c & ~d) + m + k | 0, s) + e | 0;\n}\nfunction $760f4ae3157f7f0b$var$fn5(a, b, c, d, e, m, k, s) {\n return $760f4ae3157f7f0b$var$rotl(a + (b ^ (c | ~d)) + m + k | 0, s) + e | 0;\n}\nmodule.exports = $760f4ae3157f7f0b$var$RIPEMD160;\n\n});\n\nparcelRequire.register(\"5Z1sR\", function(module, exports) {\nvar $45b3c90d57600982$var$exports = module.exports = function SHA(algorithm) {\n algorithm = algorithm.toLowerCase();\n var Algorithm = $45b3c90d57600982$var$exports[algorithm];\n if (!Algorithm) throw new Error(algorithm + \" is not supported (we accept pull requests)\");\n return new Algorithm();\n};\n\n$45b3c90d57600982$var$exports.sha = (parcelRequire(\"dECyV\"));\n\n$45b3c90d57600982$var$exports.sha1 = (parcelRequire(\"dVcFO\"));\n\n$45b3c90d57600982$var$exports.sha224 = (parcelRequire(\"3wNjm\"));\n\n$45b3c90d57600982$var$exports.sha256 = (parcelRequire(\"3BFQx\"));\n\n$45b3c90d57600982$var$exports.sha384 = (parcelRequire(\"5qHaZ\"));\n\n$45b3c90d57600982$var$exports.sha512 = (parcelRequire(\"bZI17\"));\n\n});\nparcelRequire.register(\"dECyV\", function(module, exports) {\n/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */ \nvar $dlqwk = parcelRequire(\"dlqwk\");\n\nvar $O5ywn = parcelRequire(\"O5ywn\");\n\nvar $1U9GM = parcelRequire(\"1U9GM\");\nvar $9f0cec708e1f2103$require$Buffer = $1U9GM.Buffer;\nvar $9f0cec708e1f2103$var$K = [\n 0x5a827999,\n 0x6ed9eba1,\n -1894007588,\n -899497514\n];\nvar $9f0cec708e1f2103$var$W = new Array(80);\nfunction $9f0cec708e1f2103$var$Sha() {\n this.init();\n this._w = $9f0cec708e1f2103$var$W;\n $O5ywn.call(this, 64, 56);\n}\n$dlqwk($9f0cec708e1f2103$var$Sha, $O5ywn);\n$9f0cec708e1f2103$var$Sha.prototype.init = function() {\n this._a = 0x67452301;\n this._b = 0xefcdab89;\n this._c = 0x98badcfe;\n this._d = 0x10325476;\n this._e = 0xc3d2e1f0;\n return this;\n};\nfunction $9f0cec708e1f2103$var$rotl5(num) {\n return num << 5 | num >>> 27;\n}\nfunction $9f0cec708e1f2103$var$rotl30(num) {\n return num << 30 | num >>> 2;\n}\nfunction $9f0cec708e1f2103$var$ft(s, b, c, d) {\n if (s === 0) return b & c | ~b & d;\n if (s === 2) return b & c | b & d | c & d;\n return b ^ c ^ d;\n}\n$9f0cec708e1f2103$var$Sha.prototype._update = function(M) {\n var W = this._w;\n var a = this._a | 0;\n var b = this._b | 0;\n var c = this._c | 0;\n var d = this._d | 0;\n var e = this._e | 0;\n for(var i = 0; i < 16; ++i)W[i] = M.readInt32BE(i * 4);\n for(; i < 80; ++i)W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16];\n for(var j = 0; j < 80; ++j){\n var s = ~~(j / 20);\n var t = $9f0cec708e1f2103$var$rotl5(a) + $9f0cec708e1f2103$var$ft(s, b, c, d) + e + W[j] + $9f0cec708e1f2103$var$K[s] | 0;\n e = d;\n d = c;\n c = $9f0cec708e1f2103$var$rotl30(b);\n b = a;\n a = t;\n }\n this._a = a + this._a | 0;\n this._b = b + this._b | 0;\n this._c = c + this._c | 0;\n this._d = d + this._d | 0;\n this._e = e + this._e | 0;\n};\n$9f0cec708e1f2103$var$Sha.prototype._hash = function() {\n var H = $9f0cec708e1f2103$require$Buffer.allocUnsafe(20);\n H.writeInt32BE(this._a | 0, 0);\n H.writeInt32BE(this._b | 0, 4);\n H.writeInt32BE(this._c | 0, 8);\n H.writeInt32BE(this._d | 0, 12);\n H.writeInt32BE(this._e | 0, 16);\n return H;\n};\nmodule.exports = $9f0cec708e1f2103$var$Sha;\n\n});\nparcelRequire.register(\"O5ywn\", function(module, exports) {\n\nvar $1U9GM = parcelRequire(\"1U9GM\");\nvar $0968fae43eb53960$require$Buffer = $1U9GM.Buffer;\n// prototype class for hash functions\nfunction $0968fae43eb53960$var$Hash(blockSize, finalSize) {\n this._block = $0968fae43eb53960$require$Buffer.alloc(blockSize);\n this._finalSize = finalSize;\n this._blockSize = blockSize;\n this._len = 0;\n}\n$0968fae43eb53960$var$Hash.prototype.update = function(data, enc) {\n if (typeof data === \"string\") {\n enc = enc || \"utf8\";\n data = $0968fae43eb53960$require$Buffer.from(data, enc);\n }\n var block = this._block;\n var blockSize = this._blockSize;\n var length = data.length;\n var accum = this._len;\n for(var offset = 0; offset < length;){\n var assigned = accum % blockSize;\n var remainder = Math.min(length - offset, blockSize - assigned);\n for(var i = 0; i < remainder; i++)block[assigned + i] = data[offset + i];\n accum += remainder;\n offset += remainder;\n if (accum % blockSize === 0) this._update(block);\n }\n this._len += length;\n return this;\n};\n$0968fae43eb53960$var$Hash.prototype.digest = function(enc) {\n var rem = this._len % this._blockSize;\n this._block[rem] = 0x80;\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1);\n if (rem >= this._finalSize) {\n this._update(this._block);\n this._block.fill(0);\n }\n var bits = this._len * 8;\n // uint32\n if (bits <= 0xffffffff) this._block.writeUInt32BE(bits, this._blockSize - 4);\n else {\n var lowBits = (bits & 0xffffffff) >>> 0;\n var highBits = (bits - lowBits) / 0x100000000;\n this._block.writeUInt32BE(highBits, this._blockSize - 8);\n this._block.writeUInt32BE(lowBits, this._blockSize - 4);\n }\n this._update(this._block);\n var hash = this._hash();\n return enc ? hash.toString(enc) : hash;\n};\n$0968fae43eb53960$var$Hash.prototype._update = function() {\n throw new Error(\"_update must be implemented by subclass\");\n};\nmodule.exports = $0968fae43eb53960$var$Hash;\n\n});\n\n\nparcelRequire.register(\"dVcFO\", function(module, exports) {\n/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */ \nvar $dlqwk = parcelRequire(\"dlqwk\");\n\nvar $O5ywn = parcelRequire(\"O5ywn\");\n\nvar $1U9GM = parcelRequire(\"1U9GM\");\nvar $a22a6de6a357c37a$require$Buffer = $1U9GM.Buffer;\nvar $a22a6de6a357c37a$var$K = [\n 0x5a827999,\n 0x6ed9eba1,\n -1894007588,\n -899497514\n];\nvar $a22a6de6a357c37a$var$W = new Array(80);\nfunction $a22a6de6a357c37a$var$Sha1() {\n this.init();\n this._w = $a22a6de6a357c37a$var$W;\n $O5ywn.call(this, 64, 56);\n}\n$dlqwk($a22a6de6a357c37a$var$Sha1, $O5ywn);\n$a22a6de6a357c37a$var$Sha1.prototype.init = function() {\n this._a = 0x67452301;\n this._b = 0xefcdab89;\n this._c = 0x98badcfe;\n this._d = 0x10325476;\n this._e = 0xc3d2e1f0;\n return this;\n};\nfunction $a22a6de6a357c37a$var$rotl1(num) {\n return num << 1 | num >>> 31;\n}\nfunction $a22a6de6a357c37a$var$rotl5(num) {\n return num << 5 | num >>> 27;\n}\nfunction $a22a6de6a357c37a$var$rotl30(num) {\n return num << 30 | num >>> 2;\n}\nfunction $a22a6de6a357c37a$var$ft(s, b, c, d) {\n if (s === 0) return b & c | ~b & d;\n if (s === 2) return b & c | b & d | c & d;\n return b ^ c ^ d;\n}\n$a22a6de6a357c37a$var$Sha1.prototype._update = function(M) {\n var W = this._w;\n var a = this._a | 0;\n var b = this._b | 0;\n var c = this._c | 0;\n var d = this._d | 0;\n var e = this._e | 0;\n for(var i = 0; i < 16; ++i)W[i] = M.readInt32BE(i * 4);\n for(; i < 80; ++i)W[i] = $a22a6de6a357c37a$var$rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]);\n for(var j = 0; j < 80; ++j){\n var s = ~~(j / 20);\n var t = $a22a6de6a357c37a$var$rotl5(a) + $a22a6de6a357c37a$var$ft(s, b, c, d) + e + W[j] + $a22a6de6a357c37a$var$K[s] | 0;\n e = d;\n d = c;\n c = $a22a6de6a357c37a$var$rotl30(b);\n b = a;\n a = t;\n }\n this._a = a + this._a | 0;\n this._b = b + this._b | 0;\n this._c = c + this._c | 0;\n this._d = d + this._d | 0;\n this._e = e + this._e | 0;\n};\n$a22a6de6a357c37a$var$Sha1.prototype._hash = function() {\n var H = $a22a6de6a357c37a$require$Buffer.allocUnsafe(20);\n H.writeInt32BE(this._a | 0, 0);\n H.writeInt32BE(this._b | 0, 4);\n H.writeInt32BE(this._c | 0, 8);\n H.writeInt32BE(this._d | 0, 12);\n H.writeInt32BE(this._e | 0, 16);\n return H;\n};\nmodule.exports = $a22a6de6a357c37a$var$Sha1;\n\n});\n\nparcelRequire.register(\"3wNjm\", function(module, exports) {\n/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */ \nvar $dlqwk = parcelRequire(\"dlqwk\");\n\nvar $3BFQx = parcelRequire(\"3BFQx\");\n\nvar $O5ywn = parcelRequire(\"O5ywn\");\n\nvar $1U9GM = parcelRequire(\"1U9GM\");\nvar $291a9c6c5654a48d$require$Buffer = $1U9GM.Buffer;\nvar $291a9c6c5654a48d$var$W = new Array(64);\nfunction $291a9c6c5654a48d$var$Sha224() {\n this.init();\n this._w = $291a9c6c5654a48d$var$W // new Array(64)\n ;\n $O5ywn.call(this, 64, 56);\n}\n$dlqwk($291a9c6c5654a48d$var$Sha224, $3BFQx);\n$291a9c6c5654a48d$var$Sha224.prototype.init = function() {\n this._a = 0xc1059ed8;\n this._b = 0x367cd507;\n this._c = 0x3070dd17;\n this._d = 0xf70e5939;\n this._e = 0xffc00b31;\n this._f = 0x68581511;\n this._g = 0x64f98fa7;\n this._h = 0xbefa4fa4;\n return this;\n};\n$291a9c6c5654a48d$var$Sha224.prototype._hash = function() {\n var H = $291a9c6c5654a48d$require$Buffer.allocUnsafe(28);\n H.writeInt32BE(this._a, 0);\n H.writeInt32BE(this._b, 4);\n H.writeInt32BE(this._c, 8);\n H.writeInt32BE(this._d, 12);\n H.writeInt32BE(this._e, 16);\n H.writeInt32BE(this._f, 20);\n H.writeInt32BE(this._g, 24);\n return H;\n};\nmodule.exports = $291a9c6c5654a48d$var$Sha224;\n\n});\nparcelRequire.register(\"3BFQx\", function(module, exports) {\n/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */ \nvar $dlqwk = parcelRequire(\"dlqwk\");\n\nvar $O5ywn = parcelRequire(\"O5ywn\");\n\nvar $1U9GM = parcelRequire(\"1U9GM\");\nvar $2a05499bef58a0cf$require$Buffer = $1U9GM.Buffer;\nvar $2a05499bef58a0cf$var$K = [\n 0x428A2F98,\n 0x71374491,\n 0xB5C0FBCF,\n 0xE9B5DBA5,\n 0x3956C25B,\n 0x59F111F1,\n 0x923F82A4,\n 0xAB1C5ED5,\n 0xD807AA98,\n 0x12835B01,\n 0x243185BE,\n 0x550C7DC3,\n 0x72BE5D74,\n 0x80DEB1FE,\n 0x9BDC06A7,\n 0xC19BF174,\n 0xE49B69C1,\n 0xEFBE4786,\n 0x0FC19DC6,\n 0x240CA1CC,\n 0x2DE92C6F,\n 0x4A7484AA,\n 0x5CB0A9DC,\n 0x76F988DA,\n 0x983E5152,\n 0xA831C66D,\n 0xB00327C8,\n 0xBF597FC7,\n 0xC6E00BF3,\n 0xD5A79147,\n 0x06CA6351,\n 0x14292967,\n 0x27B70A85,\n 0x2E1B2138,\n 0x4D2C6DFC,\n 0x53380D13,\n 0x650A7354,\n 0x766A0ABB,\n 0x81C2C92E,\n 0x92722C85,\n 0xA2BFE8A1,\n 0xA81A664B,\n 0xC24B8B70,\n 0xC76C51A3,\n 0xD192E819,\n 0xD6990624,\n 0xF40E3585,\n 0x106AA070,\n 0x19A4C116,\n 0x1E376C08,\n 0x2748774C,\n 0x34B0BCB5,\n 0x391C0CB3,\n 0x4ED8AA4A,\n 0x5B9CCA4F,\n 0x682E6FF3,\n 0x748F82EE,\n 0x78A5636F,\n 0x84C87814,\n 0x8CC70208,\n 0x90BEFFFA,\n 0xA4506CEB,\n 0xBEF9A3F7,\n 0xC67178F2\n];\nvar $2a05499bef58a0cf$var$W = new Array(64);\nfunction $2a05499bef58a0cf$var$Sha256() {\n this.init();\n this._w = $2a05499bef58a0cf$var$W // new Array(64)\n ;\n $O5ywn.call(this, 64, 56);\n}\n$dlqwk($2a05499bef58a0cf$var$Sha256, $O5ywn);\n$2a05499bef58a0cf$var$Sha256.prototype.init = function() {\n this._a = 0x6a09e667;\n this._b = 0xbb67ae85;\n this._c = 0x3c6ef372;\n this._d = 0xa54ff53a;\n this._e = 0x510e527f;\n this._f = 0x9b05688c;\n this._g = 0x1f83d9ab;\n this._h = 0x5be0cd19;\n return this;\n};\nfunction $2a05499bef58a0cf$var$ch(x, y, z) {\n return z ^ x & (y ^ z);\n}\nfunction $2a05499bef58a0cf$var$maj(x, y, z) {\n return x & y | z & (x | y);\n}\nfunction $2a05499bef58a0cf$var$sigma0(x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10);\n}\nfunction $2a05499bef58a0cf$var$sigma1(x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7);\n}\nfunction $2a05499bef58a0cf$var$gamma0(x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ x >>> 3;\n}\nfunction $2a05499bef58a0cf$var$gamma1(x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ x >>> 10;\n}\n$2a05499bef58a0cf$var$Sha256.prototype._update = function(M) {\n var W = this._w;\n var a = this._a | 0;\n var b = this._b | 0;\n var c = this._c | 0;\n var d = this._d | 0;\n var e = this._e | 0;\n var f = this._f | 0;\n var g = this._g | 0;\n var h = this._h | 0;\n for(var i = 0; i < 16; ++i)W[i] = M.readInt32BE(i * 4);\n for(; i < 64; ++i)W[i] = $2a05499bef58a0cf$var$gamma1(W[i - 2]) + W[i - 7] + $2a05499bef58a0cf$var$gamma0(W[i - 15]) + W[i - 16] | 0;\n for(var j = 0; j < 64; ++j){\n var T1 = h + $2a05499bef58a0cf$var$sigma1(e) + $2a05499bef58a0cf$var$ch(e, f, g) + $2a05499bef58a0cf$var$K[j] + W[j] | 0;\n var T2 = $2a05499bef58a0cf$var$sigma0(a) + $2a05499bef58a0cf$var$maj(a, b, c) | 0;\n h = g;\n g = f;\n f = e;\n e = d + T1 | 0;\n d = c;\n c = b;\n b = a;\n a = T1 + T2 | 0;\n }\n this._a = a + this._a | 0;\n this._b = b + this._b | 0;\n this._c = c + this._c | 0;\n this._d = d + this._d | 0;\n this._e = e + this._e | 0;\n this._f = f + this._f | 0;\n this._g = g + this._g | 0;\n this._h = h + this._h | 0;\n};\n$2a05499bef58a0cf$var$Sha256.prototype._hash = function() {\n var H = $2a05499bef58a0cf$require$Buffer.allocUnsafe(32);\n H.writeInt32BE(this._a, 0);\n H.writeInt32BE(this._b, 4);\n H.writeInt32BE(this._c, 8);\n H.writeInt32BE(this._d, 12);\n H.writeInt32BE(this._e, 16);\n H.writeInt32BE(this._f, 20);\n H.writeInt32BE(this._g, 24);\n H.writeInt32BE(this._h, 28);\n return H;\n};\nmodule.exports = $2a05499bef58a0cf$var$Sha256;\n\n});\n\n\nparcelRequire.register(\"5qHaZ\", function(module, exports) {\n\nvar $dlqwk = parcelRequire(\"dlqwk\");\n\nvar $bZI17 = parcelRequire(\"bZI17\");\n\nvar $O5ywn = parcelRequire(\"O5ywn\");\n\nvar $1U9GM = parcelRequire(\"1U9GM\");\nvar $01052ce47f94a5df$require$Buffer = $1U9GM.Buffer;\nvar $01052ce47f94a5df$var$W = new Array(160);\nfunction $01052ce47f94a5df$var$Sha384() {\n this.init();\n this._w = $01052ce47f94a5df$var$W;\n $O5ywn.call(this, 128, 112);\n}\n$dlqwk($01052ce47f94a5df$var$Sha384, $bZI17);\n$01052ce47f94a5df$var$Sha384.prototype.init = function() {\n this._ah = 0xcbbb9d5d;\n this._bh = 0x629a292a;\n this._ch = 0x9159015a;\n this._dh = 0x152fecd8;\n this._eh = 0x67332667;\n this._fh = 0x8eb44a87;\n this._gh = 0xdb0c2e0d;\n this._hh = 0x47b5481d;\n this._al = 0xc1059ed8;\n this._bl = 0x367cd507;\n this._cl = 0x3070dd17;\n this._dl = 0xf70e5939;\n this._el = 0xffc00b31;\n this._fl = 0x68581511;\n this._gl = 0x64f98fa7;\n this._hl = 0xbefa4fa4;\n return this;\n};\n$01052ce47f94a5df$var$Sha384.prototype._hash = function() {\n var H = $01052ce47f94a5df$require$Buffer.allocUnsafe(48);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset);\n H.writeInt32BE(l, offset + 4);\n }\n writeInt64BE(this._ah, this._al, 0);\n writeInt64BE(this._bh, this._bl, 8);\n writeInt64BE(this._ch, this._cl, 16);\n writeInt64BE(this._dh, this._dl, 24);\n writeInt64BE(this._eh, this._el, 32);\n writeInt64BE(this._fh, this._fl, 40);\n return H;\n};\nmodule.exports = $01052ce47f94a5df$var$Sha384;\n\n});\nparcelRequire.register(\"bZI17\", function(module, exports) {\n\nvar $dlqwk = parcelRequire(\"dlqwk\");\n\nvar $O5ywn = parcelRequire(\"O5ywn\");\n\nvar $1U9GM = parcelRequire(\"1U9GM\");\nvar $8bb7891960962038$require$Buffer = $1U9GM.Buffer;\nvar $8bb7891960962038$var$K = [\n 0x428a2f98,\n 0xd728ae22,\n 0x71374491,\n 0x23ef65cd,\n 0xb5c0fbcf,\n 0xec4d3b2f,\n 0xe9b5dba5,\n 0x8189dbbc,\n 0x3956c25b,\n 0xf348b538,\n 0x59f111f1,\n 0xb605d019,\n 0x923f82a4,\n 0xaf194f9b,\n 0xab1c5ed5,\n 0xda6d8118,\n 0xd807aa98,\n 0xa3030242,\n 0x12835b01,\n 0x45706fbe,\n 0x243185be,\n 0x4ee4b28c,\n 0x550c7dc3,\n 0xd5ffb4e2,\n 0x72be5d74,\n 0xf27b896f,\n 0x80deb1fe,\n 0x3b1696b1,\n 0x9bdc06a7,\n 0x25c71235,\n 0xc19bf174,\n 0xcf692694,\n 0xe49b69c1,\n 0x9ef14ad2,\n 0xefbe4786,\n 0x384f25e3,\n 0x0fc19dc6,\n 0x8b8cd5b5,\n 0x240ca1cc,\n 0x77ac9c65,\n 0x2de92c6f,\n 0x592b0275,\n 0x4a7484aa,\n 0x6ea6e483,\n 0x5cb0a9dc,\n 0xbd41fbd4,\n 0x76f988da,\n 0x831153b5,\n 0x983e5152,\n 0xee66dfab,\n 0xa831c66d,\n 0x2db43210,\n 0xb00327c8,\n 0x98fb213f,\n 0xbf597fc7,\n 0xbeef0ee4,\n 0xc6e00bf3,\n 0x3da88fc2,\n 0xd5a79147,\n 0x930aa725,\n 0x06ca6351,\n 0xe003826f,\n 0x14292967,\n 0x0a0e6e70,\n 0x27b70a85,\n 0x46d22ffc,\n 0x2e1b2138,\n 0x5c26c926,\n 0x4d2c6dfc,\n 0x5ac42aed,\n 0x53380d13,\n 0x9d95b3df,\n 0x650a7354,\n 0x8baf63de,\n 0x766a0abb,\n 0x3c77b2a8,\n 0x81c2c92e,\n 0x47edaee6,\n 0x92722c85,\n 0x1482353b,\n 0xa2bfe8a1,\n 0x4cf10364,\n 0xa81a664b,\n 0xbc423001,\n 0xc24b8b70,\n 0xd0f89791,\n 0xc76c51a3,\n 0x0654be30,\n 0xd192e819,\n 0xd6ef5218,\n 0xd6990624,\n 0x5565a910,\n 0xf40e3585,\n 0x5771202a,\n 0x106aa070,\n 0x32bbd1b8,\n 0x19a4c116,\n 0xb8d2d0c8,\n 0x1e376c08,\n 0x5141ab53,\n 0x2748774c,\n 0xdf8eeb99,\n 0x34b0bcb5,\n 0xe19b48a8,\n 0x391c0cb3,\n 0xc5c95a63,\n 0x4ed8aa4a,\n 0xe3418acb,\n 0x5b9cca4f,\n 0x7763e373,\n 0x682e6ff3,\n 0xd6b2b8a3,\n 0x748f82ee,\n 0x5defb2fc,\n 0x78a5636f,\n 0x43172f60,\n 0x84c87814,\n 0xa1f0ab72,\n 0x8cc70208,\n 0x1a6439ec,\n 0x90befffa,\n 0x23631e28,\n 0xa4506ceb,\n 0xde82bde9,\n 0xbef9a3f7,\n 0xb2c67915,\n 0xc67178f2,\n 0xe372532b,\n 0xca273ece,\n 0xea26619c,\n 0xd186b8c7,\n 0x21c0c207,\n 0xeada7dd6,\n 0xcde0eb1e,\n 0xf57d4f7f,\n 0xee6ed178,\n 0x06f067aa,\n 0x72176fba,\n 0x0a637dc5,\n 0xa2c898a6,\n 0x113f9804,\n 0xbef90dae,\n 0x1b710b35,\n 0x131c471b,\n 0x28db77f5,\n 0x23047d84,\n 0x32caab7b,\n 0x40c72493,\n 0x3c9ebe0a,\n 0x15c9bebc,\n 0x431d67c4,\n 0x9c100d4c,\n 0x4cc5d4be,\n 0xcb3e42b6,\n 0x597f299c,\n 0xfc657e2a,\n 0x5fcb6fab,\n 0x3ad6faec,\n 0x6c44198c,\n 0x4a475817\n];\nvar $8bb7891960962038$var$W = new Array(160);\nfunction $8bb7891960962038$var$Sha512() {\n this.init();\n this._w = $8bb7891960962038$var$W;\n $O5ywn.call(this, 128, 112);\n}\n$dlqwk($8bb7891960962038$var$Sha512, $O5ywn);\n$8bb7891960962038$var$Sha512.prototype.init = function() {\n this._ah = 0x6a09e667;\n this._bh = 0xbb67ae85;\n this._ch = 0x3c6ef372;\n this._dh = 0xa54ff53a;\n this._eh = 0x510e527f;\n this._fh = 0x9b05688c;\n this._gh = 0x1f83d9ab;\n this._hh = 0x5be0cd19;\n this._al = 0xf3bcc908;\n this._bl = 0x84caa73b;\n this._cl = 0xfe94f82b;\n this._dl = 0x5f1d36f1;\n this._el = 0xade682d1;\n this._fl = 0x2b3e6c1f;\n this._gl = 0xfb41bd6b;\n this._hl = 0x137e2179;\n return this;\n};\nfunction $8bb7891960962038$var$Ch(x, y, z) {\n return z ^ x & (y ^ z);\n}\nfunction $8bb7891960962038$var$maj(x, y, z) {\n return x & y | z & (x | y);\n}\nfunction $8bb7891960962038$var$sigma0(x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25);\n}\nfunction $8bb7891960962038$var$sigma1(x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23);\n}\nfunction $8bb7891960962038$var$Gamma0(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ x >>> 7;\n}\nfunction $8bb7891960962038$var$Gamma0l(x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25);\n}\nfunction $8bb7891960962038$var$Gamma1(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ x >>> 6;\n}\nfunction $8bb7891960962038$var$Gamma1l(x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26);\n}\nfunction $8bb7891960962038$var$getCarry(a, b) {\n return a >>> 0 < b >>> 0 ? 1 : 0;\n}\n$8bb7891960962038$var$Sha512.prototype._update = function(M) {\n var W = this._w;\n var ah = this._ah | 0;\n var bh = this._bh | 0;\n var ch = this._ch | 0;\n var dh = this._dh | 0;\n var eh = this._eh | 0;\n var fh = this._fh | 0;\n var gh = this._gh | 0;\n var hh = this._hh | 0;\n var al = this._al | 0;\n var bl = this._bl | 0;\n var cl = this._cl | 0;\n var dl = this._dl | 0;\n var el = this._el | 0;\n var fl = this._fl | 0;\n var gl = this._gl | 0;\n var hl = this._hl | 0;\n for(var i = 0; i < 32; i += 2){\n W[i] = M.readInt32BE(i * 4);\n W[i + 1] = M.readInt32BE(i * 4 + 4);\n }\n for(; i < 160; i += 2){\n var xh = W[i - 30];\n var xl = W[i - 30 + 1];\n var gamma0 = $8bb7891960962038$var$Gamma0(xh, xl);\n var gamma0l = $8bb7891960962038$var$Gamma0l(xl, xh);\n xh = W[i - 4];\n xl = W[i - 4 + 1];\n var gamma1 = $8bb7891960962038$var$Gamma1(xh, xl);\n var gamma1l = $8bb7891960962038$var$Gamma1l(xl, xh);\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 14];\n var Wi7l = W[i - 14 + 1];\n var Wi16h = W[i - 32];\n var Wi16l = W[i - 32 + 1];\n var Wil = gamma0l + Wi7l | 0;\n var Wih = gamma0 + Wi7h + $8bb7891960962038$var$getCarry(Wil, gamma0l) | 0;\n Wil = Wil + gamma1l | 0;\n Wih = Wih + gamma1 + $8bb7891960962038$var$getCarry(Wil, gamma1l) | 0;\n Wil = Wil + Wi16l | 0;\n Wih = Wih + Wi16h + $8bb7891960962038$var$getCarry(Wil, Wi16l) | 0;\n W[i] = Wih;\n W[i + 1] = Wil;\n }\n for(var j = 0; j < 160; j += 2){\n Wih = W[j];\n Wil = W[j + 1];\n var majh = $8bb7891960962038$var$maj(ah, bh, ch);\n var majl = $8bb7891960962038$var$maj(al, bl, cl);\n var sigma0h = $8bb7891960962038$var$sigma0(ah, al);\n var sigma0l = $8bb7891960962038$var$sigma0(al, ah);\n var sigma1h = $8bb7891960962038$var$sigma1(eh, el);\n var sigma1l = $8bb7891960962038$var$sigma1(el, eh);\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = $8bb7891960962038$var$K[j];\n var Kil = $8bb7891960962038$var$K[j + 1];\n var chh = $8bb7891960962038$var$Ch(eh, fh, gh);\n var chl = $8bb7891960962038$var$Ch(el, fl, gl);\n var t1l = hl + sigma1l | 0;\n var t1h = hh + sigma1h + $8bb7891960962038$var$getCarry(t1l, hl) | 0;\n t1l = t1l + chl | 0;\n t1h = t1h + chh + $8bb7891960962038$var$getCarry(t1l, chl) | 0;\n t1l = t1l + Kil | 0;\n t1h = t1h + Kih + $8bb7891960962038$var$getCarry(t1l, Kil) | 0;\n t1l = t1l + Wil | 0;\n t1h = t1h + Wih + $8bb7891960962038$var$getCarry(t1l, Wil) | 0;\n // t2 = sigma0 + maj\n var t2l = sigma0l + majl | 0;\n var t2h = sigma0h + majh + $8bb7891960962038$var$getCarry(t2l, sigma0l) | 0;\n hh = gh;\n hl = gl;\n gh = fh;\n gl = fl;\n fh = eh;\n fl = el;\n el = dl + t1l | 0;\n eh = dh + t1h + $8bb7891960962038$var$getCarry(el, dl) | 0;\n dh = ch;\n dl = cl;\n ch = bh;\n cl = bl;\n bh = ah;\n bl = al;\n al = t1l + t2l | 0;\n ah = t1h + t2h + $8bb7891960962038$var$getCarry(al, t1l) | 0;\n }\n this._al = this._al + al | 0;\n this._bl = this._bl + bl | 0;\n this._cl = this._cl + cl | 0;\n this._dl = this._dl + dl | 0;\n this._el = this._el + el | 0;\n this._fl = this._fl + fl | 0;\n this._gl = this._gl + gl | 0;\n this._hl = this._hl + hl | 0;\n this._ah = this._ah + ah + $8bb7891960962038$var$getCarry(this._al, al) | 0;\n this._bh = this._bh + bh + $8bb7891960962038$var$getCarry(this._bl, bl) | 0;\n this._ch = this._ch + ch + $8bb7891960962038$var$getCarry(this._cl, cl) | 0;\n this._dh = this._dh + dh + $8bb7891960962038$var$getCarry(this._dl, dl) | 0;\n this._eh = this._eh + eh + $8bb7891960962038$var$getCarry(this._el, el) | 0;\n this._fh = this._fh + fh + $8bb7891960962038$var$getCarry(this._fl, fl) | 0;\n this._gh = this._gh + gh + $8bb7891960962038$var$getCarry(this._gl, gl) | 0;\n this._hh = this._hh + hh + $8bb7891960962038$var$getCarry(this._hl, hl) | 0;\n};\n$8bb7891960962038$var$Sha512.prototype._hash = function() {\n var H = $8bb7891960962038$require$Buffer.allocUnsafe(64);\n function writeInt64BE(h, l, offset) {\n H.writeInt32BE(h, offset);\n H.writeInt32BE(l, offset + 4);\n }\n writeInt64BE(this._ah, this._al, 0);\n writeInt64BE(this._bh, this._bl, 8);\n writeInt64BE(this._ch, this._cl, 16);\n writeInt64BE(this._dh, this._dl, 24);\n writeInt64BE(this._eh, this._el, 32);\n writeInt64BE(this._fh, this._fl, 40);\n writeInt64BE(this._gh, this._gl, 48);\n writeInt64BE(this._hh, this._hl, 56);\n return H;\n};\nmodule.exports = $8bb7891960962038$var$Sha512;\n\n});\n\n\n\nparcelRequire.register(\"26nOC\", function(module, exports) {\n\nvar $1U9GM = parcelRequire(\"1U9GM\");\nvar $187e9d8dfda3dbba$require$Buffer = $1U9GM.Buffer;\n\nvar $ioRHp = parcelRequire(\"ioRHp\");\nvar $187e9d8dfda3dbba$require$Transform = $ioRHp.Transform;\n\nvar $eNRCS = parcelRequire(\"eNRCS\");\nvar $187e9d8dfda3dbba$require$StringDecoder = $eNRCS.StringDecoder;\n\nvar $dlqwk = parcelRequire(\"dlqwk\");\nfunction $187e9d8dfda3dbba$var$CipherBase(hashMode) {\n $187e9d8dfda3dbba$require$Transform.call(this);\n this.hashMode = typeof hashMode === \"string\";\n if (this.hashMode) this[hashMode] = this._finalOrDigest;\n else this.final = this._finalOrDigest;\n if (this._final) {\n this.__final = this._final;\n this._final = null;\n }\n this._decoder = null;\n this._encoding = null;\n}\n$dlqwk($187e9d8dfda3dbba$var$CipherBase, $187e9d8dfda3dbba$require$Transform);\n$187e9d8dfda3dbba$var$CipherBase.prototype.update = function(data, inputEnc, outputEnc) {\n if (typeof data === \"string\") data = $187e9d8dfda3dbba$require$Buffer.from(data, inputEnc);\n var outData = this._update(data);\n if (this.hashMode) return this;\n if (outputEnc) outData = this._toString(outData, outputEnc);\n return outData;\n};\n$187e9d8dfda3dbba$var$CipherBase.prototype.setAutoPadding = function() {};\n$187e9d8dfda3dbba$var$CipherBase.prototype.getAuthTag = function() {\n throw new Error(\"trying to get auth tag in unsupported state\");\n};\n$187e9d8dfda3dbba$var$CipherBase.prototype.setAuthTag = function() {\n throw new Error(\"trying to set auth tag in unsupported state\");\n};\n$187e9d8dfda3dbba$var$CipherBase.prototype.setAAD = function() {\n throw new Error(\"trying to set aad in unsupported state\");\n};\n$187e9d8dfda3dbba$var$CipherBase.prototype._transform = function(data, _, next) {\n var err;\n try {\n if (this.hashMode) this._update(data);\n else this.push(this._update(data));\n } catch (e) {\n err = e;\n } finally{\n next(err);\n }\n};\n$187e9d8dfda3dbba$var$CipherBase.prototype._flush = function(done) {\n var err;\n try {\n this.push(this.__final());\n } catch (e) {\n err = e;\n }\n done(err);\n};\n$187e9d8dfda3dbba$var$CipherBase.prototype._finalOrDigest = function(outputEnc) {\n var outData = this.__final() || $187e9d8dfda3dbba$require$Buffer.alloc(0);\n if (outputEnc) outData = this._toString(outData, outputEnc, true);\n return outData;\n};\n$187e9d8dfda3dbba$var$CipherBase.prototype._toString = function(value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new $187e9d8dfda3dbba$require$StringDecoder(enc);\n this._encoding = enc;\n }\n if (this._encoding !== enc) throw new Error(\"can't switch encodings\");\n var out = this._decoder.write(value);\n if (fin) out += this._decoder.end();\n return out;\n};\nmodule.exports = $187e9d8dfda3dbba$var$CipherBase;\n\n});\nparcelRequire.register(\"ioRHp\", function(module, exports) {\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\nmodule.exports = $d6541f691ffb0af6$var$Stream;\n\nvar $7etJZ = parcelRequire(\"7etJZ\");\nvar $d6541f691ffb0af6$require$EE = $7etJZ.EventEmitter;\n\nvar $dlqwk = parcelRequire(\"dlqwk\");\n$dlqwk($d6541f691ffb0af6$var$Stream, $d6541f691ffb0af6$require$EE);\n\n$d6541f691ffb0af6$var$Stream.Readable = (parcelRequire(\"d4xg3\"));\n\n$d6541f691ffb0af6$var$Stream.Writable = (parcelRequire(\"3LwY7\"));\n\n$d6541f691ffb0af6$var$Stream.Duplex = (parcelRequire(\"DwJuQ\"));\n\n$d6541f691ffb0af6$var$Stream.Transform = (parcelRequire(\"b7kl8\"));\n\n$d6541f691ffb0af6$var$Stream.PassThrough = (parcelRequire(\"4wWcs\"));\n\n$d6541f691ffb0af6$var$Stream.finished = (parcelRequire(\"fiCvv\"));\n\n$d6541f691ffb0af6$var$Stream.pipeline = (parcelRequire(\"aGSwO\"));\n// Backwards-compat with node 0.4.x\n$d6541f691ffb0af6$var$Stream.Stream = $d6541f691ffb0af6$var$Stream;\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\nfunction $d6541f691ffb0af6$var$Stream() {\n $d6541f691ffb0af6$require$EE.call(this);\n}\n$d6541f691ffb0af6$var$Stream.prototype.pipe = function(dest, options) {\n var source = this;\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) source.pause();\n }\n }\n source.on(\"data\", ondata);\n function ondrain() {\n if (source.readable && source.resume) source.resume();\n }\n dest.on(\"drain\", ondrain);\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on(\"end\", onend);\n source.on(\"close\", onclose);\n }\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n dest.end();\n }\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n if (typeof dest.destroy === \"function\") dest.destroy();\n }\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if ($d6541f691ffb0af6$require$EE.listenerCount(this, \"error\") === 0) throw er; // Unhandled stream error in pipe.\n }\n source.on(\"error\", onerror);\n dest.on(\"error\", onerror);\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener(\"data\", ondata);\n dest.removeListener(\"drain\", ondrain);\n source.removeListener(\"end\", onend);\n source.removeListener(\"close\", onclose);\n source.removeListener(\"error\", onerror);\n dest.removeListener(\"error\", onerror);\n source.removeListener(\"end\", cleanup);\n source.removeListener(\"close\", cleanup);\n dest.removeListener(\"close\", cleanup);\n }\n source.on(\"end\", cleanup);\n source.on(\"close\", cleanup);\n dest.on(\"close\", cleanup);\n dest.emit(\"pipe\", source);\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n\n});\n\n\n\n\nparcelRequire.register(\"eLj8Y\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $abf44dff9428eb2b$require$Buffer = $6ZWSX.Buffer;\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.toType = module.exports.TypeOutput = module.exports.bnToRlp = module.exports.bnToUnpaddedBuffer = module.exports.bnToHex = void 0;\n\nvar $4jhio = parcelRequire(\"4jhio\");\n\nvar $aj8Qm = parcelRequire(\"aj8Qm\");\n\nvar $b61lJ = parcelRequire(\"b61lJ\");\n/**\n * Convert BN to 0x-prefixed hex string.\n */ function $abf44dff9428eb2b$var$bnToHex(value) {\n return \"0x\".concat(value.toString(16));\n}\nmodule.exports.bnToHex = $abf44dff9428eb2b$var$bnToHex;\n/**\n * Convert value from BN to an unpadded Buffer\n * (useful for RLP transport)\n * @param value value to convert\n */ function $abf44dff9428eb2b$var$bnToUnpaddedBuffer(value) {\n // Using `bn.toArrayLike(Buffer)` instead of `bn.toBuffer()`\n // for compatibility with browserify and similar tools\n return (0, $b61lJ.unpadBuffer)(value.toArrayLike($abf44dff9428eb2b$require$Buffer));\n}\nmodule.exports.bnToUnpaddedBuffer = $abf44dff9428eb2b$var$bnToUnpaddedBuffer;\n/**\n * Deprecated alias for {@link bnToUnpaddedBuffer}\n * @deprecated\n */ function $abf44dff9428eb2b$var$bnToRlp(value) {\n return $abf44dff9428eb2b$var$bnToUnpaddedBuffer(value);\n}\nmodule.exports.bnToRlp = $abf44dff9428eb2b$var$bnToRlp;\n/**\n * Type output options\n */ var $abf44dff9428eb2b$var$TypeOutput;\n(function(TypeOutput) {\n TypeOutput[TypeOutput[\"Number\"] = 0] = \"Number\";\n TypeOutput[TypeOutput[\"BN\"] = 1] = \"BN\";\n TypeOutput[TypeOutput[\"Buffer\"] = 2] = \"Buffer\";\n TypeOutput[TypeOutput[\"PrefixedHexString\"] = 3] = \"PrefixedHexString\";\n})($abf44dff9428eb2b$var$TypeOutput = module.exports.TypeOutput || (module.exports.TypeOutput = {}));\nfunction $abf44dff9428eb2b$var$toType(input, outputType) {\n if (input === null) return null;\n if (input === undefined) return undefined;\n if (typeof input === \"string\" && !(0, $aj8Qm.isHexString)(input)) throw new Error(\"A string must be provided with a 0x-prefix, given: \".concat(input));\n else if (typeof input === \"number\" && !Number.isSafeInteger(input)) throw new Error(\"The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)\");\n var output = (0, $b61lJ.toBuffer)(input);\n if (outputType === $abf44dff9428eb2b$var$TypeOutput.Buffer) return output;\n else if (outputType === $abf44dff9428eb2b$var$TypeOutput.BN) return new $4jhio.BN(output);\n else if (outputType === $abf44dff9428eb2b$var$TypeOutput.Number) {\n var bn = new $4jhio.BN(output);\n var max = new $4jhio.BN(Number.MAX_SAFE_INTEGER.toString());\n if (bn.gt(max)) throw new Error(\"The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)\");\n return bn.toNumber();\n } else // outputType === TypeOutput.PrefixedHexString\n return \"0x\".concat(output.toString(\"hex\"));\n}\nmodule.exports.toType = $abf44dff9428eb2b$var$toType;\n\n});\n\n\nparcelRequire.register(\"aSXhg\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $7eccedcfb056007a$require$Buffer = $6ZWSX.Buffer;\n\"use strict\";\nvar $7eccedcfb056007a$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Address = void 0;\n\nvar $7eccedcfb056007a$var$assert_1 = $7eccedcfb056007a$var$__importDefault((parcelRequire(\"aLUwE\")));\n\nvar $4jhio = parcelRequire(\"4jhio\");\n\nvar $b61lJ = parcelRequire(\"b61lJ\");\n\nvar $idiNS = parcelRequire(\"idiNS\");\nvar $7eccedcfb056007a$var$Address = /** @class */ function() {\n function Address(buf) {\n (0, $7eccedcfb056007a$var$assert_1.default)(buf.length === 20, \"Invalid address length\");\n this.buf = buf;\n }\n /**\n * Returns the zero address.\n */ Address.zero = function() {\n return new Address((0, $b61lJ.zeros)(20));\n };\n /**\n * Returns an Address object from a hex-encoded string.\n * @param str - Hex-encoded address\n */ Address.fromString = function(str) {\n (0, $7eccedcfb056007a$var$assert_1.default)((0, $idiNS.isValidAddress)(str), \"Invalid address\");\n return new Address((0, $b61lJ.toBuffer)(str));\n };\n /**\n * Returns an address for a given public key.\n * @param pubKey The two points of an uncompressed key\n */ Address.fromPublicKey = function(pubKey) {\n (0, $7eccedcfb056007a$var$assert_1.default)($7eccedcfb056007a$require$Buffer.isBuffer(pubKey), \"Public key should be Buffer\");\n var buf = (0, $idiNS.pubToAddress)(pubKey);\n return new Address(buf);\n };\n /**\n * Returns an address for a given private key.\n * @param privateKey A private key must be 256 bits wide\n */ Address.fromPrivateKey = function(privateKey) {\n (0, $7eccedcfb056007a$var$assert_1.default)($7eccedcfb056007a$require$Buffer.isBuffer(privateKey), \"Private key should be Buffer\");\n var buf = (0, $idiNS.privateToAddress)(privateKey);\n return new Address(buf);\n };\n /**\n * Generates an address for a newly created contract.\n * @param from The address which is creating this new address\n * @param nonce The nonce of the from account\n */ Address.generate = function(from, nonce) {\n (0, $7eccedcfb056007a$var$assert_1.default)($4jhio.BN.isBN(nonce));\n return new Address((0, $idiNS.generateAddress)(from.buf, nonce.toArrayLike($7eccedcfb056007a$require$Buffer)));\n };\n /**\n * Generates an address for a contract created using CREATE2.\n * @param from The address which is creating this new address\n * @param salt A salt\n * @param initCode The init code of the contract being created\n */ Address.generate2 = function(from, salt, initCode) {\n (0, $7eccedcfb056007a$var$assert_1.default)($7eccedcfb056007a$require$Buffer.isBuffer(salt));\n (0, $7eccedcfb056007a$var$assert_1.default)($7eccedcfb056007a$require$Buffer.isBuffer(initCode));\n return new Address((0, $idiNS.generateAddress2)(from.buf, salt, initCode));\n };\n /**\n * Is address equal to another.\n */ Address.prototype.equals = function(address) {\n return this.buf.equals(address.buf);\n };\n /**\n * Is address zero.\n */ Address.prototype.isZero = function() {\n return this.equals(Address.zero());\n };\n /**\n * True if address is in the address range defined\n * by EIP-1352\n */ Address.prototype.isPrecompileOrSystemAddress = function() {\n var addressBN = new $4jhio.BN(this.buf);\n var rangeMin = new $4jhio.BN(0);\n var rangeMax = new $4jhio.BN(\"ffff\", \"hex\");\n return addressBN.gte(rangeMin) && addressBN.lte(rangeMax);\n };\n /**\n * Returns hex encoding of address.\n */ Address.prototype.toString = function() {\n return \"0x\" + this.buf.toString(\"hex\");\n };\n /**\n * Returns Buffer representation of address.\n */ Address.prototype.toBuffer = function() {\n return $7eccedcfb056007a$require$Buffer.from(this.buf);\n };\n return Address;\n}();\nmodule.exports.Address = $7eccedcfb056007a$var$Address;\n\n});\n\nparcelRequire.register(\"67JT1\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $4756fda0b84972b4$require$Buffer = $6ZWSX.Buffer;\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.hashPersonalMessage = module.exports.isValidSignature = module.exports.fromRpcSig = module.exports.toCompactSig = module.exports.toRpcSig = module.exports.ecrecover = module.exports.ecsign = void 0;\n\nvar $iET4t = parcelRequire(\"iET4t\");\n\nvar $4jhio = parcelRequire(\"4jhio\");\n\nvar $b61lJ = parcelRequire(\"b61lJ\");\n\nvar $gKSHR = parcelRequire(\"gKSHR\");\n\nvar $7jIKp = parcelRequire(\"7jIKp\");\n\nvar $eLj8Y = parcelRequire(\"eLj8Y\");\nfunction $4756fda0b84972b4$var$ecsign(msgHash, privateKey, chainId) {\n var _a = (0, $iET4t.ecdsaSign)(msgHash, privateKey), signature = _a.signature, recovery = _a.recid;\n var r = $4756fda0b84972b4$require$Buffer.from(signature.slice(0, 32));\n var s = $4756fda0b84972b4$require$Buffer.from(signature.slice(32, 64));\n if (!chainId || typeof chainId === \"number\") {\n // return legacy type ECDSASignature (deprecated in favor of ECDSASignatureBuffer to handle large chainIds)\n if (chainId && !Number.isSafeInteger(chainId)) throw new Error(\"The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)\");\n var v_1 = chainId ? recovery + (chainId * 2 + 35) : recovery + 27;\n return {\n r: r,\n s: s,\n v: v_1\n };\n }\n var chainIdBN = (0, $eLj8Y.toType)(chainId, $eLj8Y.TypeOutput.BN);\n var v = chainIdBN.muln(2).addn(35).addn(recovery).toArrayLike($4756fda0b84972b4$require$Buffer);\n return {\n r: r,\n s: s,\n v: v\n };\n}\nmodule.exports.ecsign = $4756fda0b84972b4$var$ecsign;\nfunction $4756fda0b84972b4$var$calculateSigRecovery(v, chainId) {\n var vBN = (0, $eLj8Y.toType)(v, $eLj8Y.TypeOutput.BN);\n if (vBN.eqn(0) || vBN.eqn(1)) return (0, $eLj8Y.toType)(v, $eLj8Y.TypeOutput.BN);\n if (!chainId) return vBN.subn(27);\n var chainIdBN = (0, $eLj8Y.toType)(chainId, $eLj8Y.TypeOutput.BN);\n return vBN.sub(chainIdBN.muln(2).addn(35));\n}\nfunction $4756fda0b84972b4$var$isValidSigRecovery(recovery) {\n var rec = new $4jhio.BN(recovery);\n return rec.eqn(0) || rec.eqn(1);\n}\n/**\n * ECDSA public key recovery from signature.\n * NOTE: Accepts `v == 0 | v == 1` for EIP1559 transactions\n * @returns Recovered public key\n */ var $4756fda0b84972b4$var$ecrecover = function(msgHash, v, r, s, chainId) {\n var signature = $4756fda0b84972b4$require$Buffer.concat([\n (0, $b61lJ.setLengthLeft)(r, 32),\n (0, $b61lJ.setLengthLeft)(s, 32)\n ], 64);\n var recovery = $4756fda0b84972b4$var$calculateSigRecovery(v, chainId);\n if (!$4756fda0b84972b4$var$isValidSigRecovery(recovery)) throw new Error(\"Invalid signature v value\");\n var senderPubKey = (0, $iET4t.ecdsaRecover)(signature, recovery.toNumber(), msgHash);\n return $4756fda0b84972b4$require$Buffer.from((0, $iET4t.publicKeyConvert)(senderPubKey, false).slice(1));\n};\nmodule.exports.ecrecover = $4756fda0b84972b4$var$ecrecover;\n/**\n * Convert signature parameters into the format of `eth_sign` RPC method.\n * NOTE: Accepts `v == 0 | v == 1` for EIP1559 transactions\n * @returns Signature\n */ var $4756fda0b84972b4$var$toRpcSig = function(v, r, s, chainId) {\n var recovery = $4756fda0b84972b4$var$calculateSigRecovery(v, chainId);\n if (!$4756fda0b84972b4$var$isValidSigRecovery(recovery)) throw new Error(\"Invalid signature v value\");\n // geth (and the RPC eth_sign method) uses the 65 byte format used by Bitcoin\n return (0, $b61lJ.bufferToHex)($4756fda0b84972b4$require$Buffer.concat([\n (0, $b61lJ.setLengthLeft)(r, 32),\n (0, $b61lJ.setLengthLeft)(s, 32),\n (0, $b61lJ.toBuffer)(v)\n ]));\n};\nmodule.exports.toRpcSig = $4756fda0b84972b4$var$toRpcSig;\n/**\n * Convert signature parameters into the format of Compact Signature Representation (EIP-2098).\n * NOTE: Accepts `v == 0 | v == 1` for EIP1559 transactions\n * @returns Signature\n */ var $4756fda0b84972b4$var$toCompactSig = function(v, r, s, chainId) {\n var recovery = $4756fda0b84972b4$var$calculateSigRecovery(v, chainId);\n if (!$4756fda0b84972b4$var$isValidSigRecovery(recovery)) throw new Error(\"Invalid signature v value\");\n var vn = (0, $eLj8Y.toType)(v, $eLj8Y.TypeOutput.Number);\n var ss = s;\n if (vn > 28 && vn % 2 === 1 || vn === 1 || vn === 28) {\n ss = $4756fda0b84972b4$require$Buffer.from(s);\n ss[0] |= 0x80;\n }\n return (0, $b61lJ.bufferToHex)($4756fda0b84972b4$require$Buffer.concat([\n (0, $b61lJ.setLengthLeft)(r, 32),\n (0, $b61lJ.setLengthLeft)(ss, 32)\n ]));\n};\nmodule.exports.toCompactSig = $4756fda0b84972b4$var$toCompactSig;\n/**\n * Convert signature format of the `eth_sign` RPC method to signature parameters\n * NOTE: all because of a bug in geth: https://github.com/ethereum/go-ethereum/issues/2053\n * NOTE: After EIP1559, `v` could be `0` or `1` but this function assumes\n * it's a signed message (EIP-191 or EIP-712) adding `27` at the end. Remove if needed.\n */ var $4756fda0b84972b4$var$fromRpcSig = function(sig) {\n var buf = (0, $b61lJ.toBuffer)(sig);\n var r;\n var s;\n var v;\n if (buf.length >= 65) {\n r = buf.slice(0, 32);\n s = buf.slice(32, 64);\n v = (0, $b61lJ.bufferToInt)(buf.slice(64));\n } else if (buf.length === 64) {\n // Compact Signature Representation (https://eips.ethereum.org/EIPS/eip-2098)\n r = buf.slice(0, 32);\n s = buf.slice(32, 64);\n v = (0, $b61lJ.bufferToInt)(buf.slice(32, 33)) >> 7;\n s[0] &= 0x7f;\n } else throw new Error(\"Invalid signature length\");\n // support both versions of `eth_sign` responses\n if (v < 27) v += 27;\n return {\n v: v,\n r: r,\n s: s\n };\n};\nmodule.exports.fromRpcSig = $4756fda0b84972b4$var$fromRpcSig;\n/**\n * Validate a ECDSA signature.\n * NOTE: Accepts `v == 0 | v == 1` for EIP1559 transactions\n * @param homesteadOrLater Indicates whether this is being used on either the homestead hardfork or a later one\n */ var $4756fda0b84972b4$var$isValidSignature = function(v, r, s, homesteadOrLater, chainId) {\n if (homesteadOrLater === void 0) homesteadOrLater = true;\n var SECP256K1_N_DIV_2 = new $4jhio.BN(\"7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0\", 16);\n var SECP256K1_N = new $4jhio.BN(\"fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\", 16);\n if (r.length !== 32 || s.length !== 32) return false;\n if (!$4756fda0b84972b4$var$isValidSigRecovery($4756fda0b84972b4$var$calculateSigRecovery(v, chainId))) return false;\n var rBN = new $4jhio.BN(r);\n var sBN = new $4jhio.BN(s);\n if (rBN.isZero() || rBN.gt(SECP256K1_N) || sBN.isZero() || sBN.gt(SECP256K1_N)) return false;\n if (homesteadOrLater && sBN.cmp(SECP256K1_N_DIV_2) === 1) return false;\n return true;\n};\nmodule.exports.isValidSignature = $4756fda0b84972b4$var$isValidSignature;\n/**\n * Returns the keccak-256 hash of `message`, prefixed with the header used by the `eth_sign` RPC call.\n * The output of this function can be fed into `ecsign` to produce the same signature as the `eth_sign`\n * call for a given `message`, or fed to `ecrecover` along with a signature to recover the public key\n * used to produce the signature.\n */ var $4756fda0b84972b4$var$hashPersonalMessage = function(message) {\n (0, $7jIKp.assertIsBuffer)(message);\n var prefix = $4756fda0b84972b4$require$Buffer.from(\"\\x19Ethereum Signed Message:\\n\".concat(message.length), \"utf-8\");\n return (0, $gKSHR.keccak)($4756fda0b84972b4$require$Buffer.concat([\n prefix,\n message\n ]));\n};\nmodule.exports.hashPersonalMessage = $4756fda0b84972b4$var$hashPersonalMessage;\n\n});\n\nparcelRequire.register(\"cLPFP\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $94c1f52609770e02$require$Buffer = $6ZWSX.Buffer;\n\"use strict\";\nvar $94c1f52609770e02$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.defineProperties = void 0;\n\nvar $94c1f52609770e02$var$assert_1 = $94c1f52609770e02$var$__importDefault((parcelRequire(\"aLUwE\")));\n\nvar $aj8Qm = parcelRequire(\"aj8Qm\");\n\nvar $4jhio = parcelRequire(\"4jhio\");\n\nvar $b61lJ = parcelRequire(\"b61lJ\");\n/**\n * Defines properties on a `Object`. It make the assumption that underlying data is binary.\n * @param self the `Object` to define properties on\n * @param fields an array fields to define. Fields can contain:\n * * `name` - the name of the properties\n * * `length` - the number of bytes the field can have\n * * `allowLess` - if the field can be less than the length\n * * `allowEmpty`\n * @param data data to be validated against the definitions\n * @deprecated\n */ var $94c1f52609770e02$var$defineProperties = function(self, fields, data) {\n self.raw = [];\n self._fields = [];\n // attach the `toJSON`\n self.toJSON = function(label) {\n if (label === void 0) label = false;\n if (label) {\n var obj_1 = {};\n self._fields.forEach(function(field) {\n obj_1[field] = \"0x\".concat(self[field].toString(\"hex\"));\n });\n return obj_1;\n }\n return (0, $b61lJ.baToJSON)(self.raw);\n };\n self.serialize = function serialize() {\n return $4jhio.rlp.encode(self.raw);\n };\n fields.forEach(function(field, i) {\n self._fields.push(field.name);\n function getter() {\n return self.raw[i];\n }\n function setter(v) {\n v = (0, $b61lJ.toBuffer)(v);\n if (v.toString(\"hex\") === \"00\" && !field.allowZero) v = $94c1f52609770e02$require$Buffer.allocUnsafe(0);\n if (field.allowLess && field.length) {\n v = (0, $b61lJ.unpadBuffer)(v);\n (0, $94c1f52609770e02$var$assert_1.default)(field.length >= v.length, \"The field \".concat(field.name, \" must not have more \").concat(field.length, \" bytes\"));\n } else if (!(field.allowZero && v.length === 0) && field.length) (0, $94c1f52609770e02$var$assert_1.default)(field.length === v.length, \"The field \".concat(field.name, \" must have byte length of \").concat(field.length));\n self.raw[i] = v;\n }\n Object.defineProperty(self, field.name, {\n enumerable: true,\n configurable: true,\n get: getter,\n set: setter\n });\n if (field.default) self[field.name] = field.default;\n // attach alias\n if (field.alias) Object.defineProperty(self, field.alias, {\n enumerable: false,\n configurable: true,\n set: setter,\n get: getter\n });\n });\n // if the constuctor is passed data\n if (data) {\n if (typeof data === \"string\") data = $94c1f52609770e02$require$Buffer.from((0, $aj8Qm.stripHexPrefix)(data), \"hex\");\n if ($94c1f52609770e02$require$Buffer.isBuffer(data)) data = $4jhio.rlp.decode(data);\n if (Array.isArray(data)) {\n if (data.length > self._fields.length) throw new Error(\"wrong number of fields in data\");\n // make sure all the items are buffers\n data.forEach(function(d, i) {\n self[self._fields[i]] = (0, $b61lJ.toBuffer)(d);\n });\n } else if (typeof data === \"object\") {\n var keys_1 = Object.keys(data);\n fields.forEach(function(field) {\n if (keys_1.indexOf(field.name) !== -1) self[field.name] = data[field.name];\n if (keys_1.indexOf(field.alias) !== -1) self[field.alias] = data[field.alias];\n });\n } else throw new Error(\"invalid data\");\n }\n};\nmodule.exports.defineProperties = $94c1f52609770e02$var$defineProperties;\n\n});\n\n\nparcelRequire.register(\"36d7k\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $h9flZ = parcelRequire(\"h9flZ\");\n/**\r\n * Returns true if the bloom is a valid bloom\r\n * @param bloom The bloom\r\n */ function $241c1b70d6ad639f$var$isBloom(bloom) {\n if (typeof bloom !== \"string\") return false;\n if (!/^(0x)?[0-9a-f]{512}$/i.test(bloom)) return false;\n if (/^(0x)?[0-9a-f]{512}$/.test(bloom) || /^(0x)?[0-9A-F]{512}$/.test(bloom)) return true;\n return false;\n}\nmodule.exports.isBloom = $241c1b70d6ad639f$var$isBloom;\n/**\r\n * Returns true if the value is part of the given bloom\r\n * note: false positives are possible.\r\n * @param bloom encoded bloom\r\n * @param value The value\r\n */ function $241c1b70d6ad639f$var$isInBloom(bloom, value) {\n if (typeof value === \"object\" && value.constructor === Uint8Array) value = $h9flZ.bytesToHex(value);\n const hash = $h9flZ.keccak256(value).replace(\"0x\", \"\");\n for(let i = 0; i < 12; i += 4){\n // calculate bit position in bloom filter that must be active\n const bitpos = (parseInt(hash.substr(i, 2), 16) << 8) + parseInt(hash.substr(i + 2, 2), 16) & 2047;\n // test if bitpos in bloom is active\n const code = $241c1b70d6ad639f$var$codePointToInt(bloom.charCodeAt(bloom.length - 1 - Math.floor(bitpos / 4)));\n const offset = 1 << bitpos % 4;\n if ((code & offset) !== offset) return false;\n }\n return true;\n}\nmodule.exports.isInBloom = $241c1b70d6ad639f$var$isInBloom;\n/**\r\n * Code points to int\r\n * @param codePoint The code point\r\n */ function $241c1b70d6ad639f$var$codePointToInt(codePoint) {\n if (codePoint >= 48 && codePoint <= 57) /* ['0'..'9'] -> [0..9] */ return codePoint - 48;\n if (codePoint >= 65 && codePoint <= 70) /* ['A'..'F'] -> [10..15] */ return codePoint - 55;\n if (codePoint >= 97 && codePoint <= 102) /* ['a'..'f'] -> [10..15] */ return codePoint - 87;\n throw new Error(\"invalid bloom\");\n}\n/**\r\n * Returns true if the ethereum users address is part of the given bloom.\r\n * note: false positives are possible.\r\n * @param bloom encoded bloom\r\n * @param address the address to test\r\n */ function $241c1b70d6ad639f$var$isUserEthereumAddressInBloom(bloom, ethereumAddress) {\n if (!$241c1b70d6ad639f$var$isBloom(bloom)) throw new Error(\"Invalid bloom given\");\n if (!$241c1b70d6ad639f$var$isAddress(ethereumAddress)) throw new Error(`Invalid ethereum address given: \"${ethereumAddress}\"`);\n // you have to pad the ethereum address to 32 bytes\n // else the bloom filter does not work\n // this is only if your matching the USERS\n // ethereum address. Contract address do not need this\n // hence why we have 2 methods\n // (0x is not in the 2nd parameter of padleft so 64 chars is fine)\n const address = $h9flZ.padLeft(ethereumAddress, 64);\n return $241c1b70d6ad639f$var$isInBloom(bloom, address);\n}\nmodule.exports.isUserEthereumAddressInBloom = $241c1b70d6ad639f$var$isUserEthereumAddressInBloom;\n/**\r\n * Returns true if the contract address is part of the given bloom.\r\n * note: false positives are possible.\r\n * @param bloom encoded bloom\r\n * @param contractAddress the contract address to test\r\n */ function $241c1b70d6ad639f$var$isContractAddressInBloom(bloom, contractAddress) {\n if (!$241c1b70d6ad639f$var$isBloom(bloom)) throw new Error(\"Invalid bloom given\");\n if (!$241c1b70d6ad639f$var$isAddress(contractAddress)) throw new Error(`Invalid contract address given: \"${contractAddress}\"`);\n return $241c1b70d6ad639f$var$isInBloom(bloom, contractAddress);\n}\nmodule.exports.isContractAddressInBloom = $241c1b70d6ad639f$var$isContractAddressInBloom;\n/**\r\n * Returns true if the topic is part of the given bloom.\r\n * note: false positives are possible.\r\n * @param bloom encoded bloom\r\n * @param topic the topic encoded hex\r\n */ function $241c1b70d6ad639f$var$isTopicInBloom(bloom, topic) {\n if (!$241c1b70d6ad639f$var$isBloom(bloom)) throw new Error(\"Invalid bloom given\");\n if (!$241c1b70d6ad639f$var$isTopic(topic)) throw new Error(\"Invalid topic\");\n return $241c1b70d6ad639f$var$isInBloom(bloom, topic);\n}\nmodule.exports.isTopicInBloom = $241c1b70d6ad639f$var$isTopicInBloom;\n/**\r\n * Checks if its a valid topic\r\n * @param topic encoded hex topic\r\n */ function $241c1b70d6ad639f$var$isTopic(topic) {\n if (typeof topic !== \"string\") return false;\n if (!/^(0x)?[0-9a-f]{64}$/i.test(topic)) return false;\n else if (/^(0x)?[0-9a-f]{64}$/.test(topic) || /^(0x)?[0-9A-F]{64}$/.test(topic)) return true;\n return false;\n}\nmodule.exports.isTopic = $241c1b70d6ad639f$var$isTopic;\n/**\r\n * Is valid address\r\n * @param address The address\r\n */ function $241c1b70d6ad639f$var$isAddress(address) {\n if (typeof address !== \"string\") return false;\n if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) return true;\n if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) return true;\n return false;\n}\nmodule.exports.isAddress = $241c1b70d6ad639f$var$isAddress;\n\n});\nparcelRequire.register(\"h9flZ\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $1IGmO = parcelRequire(\"1IGmO\");\n/**\r\n * Keccak256 hash\r\n * @param data The data\r\n */ function $c7bf2fe088bee087$var$keccak256(data) {\n return \"0x\" + $1IGmO.keccak_256($c7bf2fe088bee087$var$toByteArray(data));\n}\nmodule.exports.keccak256 = $c7bf2fe088bee087$var$keccak256;\n/**\r\n * Adding padding to string on the left\r\n * @param value The value\r\n * @param chars The chars\r\n */ module.exports.padLeft = (value, chars)=>{\n const hasPrefix = /^0x/i.test(value) || typeof value === \"number\";\n value = value.toString().replace(/^0x/i, \"\");\n const padding = chars - value.length + 1 >= 0 ? chars - value.length + 1 : 0;\n return (hasPrefix ? \"0x\" : \"\") + new Array(padding).join(\"0\") + value;\n};\n/**\r\n * Convert bytes to hex\r\n * @param bytes The bytes\r\n */ function $c7bf2fe088bee087$var$bytesToHex(bytes) {\n const hex = [];\n for(let i = 0; i < bytes.length; i++){\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xf).toString(16));\n }\n return `0x${hex.join(\"\").replace(/^0+/, \"\")}`;\n}\nmodule.exports.bytesToHex = $c7bf2fe088bee087$var$bytesToHex;\n/**\r\n * To byte array\r\n * @param value The value\r\n */ function $c7bf2fe088bee087$var$toByteArray(value) {\n if (value == null) throw new Error(\"cannot convert null value to array\");\n if (typeof value === \"string\") {\n const match = value.match(/^(0x)?[0-9a-fA-F]*$/);\n if (!match) throw new Error(\"invalid hexidecimal string\");\n if (match[1] !== \"0x\") throw new Error(\"hex string must have 0x prefix\");\n value = value.substring(2);\n if (value.length % 2) value = \"0\" + value;\n const result = [];\n for(let i = 0; i < value.length; i += 2)result.push(parseInt(value.substr(i, 2), 16));\n return $c7bf2fe088bee087$var$addSlice(new Uint8Array(result));\n }\n if ($c7bf2fe088bee087$var$isByteArray(value)) return $c7bf2fe088bee087$var$addSlice(new Uint8Array(value));\n throw new Error(\"invalid arrayify value\");\n}\nmodule.exports.toByteArray = $c7bf2fe088bee087$var$toByteArray;\n/**\r\n * Is byte array\r\n * @param value The value\r\n */ function $c7bf2fe088bee087$var$isByteArray(value) {\n if (!value || // tslint:disable-next-line: radix\n parseInt(String(value.length)) != value.length || typeof value === \"string\") return false;\n for(let i = 0; i < value.length; i++){\n const v = value[i];\n // tslint:disable-next-line: radix\n if (v < 0 || v >= 256 || parseInt(String(v)) != v) return false;\n }\n return true;\n}\n/**\r\n * Add slice to array\r\n * @param array The array\r\n */ function $c7bf2fe088bee087$var$addSlice(array) {\n if (array.slice !== undefined) return array;\n array.slice = ()=>{\n const args = Array.prototype.slice.call(arguments);\n return $c7bf2fe088bee087$var$addSlice(new Uint8Array(Array.prototype.slice.apply(array, args)));\n };\n return array;\n}\n\n});\nparcelRequire.register(\"1IGmO\", function(module, exports) {\n\nvar $hPtJY = parcelRequire(\"hPtJY\");\n/**\n * [js-sha3]{@link https://github.com/emn178/js-sha3}\n *\n * @version 0.8.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2015-2018\n * @license MIT\n */ /*jslint bitwise: true */ (function() {\n \"use strict\";\n var INPUT_ERROR = \"input is invalid type\";\n var FINALIZE_ERROR = \"finalize already called\";\n var WINDOW = typeof window === \"object\";\n var root = WINDOW ? window : {};\n if (root.JS_SHA3_NO_WINDOW) WINDOW = false;\n var WEB_WORKER = !WINDOW && typeof self === \"object\";\n var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof $hPtJY === \"object\" && $hPtJY.versions && $hPtJY.versions.node;\n if (NODE_JS) root = $parcel$global;\n else if (WEB_WORKER) root = self;\n var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && true && module.exports;\n var AMD = typeof define === \"function\" && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== \"undefined\";\n var HEX_CHARS = \"0123456789abcdef\".split(\"\");\n var SHAKE_PADDING = [\n 31,\n 7936,\n 2031616,\n 520093696\n ];\n var CSHAKE_PADDING = [\n 4,\n 1024,\n 262144,\n 67108864\n ];\n var KECCAK_PADDING = [\n 1,\n 256,\n 65536,\n 16777216\n ];\n var PADDING = [\n 6,\n 1536,\n 393216,\n 100663296\n ];\n var SHIFT = [\n 0,\n 8,\n 16,\n 24\n ];\n var RC = [\n 1,\n 0,\n 32898,\n 0,\n 32906,\n 2147483648,\n 2147516416,\n 2147483648,\n 32907,\n 0,\n 2147483649,\n 0,\n 2147516545,\n 2147483648,\n 32777,\n 2147483648,\n 138,\n 0,\n 136,\n 0,\n 2147516425,\n 0,\n 2147483658,\n 0,\n 2147516555,\n 0,\n 139,\n 2147483648,\n 32905,\n 2147483648,\n 32771,\n 2147483648,\n 32770,\n 2147483648,\n 128,\n 2147483648,\n 32778,\n 0,\n 2147483658,\n 2147483648,\n 2147516545,\n 2147483648,\n 32896,\n 2147483648,\n 2147483649,\n 0,\n 2147516424,\n 2147483648\n ];\n var BITS = [\n 224,\n 256,\n 384,\n 512\n ];\n var SHAKE_BITS = [\n 128,\n 256\n ];\n var OUTPUT_TYPES = [\n \"hex\",\n \"buffer\",\n \"arrayBuffer\",\n \"array\",\n \"digest\"\n ];\n var CSHAKE_BYTEPAD = {\n \"128\": 168,\n \"256\": 136\n };\n if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) Array.isArray = function(obj) {\n return Object.prototype.toString.call(obj) === \"[object Array]\";\n };\n if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) ArrayBuffer.isView = function(obj) {\n return typeof obj === \"object\" && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n var createOutputMethod = function(bits, padding, outputType) {\n return function(message) {\n return new Keccak(bits, padding, bits).update(message)[outputType]();\n };\n };\n var createShakeOutputMethod = function(bits, padding, outputType) {\n return function(message, outputBits) {\n return new Keccak(bits, padding, outputBits).update(message)[outputType]();\n };\n };\n var createCshakeOutputMethod = function(bits, padding, outputType) {\n return function(message, outputBits, n, s) {\n return methods[\"cshake\" + bits].update(message, outputBits, n, s)[outputType]();\n };\n };\n var createKmacOutputMethod = function(bits, padding, outputType) {\n return function(key, message, outputBits, s) {\n return methods[\"kmac\" + bits].update(key, message, outputBits, s)[outputType]();\n };\n };\n var createOutputMethods = function(method, createMethod, bits, padding) {\n for(var i = 0; i < OUTPUT_TYPES.length; ++i){\n var type = OUTPUT_TYPES[i];\n method[type] = createMethod(bits, padding, type);\n }\n return method;\n };\n var createMethod = function(bits, padding) {\n var method = createOutputMethod(bits, padding, \"hex\");\n method.create = function() {\n return new Keccak(bits, padding, bits);\n };\n method.update = function(message) {\n return method.create().update(message);\n };\n return createOutputMethods(method, createOutputMethod, bits, padding);\n };\n var createShakeMethod = function(bits, padding) {\n var method = createShakeOutputMethod(bits, padding, \"hex\");\n method.create = function(outputBits) {\n return new Keccak(bits, padding, outputBits);\n };\n method.update = function(message, outputBits) {\n return method.create(outputBits).update(message);\n };\n return createOutputMethods(method, createShakeOutputMethod, bits, padding);\n };\n var createCshakeMethod = function(bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createCshakeOutputMethod(bits, padding, \"hex\");\n method.create = function(outputBits, n, s) {\n if (!n && !s) return methods[\"shake\" + bits].create(outputBits);\n else return new Keccak(bits, padding, outputBits).bytepad([\n n,\n s\n ], w);\n };\n method.update = function(message, outputBits, n, s) {\n return method.create(outputBits, n, s).update(message);\n };\n return createOutputMethods(method, createCshakeOutputMethod, bits, padding);\n };\n var createKmacMethod = function(bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createKmacOutputMethod(bits, padding, \"hex\");\n method.create = function(key, outputBits, s) {\n return new Kmac(bits, padding, outputBits).bytepad([\n \"KMAC\",\n s\n ], w).bytepad([\n key\n ], w);\n };\n method.update = function(key, message, outputBits, s) {\n return method.create(key, outputBits, s).update(message);\n };\n return createOutputMethods(method, createKmacOutputMethod, bits, padding);\n };\n var algorithms = [\n {\n name: \"keccak\",\n padding: KECCAK_PADDING,\n bits: BITS,\n createMethod: createMethod\n },\n {\n name: \"sha3\",\n padding: PADDING,\n bits: BITS,\n createMethod: createMethod\n },\n {\n name: \"shake\",\n padding: SHAKE_PADDING,\n bits: SHAKE_BITS,\n createMethod: createShakeMethod\n },\n {\n name: \"cshake\",\n padding: CSHAKE_PADDING,\n bits: SHAKE_BITS,\n createMethod: createCshakeMethod\n },\n {\n name: \"kmac\",\n padding: CSHAKE_PADDING,\n bits: SHAKE_BITS,\n createMethod: createKmacMethod\n }\n ];\n var methods = {}, methodNames = [];\n for(var i = 0; i < algorithms.length; ++i){\n var algorithm = algorithms[i];\n var bits = algorithm.bits;\n for(var j = 0; j < bits.length; ++j){\n var methodName = algorithm.name + \"_\" + bits[j];\n methodNames.push(methodName);\n methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);\n if (algorithm.name !== \"sha3\") {\n var newMethodName = algorithm.name + bits[j];\n methodNames.push(newMethodName);\n methods[newMethodName] = methods[methodName];\n }\n }\n }\n function Keccak(bits, padding, outputBits) {\n this.blocks = [];\n this.s = [];\n this.padding = padding;\n this.outputBits = outputBits;\n this.reset = true;\n this.finalized = false;\n this.block = 0;\n this.start = 0;\n this.blockCount = 1600 - (bits << 1) >> 5;\n this.byteCount = this.blockCount << 2;\n this.outputBlocks = outputBits >> 5;\n this.extraBytes = (outputBits & 31) >> 3;\n for(var i = 0; i < 50; ++i)this.s[i] = 0;\n }\n Keccak.prototype.update = function(message) {\n if (this.finalized) throw new Error(FINALIZE_ERROR);\n var notString, type = typeof message;\n if (type !== \"string\") {\n if (type === \"object\") {\n if (message === null) throw new Error(INPUT_ERROR);\n else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) message = new Uint8Array(message);\n else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) throw new Error(INPUT_ERROR);\n }\n } else throw new Error(INPUT_ERROR);\n notString = true;\n }\n var blocks = this.blocks, byteCount = this.byteCount, length = message.length, blockCount = this.blockCount, index = 0, s = this.s, i, code;\n while(index < length){\n if (this.reset) {\n this.reset = false;\n blocks[0] = this.block;\n for(i = 1; i < blockCount + 1; ++i)blocks[i] = 0;\n }\n if (notString) for(i = this.start; index < length && i < byteCount; ++index)blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n else for(i = this.start; index < length && i < byteCount; ++index){\n code = message.charCodeAt(index);\n if (code < 0x80) blocks[i >> 2] |= code << SHIFT[i++ & 3];\n else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | code >> 6) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | code >> 12) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + ((code & 0x3ff) << 10 | message.charCodeAt(++index) & 0x3ff);\n blocks[i >> 2] |= (0xf0 | code >> 18) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 12 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code >> 6 & 0x3f) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | code & 0x3f) << SHIFT[i++ & 3];\n }\n }\n this.lastByteIndex = i;\n if (i >= byteCount) {\n this.start = i - byteCount;\n this.block = blocks[blockCount];\n for(i = 0; i < blockCount; ++i)s[i] ^= blocks[i];\n f(s);\n this.reset = true;\n } else this.start = i;\n }\n return this;\n };\n Keccak.prototype.encode = function(x, right) {\n var o = x & 255, n = 1;\n var bytes = [\n o\n ];\n x = x >> 8;\n o = x & 255;\n while(o > 0){\n bytes.unshift(o);\n x = x >> 8;\n o = x & 255;\n ++n;\n }\n if (right) bytes.push(n);\n else bytes.unshift(n);\n this.update(bytes);\n return bytes.length;\n };\n Keccak.prototype.encodeString = function(str) {\n var notString, type = typeof str;\n if (type !== \"string\") {\n if (type === \"object\") {\n if (str === null) throw new Error(INPUT_ERROR);\n else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) str = new Uint8Array(str);\n else if (!Array.isArray(str)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) throw new Error(INPUT_ERROR);\n }\n } else throw new Error(INPUT_ERROR);\n notString = true;\n }\n var bytes = 0, length = str.length;\n if (notString) bytes = length;\n else for(var i = 0; i < str.length; ++i){\n var code = str.charCodeAt(i);\n if (code < 0x80) bytes += 1;\n else if (code < 0x800) bytes += 2;\n else if (code < 0xd800 || code >= 0xe000) bytes += 3;\n else {\n code = 0x10000 + ((code & 0x3ff) << 10 | str.charCodeAt(++i) & 0x3ff);\n bytes += 4;\n }\n }\n bytes += this.encode(bytes * 8);\n this.update(str);\n return bytes;\n };\n Keccak.prototype.bytepad = function(strs, w) {\n var bytes = this.encode(w);\n for(var i = 0; i < strs.length; ++i)bytes += this.encodeString(strs[i]);\n var paddingBytes = w - bytes % w;\n var zeros = [];\n zeros.length = paddingBytes;\n this.update(zeros);\n return this;\n };\n Keccak.prototype.finalize = function() {\n if (this.finalized) return;\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;\n blocks[i >> 2] |= this.padding[i & 3];\n if (this.lastByteIndex === this.byteCount) {\n blocks[0] = blocks[blockCount];\n for(i = 1; i < blockCount + 1; ++i)blocks[i] = 0;\n }\n blocks[blockCount - 1] |= 0x80000000;\n for(i = 0; i < blockCount; ++i)s[i] ^= blocks[i];\n f(s);\n };\n Keccak.prototype.toString = Keccak.prototype.hex = function() {\n this.finalize();\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, extraBytes = this.extraBytes, i = 0, j = 0;\n var hex = \"\", block;\n while(j < outputBlocks){\n for(i = 0; i < blockCount && j < outputBlocks; ++i, ++j){\n block = s[i];\n hex += HEX_CHARS[block >> 4 & 0x0F] + HEX_CHARS[block & 0x0F] + HEX_CHARS[block >> 12 & 0x0F] + HEX_CHARS[block >> 8 & 0x0F] + HEX_CHARS[block >> 20 & 0x0F] + HEX_CHARS[block >> 16 & 0x0F] + HEX_CHARS[block >> 28 & 0x0F] + HEX_CHARS[block >> 24 & 0x0F];\n }\n if (j % blockCount === 0) {\n f(s);\n i = 0;\n }\n }\n if (extraBytes) {\n block = s[i];\n hex += HEX_CHARS[block >> 4 & 0x0F] + HEX_CHARS[block & 0x0F];\n if (extraBytes > 1) hex += HEX_CHARS[block >> 12 & 0x0F] + HEX_CHARS[block >> 8 & 0x0F];\n if (extraBytes > 2) hex += HEX_CHARS[block >> 20 & 0x0F] + HEX_CHARS[block >> 16 & 0x0F];\n }\n return hex;\n };\n Keccak.prototype.arrayBuffer = function() {\n this.finalize();\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, extraBytes = this.extraBytes, i = 0, j = 0;\n var bytes = this.outputBits >> 3;\n var buffer;\n if (extraBytes) buffer = new ArrayBuffer(outputBlocks + 1 << 2);\n else buffer = new ArrayBuffer(bytes);\n var array = new Uint32Array(buffer);\n while(j < outputBlocks){\n for(i = 0; i < blockCount && j < outputBlocks; ++i, ++j)array[j] = s[i];\n if (j % blockCount === 0) f(s);\n }\n if (extraBytes) {\n array[i] = s[i];\n buffer = buffer.slice(0, bytes);\n }\n return buffer;\n };\n Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;\n Keccak.prototype.digest = Keccak.prototype.array = function() {\n this.finalize();\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks, extraBytes = this.extraBytes, i = 0, j = 0;\n var array = [], offset, block;\n while(j < outputBlocks){\n for(i = 0; i < blockCount && j < outputBlocks; ++i, ++j){\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n array[offset + 1] = block >> 8 & 0xFF;\n array[offset + 2] = block >> 16 & 0xFF;\n array[offset + 3] = block >> 24 & 0xFF;\n }\n if (j % blockCount === 0) f(s);\n }\n if (extraBytes) {\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n if (extraBytes > 1) array[offset + 1] = block >> 8 & 0xFF;\n if (extraBytes > 2) array[offset + 2] = block >> 16 & 0xFF;\n }\n return array;\n };\n function Kmac(bits, padding, outputBits) {\n Keccak.call(this, bits, padding, outputBits);\n }\n Kmac.prototype = new Keccak();\n Kmac.prototype.finalize = function() {\n this.encode(this.outputBits, true);\n return Keccak.prototype.finalize.call(this);\n };\n var f = function(s) {\n var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17, b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;\n for(n = 0; n < 48; n += 2){\n c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];\n c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];\n c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];\n c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];\n c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];\n c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];\n c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];\n c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];\n c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];\n c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];\n h = c8 ^ (c2 << 1 | c3 >>> 31);\n l = c9 ^ (c3 << 1 | c2 >>> 31);\n s[0] ^= h;\n s[1] ^= l;\n s[10] ^= h;\n s[11] ^= l;\n s[20] ^= h;\n s[21] ^= l;\n s[30] ^= h;\n s[31] ^= l;\n s[40] ^= h;\n s[41] ^= l;\n h = c0 ^ (c4 << 1 | c5 >>> 31);\n l = c1 ^ (c5 << 1 | c4 >>> 31);\n s[2] ^= h;\n s[3] ^= l;\n s[12] ^= h;\n s[13] ^= l;\n s[22] ^= h;\n s[23] ^= l;\n s[32] ^= h;\n s[33] ^= l;\n s[42] ^= h;\n s[43] ^= l;\n h = c2 ^ (c6 << 1 | c7 >>> 31);\n l = c3 ^ (c7 << 1 | c6 >>> 31);\n s[4] ^= h;\n s[5] ^= l;\n s[14] ^= h;\n s[15] ^= l;\n s[24] ^= h;\n s[25] ^= l;\n s[34] ^= h;\n s[35] ^= l;\n s[44] ^= h;\n s[45] ^= l;\n h = c4 ^ (c8 << 1 | c9 >>> 31);\n l = c5 ^ (c9 << 1 | c8 >>> 31);\n s[6] ^= h;\n s[7] ^= l;\n s[16] ^= h;\n s[17] ^= l;\n s[26] ^= h;\n s[27] ^= l;\n s[36] ^= h;\n s[37] ^= l;\n s[46] ^= h;\n s[47] ^= l;\n h = c6 ^ (c0 << 1 | c1 >>> 31);\n l = c7 ^ (c1 << 1 | c0 >>> 31);\n s[8] ^= h;\n s[9] ^= l;\n s[18] ^= h;\n s[19] ^= l;\n s[28] ^= h;\n s[29] ^= l;\n s[38] ^= h;\n s[39] ^= l;\n s[48] ^= h;\n s[49] ^= l;\n b0 = s[0];\n b1 = s[1];\n b32 = s[11] << 4 | s[10] >>> 28;\n b33 = s[10] << 4 | s[11] >>> 28;\n b14 = s[20] << 3 | s[21] >>> 29;\n b15 = s[21] << 3 | s[20] >>> 29;\n b46 = s[31] << 9 | s[30] >>> 23;\n b47 = s[30] << 9 | s[31] >>> 23;\n b28 = s[40] << 18 | s[41] >>> 14;\n b29 = s[41] << 18 | s[40] >>> 14;\n b20 = s[2] << 1 | s[3] >>> 31;\n b21 = s[3] << 1 | s[2] >>> 31;\n b2 = s[13] << 12 | s[12] >>> 20;\n b3 = s[12] << 12 | s[13] >>> 20;\n b34 = s[22] << 10 | s[23] >>> 22;\n b35 = s[23] << 10 | s[22] >>> 22;\n b16 = s[33] << 13 | s[32] >>> 19;\n b17 = s[32] << 13 | s[33] >>> 19;\n b48 = s[42] << 2 | s[43] >>> 30;\n b49 = s[43] << 2 | s[42] >>> 30;\n b40 = s[5] << 30 | s[4] >>> 2;\n b41 = s[4] << 30 | s[5] >>> 2;\n b22 = s[14] << 6 | s[15] >>> 26;\n b23 = s[15] << 6 | s[14] >>> 26;\n b4 = s[25] << 11 | s[24] >>> 21;\n b5 = s[24] << 11 | s[25] >>> 21;\n b36 = s[34] << 15 | s[35] >>> 17;\n b37 = s[35] << 15 | s[34] >>> 17;\n b18 = s[45] << 29 | s[44] >>> 3;\n b19 = s[44] << 29 | s[45] >>> 3;\n b10 = s[6] << 28 | s[7] >>> 4;\n b11 = s[7] << 28 | s[6] >>> 4;\n b42 = s[17] << 23 | s[16] >>> 9;\n b43 = s[16] << 23 | s[17] >>> 9;\n b24 = s[26] << 25 | s[27] >>> 7;\n b25 = s[27] << 25 | s[26] >>> 7;\n b6 = s[36] << 21 | s[37] >>> 11;\n b7 = s[37] << 21 | s[36] >>> 11;\n b38 = s[47] << 24 | s[46] >>> 8;\n b39 = s[46] << 24 | s[47] >>> 8;\n b30 = s[8] << 27 | s[9] >>> 5;\n b31 = s[9] << 27 | s[8] >>> 5;\n b12 = s[18] << 20 | s[19] >>> 12;\n b13 = s[19] << 20 | s[18] >>> 12;\n b44 = s[29] << 7 | s[28] >>> 25;\n b45 = s[28] << 7 | s[29] >>> 25;\n b26 = s[38] << 8 | s[39] >>> 24;\n b27 = s[39] << 8 | s[38] >>> 24;\n b8 = s[48] << 14 | s[49] >>> 18;\n b9 = s[49] << 14 | s[48] >>> 18;\n s[0] = b0 ^ ~b2 & b4;\n s[1] = b1 ^ ~b3 & b5;\n s[10] = b10 ^ ~b12 & b14;\n s[11] = b11 ^ ~b13 & b15;\n s[20] = b20 ^ ~b22 & b24;\n s[21] = b21 ^ ~b23 & b25;\n s[30] = b30 ^ ~b32 & b34;\n s[31] = b31 ^ ~b33 & b35;\n s[40] = b40 ^ ~b42 & b44;\n s[41] = b41 ^ ~b43 & b45;\n s[2] = b2 ^ ~b4 & b6;\n s[3] = b3 ^ ~b5 & b7;\n s[12] = b12 ^ ~b14 & b16;\n s[13] = b13 ^ ~b15 & b17;\n s[22] = b22 ^ ~b24 & b26;\n s[23] = b23 ^ ~b25 & b27;\n s[32] = b32 ^ ~b34 & b36;\n s[33] = b33 ^ ~b35 & b37;\n s[42] = b42 ^ ~b44 & b46;\n s[43] = b43 ^ ~b45 & b47;\n s[4] = b4 ^ ~b6 & b8;\n s[5] = b5 ^ ~b7 & b9;\n s[14] = b14 ^ ~b16 & b18;\n s[15] = b15 ^ ~b17 & b19;\n s[24] = b24 ^ ~b26 & b28;\n s[25] = b25 ^ ~b27 & b29;\n s[34] = b34 ^ ~b36 & b38;\n s[35] = b35 ^ ~b37 & b39;\n s[44] = b44 ^ ~b46 & b48;\n s[45] = b45 ^ ~b47 & b49;\n s[6] = b6 ^ ~b8 & b0;\n s[7] = b7 ^ ~b9 & b1;\n s[16] = b16 ^ ~b18 & b10;\n s[17] = b17 ^ ~b19 & b11;\n s[26] = b26 ^ ~b28 & b20;\n s[27] = b27 ^ ~b29 & b21;\n s[36] = b36 ^ ~b38 & b30;\n s[37] = b37 ^ ~b39 & b31;\n s[46] = b46 ^ ~b48 & b40;\n s[47] = b47 ^ ~b49 & b41;\n s[8] = b8 ^ ~b0 & b2;\n s[9] = b9 ^ ~b1 & b3;\n s[18] = b18 ^ ~b10 & b12;\n s[19] = b19 ^ ~b11 & b13;\n s[28] = b28 ^ ~b20 & b22;\n s[29] = b29 ^ ~b21 & b23;\n s[38] = b38 ^ ~b30 & b32;\n s[39] = b39 ^ ~b31 & b33;\n s[48] = b48 ^ ~b40 & b42;\n s[49] = b49 ^ ~b41 & b43;\n s[0] ^= RC[n];\n s[1] ^= RC[n + 1];\n }\n };\n if (COMMON_JS) module.exports = methods;\n else {\n for(i = 0; i < methodNames.length; ++i)root[methodNames[i]] = methods[methodNames[i]];\n if (AMD) define(function() {\n return methods;\n });\n }\n})();\n\n});\n\n\n\n\nparcelRequire.register(\"gQOic\", function(module, exports) {\n/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n */ /**\n * @file soliditySha3.js\n * @author Fabian Vogelsteller \n * @date 2017\n */ \nvar $dEXSZ = parcelRequire(\"dEXSZ\");\n\nvar $eNPzt = parcelRequire(\"eNPzt\");\nvar $c44883bae11db1a7$var$_elementaryName = function(name) {\n /*jshint maxcomplexity:false */ if (name.startsWith(\"int[\")) return \"int256\" + name.slice(3);\n else if (name === \"int\") return \"int256\";\n else if (name.startsWith(\"uint[\")) return \"uint256\" + name.slice(4);\n else if (name === \"uint\") return \"uint256\";\n else if (name.startsWith(\"fixed[\")) return \"fixed128x128\" + name.slice(5);\n else if (name === \"fixed\") return \"fixed128x128\";\n else if (name.startsWith(\"ufixed[\")) return \"ufixed128x128\" + name.slice(6);\n else if (name === \"ufixed\") return \"ufixed128x128\";\n return name;\n};\n// Parse N from type\nvar $c44883bae11db1a7$var$_parseTypeN = function(type) {\n var typesize = /^\\D+(\\d+).*$/.exec(type);\n return typesize ? parseInt(typesize[1], 10) : null;\n};\n// Parse N from type[]\nvar $c44883bae11db1a7$var$_parseTypeNArray = function(type) {\n var arraySize = /^\\D+\\d*\\[(\\d+)\\]$/.exec(type);\n return arraySize ? parseInt(arraySize[1], 10) : null;\n};\nvar $c44883bae11db1a7$var$_parseNumber = function(arg) {\n var type = typeof arg;\n if (type === \"string\") {\n if ($eNPzt.isHexStrict(arg)) return new $dEXSZ(arg.replace(/0x/i, \"\"), 16);\n else return new $dEXSZ(arg, 10);\n } else if (type === \"number\") return new $dEXSZ(arg);\n else if ($eNPzt.isBigNumber(arg)) return new $dEXSZ(arg.toString(10));\n else if ($eNPzt.isBN(arg)) return arg;\n else throw new Error(arg + \" is not a number\");\n};\nvar $c44883bae11db1a7$var$_solidityPack = function(type, value, arraySize) {\n /*jshint maxcomplexity:false */ var size, num;\n type = $c44883bae11db1a7$var$_elementaryName(type);\n if (type === \"bytes\") {\n if (value.replace(/^0x/i, \"\").length % 2 !== 0) throw new Error(\"Invalid bytes characters \" + value.length);\n return value;\n } else if (type === \"string\") return $eNPzt.utf8ToHex(value);\n else if (type === \"bool\") return value ? \"01\" : \"00\";\n else if (type.startsWith(\"address\")) {\n if (arraySize) size = 64;\n else size = 40;\n if (!$eNPzt.isAddress(value)) throw new Error(value + \" is not a valid address, or the checksum is invalid.\");\n return $eNPzt.leftPad(value.toLowerCase(), size);\n }\n size = $c44883bae11db1a7$var$_parseTypeN(type);\n if (type.startsWith(\"bytes\")) {\n if (!size) throw new Error(\"bytes[] not yet supported in solidity\");\n // must be 32 byte slices when in an array\n if (arraySize) size = 32;\n if (size < 1 || size > 32 || size < value.replace(/^0x/i, \"\").length / 2) throw new Error(\"Invalid bytes\" + size + \" for \" + value);\n return $eNPzt.rightPad(value, size * 2);\n } else if (type.startsWith(\"uint\")) {\n if (size % 8 || size < 8 || size > 256) throw new Error(\"Invalid uint\" + size + \" size\");\n num = $c44883bae11db1a7$var$_parseNumber(value);\n if (num.bitLength() > size) throw new Error(\"Supplied uint exceeds width: \" + size + \" vs \" + num.bitLength());\n if (num.lt(new $dEXSZ(0))) throw new Error(\"Supplied uint \" + num.toString() + \" is negative\");\n return size ? $eNPzt.leftPad(num.toString(\"hex\"), size / 8 * 2) : num;\n } else if (type.startsWith(\"int\")) {\n if (size % 8 || size < 8 || size > 256) throw new Error(\"Invalid int\" + size + \" size\");\n num = $c44883bae11db1a7$var$_parseNumber(value);\n if (num.bitLength() > size) throw new Error(\"Supplied int exceeds width: \" + size + \" vs \" + num.bitLength());\n if (num.lt(new $dEXSZ(0))) return num.toTwos(size).toString(\"hex\");\n else return size ? $eNPzt.leftPad(num.toString(\"hex\"), size / 8 * 2) : num;\n } else // FIXME: support all other types\n throw new Error(\"Unsupported or invalid type: \" + type);\n};\nvar $c44883bae11db1a7$var$_processSolidityEncodePackedArgs = function(arg) {\n /*jshint maxcomplexity:false */ if (Array.isArray(arg)) throw new Error(\"Autodetection of array types is not supported.\");\n var type, value = \"\";\n var hexArg, arraySize;\n // if type is given\n if (!!arg && typeof arg === \"object\" && (arg.hasOwnProperty(\"v\") || arg.hasOwnProperty(\"t\") || arg.hasOwnProperty(\"value\") || arg.hasOwnProperty(\"type\"))) {\n type = arg.hasOwnProperty(\"t\") ? arg.t : arg.type;\n value = arg.hasOwnProperty(\"v\") ? arg.v : arg.value;\n // otherwise try to guess the type\n } else {\n type = $eNPzt.toHex(arg, true);\n value = $eNPzt.toHex(arg);\n if (!type.startsWith(\"int\") && !type.startsWith(\"uint\")) type = \"bytes\";\n }\n if ((type.startsWith(\"int\") || type.startsWith(\"uint\")) && typeof value === \"string\" && !/^(-)?0x/i.test(value)) value = new $dEXSZ(value);\n // get the array size\n if (Array.isArray(value)) {\n arraySize = $c44883bae11db1a7$var$_parseTypeNArray(type);\n if (arraySize && value.length !== arraySize) throw new Error(type + \" is not matching the given array \" + JSON.stringify(value));\n else arraySize = value.length;\n }\n if (Array.isArray(value)) {\n hexArg = value.map(function(val) {\n return $c44883bae11db1a7$var$_solidityPack(type, val, arraySize).toString(\"hex\").replace(\"0x\", \"\");\n });\n return hexArg.join(\"\");\n } else {\n hexArg = $c44883bae11db1a7$var$_solidityPack(type, value, arraySize);\n return hexArg.toString(\"hex\").replace(\"0x\", \"\");\n }\n};\n/**\n * Hashes solidity values to a sha3 hash using keccak 256\n *\n * @method soliditySha3\n * @return {Object} the sha3\n */ var $c44883bae11db1a7$var$soliditySha3 = function() {\n /*jshint maxcomplexity:false */ var args = Array.prototype.slice.call(arguments);\n var hexArgs = args.map($c44883bae11db1a7$var$_processSolidityEncodePackedArgs);\n // console.log(args, hexArgs);\n // console.log('0x'+ hexArgs.join(''));\n return $eNPzt.sha3(\"0x\" + hexArgs.join(\"\"));\n};\n/**\n * Hashes solidity values to a sha3 hash using keccak 256 but does return the hash of value `null` instead of `null`\n *\n * @method soliditySha3Raw\n * @return {Object} the sha3\n */ var $c44883bae11db1a7$var$soliditySha3Raw = function() {\n return $eNPzt.sha3Raw(\"0x\" + Array.prototype.slice.call(arguments).map($c44883bae11db1a7$var$_processSolidityEncodePackedArgs).join(\"\"));\n};\n/**\n * Encode packed args to hex\n *\n * @method encodePacked\n * @return {String} the hex encoded arguments\n */ var $c44883bae11db1a7$var$encodePacked = function() {\n /*jshint maxcomplexity:false */ var args = Array.prototype.slice.call(arguments);\n var hexArgs = args.map($c44883bae11db1a7$var$_processSolidityEncodePackedArgs);\n return \"0x\" + hexArgs.join(\"\").toLowerCase();\n};\nmodule.exports = {\n soliditySha3: $c44883bae11db1a7$var$soliditySha3,\n soliditySha3Raw: $c44883bae11db1a7$var$soliditySha3Raw,\n encodePacked: $c44883bae11db1a7$var$encodePacked\n};\n\n});\n\n\nparcelRequire.register(\"ulSff\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.networks = void 0;\n// https://github.com/ethereum-lists/chains/tree/master/_data/chains\nmodule.exports.networks = [\n {\n chainId: 1,\n shortName: \"eth\"\n },\n {\n chainId: 3,\n shortName: \"rop\"\n },\n {\n chainId: 4,\n shortName: \"rin\"\n },\n {\n chainId: 5,\n shortName: \"gor\"\n },\n {\n chainId: 10,\n shortName: \"oeth\"\n },\n {\n chainId: 11,\n shortName: \"meta\"\n },\n {\n chainId: 12,\n shortName: \"kal\"\n },\n {\n chainId: 18,\n shortName: \"tst\"\n },\n {\n chainId: 25,\n shortName: \"cro\"\n },\n {\n chainId: 28,\n shortName: \"bobarinkeby\"\n },\n {\n chainId: 39,\n shortName: \"u2u\"\n },\n {\n chainId: 40,\n shortName: \"telosevm\"\n },\n {\n chainId: 41,\n shortName: \"telosevmtestnet\"\n },\n {\n chainId: 42,\n shortName: \"kov\"\n },\n {\n chainId: 50,\n shortName: \"xdc\"\n },\n {\n chainId: 51,\n shortName: \"txdc\"\n },\n {\n chainId: 56,\n shortName: \"bnb\"\n },\n {\n chainId: 61,\n shortName: \"etc\"\n },\n {\n chainId: 63,\n shortName: \"metc\"\n },\n {\n chainId: 69,\n shortName: \"okov\"\n },\n {\n chainId: 82,\n shortName: \"meter\"\n },\n {\n chainId: 83,\n shortName: \"meter-test\"\n },\n {\n chainId: 97,\n shortName: \"bnbt\"\n },\n {\n chainId: 100,\n shortName: \"gno\"\n },\n {\n chainId: 106,\n shortName: \"vlx\"\n },\n {\n chainId: 108,\n shortName: \"tt\"\n },\n {\n chainId: 111,\n shortName: \"etl\"\n },\n {\n chainId: 122,\n shortName: \"fuse\"\n },\n {\n chainId: 123,\n shortName: \"spark\"\n },\n {\n chainId: 137,\n shortName: \"matic\"\n },\n {\n chainId: 246,\n shortName: \"ewt\"\n },\n {\n chainId: 250,\n shortName: \"ftm\"\n },\n {\n chainId: 288,\n shortName: \"boba\"\n },\n {\n chainId: 300,\n shortName: \"ogn\"\n },\n {\n chainId: 321,\n shortName: \"kcs\"\n },\n {\n chainId: 322,\n shortName: \"kcst\"\n },\n {\n chainId: 336,\n shortName: \"sdn\"\n },\n {\n chainId: 338,\n shortName: \"tcro\"\n },\n {\n chainId: 420,\n shortName: \"ogor\"\n },\n {\n chainId: 588,\n shortName: \"metis-stardust\"\n },\n {\n chainId: 592,\n shortName: \"astr\"\n },\n {\n chainId: 595,\n shortName: \"maca\"\n },\n {\n chainId: 599,\n shortName: \"metis-goerli\"\n },\n {\n chainId: 686,\n shortName: \"kar\"\n },\n {\n chainId: 787,\n shortName: \"aca\"\n },\n {\n chainId: 1001,\n shortName: \"baobab\"\n },\n {\n chainId: 1008,\n shortName: \"eun\"\n },\n {\n chainId: 1088,\n shortName: \"metis-andromeda\"\n },\n {\n chainId: 1101,\n shortName: \"zkevm\"\n },\n {\n chainId: 1111,\n shortName: \"wemix\"\n },\n {\n chainId: 1112,\n shortName: \"twemix\"\n },\n {\n chainId: 1115,\n shortName: \"tcore\"\n },\n {\n chainId: 1116,\n shortName: \"core\"\n },\n {\n chainId: 1284,\n shortName: \"mbeam\"\n },\n {\n chainId: 1285,\n shortName: \"mriver\"\n },\n {\n chainId: 1287,\n shortName: \"mbase\"\n },\n {\n chainId: 1294,\n shortName: \"bobabeam\"\n },\n {\n chainId: 1807,\n shortName: \"rana\"\n },\n {\n chainId: 1984,\n shortName: \"euntest\"\n },\n {\n chainId: 2001,\n shortName: \"milkada\"\n },\n {\n chainId: 2002,\n shortName: \"milkalgo\"\n },\n {\n chainId: 2008,\n shortName: \"cloudwalk_testnet\"\n },\n {\n chainId: 2019,\n shortName: \"pmint_test\"\n },\n {\n chainId: 2020,\n shortName: \"pmint\"\n },\n {\n chainId: 2221,\n shortName: \"tkava\"\n },\n {\n chainId: 2222,\n shortName: \"kava\"\n },\n {\n chainId: 3737,\n shortName: \"csb\"\n },\n {\n chainId: 4002,\n shortName: \"tftm\"\n },\n {\n chainId: 4689,\n shortName: \"iotex-mainnet\"\n },\n {\n chainId: 4918,\n shortName: \"txvm\"\n },\n {\n chainId: 4919,\n shortName: \"xvm\"\n },\n {\n chainId: 7341,\n shortName: \"shyft\"\n },\n {\n chainId: 7700,\n shortName: \"canto\"\n },\n {\n chainId: 8217,\n shortName: \"cypress\"\n },\n {\n chainId: 9000,\n shortName: \"evmos-testnet\"\n },\n {\n chainId: 9001,\n shortName: \"evmos\"\n },\n {\n chainId: 9728,\n shortName: \"boba-testnet\"\n },\n {\n chainId: 10000,\n shortName: \"smartbch\"\n },\n {\n chainId: 10001,\n shortName: \"smartbchtest\"\n },\n {\n chainId: 10200,\n shortName: \"chi\"\n },\n {\n chainId: 11235,\n shortName: \"islm\"\n },\n {\n chainId: 11437,\n shortName: \"shyftt\"\n },\n {\n chainId: 12357,\n shortName: \"rei-testnet\"\n },\n {\n chainId: 23294,\n shortName: \"sapphire\"\n },\n {\n chainId: 42161,\n shortName: \"arb1\"\n },\n {\n chainId: 42170,\n shortName: \"arb-nova\"\n },\n {\n chainId: 42220,\n shortName: \"celo\"\n },\n {\n chainId: 43113,\n shortName: \"fuji\"\n },\n {\n chainId: 43114,\n shortName: \"avax\"\n },\n {\n chainId: 43288,\n shortName: \"boba-avax\"\n },\n {\n chainId: 44787,\n shortName: \"alfa\"\n },\n {\n chainId: 45000,\n shortName: \"autobahnnetwork\"\n },\n {\n chainId: 47805,\n shortName: \"rei\"\n },\n {\n chainId: 54211,\n shortName: \"islmt\"\n },\n {\n chainId: 56288,\n shortName: \"boba-bnb\"\n },\n {\n chainId: 71401,\n shortName: \"gw-testnet-v1\"\n },\n {\n chainId: 71402,\n shortName: \"gw-mainnet-v1\"\n },\n {\n chainId: 73799,\n shortName: \"vt\"\n },\n {\n chainId: 80001,\n shortName: \"maticmum\"\n },\n {\n chainId: 84531,\n shortName: \"base-gor\"\n },\n {\n chainId: 200101,\n shortName: \"milktada\"\n },\n {\n chainId: 200202,\n shortName: \"milktalgo\"\n },\n {\n chainId: 333999,\n shortName: \"olympus\"\n },\n {\n chainId: 421611,\n shortName: \"arb-rinkeby\"\n },\n {\n chainId: 421613,\n shortName: \"arb-goerli\"\n },\n {\n chainId: 534353,\n shortName: \"scr-alpha\"\n },\n {\n chainId: 11155111,\n shortName: \"sep\"\n },\n {\n chainId: 245022926,\n shortName: \"neonevm-devnet\"\n },\n {\n chainId: 1313161554,\n shortName: \"aurora\"\n },\n {\n chainId: 1313161555,\n shortName: \"aurora-testnet\"\n },\n {\n chainId: 1666600000,\n shortName: \"hmy-s0\"\n },\n {\n chainId: 1666700000,\n shortName: \"hmy-b-s0\"\n },\n {\n chainId: 11297108099,\n shortName: \"tpalm\"\n },\n {\n chainId: 11297108109,\n shortName: \"palm\"\n }\n];\n\n});\n\n\nparcelRequire.register(\"cbPuo\", function(module, exports) {\n\"use strict\";\nvar $8dfe73ccb1b5c36c$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.generateTypedData = module.exports.getEip712MessageTypes = module.exports.EIP712_DOMAIN = module.exports.EIP712_DOMAIN_BEFORE_V130 = void 0;\n\nconst $8dfe73ccb1b5c36c$var$satisfies_1 = $8dfe73ccb1b5c36c$var$__importDefault((parcelRequire(\"eHBEA\")));\nconst $8dfe73ccb1b5c36c$var$EQ_OR_GT_1_3_0 = \">=1.3.0\";\nmodule.exports.EIP712_DOMAIN_BEFORE_V130 = [\n {\n type: \"address\",\n name: \"verifyingContract\"\n }\n];\nmodule.exports.EIP712_DOMAIN = [\n {\n type: \"uint256\",\n name: \"chainId\"\n },\n {\n type: \"address\",\n name: \"verifyingContract\"\n }\n];\n// This function returns the types structure for signing off-chain messages according to EIP-712\nfunction $8dfe73ccb1b5c36c$var$getEip712MessageTypes(safeVersion) {\n const eip712WithChainId = (0, $8dfe73ccb1b5c36c$var$satisfies_1.default)(safeVersion, $8dfe73ccb1b5c36c$var$EQ_OR_GT_1_3_0);\n return {\n EIP712Domain: eip712WithChainId ? module.exports.EIP712_DOMAIN : module.exports.EIP712_DOMAIN_BEFORE_V130,\n SafeTx: [\n {\n type: \"address\",\n name: \"to\"\n },\n {\n type: \"uint256\",\n name: \"value\"\n },\n {\n type: \"bytes\",\n name: \"data\"\n },\n {\n type: \"uint8\",\n name: \"operation\"\n },\n {\n type: \"uint256\",\n name: \"safeTxGas\"\n },\n {\n type: \"uint256\",\n name: \"baseGas\"\n },\n {\n type: \"uint256\",\n name: \"gasPrice\"\n },\n {\n type: \"address\",\n name: \"gasToken\"\n },\n {\n type: \"address\",\n name: \"refundReceiver\"\n },\n {\n type: \"uint256\",\n name: \"nonce\"\n }\n ]\n };\n}\nmodule.exports.getEip712MessageTypes = $8dfe73ccb1b5c36c$var$getEip712MessageTypes;\nfunction $8dfe73ccb1b5c36c$var$generateTypedData({ safeAddress: safeAddress , safeVersion: safeVersion , chainId: chainId , safeTransactionData: safeTransactionData }) {\n const eip712WithChainId = (0, $8dfe73ccb1b5c36c$var$satisfies_1.default)(safeVersion, $8dfe73ccb1b5c36c$var$EQ_OR_GT_1_3_0);\n const typedData = {\n types: $8dfe73ccb1b5c36c$var$getEip712MessageTypes(safeVersion),\n domain: {\n verifyingContract: safeAddress\n },\n primaryType: \"SafeTx\",\n message: {\n ...safeTransactionData,\n value: safeTransactionData.value,\n safeTxGas: safeTransactionData.safeTxGas,\n baseGas: safeTransactionData.baseGas,\n gasPrice: safeTransactionData.gasPrice,\n nonce: safeTransactionData.nonce\n }\n };\n if (eip712WithChainId) typedData.domain.chainId = chainId;\n return typedData;\n}\nmodule.exports.generateTypedData = $8dfe73ccb1b5c36c$var$generateTypedData;\n\n});\nparcelRequire.register(\"eHBEA\", function(module, exports) {\n\nvar $2bwZd = parcelRequire(\"2bwZd\");\nconst $ab424a16966139d5$var$satisfies = (version, range, options)=>{\n try {\n range = new $2bwZd(range, options);\n } catch (er) {\n return false;\n }\n return range.test(version);\n};\nmodule.exports = $ab424a16966139d5$var$satisfies;\n\n});\nparcelRequire.register(\"2bwZd\", function(module, exports) {\n// hoisted class for cyclic dependency\nclass $1976323f18191b36$var$Range {\n constructor(range, options){\n options = $aWnqj(options);\n if (range instanceof $1976323f18191b36$var$Range) {\n if (range.loose === !!options.loose && range.includePrerelease === !!options.includePrerelease) return range;\n else return new $1976323f18191b36$var$Range(range.raw, options);\n }\n if (range instanceof $azCrR) {\n // just put it in the set and return\n this.raw = range.value;\n this.set = [\n [\n range\n ]\n ];\n this.format();\n return this;\n }\n this.options = options;\n this.loose = !!options.loose;\n this.includePrerelease = !!options.includePrerelease;\n // First, split based on boolean or ||\n this.raw = range;\n this.set = range.split(\"||\")// map the range to a 2d array of comparators\n .map((r)=>this.parseRange(r.trim()))// throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter((c)=>c.length);\n if (!this.set.length) throw new TypeError(`Invalid SemVer Range: ${range}`);\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0];\n this.set = this.set.filter((c)=>!$1976323f18191b36$var$isNullSet(c[0]));\n if (this.set.length === 0) this.set = [\n first\n ];\n else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set)if (c.length === 1 && $1976323f18191b36$var$isAny(c[0])) {\n this.set = [\n c\n ];\n break;\n }\n }\n }\n this.format();\n }\n format() {\n this.range = this.set.map((comps)=>{\n return comps.join(\" \").trim();\n }).join(\"||\").trim();\n return this.range;\n }\n toString() {\n return this.range;\n }\n parseRange(range) {\n range = range.trim();\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts = (this.options.includePrerelease && $1976323f18191b36$require$FLAG_INCLUDE_PRERELEASE) | (this.options.loose && $1976323f18191b36$require$FLAG_LOOSE);\n const memoKey = memoOpts + \":\" + range;\n const cached = $1976323f18191b36$var$cache.get(memoKey);\n if (cached) return cached;\n const loose = this.options.loose;\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? $1976323f18191b36$require$re[$1976323f18191b36$require$t.HYPHENRANGELOOSE] : $1976323f18191b36$require$re[$1976323f18191b36$require$t.HYPHENRANGE];\n range = range.replace(hr, $1976323f18191b36$var$hyphenReplace(this.options.includePrerelease));\n $afJI7(\"hyphen replace\", range);\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace($1976323f18191b36$require$re[$1976323f18191b36$require$t.COMPARATORTRIM], $1976323f18191b36$require$comparatorTrimReplace);\n $afJI7(\"comparator trim\", range);\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace($1976323f18191b36$require$re[$1976323f18191b36$require$t.TILDETRIM], $1976323f18191b36$require$tildeTrimReplace);\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace($1976323f18191b36$require$re[$1976323f18191b36$require$t.CARETTRIM], $1976323f18191b36$require$caretTrimReplace);\n // normalize spaces\n range = range.split(/\\s+/).join(\" \");\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n let rangeList = range.split(\" \").map((comp)=>$1976323f18191b36$var$parseComparator(comp, this.options)).join(\" \").split(/\\s+/)// >=0.0.0 is equivalent to *\n .map((comp)=>$1976323f18191b36$var$replaceGTE0(comp, this.options));\n if (loose) // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter((comp)=>{\n $afJI7(\"loose invalid filter\", comp, this.options);\n return !!comp.match($1976323f18191b36$require$re[$1976323f18191b36$require$t.COMPARATORLOOSE]);\n });\n $afJI7(\"range list\", rangeList);\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map();\n const comparators = rangeList.map((comp)=>new $azCrR(comp, this.options));\n for (const comp of comparators){\n if ($1976323f18191b36$var$isNullSet(comp)) return [\n comp\n ];\n rangeMap.set(comp.value, comp);\n }\n if (rangeMap.size > 1 && rangeMap.has(\"\")) rangeMap.delete(\"\");\n const result = [\n ...rangeMap.values()\n ];\n $1976323f18191b36$var$cache.set(memoKey, result);\n return result;\n }\n intersects(range, options) {\n if (!(range instanceof $1976323f18191b36$var$Range)) throw new TypeError(\"a Range is required\");\n return this.set.some((thisComparators)=>{\n return $1976323f18191b36$var$isSatisfiable(thisComparators, options) && range.set.some((rangeComparators)=>{\n return $1976323f18191b36$var$isSatisfiable(rangeComparators, options) && thisComparators.every((thisComparator)=>{\n return rangeComparators.every((rangeComparator)=>{\n return thisComparator.intersects(rangeComparator, options);\n });\n });\n });\n });\n }\n // if ANY of the sets match ALL of its comparators, then pass\n test(version) {\n if (!version) return false;\n if (typeof version === \"string\") try {\n version = new $8YHM6(version, this.options);\n } catch (er) {\n return false;\n }\n for(let i = 0; i < this.set.length; i++){\n if ($1976323f18191b36$var$testSet(this.set[i], version, this.options)) return true;\n }\n return false;\n }\n}\nmodule.exports = $1976323f18191b36$var$Range;\n\nvar $bnToR = parcelRequire(\"bnToR\");\nconst $1976323f18191b36$var$cache = new $bnToR({\n max: 1000\n});\n\nvar $aWnqj = parcelRequire(\"aWnqj\");\n\nvar $azCrR = parcelRequire(\"azCrR\");\n\nvar $afJI7 = parcelRequire(\"afJI7\");\n\nvar $8YHM6 = parcelRequire(\"8YHM6\");\n\nvar $1RjJH = parcelRequire(\"1RjJH\");\nvar $1976323f18191b36$require$re = $1RjJH.re;\nvar $1976323f18191b36$require$t = $1RjJH.t;\nvar $1976323f18191b36$require$comparatorTrimReplace = $1RjJH.comparatorTrimReplace;\nvar $1976323f18191b36$require$tildeTrimReplace = $1RjJH.tildeTrimReplace;\nvar $1976323f18191b36$require$caretTrimReplace = $1RjJH.caretTrimReplace;\n\nvar $hScrW = parcelRequire(\"hScrW\");\nvar $1976323f18191b36$require$FLAG_INCLUDE_PRERELEASE = $hScrW.FLAG_INCLUDE_PRERELEASE;\nvar $1976323f18191b36$require$FLAG_LOOSE = $hScrW.FLAG_LOOSE;\nconst $1976323f18191b36$var$isNullSet = (c)=>c.value === \"<0.0.0-0\";\nconst $1976323f18191b36$var$isAny = (c)=>c.value === \"\";\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst $1976323f18191b36$var$isSatisfiable = (comparators, options)=>{\n let result = true;\n const remainingComparators = comparators.slice();\n let testComparator = remainingComparators.pop();\n while(result && remainingComparators.length){\n result = remainingComparators.every((otherComparator)=>{\n return testComparator.intersects(otherComparator, options);\n });\n testComparator = remainingComparators.pop();\n }\n return result;\n};\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst $1976323f18191b36$var$parseComparator = (comp, options)=>{\n $afJI7(\"comp\", comp, options);\n comp = $1976323f18191b36$var$replaceCarets(comp, options);\n $afJI7(\"caret\", comp);\n comp = $1976323f18191b36$var$replaceTildes(comp, options);\n $afJI7(\"tildes\", comp);\n comp = $1976323f18191b36$var$replaceXRanges(comp, options);\n $afJI7(\"xrange\", comp);\n comp = $1976323f18191b36$var$replaceStars(comp, options);\n $afJI7(\"stars\", comp);\n return comp;\n};\nconst $1976323f18191b36$var$isX = (id)=>!id || id.toLowerCase() === \"x\" || id === \"*\";\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst $1976323f18191b36$var$replaceTildes = (comp, options)=>comp.trim().split(/\\s+/).map((c)=>{\n return $1976323f18191b36$var$replaceTilde(c, options);\n }).join(\" \");\nconst $1976323f18191b36$var$replaceTilde = (comp, options)=>{\n const r = options.loose ? $1976323f18191b36$require$re[$1976323f18191b36$require$t.TILDELOOSE] : $1976323f18191b36$require$re[$1976323f18191b36$require$t.TILDE];\n return comp.replace(r, (_, M, m, p, pr)=>{\n $afJI7(\"tilde\", comp, _, M, m, p, pr);\n let ret;\n if ($1976323f18191b36$var$isX(M)) ret = \"\";\n else if ($1976323f18191b36$var$isX(m)) ret = `>=${M}.0.0 <${+M + 1}.0.0-0`;\n else if ($1976323f18191b36$var$isX(p)) // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`;\n else if (pr) {\n $afJI7(\"replaceTilde pr\", pr);\n ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;\n } else // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p} <${M}.${+m + 1}.0-0`;\n $afJI7(\"tilde return\", ret);\n return ret;\n });\n};\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst $1976323f18191b36$var$replaceCarets = (comp, options)=>comp.trim().split(/\\s+/).map((c)=>{\n return $1976323f18191b36$var$replaceCaret(c, options);\n }).join(\" \");\nconst $1976323f18191b36$var$replaceCaret = (comp, options)=>{\n $afJI7(\"caret\", comp, options);\n const r = options.loose ? $1976323f18191b36$require$re[$1976323f18191b36$require$t.CARETLOOSE] : $1976323f18191b36$require$re[$1976323f18191b36$require$t.CARET];\n const z = options.includePrerelease ? \"-0\" : \"\";\n return comp.replace(r, (_, M, m, p, pr)=>{\n $afJI7(\"caret\", comp, _, M, m, p, pr);\n let ret;\n if ($1976323f18191b36$var$isX(M)) ret = \"\";\n else if ($1976323f18191b36$var$isX(m)) ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`;\n else if ($1976323f18191b36$var$isX(p)) {\n if (M === \"0\") ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`;\n else ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`;\n } else if (pr) {\n $afJI7(\"replaceCaret pr\", pr);\n if (M === \"0\") {\n if (m === \"0\") ret = `>=${M}.${m}.${p}-${pr} <${M}.${m}.${+p + 1}-0`;\n else ret = `>=${M}.${m}.${p}-${pr} <${M}.${+m + 1}.0-0`;\n } else ret = `>=${M}.${m}.${p}-${pr} <${+M + 1}.0.0-0`;\n } else {\n $afJI7(\"no pr\");\n if (M === \"0\") {\n if (m === \"0\") ret = `>=${M}.${m}.${p}${z} <${M}.${m}.${+p + 1}-0`;\n else ret = `>=${M}.${m}.${p}${z} <${M}.${+m + 1}.0-0`;\n } else ret = `>=${M}.${m}.${p} <${+M + 1}.0.0-0`;\n }\n $afJI7(\"caret return\", ret);\n return ret;\n });\n};\nconst $1976323f18191b36$var$replaceXRanges = (comp, options)=>{\n $afJI7(\"replaceXRanges\", comp, options);\n return comp.split(/\\s+/).map((c)=>{\n return $1976323f18191b36$var$replaceXRange(c, options);\n }).join(\" \");\n};\nconst $1976323f18191b36$var$replaceXRange = (comp, options)=>{\n comp = comp.trim();\n const r = options.loose ? $1976323f18191b36$require$re[$1976323f18191b36$require$t.XRANGELOOSE] : $1976323f18191b36$require$re[$1976323f18191b36$require$t.XRANGE];\n return comp.replace(r, (ret, gtlt, M, m, p, pr)=>{\n $afJI7(\"xRange\", comp, ret, gtlt, M, m, p, pr);\n const xM = $1976323f18191b36$var$isX(M);\n const xm = xM || $1976323f18191b36$var$isX(m);\n const xp = xm || $1976323f18191b36$var$isX(p);\n const anyX = xp;\n if (gtlt === \"=\" && anyX) gtlt = \"\";\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? \"-0\" : \"\";\n if (xM) {\n if (gtlt === \">\" || gtlt === \"<\") // nothing is allowed\n ret = \"<0.0.0-0\";\n else // nothing is forbidden\n ret = \"*\";\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) m = 0;\n p = 0;\n if (gtlt === \">\") {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = \">=\";\n if (xm) {\n M = +M + 1;\n m = 0;\n p = 0;\n } else {\n m = +m + 1;\n p = 0;\n }\n } else if (gtlt === \"<=\") {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = \"<\";\n if (xm) M = +M + 1;\n else m = +m + 1;\n }\n if (gtlt === \"<\") pr = \"-0\";\n ret = `${gtlt + M}.${m}.${p}${pr}`;\n } else if (xm) ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`;\n else if (xp) ret = `>=${M}.${m}.0${pr} <${M}.${+m + 1}.0-0`;\n $afJI7(\"xRange return\", ret);\n return ret;\n });\n};\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst $1976323f18191b36$var$replaceStars = (comp, options)=>{\n $afJI7(\"replaceStars\", comp, options);\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace($1976323f18191b36$require$re[$1976323f18191b36$require$t.STAR], \"\");\n};\nconst $1976323f18191b36$var$replaceGTE0 = (comp, options)=>{\n $afJI7(\"replaceGTE0\", comp, options);\n return comp.trim().replace($1976323f18191b36$require$re[options.includePrerelease ? $1976323f18191b36$require$t.GTE0PRE : $1976323f18191b36$require$t.GTE0], \"\");\n};\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\nconst $1976323f18191b36$var$hyphenReplace = (incPr)=>($0, from, fM, fm, fp, fpr, fb, to, tM, tm, tp, tpr, tb)=>{\n if ($1976323f18191b36$var$isX(fM)) from = \"\";\n else if ($1976323f18191b36$var$isX(fm)) from = `>=${fM}.0.0${incPr ? \"-0\" : \"\"}`;\n else if ($1976323f18191b36$var$isX(fp)) from = `>=${fM}.${fm}.0${incPr ? \"-0\" : \"\"}`;\n else if (fpr) from = `>=${from}`;\n else from = `>=${from}${incPr ? \"-0\" : \"\"}`;\n if ($1976323f18191b36$var$isX(tM)) to = \"\";\n else if ($1976323f18191b36$var$isX(tm)) to = `<${+tM + 1}.0.0-0`;\n else if ($1976323f18191b36$var$isX(tp)) to = `<${tM}.${+tm + 1}.0-0`;\n else if (tpr) to = `<=${tM}.${tm}.${tp}-${tpr}`;\n else if (incPr) to = `<${tM}.${tm}.${+tp + 1}-0`;\n else to = `<=${to}`;\n return `${from} ${to}`.trim();\n };\nconst $1976323f18191b36$var$testSet = (set, version, options)=>{\n for(let i = 0; i < set.length; i++){\n if (!set[i].test(version)) return false;\n }\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for(let i = 0; i < set.length; i++){\n $afJI7(set[i].semver);\n if (set[i].semver === $azCrR.ANY) continue;\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver;\n if (allowed.major === version.major && allowed.minor === version.minor && allowed.patch === version.patch) return true;\n }\n }\n // Version has a -pre, but it's not one of the ones we like.\n return false;\n }\n return true;\n};\n\n});\nparcelRequire.register(\"bnToR\", function(module, exports) {\n\"use strict\";\n\nvar $276rC = parcelRequire(\"276rC\");\nconst $849cd0fb8cde656f$var$MAX = Symbol(\"max\");\nconst $849cd0fb8cde656f$var$LENGTH = Symbol(\"length\");\nconst $849cd0fb8cde656f$var$LENGTH_CALCULATOR = Symbol(\"lengthCalculator\");\nconst $849cd0fb8cde656f$var$ALLOW_STALE = Symbol(\"allowStale\");\nconst $849cd0fb8cde656f$var$MAX_AGE = Symbol(\"maxAge\");\nconst $849cd0fb8cde656f$var$DISPOSE = Symbol(\"dispose\");\nconst $849cd0fb8cde656f$var$NO_DISPOSE_ON_SET = Symbol(\"noDisposeOnSet\");\nconst $849cd0fb8cde656f$var$LRU_LIST = Symbol(\"lruList\");\nconst $849cd0fb8cde656f$var$CACHE = Symbol(\"cache\");\nconst $849cd0fb8cde656f$var$UPDATE_AGE_ON_GET = Symbol(\"updateAgeOnGet\");\nconst $849cd0fb8cde656f$var$naiveLength = ()=>1;\n// lruList is a yallist where the head is the youngest\n// item, and the tail is the oldest. the list contains the Hit\n// objects as the entries.\n// Each Hit object has a reference to its Yallist.Node. This\n// never changes.\n//\n// cache is a Map (or PseudoMap) that matches the keys to\n// the Yallist.Node object.\nclass $849cd0fb8cde656f$var$LRUCache {\n constructor(options){\n if (typeof options === \"number\") options = {\n max: options\n };\n if (!options) options = {};\n if (options.max && (typeof options.max !== \"number\" || options.max < 0)) throw new TypeError(\"max must be a non-negative number\");\n // Kind of weird to have a default max of Infinity, but oh well.\n const max = this[$849cd0fb8cde656f$var$MAX] = options.max || Infinity;\n const lc = options.length || $849cd0fb8cde656f$var$naiveLength;\n this[$849cd0fb8cde656f$var$LENGTH_CALCULATOR] = typeof lc !== \"function\" ? $849cd0fb8cde656f$var$naiveLength : lc;\n this[$849cd0fb8cde656f$var$ALLOW_STALE] = options.stale || false;\n if (options.maxAge && typeof options.maxAge !== \"number\") throw new TypeError(\"maxAge must be a number\");\n this[$849cd0fb8cde656f$var$MAX_AGE] = options.maxAge || 0;\n this[$849cd0fb8cde656f$var$DISPOSE] = options.dispose;\n this[$849cd0fb8cde656f$var$NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false;\n this[$849cd0fb8cde656f$var$UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false;\n this.reset();\n }\n // resize the cache when the max changes.\n set max(mL) {\n if (typeof mL !== \"number\" || mL < 0) throw new TypeError(\"max must be a non-negative number\");\n this[$849cd0fb8cde656f$var$MAX] = mL || Infinity;\n $849cd0fb8cde656f$var$trim(this);\n }\n get max() {\n return this[$849cd0fb8cde656f$var$MAX];\n }\n set allowStale(allowStale) {\n this[$849cd0fb8cde656f$var$ALLOW_STALE] = !!allowStale;\n }\n get allowStale() {\n return this[$849cd0fb8cde656f$var$ALLOW_STALE];\n }\n set maxAge(mA) {\n if (typeof mA !== \"number\") throw new TypeError(\"maxAge must be a non-negative number\");\n this[$849cd0fb8cde656f$var$MAX_AGE] = mA;\n $849cd0fb8cde656f$var$trim(this);\n }\n get maxAge() {\n return this[$849cd0fb8cde656f$var$MAX_AGE];\n }\n // resize the cache when the lengthCalculator changes.\n set lengthCalculator(lC) {\n if (typeof lC !== \"function\") lC = $849cd0fb8cde656f$var$naiveLength;\n if (lC !== this[$849cd0fb8cde656f$var$LENGTH_CALCULATOR]) {\n this[$849cd0fb8cde656f$var$LENGTH_CALCULATOR] = lC;\n this[$849cd0fb8cde656f$var$LENGTH] = 0;\n this[$849cd0fb8cde656f$var$LRU_LIST].forEach((hit)=>{\n hit.length = this[$849cd0fb8cde656f$var$LENGTH_CALCULATOR](hit.value, hit.key);\n this[$849cd0fb8cde656f$var$LENGTH] += hit.length;\n });\n }\n $849cd0fb8cde656f$var$trim(this);\n }\n get lengthCalculator() {\n return this[$849cd0fb8cde656f$var$LENGTH_CALCULATOR];\n }\n get length() {\n return this[$849cd0fb8cde656f$var$LENGTH];\n }\n get itemCount() {\n return this[$849cd0fb8cde656f$var$LRU_LIST].length;\n }\n rforEach(fn, thisp) {\n thisp = thisp || this;\n for(let walker = this[$849cd0fb8cde656f$var$LRU_LIST].tail; walker !== null;){\n const prev = walker.prev;\n $849cd0fb8cde656f$var$forEachStep(this, fn, walker, thisp);\n walker = prev;\n }\n }\n forEach(fn, thisp) {\n thisp = thisp || this;\n for(let walker = this[$849cd0fb8cde656f$var$LRU_LIST].head; walker !== null;){\n const next = walker.next;\n $849cd0fb8cde656f$var$forEachStep(this, fn, walker, thisp);\n walker = next;\n }\n }\n keys() {\n return this[$849cd0fb8cde656f$var$LRU_LIST].toArray().map((k)=>k.key);\n }\n values() {\n return this[$849cd0fb8cde656f$var$LRU_LIST].toArray().map((k)=>k.value);\n }\n reset() {\n if (this[$849cd0fb8cde656f$var$DISPOSE] && this[$849cd0fb8cde656f$var$LRU_LIST] && this[$849cd0fb8cde656f$var$LRU_LIST].length) this[$849cd0fb8cde656f$var$LRU_LIST].forEach((hit)=>this[$849cd0fb8cde656f$var$DISPOSE](hit.key, hit.value));\n this[$849cd0fb8cde656f$var$CACHE] = new Map() // hash of items by key\n ;\n this[$849cd0fb8cde656f$var$LRU_LIST] = new $276rC() // list of items in order of use recency\n ;\n this[$849cd0fb8cde656f$var$LENGTH] = 0 // length of items in the list\n ;\n }\n dump() {\n return this[$849cd0fb8cde656f$var$LRU_LIST].map((hit)=>$849cd0fb8cde656f$var$isStale(this, hit) ? false : {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }).toArray().filter((h)=>h);\n }\n dumpLru() {\n return this[$849cd0fb8cde656f$var$LRU_LIST];\n }\n set(key, value, maxAge) {\n maxAge = maxAge || this[$849cd0fb8cde656f$var$MAX_AGE];\n if (maxAge && typeof maxAge !== \"number\") throw new TypeError(\"maxAge must be a number\");\n const now = maxAge ? Date.now() : 0;\n const len = this[$849cd0fb8cde656f$var$LENGTH_CALCULATOR](value, key);\n if (this[$849cd0fb8cde656f$var$CACHE].has(key)) {\n if (len > this[$849cd0fb8cde656f$var$MAX]) {\n $849cd0fb8cde656f$var$del(this, this[$849cd0fb8cde656f$var$CACHE].get(key));\n return false;\n }\n const node = this[$849cd0fb8cde656f$var$CACHE].get(key);\n const item = node.value;\n // dispose of the old one before overwriting\n // split out into 2 ifs for better coverage tracking\n if (this[$849cd0fb8cde656f$var$DISPOSE]) {\n if (!this[$849cd0fb8cde656f$var$NO_DISPOSE_ON_SET]) this[$849cd0fb8cde656f$var$DISPOSE](key, item.value);\n }\n item.now = now;\n item.maxAge = maxAge;\n item.value = value;\n this[$849cd0fb8cde656f$var$LENGTH] += len - item.length;\n item.length = len;\n this.get(key);\n $849cd0fb8cde656f$var$trim(this);\n return true;\n }\n const hit = new $849cd0fb8cde656f$var$Entry(key, value, len, now, maxAge);\n // oversized objects fall out of cache automatically.\n if (hit.length > this[$849cd0fb8cde656f$var$MAX]) {\n if (this[$849cd0fb8cde656f$var$DISPOSE]) this[$849cd0fb8cde656f$var$DISPOSE](key, value);\n return false;\n }\n this[$849cd0fb8cde656f$var$LENGTH] += hit.length;\n this[$849cd0fb8cde656f$var$LRU_LIST].unshift(hit);\n this[$849cd0fb8cde656f$var$CACHE].set(key, this[$849cd0fb8cde656f$var$LRU_LIST].head);\n $849cd0fb8cde656f$var$trim(this);\n return true;\n }\n has(key) {\n if (!this[$849cd0fb8cde656f$var$CACHE].has(key)) return false;\n const hit = this[$849cd0fb8cde656f$var$CACHE].get(key).value;\n return !$849cd0fb8cde656f$var$isStale(this, hit);\n }\n get(key) {\n return $849cd0fb8cde656f$var$get(this, key, true);\n }\n peek(key) {\n return $849cd0fb8cde656f$var$get(this, key, false);\n }\n pop() {\n const node = this[$849cd0fb8cde656f$var$LRU_LIST].tail;\n if (!node) return null;\n $849cd0fb8cde656f$var$del(this, node);\n return node.value;\n }\n del(key) {\n $849cd0fb8cde656f$var$del(this, this[$849cd0fb8cde656f$var$CACHE].get(key));\n }\n load(arr) {\n // reset the cache\n this.reset();\n const now = Date.now();\n // A previous serialized cache has the most recent items first\n for(let l = arr.length - 1; l >= 0; l--){\n const hit = arr[l];\n const expiresAt = hit.e || 0;\n if (expiresAt === 0) // the item was created without expiration in a non aged cache\n this.set(hit.k, hit.v);\n else {\n const maxAge = expiresAt - now;\n // dont add already expired items\n if (maxAge > 0) this.set(hit.k, hit.v, maxAge);\n }\n }\n }\n prune() {\n this[$849cd0fb8cde656f$var$CACHE].forEach((value, key)=>$849cd0fb8cde656f$var$get(this, key, false));\n }\n}\nconst $849cd0fb8cde656f$var$get = (self, key, doUse)=>{\n const node = self[$849cd0fb8cde656f$var$CACHE].get(key);\n if (node) {\n const hit = node.value;\n if ($849cd0fb8cde656f$var$isStale(self, hit)) {\n $849cd0fb8cde656f$var$del(self, node);\n if (!self[$849cd0fb8cde656f$var$ALLOW_STALE]) return undefined;\n } else if (doUse) {\n if (self[$849cd0fb8cde656f$var$UPDATE_AGE_ON_GET]) node.value.now = Date.now();\n self[$849cd0fb8cde656f$var$LRU_LIST].unshiftNode(node);\n }\n return hit.value;\n }\n};\nconst $849cd0fb8cde656f$var$isStale = (self, hit)=>{\n if (!hit || !hit.maxAge && !self[$849cd0fb8cde656f$var$MAX_AGE]) return false;\n const diff = Date.now() - hit.now;\n return hit.maxAge ? diff > hit.maxAge : self[$849cd0fb8cde656f$var$MAX_AGE] && diff > self[$849cd0fb8cde656f$var$MAX_AGE];\n};\nconst $849cd0fb8cde656f$var$trim = (self)=>{\n if (self[$849cd0fb8cde656f$var$LENGTH] > self[$849cd0fb8cde656f$var$MAX]) for(let walker = self[$849cd0fb8cde656f$var$LRU_LIST].tail; self[$849cd0fb8cde656f$var$LENGTH] > self[$849cd0fb8cde656f$var$MAX] && walker !== null;){\n // We know that we're about to delete this one, and also\n // what the next least recently used key will be, so just\n // go ahead and set it now.\n const prev = walker.prev;\n $849cd0fb8cde656f$var$del(self, walker);\n walker = prev;\n }\n};\nconst $849cd0fb8cde656f$var$del = (self, node)=>{\n if (node) {\n const hit = node.value;\n if (self[$849cd0fb8cde656f$var$DISPOSE]) self[$849cd0fb8cde656f$var$DISPOSE](hit.key, hit.value);\n self[$849cd0fb8cde656f$var$LENGTH] -= hit.length;\n self[$849cd0fb8cde656f$var$CACHE].delete(hit.key);\n self[$849cd0fb8cde656f$var$LRU_LIST].removeNode(node);\n }\n};\nclass $849cd0fb8cde656f$var$Entry {\n constructor(key, value, length, now, maxAge){\n this.key = key;\n this.value = value;\n this.length = length;\n this.now = now;\n this.maxAge = maxAge || 0;\n }\n}\nconst $849cd0fb8cde656f$var$forEachStep = (self, fn, node, thisp)=>{\n let hit = node.value;\n if ($849cd0fb8cde656f$var$isStale(self, hit)) {\n $849cd0fb8cde656f$var$del(self, node);\n if (!self[$849cd0fb8cde656f$var$ALLOW_STALE]) hit = undefined;\n }\n if (hit) fn.call(thisp, hit.value, hit.key, self);\n};\nmodule.exports = $849cd0fb8cde656f$var$LRUCache;\n\n});\nparcelRequire.register(\"276rC\", function(module, exports) {\n\"use strict\";\nmodule.exports = $18a13beff4a92103$var$Yallist;\n$18a13beff4a92103$var$Yallist.Node = $18a13beff4a92103$var$Node;\n$18a13beff4a92103$var$Yallist.create = $18a13beff4a92103$var$Yallist;\nfunction $18a13beff4a92103$var$Yallist(list) {\n var self = this;\n if (!(self instanceof $18a13beff4a92103$var$Yallist)) self = new $18a13beff4a92103$var$Yallist();\n self.tail = null;\n self.head = null;\n self.length = 0;\n if (list && typeof list.forEach === \"function\") list.forEach(function(item) {\n self.push(item);\n });\n else if (arguments.length > 0) for(var i = 0, l = arguments.length; i < l; i++)self.push(arguments[i]);\n return self;\n}\n$18a13beff4a92103$var$Yallist.prototype.removeNode = function(node) {\n if (node.list !== this) throw new Error(\"removing node which does not belong to this list\");\n var next = node.next;\n var prev = node.prev;\n if (next) next.prev = prev;\n if (prev) prev.next = next;\n if (node === this.head) this.head = next;\n if (node === this.tail) this.tail = prev;\n node.list.length--;\n node.next = null;\n node.prev = null;\n node.list = null;\n return next;\n};\n$18a13beff4a92103$var$Yallist.prototype.unshiftNode = function(node) {\n if (node === this.head) return;\n if (node.list) node.list.removeNode(node);\n var head = this.head;\n node.list = this;\n node.next = head;\n if (head) head.prev = node;\n this.head = node;\n if (!this.tail) this.tail = node;\n this.length++;\n};\n$18a13beff4a92103$var$Yallist.prototype.pushNode = function(node) {\n if (node === this.tail) return;\n if (node.list) node.list.removeNode(node);\n var tail = this.tail;\n node.list = this;\n node.prev = tail;\n if (tail) tail.next = node;\n this.tail = node;\n if (!this.head) this.head = node;\n this.length++;\n};\n$18a13beff4a92103$var$Yallist.prototype.push = function() {\n for(var i = 0, l = arguments.length; i < l; i++)$18a13beff4a92103$var$push(this, arguments[i]);\n return this.length;\n};\n$18a13beff4a92103$var$Yallist.prototype.unshift = function() {\n for(var i = 0, l = arguments.length; i < l; i++)$18a13beff4a92103$var$unshift(this, arguments[i]);\n return this.length;\n};\n$18a13beff4a92103$var$Yallist.prototype.pop = function() {\n if (!this.tail) return undefined;\n var res = this.tail.value;\n this.tail = this.tail.prev;\n if (this.tail) this.tail.next = null;\n else this.head = null;\n this.length--;\n return res;\n};\n$18a13beff4a92103$var$Yallist.prototype.shift = function() {\n if (!this.head) return undefined;\n var res = this.head.value;\n this.head = this.head.next;\n if (this.head) this.head.prev = null;\n else this.tail = null;\n this.length--;\n return res;\n};\n$18a13beff4a92103$var$Yallist.prototype.forEach = function(fn, thisp) {\n thisp = thisp || this;\n for(var walker = this.head, i = 0; walker !== null; i++){\n fn.call(thisp, walker.value, i, this);\n walker = walker.next;\n }\n};\n$18a13beff4a92103$var$Yallist.prototype.forEachReverse = function(fn, thisp) {\n thisp = thisp || this;\n for(var walker = this.tail, i = this.length - 1; walker !== null; i--){\n fn.call(thisp, walker.value, i, this);\n walker = walker.prev;\n }\n};\n$18a13beff4a92103$var$Yallist.prototype.get = function(n) {\n for(var i = 0, walker = this.head; walker !== null && i < n; i++)// abort out of the list early if we hit a cycle\n walker = walker.next;\n if (i === n && walker !== null) return walker.value;\n};\n$18a13beff4a92103$var$Yallist.prototype.getReverse = function(n) {\n for(var i = 0, walker = this.tail; walker !== null && i < n; i++)// abort out of the list early if we hit a cycle\n walker = walker.prev;\n if (i === n && walker !== null) return walker.value;\n};\n$18a13beff4a92103$var$Yallist.prototype.map = function(fn, thisp) {\n thisp = thisp || this;\n var res = new $18a13beff4a92103$var$Yallist();\n for(var walker = this.head; walker !== null;){\n res.push(fn.call(thisp, walker.value, this));\n walker = walker.next;\n }\n return res;\n};\n$18a13beff4a92103$var$Yallist.prototype.mapReverse = function(fn, thisp) {\n thisp = thisp || this;\n var res = new $18a13beff4a92103$var$Yallist();\n for(var walker = this.tail; walker !== null;){\n res.push(fn.call(thisp, walker.value, this));\n walker = walker.prev;\n }\n return res;\n};\n$18a13beff4a92103$var$Yallist.prototype.reduce = function(fn, initial) {\n var acc;\n var walker = this.head;\n if (arguments.length > 1) acc = initial;\n else if (this.head) {\n walker = this.head.next;\n acc = this.head.value;\n } else throw new TypeError(\"Reduce of empty list with no initial value\");\n for(var i = 0; walker !== null; i++){\n acc = fn(acc, walker.value, i);\n walker = walker.next;\n }\n return acc;\n};\n$18a13beff4a92103$var$Yallist.prototype.reduceReverse = function(fn, initial) {\n var acc;\n var walker = this.tail;\n if (arguments.length > 1) acc = initial;\n else if (this.tail) {\n walker = this.tail.prev;\n acc = this.tail.value;\n } else throw new TypeError(\"Reduce of empty list with no initial value\");\n for(var i = this.length - 1; walker !== null; i--){\n acc = fn(acc, walker.value, i);\n walker = walker.prev;\n }\n return acc;\n};\n$18a13beff4a92103$var$Yallist.prototype.toArray = function() {\n var arr = new Array(this.length);\n for(var i = 0, walker = this.head; walker !== null; i++){\n arr[i] = walker.value;\n walker = walker.next;\n }\n return arr;\n};\n$18a13beff4a92103$var$Yallist.prototype.toArrayReverse = function() {\n var arr = new Array(this.length);\n for(var i = 0, walker = this.tail; walker !== null; i++){\n arr[i] = walker.value;\n walker = walker.prev;\n }\n return arr;\n};\n$18a13beff4a92103$var$Yallist.prototype.slice = function(from, to) {\n to = to || this.length;\n if (to < 0) to += this.length;\n from = from || 0;\n if (from < 0) from += this.length;\n var ret = new $18a13beff4a92103$var$Yallist();\n if (to < from || to < 0) return ret;\n if (from < 0) from = 0;\n if (to > this.length) to = this.length;\n for(var i = 0, walker = this.head; walker !== null && i < from; i++)walker = walker.next;\n for(; walker !== null && i < to; i++, walker = walker.next)ret.push(walker.value);\n return ret;\n};\n$18a13beff4a92103$var$Yallist.prototype.sliceReverse = function(from, to) {\n to = to || this.length;\n if (to < 0) to += this.length;\n from = from || 0;\n if (from < 0) from += this.length;\n var ret = new $18a13beff4a92103$var$Yallist();\n if (to < from || to < 0) return ret;\n if (from < 0) from = 0;\n if (to > this.length) to = this.length;\n for(var i = this.length, walker = this.tail; walker !== null && i > to; i--)walker = walker.prev;\n for(; walker !== null && i > from; i--, walker = walker.prev)ret.push(walker.value);\n return ret;\n};\n$18a13beff4a92103$var$Yallist.prototype.splice = function(start, deleteCount, ...nodes) {\n if (start > this.length) start = this.length - 1;\n if (start < 0) start = this.length + start;\n for(var i = 0, walker = this.head; walker !== null && i < start; i++)walker = walker.next;\n var ret = [];\n for(var i = 0; walker && i < deleteCount; i++){\n ret.push(walker.value);\n walker = this.removeNode(walker);\n }\n if (walker === null) walker = this.tail;\n if (walker !== this.head && walker !== this.tail) walker = walker.prev;\n for(var i = 0; i < nodes.length; i++)walker = $18a13beff4a92103$var$insert(this, walker, nodes[i]);\n return ret;\n};\n$18a13beff4a92103$var$Yallist.prototype.reverse = function() {\n var head = this.head;\n var tail = this.tail;\n for(var walker = head; walker !== null; walker = walker.prev){\n var p = walker.prev;\n walker.prev = walker.next;\n walker.next = p;\n }\n this.head = tail;\n this.tail = head;\n return this;\n};\nfunction $18a13beff4a92103$var$insert(self, node, value) {\n var inserted = node === self.head ? new $18a13beff4a92103$var$Node(value, null, node, self) : new $18a13beff4a92103$var$Node(value, node, node.next, self);\n if (inserted.next === null) self.tail = inserted;\n if (inserted.prev === null) self.head = inserted;\n self.length++;\n return inserted;\n}\nfunction $18a13beff4a92103$var$push(self, item) {\n self.tail = new $18a13beff4a92103$var$Node(item, self.tail, null, self);\n if (!self.head) self.head = self.tail;\n self.length++;\n}\nfunction $18a13beff4a92103$var$unshift(self, item) {\n self.head = new $18a13beff4a92103$var$Node(item, null, self.head, self);\n if (!self.tail) self.tail = self.head;\n self.length++;\n}\nfunction $18a13beff4a92103$var$Node(value, prev, next, list) {\n if (!(this instanceof $18a13beff4a92103$var$Node)) return new $18a13beff4a92103$var$Node(value, prev, next, list);\n this.list = list;\n this.value = value;\n if (prev) {\n prev.next = this;\n this.prev = prev;\n } else this.prev = null;\n if (next) {\n next.prev = this;\n this.next = next;\n } else this.next = null;\n}\n\ntry {\n // add if support for Symbol.iterator is present\n (parcelRequire(\"8E5K5\"))($18a13beff4a92103$var$Yallist);\n} catch (er) {}\n\n});\nparcelRequire.register(\"8E5K5\", function(module, exports) {\n\"use strict\";\nmodule.exports = function(Yallist) {\n Yallist.prototype[Symbol.iterator] = function*() {\n for(let walker = this.head; walker; walker = walker.next)yield walker.value;\n };\n};\n\n});\n\n\n\nparcelRequire.register(\"aWnqj\", function(module, exports) {\n// parse out just the options we care about\nconst $7f717d88df5e6ad4$var$looseOption = Object.freeze({\n loose: true\n});\nconst $7f717d88df5e6ad4$var$emptyOpts = Object.freeze({});\nconst $7f717d88df5e6ad4$var$parseOptions = (options)=>{\n if (!options) return $7f717d88df5e6ad4$var$emptyOpts;\n if (typeof options !== \"object\") return $7f717d88df5e6ad4$var$looseOption;\n return options;\n};\nmodule.exports = $7f717d88df5e6ad4$var$parseOptions;\n\n});\n\nparcelRequire.register(\"azCrR\", function(module, exports) {\nconst $7b2aff5167b0c747$var$ANY = Symbol(\"SemVer ANY\");\n// hoisted class for cyclic dependency\nclass $7b2aff5167b0c747$var$Comparator {\n static get ANY() {\n return $7b2aff5167b0c747$var$ANY;\n }\n constructor(comp, options){\n options = $aWnqj(options);\n if (comp instanceof $7b2aff5167b0c747$var$Comparator) {\n if (comp.loose === !!options.loose) return comp;\n else comp = comp.value;\n }\n $afJI7(\"comparator\", comp, options);\n this.options = options;\n this.loose = !!options.loose;\n this.parse(comp);\n if (this.semver === $7b2aff5167b0c747$var$ANY) this.value = \"\";\n else this.value = this.operator + this.semver.version;\n $afJI7(\"comp\", this);\n }\n parse(comp) {\n const r = this.options.loose ? $7b2aff5167b0c747$require$re[$7b2aff5167b0c747$require$t.COMPARATORLOOSE] : $7b2aff5167b0c747$require$re[$7b2aff5167b0c747$require$t.COMPARATOR];\n const m = comp.match(r);\n if (!m) throw new TypeError(`Invalid comparator: ${comp}`);\n this.operator = m[1] !== undefined ? m[1] : \"\";\n if (this.operator === \"=\") this.operator = \"\";\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) this.semver = $7b2aff5167b0c747$var$ANY;\n else this.semver = new $8YHM6(m[2], this.options.loose);\n }\n toString() {\n return this.value;\n }\n test(version) {\n $afJI7(\"Comparator.test\", version, this.options.loose);\n if (this.semver === $7b2aff5167b0c747$var$ANY || version === $7b2aff5167b0c747$var$ANY) return true;\n if (typeof version === \"string\") try {\n version = new $8YHM6(version, this.options);\n } catch (er) {\n return false;\n }\n return $Zfh0y(version, this.operator, this.semver, this.options);\n }\n intersects(comp, options) {\n if (!(comp instanceof $7b2aff5167b0c747$var$Comparator)) throw new TypeError(\"a Comparator is required\");\n if (this.operator === \"\") {\n if (this.value === \"\") return true;\n return new $2bwZd(comp.value, options).test(this.value);\n } else if (comp.operator === \"\") {\n if (comp.value === \"\") return true;\n return new $2bwZd(this.value, options).test(comp.semver);\n }\n options = $aWnqj(options);\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease && (this.value === \"<0.0.0-0\" || comp.value === \"<0.0.0-0\")) return false;\n if (!options.includePrerelease && (this.value.startsWith(\"<0.0.0\") || comp.value.startsWith(\"<0.0.0\"))) return false;\n // Same direction increasing (> or >=)\n if (this.operator.startsWith(\">\") && comp.operator.startsWith(\">\")) return true;\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith(\"<\") && comp.operator.startsWith(\"<\")) return true;\n // same SemVer and both sides are inclusive (<= or >=)\n if (this.semver.version === comp.semver.version && this.operator.includes(\"=\") && comp.operator.includes(\"=\")) return true;\n // opposite directions less than\n if ($Zfh0y(this.semver, \"<\", comp.semver, options) && this.operator.startsWith(\">\") && comp.operator.startsWith(\"<\")) return true;\n // opposite directions greater than\n if ($Zfh0y(this.semver, \">\", comp.semver, options) && this.operator.startsWith(\"<\") && comp.operator.startsWith(\">\")) return true;\n return false;\n }\n}\nmodule.exports = $7b2aff5167b0c747$var$Comparator;\n\nvar $aWnqj = parcelRequire(\"aWnqj\");\n\nvar $1RjJH = parcelRequire(\"1RjJH\");\nvar $7b2aff5167b0c747$require$re = $1RjJH.re;\nvar $7b2aff5167b0c747$require$t = $1RjJH.t;\n\nvar $Zfh0y = parcelRequire(\"Zfh0y\");\n\nvar $afJI7 = parcelRequire(\"afJI7\");\n\nvar $8YHM6 = parcelRequire(\"8YHM6\");\n\nvar $2bwZd = parcelRequire(\"2bwZd\");\n\n});\nparcelRequire.register(\"1RjJH\", function(module, exports) {\n\nvar $hScrW = parcelRequire(\"hScrW\");\nvar $15aa0cdd8303195c$require$MAX_SAFE_COMPONENT_LENGTH = $hScrW.MAX_SAFE_COMPONENT_LENGTH;\n\nvar $afJI7 = parcelRequire(\"afJI7\");\nexports = module.exports = {};\n// The actual regexps go on exports.re\nconst re = exports.re = [];\nconst src = exports.src = [];\nconst t = exports.t = {};\nlet R = 0;\nconst createToken = (name, value, isGlobal)=>{\n const index = R++;\n $afJI7(name, index, value);\n t[name] = index;\n src[index] = value;\n re[index] = new RegExp(value, isGlobal ? \"g\" : undefined);\n};\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\ncreateToken(\"NUMERICIDENTIFIER\", \"0|[1-9]\\\\d*\");\ncreateToken(\"NUMERICIDENTIFIERLOOSE\", \"[0-9]+\");\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\ncreateToken(\"NONNUMERICIDENTIFIER\", \"\\\\d*[a-zA-Z-][a-zA-Z0-9-]*\");\n// ## Main Version\n// Three dot-separated numeric identifiers.\ncreateToken(\"MAINVERSION\", `(${src[t.NUMERICIDENTIFIER]})\\\\.` + `(${src[t.NUMERICIDENTIFIER]})\\\\.` + `(${src[t.NUMERICIDENTIFIER]})`);\ncreateToken(\"MAINVERSIONLOOSE\", `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` + `(${src[t.NUMERICIDENTIFIERLOOSE]})`);\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\ncreateToken(\"PRERELEASEIDENTIFIER\", `(?:${src[t.NUMERICIDENTIFIER]}|${src[t.NONNUMERICIDENTIFIER]})`);\ncreateToken(\"PRERELEASEIDENTIFIERLOOSE\", `(?:${src[t.NUMERICIDENTIFIERLOOSE]}|${src[t.NONNUMERICIDENTIFIER]})`);\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\ncreateToken(\"PRERELEASE\", `(?:-(${src[t.PRERELEASEIDENTIFIER]}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`);\ncreateToken(\"PRERELEASELOOSE\", `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`);\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\ncreateToken(\"BUILDIDENTIFIER\", \"[0-9A-Za-z-]+\");\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\ncreateToken(\"BUILD\", `(?:\\\\+(${src[t.BUILDIDENTIFIER]}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`);\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\ncreateToken(\"FULLPLAIN\", `v?${src[t.MAINVERSION]}${src[t.PRERELEASE]}?${src[t.BUILD]}?`);\ncreateToken(\"FULL\", `^${src[t.FULLPLAIN]}$`);\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken(\"LOOSEPLAIN\", `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]}${src[t.PRERELEASELOOSE]}?${src[t.BUILD]}?`);\ncreateToken(\"LOOSE\", `^${src[t.LOOSEPLAIN]}$`);\ncreateToken(\"GTLT\", \"((?:<|>)?=?)\");\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken(\"XRANGEIDENTIFIERLOOSE\", `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`);\ncreateToken(\"XRANGEIDENTIFIER\", `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`);\ncreateToken(\"XRANGEPLAIN\", `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` + `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` + `(?:${src[t.PRERELEASE]})?${src[t.BUILD]}?` + `)?)?`);\ncreateToken(\"XRANGEPLAINLOOSE\", `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` + `(?:${src[t.PRERELEASELOOSE]})?${src[t.BUILD]}?` + `)?)?`);\ncreateToken(\"XRANGE\", `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`);\ncreateToken(\"XRANGELOOSE\", `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`);\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken(\"COERCE\", `${\"(^|[^\\\\d])(\\\\d{1,\"}${$15aa0cdd8303195c$require$MAX_SAFE_COMPONENT_LENGTH}})` + `(?:\\\\.(\\\\d{1,${$15aa0cdd8303195c$require$MAX_SAFE_COMPONENT_LENGTH}}))?` + `(?:\\\\.(\\\\d{1,${$15aa0cdd8303195c$require$MAX_SAFE_COMPONENT_LENGTH}}))?` + `(?:$|[^\\\\d])`);\ncreateToken(\"COERCERTL\", src[t.COERCE], true);\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken(\"LONETILDE\", \"(?:~>?)\");\ncreateToken(\"TILDETRIM\", `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true);\nexports.tildeTrimReplace = \"$1~\";\ncreateToken(\"TILDE\", `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`);\ncreateToken(\"TILDELOOSE\", `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`);\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken(\"LONECARET\", \"(?:\\\\^)\");\ncreateToken(\"CARETTRIM\", `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true);\nexports.caretTrimReplace = \"$1^\";\ncreateToken(\"CARET\", `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`);\ncreateToken(\"CARETLOOSE\", `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`);\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken(\"COMPARATORLOOSE\", `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`);\ncreateToken(\"COMPARATOR\", `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`);\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken(\"COMPARATORTRIM\", `(\\\\s*)${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true);\nexports.comparatorTrimReplace = \"$1$2$3\";\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken(\"HYPHENRANGE\", `^\\\\s*(${src[t.XRANGEPLAIN]})` + `\\\\s+-\\\\s+` + `(${src[t.XRANGEPLAIN]})` + `\\\\s*$`);\ncreateToken(\"HYPHENRANGELOOSE\", `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` + `\\\\s+-\\\\s+` + `(${src[t.XRANGEPLAINLOOSE]})` + `\\\\s*$`);\n// Star ranges basically just allow anything at all.\ncreateToken(\"STAR\", \"(<|>)?=?\\\\s*\\\\*\");\n// >=0.0.0 is like a star\ncreateToken(\"GTE0\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$\");\ncreateToken(\"GTE0PRE\", \"^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$\");\n\n});\nparcelRequire.register(\"hScrW\", function(module, exports) {\n// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst $d031230bc4d347bb$var$SEMVER_SPEC_VERSION = \"2.0.0\";\nconst $d031230bc4d347bb$var$MAX_LENGTH = 256;\nconst $d031230bc4d347bb$var$MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || /* istanbul ignore next */ 9007199254740991;\n// Max safe segment length for coercion.\nconst $d031230bc4d347bb$var$MAX_SAFE_COMPONENT_LENGTH = 16;\nconst $d031230bc4d347bb$var$RELEASE_TYPES = [\n \"major\",\n \"premajor\",\n \"minor\",\n \"preminor\",\n \"patch\",\n \"prepatch\",\n \"prerelease\"\n];\nmodule.exports = {\n MAX_LENGTH: $d031230bc4d347bb$var$MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH: $d031230bc4d347bb$var$MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_INTEGER: $d031230bc4d347bb$var$MAX_SAFE_INTEGER,\n RELEASE_TYPES: $d031230bc4d347bb$var$RELEASE_TYPES,\n SEMVER_SPEC_VERSION: $d031230bc4d347bb$var$SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 1,\n FLAG_LOOSE: 2\n};\n\n});\n\nparcelRequire.register(\"afJI7\", function(module, exports) {\n\nvar $hPtJY = parcelRequire(\"hPtJY\");\nconst $776ec34412b4d4d7$var$debug = (typeof $hPtJY === \"object\" && $hPtJY.env && undefined, ()=>{});\nmodule.exports = $776ec34412b4d4d7$var$debug;\n\n});\n\n\nparcelRequire.register(\"Zfh0y\", function(module, exports) {\n\nvar $4rHoZ = parcelRequire(\"4rHoZ\");\n\nvar $5cTal = parcelRequire(\"5cTal\");\n\nvar $ezqsK = parcelRequire(\"ezqsK\");\n\nvar $6UaFa = parcelRequire(\"6UaFa\");\n\nvar $7yK7E = parcelRequire(\"7yK7E\");\n\nvar $9azxQ = parcelRequire(\"9azxQ\");\nconst $0b818b9558373109$var$cmp = (a, op, b, loose)=>{\n switch(op){\n case \"===\":\n if (typeof a === \"object\") a = a.version;\n if (typeof b === \"object\") b = b.version;\n return a === b;\n case \"!==\":\n if (typeof a === \"object\") a = a.version;\n if (typeof b === \"object\") b = b.version;\n return a !== b;\n case \"\":\n case \"=\":\n case \"==\":\n return $4rHoZ(a, b, loose);\n case \"!=\":\n return $5cTal(a, b, loose);\n case \">\":\n return $ezqsK(a, b, loose);\n case \">=\":\n return $6UaFa(a, b, loose);\n case \"<\":\n return $7yK7E(a, b, loose);\n case \"<=\":\n return $9azxQ(a, b, loose);\n default:\n throw new TypeError(`Invalid operator: ${op}`);\n }\n};\nmodule.exports = $0b818b9558373109$var$cmp;\n\n});\nparcelRequire.register(\"4rHoZ\", function(module, exports) {\n\nvar $cUCev = parcelRequire(\"cUCev\");\nconst $33cb59ceaa24ffb2$var$eq = (a, b, loose)=>$cUCev(a, b, loose) === 0;\nmodule.exports = $33cb59ceaa24ffb2$var$eq;\n\n});\nparcelRequire.register(\"cUCev\", function(module, exports) {\n\nvar $8YHM6 = parcelRequire(\"8YHM6\");\nconst $96685f3eaf7033a6$var$compare = (a, b, loose)=>new $8YHM6(a, loose).compare(new $8YHM6(b, loose));\nmodule.exports = $96685f3eaf7033a6$var$compare;\n\n});\nparcelRequire.register(\"8YHM6\", function(module, exports) {\n\nvar $afJI7 = parcelRequire(\"afJI7\");\n\nvar $hScrW = parcelRequire(\"hScrW\");\nvar $6895e21e7fa6897f$require$MAX_LENGTH = $hScrW.MAX_LENGTH;\nvar $6895e21e7fa6897f$require$MAX_SAFE_INTEGER = $hScrW.MAX_SAFE_INTEGER;\n\nvar $1RjJH = parcelRequire(\"1RjJH\");\nvar $6895e21e7fa6897f$require$re = $1RjJH.re;\nvar $6895e21e7fa6897f$require$t = $1RjJH.t;\n\nvar $aWnqj = parcelRequire(\"aWnqj\");\n\nvar $g1Y8Y = parcelRequire(\"g1Y8Y\");\nvar $6895e21e7fa6897f$require$compareIdentifiers = $g1Y8Y.compareIdentifiers;\nclass $6895e21e7fa6897f$var$SemVer {\n constructor(version, options){\n options = $aWnqj(options);\n if (version instanceof $6895e21e7fa6897f$var$SemVer) {\n if (version.loose === !!options.loose && version.includePrerelease === !!options.includePrerelease) return version;\n else version = version.version;\n } else if (typeof version !== \"string\") throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`);\n if (version.length > $6895e21e7fa6897f$require$MAX_LENGTH) throw new TypeError(`version is longer than ${$6895e21e7fa6897f$require$MAX_LENGTH} characters`);\n $afJI7(\"SemVer\", version, options);\n this.options = options;\n this.loose = !!options.loose;\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease;\n const m = version.trim().match(options.loose ? $6895e21e7fa6897f$require$re[$6895e21e7fa6897f$require$t.LOOSE] : $6895e21e7fa6897f$require$re[$6895e21e7fa6897f$require$t.FULL]);\n if (!m) throw new TypeError(`Invalid Version: ${version}`);\n this.raw = version;\n // these are actually numbers\n this.major = +m[1];\n this.minor = +m[2];\n this.patch = +m[3];\n if (this.major > $6895e21e7fa6897f$require$MAX_SAFE_INTEGER || this.major < 0) throw new TypeError(\"Invalid major version\");\n if (this.minor > $6895e21e7fa6897f$require$MAX_SAFE_INTEGER || this.minor < 0) throw new TypeError(\"Invalid minor version\");\n if (this.patch > $6895e21e7fa6897f$require$MAX_SAFE_INTEGER || this.patch < 0) throw new TypeError(\"Invalid patch version\");\n // numberify any prerelease numeric ids\n if (!m[4]) this.prerelease = [];\n else this.prerelease = m[4].split(\".\").map((id)=>{\n if (/^[0-9]+$/.test(id)) {\n const num = +id;\n if (num >= 0 && num < $6895e21e7fa6897f$require$MAX_SAFE_INTEGER) return num;\n }\n return id;\n });\n this.build = m[5] ? m[5].split(\".\") : [];\n this.format();\n }\n format() {\n this.version = `${this.major}.${this.minor}.${this.patch}`;\n if (this.prerelease.length) this.version += `-${this.prerelease.join(\".\")}`;\n return this.version;\n }\n toString() {\n return this.version;\n }\n compare(other) {\n $afJI7(\"SemVer.compare\", this.version, this.options, other);\n if (!(other instanceof $6895e21e7fa6897f$var$SemVer)) {\n if (typeof other === \"string\" && other === this.version) return 0;\n other = new $6895e21e7fa6897f$var$SemVer(other, this.options);\n }\n if (other.version === this.version) return 0;\n return this.compareMain(other) || this.comparePre(other);\n }\n compareMain(other) {\n if (!(other instanceof $6895e21e7fa6897f$var$SemVer)) other = new $6895e21e7fa6897f$var$SemVer(other, this.options);\n return $6895e21e7fa6897f$require$compareIdentifiers(this.major, other.major) || $6895e21e7fa6897f$require$compareIdentifiers(this.minor, other.minor) || $6895e21e7fa6897f$require$compareIdentifiers(this.patch, other.patch);\n }\n comparePre(other) {\n if (!(other instanceof $6895e21e7fa6897f$var$SemVer)) other = new $6895e21e7fa6897f$var$SemVer(other, this.options);\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) return -1;\n else if (!this.prerelease.length && other.prerelease.length) return 1;\n else if (!this.prerelease.length && !other.prerelease.length) return 0;\n let i = 0;\n do {\n const a = this.prerelease[i];\n const b = other.prerelease[i];\n $afJI7(\"prerelease compare\", i, a, b);\n if (a === undefined && b === undefined) return 0;\n else if (b === undefined) return 1;\n else if (a === undefined) return -1;\n else if (a === b) continue;\n else return $6895e21e7fa6897f$require$compareIdentifiers(a, b);\n }while (++i);\n }\n compareBuild(other) {\n if (!(other instanceof $6895e21e7fa6897f$var$SemVer)) other = new $6895e21e7fa6897f$var$SemVer(other, this.options);\n let i = 0;\n do {\n const a = this.build[i];\n const b = other.build[i];\n $afJI7(\"prerelease compare\", i, a, b);\n if (a === undefined && b === undefined) return 0;\n else if (b === undefined) return 1;\n else if (a === undefined) return -1;\n else if (a === b) continue;\n else return $6895e21e7fa6897f$require$compareIdentifiers(a, b);\n }while (++i);\n }\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc(release, identifier, identifierBase) {\n switch(release){\n case \"premajor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor = 0;\n this.major++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"preminor\":\n this.prerelease.length = 0;\n this.patch = 0;\n this.minor++;\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"prepatch\":\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0;\n this.inc(\"patch\", identifier, identifierBase);\n this.inc(\"pre\", identifier, identifierBase);\n break;\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case \"prerelease\":\n if (this.prerelease.length === 0) this.inc(\"patch\", identifier, identifierBase);\n this.inc(\"pre\", identifier, identifierBase);\n break;\n case \"major\":\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (this.minor !== 0 || this.patch !== 0 || this.prerelease.length === 0) this.major++;\n this.minor = 0;\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"minor\":\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) this.minor++;\n this.patch = 0;\n this.prerelease = [];\n break;\n case \"patch\":\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) this.patch++;\n this.prerelease = [];\n break;\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case \"pre\":\n {\n const base = Number(identifierBase) ? 1 : 0;\n if (!identifier && identifierBase === false) throw new Error(\"invalid increment argument: identifier is empty\");\n if (this.prerelease.length === 0) this.prerelease = [\n base\n ];\n else {\n let i = this.prerelease.length;\n while(--i >= 0)if (typeof this.prerelease[i] === \"number\") {\n this.prerelease[i]++;\n i = -2;\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join(\".\") && identifierBase === false) throw new Error(\"invalid increment argument: identifier already exists\");\n this.prerelease.push(base);\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [\n identifier,\n base\n ];\n if (identifierBase === false) prerelease = [\n identifier\n ];\n if ($6895e21e7fa6897f$require$compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) this.prerelease = prerelease;\n } else this.prerelease = prerelease;\n }\n break;\n }\n default:\n throw new Error(`invalid increment argument: ${release}`);\n }\n this.format();\n this.raw = this.version;\n return this;\n }\n}\nmodule.exports = $6895e21e7fa6897f$var$SemVer;\n\n});\nparcelRequire.register(\"g1Y8Y\", function(module, exports) {\nconst $babb649e0411d836$var$numeric = /^[0-9]+$/;\nconst $babb649e0411d836$var$compareIdentifiers = (a, b)=>{\n const anum = $babb649e0411d836$var$numeric.test(a);\n const bnum = $babb649e0411d836$var$numeric.test(b);\n if (anum && bnum) {\n a = +a;\n b = +b;\n }\n return a === b ? 0 : anum && !bnum ? -1 : bnum && !anum ? 1 : a < b ? -1 : 1;\n};\nconst $babb649e0411d836$var$rcompareIdentifiers = (a, b)=>$babb649e0411d836$var$compareIdentifiers(b, a);\nmodule.exports = {\n compareIdentifiers: $babb649e0411d836$var$compareIdentifiers,\n rcompareIdentifiers: $babb649e0411d836$var$rcompareIdentifiers\n};\n\n});\n\n\n\n\nparcelRequire.register(\"5cTal\", function(module, exports) {\n\nvar $cUCev = parcelRequire(\"cUCev\");\nconst $3ca8dd813f98655d$var$neq = (a, b, loose)=>$cUCev(a, b, loose) !== 0;\nmodule.exports = $3ca8dd813f98655d$var$neq;\n\n});\n\nparcelRequire.register(\"ezqsK\", function(module, exports) {\n\nvar $cUCev = parcelRequire(\"cUCev\");\nconst $a9b8dc86be662a27$var$gt = (a, b, loose)=>$cUCev(a, b, loose) > 0;\nmodule.exports = $a9b8dc86be662a27$var$gt;\n\n});\n\nparcelRequire.register(\"6UaFa\", function(module, exports) {\n\nvar $cUCev = parcelRequire(\"cUCev\");\nconst $50703e790e087037$var$gte = (a, b, loose)=>$cUCev(a, b, loose) >= 0;\nmodule.exports = $50703e790e087037$var$gte;\n\n});\n\nparcelRequire.register(\"7yK7E\", function(module, exports) {\n\nvar $cUCev = parcelRequire(\"cUCev\");\nconst $580f7c4e80988608$var$lt = (a, b, loose)=>$cUCev(a, b, loose) < 0;\nmodule.exports = $580f7c4e80988608$var$lt;\n\n});\n\nparcelRequire.register(\"9azxQ\", function(module, exports) {\n\nvar $cUCev = parcelRequire(\"cUCev\");\nconst $6ad09eb7788be0ea$var$lte = (a, b, loose)=>$cUCev(a, b, loose) <= 0;\nmodule.exports = $6ad09eb7788be0ea$var$lte;\n\n});\n\n\n\n\n\n\nparcelRequire.register(\"17085\", function(module, exports) {\n\"use strict\";\nvar $0cf68b98e69d8d9e$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.hasSafeFeature = module.exports.SAFE_FEATURES = void 0;\n\nconst $0cf68b98e69d8d9e$var$satisfies_1 = $0cf68b98e69d8d9e$var$__importDefault((parcelRequire(\"eHBEA\")));\nvar $0cf68b98e69d8d9e$var$SAFE_FEATURES;\n(function(SAFE_FEATURES) {\n SAFE_FEATURES[\"SAFE_TX_GAS_OPTIONAL\"] = \"SAFE_TX_GAS_OPTIONAL\";\n SAFE_FEATURES[\"SAFE_TX_GUARDS\"] = \"SAFE_TX_GUARDS\";\n SAFE_FEATURES[\"SAFE_FALLBACK_HANDLER\"] = \"SAFE_FALLBACK_HANDLER\";\n SAFE_FEATURES[\"ETH_SIGN\"] = \"ETH_SIGN\";\n SAFE_FEATURES[\"ACCOUNT_ABSTRACTION\"] = \"ACCOUNT_ABSTRACTION\";\n})($0cf68b98e69d8d9e$var$SAFE_FEATURES = module.exports.SAFE_FEATURES || (module.exports.SAFE_FEATURES = {}));\nconst $0cf68b98e69d8d9e$var$SAFE_FEATURES_BY_VERSION = {\n [$0cf68b98e69d8d9e$var$SAFE_FEATURES.SAFE_TX_GAS_OPTIONAL]: \">=1.3.0\",\n [$0cf68b98e69d8d9e$var$SAFE_FEATURES.SAFE_TX_GUARDS]: \">=1.3.0\",\n [$0cf68b98e69d8d9e$var$SAFE_FEATURES.SAFE_FALLBACK_HANDLER]: \">=1.1.1\",\n [$0cf68b98e69d8d9e$var$SAFE_FEATURES.ETH_SIGN]: \">=1.1.0\",\n [$0cf68b98e69d8d9e$var$SAFE_FEATURES.ACCOUNT_ABSTRACTION]: \">=1.3.0\"\n};\nconst $0cf68b98e69d8d9e$var$hasSafeFeature = (feature, version)=>{\n if (!(feature in $0cf68b98e69d8d9e$var$SAFE_FEATURES_BY_VERSION)) return false;\n return (0, $0cf68b98e69d8d9e$var$satisfies_1.default)(version, $0cf68b98e69d8d9e$var$SAFE_FEATURES_BY_VERSION[feature]);\n};\nmodule.exports.hasSafeFeature = $0cf68b98e69d8d9e$var$hasSafeFeature;\n\n});\n\nparcelRequire.register(\"b8YZZ\", function(module, exports) {\n\"use strict\";\nvar $81cfc22c27a62cbc$var$__createBinding = module.exports && module.exports.__createBinding || (Object.create ? function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n enumerable: true,\n get: function() {\n return m[k];\n }\n };\n Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\nvar $81cfc22c27a62cbc$var$__exportStar = module.exports && module.exports.__exportStar || function(m, exports1) {\n for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports1, p)) $81cfc22c27a62cbc$var$__createBinding(exports1, m, p);\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n$81cfc22c27a62cbc$var$__exportStar((parcelRequire(\"MGmAF\")), module.exports);\n\n$81cfc22c27a62cbc$var$__exportStar((parcelRequire(\"jLUEs\")), module.exports);\n\n});\nparcelRequire.register(\"MGmAF\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.EthSafeSignature = void 0;\nclass $0925584a5bcdeeb0$var$EthSafeSignature {\n /**\n * Creates an instance of a Safe signature.\n *\n * @param signer - Ethers signer\n * @param signature - The Safe signature\n * @returns The Safe signature instance\n */ constructor(signer, signature){\n this.signer = signer;\n this.data = signature;\n }\n /**\n * Returns the static part of the Safe signature.\n *\n * @returns The static part of the Safe signature\n */ staticPart() {\n return this.data;\n }\n /**\n * Returns the dynamic part of the Safe signature.\n *\n * @returns The dynamic part of the Safe signature\n */ dynamicPart() {\n return \"\";\n }\n}\nmodule.exports.EthSafeSignature = $0925584a5bcdeeb0$var$EthSafeSignature;\n\n});\n\nparcelRequire.register(\"jLUEs\", function(module, exports) {\n\nvar $6ZWSX = parcelRequire(\"6ZWSX\");\nvar $e64e59ee28c3af17$require$Buffer = $6ZWSX.Buffer;\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.generateEIP712Signature = module.exports.generateSignature = module.exports.adjustVInSignature = module.exports.isTxHashSignedWithPrefix = module.exports.generatePreValidatedSignature = void 0;\n\nvar $7Z98w = parcelRequire(\"7Z98w\");\n\nvar $gOIod = parcelRequire(\"gOIod\");\n\nvar $MGmAF = parcelRequire(\"MGmAF\");\nfunction $e64e59ee28c3af17$var$generatePreValidatedSignature(ownerAddress) {\n const signature = \"0x000000000000000000000000\" + ownerAddress.slice(2) + \"0000000000000000000000000000000000000000000000000000000000000000\" + \"01\";\n return new $MGmAF.EthSafeSignature(ownerAddress, signature);\n}\nmodule.exports.generatePreValidatedSignature = $e64e59ee28c3af17$var$generatePreValidatedSignature;\nfunction $e64e59ee28c3af17$var$isTxHashSignedWithPrefix(txHash, signature, ownerAddress) {\n let hasPrefix;\n try {\n const rsvSig = {\n r: $e64e59ee28c3af17$require$Buffer.from(signature.slice(2, 66), \"hex\"),\n s: $e64e59ee28c3af17$require$Buffer.from(signature.slice(66, 130), \"hex\"),\n v: parseInt(signature.slice(130, 132), 16)\n };\n const recoveredData = (0, $7Z98w.ecrecover)($e64e59ee28c3af17$require$Buffer.from(txHash.slice(2), \"hex\"), rsvSig.v, rsvSig.r, rsvSig.s);\n const recoveredAddress = (0, $7Z98w.bufferToHex)((0, $7Z98w.pubToAddress)(recoveredData));\n hasPrefix = !(0, $gOIod.sameString)(recoveredAddress, ownerAddress);\n } catch (e) {\n hasPrefix = true;\n }\n return hasPrefix;\n}\nmodule.exports.isTxHashSignedWithPrefix = $e64e59ee28c3af17$var$isTxHashSignedWithPrefix;\nconst $e64e59ee28c3af17$var$adjustVInSignature = (signingMethod, signature, safeTxHash, signerAddress)=>{\n const ETHEREUM_V_VALUES = [\n 0,\n 1,\n 27,\n 28\n ];\n const MIN_VALID_V_VALUE_FOR_SAFE_ECDSA = 27;\n let signatureV = parseInt(signature.slice(-2), 16);\n if (!ETHEREUM_V_VALUES.includes(signatureV)) throw new Error(\"Invalid signature\");\n if (signingMethod === \"eth_sign\") {\n /*\n The Safe's expected V value for ECDSA signature is:\n - 27 or 28\n - 31 or 32 if the message was signed with a EIP-191 prefix. Should be calculated as ECDSA V value + 4\n Some wallets do that, some wallets don't, V > 30 is used by contracts to differentiate between\n prefixed and non-prefixed messages. The only way to know if the message was signed with a\n prefix is to check if the signer address is the same as the recovered address.\n \n More info:\n https://docs.safe.global/learn/signatures\n */ if (signatureV < MIN_VALID_V_VALUE_FOR_SAFE_ECDSA) signatureV += MIN_VALID_V_VALUE_FOR_SAFE_ECDSA;\n const adjustedSignature = signature.slice(0, -2) + signatureV.toString(16);\n const signatureHasPrefix = $e64e59ee28c3af17$var$isTxHashSignedWithPrefix(safeTxHash, adjustedSignature, signerAddress);\n if (signatureHasPrefix) signatureV += 4;\n }\n if (signingMethod === \"eth_signTypedData\") // Metamask with ledger returns V=0/1 here too, we need to adjust it to be ethereum's valid value (27 or 28)\n {\n if (signatureV < MIN_VALID_V_VALUE_FOR_SAFE_ECDSA) signatureV += MIN_VALID_V_VALUE_FOR_SAFE_ECDSA;\n }\n signature = signature.slice(0, -2) + signatureV.toString(16);\n return signature;\n};\nmodule.exports.adjustVInSignature = $e64e59ee28c3af17$var$adjustVInSignature;\nasync function $e64e59ee28c3af17$var$generateSignature(ethAdapter, hash) {\n const signerAddress = await ethAdapter.getSignerAddress();\n if (!signerAddress) throw new Error(\"EthAdapter must be initialized with a signer to use this method\");\n let signature = await ethAdapter.signMessage(hash);\n signature = (0, module.exports.adjustVInSignature)(\"eth_sign\", signature, hash, signerAddress);\n return new $MGmAF.EthSafeSignature(signerAddress, signature);\n}\nmodule.exports.generateSignature = $e64e59ee28c3af17$var$generateSignature;\nasync function $e64e59ee28c3af17$var$generateEIP712Signature(ethAdapter, safeTransactionEIP712Args, methodVersion) {\n const signerAddress = await ethAdapter.getSignerAddress();\n if (!signerAddress) throw new Error(\"EthAdapter must be initialized with a signer to use this method\");\n let signature = await ethAdapter.signTypedData(safeTransactionEIP712Args, methodVersion);\n signature = (0, module.exports.adjustVInSignature)(\"eth_signTypedData\", signature);\n return new $MGmAF.EthSafeSignature(signerAddress, signature);\n}\nmodule.exports.generateEIP712Signature = $e64e59ee28c3af17$var$generateEIP712Signature;\n\n});\n\n\nparcelRequire.register(\"8jNYJ\", function(module, exports) {\n\"use strict\";\nvar $60e6ddc0bca6e318$var$__createBinding = module.exports && module.exports.__createBinding || (Object.create ? function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n enumerable: true,\n get: function() {\n return m[k];\n }\n };\n Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\nvar $60e6ddc0bca6e318$var$__exportStar = module.exports && module.exports.__exportStar || function(m, exports1) {\n for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports1, p)) $60e6ddc0bca6e318$var$__createBinding(exports1, m, p);\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n$60e6ddc0bca6e318$var$__exportStar((parcelRequire(\"aEGrt\")), module.exports);\n\n$60e6ddc0bca6e318$var$__exportStar((parcelRequire(\"dYBmn\")), module.exports);\n\n$60e6ddc0bca6e318$var$__exportStar((parcelRequire(\"2S2B6\")), module.exports);\n\n$60e6ddc0bca6e318$var$__exportStar((parcelRequire(\"3MW9o\")), module.exports);\n\n});\nparcelRequire.register(\"aEGrt\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.estimateTxGas = void 0;\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $5xott = parcelRequire(\"5xott\");\nfunction $7c1e8ff321344104$var$estimateDataGasCosts(data) {\n const reducer = (accumulator, currentValue)=>{\n if (currentValue === \"0x\") return accumulator + 0;\n if (currentValue === \"00\") return accumulator + 4;\n return accumulator + 16;\n };\n return data.match(/.{2}/g).reduce(reducer, 0);\n}\nasync function $7c1e8ff321344104$var$estimateTxGas(safeContract, ethAdapter, to, valueInWei, data, operation) {\n let txGasEstimation = $1chjt.BigNumber.from(0);\n const safeAddress = safeContract.getAddress();\n const estimateData = safeContract.encode(\"requiredTxGas\", [\n to,\n valueInWei,\n data,\n operation\n ]);\n try {\n const estimateResponse = await ethAdapter.estimateGas({\n to: safeAddress,\n from: safeAddress,\n data: estimateData\n });\n txGasEstimation = $1chjt.BigNumber.from(\"0x\" + estimateResponse.substring(138)).add(10000);\n } catch (error) {}\n if (txGasEstimation.gt(0)) {\n const dataGasEstimation = $7c1e8ff321344104$var$estimateDataGasCosts(estimateData);\n let additionalGas = 10000;\n for(let i = 0; i < 10; i++){\n try {\n const estimateResponse = await ethAdapter.call({\n to: safeAddress,\n from: safeAddress,\n data: estimateData,\n gasPrice: \"0\",\n gasLimit: txGasEstimation.add(dataGasEstimation).add(additionalGas).toString()\n });\n if (estimateResponse !== \"0x\") break;\n } catch (error) {}\n txGasEstimation = txGasEstimation.add(additionalGas);\n additionalGas *= 2;\n }\n return txGasEstimation.add(additionalGas).toString();\n }\n try {\n const estimateGas = await ethAdapter.estimateGas({\n to: to,\n from: safeAddress,\n value: valueInWei,\n data: data\n });\n return estimateGas;\n } catch (error) {\n if (operation === $5xott.OperationType.DelegateCall) return \"0\";\n return Promise.reject(error);\n }\n}\nmodule.exports.estimateTxGas = $7c1e8ff321344104$var$estimateTxGas;\n\n});\nparcelRequire.register(\"5xott\", function(module, exports) {\n\"use strict\";\nvar $408304eed134257c$var$__createBinding = module.exports && module.exports.__createBinding || (Object.create ? function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n enumerable: true,\n get: function() {\n return m[k];\n }\n };\n Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\nvar $408304eed134257c$var$__exportStar = module.exports && module.exports.__exportStar || function(m, exports1) {\n for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports1, p)) $408304eed134257c$var$__createBinding(exports1, m, p);\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n$408304eed134257c$var$__exportStar((parcelRequire(\"98Upe\")), module.exports);\n\n$408304eed134257c$var$__exportStar((parcelRequire(\"eBrln\")), module.exports);\n\n$408304eed134257c$var$__exportStar((parcelRequire(\"jwLNT\")), module.exports);\n\n$408304eed134257c$var$__exportStar((parcelRequire(\"lODmU\")), module.exports);\n\n$408304eed134257c$var$__exportStar((parcelRequire(\"abJTq\")), module.exports);\n\n$408304eed134257c$var$__exportStar((parcelRequire(\"5NuDf\")), module.exports);\n\n$408304eed134257c$var$__exportStar((parcelRequire(\"7sVXL\")), module.exports);\n\n$408304eed134257c$var$__exportStar((parcelRequire(\"7vCaT\")), module.exports);\n\n$408304eed134257c$var$__exportStar((parcelRequire(\"ch9f0\")), module.exports);\n\n});\nparcelRequire.register(\"98Upe\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n});\n\nparcelRequire.register(\"eBrln\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n});\n\nparcelRequire.register(\"jwLNT\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n});\n\nparcelRequire.register(\"lODmU\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n});\n\nparcelRequire.register(\"abJTq\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n});\n\nparcelRequire.register(\"5NuDf\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n});\n\nparcelRequire.register(\"7sVXL\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n});\n\nparcelRequire.register(\"7vCaT\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n});\n\nparcelRequire.register(\"ch9f0\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.OperationType = void 0;\nvar $8efe3da8ab663a10$var$OperationType;\n(function(OperationType) {\n OperationType[OperationType[\"Call\"] = 0] = \"Call\";\n OperationType[OperationType[\"DelegateCall\"] = 1] = \"DelegateCall\"; // 1\n})($8efe3da8ab663a10$var$OperationType = module.exports.OperationType || (module.exports.OperationType = {}));\n\n});\n\n\n\nparcelRequire.register(\"dYBmn\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nclass $a2cddbe0d8cb94a4$var$EthSafeTransaction {\n constructor(data){\n this.signatures = new Map();\n this.data = data;\n }\n addSignature(signature) {\n this.signatures.set(signature.signer.toLowerCase(), signature);\n }\n encodedSignatures() {\n const signers = Array.from(this.signatures.keys()).sort();\n const baseOffset = signers.length * 65;\n let staticParts = \"\";\n let dynamicParts = \"\";\n signers.forEach((signerAddress)=>{\n const signature = this.signatures.get(signerAddress);\n staticParts += signature === null || signature === void 0 ? void 0 : signature.staticPart().slice(2);\n dynamicParts += signature === null || signature === void 0 ? void 0 : signature.dynamicPart();\n });\n return \"0x\" + staticParts + dynamicParts;\n }\n}\nmodule.exports.default = $a2cddbe0d8cb94a4$var$EthSafeTransaction;\n\n});\n\nparcelRequire.register(\"2S2B6\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n});\n\nparcelRequire.register(\"3MW9o\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.isSafeMultisigTransactionResponse = module.exports.isMetaTransactionArray = module.exports.decodeMultiSendData = module.exports.encodeMultiSendData = module.exports.standardizeSafeTransactionData = module.exports.standardizeMetaTransactionData = void 0;\n\nvar $kzlBy = parcelRequire(\"kzlBy\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $iYAoV = parcelRequire(\"iYAoV\");\n\nvar $7a7Pr = parcelRequire(\"7a7Pr\");\n\nvar $cm07l = parcelRequire(\"cm07l\");\n\nvar $5xott = parcelRequire(\"5xott\");\n\nvar $9y1Dl = parcelRequire(\"9y1Dl\");\n\nvar $aEGrt = parcelRequire(\"aEGrt\");\nfunction $2c22f649791964c2$var$standardizeMetaTransactionData(tx) {\n var _a;\n const standardizedTxs = {\n ...tx,\n operation: (_a = tx.operation) !== null && _a !== void 0 ? _a : $5xott.OperationType.Call\n };\n return standardizedTxs;\n}\nmodule.exports.standardizeMetaTransactionData = $2c22f649791964c2$var$standardizeMetaTransactionData;\nasync function $2c22f649791964c2$var$standardizeSafeTransactionData({ safeContract: safeContract , predictedSafe: predictedSafe , ethAdapter: ethAdapter , tx: tx }) {\n var _a, _b, _c, _d, _e;\n const standardizedTxs = {\n to: tx.to,\n value: tx.value,\n data: tx.data,\n operation: (_a = tx.operation) !== null && _a !== void 0 ? _a : $5xott.OperationType.Call,\n baseGas: (_b = tx.baseGas) !== null && _b !== void 0 ? _b : \"0\",\n gasPrice: (_c = tx.gasPrice) !== null && _c !== void 0 ? _c : \"0\",\n gasToken: tx.gasToken || $cm07l.ZERO_ADDRESS,\n refundReceiver: tx.refundReceiver || $cm07l.ZERO_ADDRESS,\n nonce: (_d = tx.nonce) !== null && _d !== void 0 ? _d : safeContract ? await safeContract.getNonce() : 0\n };\n if (typeof tx.safeTxGas !== \"undefined\") return {\n ...standardizedTxs,\n safeTxGas: tx.safeTxGas\n };\n let safeVersion;\n if ((_e = predictedSafe === null || predictedSafe === void 0 ? void 0 : predictedSafe.safeDeploymentConfig) === null || _e === void 0 ? void 0 : _e.safeVersion) safeVersion = predictedSafe === null || predictedSafe === void 0 ? void 0 : predictedSafe.safeDeploymentConfig.safeVersion;\n else {\n if (!safeContract) throw new Error(\"Safe is not deployed\");\n safeVersion = await safeContract.getVersion();\n }\n const hasSafeTxGasOptional = (0, $7a7Pr.hasSafeFeature)($7a7Pr.SAFE_FEATURES.SAFE_TX_GAS_OPTIONAL, safeVersion);\n if (hasSafeTxGasOptional && standardizedTxs.gasPrice === \"0\" || hasSafeTxGasOptional && predictedSafe) return {\n ...standardizedTxs,\n safeTxGas: \"0\"\n };\n if (!safeContract) throw new Error(\"Safe is not deployed\");\n const safeTxGas = await (0, $aEGrt.estimateTxGas)(safeContract, ethAdapter, standardizedTxs.to, standardizedTxs.value, standardizedTxs.data, standardizedTxs.operation);\n return {\n ...standardizedTxs,\n safeTxGas: safeTxGas\n };\n}\nmodule.exports.standardizeSafeTransactionData = $2c22f649791964c2$var$standardizeSafeTransactionData;\nfunction $2c22f649791964c2$var$encodeMetaTransaction(tx) {\n const data = (0, $aBzgs.arrayify)(tx.data);\n const encoded = (0, $iYAoV.pack)([\n \"uint8\",\n \"address\",\n \"uint256\",\n \"uint256\",\n \"bytes\"\n ], [\n tx.operation,\n tx.to,\n tx.value,\n data.length,\n data\n ]);\n return encoded.slice(2);\n}\nfunction $2c22f649791964c2$var$encodeMultiSendData(txs) {\n return \"0x\" + txs.map((tx)=>$2c22f649791964c2$var$encodeMetaTransaction(tx)).join(\"\");\n}\nmodule.exports.encodeMultiSendData = $2c22f649791964c2$var$encodeMultiSendData;\nfunction $2c22f649791964c2$var$decodeMultiSendData(encodedData) {\n const multiSendInterface = new $kzlBy.Interface([\n \"function multiSend(bytes memory transactions) public payable\"\n ]);\n const [decodedData] = multiSendInterface.decodeFunctionData(\"multiSend\", encodedData);\n const txs = [];\n // Decode after 0x\n let index = 2;\n while(index < decodedData.length){\n // As we are decoding hex encoded bytes calldata, each byte is represented by 2 chars\n // uint8 operation, address to, value uint256, dataLength uint256\n const operation = `0x${decodedData.slice(index, index += 2)}`;\n const to = `0x${decodedData.slice(index, index += 40)}`;\n const value = `0x${decodedData.slice(index, index += 64)}`;\n const dataLength = parseInt(decodedData.slice(index, index += 64), 16) * 2;\n const data = `0x${decodedData.slice(index, index += dataLength)}`;\n txs.push({\n operation: (0, $9y1Dl.hexToNumber)(operation),\n to: (0, $9y1Dl.toChecksumAddress)(to),\n value: (0, $9y1Dl.hexToNumberString)(value),\n data: data\n });\n }\n return txs;\n}\nmodule.exports.decodeMultiSendData = $2c22f649791964c2$var$decodeMultiSendData;\nfunction $2c22f649791964c2$var$isMetaTransactionArray(safeTransactions) {\n return (safeTransactions === null || safeTransactions === void 0 ? void 0 : safeTransactions.length) !== undefined;\n}\nmodule.exports.isMetaTransactionArray = $2c22f649791964c2$var$isMetaTransactionArray;\nfunction $2c22f649791964c2$var$isSafeMultisigTransactionResponse(safeTransaction) {\n return safeTransaction.isExecuted !== undefined;\n}\nmodule.exports.isSafeMultisigTransactionResponse = $2c22f649791964c2$var$isSafeMultisigTransactionResponse;\n\n});\nparcelRequire.register(\"kzlBy\", function(module, exports) {\n\n$parcel$export(module.exports, \"LogDescription\", () => $ef97d5c3a9a93354$export$c2ab6499be98b3c5);\n$parcel$export(module.exports, \"TransactionDescription\", () => $ef97d5c3a9a93354$export$7a3223b0fadb690b);\n$parcel$export(module.exports, \"Indexed\", () => $ef97d5c3a9a93354$export$8ef99100a3c56f8c);\n$parcel$export(module.exports, \"Interface\", () => $ef97d5c3a9a93354$export$48cefb51a4e315b2);\n\nvar $bVwUc = parcelRequire(\"bVwUc\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $aIo2D = parcelRequire(\"aIo2D\");\n\nvar $2yhyU = parcelRequire(\"2yhyU\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $45kY3 = parcelRequire(\"45kY3\");\n\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\n\nvar $bB9qw = parcelRequire(\"bB9qw\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $aBVaX = parcelRequire(\"aBVaX\");\n\"use strict\";\nconst $ef97d5c3a9a93354$var$logger = new (0, $d1hml.Logger)((0, $aBVaX.version));\nclass $ef97d5c3a9a93354$export$c2ab6499be98b3c5 extends (0, $e72ut.Description) {\n}\nclass $ef97d5c3a9a93354$export$7a3223b0fadb690b extends (0, $e72ut.Description) {\n}\nclass $ef97d5c3a9a93354$export$cfba08fc0e40e2ab extends (0, $e72ut.Description) {\n}\nclass $ef97d5c3a9a93354$export$8ef99100a3c56f8c extends (0, $e72ut.Description) {\n static isIndexed(value) {\n return !!(value && value._isIndexed);\n }\n}\nconst $ef97d5c3a9a93354$var$BuiltinErrors = {\n \"0x08c379a0\": {\n signature: \"Error(string)\",\n name: \"Error\",\n inputs: [\n \"string\"\n ],\n reason: true\n },\n \"0x4e487b71\": {\n signature: \"Panic(uint256)\",\n name: \"Panic\",\n inputs: [\n \"uint256\"\n ]\n }\n};\nfunction $ef97d5c3a9a93354$var$wrapAccessError(property, error) {\n const wrap = new Error(`deferred error during ABI decoding triggered accessing ${property}`);\n wrap.error = error;\n return wrap;\n}\nclass $ef97d5c3a9a93354$export$48cefb51a4e315b2 {\n constructor(fragments){\n let abi = [];\n if (typeof fragments === \"string\") abi = JSON.parse(fragments);\n else abi = fragments;\n (0, $e72ut.defineReadOnly)(this, \"fragments\", abi.map((fragment)=>{\n return (0, $bB9qw.Fragment).from(fragment);\n }).filter((fragment)=>fragment != null));\n (0, $e72ut.defineReadOnly)(this, \"_abiCoder\", (0, $e72ut.getStatic)(new.target, \"getAbiCoder\")());\n (0, $e72ut.defineReadOnly)(this, \"functions\", {});\n (0, $e72ut.defineReadOnly)(this, \"errors\", {});\n (0, $e72ut.defineReadOnly)(this, \"events\", {});\n (0, $e72ut.defineReadOnly)(this, \"structs\", {});\n // Add all fragments by their signature\n this.fragments.forEach((fragment)=>{\n let bucket = null;\n switch(fragment.type){\n case \"constructor\":\n if (this.deploy) {\n $ef97d5c3a9a93354$var$logger.warn(\"duplicate definition - constructor\");\n return;\n }\n //checkNames(fragment, \"input\", fragment.inputs);\n (0, $e72ut.defineReadOnly)(this, \"deploy\", fragment);\n return;\n case \"function\":\n //checkNames(fragment, \"input\", fragment.inputs);\n //checkNames(fragment, \"output\", (fragment).outputs);\n bucket = this.functions;\n break;\n case \"event\":\n //checkNames(fragment, \"input\", fragment.inputs);\n bucket = this.events;\n break;\n case \"error\":\n bucket = this.errors;\n break;\n default:\n return;\n }\n let signature = fragment.format();\n if (bucket[signature]) {\n $ef97d5c3a9a93354$var$logger.warn(\"duplicate definition - \" + signature);\n return;\n }\n bucket[signature] = fragment;\n });\n // If we do not have a constructor add a default\n if (!this.deploy) (0, $e72ut.defineReadOnly)(this, \"deploy\", (0, $bB9qw.ConstructorFragment).from({\n payable: false,\n type: \"constructor\"\n }));\n (0, $e72ut.defineReadOnly)(this, \"_isInterface\", true);\n }\n format(format) {\n if (!format) format = (0, $bB9qw.FormatTypes).full;\n if (format === (0, $bB9qw.FormatTypes).sighash) $ef97d5c3a9a93354$var$logger.throwArgumentError(\"interface does not support formatting sighash\", \"format\", format);\n const abi = this.fragments.map((fragment)=>fragment.format(format));\n // We need to re-bundle the JSON fragments a bit\n if (format === (0, $bB9qw.FormatTypes).json) return JSON.stringify(abi.map((j)=>JSON.parse(j)));\n return abi;\n }\n // Sub-classes can override these to handle other blockchains\n static getAbiCoder() {\n return 0, $45kY3.defaultAbiCoder;\n }\n static getAddress(address) {\n return (0, $bVwUc.getAddress)(address);\n }\n static getSighash(fragment) {\n return (0, $aBzgs.hexDataSlice)((0, $aIo2D.id)(fragment.format()), 0, 4);\n }\n static getEventTopic(eventFragment) {\n return (0, $aIo2D.id)(eventFragment.format());\n }\n // Find a function definition by any means necessary (unless it is ambiguous)\n getFunction(nameOrSignatureOrSighash) {\n if ((0, $aBzgs.isHexString)(nameOrSignatureOrSighash)) {\n for(const name in this.functions){\n if (nameOrSignatureOrSighash === this.getSighash(name)) return this.functions[name];\n }\n $ef97d5c3a9a93354$var$logger.throwArgumentError(\"no matching function\", \"sighash\", nameOrSignatureOrSighash);\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrSighash.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrSighash.trim();\n const matching = Object.keys(this.functions).filter((f)=>f.split(\"(\" /* fix:) */ )[0] === name);\n if (matching.length === 0) $ef97d5c3a9a93354$var$logger.throwArgumentError(\"no matching function\", \"name\", name);\n else if (matching.length > 1) $ef97d5c3a9a93354$var$logger.throwArgumentError(\"multiple matching functions\", \"name\", name);\n return this.functions[matching[0]];\n }\n // Normalize the signature and lookup the function\n const result = this.functions[(0, $bB9qw.FunctionFragment).fromString(nameOrSignatureOrSighash).format()];\n if (!result) $ef97d5c3a9a93354$var$logger.throwArgumentError(\"no matching function\", \"signature\", nameOrSignatureOrSighash);\n return result;\n }\n // Find an event definition by any means necessary (unless it is ambiguous)\n getEvent(nameOrSignatureOrTopic) {\n if ((0, $aBzgs.isHexString)(nameOrSignatureOrTopic)) {\n const topichash = nameOrSignatureOrTopic.toLowerCase();\n for(const name in this.events){\n if (topichash === this.getEventTopic(name)) return this.events[name];\n }\n $ef97d5c3a9a93354$var$logger.throwArgumentError(\"no matching event\", \"topichash\", topichash);\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrTopic.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrTopic.trim();\n const matching = Object.keys(this.events).filter((f)=>f.split(\"(\" /* fix:) */ )[0] === name);\n if (matching.length === 0) $ef97d5c3a9a93354$var$logger.throwArgumentError(\"no matching event\", \"name\", name);\n else if (matching.length > 1) $ef97d5c3a9a93354$var$logger.throwArgumentError(\"multiple matching events\", \"name\", name);\n return this.events[matching[0]];\n }\n // Normalize the signature and lookup the function\n const result = this.events[(0, $bB9qw.EventFragment).fromString(nameOrSignatureOrTopic).format()];\n if (!result) $ef97d5c3a9a93354$var$logger.throwArgumentError(\"no matching event\", \"signature\", nameOrSignatureOrTopic);\n return result;\n }\n // Find a function definition by any means necessary (unless it is ambiguous)\n getError(nameOrSignatureOrSighash) {\n if ((0, $aBzgs.isHexString)(nameOrSignatureOrSighash)) {\n const getSighash = (0, $e72ut.getStatic)(this.constructor, \"getSighash\");\n for(const name in this.errors){\n const error = this.errors[name];\n if (nameOrSignatureOrSighash === getSighash(error)) return this.errors[name];\n }\n $ef97d5c3a9a93354$var$logger.throwArgumentError(\"no matching error\", \"sighash\", nameOrSignatureOrSighash);\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrSighash.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrSighash.trim();\n const matching = Object.keys(this.errors).filter((f)=>f.split(\"(\" /* fix:) */ )[0] === name);\n if (matching.length === 0) $ef97d5c3a9a93354$var$logger.throwArgumentError(\"no matching error\", \"name\", name);\n else if (matching.length > 1) $ef97d5c3a9a93354$var$logger.throwArgumentError(\"multiple matching errors\", \"name\", name);\n return this.errors[matching[0]];\n }\n // Normalize the signature and lookup the function\n const result = this.errors[(0, $bB9qw.FunctionFragment).fromString(nameOrSignatureOrSighash).format()];\n if (!result) $ef97d5c3a9a93354$var$logger.throwArgumentError(\"no matching error\", \"signature\", nameOrSignatureOrSighash);\n return result;\n }\n // Get the sighash (the bytes4 selector) used by Solidity to identify a function\n getSighash(fragment) {\n if (typeof fragment === \"string\") try {\n fragment = this.getFunction(fragment);\n } catch (error) {\n try {\n fragment = this.getError(fragment);\n } catch (_) {\n throw error;\n }\n }\n return (0, $e72ut.getStatic)(this.constructor, \"getSighash\")(fragment);\n }\n // Get the topic (the bytes32 hash) used by Solidity to identify an event\n getEventTopic(eventFragment) {\n if (typeof eventFragment === \"string\") eventFragment = this.getEvent(eventFragment);\n return (0, $e72ut.getStatic)(this.constructor, \"getEventTopic\")(eventFragment);\n }\n _decodeParams(params, data) {\n return this._abiCoder.decode(params, data);\n }\n _encodeParams(params, values) {\n return this._abiCoder.encode(params, values);\n }\n encodeDeploy(values) {\n return this._encodeParams(this.deploy.inputs, values || []);\n }\n decodeErrorResult(fragment, data) {\n if (typeof fragment === \"string\") fragment = this.getError(fragment);\n const bytes = (0, $aBzgs.arrayify)(data);\n if ((0, $aBzgs.hexlify)(bytes.slice(0, 4)) !== this.getSighash(fragment)) $ef97d5c3a9a93354$var$logger.throwArgumentError(`data signature does not match error ${fragment.name}.`, \"data\", (0, $aBzgs.hexlify)(bytes));\n return this._decodeParams(fragment.inputs, bytes.slice(4));\n }\n encodeErrorResult(fragment, values) {\n if (typeof fragment === \"string\") fragment = this.getError(fragment);\n return (0, $aBzgs.hexlify)((0, $aBzgs.concat)([\n this.getSighash(fragment),\n this._encodeParams(fragment.inputs, values || [])\n ]));\n }\n // Decode the data for a function call (e.g. tx.data)\n decodeFunctionData(functionFragment, data) {\n if (typeof functionFragment === \"string\") functionFragment = this.getFunction(functionFragment);\n const bytes = (0, $aBzgs.arrayify)(data);\n if ((0, $aBzgs.hexlify)(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) $ef97d5c3a9a93354$var$logger.throwArgumentError(`data signature does not match function ${functionFragment.name}.`, \"data\", (0, $aBzgs.hexlify)(bytes));\n return this._decodeParams(functionFragment.inputs, bytes.slice(4));\n }\n // Encode the data for a function call (e.g. tx.data)\n encodeFunctionData(functionFragment, values) {\n if (typeof functionFragment === \"string\") functionFragment = this.getFunction(functionFragment);\n return (0, $aBzgs.hexlify)((0, $aBzgs.concat)([\n this.getSighash(functionFragment),\n this._encodeParams(functionFragment.inputs, values || [])\n ]));\n }\n // Decode the result from a function call (e.g. from eth_call)\n decodeFunctionResult(functionFragment, data) {\n if (typeof functionFragment === \"string\") functionFragment = this.getFunction(functionFragment);\n let bytes = (0, $aBzgs.arrayify)(data);\n let reason = null;\n let message = \"\";\n let errorArgs = null;\n let errorName = null;\n let errorSignature = null;\n switch(bytes.length % this._abiCoder._getWordSize()){\n case 0:\n try {\n return this._abiCoder.decode(functionFragment.outputs, bytes);\n } catch (error) {}\n break;\n case 4:\n {\n const selector = (0, $aBzgs.hexlify)(bytes.slice(0, 4));\n const builtin = $ef97d5c3a9a93354$var$BuiltinErrors[selector];\n if (builtin) {\n errorArgs = this._abiCoder.decode(builtin.inputs, bytes.slice(4));\n errorName = builtin.name;\n errorSignature = builtin.signature;\n if (builtin.reason) reason = errorArgs[0];\n if (errorName === \"Error\") message = `; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(errorArgs[0])}`;\n else if (errorName === \"Panic\") message = `; VM Exception while processing transaction: reverted with panic code ${errorArgs[0]}`;\n } else try {\n const error = this.getError(selector);\n errorArgs = this._abiCoder.decode(error.inputs, bytes.slice(4));\n errorName = error.name;\n errorSignature = error.format();\n } catch (error) {}\n break;\n }\n }\n return $ef97d5c3a9a93354$var$logger.throwError(\"call revert exception\" + message, (0, $d1hml.Logger).errors.CALL_EXCEPTION, {\n method: functionFragment.format(),\n data: (0, $aBzgs.hexlify)(data),\n errorArgs: errorArgs,\n errorName: errorName,\n errorSignature: errorSignature,\n reason: reason\n });\n }\n // Encode the result for a function call (e.g. for eth_call)\n encodeFunctionResult(functionFragment, values) {\n if (typeof functionFragment === \"string\") functionFragment = this.getFunction(functionFragment);\n return (0, $aBzgs.hexlify)(this._abiCoder.encode(functionFragment.outputs, values || []));\n }\n // Create the filter for the event with search criteria (e.g. for eth_filterLog)\n encodeFilterTopics(eventFragment, values) {\n if (typeof eventFragment === \"string\") eventFragment = this.getEvent(eventFragment);\n if (values.length > eventFragment.inputs.length) $ef97d5c3a9a93354$var$logger.throwError(\"too many arguments for \" + eventFragment.format(), (0, $d1hml.Logger).errors.UNEXPECTED_ARGUMENT, {\n argument: \"values\",\n value: values\n });\n let topics = [];\n if (!eventFragment.anonymous) topics.push(this.getEventTopic(eventFragment));\n const encodeTopic = (param, value)=>{\n if (param.type === \"string\") return (0, $aIo2D.id)(value);\n else if (param.type === \"bytes\") return (0, $2yhyU.keccak256)((0, $aBzgs.hexlify)(value));\n if (param.type === \"bool\" && typeof value === \"boolean\") value = value ? \"0x01\" : \"0x00\";\n if (param.type.match(/^u?int/)) value = (0, $1chjt.BigNumber).from(value).toHexString();\n // Check addresses are valid\n if (param.type === \"address\") this._abiCoder.encode([\n \"address\"\n ], [\n value\n ]);\n return (0, $aBzgs.hexZeroPad)((0, $aBzgs.hexlify)(value), 32);\n };\n values.forEach((value, index)=>{\n let param = eventFragment.inputs[index];\n if (!param.indexed) {\n if (value != null) $ef97d5c3a9a93354$var$logger.throwArgumentError(\"cannot filter non-indexed parameters; must be null\", \"contract.\" + param.name, value);\n return;\n }\n if (value == null) topics.push(null);\n else if (param.baseType === \"array\" || param.baseType === \"tuple\") $ef97d5c3a9a93354$var$logger.throwArgumentError(\"filtering with tuples or arrays not supported\", \"contract.\" + param.name, value);\n else if (Array.isArray(value)) topics.push(value.map((value)=>encodeTopic(param, value)));\n else topics.push(encodeTopic(param, value));\n });\n // Trim off trailing nulls\n while(topics.length && topics[topics.length - 1] === null)topics.pop();\n return topics;\n }\n encodeEventLog(eventFragment, values) {\n if (typeof eventFragment === \"string\") eventFragment = this.getEvent(eventFragment);\n const topics = [];\n const dataTypes = [];\n const dataValues = [];\n if (!eventFragment.anonymous) topics.push(this.getEventTopic(eventFragment));\n if (values.length !== eventFragment.inputs.length) $ef97d5c3a9a93354$var$logger.throwArgumentError(\"event arguments/values mismatch\", \"values\", values);\n eventFragment.inputs.forEach((param, index)=>{\n const value = values[index];\n if (param.indexed) {\n if (param.type === \"string\") topics.push((0, $aIo2D.id)(value));\n else if (param.type === \"bytes\") topics.push((0, $2yhyU.keccak256)(value));\n else if (param.baseType === \"tuple\" || param.baseType === \"array\") // @TODO\n throw new Error(\"not implemented\");\n else topics.push(this._abiCoder.encode([\n param.type\n ], [\n value\n ]));\n } else {\n dataTypes.push(param);\n dataValues.push(value);\n }\n });\n return {\n data: this._abiCoder.encode(dataTypes, dataValues),\n topics: topics\n };\n }\n // Decode a filter for the event and the search criteria\n decodeEventLog(eventFragment, data, topics) {\n if (typeof eventFragment === \"string\") eventFragment = this.getEvent(eventFragment);\n if (topics != null && !eventFragment.anonymous) {\n let topicHash = this.getEventTopic(eventFragment);\n if (!(0, $aBzgs.isHexString)(topics[0], 32) || topics[0].toLowerCase() !== topicHash) $ef97d5c3a9a93354$var$logger.throwError(\"fragment/topic mismatch\", (0, $d1hml.Logger).errors.INVALID_ARGUMENT, {\n argument: \"topics[0]\",\n expected: topicHash,\n value: topics[0]\n });\n topics = topics.slice(1);\n }\n let indexed = [];\n let nonIndexed = [];\n let dynamic = [];\n eventFragment.inputs.forEach((param, index)=>{\n if (param.indexed) {\n if (param.type === \"string\" || param.type === \"bytes\" || param.baseType === \"tuple\" || param.baseType === \"array\") {\n indexed.push((0, $bB9qw.ParamType).fromObject({\n type: \"bytes32\",\n name: param.name\n }));\n dynamic.push(true);\n } else {\n indexed.push(param);\n dynamic.push(false);\n }\n } else {\n nonIndexed.push(param);\n dynamic.push(false);\n }\n });\n let resultIndexed = topics != null ? this._abiCoder.decode(indexed, (0, $aBzgs.concat)(topics)) : null;\n let resultNonIndexed = this._abiCoder.decode(nonIndexed, data, true);\n let result = [];\n let nonIndexedIndex = 0, indexedIndex = 0;\n eventFragment.inputs.forEach((param, index)=>{\n if (param.indexed) {\n if (resultIndexed == null) result[index] = new $ef97d5c3a9a93354$export$8ef99100a3c56f8c({\n _isIndexed: true,\n hash: null\n });\n else if (dynamic[index]) result[index] = new $ef97d5c3a9a93354$export$8ef99100a3c56f8c({\n _isIndexed: true,\n hash: resultIndexed[indexedIndex++]\n });\n else try {\n result[index] = resultIndexed[indexedIndex++];\n } catch (error) {\n result[index] = error;\n }\n } else try {\n result[index] = resultNonIndexed[nonIndexedIndex++];\n } catch (error) {\n result[index] = error;\n }\n // Add the keyword argument if named and safe\n if (param.name && result[param.name] == null) {\n const value = result[index];\n // Make error named values throw on access\n if (value instanceof Error) Object.defineProperty(result, param.name, {\n enumerable: true,\n get: ()=>{\n throw $ef97d5c3a9a93354$var$wrapAccessError(`property ${JSON.stringify(param.name)}`, value);\n }\n });\n else result[param.name] = value;\n }\n });\n // Make all error indexed values throw on access\n for(let i = 0; i < result.length; i++){\n const value = result[i];\n if (value instanceof Error) Object.defineProperty(result, i, {\n enumerable: true,\n get: ()=>{\n throw $ef97d5c3a9a93354$var$wrapAccessError(`index ${i}`, value);\n }\n });\n }\n return Object.freeze(result);\n }\n // Given a transaction, find the matching function fragment (if any) and\n // determine all its properties and call parameters\n parseTransaction(tx) {\n let fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase());\n if (!fragment) return null;\n return new $ef97d5c3a9a93354$export$7a3223b0fadb690b({\n args: this._abiCoder.decode(fragment.inputs, \"0x\" + tx.data.substring(10)),\n functionFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n sighash: this.getSighash(fragment),\n value: (0, $1chjt.BigNumber).from(tx.value || \"0\")\n });\n }\n // @TODO\n //parseCallResult(data: BytesLike): ??\n // Given an event log, find the matching event fragment (if any) and\n // determine all its properties and values\n parseLog(log) {\n let fragment = this.getEvent(log.topics[0]);\n if (!fragment || fragment.anonymous) return null;\n // @TODO: If anonymous, and the only method, and the input count matches, should we parse?\n // Probably not, because just because it is the only event in the ABI does\n // not mean we have the full ABI; maybe just a fragment?\n return new $ef97d5c3a9a93354$export$c2ab6499be98b3c5({\n eventFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n topic: this.getEventTopic(fragment),\n args: this.decodeEventLog(fragment, log.data, log.topics)\n });\n }\n parseError(data) {\n const hexData = (0, $aBzgs.hexlify)(data);\n let fragment = this.getError(hexData.substring(0, 10).toLowerCase());\n if (!fragment) return null;\n return new $ef97d5c3a9a93354$export$cfba08fc0e40e2ab({\n args: this._abiCoder.decode(fragment.inputs, \"0x\" + hexData.substring(10)),\n errorFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n sighash: this.getSighash(fragment)\n });\n }\n /*\n static from(value: Array | string | Interface) {\n if (Interface.isInterface(value)) {\n return value;\n }\n if (typeof(value) === \"string\") {\n return new Interface(JSON.parse(value));\n }\n return new Interface(value);\n }\n */ static isInterface(value) {\n return !!(value && value._isInterface);\n }\n}\n\n});\nparcelRequire.register(\"bVwUc\", function(module, exports) {\n\n$parcel$export(module.exports, \"getAddress\", () => $8aee8aee2d40605d$export$88411125f012957a);\n$parcel$export(module.exports, \"isAddress\", () => $8aee8aee2d40605d$export$977e255126d763d6);\n$parcel$export(module.exports, \"getIcapAddress\", () => $8aee8aee2d40605d$export$962c4ddada9f668f);\n$parcel$export(module.exports, \"getContractAddress\", () => $8aee8aee2d40605d$export$b7fbffef12272e40);\n$parcel$export(module.exports, \"getCreate2Address\", () => $8aee8aee2d40605d$export$e0b22d96621f73a2);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $2yhyU = parcelRequire(\"2yhyU\");\n\nvar $9BTKH = parcelRequire(\"9BTKH\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $kFJax = parcelRequire(\"kFJax\");\n\"use strict\";\nconst $8aee8aee2d40605d$var$logger = new (0, $d1hml.Logger)((0, $kFJax.version));\nfunction $8aee8aee2d40605d$var$getChecksumAddress(address) {\n if (!(0, $aBzgs.isHexString)(address, 20)) $8aee8aee2d40605d$var$logger.throwArgumentError(\"invalid address\", \"address\", address);\n address = address.toLowerCase();\n const chars = address.substring(2).split(\"\");\n const expanded = new Uint8Array(40);\n for(let i = 0; i < 40; i++)expanded[i] = chars[i].charCodeAt(0);\n const hashed = (0, $aBzgs.arrayify)((0, $2yhyU.keccak256)(expanded));\n for(let i = 0; i < 40; i += 2){\n if (hashed[i >> 1] >> 4 >= 8) chars[i] = chars[i].toUpperCase();\n if ((hashed[i >> 1] & 0x0f) >= 8) chars[i + 1] = chars[i + 1].toUpperCase();\n }\n return \"0x\" + chars.join(\"\");\n}\n// Shims for environments that are missing some required constants and functions\nconst $8aee8aee2d40605d$var$MAX_SAFE_INTEGER = 0x1fffffffffffff;\nfunction $8aee8aee2d40605d$var$log10(x) {\n if (Math.log10) return Math.log10(x);\n return Math.log(x) / Math.LN10;\n}\n// See: https://en.wikipedia.org/wiki/International_Bank_Account_Number\n// Create lookup table\nconst $8aee8aee2d40605d$var$ibanLookup = {};\nfor(let i = 0; i < 10; i++)$8aee8aee2d40605d$var$ibanLookup[String(i)] = String(i);\nfor(let i = 0; i < 26; i++)$8aee8aee2d40605d$var$ibanLookup[String.fromCharCode(65 + i)] = String(10 + i);\n// How many decimal digits can we process? (for 64-bit float, this is 15)\nconst $8aee8aee2d40605d$var$safeDigits = Math.floor($8aee8aee2d40605d$var$log10($8aee8aee2d40605d$var$MAX_SAFE_INTEGER));\nfunction $8aee8aee2d40605d$var$ibanChecksum(address) {\n address = address.toUpperCase();\n address = address.substring(4) + address.substring(0, 2) + \"00\";\n let expanded = address.split(\"\").map((c)=>{\n return $8aee8aee2d40605d$var$ibanLookup[c];\n }).join(\"\");\n // Javascript can handle integers safely up to 15 (decimal) digits\n while(expanded.length >= $8aee8aee2d40605d$var$safeDigits){\n let block = expanded.substring(0, $8aee8aee2d40605d$var$safeDigits);\n expanded = parseInt(block, 10) % 97 + expanded.substring(block.length);\n }\n let checksum = String(98 - parseInt(expanded, 10) % 97);\n while(checksum.length < 2)checksum = \"0\" + checksum;\n return checksum;\n}\nfunction $8aee8aee2d40605d$export$88411125f012957a(address) {\n let result = null;\n if (typeof address !== \"string\") $8aee8aee2d40605d$var$logger.throwArgumentError(\"invalid address\", \"address\", address);\n if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {\n // Missing the 0x prefix\n if (address.substring(0, 2) !== \"0x\") address = \"0x\" + address;\n result = $8aee8aee2d40605d$var$getChecksumAddress(address);\n // It is a checksummed address with a bad checksum\n if (address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) && result !== address) $8aee8aee2d40605d$var$logger.throwArgumentError(\"bad address checksum\", \"address\", address);\n // Maybe ICAP? (we only support direct mode)\n } else if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {\n // It is an ICAP address with a bad checksum\n if (address.substring(2, 4) !== $8aee8aee2d40605d$var$ibanChecksum(address)) $8aee8aee2d40605d$var$logger.throwArgumentError(\"bad icap checksum\", \"address\", address);\n result = (0, $1chjt._base36To16)(address.substring(4));\n while(result.length < 40)result = \"0\" + result;\n result = $8aee8aee2d40605d$var$getChecksumAddress(\"0x\" + result);\n } else $8aee8aee2d40605d$var$logger.throwArgumentError(\"invalid address\", \"address\", address);\n return result;\n}\nfunction $8aee8aee2d40605d$export$977e255126d763d6(address) {\n try {\n $8aee8aee2d40605d$export$88411125f012957a(address);\n return true;\n } catch (error) {}\n return false;\n}\nfunction $8aee8aee2d40605d$export$962c4ddada9f668f(address) {\n let base36 = (0, $1chjt._base16To36)($8aee8aee2d40605d$export$88411125f012957a(address).substring(2)).toUpperCase();\n while(base36.length < 30)base36 = \"0\" + base36;\n return \"XE\" + $8aee8aee2d40605d$var$ibanChecksum(\"XE00\" + base36) + base36;\n}\nfunction $8aee8aee2d40605d$export$b7fbffef12272e40(transaction) {\n let from = null;\n try {\n from = $8aee8aee2d40605d$export$88411125f012957a(transaction.from);\n } catch (error) {\n $8aee8aee2d40605d$var$logger.throwArgumentError(\"missing from address\", \"transaction\", transaction);\n }\n const nonce = (0, $aBzgs.stripZeros)((0, $aBzgs.arrayify)((0, $1chjt.BigNumber).from(transaction.nonce).toHexString()));\n return $8aee8aee2d40605d$export$88411125f012957a((0, $aBzgs.hexDataSlice)((0, $2yhyU.keccak256)((0, $9BTKH.encode)([\n from,\n nonce\n ])), 12));\n}\nfunction $8aee8aee2d40605d$export$e0b22d96621f73a2(from, salt, initCodeHash) {\n if ((0, $aBzgs.hexDataLength)(salt) !== 32) $8aee8aee2d40605d$var$logger.throwArgumentError(\"salt must be 32 bytes\", \"salt\", salt);\n if ((0, $aBzgs.hexDataLength)(initCodeHash) !== 32) $8aee8aee2d40605d$var$logger.throwArgumentError(\"initCodeHash must be 32 bytes\", \"initCodeHash\", initCodeHash);\n return $8aee8aee2d40605d$export$88411125f012957a((0, $aBzgs.hexDataSlice)((0, $2yhyU.keccak256)((0, $aBzgs.concat)([\n \"0xff\",\n $8aee8aee2d40605d$export$88411125f012957a(from),\n salt,\n initCodeHash\n ])), 12));\n}\n\n});\nparcelRequire.register(\"2yhyU\", function(module, exports) {\n\n$parcel$export(module.exports, \"keccak256\", () => $1dbc6131e27af3ca$export$f8151fce47ad1c35);\n\nvar $1IGmO = parcelRequire(\"1IGmO\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\"use strict\";\nfunction $1dbc6131e27af3ca$export$f8151fce47ad1c35(data) {\n return \"0x\" + (0, (/*@__PURE__*/$parcel$interopDefault($1IGmO))).keccak_256((0, $aBzgs.arrayify)(data));\n}\n\n});\n\nparcelRequire.register(\"9BTKH\", function(module, exports) {\n\n$parcel$export(module.exports, \"encode\", () => $6ff2d0f6bfa15181$export$c564cdbbe6da493);\n$parcel$export(module.exports, \"decode\", () => $6ff2d0f6bfa15181$export$2f872c0f2117be69);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $bcrL7 = parcelRequire(\"bcrL7\");\n\"use strict\";\nconst $6ff2d0f6bfa15181$var$logger = new (0, $d1hml.Logger)((0, $bcrL7.version));\nfunction $6ff2d0f6bfa15181$var$arrayifyInteger(value) {\n const result = [];\n while(value){\n result.unshift(value & 0xff);\n value >>= 8;\n }\n return result;\n}\nfunction $6ff2d0f6bfa15181$var$unarrayifyInteger(data, offset, length) {\n let result = 0;\n for(let i = 0; i < length; i++)result = result * 256 + data[offset + i];\n return result;\n}\nfunction $6ff2d0f6bfa15181$var$_encode(object) {\n if (Array.isArray(object)) {\n let payload = [];\n object.forEach(function(child) {\n payload = payload.concat($6ff2d0f6bfa15181$var$_encode(child));\n });\n if (payload.length <= 55) {\n payload.unshift(0xc0 + payload.length);\n return payload;\n }\n const length = $6ff2d0f6bfa15181$var$arrayifyInteger(payload.length);\n length.unshift(0xf7 + length.length);\n return length.concat(payload);\n }\n if (!(0, $aBzgs.isBytesLike)(object)) $6ff2d0f6bfa15181$var$logger.throwArgumentError(\"RLP object must be BytesLike\", \"object\", object);\n const data = Array.prototype.slice.call((0, $aBzgs.arrayify)(object));\n if (data.length === 1 && data[0] <= 0x7f) return data;\n else if (data.length <= 55) {\n data.unshift(0x80 + data.length);\n return data;\n }\n const length = $6ff2d0f6bfa15181$var$arrayifyInteger(data.length);\n length.unshift(0xb7 + length.length);\n return length.concat(data);\n}\nfunction $6ff2d0f6bfa15181$export$c564cdbbe6da493(object) {\n return (0, $aBzgs.hexlify)($6ff2d0f6bfa15181$var$_encode(object));\n}\nfunction $6ff2d0f6bfa15181$var$_decodeChildren(data, offset, childOffset, length) {\n const result = [];\n while(childOffset < offset + 1 + length){\n const decoded = $6ff2d0f6bfa15181$var$_decode(data, childOffset);\n result.push(decoded.result);\n childOffset += decoded.consumed;\n if (childOffset > offset + 1 + length) $6ff2d0f6bfa15181$var$logger.throwError(\"child data too short\", (0, $d1hml.Logger).errors.BUFFER_OVERRUN, {});\n }\n return {\n consumed: 1 + length,\n result: result\n };\n}\n// returns { consumed: number, result: Object }\nfunction $6ff2d0f6bfa15181$var$_decode(data, offset) {\n if (data.length === 0) $6ff2d0f6bfa15181$var$logger.throwError(\"data too short\", (0, $d1hml.Logger).errors.BUFFER_OVERRUN, {});\n // Array with extra length prefix\n if (data[offset] >= 0xf8) {\n const lengthLength = data[offset] - 0xf7;\n if (offset + 1 + lengthLength > data.length) $6ff2d0f6bfa15181$var$logger.throwError(\"data short segment too short\", (0, $d1hml.Logger).errors.BUFFER_OVERRUN, {});\n const length = $6ff2d0f6bfa15181$var$unarrayifyInteger(data, offset + 1, lengthLength);\n if (offset + 1 + lengthLength + length > data.length) $6ff2d0f6bfa15181$var$logger.throwError(\"data long segment too short\", (0, $d1hml.Logger).errors.BUFFER_OVERRUN, {});\n return $6ff2d0f6bfa15181$var$_decodeChildren(data, offset, offset + 1 + lengthLength, lengthLength + length);\n } else if (data[offset] >= 0xc0) {\n const length = data[offset] - 0xc0;\n if (offset + 1 + length > data.length) $6ff2d0f6bfa15181$var$logger.throwError(\"data array too short\", (0, $d1hml.Logger).errors.BUFFER_OVERRUN, {});\n return $6ff2d0f6bfa15181$var$_decodeChildren(data, offset, offset + 1, length);\n } else if (data[offset] >= 0xb8) {\n const lengthLength = data[offset] - 0xb7;\n if (offset + 1 + lengthLength > data.length) $6ff2d0f6bfa15181$var$logger.throwError(\"data array too short\", (0, $d1hml.Logger).errors.BUFFER_OVERRUN, {});\n const length = $6ff2d0f6bfa15181$var$unarrayifyInteger(data, offset + 1, lengthLength);\n if (offset + 1 + lengthLength + length > data.length) $6ff2d0f6bfa15181$var$logger.throwError(\"data array too short\", (0, $d1hml.Logger).errors.BUFFER_OVERRUN, {});\n const result = (0, $aBzgs.hexlify)(data.slice(offset + 1 + lengthLength, offset + 1 + lengthLength + length));\n return {\n consumed: 1 + lengthLength + length,\n result: result\n };\n } else if (data[offset] >= 0x80) {\n const length = data[offset] - 0x80;\n if (offset + 1 + length > data.length) $6ff2d0f6bfa15181$var$logger.throwError(\"data too short\", (0, $d1hml.Logger).errors.BUFFER_OVERRUN, {});\n const result = (0, $aBzgs.hexlify)(data.slice(offset + 1, offset + 1 + length));\n return {\n consumed: 1 + length,\n result: result\n };\n }\n return {\n consumed: 1,\n result: (0, $aBzgs.hexlify)(data[offset])\n };\n}\nfunction $6ff2d0f6bfa15181$export$2f872c0f2117be69(data) {\n const bytes = (0, $aBzgs.arrayify)(data);\n const decoded = $6ff2d0f6bfa15181$var$_decode(bytes, 0);\n if (decoded.consumed !== bytes.length) $6ff2d0f6bfa15181$var$logger.throwArgumentError(\"invalid rlp data\", \"data\", data);\n return decoded.result;\n}\n\n});\nparcelRequire.register(\"bcrL7\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $82765913239667f9$export$83d89fbfd8236492);\nconst $82765913239667f9$export$83d89fbfd8236492 = \"rlp/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"kFJax\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $f0caac95ce71359f$export$83d89fbfd8236492);\nconst $f0caac95ce71359f$export$83d89fbfd8236492 = \"address/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"aIo2D\", function(module, exports) {\n\n$parcel$export(module.exports, \"id\", () => $7cd0a9996bd6b341$export$d560c7e4a29451c2);\n\nvar $2yhyU = parcelRequire(\"2yhyU\");\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\nfunction $7cd0a9996bd6b341$export$d560c7e4a29451c2(text) {\n return (0, $2yhyU.keccak256)((0, $fkVsY.toUtf8Bytes)(text));\n}\n\n});\nparcelRequire.register(\"fkVsY\", function(module, exports) {\n\n$parcel$export(module.exports, \"UnicodeNormalizationForm\", () => $b2a54ce293d87a2e$export$c6986442964129f5);\n$parcel$export(module.exports, \"Utf8ErrorReason\", () => $b2a54ce293d87a2e$export$c285fa6ac15ff6a6);\n$parcel$export(module.exports, \"Utf8ErrorFuncs\", () => $b2a54ce293d87a2e$export$c6e2180c5bb5bc05);\n$parcel$export(module.exports, \"toUtf8Bytes\", () => $b2a54ce293d87a2e$export$8feeb310b4b4752f);\n$parcel$export(module.exports, \"_toEscapedUtf8String\", () => $b2a54ce293d87a2e$export$a7a0ec15960b9055);\n$parcel$export(module.exports, \"_toUtf8String\", () => $b2a54ce293d87a2e$export$232e1dab03132235);\n$parcel$export(module.exports, \"toUtf8String\", () => $b2a54ce293d87a2e$export$7643a1dc2c38d5eb);\n$parcel$export(module.exports, \"toUtf8CodePoints\", () => $b2a54ce293d87a2e$export$ae470a36a31b28c2);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $lrjmA = parcelRequire(\"lrjmA\");\n\"use strict\";\nconst $b2a54ce293d87a2e$var$logger = new (0, $d1hml.Logger)((0, $lrjmA.version));\nvar $b2a54ce293d87a2e$export$c6986442964129f5;\n(function(UnicodeNormalizationForm) {\n UnicodeNormalizationForm[\"current\"] = \"\";\n UnicodeNormalizationForm[\"NFC\"] = \"NFC\";\n UnicodeNormalizationForm[\"NFD\"] = \"NFD\";\n UnicodeNormalizationForm[\"NFKC\"] = \"NFKC\";\n UnicodeNormalizationForm[\"NFKD\"] = \"NFKD\";\n})($b2a54ce293d87a2e$export$c6986442964129f5 || ($b2a54ce293d87a2e$export$c6986442964129f5 = {}));\nvar $b2a54ce293d87a2e$export$c285fa6ac15ff6a6;\n(function(Utf8ErrorReason) {\n // A continuation byte was present where there was nothing to continue\n // - offset = the index the codepoint began in\n Utf8ErrorReason[\"UNEXPECTED_CONTINUE\"] = \"unexpected continuation byte\";\n // An invalid (non-continuation) byte to start a UTF-8 codepoint was found\n // - offset = the index the codepoint began in\n Utf8ErrorReason[\"BAD_PREFIX\"] = \"bad codepoint prefix\";\n // The string is too short to process the expected codepoint\n // - offset = the index the codepoint began in\n Utf8ErrorReason[\"OVERRUN\"] = \"string overrun\";\n // A missing continuation byte was expected but not found\n // - offset = the index the continuation byte was expected at\n Utf8ErrorReason[\"MISSING_CONTINUE\"] = \"missing continuation byte\";\n // The computed code point is outside the range for UTF-8\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; outside the UTF-8 range\n Utf8ErrorReason[\"OUT_OF_RANGE\"] = \"out of UTF-8 range\";\n // UTF-8 strings may not contain UTF-16 surrogate pairs\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; inside the UTF-16 surrogate range\n Utf8ErrorReason[\"UTF16_SURROGATE\"] = \"UTF-16 surrogate\";\n // The string is an overlong representation\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; already bounds checked\n Utf8ErrorReason[\"OVERLONG\"] = \"overlong representation\";\n})($b2a54ce293d87a2e$export$c285fa6ac15ff6a6 || ($b2a54ce293d87a2e$export$c285fa6ac15ff6a6 = {}));\nfunction $b2a54ce293d87a2e$var$errorFunc(reason, offset, bytes, output, badCodepoint) {\n return $b2a54ce293d87a2e$var$logger.throwArgumentError(`invalid codepoint at offset ${offset}; ${reason}`, \"bytes\", bytes);\n}\nfunction $b2a54ce293d87a2e$var$ignoreFunc(reason, offset, bytes, output, badCodepoint) {\n // If there is an invalid prefix (including stray continuation), skip any additional continuation bytes\n if (reason === $b2a54ce293d87a2e$export$c285fa6ac15ff6a6.BAD_PREFIX || reason === $b2a54ce293d87a2e$export$c285fa6ac15ff6a6.UNEXPECTED_CONTINUE) {\n let i = 0;\n for(let o = offset + 1; o < bytes.length; o++){\n if (bytes[o] >> 6 !== 0x02) break;\n i++;\n }\n return i;\n }\n // This byte runs us past the end of the string, so just jump to the end\n // (but the first byte was read already read and therefore skipped)\n if (reason === $b2a54ce293d87a2e$export$c285fa6ac15ff6a6.OVERRUN) return bytes.length - offset - 1;\n // Nothing to skip\n return 0;\n}\nfunction $b2a54ce293d87a2e$var$replaceFunc(reason, offset, bytes, output, badCodepoint) {\n // Overlong representations are otherwise \"valid\" code points; just non-deistingtished\n if (reason === $b2a54ce293d87a2e$export$c285fa6ac15ff6a6.OVERLONG) {\n output.push(badCodepoint);\n return 0;\n }\n // Put the replacement character into the output\n output.push(0xfffd);\n // Otherwise, process as if ignoring errors\n return $b2a54ce293d87a2e$var$ignoreFunc(reason, offset, bytes, output, badCodepoint);\n}\nconst $b2a54ce293d87a2e$export$c6e2180c5bb5bc05 = Object.freeze({\n error: $b2a54ce293d87a2e$var$errorFunc,\n ignore: $b2a54ce293d87a2e$var$ignoreFunc,\n replace: $b2a54ce293d87a2e$var$replaceFunc\n});\n// http://stackoverflow.com/questions/13356493/decode-utf-8-with-javascript#13691499\nfunction $b2a54ce293d87a2e$var$getUtf8CodePoints(bytes, onError) {\n if (onError == null) onError = $b2a54ce293d87a2e$export$c6e2180c5bb5bc05.error;\n bytes = (0, $aBzgs.arrayify)(bytes);\n const result = [];\n let i = 0;\n // Invalid bytes are ignored\n while(i < bytes.length){\n const c = bytes[i++];\n // 0xxx xxxx\n if (c >> 7 === 0) {\n result.push(c);\n continue;\n }\n // Multibyte; how many bytes left for this character?\n let extraLength = null;\n let overlongMask = null;\n // 110x xxxx 10xx xxxx\n if ((c & 0xe0) === 0xc0) {\n extraLength = 1;\n overlongMask = 0x7f;\n // 1110 xxxx 10xx xxxx 10xx xxxx\n } else if ((c & 0xf0) === 0xe0) {\n extraLength = 2;\n overlongMask = 0x7ff;\n // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx\n } else if ((c & 0xf8) === 0xf0) {\n extraLength = 3;\n overlongMask = 0xffff;\n } else {\n if ((c & 0xc0) === 0x80) i += onError($b2a54ce293d87a2e$export$c285fa6ac15ff6a6.UNEXPECTED_CONTINUE, i - 1, bytes, result);\n else i += onError($b2a54ce293d87a2e$export$c285fa6ac15ff6a6.BAD_PREFIX, i - 1, bytes, result);\n continue;\n }\n // Do we have enough bytes in our data?\n if (i - 1 + extraLength >= bytes.length) {\n i += onError($b2a54ce293d87a2e$export$c285fa6ac15ff6a6.OVERRUN, i - 1, bytes, result);\n continue;\n }\n // Remove the length prefix from the char\n let res = c & (1 << 8 - extraLength - 1) - 1;\n for(let j = 0; j < extraLength; j++){\n let nextChar = bytes[i];\n // Invalid continuation byte\n if ((nextChar & 0xc0) != 0x80) {\n i += onError($b2a54ce293d87a2e$export$c285fa6ac15ff6a6.MISSING_CONTINUE, i, bytes, result);\n res = null;\n break;\n }\n res = res << 6 | nextChar & 0x3f;\n i++;\n }\n // See above loop for invalid continuation byte\n if (res === null) continue;\n // Maximum code point\n if (res > 0x10ffff) {\n i += onError($b2a54ce293d87a2e$export$c285fa6ac15ff6a6.OUT_OF_RANGE, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Reserved for UTF-16 surrogate halves\n if (res >= 0xd800 && res <= 0xdfff) {\n i += onError($b2a54ce293d87a2e$export$c285fa6ac15ff6a6.UTF16_SURROGATE, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Check for overlong sequences (more bytes than needed)\n if (res <= overlongMask) {\n i += onError($b2a54ce293d87a2e$export$c285fa6ac15ff6a6.OVERLONG, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n result.push(res);\n }\n return result;\n}\nfunction $b2a54ce293d87a2e$export$8feeb310b4b4752f(str, form = $b2a54ce293d87a2e$export$c6986442964129f5.current) {\n if (form != $b2a54ce293d87a2e$export$c6986442964129f5.current) {\n $b2a54ce293d87a2e$var$logger.checkNormalize();\n str = str.normalize(form);\n }\n let result = [];\n for(let i = 0; i < str.length; i++){\n const c = str.charCodeAt(i);\n if (c < 0x80) result.push(c);\n else if (c < 0x800) {\n result.push(c >> 6 | 0xc0);\n result.push(c & 0x3f | 0x80);\n } else if ((c & 0xfc00) == 0xd800) {\n i++;\n const c2 = str.charCodeAt(i);\n if (i >= str.length || (c2 & 0xfc00) !== 0xdc00) throw new Error(\"invalid utf-8 string\");\n // Surrogate Pair\n const pair = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);\n result.push(pair >> 18 | 0xf0);\n result.push(pair >> 12 & 0x3f | 0x80);\n result.push(pair >> 6 & 0x3f | 0x80);\n result.push(pair & 0x3f | 0x80);\n } else {\n result.push(c >> 12 | 0xe0);\n result.push(c >> 6 & 0x3f | 0x80);\n result.push(c & 0x3f | 0x80);\n }\n }\n return (0, $aBzgs.arrayify)(result);\n}\nfunction $b2a54ce293d87a2e$var$escapeChar(value) {\n const hex = \"0000\" + value.toString(16);\n return \"\\\\u\" + hex.substring(hex.length - 4);\n}\nfunction $b2a54ce293d87a2e$export$a7a0ec15960b9055(bytes, onError) {\n return '\"' + $b2a54ce293d87a2e$var$getUtf8CodePoints(bytes, onError).map((codePoint)=>{\n if (codePoint < 256) {\n switch(codePoint){\n case 8:\n return \"\\\\b\";\n case 9:\n return \"\\\\t\";\n case 10:\n return \"\\\\n\";\n case 13:\n return \"\\\\r\";\n case 34:\n return '\\\\\"';\n case 92:\n return \"\\\\\\\\\";\n }\n if (codePoint >= 32 && codePoint < 127) return String.fromCharCode(codePoint);\n }\n if (codePoint <= 0xffff) return $b2a54ce293d87a2e$var$escapeChar(codePoint);\n codePoint -= 0x10000;\n return $b2a54ce293d87a2e$var$escapeChar((codePoint >> 10 & 0x3ff) + 0xd800) + $b2a54ce293d87a2e$var$escapeChar((codePoint & 0x3ff) + 0xdc00);\n }).join(\"\") + '\"';\n}\nfunction $b2a54ce293d87a2e$export$232e1dab03132235(codePoints) {\n return codePoints.map((codePoint)=>{\n if (codePoint <= 0xffff) return String.fromCharCode(codePoint);\n codePoint -= 0x10000;\n return String.fromCharCode((codePoint >> 10 & 0x3ff) + 0xd800, (codePoint & 0x3ff) + 0xdc00);\n }).join(\"\");\n}\nfunction $b2a54ce293d87a2e$export$7643a1dc2c38d5eb(bytes, onError) {\n return $b2a54ce293d87a2e$export$232e1dab03132235($b2a54ce293d87a2e$var$getUtf8CodePoints(bytes, onError));\n}\nfunction $b2a54ce293d87a2e$export$ae470a36a31b28c2(str, form = $b2a54ce293d87a2e$export$c6986442964129f5.current) {\n return $b2a54ce293d87a2e$var$getUtf8CodePoints($b2a54ce293d87a2e$export$8feeb310b4b4752f(str, form));\n}\n\n});\nparcelRequire.register(\"lrjmA\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $f9bb23bb4b058849$export$83d89fbfd8236492);\nconst $f9bb23bb4b058849$export$83d89fbfd8236492 = \"strings/5.7.0\";\n\n});\n\n\n\nparcelRequire.register(\"45kY3\", function(module, exports) {\n\n$parcel$export(module.exports, \"AbiCoder\", () => $2f97e4c6f3904f5b$export$fe041e1a83d3efc6);\n$parcel$export(module.exports, \"defaultAbiCoder\", () => $2f97e4c6f3904f5b$export$51d1cfcdb913adff);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $aBVaX = parcelRequire(\"aBVaX\");\n\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\n\nvar $306EP = parcelRequire(\"306EP\");\n\nvar $dZXkS = parcelRequire(\"dZXkS\");\n\nvar $4V4hc = parcelRequire(\"4V4hc\");\n\nvar $9siMZ = parcelRequire(\"9siMZ\");\n\nvar $dr1ok = parcelRequire(\"dr1ok\");\n\nvar $bGn0W = parcelRequire(\"bGn0W\");\n\nvar $lrGft = parcelRequire(\"lrGft\");\n\nvar $cpHaC = parcelRequire(\"cpHaC\");\n\nvar $h11H8 = parcelRequire(\"h11H8\");\n\nvar $bB9qw = parcelRequire(\"bB9qw\");\n\"use strict\";\nconst $2f97e4c6f3904f5b$var$logger = new (0, $d1hml.Logger)((0, $aBVaX.version));\nconst $2f97e4c6f3904f5b$var$paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);\nconst $2f97e4c6f3904f5b$var$paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);\nclass $2f97e4c6f3904f5b$export$fe041e1a83d3efc6 {\n constructor(coerceFunc){\n (0, $e72ut.defineReadOnly)(this, \"coerceFunc\", coerceFunc || null);\n }\n _getCoder(param) {\n switch(param.baseType){\n case \"address\":\n return new (0, $306EP.AddressCoder)(param.name);\n case \"bool\":\n return new (0, $4V4hc.BooleanCoder)(param.name);\n case \"string\":\n return new (0, $cpHaC.StringCoder)(param.name);\n case \"bytes\":\n return new (0, $9siMZ.BytesCoder)(param.name);\n case \"array\":\n return new (0, $dZXkS.ArrayCoder)(this._getCoder(param.arrayChildren), param.arrayLength, param.name);\n case \"tuple\":\n return new (0, $h11H8.TupleCoder)((param.components || []).map((component)=>{\n return this._getCoder(component);\n }), param.name);\n case \"\":\n return new (0, $bGn0W.NullCoder)(param.name);\n }\n // u?int[0-9]*\n let match = param.type.match($2f97e4c6f3904f5b$var$paramTypeNumber);\n if (match) {\n let size = parseInt(match[2] || \"256\");\n if (size === 0 || size > 256 || size % 8 !== 0) $2f97e4c6f3904f5b$var$logger.throwArgumentError(\"invalid \" + match[1] + \" bit length\", \"param\", param);\n return new (0, $lrGft.NumberCoder)(size / 8, match[1] === \"int\", param.name);\n }\n // bytes[0-9]+\n match = param.type.match($2f97e4c6f3904f5b$var$paramTypeBytes);\n if (match) {\n let size = parseInt(match[1]);\n if (size === 0 || size > 32) $2f97e4c6f3904f5b$var$logger.throwArgumentError(\"invalid bytes length\", \"param\", param);\n return new (0, $dr1ok.FixedBytesCoder)(size, param.name);\n }\n return $2f97e4c6f3904f5b$var$logger.throwArgumentError(\"invalid type\", \"type\", param.type);\n }\n _getWordSize() {\n return 32;\n }\n _getReader(data, allowLoose) {\n return new (0, $3Mwuv.Reader)(data, this._getWordSize(), this.coerceFunc, allowLoose);\n }\n _getWriter() {\n return new (0, $3Mwuv.Writer)(this._getWordSize());\n }\n getDefaultValue(types) {\n const coders = types.map((type)=>this._getCoder((0, $bB9qw.ParamType).from(type)));\n const coder = new (0, $h11H8.TupleCoder)(coders, \"_\");\n return coder.defaultValue();\n }\n encode(types, values) {\n if (types.length !== values.length) $2f97e4c6f3904f5b$var$logger.throwError(\"types/values length mismatch\", (0, $d1hml.Logger).errors.INVALID_ARGUMENT, {\n count: {\n types: types.length,\n values: values.length\n },\n value: {\n types: types,\n values: values\n }\n });\n const coders = types.map((type)=>this._getCoder((0, $bB9qw.ParamType).from(type)));\n const coder = new (0, $h11H8.TupleCoder)(coders, \"_\");\n const writer = this._getWriter();\n coder.encode(writer, values);\n return writer.data;\n }\n decode(types, data, loose) {\n const coders = types.map((type)=>this._getCoder((0, $bB9qw.ParamType).from(type)));\n const coder = new (0, $h11H8.TupleCoder)(coders, \"_\");\n return coder.decode(this._getReader((0, $aBzgs.arrayify)(data), loose));\n }\n}\nconst $2f97e4c6f3904f5b$export$51d1cfcdb913adff = new $2f97e4c6f3904f5b$export$fe041e1a83d3efc6();\n\n});\nparcelRequire.register(\"aBVaX\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $7b99b6039539a6c4$export$83d89fbfd8236492);\nconst $7b99b6039539a6c4$export$83d89fbfd8236492 = \"abi/5.7.0\";\n\n});\n\nparcelRequire.register(\"3Mwuv\", function(module, exports) {\n\n$parcel$export(module.exports, \"checkResultErrors\", () => $2c0f0ed4c5bed241$export$5546b9ec21157cc2);\n$parcel$export(module.exports, \"Coder\", () => $2c0f0ed4c5bed241$export$2c0c39526f8bad46);\n$parcel$export(module.exports, \"Writer\", () => $2c0f0ed4c5bed241$export$d7a960146e1a269e);\n$parcel$export(module.exports, \"Reader\", () => $2c0f0ed4c5bed241$export$2f7a2f0e90c07dc4);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $aBVaX = parcelRequire(\"aBVaX\");\n\"use strict\";\nconst $2c0f0ed4c5bed241$var$logger = new (0, $d1hml.Logger)((0, $aBVaX.version));\nfunction $2c0f0ed4c5bed241$export$5546b9ec21157cc2(result) {\n // Find the first error (if any)\n const errors = [];\n const checkErrors = function(path, object) {\n if (!Array.isArray(object)) return;\n for(let key in object){\n const childPath = path.slice();\n childPath.push(key);\n try {\n checkErrors(childPath, object[key]);\n } catch (error) {\n errors.push({\n path: childPath,\n error: error\n });\n }\n }\n };\n checkErrors([], result);\n return errors;\n}\nclass $2c0f0ed4c5bed241$export$2c0c39526f8bad46 {\n constructor(name, type, localName, dynamic){\n // @TODO: defineReadOnly these\n this.name = name;\n this.type = type;\n this.localName = localName;\n this.dynamic = dynamic;\n }\n _throwError(message, value) {\n $2c0f0ed4c5bed241$var$logger.throwArgumentError(message, this.localName, value);\n }\n}\nclass $2c0f0ed4c5bed241$export$d7a960146e1a269e {\n constructor(wordSize){\n (0, $e72ut.defineReadOnly)(this, \"wordSize\", wordSize || 32);\n this._data = [];\n this._dataLength = 0;\n this._padding = new Uint8Array(wordSize);\n }\n get data() {\n return (0, $aBzgs.hexConcat)(this._data);\n }\n get length() {\n return this._dataLength;\n }\n _writeData(data) {\n this._data.push(data);\n this._dataLength += data.length;\n return data.length;\n }\n appendWriter(writer) {\n return this._writeData((0, $aBzgs.concat)(writer._data));\n }\n // Arrayish items; padded on the right to wordSize\n writeBytes(value) {\n let bytes = (0, $aBzgs.arrayify)(value);\n const paddingOffset = bytes.length % this.wordSize;\n if (paddingOffset) bytes = (0, $aBzgs.concat)([\n bytes,\n this._padding.slice(paddingOffset)\n ]);\n return this._writeData(bytes);\n }\n _getValue(value) {\n let bytes = (0, $aBzgs.arrayify)((0, $1chjt.BigNumber).from(value));\n if (bytes.length > this.wordSize) $2c0f0ed4c5bed241$var$logger.throwError(\"value out-of-bounds\", (0, $d1hml.Logger).errors.BUFFER_OVERRUN, {\n length: this.wordSize,\n offset: bytes.length\n });\n if (bytes.length % this.wordSize) bytes = (0, $aBzgs.concat)([\n this._padding.slice(bytes.length % this.wordSize),\n bytes\n ]);\n return bytes;\n }\n // BigNumberish items; padded on the left to wordSize\n writeValue(value) {\n return this._writeData(this._getValue(value));\n }\n writeUpdatableValue() {\n const offset = this._data.length;\n this._data.push(this._padding);\n this._dataLength += this.wordSize;\n return (value)=>{\n this._data[offset] = this._getValue(value);\n };\n }\n}\nclass $2c0f0ed4c5bed241$export$2f7a2f0e90c07dc4 {\n constructor(data, wordSize, coerceFunc, allowLoose){\n (0, $e72ut.defineReadOnly)(this, \"_data\", (0, $aBzgs.arrayify)(data));\n (0, $e72ut.defineReadOnly)(this, \"wordSize\", wordSize || 32);\n (0, $e72ut.defineReadOnly)(this, \"_coerceFunc\", coerceFunc);\n (0, $e72ut.defineReadOnly)(this, \"allowLoose\", allowLoose);\n this._offset = 0;\n }\n get data() {\n return (0, $aBzgs.hexlify)(this._data);\n }\n get consumed() {\n return this._offset;\n }\n // The default Coerce function\n static coerce(name, value) {\n let match = name.match(\"^u?int([0-9]+)$\");\n if (match && parseInt(match[1]) <= 48) value = value.toNumber();\n return value;\n }\n coerce(name, value) {\n if (this._coerceFunc) return this._coerceFunc(name, value);\n return $2c0f0ed4c5bed241$export$2f7a2f0e90c07dc4.coerce(name, value);\n }\n _peekBytes(offset, length, loose) {\n let alignedLength = Math.ceil(length / this.wordSize) * this.wordSize;\n if (this._offset + alignedLength > this._data.length) {\n if (this.allowLoose && loose && this._offset + length <= this._data.length) alignedLength = length;\n else $2c0f0ed4c5bed241$var$logger.throwError(\"data out-of-bounds\", (0, $d1hml.Logger).errors.BUFFER_OVERRUN, {\n length: this._data.length,\n offset: this._offset + alignedLength\n });\n }\n return this._data.slice(this._offset, this._offset + alignedLength);\n }\n subReader(offset) {\n return new $2c0f0ed4c5bed241$export$2f7a2f0e90c07dc4(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc, this.allowLoose);\n }\n readBytes(length, loose) {\n let bytes = this._peekBytes(0, length, !!loose);\n this._offset += bytes.length;\n // @TODO: Make sure the length..end bytes are all 0?\n return bytes.slice(0, length);\n }\n readValue() {\n return (0, $1chjt.BigNumber).from(this.readBytes(this.wordSize));\n }\n}\n\n});\n\nparcelRequire.register(\"306EP\", function(module, exports) {\n\n$parcel$export(module.exports, \"AddressCoder\", () => $22f6893c208a0a4e$export$59dbbded7775bfe7);\n\nvar $bVwUc = parcelRequire(\"bVwUc\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\n\"use strict\";\nclass $22f6893c208a0a4e$export$59dbbded7775bfe7 extends (0, $3Mwuv.Coder) {\n constructor(localName){\n super(\"address\", \"address\", localName, false);\n }\n defaultValue() {\n return \"0x0000000000000000000000000000000000000000\";\n }\n encode(writer, value) {\n try {\n value = (0, $bVwUc.getAddress)(value);\n } catch (error) {\n this._throwError(error.message, value);\n }\n return writer.writeValue(value);\n }\n decode(reader) {\n return (0, $bVwUc.getAddress)((0, $aBzgs.hexZeroPad)(reader.readValue().toHexString(), 20));\n }\n}\n\n});\n\nparcelRequire.register(\"dZXkS\", function(module, exports) {\n\n$parcel$export(module.exports, \"pack\", () => $a30effb870f18115$export$2a703dbb0cb35339);\n$parcel$export(module.exports, \"unpack\", () => $a30effb870f18115$export$417857010dc9287f);\n$parcel$export(module.exports, \"ArrayCoder\", () => $a30effb870f18115$export$88bc419d2df11f54);\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $aBVaX = parcelRequire(\"aBVaX\");\n\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\n\nvar $4Zvuy = parcelRequire(\"4Zvuy\");\n\"use strict\";\nconst $a30effb870f18115$var$logger = new (0, $d1hml.Logger)((0, $aBVaX.version));\nfunction $a30effb870f18115$export$2a703dbb0cb35339(writer, coders, values) {\n let arrayValues = null;\n if (Array.isArray(values)) arrayValues = values;\n else if (values && typeof values === \"object\") {\n let unique = {};\n arrayValues = coders.map((coder)=>{\n const name = coder.localName;\n if (!name) $a30effb870f18115$var$logger.throwError(\"cannot encode object for signature with missing names\", (0, $d1hml.Logger).errors.INVALID_ARGUMENT, {\n argument: \"values\",\n coder: coder,\n value: values\n });\n if (unique[name]) $a30effb870f18115$var$logger.throwError(\"cannot encode object for signature with duplicate names\", (0, $d1hml.Logger).errors.INVALID_ARGUMENT, {\n argument: \"values\",\n coder: coder,\n value: values\n });\n unique[name] = true;\n return values[name];\n });\n } else $a30effb870f18115$var$logger.throwArgumentError(\"invalid tuple value\", \"tuple\", values);\n if (coders.length !== arrayValues.length) $a30effb870f18115$var$logger.throwArgumentError(\"types/value length mismatch\", \"tuple\", values);\n let staticWriter = new (0, $3Mwuv.Writer)(writer.wordSize);\n let dynamicWriter = new (0, $3Mwuv.Writer)(writer.wordSize);\n let updateFuncs = [];\n coders.forEach((coder, index)=>{\n let value = arrayValues[index];\n if (coder.dynamic) {\n // Get current dynamic offset (for the future pointer)\n let dynamicOffset = dynamicWriter.length;\n // Encode the dynamic value into the dynamicWriter\n coder.encode(dynamicWriter, value);\n // Prepare to populate the correct offset once we are done\n let updateFunc = staticWriter.writeUpdatableValue();\n updateFuncs.push((baseOffset)=>{\n updateFunc(baseOffset + dynamicOffset);\n });\n } else coder.encode(staticWriter, value);\n });\n // Backfill all the dynamic offsets, now that we know the static length\n updateFuncs.forEach((func)=>{\n func(staticWriter.length);\n });\n let length = writer.appendWriter(staticWriter);\n length += writer.appendWriter(dynamicWriter);\n return length;\n}\nfunction $a30effb870f18115$export$417857010dc9287f(reader, coders) {\n let values = [];\n // A reader anchored to this base\n let baseReader = reader.subReader(0);\n coders.forEach((coder)=>{\n let value = null;\n if (coder.dynamic) {\n let offset = reader.readValue();\n let offsetReader = baseReader.subReader(offset.toNumber());\n try {\n value = coder.decode(offsetReader);\n } catch (error) {\n // Cannot recover from this\n if (error.code === (0, $d1hml.Logger).errors.BUFFER_OVERRUN) throw error;\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n } else try {\n value = coder.decode(reader);\n } catch (error) {\n // Cannot recover from this\n if (error.code === (0, $d1hml.Logger).errors.BUFFER_OVERRUN) throw error;\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n if (value != undefined) values.push(value);\n });\n // We only output named properties for uniquely named coders\n const uniqueNames = coders.reduce((accum, coder)=>{\n const name = coder.localName;\n if (name) {\n if (!accum[name]) accum[name] = 0;\n accum[name]++;\n }\n return accum;\n }, {});\n // Add any named parameters (i.e. tuples)\n coders.forEach((coder, index)=>{\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) return;\n if (name === \"length\") name = \"_length\";\n if (values[name] != null) return;\n const value = values[index];\n if (value instanceof Error) Object.defineProperty(values, name, {\n enumerable: true,\n get: ()=>{\n throw value;\n }\n });\n else values[name] = value;\n });\n for(let i = 0; i < values.length; i++){\n const value = values[i];\n if (value instanceof Error) Object.defineProperty(values, i, {\n enumerable: true,\n get: ()=>{\n throw value;\n }\n });\n }\n return Object.freeze(values);\n}\nclass $a30effb870f18115$export$88bc419d2df11f54 extends (0, $3Mwuv.Coder) {\n constructor(coder, length, localName){\n const type = coder.type + \"[\" + (length >= 0 ? length : \"\") + \"]\";\n const dynamic = length === -1 || coder.dynamic;\n super(\"array\", type, localName, dynamic);\n this.coder = coder;\n this.length = length;\n }\n defaultValue() {\n // Verifies the child coder is valid (even if the array is dynamic or 0-length)\n const defaultChild = this.coder.defaultValue();\n const result = [];\n for(let i = 0; i < this.length; i++)result.push(defaultChild);\n return result;\n }\n encode(writer, value) {\n if (!Array.isArray(value)) this._throwError(\"expected array value\", value);\n let count = this.length;\n if (count === -1) {\n count = value.length;\n writer.writeValue(value.length);\n }\n $a30effb870f18115$var$logger.checkArgumentCount(value.length, count, \"coder array\" + (this.localName ? \" \" + this.localName : \"\"));\n let coders = [];\n for(let i = 0; i < value.length; i++)coders.push(this.coder);\n return $a30effb870f18115$export$2a703dbb0cb35339(writer, coders, value);\n }\n decode(reader) {\n let count = this.length;\n if (count === -1) {\n count = reader.readValue().toNumber();\n // Check that there is *roughly* enough data to ensure\n // stray random data is not being read as a length. Each\n // slot requires at least 32 bytes for their value (or 32\n // bytes as a link to the data). This could use a much\n // tighter bound, but we are erroring on the side of safety.\n if (count * 32 > reader._data.length) $a30effb870f18115$var$logger.throwError(\"insufficient data length\", (0, $d1hml.Logger).errors.BUFFER_OVERRUN, {\n length: reader._data.length,\n count: count\n });\n }\n let coders = [];\n for(let i = 0; i < count; i++)coders.push(new (0, $4Zvuy.AnonymousCoder)(this.coder));\n return reader.coerce(this.name, $a30effb870f18115$export$417857010dc9287f(reader, coders));\n }\n}\n\n});\nparcelRequire.register(\"4Zvuy\", function(module, exports) {\n\n$parcel$export(module.exports, \"AnonymousCoder\", () => $3a25498c1332da4a$export$87c41d1139a03fa2);\n\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\n\"use strict\";\nclass $3a25498c1332da4a$export$87c41d1139a03fa2 extends (0, $3Mwuv.Coder) {\n constructor(coder){\n super(coder.name, coder.type, undefined, coder.dynamic);\n this.coder = coder;\n }\n defaultValue() {\n return this.coder.defaultValue();\n }\n encode(writer, value) {\n return this.coder.encode(writer, value);\n }\n decode(reader) {\n return this.coder.decode(reader);\n }\n}\n\n});\n\n\nparcelRequire.register(\"4V4hc\", function(module, exports) {\n\n$parcel$export(module.exports, \"BooleanCoder\", () => $394fcd7db865fb3c$export$fe9118d6c093150c);\n\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\n\"use strict\";\nclass $394fcd7db865fb3c$export$fe9118d6c093150c extends (0, $3Mwuv.Coder) {\n constructor(localName){\n super(\"bool\", \"bool\", localName, false);\n }\n defaultValue() {\n return false;\n }\n encode(writer, value) {\n return writer.writeValue(value ? 1 : 0);\n }\n decode(reader) {\n return reader.coerce(this.type, !reader.readValue().isZero());\n }\n}\n\n});\n\nparcelRequire.register(\"9siMZ\", function(module, exports) {\n\n$parcel$export(module.exports, \"DynamicBytesCoder\", () => $6e254db4e73082b7$export$db9eadd8df12ad2e);\n$parcel$export(module.exports, \"BytesCoder\", () => $6e254db4e73082b7$export$e5823e9574df18d2);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\n\"use strict\";\nclass $6e254db4e73082b7$export$db9eadd8df12ad2e extends (0, $3Mwuv.Coder) {\n constructor(type, localName){\n super(type, type, localName, true);\n }\n defaultValue() {\n return \"0x\";\n }\n encode(writer, value) {\n value = (0, $aBzgs.arrayify)(value);\n let length = writer.writeValue(value.length);\n length += writer.writeBytes(value);\n return length;\n }\n decode(reader) {\n return reader.readBytes(reader.readValue().toNumber(), true);\n }\n}\nclass $6e254db4e73082b7$export$e5823e9574df18d2 extends $6e254db4e73082b7$export$db9eadd8df12ad2e {\n constructor(localName){\n super(\"bytes\", localName);\n }\n decode(reader) {\n return reader.coerce(this.name, (0, $aBzgs.hexlify)(super.decode(reader)));\n }\n}\n\n});\n\nparcelRequire.register(\"dr1ok\", function(module, exports) {\n\n$parcel$export(module.exports, \"FixedBytesCoder\", () => $9c7ee045e883fffe$export$7dec9db68e6bcf5a);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\n\"use strict\";\nclass $9c7ee045e883fffe$export$7dec9db68e6bcf5a extends (0, $3Mwuv.Coder) {\n constructor(size, localName){\n let name = \"bytes\" + String(size);\n super(name, name, localName, false);\n this.size = size;\n }\n defaultValue() {\n return \"0x0000000000000000000000000000000000000000000000000000000000000000\".substring(0, 2 + this.size * 2);\n }\n encode(writer, value) {\n let data = (0, $aBzgs.arrayify)(value);\n if (data.length !== this.size) this._throwError(\"incorrect data length\", value);\n return writer.writeBytes(data);\n }\n decode(reader) {\n return reader.coerce(this.name, (0, $aBzgs.hexlify)(reader.readBytes(this.size)));\n }\n}\n\n});\n\nparcelRequire.register(\"bGn0W\", function(module, exports) {\n\n$parcel$export(module.exports, \"NullCoder\", () => $8815781d2f2dcc92$export$70982cadf2d6b4ec);\n\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\n\"use strict\";\nclass $8815781d2f2dcc92$export$70982cadf2d6b4ec extends (0, $3Mwuv.Coder) {\n constructor(localName){\n super(\"null\", \"\", localName, false);\n }\n defaultValue() {\n return null;\n }\n encode(writer, value) {\n if (value != null) this._throwError(\"not null\", value);\n return writer.writeBytes([]);\n }\n decode(reader) {\n reader.readBytes(0);\n return reader.coerce(this.name, null);\n }\n}\n\n});\n\nparcelRequire.register(\"lrGft\", function(module, exports) {\n\n$parcel$export(module.exports, \"NumberCoder\", () => $f9cce4408e3f228e$export$b934dc8cfe13938c);\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $gVGT9 = parcelRequire(\"gVGT9\");\n\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\n\"use strict\";\nclass $f9cce4408e3f228e$export$b934dc8cfe13938c extends (0, $3Mwuv.Coder) {\n constructor(size, signed, localName){\n const name = (signed ? \"int\" : \"uint\") + size * 8;\n super(name, name, localName, false);\n this.size = size;\n this.signed = signed;\n }\n defaultValue() {\n return 0;\n }\n encode(writer, value) {\n let v = (0, $1chjt.BigNumber).from(value);\n // Check bounds are safe for encoding\n let maxUintValue = (0, $gVGT9.MaxUint256).mask(writer.wordSize * 8);\n if (this.signed) {\n let bounds = maxUintValue.mask(this.size * 8 - 1);\n if (v.gt(bounds) || v.lt(bounds.add((0, $gVGT9.One)).mul((0, $gVGT9.NegativeOne)))) this._throwError(\"value out-of-bounds\", value);\n } else if (v.lt((0, $gVGT9.Zero)) || v.gt(maxUintValue.mask(this.size * 8))) this._throwError(\"value out-of-bounds\", value);\n v = v.toTwos(this.size * 8).mask(this.size * 8);\n if (this.signed) v = v.fromTwos(this.size * 8).toTwos(8 * writer.wordSize);\n return writer.writeValue(v);\n }\n decode(reader) {\n let value = reader.readValue().mask(this.size * 8);\n if (this.signed) value = value.fromTwos(this.size * 8);\n return reader.coerce(this.name, value);\n }\n}\n\n});\nparcelRequire.register(\"gVGT9\", function(module, exports) {\n\n$parcel$export(module.exports, \"NegativeOne\", () => $c5333cf79421e056$export$c83ef0909a6ddeec);\n$parcel$export(module.exports, \"Zero\", () => $c5333cf79421e056$export$aaef8a3eae948f03);\n$parcel$export(module.exports, \"One\", () => $c5333cf79421e056$export$9aa05a5866350bcf);\n$parcel$export(module.exports, \"Two\", () => $c5333cf79421e056$export$9276dd97bf62cc8d);\n$parcel$export(module.exports, \"WeiPerEther\", () => $c5333cf79421e056$export$c8db55bd7405209e);\n$parcel$export(module.exports, \"MaxUint256\", () => $c5333cf79421e056$export$1b53890de5aabdd0);\n$parcel$export(module.exports, \"MinInt256\", () => $c5333cf79421e056$export$963c9b9317b80aaf);\n$parcel$export(module.exports, \"MaxInt256\", () => $c5333cf79421e056$export$6f8dbb07ebe6d738);\n\nvar $1chjt = parcelRequire(\"1chjt\");\nconst $c5333cf79421e056$export$c83ef0909a6ddeec = /*#__PURE__*/ (0, $1chjt.BigNumber).from(-1);\nconst $c5333cf79421e056$export$aaef8a3eae948f03 = /*#__PURE__*/ (0, $1chjt.BigNumber).from(0);\nconst $c5333cf79421e056$export$9aa05a5866350bcf = /*#__PURE__*/ (0, $1chjt.BigNumber).from(1);\nconst $c5333cf79421e056$export$9276dd97bf62cc8d = /*#__PURE__*/ (0, $1chjt.BigNumber).from(2);\nconst $c5333cf79421e056$export$c8db55bd7405209e = /*#__PURE__*/ (0, $1chjt.BigNumber).from(\"1000000000000000000\");\nconst $c5333cf79421e056$export$1b53890de5aabdd0 = /*#__PURE__*/ (0, $1chjt.BigNumber).from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\nconst $c5333cf79421e056$export$963c9b9317b80aaf = /*#__PURE__*/ (0, $1chjt.BigNumber).from(\"-0x8000000000000000000000000000000000000000000000000000000000000000\");\nconst $c5333cf79421e056$export$6f8dbb07ebe6d738 = /*#__PURE__*/ (0, $1chjt.BigNumber).from(\"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n\n});\n\n\nparcelRequire.register(\"cpHaC\", function(module, exports) {\n\n$parcel$export(module.exports, \"StringCoder\", () => $90994e88a8e0b05b$export$2d1b854518731426);\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\n\nvar $9siMZ = parcelRequire(\"9siMZ\");\n\"use strict\";\nclass $90994e88a8e0b05b$export$2d1b854518731426 extends (0, $9siMZ.DynamicBytesCoder) {\n constructor(localName){\n super(\"string\", localName);\n }\n defaultValue() {\n return \"\";\n }\n encode(writer, value) {\n return super.encode(writer, (0, $fkVsY.toUtf8Bytes)(value));\n }\n decode(reader) {\n return (0, $fkVsY.toUtf8String)(super.decode(reader));\n }\n}\n\n});\n\nparcelRequire.register(\"h11H8\", function(module, exports) {\n\n$parcel$export(module.exports, \"TupleCoder\", () => $c633d82d9fdfc710$export$e9fceba8f110fea6);\n\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\n\nvar $dZXkS = parcelRequire(\"dZXkS\");\n\"use strict\";\nclass $c633d82d9fdfc710$export$e9fceba8f110fea6 extends (0, $3Mwuv.Coder) {\n constructor(coders, localName){\n let dynamic = false;\n const types = [];\n coders.forEach((coder)=>{\n if (coder.dynamic) dynamic = true;\n types.push(coder.type);\n });\n const type = \"tuple(\" + types.join(\",\") + \")\";\n super(\"tuple\", type, localName, dynamic);\n this.coders = coders;\n }\n defaultValue() {\n const values = [];\n this.coders.forEach((coder)=>{\n values.push(coder.defaultValue());\n });\n // We only output named properties for uniquely named coders\n const uniqueNames = this.coders.reduce((accum, coder)=>{\n const name = coder.localName;\n if (name) {\n if (!accum[name]) accum[name] = 0;\n accum[name]++;\n }\n return accum;\n }, {});\n // Add named values\n this.coders.forEach((coder, index)=>{\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) return;\n if (name === \"length\") name = \"_length\";\n if (values[name] != null) return;\n values[name] = values[index];\n });\n return Object.freeze(values);\n }\n encode(writer, value) {\n return (0, $dZXkS.pack)(writer, this.coders, value);\n }\n decode(reader) {\n return reader.coerce(this.name, (0, $dZXkS.unpack)(reader, this.coders));\n }\n}\n\n});\n\nparcelRequire.register(\"bB9qw\", function(module, exports) {\n\n$parcel$export(module.exports, \"FormatTypes\", () => $871a765ee5e657d2$export$f010f239efc4d445);\n$parcel$export(module.exports, \"ParamType\", () => $871a765ee5e657d2$export$426dc07f493a4c47);\n$parcel$export(module.exports, \"Fragment\", () => $871a765ee5e657d2$export$ffb0004e005737fa);\n$parcel$export(module.exports, \"FunctionFragment\", () => $871a765ee5e657d2$export$8d576c928b93668f);\n$parcel$export(module.exports, \"EventFragment\", () => $871a765ee5e657d2$export$958548f08bac2833);\n$parcel$export(module.exports, \"ConstructorFragment\", () => $871a765ee5e657d2$export$3ac5c9504f801ea4);\n$parcel$export(module.exports, \"ErrorFragment\", () => $871a765ee5e657d2$export$2c42c6d543aa9b59);\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $aBVaX = parcelRequire(\"aBVaX\");\n\"use strict\";\nconst $871a765ee5e657d2$var$logger = new (0, $d1hml.Logger)((0, $aBVaX.version));\nconst $871a765ee5e657d2$var$_constructorGuard = {};\nlet $871a765ee5e657d2$var$ModifiersBytes = {\n calldata: true,\n memory: true,\n storage: true\n};\nlet $871a765ee5e657d2$var$ModifiersNest = {\n calldata: true,\n memory: true\n};\nfunction $871a765ee5e657d2$var$checkModifier(type, name) {\n if (type === \"bytes\" || type === \"string\") {\n if ($871a765ee5e657d2$var$ModifiersBytes[name]) return true;\n } else if (type === \"address\") {\n if (name === \"payable\") return true;\n } else if (type.indexOf(\"[\") >= 0 || type === \"tuple\") {\n if ($871a765ee5e657d2$var$ModifiersNest[name]) return true;\n }\n if ($871a765ee5e657d2$var$ModifiersBytes[name] || name === \"payable\") $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid modifier\", \"name\", name);\n return false;\n}\n// @TODO: Make sure that children of an indexed tuple are marked with a null indexed\nfunction $871a765ee5e657d2$var$parseParamType(param, allowIndexed) {\n let originalParam = param;\n function throwError(i) {\n $871a765ee5e657d2$var$logger.throwArgumentError(`unexpected character at position ${i}`, \"param\", param);\n }\n param = param.replace(/\\s/g, \" \");\n function newNode(parent) {\n let node = {\n type: \"\",\n name: \"\",\n parent: parent,\n state: {\n allowType: true\n }\n };\n if (allowIndexed) node.indexed = false;\n return node;\n }\n let parent = {\n type: \"\",\n name: \"\",\n state: {\n allowType: true\n }\n };\n let node = parent;\n for(let i = 0; i < param.length; i++){\n let c = param[i];\n switch(c){\n case \"(\":\n if (node.state.allowType && node.type === \"\") node.type = \"tuple\";\n else if (!node.state.allowParams) throwError(i);\n node.state.allowType = false;\n node.type = $871a765ee5e657d2$var$verifyType(node.type);\n node.components = [\n newNode(node)\n ];\n node = node.components[0];\n break;\n case \")\":\n delete node.state;\n if (node.name === \"indexed\") {\n if (!allowIndexed) throwError(i);\n node.indexed = true;\n node.name = \"\";\n }\n if ($871a765ee5e657d2$var$checkModifier(node.type, node.name)) node.name = \"\";\n node.type = $871a765ee5e657d2$var$verifyType(node.type);\n let child = node;\n node = node.parent;\n if (!node) throwError(i);\n delete child.parent;\n node.state.allowParams = false;\n node.state.allowName = true;\n node.state.allowArray = true;\n break;\n case \",\":\n delete node.state;\n if (node.name === \"indexed\") {\n if (!allowIndexed) throwError(i);\n node.indexed = true;\n node.name = \"\";\n }\n if ($871a765ee5e657d2$var$checkModifier(node.type, node.name)) node.name = \"\";\n node.type = $871a765ee5e657d2$var$verifyType(node.type);\n let sibling = newNode(node.parent);\n //{ type: \"\", name: \"\", parent: node.parent, state: { allowType: true } };\n node.parent.components.push(sibling);\n delete node.parent;\n node = sibling;\n break;\n // Hit a space...\n case \" \":\n // If reading type, the type is done and may read a param or name\n if (node.state.allowType) {\n if (node.type !== \"\") {\n node.type = $871a765ee5e657d2$var$verifyType(node.type);\n delete node.state.allowType;\n node.state.allowName = true;\n node.state.allowParams = true;\n }\n }\n // If reading name, the name is done\n if (node.state.allowName) {\n if (node.name !== \"\") {\n if (node.name === \"indexed\") {\n if (!allowIndexed) throwError(i);\n if (node.indexed) throwError(i);\n node.indexed = true;\n node.name = \"\";\n } else if ($871a765ee5e657d2$var$checkModifier(node.type, node.name)) node.name = \"\";\n else node.state.allowName = false;\n }\n }\n break;\n case \"[\":\n if (!node.state.allowArray) throwError(i);\n node.type += c;\n node.state.allowArray = false;\n node.state.allowName = false;\n node.state.readArray = true;\n break;\n case \"]\":\n if (!node.state.readArray) throwError(i);\n node.type += c;\n node.state.readArray = false;\n node.state.allowArray = true;\n node.state.allowName = true;\n break;\n default:\n if (node.state.allowType) {\n node.type += c;\n node.state.allowParams = true;\n node.state.allowArray = true;\n } else if (node.state.allowName) {\n node.name += c;\n delete node.state.allowArray;\n } else if (node.state.readArray) node.type += c;\n else throwError(i);\n }\n }\n if (node.parent) $871a765ee5e657d2$var$logger.throwArgumentError(\"unexpected eof\", \"param\", param);\n delete parent.state;\n if (node.name === \"indexed\") {\n if (!allowIndexed) throwError(originalParam.length - 7);\n if (node.indexed) throwError(originalParam.length - 7);\n node.indexed = true;\n node.name = \"\";\n } else if ($871a765ee5e657d2$var$checkModifier(node.type, node.name)) node.name = \"\";\n parent.type = $871a765ee5e657d2$var$verifyType(parent.type);\n return parent;\n}\nfunction $871a765ee5e657d2$var$populate(object, params) {\n for(let key in params)(0, $e72ut.defineReadOnly)(object, key, params[key]);\n}\nconst $871a765ee5e657d2$export$f010f239efc4d445 = Object.freeze({\n // Bare formatting, as is needed for computing a sighash of an event or function\n sighash: \"sighash\",\n // Human-Readable with Minimal spacing and without names (compact human-readable)\n minimal: \"minimal\",\n // Human-Readable with nice spacing, including all names\n full: \"full\",\n // JSON-format a la Solidity\n json: \"json\"\n});\nconst $871a765ee5e657d2$var$paramTypeArray = new RegExp(/^(.*)\\[([0-9]*)\\]$/);\nclass $871a765ee5e657d2$export$426dc07f493a4c47 {\n constructor(constructorGuard, params){\n if (constructorGuard !== $871a765ee5e657d2$var$_constructorGuard) $871a765ee5e657d2$var$logger.throwError(\"use fromString\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"new ParamType()\"\n });\n $871a765ee5e657d2$var$populate(this, params);\n let match = this.type.match($871a765ee5e657d2$var$paramTypeArray);\n if (match) $871a765ee5e657d2$var$populate(this, {\n arrayLength: parseInt(match[2] || \"-1\"),\n arrayChildren: $871a765ee5e657d2$export$426dc07f493a4c47.fromObject({\n type: match[1],\n components: this.components\n }),\n baseType: \"array\"\n });\n else $871a765ee5e657d2$var$populate(this, {\n arrayLength: null,\n arrayChildren: null,\n baseType: this.components != null ? \"tuple\" : this.type\n });\n this._isParamType = true;\n Object.freeze(this);\n }\n // Format the parameter fragment\n // - sighash: \"(uint256,address)\"\n // - minimal: \"tuple(uint256,address) indexed\"\n // - full: \"tuple(uint256 foo, address bar) indexed baz\"\n format(format) {\n if (!format) format = $871a765ee5e657d2$export$f010f239efc4d445.sighash;\n if (!$871a765ee5e657d2$export$f010f239efc4d445[format]) $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid format type\", \"format\", format);\n if (format === $871a765ee5e657d2$export$f010f239efc4d445.json) {\n let result = {\n type: this.baseType === \"tuple\" ? \"tuple\" : this.type,\n name: this.name || undefined\n };\n if (typeof this.indexed === \"boolean\") result.indexed = this.indexed;\n if (this.components) result.components = this.components.map((comp)=>JSON.parse(comp.format(format)));\n return JSON.stringify(result);\n }\n let result = \"\";\n // Array\n if (this.baseType === \"array\") {\n result += this.arrayChildren.format(format);\n result += \"[\" + (this.arrayLength < 0 ? \"\" : String(this.arrayLength)) + \"]\";\n } else if (this.baseType === \"tuple\") {\n if (format !== $871a765ee5e657d2$export$f010f239efc4d445.sighash) result += this.type;\n result += \"(\" + this.components.map((comp)=>comp.format(format)).join(format === $871a765ee5e657d2$export$f010f239efc4d445.full ? \", \" : \",\") + \")\";\n } else result += this.type;\n if (format !== $871a765ee5e657d2$export$f010f239efc4d445.sighash) {\n if (this.indexed === true) result += \" indexed\";\n if (format === $871a765ee5e657d2$export$f010f239efc4d445.full && this.name) result += \" \" + this.name;\n }\n return result;\n }\n static from(value, allowIndexed) {\n if (typeof value === \"string\") return $871a765ee5e657d2$export$426dc07f493a4c47.fromString(value, allowIndexed);\n return $871a765ee5e657d2$export$426dc07f493a4c47.fromObject(value);\n }\n static fromObject(value) {\n if ($871a765ee5e657d2$export$426dc07f493a4c47.isParamType(value)) return value;\n return new $871a765ee5e657d2$export$426dc07f493a4c47($871a765ee5e657d2$var$_constructorGuard, {\n name: value.name || null,\n type: $871a765ee5e657d2$var$verifyType(value.type),\n indexed: value.indexed == null ? null : !!value.indexed,\n components: value.components ? value.components.map($871a765ee5e657d2$export$426dc07f493a4c47.fromObject) : null\n });\n }\n static fromString(value, allowIndexed) {\n function ParamTypify(node) {\n return $871a765ee5e657d2$export$426dc07f493a4c47.fromObject({\n name: node.name,\n type: node.type,\n indexed: node.indexed,\n components: node.components\n });\n }\n return ParamTypify($871a765ee5e657d2$var$parseParamType(value, !!allowIndexed));\n }\n static isParamType(value) {\n return !!(value != null && value._isParamType);\n }\n}\nfunction $871a765ee5e657d2$var$parseParams(value, allowIndex) {\n return $871a765ee5e657d2$var$splitNesting(value).map((param)=>$871a765ee5e657d2$export$426dc07f493a4c47.fromString(param, allowIndex));\n}\nclass $871a765ee5e657d2$export$ffb0004e005737fa {\n constructor(constructorGuard, params){\n if (constructorGuard !== $871a765ee5e657d2$var$_constructorGuard) $871a765ee5e657d2$var$logger.throwError(\"use a static from method\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"new Fragment()\"\n });\n $871a765ee5e657d2$var$populate(this, params);\n this._isFragment = true;\n Object.freeze(this);\n }\n static from(value) {\n if ($871a765ee5e657d2$export$ffb0004e005737fa.isFragment(value)) return value;\n if (typeof value === \"string\") return $871a765ee5e657d2$export$ffb0004e005737fa.fromString(value);\n return $871a765ee5e657d2$export$ffb0004e005737fa.fromObject(value);\n }\n static fromObject(value) {\n if ($871a765ee5e657d2$export$ffb0004e005737fa.isFragment(value)) return value;\n switch(value.type){\n case \"function\":\n return $871a765ee5e657d2$export$8d576c928b93668f.fromObject(value);\n case \"event\":\n return $871a765ee5e657d2$export$958548f08bac2833.fromObject(value);\n case \"constructor\":\n return $871a765ee5e657d2$export$3ac5c9504f801ea4.fromObject(value);\n case \"error\":\n return $871a765ee5e657d2$export$2c42c6d543aa9b59.fromObject(value);\n case \"fallback\":\n case \"receive\":\n // @TODO: Something? Maybe return a FunctionFragment? A custom DefaultFunctionFragment?\n return null;\n }\n return $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid fragment object\", \"value\", value);\n }\n static fromString(value) {\n // Make sure the \"returns\" is surrounded by a space and all whitespace is exactly one space\n value = value.replace(/\\s/g, \" \");\n value = value.replace(/\\(/g, \" (\").replace(/\\)/g, \") \").replace(/\\s+/g, \" \");\n value = value.trim();\n if (value.split(\" \")[0] === \"event\") return $871a765ee5e657d2$export$958548f08bac2833.fromString(value.substring(5).trim());\n else if (value.split(\" \")[0] === \"function\") return $871a765ee5e657d2$export$8d576c928b93668f.fromString(value.substring(8).trim());\n else if (value.split(\"(\")[0].trim() === \"constructor\") return $871a765ee5e657d2$export$3ac5c9504f801ea4.fromString(value.trim());\n else if (value.split(\" \")[0] === \"error\") return $871a765ee5e657d2$export$2c42c6d543aa9b59.fromString(value.substring(5).trim());\n return $871a765ee5e657d2$var$logger.throwArgumentError(\"unsupported fragment\", \"value\", value);\n }\n static isFragment(value) {\n return !!(value && value._isFragment);\n }\n}\nclass $871a765ee5e657d2$export$958548f08bac2833 extends $871a765ee5e657d2$export$ffb0004e005737fa {\n format(format) {\n if (!format) format = $871a765ee5e657d2$export$f010f239efc4d445.sighash;\n if (!$871a765ee5e657d2$export$f010f239efc4d445[format]) $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid format type\", \"format\", format);\n if (format === $871a765ee5e657d2$export$f010f239efc4d445.json) return JSON.stringify({\n type: \"event\",\n anonymous: this.anonymous,\n name: this.name,\n inputs: this.inputs.map((input)=>JSON.parse(input.format(format)))\n });\n let result = \"\";\n if (format !== $871a765ee5e657d2$export$f010f239efc4d445.sighash) result += \"event \";\n result += this.name + \"(\" + this.inputs.map((input)=>input.format(format)).join(format === $871a765ee5e657d2$export$f010f239efc4d445.full ? \", \" : \",\") + \") \";\n if (format !== $871a765ee5e657d2$export$f010f239efc4d445.sighash) {\n if (this.anonymous) result += \"anonymous \";\n }\n return result.trim();\n }\n static from(value) {\n if (typeof value === \"string\") return $871a765ee5e657d2$export$958548f08bac2833.fromString(value);\n return $871a765ee5e657d2$export$958548f08bac2833.fromObject(value);\n }\n static fromObject(value) {\n if ($871a765ee5e657d2$export$958548f08bac2833.isEventFragment(value)) return value;\n if (value.type !== \"event\") $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid event object\", \"value\", value);\n const params = {\n name: $871a765ee5e657d2$var$verifyIdentifier(value.name),\n anonymous: value.anonymous,\n inputs: value.inputs ? value.inputs.map($871a765ee5e657d2$export$426dc07f493a4c47.fromObject) : [],\n type: \"event\"\n };\n return new $871a765ee5e657d2$export$958548f08bac2833($871a765ee5e657d2$var$_constructorGuard, params);\n }\n static fromString(value) {\n let match = value.match($871a765ee5e657d2$var$regexParen);\n if (!match) $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid event string\", \"value\", value);\n let anonymous = false;\n match[3].split(\" \").forEach((modifier)=>{\n switch(modifier.trim()){\n case \"anonymous\":\n anonymous = true;\n break;\n case \"\":\n break;\n default:\n $871a765ee5e657d2$var$logger.warn(\"unknown modifier: \" + modifier);\n }\n });\n return $871a765ee5e657d2$export$958548f08bac2833.fromObject({\n name: match[1].trim(),\n anonymous: anonymous,\n inputs: $871a765ee5e657d2$var$parseParams(match[2], true),\n type: \"event\"\n });\n }\n static isEventFragment(value) {\n return value && value._isFragment && value.type === \"event\";\n }\n}\nfunction $871a765ee5e657d2$var$parseGas(value, params) {\n params.gas = null;\n let comps = value.split(\"@\");\n if (comps.length !== 1) {\n if (comps.length > 2) $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid human-readable ABI signature\", \"value\", value);\n if (!comps[1].match(/^[0-9]+$/)) $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid human-readable ABI signature gas\", \"value\", value);\n params.gas = (0, $1chjt.BigNumber).from(comps[1]);\n return comps[0];\n }\n return value;\n}\nfunction $871a765ee5e657d2$var$parseModifiers(value, params) {\n params.constant = false;\n params.payable = false;\n params.stateMutability = \"nonpayable\";\n value.split(\" \").forEach((modifier)=>{\n switch(modifier.trim()){\n case \"constant\":\n params.constant = true;\n break;\n case \"payable\":\n params.payable = true;\n params.stateMutability = \"payable\";\n break;\n case \"nonpayable\":\n params.payable = false;\n params.stateMutability = \"nonpayable\";\n break;\n case \"pure\":\n params.constant = true;\n params.stateMutability = \"pure\";\n break;\n case \"view\":\n params.constant = true;\n params.stateMutability = \"view\";\n break;\n case \"external\":\n case \"public\":\n case \"\":\n break;\n default:\n console.log(\"unknown modifier: \" + modifier);\n }\n });\n}\nfunction $871a765ee5e657d2$var$verifyState(value) {\n let result = {\n constant: false,\n payable: true,\n stateMutability: \"payable\"\n };\n if (value.stateMutability != null) {\n result.stateMutability = value.stateMutability;\n // Set (and check things are consistent) the constant property\n result.constant = result.stateMutability === \"view\" || result.stateMutability === \"pure\";\n if (value.constant != null) {\n if (!!value.constant !== result.constant) $871a765ee5e657d2$var$logger.throwArgumentError(\"cannot have constant function with mutability \" + result.stateMutability, \"value\", value);\n }\n // Set (and check things are consistent) the payable property\n result.payable = result.stateMutability === \"payable\";\n if (value.payable != null) {\n if (!!value.payable !== result.payable) $871a765ee5e657d2$var$logger.throwArgumentError(\"cannot have payable function with mutability \" + result.stateMutability, \"value\", value);\n }\n } else if (value.payable != null) {\n result.payable = !!value.payable;\n // If payable we can assume non-constant; otherwise we can't assume\n if (value.constant == null && !result.payable && value.type !== \"constructor\") $871a765ee5e657d2$var$logger.throwArgumentError(\"unable to determine stateMutability\", \"value\", value);\n result.constant = !!value.constant;\n if (result.constant) result.stateMutability = \"view\";\n else result.stateMutability = result.payable ? \"payable\" : \"nonpayable\";\n if (result.payable && result.constant) $871a765ee5e657d2$var$logger.throwArgumentError(\"cannot have constant payable function\", \"value\", value);\n } else if (value.constant != null) {\n result.constant = !!value.constant;\n result.payable = !result.constant;\n result.stateMutability = result.constant ? \"view\" : \"payable\";\n } else if (value.type !== \"constructor\") $871a765ee5e657d2$var$logger.throwArgumentError(\"unable to determine stateMutability\", \"value\", value);\n return result;\n}\nclass $871a765ee5e657d2$export$3ac5c9504f801ea4 extends $871a765ee5e657d2$export$ffb0004e005737fa {\n format(format) {\n if (!format) format = $871a765ee5e657d2$export$f010f239efc4d445.sighash;\n if (!$871a765ee5e657d2$export$f010f239efc4d445[format]) $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid format type\", \"format\", format);\n if (format === $871a765ee5e657d2$export$f010f239efc4d445.json) return JSON.stringify({\n type: \"constructor\",\n stateMutability: this.stateMutability !== \"nonpayable\" ? this.stateMutability : undefined,\n payable: this.payable,\n gas: this.gas ? this.gas.toNumber() : undefined,\n inputs: this.inputs.map((input)=>JSON.parse(input.format(format)))\n });\n if (format === $871a765ee5e657d2$export$f010f239efc4d445.sighash) $871a765ee5e657d2$var$logger.throwError(\"cannot format a constructor for sighash\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"format(sighash)\"\n });\n let result = \"constructor(\" + this.inputs.map((input)=>input.format(format)).join(format === $871a765ee5e657d2$export$f010f239efc4d445.full ? \", \" : \",\") + \") \";\n if (this.stateMutability && this.stateMutability !== \"nonpayable\") result += this.stateMutability + \" \";\n return result.trim();\n }\n static from(value) {\n if (typeof value === \"string\") return $871a765ee5e657d2$export$3ac5c9504f801ea4.fromString(value);\n return $871a765ee5e657d2$export$3ac5c9504f801ea4.fromObject(value);\n }\n static fromObject(value) {\n if ($871a765ee5e657d2$export$3ac5c9504f801ea4.isConstructorFragment(value)) return value;\n if (value.type !== \"constructor\") $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid constructor object\", \"value\", value);\n let state = $871a765ee5e657d2$var$verifyState(value);\n if (state.constant) $871a765ee5e657d2$var$logger.throwArgumentError(\"constructor cannot be constant\", \"value\", value);\n const params = {\n name: null,\n type: value.type,\n inputs: value.inputs ? value.inputs.map($871a765ee5e657d2$export$426dc07f493a4c47.fromObject) : [],\n payable: state.payable,\n stateMutability: state.stateMutability,\n gas: value.gas ? (0, $1chjt.BigNumber).from(value.gas) : null\n };\n return new $871a765ee5e657d2$export$3ac5c9504f801ea4($871a765ee5e657d2$var$_constructorGuard, params);\n }\n static fromString(value) {\n let params = {\n type: \"constructor\"\n };\n value = $871a765ee5e657d2$var$parseGas(value, params);\n let parens = value.match($871a765ee5e657d2$var$regexParen);\n if (!parens || parens[1].trim() !== \"constructor\") $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid constructor string\", \"value\", value);\n params.inputs = $871a765ee5e657d2$var$parseParams(parens[2].trim(), false);\n $871a765ee5e657d2$var$parseModifiers(parens[3].trim(), params);\n return $871a765ee5e657d2$export$3ac5c9504f801ea4.fromObject(params);\n }\n static isConstructorFragment(value) {\n return value && value._isFragment && value.type === \"constructor\";\n }\n}\nclass $871a765ee5e657d2$export$8d576c928b93668f extends $871a765ee5e657d2$export$3ac5c9504f801ea4 {\n format(format) {\n if (!format) format = $871a765ee5e657d2$export$f010f239efc4d445.sighash;\n if (!$871a765ee5e657d2$export$f010f239efc4d445[format]) $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid format type\", \"format\", format);\n if (format === $871a765ee5e657d2$export$f010f239efc4d445.json) return JSON.stringify({\n type: \"function\",\n name: this.name,\n constant: this.constant,\n stateMutability: this.stateMutability !== \"nonpayable\" ? this.stateMutability : undefined,\n payable: this.payable,\n gas: this.gas ? this.gas.toNumber() : undefined,\n inputs: this.inputs.map((input)=>JSON.parse(input.format(format))),\n outputs: this.outputs.map((output)=>JSON.parse(output.format(format)))\n });\n let result = \"\";\n if (format !== $871a765ee5e657d2$export$f010f239efc4d445.sighash) result += \"function \";\n result += this.name + \"(\" + this.inputs.map((input)=>input.format(format)).join(format === $871a765ee5e657d2$export$f010f239efc4d445.full ? \", \" : \",\") + \") \";\n if (format !== $871a765ee5e657d2$export$f010f239efc4d445.sighash) {\n if (this.stateMutability) {\n if (this.stateMutability !== \"nonpayable\") result += this.stateMutability + \" \";\n } else if (this.constant) result += \"view \";\n if (this.outputs && this.outputs.length) result += \"returns (\" + this.outputs.map((output)=>output.format(format)).join(\", \") + \") \";\n if (this.gas != null) result += \"@\" + this.gas.toString() + \" \";\n }\n return result.trim();\n }\n static from(value) {\n if (typeof value === \"string\") return $871a765ee5e657d2$export$8d576c928b93668f.fromString(value);\n return $871a765ee5e657d2$export$8d576c928b93668f.fromObject(value);\n }\n static fromObject(value) {\n if ($871a765ee5e657d2$export$8d576c928b93668f.isFunctionFragment(value)) return value;\n if (value.type !== \"function\") $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid function object\", \"value\", value);\n let state = $871a765ee5e657d2$var$verifyState(value);\n const params = {\n type: value.type,\n name: $871a765ee5e657d2$var$verifyIdentifier(value.name),\n constant: state.constant,\n inputs: value.inputs ? value.inputs.map($871a765ee5e657d2$export$426dc07f493a4c47.fromObject) : [],\n outputs: value.outputs ? value.outputs.map($871a765ee5e657d2$export$426dc07f493a4c47.fromObject) : [],\n payable: state.payable,\n stateMutability: state.stateMutability,\n gas: value.gas ? (0, $1chjt.BigNumber).from(value.gas) : null\n };\n return new $871a765ee5e657d2$export$8d576c928b93668f($871a765ee5e657d2$var$_constructorGuard, params);\n }\n static fromString(value) {\n let params = {\n type: \"function\"\n };\n value = $871a765ee5e657d2$var$parseGas(value, params);\n let comps = value.split(\" returns \");\n if (comps.length > 2) $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid function string\", \"value\", value);\n let parens = comps[0].match($871a765ee5e657d2$var$regexParen);\n if (!parens) $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid function signature\", \"value\", value);\n params.name = parens[1].trim();\n if (params.name) $871a765ee5e657d2$var$verifyIdentifier(params.name);\n params.inputs = $871a765ee5e657d2$var$parseParams(parens[2], false);\n $871a765ee5e657d2$var$parseModifiers(parens[3].trim(), params);\n // We have outputs\n if (comps.length > 1) {\n let returns = comps[1].match($871a765ee5e657d2$var$regexParen);\n if (returns[1].trim() != \"\" || returns[3].trim() != \"\") $871a765ee5e657d2$var$logger.throwArgumentError(\"unexpected tokens\", \"value\", value);\n params.outputs = $871a765ee5e657d2$var$parseParams(returns[2], false);\n } else params.outputs = [];\n return $871a765ee5e657d2$export$8d576c928b93668f.fromObject(params);\n }\n static isFunctionFragment(value) {\n return value && value._isFragment && value.type === \"function\";\n }\n}\n//export class StructFragment extends Fragment {\n//}\nfunction $871a765ee5e657d2$var$checkForbidden(fragment) {\n const sig = fragment.format();\n if (sig === \"Error(string)\" || sig === \"Panic(uint256)\") $871a765ee5e657d2$var$logger.throwArgumentError(`cannot specify user defined ${sig} error`, \"fragment\", fragment);\n return fragment;\n}\nclass $871a765ee5e657d2$export$2c42c6d543aa9b59 extends $871a765ee5e657d2$export$ffb0004e005737fa {\n format(format) {\n if (!format) format = $871a765ee5e657d2$export$f010f239efc4d445.sighash;\n if (!$871a765ee5e657d2$export$f010f239efc4d445[format]) $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid format type\", \"format\", format);\n if (format === $871a765ee5e657d2$export$f010f239efc4d445.json) return JSON.stringify({\n type: \"error\",\n name: this.name,\n inputs: this.inputs.map((input)=>JSON.parse(input.format(format)))\n });\n let result = \"\";\n if (format !== $871a765ee5e657d2$export$f010f239efc4d445.sighash) result += \"error \";\n result += this.name + \"(\" + this.inputs.map((input)=>input.format(format)).join(format === $871a765ee5e657d2$export$f010f239efc4d445.full ? \", \" : \",\") + \") \";\n return result.trim();\n }\n static from(value) {\n if (typeof value === \"string\") return $871a765ee5e657d2$export$2c42c6d543aa9b59.fromString(value);\n return $871a765ee5e657d2$export$2c42c6d543aa9b59.fromObject(value);\n }\n static fromObject(value) {\n if ($871a765ee5e657d2$export$2c42c6d543aa9b59.isErrorFragment(value)) return value;\n if (value.type !== \"error\") $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid error object\", \"value\", value);\n const params = {\n type: value.type,\n name: $871a765ee5e657d2$var$verifyIdentifier(value.name),\n inputs: value.inputs ? value.inputs.map($871a765ee5e657d2$export$426dc07f493a4c47.fromObject) : []\n };\n return $871a765ee5e657d2$var$checkForbidden(new $871a765ee5e657d2$export$2c42c6d543aa9b59($871a765ee5e657d2$var$_constructorGuard, params));\n }\n static fromString(value) {\n let params = {\n type: \"error\"\n };\n let parens = value.match($871a765ee5e657d2$var$regexParen);\n if (!parens) $871a765ee5e657d2$var$logger.throwArgumentError(\"invalid error signature\", \"value\", value);\n params.name = parens[1].trim();\n if (params.name) $871a765ee5e657d2$var$verifyIdentifier(params.name);\n params.inputs = $871a765ee5e657d2$var$parseParams(parens[2], false);\n return $871a765ee5e657d2$var$checkForbidden($871a765ee5e657d2$export$2c42c6d543aa9b59.fromObject(params));\n }\n static isErrorFragment(value) {\n return value && value._isFragment && value.type === \"error\";\n }\n}\nfunction $871a765ee5e657d2$var$verifyType(type) {\n // These need to be transformed to their full description\n if (type.match(/^uint($|[^1-9])/)) type = \"uint256\" + type.substring(4);\n else if (type.match(/^int($|[^1-9])/)) type = \"int256\" + type.substring(3);\n // @TODO: more verification\n return type;\n}\n// See: https://github.com/ethereum/solidity/blob/1f8f1a3db93a548d0555e3e14cfc55a10e25b60e/docs/grammar/SolidityLexer.g4#L234\nconst $871a765ee5e657d2$var$regexIdentifier = new RegExp(\"^[a-zA-Z$_][a-zA-Z0-9$_]*$\");\nfunction $871a765ee5e657d2$var$verifyIdentifier(value) {\n if (!value || !value.match($871a765ee5e657d2$var$regexIdentifier)) $871a765ee5e657d2$var$logger.throwArgumentError(`invalid identifier \"${value}\"`, \"value\", value);\n return value;\n}\nconst $871a765ee5e657d2$var$regexParen = new RegExp(\"^([^)(]*)\\\\((.*)\\\\)([^)(]*)$\");\nfunction $871a765ee5e657d2$var$splitNesting(value) {\n value = value.trim();\n let result = [];\n let accum = \"\";\n let depth = 0;\n for(let offset = 0; offset < value.length; offset++){\n let c = value[offset];\n if (c === \",\" && depth === 0) {\n result.push(accum);\n accum = \"\";\n } else {\n accum += c;\n if (c === \"(\") depth++;\n else if (c === \")\") {\n depth--;\n if (depth === -1) $871a765ee5e657d2$var$logger.throwArgumentError(\"unbalanced parenthesis\", \"value\", value);\n }\n }\n }\n if (accum) result.push(accum);\n return result;\n}\n\n});\n\n\n\nparcelRequire.register(\"iYAoV\", function(module, exports) {\n\n$parcel$export(module.exports, \"pack\", () => $dd0a1119d94e1d6f$export$2a703dbb0cb35339);\n$parcel$export(module.exports, \"keccak256\", () => $dd0a1119d94e1d6f$export$f8151fce47ad1c35);\n$parcel$export(module.exports, \"sha256\", () => $dd0a1119d94e1d6f$export$bced8d2aada2d1c9);\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $2yhyU = parcelRequire(\"2yhyU\");\n\nvar $g67nD = parcelRequire(\"g67nD\");\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $6QiU2 = parcelRequire(\"6QiU2\");\n\"use strict\";\nconst $dd0a1119d94e1d6f$var$regexBytes = new RegExp(\"^bytes([0-9]+)$\");\nconst $dd0a1119d94e1d6f$var$regexNumber = new RegExp(\"^(u?int)([0-9]*)$\");\nconst $dd0a1119d94e1d6f$var$regexArray = new RegExp(\"^(.*)\\\\[([0-9]*)\\\\]$\");\nconst $dd0a1119d94e1d6f$var$Zeros = \"0000000000000000000000000000000000000000000000000000000000000000\";\nconst $dd0a1119d94e1d6f$var$logger = new (0, $d1hml.Logger)((0, $6QiU2.version));\nfunction $dd0a1119d94e1d6f$var$_pack(type, value, isArray) {\n switch(type){\n case \"address\":\n if (isArray) return (0, $aBzgs.zeroPad)(value, 32);\n return (0, $aBzgs.arrayify)(value);\n case \"string\":\n return (0, $fkVsY.toUtf8Bytes)(value);\n case \"bytes\":\n return (0, $aBzgs.arrayify)(value);\n case \"bool\":\n value = value ? \"0x01\" : \"0x00\";\n if (isArray) return (0, $aBzgs.zeroPad)(value, 32);\n return (0, $aBzgs.arrayify)(value);\n }\n let match = type.match($dd0a1119d94e1d6f$var$regexNumber);\n if (match) {\n //let signed = (match[1] === \"int\")\n let size = parseInt(match[2] || \"256\");\n if (match[2] && String(size) !== match[2] || size % 8 !== 0 || size === 0 || size > 256) $dd0a1119d94e1d6f$var$logger.throwArgumentError(\"invalid number type\", \"type\", type);\n if (isArray) size = 256;\n value = (0, $1chjt.BigNumber).from(value).toTwos(size);\n return (0, $aBzgs.zeroPad)(value, size / 8);\n }\n match = type.match($dd0a1119d94e1d6f$var$regexBytes);\n if (match) {\n const size = parseInt(match[1]);\n if (String(size) !== match[1] || size === 0 || size > 32) $dd0a1119d94e1d6f$var$logger.throwArgumentError(\"invalid bytes type\", \"type\", type);\n if ((0, $aBzgs.arrayify)(value).byteLength !== size) $dd0a1119d94e1d6f$var$logger.throwArgumentError(`invalid value for ${type}`, \"value\", value);\n if (isArray) return (0, $aBzgs.arrayify)((value + $dd0a1119d94e1d6f$var$Zeros).substring(0, 66));\n return value;\n }\n match = type.match($dd0a1119d94e1d6f$var$regexArray);\n if (match && Array.isArray(value)) {\n const baseType = match[1];\n const count = parseInt(match[2] || String(value.length));\n if (count != value.length) $dd0a1119d94e1d6f$var$logger.throwArgumentError(`invalid array length for ${type}`, \"value\", value);\n const result = [];\n value.forEach(function(value) {\n result.push($dd0a1119d94e1d6f$var$_pack(baseType, value, true));\n });\n return (0, $aBzgs.concat)(result);\n }\n return $dd0a1119d94e1d6f$var$logger.throwArgumentError(\"invalid type\", \"type\", type);\n}\nfunction $dd0a1119d94e1d6f$export$2a703dbb0cb35339(types, values) {\n if (types.length != values.length) $dd0a1119d94e1d6f$var$logger.throwArgumentError(\"wrong number of values; expected ${ types.length }\", \"values\", values);\n const tight = [];\n types.forEach(function(type, index) {\n tight.push($dd0a1119d94e1d6f$var$_pack(type, values[index]));\n });\n return (0, $aBzgs.hexlify)((0, $aBzgs.concat)(tight));\n}\nfunction $dd0a1119d94e1d6f$export$f8151fce47ad1c35(types, values) {\n return (0, $2yhyU.keccak256)($dd0a1119d94e1d6f$export$2a703dbb0cb35339(types, values));\n}\nfunction $dd0a1119d94e1d6f$export$bced8d2aada2d1c9(types, values) {\n return (0, $g67nD.sha256)($dd0a1119d94e1d6f$export$2a703dbb0cb35339(types, values));\n}\n\n});\nparcelRequire.register(\"g67nD\", function(module, exports) {\n\n$parcel$export(module.exports, \"ripemd160\", () => $bb82ee6f1acbd7c8$export$d1cea0ee4e3f0d3e);\n$parcel$export(module.exports, \"sha256\", () => $bb82ee6f1acbd7c8$export$bced8d2aada2d1c9);\n$parcel$export(module.exports, \"sha512\", () => $bb82ee6f1acbd7c8$export$a888d2532e6dc7bb);\n$parcel$export(module.exports, \"computeHmac\", () => $bb82ee6f1acbd7c8$export$967075d2f3b8e7ff);\n\nvar $kiSKt = parcelRequire(\"kiSKt\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $iLptM = parcelRequire(\"iLptM\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $aF6L7 = parcelRequire(\"aF6L7\");\n\"use strict\";\nconst $bb82ee6f1acbd7c8$var$logger = new (0, $d1hml.Logger)((0, $aF6L7.version));\nfunction $bb82ee6f1acbd7c8$export$d1cea0ee4e3f0d3e(data) {\n return \"0x\" + (0, (/*@__PURE__*/$parcel$interopDefault($kiSKt))).ripemd160().update((0, $aBzgs.arrayify)(data)).digest(\"hex\");\n}\nfunction $bb82ee6f1acbd7c8$export$bced8d2aada2d1c9(data) {\n return \"0x\" + (0, (/*@__PURE__*/$parcel$interopDefault($kiSKt))).sha256().update((0, $aBzgs.arrayify)(data)).digest(\"hex\");\n}\nfunction $bb82ee6f1acbd7c8$export$a888d2532e6dc7bb(data) {\n return \"0x\" + (0, (/*@__PURE__*/$parcel$interopDefault($kiSKt))).sha512().update((0, $aBzgs.arrayify)(data)).digest(\"hex\");\n}\nfunction $bb82ee6f1acbd7c8$export$967075d2f3b8e7ff(algorithm, key, data) {\n if (!(0, $iLptM.SupportedAlgorithm)[algorithm]) $bb82ee6f1acbd7c8$var$logger.throwError(\"unsupported algorithm \" + algorithm, (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"hmac\",\n algorithm: algorithm\n });\n return \"0x\" + (0, (/*@__PURE__*/$parcel$interopDefault($kiSKt))).hmac((0, (/*@__PURE__*/$parcel$interopDefault($kiSKt)))[algorithm], (0, $aBzgs.arrayify)(key)).update((0, $aBzgs.arrayify)(data)).digest(\"hex\");\n}\n\n});\nparcelRequire.register(\"iLptM\", function(module, exports) {\n\n$parcel$export(module.exports, \"SupportedAlgorithm\", () => $da90616c06668669$export$d2a8849cfb277c);\nvar $da90616c06668669$export$d2a8849cfb277c;\n(function(SupportedAlgorithm) {\n SupportedAlgorithm[\"sha256\"] = \"sha256\";\n SupportedAlgorithm[\"sha512\"] = \"sha512\";\n})($da90616c06668669$export$d2a8849cfb277c || ($da90616c06668669$export$d2a8849cfb277c = {}));\n\n});\n\nparcelRequire.register(\"aF6L7\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $7c32f9e80a4a2783$export$83d89fbfd8236492);\nconst $7c32f9e80a4a2783$export$83d89fbfd8236492 = \"sha2/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"6QiU2\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $4fb643241867151c$export$83d89fbfd8236492);\nconst $4fb643241867151c$export$83d89fbfd8236492 = \"solidity/5.7.0\";\n\n});\n\n\n\n\n\nparcelRequire.register(\"86UQU\", function(module, exports) {\n\"use strict\";\nvar $5e7afbf6a5c50af4$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.getCreateCallContractInstance = module.exports.getSignMessageLibContractInstance = module.exports.getSafeProxyFactoryContractInstance = module.exports.getMultiSendCallOnlyContractInstance = module.exports.getMultiSendContractInstance = module.exports.getCompatibilityFallbackHandlerContractInstance = module.exports.getSafeContractInstance = void 0;\n\nvar $140z0 = parcelRequire(\"140z0\");\n\nvar $8Nuj2 = parcelRequire(\"8Nuj2\");\n\nvar $82Wpd = parcelRequire(\"82Wpd\");\n\nvar $d6MDD = parcelRequire(\"d6MDD\");\n\nvar $3o2CW = parcelRequire(\"3o2CW\");\n\nvar $dcuKN = parcelRequire(\"dcuKN\");\n\nvar $7KTUJ = parcelRequire(\"7KTUJ\");\n\nvar $jFirz = parcelRequire(\"jFirz\");\n\nvar $99eEw = parcelRequire(\"99eEw\");\n\nvar $2NOmM = parcelRequire(\"2NOmM\");\n\nvar $51bJz = parcelRequire(\"51bJz\");\n\nvar $j9o7h = parcelRequire(\"j9o7h\");\n\nvar $2Vt7J = parcelRequire(\"2Vt7J\");\n\nconst $5e7afbf6a5c50af4$var$CompatibilityFallbackHandler_V1_3_0_Ethers_1 = $5e7afbf6a5c50af4$var$__importDefault((parcelRequire(\"2vrlu\")));\n\nconst $5e7afbf6a5c50af4$var$CreateCallEthersContract_V1_3_0_Ethers_1 = $5e7afbf6a5c50af4$var$__importDefault((parcelRequire(\"dBXlG\")));\n\nconst $5e7afbf6a5c50af4$var$GnosisSafeContract_V1_0_0_Ethers_1 = $5e7afbf6a5c50af4$var$__importDefault((parcelRequire(\"fv2IJ\")));\n\nconst $5e7afbf6a5c50af4$var$GnosisSafeContract_V1_1_1_Ethers_1 = $5e7afbf6a5c50af4$var$__importDefault((parcelRequire(\"8rERv\")));\n\nconst $5e7afbf6a5c50af4$var$GnosisSafeContract_V1_2_0_Ethers_1 = $5e7afbf6a5c50af4$var$__importDefault((parcelRequire(\"9Zjr6\")));\n\nconst $5e7afbf6a5c50af4$var$GnosisSafeContract_V1_3_0_Ethers_1 = $5e7afbf6a5c50af4$var$__importDefault((parcelRequire(\"4GhFu\")));\n\nconst $5e7afbf6a5c50af4$var$GnosisSafeProxyFactoryContract_V1_0_0_Ethers_1 = $5e7afbf6a5c50af4$var$__importDefault((parcelRequire(\"4DMxy\")));\n\nconst $5e7afbf6a5c50af4$var$GnosisSafeProxyFactoryContract_V1_1_1_Ethers_1 = $5e7afbf6a5c50af4$var$__importDefault((parcelRequire(\"AaKBn\")));\n\nconst $5e7afbf6a5c50af4$var$GnosisSafeProxyFactoryContract_V1_3_0_Ethers_1 = $5e7afbf6a5c50af4$var$__importDefault((parcelRequire(\"7R9Ea\")));\n\nconst $5e7afbf6a5c50af4$var$MultiSendContract_V1_1_1_Ethers_1 = $5e7afbf6a5c50af4$var$__importDefault((parcelRequire(\"9WYg7\")));\n\nconst $5e7afbf6a5c50af4$var$MultiSendContract_V1_3_0_Ethers_1 = $5e7afbf6a5c50af4$var$__importDefault((parcelRequire(\"9ia5V\")));\n\nconst $5e7afbf6a5c50af4$var$MultiSendCallOnlyContract_V1_3_0_Ethers_1 = $5e7afbf6a5c50af4$var$__importDefault((parcelRequire(\"e87Wo\")));\n\nconst $5e7afbf6a5c50af4$var$SignMessageLibContract_V1_3_0_Ethers_1 = $5e7afbf6a5c50af4$var$__importDefault((parcelRequire(\"4nbRm\")));\nfunction $5e7afbf6a5c50af4$var$getSafeContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let safeContract;\n switch(safeVersion){\n case \"1.3.0\":\n safeContract = $jFirz.Gnosis_safe__factory.connect(contractAddress, signerOrProvider);\n return new $5e7afbf6a5c50af4$var$GnosisSafeContract_V1_3_0_Ethers_1.default(safeContract);\n case \"1.2.0\":\n safeContract = $dcuKN.Gnosis_safe__factory.connect(contractAddress, signerOrProvider);\n return new $5e7afbf6a5c50af4$var$GnosisSafeContract_V1_2_0_Ethers_1.default(safeContract);\n case \"1.1.1\":\n safeContract = $82Wpd.Gnosis_safe__factory.connect(contractAddress, signerOrProvider);\n return new $5e7afbf6a5c50af4$var$GnosisSafeContract_V1_1_1_Ethers_1.default(safeContract);\n case \"1.0.0\":\n safeContract = $140z0.Gnosis_safe__factory.connect(contractAddress, signerOrProvider);\n return new $5e7afbf6a5c50af4$var$GnosisSafeContract_V1_0_0_Ethers_1.default(safeContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getSafeContractInstance = $5e7afbf6a5c50af4$var$getSafeContractInstance;\nfunction $5e7afbf6a5c50af4$var$getCompatibilityFallbackHandlerContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let compatibilityFallbackHandlerContract;\n switch(safeVersion){\n case \"1.3.0\":\n case \"1.2.0\":\n case \"1.1.1\":\n compatibilityFallbackHandlerContract = $7KTUJ.Compatibility_fallback_handler__factory.connect(contractAddress, signerOrProvider);\n return new $5e7afbf6a5c50af4$var$CompatibilityFallbackHandler_V1_3_0_Ethers_1.default(compatibilityFallbackHandlerContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getCompatibilityFallbackHandlerContractInstance = $5e7afbf6a5c50af4$var$getCompatibilityFallbackHandlerContractInstance;\nfunction $5e7afbf6a5c50af4$var$getMultiSendContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let multiSendContract;\n switch(safeVersion){\n case \"1.3.0\":\n multiSendContract = $2NOmM.Multi_send__factory.connect(contractAddress, signerOrProvider);\n return new $5e7afbf6a5c50af4$var$MultiSendContract_V1_3_0_Ethers_1.default(multiSendContract);\n case \"1.2.0\":\n case \"1.1.1\":\n case \"1.0.0\":\n multiSendContract = $d6MDD.Multi_send__factory.connect(contractAddress, signerOrProvider);\n return new $5e7afbf6a5c50af4$var$MultiSendContract_V1_1_1_Ethers_1.default(multiSendContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getMultiSendContractInstance = $5e7afbf6a5c50af4$var$getMultiSendContractInstance;\nfunction $5e7afbf6a5c50af4$var$getMultiSendCallOnlyContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let multiSendCallOnlyContract;\n switch(safeVersion){\n case \"1.3.0\":\n case \"1.2.0\":\n case \"1.1.1\":\n case \"1.0.0\":\n multiSendCallOnlyContract = $99eEw.Multi_send_call_only__factory.connect(contractAddress, signerOrProvider);\n return new $5e7afbf6a5c50af4$var$MultiSendCallOnlyContract_V1_3_0_Ethers_1.default(multiSendCallOnlyContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getMultiSendCallOnlyContractInstance = $5e7afbf6a5c50af4$var$getMultiSendCallOnlyContractInstance;\nfunction $5e7afbf6a5c50af4$var$getSafeProxyFactoryContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let gnosisSafeProxyFactoryContract;\n switch(safeVersion){\n case \"1.3.0\":\n gnosisSafeProxyFactoryContract = $51bJz.Proxy_factory__factory.connect(contractAddress, signerOrProvider);\n return new $5e7afbf6a5c50af4$var$GnosisSafeProxyFactoryContract_V1_3_0_Ethers_1.default(gnosisSafeProxyFactoryContract);\n case \"1.2.0\":\n case \"1.1.1\":\n gnosisSafeProxyFactoryContract = $3o2CW.Proxy_factory__factory.connect(contractAddress, signerOrProvider);\n return new $5e7afbf6a5c50af4$var$GnosisSafeProxyFactoryContract_V1_1_1_Ethers_1.default(gnosisSafeProxyFactoryContract);\n case \"1.0.0\":\n gnosisSafeProxyFactoryContract = $8Nuj2.Proxy_factory__factory.connect(contractAddress, signerOrProvider);\n return new $5e7afbf6a5c50af4$var$GnosisSafeProxyFactoryContract_V1_0_0_Ethers_1.default(gnosisSafeProxyFactoryContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getSafeProxyFactoryContractInstance = $5e7afbf6a5c50af4$var$getSafeProxyFactoryContractInstance;\nfunction $5e7afbf6a5c50af4$var$getSignMessageLibContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let signMessageLibContract;\n switch(safeVersion){\n case \"1.3.0\":\n signMessageLibContract = $j9o7h.Sign_message_lib__factory.connect(contractAddress, signerOrProvider);\n return new $5e7afbf6a5c50af4$var$SignMessageLibContract_V1_3_0_Ethers_1.default(signMessageLibContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getSignMessageLibContractInstance = $5e7afbf6a5c50af4$var$getSignMessageLibContractInstance;\nfunction $5e7afbf6a5c50af4$var$getCreateCallContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let createCallContract;\n switch(safeVersion){\n case \"1.3.0\":\n case \"1.2.0\":\n case \"1.1.1\":\n case \"1.0.0\":\n createCallContract = $2Vt7J.Create_call__factory.connect(contractAddress, signerOrProvider);\n return new $5e7afbf6a5c50af4$var$CreateCallEthersContract_V1_3_0_Ethers_1.default(createCallContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getCreateCallContractInstance = $5e7afbf6a5c50af4$var$getCreateCallContractInstance;\n\n});\nparcelRequire.register(\"140z0\", function(module, exports) {\n\"use strict\";\n/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Gnosis_safe__factory = void 0;\n\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1f1He = parcelRequire(\"1f1He\");\nconst $0c669a11061cc1f3$var$_abi = [\n {\n constant: false,\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n },\n {\n name: \"_threshold\",\n type: \"uint256\"\n }\n ],\n name: \"addOwnerWithThreshold\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"DOMAIN_SEPARATOR_TYPEHASH\",\n outputs: [\n {\n name: \"\",\n type: \"bytes32\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"isOwner\",\n outputs: [\n {\n name: \"\",\n type: \"bool\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"value\",\n type: \"uint256\"\n },\n {\n name: \"data\",\n type: \"bytes\"\n },\n {\n name: \"operation\",\n type: \"uint8\"\n }\n ],\n name: \"execTransactionFromModule\",\n outputs: [\n {\n name: \"success\",\n type: \"bool\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n name: \"\",\n type: \"bytes32\"\n }\n ],\n name: \"signedMessages\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"enableModule\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"_threshold\",\n type: \"uint256\"\n }\n ],\n name: \"changeThreshold\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n name: \"\",\n type: \"address\"\n },\n {\n name: \"\",\n type: \"bytes32\"\n }\n ],\n name: \"approvedHashes\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"_masterCopy\",\n type: \"address\"\n }\n ],\n name: \"changeMasterCopy\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"SENTINEL_MODULES\",\n outputs: [\n {\n name: \"\",\n type: \"address\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"SENTINEL_OWNERS\",\n outputs: [\n {\n name: \"\",\n type: \"address\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"getOwners\",\n outputs: [\n {\n name: \"\",\n type: \"address[]\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"NAME\",\n outputs: [\n {\n name: \"\",\n type: \"string\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"nonce\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"getModules\",\n outputs: [\n {\n name: \"\",\n type: \"address[]\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"SAFE_MSG_TYPEHASH\",\n outputs: [\n {\n name: \"\",\n type: \"bytes32\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"SAFE_TX_TYPEHASH\",\n outputs: [\n {\n name: \"\",\n type: \"bytes32\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"prevModule\",\n type: \"address\"\n },\n {\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"disableModule\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"prevOwner\",\n type: \"address\"\n },\n {\n name: \"oldOwner\",\n type: \"address\"\n },\n {\n name: \"newOwner\",\n type: \"address\"\n }\n ],\n name: \"swapOwner\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"getThreshold\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"domainSeparator\",\n outputs: [\n {\n name: \"\",\n type: \"bytes32\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"prevOwner\",\n type: \"address\"\n },\n {\n name: \"owner\",\n type: \"address\"\n },\n {\n name: \"_threshold\",\n type: \"uint256\"\n }\n ],\n name: \"removeOwner\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"VERSION\",\n outputs: [\n {\n name: \"\",\n type: \"string\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n payable: true,\n stateMutability: \"payable\",\n type: \"fallback\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"txHash\",\n type: \"bytes32\"\n }\n ],\n name: \"ExecutionFailed\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"AddedOwner\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"RemovedOwner\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"threshold\",\n type: \"uint256\"\n }\n ],\n name: \"ChangedThreshold\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"EnabledModule\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"DisabledModule\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"newContract\",\n type: \"address\"\n }\n ],\n name: \"ContractCreation\",\n type: \"event\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"_owners\",\n type: \"address[]\"\n },\n {\n name: \"_threshold\",\n type: \"uint256\"\n },\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"data\",\n type: \"bytes\"\n },\n {\n name: \"paymentToken\",\n type: \"address\"\n },\n {\n name: \"payment\",\n type: \"uint256\"\n },\n {\n name: \"paymentReceiver\",\n type: \"address\"\n }\n ],\n name: \"setup\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"value\",\n type: \"uint256\"\n },\n {\n name: \"data\",\n type: \"bytes\"\n },\n {\n name: \"operation\",\n type: \"uint8\"\n },\n {\n name: \"safeTxGas\",\n type: \"uint256\"\n },\n {\n name: \"baseGas\",\n type: \"uint256\"\n },\n {\n name: \"gasPrice\",\n type: \"uint256\"\n },\n {\n name: \"gasToken\",\n type: \"address\"\n },\n {\n name: \"refundReceiver\",\n type: \"address\"\n },\n {\n name: \"signatures\",\n type: \"bytes\"\n }\n ],\n name: \"execTransaction\",\n outputs: [\n {\n name: \"success\",\n type: \"bool\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"value\",\n type: \"uint256\"\n },\n {\n name: \"data\",\n type: \"bytes\"\n },\n {\n name: \"operation\",\n type: \"uint8\"\n }\n ],\n name: \"requiredTxGas\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"hashToApprove\",\n type: \"bytes32\"\n }\n ],\n name: \"approveHash\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"_data\",\n type: \"bytes\"\n }\n ],\n name: \"signMessage\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"_data\",\n type: \"bytes\"\n },\n {\n name: \"_signature\",\n type: \"bytes\"\n }\n ],\n name: \"isValidSignature\",\n outputs: [\n {\n name: \"\",\n type: \"bytes4\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n name: \"message\",\n type: \"bytes\"\n }\n ],\n name: \"getMessageHash\",\n outputs: [\n {\n name: \"\",\n type: \"bytes32\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"value\",\n type: \"uint256\"\n },\n {\n name: \"data\",\n type: \"bytes\"\n },\n {\n name: \"operation\",\n type: \"uint8\"\n },\n {\n name: \"safeTxGas\",\n type: \"uint256\"\n },\n {\n name: \"baseGas\",\n type: \"uint256\"\n },\n {\n name: \"gasPrice\",\n type: \"uint256\"\n },\n {\n name: \"gasToken\",\n type: \"address\"\n },\n {\n name: \"refundReceiver\",\n type: \"address\"\n },\n {\n name: \"_nonce\",\n type: \"uint256\"\n }\n ],\n name: \"encodeTransactionData\",\n outputs: [\n {\n name: \"\",\n type: \"bytes\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n name: \"to\",\n type: \"address\"\n },\n {\n name: \"value\",\n type: \"uint256\"\n },\n {\n name: \"data\",\n type: \"bytes\"\n },\n {\n name: \"operation\",\n type: \"uint8\"\n },\n {\n name: \"safeTxGas\",\n type: \"uint256\"\n },\n {\n name: \"baseGas\",\n type: \"uint256\"\n },\n {\n name: \"gasPrice\",\n type: \"uint256\"\n },\n {\n name: \"gasToken\",\n type: \"address\"\n },\n {\n name: \"refundReceiver\",\n type: \"address\"\n },\n {\n name: \"_nonce\",\n type: \"uint256\"\n }\n ],\n name: \"getTransactionHash\",\n outputs: [\n {\n name: \"\",\n type: \"bytes32\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n }\n];\nclass $0c669a11061cc1f3$var$Gnosis_safe__factory {\n static createInterface() {\n return new $1f1He.Interface($0c669a11061cc1f3$var$_abi);\n }\n static connect(address, signerOrProvider) {\n return new $fP04X.Contract(address, $0c669a11061cc1f3$var$_abi, signerOrProvider);\n }\n}\nmodule.exports.Gnosis_safe__factory = $0c669a11061cc1f3$var$Gnosis_safe__factory;\n$0c669a11061cc1f3$var$Gnosis_safe__factory.abi = $0c669a11061cc1f3$var$_abi;\n\n});\nparcelRequire.register(\"fP04X\", function(module, exports) {\n\n$parcel$export(module.exports, \"BaseContract\", () => $b84bae218d85c3ca$export$304faa4fc17528db);\n$parcel$export(module.exports, \"Contract\", () => $b84bae218d85c3ca$export$8517d80acf00e19a);\n$parcel$export(module.exports, \"ContractFactory\", () => $b84bae218d85c3ca$export$505569a6bf584fd9);\n\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\nvar $kzlBy = parcelRequire(\"kzlBy\");\n\nvar $b6M4l = parcelRequire(\"b6M4l\");\n\nvar $j7x7T = parcelRequire(\"j7x7T\");\n\nvar $bVwUc = parcelRequire(\"bVwUc\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $TyNFl = parcelRequire(\"TyNFl\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $jnIQZ = parcelRequire(\"jnIQZ\");\n\"use strict\";\nvar $b84bae218d85c3ca$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $b84bae218d85c3ca$var$logger = new (0, $d1hml.Logger)((0, $jnIQZ.version));\n///////////////////////////////\nconst $b84bae218d85c3ca$var$allowedTransactionKeys = {\n chainId: true,\n data: true,\n from: true,\n gasLimit: true,\n gasPrice: true,\n nonce: true,\n to: true,\n value: true,\n type: true,\n accessList: true,\n maxFeePerGas: true,\n maxPriorityFeePerGas: true,\n customData: true,\n ccipReadEnabled: true\n};\nfunction $b84bae218d85c3ca$var$resolveName(resolver, nameOrPromise) {\n return $b84bae218d85c3ca$var$__awaiter(this, void 0, void 0, function*() {\n const name = yield nameOrPromise;\n if (typeof name !== \"string\") $b84bae218d85c3ca$var$logger.throwArgumentError(\"invalid address or ENS name\", \"name\", name);\n // If it is already an address, just use it (after adding checksum)\n try {\n return (0, $bVwUc.getAddress)(name);\n } catch (error) {}\n if (!resolver) $b84bae218d85c3ca$var$logger.throwError(\"a provider or signer is needed to resolve ENS names\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"resolveName\"\n });\n const address = yield resolver.resolveName(name);\n if (address == null) $b84bae218d85c3ca$var$logger.throwArgumentError(\"resolver or addr is not configured for ENS name\", \"name\", name);\n return address;\n });\n}\n// Recursively replaces ENS names with promises to resolve the name and resolves all properties\nfunction $b84bae218d85c3ca$var$resolveAddresses(resolver, value, paramType) {\n return $b84bae218d85c3ca$var$__awaiter(this, void 0, void 0, function*() {\n if (Array.isArray(paramType)) return yield Promise.all(paramType.map((paramType, index)=>{\n return $b84bae218d85c3ca$var$resolveAddresses(resolver, Array.isArray(value) ? value[index] : value[paramType.name], paramType);\n }));\n if (paramType.type === \"address\") return yield $b84bae218d85c3ca$var$resolveName(resolver, value);\n if (paramType.type === \"tuple\") return yield $b84bae218d85c3ca$var$resolveAddresses(resolver, value, paramType.components);\n if (paramType.baseType === \"array\") {\n if (!Array.isArray(value)) return Promise.reject($b84bae218d85c3ca$var$logger.makeError(\"invalid value for array\", (0, $d1hml.Logger).errors.INVALID_ARGUMENT, {\n argument: \"value\",\n value: value\n }));\n return yield Promise.all(value.map((v)=>$b84bae218d85c3ca$var$resolveAddresses(resolver, v, paramType.arrayChildren)));\n }\n return value;\n });\n}\nfunction $b84bae218d85c3ca$var$populateTransaction(contract, fragment, args) {\n return $b84bae218d85c3ca$var$__awaiter(this, void 0, void 0, function*() {\n // If an extra argument is given, it is overrides\n let overrides = {};\n if (args.length === fragment.inputs.length + 1 && typeof args[args.length - 1] === \"object\") overrides = (0, $e72ut.shallowCopy)(args.pop());\n // Make sure the parameter count matches\n $b84bae218d85c3ca$var$logger.checkArgumentCount(args.length, fragment.inputs.length, \"passed to contract\");\n // Populate \"from\" override (allow promises)\n if (contract.signer) {\n if (overrides.from) // Contracts with a Signer are from the Signer's frame-of-reference;\n // but we allow overriding \"from\" if it matches the signer\n overrides.from = (0, $e72ut.resolveProperties)({\n override: $b84bae218d85c3ca$var$resolveName(contract.signer, overrides.from),\n signer: contract.signer.getAddress()\n }).then((check)=>$b84bae218d85c3ca$var$__awaiter(this, void 0, void 0, function*() {\n if ((0, $bVwUc.getAddress)(check.signer) !== check.override) $b84bae218d85c3ca$var$logger.throwError(\"Contract with a Signer cannot override from\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.from\"\n });\n return check.override;\n }));\n else overrides.from = contract.signer.getAddress();\n } else if (overrides.from) overrides.from = $b84bae218d85c3ca$var$resolveName(contract.provider, overrides.from);\n // Wait for all dependencies to be resolved (prefer the signer over the provider)\n const resolved = yield (0, $e72ut.resolveProperties)({\n args: $b84bae218d85c3ca$var$resolveAddresses(contract.signer || contract.provider, args, fragment.inputs),\n address: contract.resolvedAddress,\n overrides: (0, $e72ut.resolveProperties)(overrides) || {}\n });\n // The ABI coded transaction\n const data = contract.interface.encodeFunctionData(fragment, resolved.args);\n const tx = {\n data: data,\n to: resolved.address\n };\n // Resolved Overrides\n const ro = resolved.overrides;\n // Populate simple overrides\n if (ro.nonce != null) tx.nonce = (0, $1chjt.BigNumber).from(ro.nonce).toNumber();\n if (ro.gasLimit != null) tx.gasLimit = (0, $1chjt.BigNumber).from(ro.gasLimit);\n if (ro.gasPrice != null) tx.gasPrice = (0, $1chjt.BigNumber).from(ro.gasPrice);\n if (ro.maxFeePerGas != null) tx.maxFeePerGas = (0, $1chjt.BigNumber).from(ro.maxFeePerGas);\n if (ro.maxPriorityFeePerGas != null) tx.maxPriorityFeePerGas = (0, $1chjt.BigNumber).from(ro.maxPriorityFeePerGas);\n if (ro.from != null) tx.from = ro.from;\n if (ro.type != null) tx.type = ro.type;\n if (ro.accessList != null) tx.accessList = (0, $TyNFl.accessListify)(ro.accessList);\n // If there was no \"gasLimit\" override, but the ABI specifies a default, use it\n if (tx.gasLimit == null && fragment.gas != null) {\n // Compute the intrinsic gas cost for this transaction\n // @TODO: This is based on the yellow paper as of Petersburg; this is something\n // we may wish to parameterize in v6 as part of the Network object. Since this\n // is always a non-nil to address, we can ignore G_create, but may wish to add\n // similar logic to the ContractFactory.\n let intrinsic = 21000;\n const bytes = (0, $aBzgs.arrayify)(data);\n for(let i = 0; i < bytes.length; i++){\n intrinsic += 4;\n if (bytes[i]) intrinsic += 64;\n }\n tx.gasLimit = (0, $1chjt.BigNumber).from(fragment.gas).add(intrinsic);\n }\n // Populate \"value\" override\n if (ro.value) {\n const roValue = (0, $1chjt.BigNumber).from(ro.value);\n if (!roValue.isZero() && !fragment.payable) $b84bae218d85c3ca$var$logger.throwError(\"non-payable method cannot override value\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.value\",\n value: overrides.value\n });\n tx.value = roValue;\n }\n if (ro.customData) tx.customData = (0, $e72ut.shallowCopy)(ro.customData);\n if (ro.ccipReadEnabled) tx.ccipReadEnabled = !!ro.ccipReadEnabled;\n // Remove the overrides\n delete overrides.nonce;\n delete overrides.gasLimit;\n delete overrides.gasPrice;\n delete overrides.from;\n delete overrides.value;\n delete overrides.type;\n delete overrides.accessList;\n delete overrides.maxFeePerGas;\n delete overrides.maxPriorityFeePerGas;\n delete overrides.customData;\n delete overrides.ccipReadEnabled;\n // Make sure there are no stray overrides, which may indicate a\n // typo or using an unsupported key.\n const leftovers = Object.keys(overrides).filter((key)=>overrides[key] != null);\n if (leftovers.length) $b84bae218d85c3ca$var$logger.throwError(`cannot override ${leftovers.map((l)=>JSON.stringify(l)).join(\",\")}`, (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides\",\n overrides: leftovers\n });\n return tx;\n });\n}\nfunction $b84bae218d85c3ca$var$buildPopulate(contract, fragment) {\n return function(...args) {\n return $b84bae218d85c3ca$var$populateTransaction(contract, fragment, args);\n };\n}\nfunction $b84bae218d85c3ca$var$buildEstimate(contract, fragment) {\n const signerOrProvider = contract.signer || contract.provider;\n return function(...args) {\n return $b84bae218d85c3ca$var$__awaiter(this, void 0, void 0, function*() {\n if (!signerOrProvider) $b84bae218d85c3ca$var$logger.throwError(\"estimate require a provider or signer\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"estimateGas\"\n });\n const tx = yield $b84bae218d85c3ca$var$populateTransaction(contract, fragment, args);\n return yield signerOrProvider.estimateGas(tx);\n });\n };\n}\nfunction $b84bae218d85c3ca$var$addContractWait(contract, tx) {\n const wait = tx.wait.bind(tx);\n tx.wait = (confirmations)=>{\n return wait(confirmations).then((receipt)=>{\n receipt.events = receipt.logs.map((log)=>{\n let event = (0, $e72ut.deepCopy)(log);\n let parsed = null;\n try {\n parsed = contract.interface.parseLog(log);\n } catch (e) {}\n // Successfully parsed the event log; include it\n if (parsed) {\n event.args = parsed.args;\n event.decode = (data, topics)=>{\n return contract.interface.decodeEventLog(parsed.eventFragment, data, topics);\n };\n event.event = parsed.name;\n event.eventSignature = parsed.signature;\n }\n // Useful operations\n event.removeListener = ()=>{\n return contract.provider;\n };\n event.getBlock = ()=>{\n return contract.provider.getBlock(receipt.blockHash);\n };\n event.getTransaction = ()=>{\n return contract.provider.getTransaction(receipt.transactionHash);\n };\n event.getTransactionReceipt = ()=>{\n return Promise.resolve(receipt);\n };\n return event;\n });\n return receipt;\n });\n };\n}\nfunction $b84bae218d85c3ca$var$buildCall(contract, fragment, collapseSimple) {\n const signerOrProvider = contract.signer || contract.provider;\n return function(...args) {\n return $b84bae218d85c3ca$var$__awaiter(this, void 0, void 0, function*() {\n // Extract the \"blockTag\" override if present\n let blockTag = undefined;\n if (args.length === fragment.inputs.length + 1 && typeof args[args.length - 1] === \"object\") {\n const overrides = (0, $e72ut.shallowCopy)(args.pop());\n if (overrides.blockTag != null) blockTag = yield overrides.blockTag;\n delete overrides.blockTag;\n args.push(overrides);\n }\n // If the contract was just deployed, wait until it is mined\n if (contract.deployTransaction != null) yield contract._deployed(blockTag);\n // Call a node and get the result\n const tx = yield $b84bae218d85c3ca$var$populateTransaction(contract, fragment, args);\n const result = yield signerOrProvider.call(tx, blockTag);\n try {\n let value = contract.interface.decodeFunctionResult(fragment, result);\n if (collapseSimple && fragment.outputs.length === 1) value = value[0];\n return value;\n } catch (error) {\n if (error.code === (0, $d1hml.Logger).errors.CALL_EXCEPTION) {\n error.address = contract.address;\n error.args = args;\n error.transaction = tx;\n }\n throw error;\n }\n });\n };\n}\nfunction $b84bae218d85c3ca$var$buildSend(contract, fragment) {\n return function(...args) {\n return $b84bae218d85c3ca$var$__awaiter(this, void 0, void 0, function*() {\n if (!contract.signer) $b84bae218d85c3ca$var$logger.throwError(\"sending a transaction requires a signer\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"sendTransaction\"\n });\n // If the contract was just deployed, wait until it is mined\n if (contract.deployTransaction != null) yield contract._deployed();\n const txRequest = yield $b84bae218d85c3ca$var$populateTransaction(contract, fragment, args);\n const tx = yield contract.signer.sendTransaction(txRequest);\n // Tweak the tx.wait so the receipt has extra properties\n $b84bae218d85c3ca$var$addContractWait(contract, tx);\n return tx;\n });\n };\n}\nfunction $b84bae218d85c3ca$var$buildDefault(contract, fragment, collapseSimple) {\n if (fragment.constant) return $b84bae218d85c3ca$var$buildCall(contract, fragment, collapseSimple);\n return $b84bae218d85c3ca$var$buildSend(contract, fragment);\n}\nfunction $b84bae218d85c3ca$var$getEventTag(filter) {\n if (filter.address && (filter.topics == null || filter.topics.length === 0)) return \"*\";\n return (filter.address || \"*\") + \"@\" + (filter.topics ? filter.topics.map((topic)=>{\n if (Array.isArray(topic)) return topic.join(\"|\");\n return topic;\n }).join(\":\") : \"\");\n}\nclass $b84bae218d85c3ca$var$RunningEvent {\n constructor(tag, filter){\n (0, $e72ut.defineReadOnly)(this, \"tag\", tag);\n (0, $e72ut.defineReadOnly)(this, \"filter\", filter);\n this._listeners = [];\n }\n addListener(listener, once) {\n this._listeners.push({\n listener: listener,\n once: once\n });\n }\n removeListener(listener) {\n let done = false;\n this._listeners = this._listeners.filter((item)=>{\n if (done || item.listener !== listener) return true;\n done = true;\n return false;\n });\n }\n removeAllListeners() {\n this._listeners = [];\n }\n listeners() {\n return this._listeners.map((i)=>i.listener);\n }\n listenerCount() {\n return this._listeners.length;\n }\n run(args) {\n const listenerCount = this.listenerCount();\n this._listeners = this._listeners.filter((item)=>{\n const argsCopy = args.slice();\n // Call the callback in the next event loop\n setTimeout(()=>{\n item.listener.apply(this, argsCopy);\n }, 0);\n // Reschedule it if it not \"once\"\n return !item.once;\n });\n return listenerCount;\n }\n prepareEvent(event) {}\n // Returns the array that will be applied to an emit\n getEmit(event) {\n return [\n event\n ];\n }\n}\nclass $b84bae218d85c3ca$var$ErrorRunningEvent extends $b84bae218d85c3ca$var$RunningEvent {\n constructor(){\n super(\"error\", null);\n }\n}\n// @TODO Fragment should inherit Wildcard? and just override getEmit?\n// or have a common abstract super class, with enough constructor\n// options to configure both.\n// A Fragment Event will populate all the properties that Wildcard\n// will, and additionally dereference the arguments when emitting\nclass $b84bae218d85c3ca$var$FragmentRunningEvent extends $b84bae218d85c3ca$var$RunningEvent {\n constructor(address, contractInterface, fragment, topics){\n const filter = {\n address: address\n };\n let topic = contractInterface.getEventTopic(fragment);\n if (topics) {\n if (topic !== topics[0]) $b84bae218d85c3ca$var$logger.throwArgumentError(\"topic mismatch\", \"topics\", topics);\n filter.topics = topics.slice();\n } else filter.topics = [\n topic\n ];\n super($b84bae218d85c3ca$var$getEventTag(filter), filter);\n (0, $e72ut.defineReadOnly)(this, \"address\", address);\n (0, $e72ut.defineReadOnly)(this, \"interface\", contractInterface);\n (0, $e72ut.defineReadOnly)(this, \"fragment\", fragment);\n }\n prepareEvent(event) {\n super.prepareEvent(event);\n event.event = this.fragment.name;\n event.eventSignature = this.fragment.format();\n event.decode = (data, topics)=>{\n return this.interface.decodeEventLog(this.fragment, data, topics);\n };\n try {\n event.args = this.interface.decodeEventLog(this.fragment, event.data, event.topics);\n } catch (error) {\n event.args = null;\n event.decodeError = error;\n }\n }\n getEmit(event) {\n const errors = (0, $3Mwuv.checkResultErrors)(event.args);\n if (errors.length) throw errors[0].error;\n const args = (event.args || []).slice();\n args.push(event);\n return args;\n }\n}\n// A Wildcard Event will attempt to populate:\n// - event The name of the event name\n// - eventSignature The full signature of the event\n// - decode A function to decode data and topics\n// - args The decoded data and topics\nclass $b84bae218d85c3ca$var$WildcardRunningEvent extends $b84bae218d85c3ca$var$RunningEvent {\n constructor(address, contractInterface){\n super(\"*\", {\n address: address\n });\n (0, $e72ut.defineReadOnly)(this, \"address\", address);\n (0, $e72ut.defineReadOnly)(this, \"interface\", contractInterface);\n }\n prepareEvent(event) {\n super.prepareEvent(event);\n try {\n const parsed = this.interface.parseLog(event);\n event.event = parsed.name;\n event.eventSignature = parsed.signature;\n event.decode = (data, topics)=>{\n return this.interface.decodeEventLog(parsed.eventFragment, data, topics);\n };\n event.args = parsed.args;\n } catch (error) {\n // No matching event\n }\n }\n}\nclass $b84bae218d85c3ca$export$304faa4fc17528db {\n constructor(addressOrName, contractInterface, signerOrProvider){\n // @TODO: Maybe still check the addressOrName looks like a valid address or name?\n //address = getAddress(address);\n (0, $e72ut.defineReadOnly)(this, \"interface\", (0, $e72ut.getStatic)(new.target, \"getInterface\")(contractInterface));\n if (signerOrProvider == null) {\n (0, $e72ut.defineReadOnly)(this, \"provider\", null);\n (0, $e72ut.defineReadOnly)(this, \"signer\", null);\n } else if ((0, $j7x7T.Signer).isSigner(signerOrProvider)) {\n (0, $e72ut.defineReadOnly)(this, \"provider\", signerOrProvider.provider || null);\n (0, $e72ut.defineReadOnly)(this, \"signer\", signerOrProvider);\n } else if ((0, $b6M4l.Provider).isProvider(signerOrProvider)) {\n (0, $e72ut.defineReadOnly)(this, \"provider\", signerOrProvider);\n (0, $e72ut.defineReadOnly)(this, \"signer\", null);\n } else $b84bae218d85c3ca$var$logger.throwArgumentError(\"invalid signer or provider\", \"signerOrProvider\", signerOrProvider);\n (0, $e72ut.defineReadOnly)(this, \"callStatic\", {});\n (0, $e72ut.defineReadOnly)(this, \"estimateGas\", {});\n (0, $e72ut.defineReadOnly)(this, \"functions\", {});\n (0, $e72ut.defineReadOnly)(this, \"populateTransaction\", {});\n (0, $e72ut.defineReadOnly)(this, \"filters\", {});\n {\n const uniqueFilters = {};\n Object.keys(this.interface.events).forEach((eventSignature)=>{\n const event = this.interface.events[eventSignature];\n (0, $e72ut.defineReadOnly)(this.filters, eventSignature, (...args)=>{\n return {\n address: this.address,\n topics: this.interface.encodeFilterTopics(event, args)\n };\n });\n if (!uniqueFilters[event.name]) uniqueFilters[event.name] = [];\n uniqueFilters[event.name].push(eventSignature);\n });\n Object.keys(uniqueFilters).forEach((name)=>{\n const filters = uniqueFilters[name];\n if (filters.length === 1) (0, $e72ut.defineReadOnly)(this.filters, name, this.filters[filters[0]]);\n else $b84bae218d85c3ca$var$logger.warn(`Duplicate definition of ${name} (${filters.join(\", \")})`);\n });\n }\n (0, $e72ut.defineReadOnly)(this, \"_runningEvents\", {});\n (0, $e72ut.defineReadOnly)(this, \"_wrappedEmits\", {});\n if (addressOrName == null) $b84bae218d85c3ca$var$logger.throwArgumentError(\"invalid contract address or ENS name\", \"addressOrName\", addressOrName);\n (0, $e72ut.defineReadOnly)(this, \"address\", addressOrName);\n if (this.provider) (0, $e72ut.defineReadOnly)(this, \"resolvedAddress\", $b84bae218d85c3ca$var$resolveName(this.provider, addressOrName));\n else try {\n (0, $e72ut.defineReadOnly)(this, \"resolvedAddress\", Promise.resolve((0, $bVwUc.getAddress)(addressOrName)));\n } catch (error) {\n // Without a provider, we cannot use ENS names\n $b84bae218d85c3ca$var$logger.throwError(\"provider is required to use ENS name as contract address\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"new Contract\"\n });\n }\n // Swallow bad ENS names to prevent Unhandled Exceptions\n this.resolvedAddress.catch((e)=>{});\n const uniqueNames = {};\n const uniqueSignatures = {};\n Object.keys(this.interface.functions).forEach((signature)=>{\n const fragment = this.interface.functions[signature];\n // Check that the signature is unique; if not the ABI generation has\n // not been cleaned or may be incorrectly generated\n if (uniqueSignatures[signature]) {\n $b84bae218d85c3ca$var$logger.warn(`Duplicate ABI entry for ${JSON.stringify(signature)}`);\n return;\n }\n uniqueSignatures[signature] = true;\n // Track unique names; we only expose bare named functions if they\n // are ambiguous\n {\n const name = fragment.name;\n if (!uniqueNames[`%${name}`]) uniqueNames[`%${name}`] = [];\n uniqueNames[`%${name}`].push(signature);\n }\n if (this[signature] == null) (0, $e72ut.defineReadOnly)(this, signature, $b84bae218d85c3ca$var$buildDefault(this, fragment, true));\n // We do not collapse simple calls on this bucket, which allows\n // frameworks to safely use this without introspection as well as\n // allows decoding error recovery.\n if (this.functions[signature] == null) (0, $e72ut.defineReadOnly)(this.functions, signature, $b84bae218d85c3ca$var$buildDefault(this, fragment, false));\n if (this.callStatic[signature] == null) (0, $e72ut.defineReadOnly)(this.callStatic, signature, $b84bae218d85c3ca$var$buildCall(this, fragment, true));\n if (this.populateTransaction[signature] == null) (0, $e72ut.defineReadOnly)(this.populateTransaction, signature, $b84bae218d85c3ca$var$buildPopulate(this, fragment));\n if (this.estimateGas[signature] == null) (0, $e72ut.defineReadOnly)(this.estimateGas, signature, $b84bae218d85c3ca$var$buildEstimate(this, fragment));\n });\n Object.keys(uniqueNames).forEach((name)=>{\n // Ambiguous names to not get attached as bare names\n const signatures = uniqueNames[name];\n if (signatures.length > 1) return;\n // Strip off the leading \"%\" used for prototype protection\n name = name.substring(1);\n const signature = signatures[0];\n // If overwriting a member property that is null, swallow the error\n try {\n if (this[name] == null) (0, $e72ut.defineReadOnly)(this, name, this[signature]);\n } catch (e) {}\n if (this.functions[name] == null) (0, $e72ut.defineReadOnly)(this.functions, name, this.functions[signature]);\n if (this.callStatic[name] == null) (0, $e72ut.defineReadOnly)(this.callStatic, name, this.callStatic[signature]);\n if (this.populateTransaction[name] == null) (0, $e72ut.defineReadOnly)(this.populateTransaction, name, this.populateTransaction[signature]);\n if (this.estimateGas[name] == null) (0, $e72ut.defineReadOnly)(this.estimateGas, name, this.estimateGas[signature]);\n });\n }\n static getContractAddress(transaction) {\n return (0, $bVwUc.getContractAddress)(transaction);\n }\n static getInterface(contractInterface) {\n if ((0, $kzlBy.Interface).isInterface(contractInterface)) return contractInterface;\n return new (0, $kzlBy.Interface)(contractInterface);\n }\n // @TODO: Allow timeout?\n deployed() {\n return this._deployed();\n }\n _deployed(blockTag) {\n if (!this._deployedPromise) {\n // If we were just deployed, we know the transaction we should occur in\n if (this.deployTransaction) this._deployedPromise = this.deployTransaction.wait().then(()=>{\n return this;\n });\n else // @TODO: Once we allow a timeout to be passed in, we will wait\n // up to that many blocks for getCode\n // Otherwise, poll for our code to be deployed\n this._deployedPromise = this.provider.getCode(this.address, blockTag).then((code)=>{\n if (code === \"0x\") $b84bae218d85c3ca$var$logger.throwError(\"contract not deployed\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n contractAddress: this.address,\n operation: \"getDeployed\"\n });\n return this;\n });\n }\n return this._deployedPromise;\n }\n // @TODO:\n // estimateFallback(overrides?: TransactionRequest): Promise\n // @TODO:\n // estimateDeploy(bytecode: string, ...args): Promise\n fallback(overrides) {\n if (!this.signer) $b84bae218d85c3ca$var$logger.throwError(\"sending a transactions require a signer\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"sendTransaction(fallback)\"\n });\n const tx = (0, $e72ut.shallowCopy)(overrides || {});\n [\n \"from\",\n \"to\"\n ].forEach(function(key) {\n if (tx[key] == null) return;\n $b84bae218d85c3ca$var$logger.throwError(\"cannot override \" + key, (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: key\n });\n });\n tx.to = this.resolvedAddress;\n return this.deployed().then(()=>{\n return this.signer.sendTransaction(tx);\n });\n }\n // Reconnect to a different signer or provider\n connect(signerOrProvider) {\n if (typeof signerOrProvider === \"string\") signerOrProvider = new (0, $j7x7T.VoidSigner)(signerOrProvider, this.provider);\n const contract = new this.constructor(this.address, this.interface, signerOrProvider);\n if (this.deployTransaction) (0, $e72ut.defineReadOnly)(contract, \"deployTransaction\", this.deployTransaction);\n return contract;\n }\n // Re-attach to a different on-chain instance of this contract\n attach(addressOrName) {\n return new this.constructor(addressOrName, this.interface, this.signer || this.provider);\n }\n static isIndexed(value) {\n return (0, $kzlBy.Indexed).isIndexed(value);\n }\n _normalizeRunningEvent(runningEvent) {\n // Already have an instance of this event running; we can re-use it\n if (this._runningEvents[runningEvent.tag]) return this._runningEvents[runningEvent.tag];\n return runningEvent;\n }\n _getRunningEvent(eventName) {\n if (typeof eventName === \"string\") {\n // Listen for \"error\" events (if your contract has an error event, include\n // the full signature to bypass this special event keyword)\n if (eventName === \"error\") return this._normalizeRunningEvent(new $b84bae218d85c3ca$var$ErrorRunningEvent());\n // Listen for any event that is registered\n if (eventName === \"event\") return this._normalizeRunningEvent(new $b84bae218d85c3ca$var$RunningEvent(\"event\", null));\n // Listen for any event\n if (eventName === \"*\") return this._normalizeRunningEvent(new $b84bae218d85c3ca$var$WildcardRunningEvent(this.address, this.interface));\n // Get the event Fragment (throws if ambiguous/unknown event)\n const fragment = this.interface.getEvent(eventName);\n return this._normalizeRunningEvent(new $b84bae218d85c3ca$var$FragmentRunningEvent(this.address, this.interface, fragment));\n }\n // We have topics to filter by...\n if (eventName.topics && eventName.topics.length > 0) {\n // Is it a known topichash? (throws if no matching topichash)\n try {\n const topic = eventName.topics[0];\n if (typeof topic !== \"string\") throw new Error(\"invalid topic\"); // @TODO: May happen for anonymous events\n const fragment = this.interface.getEvent(topic);\n return this._normalizeRunningEvent(new $b84bae218d85c3ca$var$FragmentRunningEvent(this.address, this.interface, fragment, eventName.topics));\n } catch (error) {}\n // Filter by the unknown topichash\n const filter = {\n address: this.address,\n topics: eventName.topics\n };\n return this._normalizeRunningEvent(new $b84bae218d85c3ca$var$RunningEvent($b84bae218d85c3ca$var$getEventTag(filter), filter));\n }\n return this._normalizeRunningEvent(new $b84bae218d85c3ca$var$WildcardRunningEvent(this.address, this.interface));\n }\n _checkRunningEvents(runningEvent) {\n if (runningEvent.listenerCount() === 0) {\n delete this._runningEvents[runningEvent.tag];\n // If we have a poller for this, remove it\n const emit = this._wrappedEmits[runningEvent.tag];\n if (emit && runningEvent.filter) {\n this.provider.off(runningEvent.filter, emit);\n delete this._wrappedEmits[runningEvent.tag];\n }\n }\n }\n // Subclasses can override this to gracefully recover\n // from parse errors if they wish\n _wrapEvent(runningEvent, log, listener) {\n const event = (0, $e72ut.deepCopy)(log);\n event.removeListener = ()=>{\n if (!listener) return;\n runningEvent.removeListener(listener);\n this._checkRunningEvents(runningEvent);\n };\n event.getBlock = ()=>{\n return this.provider.getBlock(log.blockHash);\n };\n event.getTransaction = ()=>{\n return this.provider.getTransaction(log.transactionHash);\n };\n event.getTransactionReceipt = ()=>{\n return this.provider.getTransactionReceipt(log.transactionHash);\n };\n // This may throw if the topics and data mismatch the signature\n runningEvent.prepareEvent(event);\n return event;\n }\n _addEventListener(runningEvent, listener, once) {\n if (!this.provider) $b84bae218d85c3ca$var$logger.throwError(\"events require a provider or a signer with a provider\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"once\"\n });\n runningEvent.addListener(listener, once);\n // Track this running event and its listeners (may already be there; but no hard in updating)\n this._runningEvents[runningEvent.tag] = runningEvent;\n // If we are not polling the provider, start polling\n if (!this._wrappedEmits[runningEvent.tag]) {\n const wrappedEmit = (log)=>{\n let event = this._wrapEvent(runningEvent, log, listener);\n // Try to emit the result for the parameterized event...\n if (event.decodeError == null) try {\n const args = runningEvent.getEmit(event);\n this.emit(runningEvent.filter, ...args);\n } catch (error) {\n event.decodeError = error.error;\n }\n // Always emit \"event\" for fragment-base events\n if (runningEvent.filter != null) this.emit(\"event\", event);\n // Emit \"error\" if there was an error\n if (event.decodeError != null) this.emit(\"error\", event.decodeError, event);\n };\n this._wrappedEmits[runningEvent.tag] = wrappedEmit;\n // Special events, like \"error\" do not have a filter\n if (runningEvent.filter != null) this.provider.on(runningEvent.filter, wrappedEmit);\n }\n }\n queryFilter(event, fromBlockOrBlockhash, toBlock) {\n const runningEvent = this._getRunningEvent(event);\n const filter = (0, $e72ut.shallowCopy)(runningEvent.filter);\n if (typeof fromBlockOrBlockhash === \"string\" && (0, $aBzgs.isHexString)(fromBlockOrBlockhash, 32)) {\n if (toBlock != null) $b84bae218d85c3ca$var$logger.throwArgumentError(\"cannot specify toBlock with blockhash\", \"toBlock\", toBlock);\n filter.blockHash = fromBlockOrBlockhash;\n } else {\n filter.fromBlock = fromBlockOrBlockhash != null ? fromBlockOrBlockhash : 0;\n filter.toBlock = toBlock != null ? toBlock : \"latest\";\n }\n return this.provider.getLogs(filter).then((logs)=>{\n return logs.map((log)=>this._wrapEvent(runningEvent, log, null));\n });\n }\n on(event, listener) {\n this._addEventListener(this._getRunningEvent(event), listener, false);\n return this;\n }\n once(event, listener) {\n this._addEventListener(this._getRunningEvent(event), listener, true);\n return this;\n }\n emit(eventName, ...args) {\n if (!this.provider) return false;\n const runningEvent = this._getRunningEvent(eventName);\n const result = runningEvent.run(args) > 0;\n // May have drained all the \"once\" events; check for living events\n this._checkRunningEvents(runningEvent);\n return result;\n }\n listenerCount(eventName) {\n if (!this.provider) return 0;\n if (eventName == null) return Object.keys(this._runningEvents).reduce((accum, key)=>{\n return accum + this._runningEvents[key].listenerCount();\n }, 0);\n return this._getRunningEvent(eventName).listenerCount();\n }\n listeners(eventName) {\n if (!this.provider) return [];\n if (eventName == null) {\n const result = [];\n for(let tag in this._runningEvents)this._runningEvents[tag].listeners().forEach((listener)=>{\n result.push(listener);\n });\n return result;\n }\n return this._getRunningEvent(eventName).listeners();\n }\n removeAllListeners(eventName) {\n if (!this.provider) return this;\n if (eventName == null) {\n for(const tag in this._runningEvents){\n const runningEvent = this._runningEvents[tag];\n runningEvent.removeAllListeners();\n this._checkRunningEvents(runningEvent);\n }\n return this;\n }\n // Delete any listeners\n const runningEvent = this._getRunningEvent(eventName);\n runningEvent.removeAllListeners();\n this._checkRunningEvents(runningEvent);\n return this;\n }\n off(eventName, listener) {\n if (!this.provider) return this;\n const runningEvent = this._getRunningEvent(eventName);\n runningEvent.removeListener(listener);\n this._checkRunningEvents(runningEvent);\n return this;\n }\n removeListener(eventName, listener) {\n return this.off(eventName, listener);\n }\n}\nclass $b84bae218d85c3ca$export$8517d80acf00e19a extends $b84bae218d85c3ca$export$304faa4fc17528db {\n}\nclass $b84bae218d85c3ca$export$505569a6bf584fd9 {\n constructor(contractInterface, bytecode, signer){\n let bytecodeHex = null;\n if (typeof bytecode === \"string\") bytecodeHex = bytecode;\n else if ((0, $aBzgs.isBytes)(bytecode)) bytecodeHex = (0, $aBzgs.hexlify)(bytecode);\n else if (bytecode && typeof bytecode.object === \"string\") // Allow the bytecode object from the Solidity compiler\n bytecodeHex = bytecode.object;\n else // Crash in the next verification step\n bytecodeHex = \"!\";\n // Make sure it is 0x prefixed\n if (bytecodeHex.substring(0, 2) !== \"0x\") bytecodeHex = \"0x\" + bytecodeHex;\n // Make sure the final result is valid bytecode\n if (!(0, $aBzgs.isHexString)(bytecodeHex) || bytecodeHex.length % 2) $b84bae218d85c3ca$var$logger.throwArgumentError(\"invalid bytecode\", \"bytecode\", bytecode);\n // If we have a signer, make sure it is valid\n if (signer && !(0, $j7x7T.Signer).isSigner(signer)) $b84bae218d85c3ca$var$logger.throwArgumentError(\"invalid signer\", \"signer\", signer);\n (0, $e72ut.defineReadOnly)(this, \"bytecode\", bytecodeHex);\n (0, $e72ut.defineReadOnly)(this, \"interface\", (0, $e72ut.getStatic)(new.target, \"getInterface\")(contractInterface));\n (0, $e72ut.defineReadOnly)(this, \"signer\", signer || null);\n }\n // @TODO: Future; rename to populateTransaction?\n getDeployTransaction(...args) {\n let tx = {};\n // If we have 1 additional argument, we allow transaction overrides\n if (args.length === this.interface.deploy.inputs.length + 1 && typeof args[args.length - 1] === \"object\") {\n tx = (0, $e72ut.shallowCopy)(args.pop());\n for(const key in tx){\n if (!$b84bae218d85c3ca$var$allowedTransactionKeys[key]) throw new Error(\"unknown transaction override \" + key);\n }\n }\n // Do not allow these to be overridden in a deployment transaction\n [\n \"data\",\n \"from\",\n \"to\"\n ].forEach((key)=>{\n if (tx[key] == null) return;\n $b84bae218d85c3ca$var$logger.throwError(\"cannot override \" + key, (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: key\n });\n });\n if (tx.value) {\n const value = (0, $1chjt.BigNumber).from(tx.value);\n if (!value.isZero() && !this.interface.deploy.payable) $b84bae218d85c3ca$var$logger.throwError(\"non-payable constructor cannot override value\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.value\",\n value: tx.value\n });\n }\n // Make sure the call matches the constructor signature\n $b84bae218d85c3ca$var$logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, \" in Contract constructor\");\n // Set the data to the bytecode + the encoded constructor arguments\n tx.data = (0, $aBzgs.hexlify)((0, $aBzgs.concat)([\n this.bytecode,\n this.interface.encodeDeploy(args)\n ]));\n return tx;\n }\n deploy(...args) {\n return $b84bae218d85c3ca$var$__awaiter(this, void 0, void 0, function*() {\n let overrides = {};\n // If 1 extra parameter was passed in, it contains overrides\n if (args.length === this.interface.deploy.inputs.length + 1) overrides = args.pop();\n // Make sure the call matches the constructor signature\n $b84bae218d85c3ca$var$logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, \" in Contract constructor\");\n // Resolve ENS names and promises in the arguments\n const params = yield $b84bae218d85c3ca$var$resolveAddresses(this.signer, args, this.interface.deploy.inputs);\n params.push(overrides);\n // Get the deployment transaction (with optional overrides)\n const unsignedTx = this.getDeployTransaction(...params);\n // Send the deployment transaction\n const tx = yield this.signer.sendTransaction(unsignedTx);\n const address = (0, $e72ut.getStatic)(this.constructor, \"getContractAddress\")(tx);\n const contract = (0, $e72ut.getStatic)(this.constructor, \"getContract\")(address, this.interface, this.signer);\n // Add the modified wait that wraps events\n $b84bae218d85c3ca$var$addContractWait(contract, tx);\n (0, $e72ut.defineReadOnly)(contract, \"deployTransaction\", tx);\n return contract;\n });\n }\n attach(address) {\n return this.constructor.getContract(address, this.interface, this.signer);\n }\n connect(signer) {\n return new this.constructor(this.interface, this.bytecode, signer);\n }\n static fromSolidity(compilerOutput, signer) {\n if (compilerOutput == null) $b84bae218d85c3ca$var$logger.throwError(\"missing compiler output\", (0, $d1hml.Logger).errors.MISSING_ARGUMENT, {\n argument: \"compilerOutput\"\n });\n if (typeof compilerOutput === \"string\") compilerOutput = JSON.parse(compilerOutput);\n const abi = compilerOutput.abi;\n let bytecode = null;\n if (compilerOutput.bytecode) bytecode = compilerOutput.bytecode;\n else if (compilerOutput.evm && compilerOutput.evm.bytecode) bytecode = compilerOutput.evm.bytecode;\n return new this(abi, bytecode, signer);\n }\n static getInterface(contractInterface) {\n return $b84bae218d85c3ca$export$8517d80acf00e19a.getInterface(contractInterface);\n }\n static getContractAddress(tx) {\n return (0, $bVwUc.getContractAddress)(tx);\n }\n static getContract(address, contractInterface, signer) {\n return new $b84bae218d85c3ca$export$8517d80acf00e19a(address, contractInterface, signer);\n }\n}\n\n});\nparcelRequire.register(\"b6M4l\", function(module, exports) {\n\n$parcel$export(module.exports, \"ForkEvent\", () => $81658ac0a17fba50$export$406ece1549ccd00e);\n$parcel$export(module.exports, \"Provider\", () => $81658ac0a17fba50$export$2881499e37b75b9a);\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $apA7Z = parcelRequire(\"apA7Z\");\n\"use strict\";\nvar $81658ac0a17fba50$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $81658ac0a17fba50$var$logger = new (0, $d1hml.Logger)((0, $apA7Z.version));\nclass $81658ac0a17fba50$export$406ece1549ccd00e extends (0, $e72ut.Description) {\n static isForkEvent(value) {\n return !!(value && value._isForkEvent);\n }\n}\nclass $81658ac0a17fba50$export$5b2cada8494f9d99 extends $81658ac0a17fba50$export$406ece1549ccd00e {\n constructor(blockHash, expiry){\n if (!(0, $aBzgs.isHexString)(blockHash, 32)) $81658ac0a17fba50$var$logger.throwArgumentError(\"invalid blockHash\", \"blockHash\", blockHash);\n super({\n _isForkEvent: true,\n _isBlockForkEvent: true,\n expiry: expiry || 0,\n blockHash: blockHash\n });\n }\n}\nclass $81658ac0a17fba50$export$26bcd61a55716c98 extends $81658ac0a17fba50$export$406ece1549ccd00e {\n constructor(hash, expiry){\n if (!(0, $aBzgs.isHexString)(hash, 32)) $81658ac0a17fba50$var$logger.throwArgumentError(\"invalid transaction hash\", \"hash\", hash);\n super({\n _isForkEvent: true,\n _isTransactionForkEvent: true,\n expiry: expiry || 0,\n hash: hash\n });\n }\n}\nclass $81658ac0a17fba50$export$8f8609bfee47c93 extends $81658ac0a17fba50$export$406ece1549ccd00e {\n constructor(beforeHash, afterHash, expiry){\n if (!(0, $aBzgs.isHexString)(beforeHash, 32)) $81658ac0a17fba50$var$logger.throwArgumentError(\"invalid transaction hash\", \"beforeHash\", beforeHash);\n if (!(0, $aBzgs.isHexString)(afterHash, 32)) $81658ac0a17fba50$var$logger.throwArgumentError(\"invalid transaction hash\", \"afterHash\", afterHash);\n super({\n _isForkEvent: true,\n _isTransactionOrderForkEvent: true,\n expiry: expiry || 0,\n beforeHash: beforeHash,\n afterHash: afterHash\n });\n }\n}\nclass $81658ac0a17fba50$export$2881499e37b75b9a {\n constructor(){\n $81658ac0a17fba50$var$logger.checkAbstract(new.target, $81658ac0a17fba50$export$2881499e37b75b9a);\n (0, $e72ut.defineReadOnly)(this, \"_isProvider\", true);\n }\n getFeeData() {\n return $81658ac0a17fba50$var$__awaiter(this, void 0, void 0, function*() {\n const { block: block , gasPrice: gasPrice } = yield (0, $e72ut.resolveProperties)({\n block: this.getBlock(\"latest\"),\n gasPrice: this.getGasPrice().catch((error)=>{\n // @TODO: Why is this now failing on Calaveras?\n //console.log(error);\n return null;\n })\n });\n let lastBaseFeePerGas = null, maxFeePerGas = null, maxPriorityFeePerGas = null;\n if (block && block.baseFeePerGas) {\n // We may want to compute this more accurately in the future,\n // using the formula \"check if the base fee is correct\".\n // See: https://eips.ethereum.org/EIPS/eip-1559\n lastBaseFeePerGas = block.baseFeePerGas;\n maxPriorityFeePerGas = (0, $1chjt.BigNumber).from(\"1500000000\");\n maxFeePerGas = block.baseFeePerGas.mul(2).add(maxPriorityFeePerGas);\n }\n return {\n lastBaseFeePerGas: lastBaseFeePerGas,\n maxFeePerGas: maxFeePerGas,\n maxPriorityFeePerGas: maxPriorityFeePerGas,\n gasPrice: gasPrice\n };\n });\n }\n // Alias for \"on\"\n addListener(eventName, listener) {\n return this.on(eventName, listener);\n }\n // Alias for \"off\"\n removeListener(eventName, listener) {\n return this.off(eventName, listener);\n }\n static isProvider(value) {\n return !!(value && value._isProvider);\n }\n}\n\n});\nparcelRequire.register(\"apA7Z\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $794843703201998f$export$83d89fbfd8236492);\nconst $794843703201998f$export$83d89fbfd8236492 = \"abstract-provider/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"TyNFl\", function(module, exports) {\n\n$parcel$export(module.exports, \"TransactionTypes\", () => $0a7021bc70fec74d$export$80349e05e0724e11);\n$parcel$export(module.exports, \"computeAddress\", () => $0a7021bc70fec74d$export$e67e2732ba9803f9);\n$parcel$export(module.exports, \"recoverAddress\", () => $0a7021bc70fec74d$export$23cc18f96d8510e2);\n$parcel$export(module.exports, \"accessListify\", () => $0a7021bc70fec74d$export$6c8662b1600dce2);\n$parcel$export(module.exports, \"serialize\", () => $0a7021bc70fec74d$export$dfdc1655ccc5b9cb);\n$parcel$export(module.exports, \"parse\", () => $0a7021bc70fec74d$export$98e6a39c04603d36);\n\nvar $bVwUc = parcelRequire(\"bVwUc\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $gVGT9 = parcelRequire(\"gVGT9\");\n\nvar $2yhyU = parcelRequire(\"2yhyU\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $9BTKH = parcelRequire(\"9BTKH\");\n\nvar $lWFPp = parcelRequire(\"lWFPp\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $cmrHY = parcelRequire(\"cmrHY\");\n\"use strict\";\nconst $0a7021bc70fec74d$var$logger = new (0, $d1hml.Logger)((0, $cmrHY.version));\nvar $0a7021bc70fec74d$export$80349e05e0724e11;\n(function(TransactionTypes) {\n TransactionTypes[TransactionTypes[\"legacy\"] = 0] = \"legacy\";\n TransactionTypes[TransactionTypes[\"eip2930\"] = 1] = \"eip2930\";\n TransactionTypes[TransactionTypes[\"eip1559\"] = 2] = \"eip1559\";\n})($0a7021bc70fec74d$export$80349e05e0724e11 || ($0a7021bc70fec74d$export$80349e05e0724e11 = {}));\n///////////////////////////////\nfunction $0a7021bc70fec74d$var$handleAddress(value) {\n if (value === \"0x\") return null;\n return (0, $bVwUc.getAddress)(value);\n}\nfunction $0a7021bc70fec74d$var$handleNumber(value) {\n if (value === \"0x\") return 0, $gVGT9.Zero;\n return (0, $1chjt.BigNumber).from(value);\n}\n// Legacy Transaction Fields\nconst $0a7021bc70fec74d$var$transactionFields = [\n {\n name: \"nonce\",\n maxLength: 32,\n numeric: true\n },\n {\n name: \"gasPrice\",\n maxLength: 32,\n numeric: true\n },\n {\n name: \"gasLimit\",\n maxLength: 32,\n numeric: true\n },\n {\n name: \"to\",\n length: 20\n },\n {\n name: \"value\",\n maxLength: 32,\n numeric: true\n },\n {\n name: \"data\"\n }\n];\nconst $0a7021bc70fec74d$var$allowedTransactionKeys = {\n chainId: true,\n data: true,\n gasLimit: true,\n gasPrice: true,\n nonce: true,\n to: true,\n type: true,\n value: true\n};\nfunction $0a7021bc70fec74d$export$e67e2732ba9803f9(key) {\n const publicKey = (0, $lWFPp.computePublicKey)(key);\n return (0, $bVwUc.getAddress)((0, $aBzgs.hexDataSlice)((0, $2yhyU.keccak256)((0, $aBzgs.hexDataSlice)(publicKey, 1)), 12));\n}\nfunction $0a7021bc70fec74d$export$23cc18f96d8510e2(digest, signature) {\n return $0a7021bc70fec74d$export$e67e2732ba9803f9((0, $lWFPp.recoverPublicKey)((0, $aBzgs.arrayify)(digest), signature));\n}\nfunction $0a7021bc70fec74d$var$formatNumber(value, name) {\n const result = (0, $aBzgs.stripZeros)((0, $1chjt.BigNumber).from(value).toHexString());\n if (result.length > 32) $0a7021bc70fec74d$var$logger.throwArgumentError(\"invalid length for \" + name, \"transaction:\" + name, value);\n return result;\n}\nfunction $0a7021bc70fec74d$var$accessSetify(addr, storageKeys) {\n return {\n address: (0, $bVwUc.getAddress)(addr),\n storageKeys: (storageKeys || []).map((storageKey, index)=>{\n if ((0, $aBzgs.hexDataLength)(storageKey) !== 32) $0a7021bc70fec74d$var$logger.throwArgumentError(\"invalid access list storageKey\", `accessList[${addr}:${index}]`, storageKey);\n return storageKey.toLowerCase();\n })\n };\n}\nfunction $0a7021bc70fec74d$export$6c8662b1600dce2(value) {\n if (Array.isArray(value)) return value.map((set, index)=>{\n if (Array.isArray(set)) {\n if (set.length > 2) $0a7021bc70fec74d$var$logger.throwArgumentError(\"access list expected to be [ address, storageKeys[] ]\", `value[${index}]`, set);\n return $0a7021bc70fec74d$var$accessSetify(set[0], set[1]);\n }\n return $0a7021bc70fec74d$var$accessSetify(set.address, set.storageKeys);\n });\n const result = Object.keys(value).map((addr)=>{\n const storageKeys = value[addr].reduce((accum, storageKey)=>{\n accum[storageKey] = true;\n return accum;\n }, {});\n return $0a7021bc70fec74d$var$accessSetify(addr, Object.keys(storageKeys).sort());\n });\n result.sort((a, b)=>a.address.localeCompare(b.address));\n return result;\n}\nfunction $0a7021bc70fec74d$var$formatAccessList(value) {\n return $0a7021bc70fec74d$export$6c8662b1600dce2(value).map((set)=>[\n set.address,\n set.storageKeys\n ]);\n}\nfunction $0a7021bc70fec74d$var$_serializeEip1559(transaction, signature) {\n // If there is an explicit gasPrice, make sure it matches the\n // EIP-1559 fees; otherwise they may not understand what they\n // think they are setting in terms of fee.\n if (transaction.gasPrice != null) {\n const gasPrice = (0, $1chjt.BigNumber).from(transaction.gasPrice);\n const maxFeePerGas = (0, $1chjt.BigNumber).from(transaction.maxFeePerGas || 0);\n if (!gasPrice.eq(maxFeePerGas)) $0a7021bc70fec74d$var$logger.throwArgumentError(\"mismatch EIP-1559 gasPrice != maxFeePerGas\", \"tx\", {\n gasPrice: gasPrice,\n maxFeePerGas: maxFeePerGas\n });\n }\n const fields = [\n $0a7021bc70fec74d$var$formatNumber(transaction.chainId || 0, \"chainId\"),\n $0a7021bc70fec74d$var$formatNumber(transaction.nonce || 0, \"nonce\"),\n $0a7021bc70fec74d$var$formatNumber(transaction.maxPriorityFeePerGas || 0, \"maxPriorityFeePerGas\"),\n $0a7021bc70fec74d$var$formatNumber(transaction.maxFeePerGas || 0, \"maxFeePerGas\"),\n $0a7021bc70fec74d$var$formatNumber(transaction.gasLimit || 0, \"gasLimit\"),\n transaction.to != null ? (0, $bVwUc.getAddress)(transaction.to) : \"0x\",\n $0a7021bc70fec74d$var$formatNumber(transaction.value || 0, \"value\"),\n transaction.data || \"0x\",\n $0a7021bc70fec74d$var$formatAccessList(transaction.accessList || [])\n ];\n if (signature) {\n const sig = (0, $aBzgs.splitSignature)(signature);\n fields.push($0a7021bc70fec74d$var$formatNumber(sig.recoveryParam, \"recoveryParam\"));\n fields.push((0, $aBzgs.stripZeros)(sig.r));\n fields.push((0, $aBzgs.stripZeros)(sig.s));\n }\n return (0, $aBzgs.hexConcat)([\n \"0x02\",\n $9BTKH.encode(fields)\n ]);\n}\nfunction $0a7021bc70fec74d$var$_serializeEip2930(transaction, signature) {\n const fields = [\n $0a7021bc70fec74d$var$formatNumber(transaction.chainId || 0, \"chainId\"),\n $0a7021bc70fec74d$var$formatNumber(transaction.nonce || 0, \"nonce\"),\n $0a7021bc70fec74d$var$formatNumber(transaction.gasPrice || 0, \"gasPrice\"),\n $0a7021bc70fec74d$var$formatNumber(transaction.gasLimit || 0, \"gasLimit\"),\n transaction.to != null ? (0, $bVwUc.getAddress)(transaction.to) : \"0x\",\n $0a7021bc70fec74d$var$formatNumber(transaction.value || 0, \"value\"),\n transaction.data || \"0x\",\n $0a7021bc70fec74d$var$formatAccessList(transaction.accessList || [])\n ];\n if (signature) {\n const sig = (0, $aBzgs.splitSignature)(signature);\n fields.push($0a7021bc70fec74d$var$formatNumber(sig.recoveryParam, \"recoveryParam\"));\n fields.push((0, $aBzgs.stripZeros)(sig.r));\n fields.push((0, $aBzgs.stripZeros)(sig.s));\n }\n return (0, $aBzgs.hexConcat)([\n \"0x01\",\n $9BTKH.encode(fields)\n ]);\n}\n// Legacy Transactions and EIP-155\nfunction $0a7021bc70fec74d$var$_serialize(transaction, signature) {\n (0, $e72ut.checkProperties)(transaction, $0a7021bc70fec74d$var$allowedTransactionKeys);\n const raw = [];\n $0a7021bc70fec74d$var$transactionFields.forEach(function(fieldInfo) {\n let value = transaction[fieldInfo.name] || [];\n const options = {};\n if (fieldInfo.numeric) options.hexPad = \"left\";\n value = (0, $aBzgs.arrayify)((0, $aBzgs.hexlify)(value, options));\n // Fixed-width field\n if (fieldInfo.length && value.length !== fieldInfo.length && value.length > 0) $0a7021bc70fec74d$var$logger.throwArgumentError(\"invalid length for \" + fieldInfo.name, \"transaction:\" + fieldInfo.name, value);\n // Variable-width (with a maximum)\n if (fieldInfo.maxLength) {\n value = (0, $aBzgs.stripZeros)(value);\n if (value.length > fieldInfo.maxLength) $0a7021bc70fec74d$var$logger.throwArgumentError(\"invalid length for \" + fieldInfo.name, \"transaction:\" + fieldInfo.name, value);\n }\n raw.push((0, $aBzgs.hexlify)(value));\n });\n let chainId = 0;\n if (transaction.chainId != null) {\n // A chainId was provided; if non-zero we'll use EIP-155\n chainId = transaction.chainId;\n if (typeof chainId !== \"number\") $0a7021bc70fec74d$var$logger.throwArgumentError(\"invalid transaction.chainId\", \"transaction\", transaction);\n } else if (signature && !(0, $aBzgs.isBytesLike)(signature) && signature.v > 28) // No chainId provided, but the signature is signing with EIP-155; derive chainId\n chainId = Math.floor((signature.v - 35) / 2);\n // We have an EIP-155 transaction (chainId was specified and non-zero)\n if (chainId !== 0) {\n raw.push((0, $aBzgs.hexlify)(chainId)); // @TODO: hexValue?\n raw.push(\"0x\");\n raw.push(\"0x\");\n }\n // Requesting an unsigned transaction\n if (!signature) return $9BTKH.encode(raw);\n // The splitSignature will ensure the transaction has a recoveryParam in the\n // case that the signTransaction function only adds a v.\n const sig = (0, $aBzgs.splitSignature)(signature);\n // We pushed a chainId and null r, s on for hashing only; remove those\n let v = 27 + sig.recoveryParam;\n if (chainId !== 0) {\n raw.pop();\n raw.pop();\n raw.pop();\n v += chainId * 2 + 8;\n // If an EIP-155 v (directly or indirectly; maybe _vs) was provided, check it!\n if (sig.v > 28 && sig.v !== v) $0a7021bc70fec74d$var$logger.throwArgumentError(\"transaction.chainId/signature.v mismatch\", \"signature\", signature);\n } else if (sig.v !== v) $0a7021bc70fec74d$var$logger.throwArgumentError(\"transaction.chainId/signature.v mismatch\", \"signature\", signature);\n raw.push((0, $aBzgs.hexlify)(v));\n raw.push((0, $aBzgs.stripZeros)((0, $aBzgs.arrayify)(sig.r)));\n raw.push((0, $aBzgs.stripZeros)((0, $aBzgs.arrayify)(sig.s)));\n return $9BTKH.encode(raw);\n}\nfunction $0a7021bc70fec74d$export$dfdc1655ccc5b9cb(transaction, signature) {\n // Legacy and EIP-155 Transactions\n if (transaction.type == null || transaction.type === 0) {\n if (transaction.accessList != null) $0a7021bc70fec74d$var$logger.throwArgumentError(\"untyped transactions do not support accessList; include type: 1\", \"transaction\", transaction);\n return $0a7021bc70fec74d$var$_serialize(transaction, signature);\n }\n // Typed Transactions (EIP-2718)\n switch(transaction.type){\n case 1:\n return $0a7021bc70fec74d$var$_serializeEip2930(transaction, signature);\n case 2:\n return $0a7021bc70fec74d$var$_serializeEip1559(transaction, signature);\n default:\n break;\n }\n return $0a7021bc70fec74d$var$logger.throwError(`unsupported transaction type: ${transaction.type}`, (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"serializeTransaction\",\n transactionType: transaction.type\n });\n}\nfunction $0a7021bc70fec74d$var$_parseEipSignature(tx, fields, serialize) {\n try {\n const recid = $0a7021bc70fec74d$var$handleNumber(fields[0]).toNumber();\n if (recid !== 0 && recid !== 1) throw new Error(\"bad recid\");\n tx.v = recid;\n } catch (error) {\n $0a7021bc70fec74d$var$logger.throwArgumentError(\"invalid v for transaction type: 1\", \"v\", fields[0]);\n }\n tx.r = (0, $aBzgs.hexZeroPad)(fields[1], 32);\n tx.s = (0, $aBzgs.hexZeroPad)(fields[2], 32);\n try {\n const digest = (0, $2yhyU.keccak256)(serialize(tx));\n tx.from = $0a7021bc70fec74d$export$23cc18f96d8510e2(digest, {\n r: tx.r,\n s: tx.s,\n recoveryParam: tx.v\n });\n } catch (error) {}\n}\nfunction $0a7021bc70fec74d$var$_parseEip1559(payload) {\n const transaction = $9BTKH.decode(payload.slice(1));\n if (transaction.length !== 9 && transaction.length !== 12) $0a7021bc70fec74d$var$logger.throwArgumentError(\"invalid component count for transaction type: 2\", \"payload\", (0, $aBzgs.hexlify)(payload));\n const maxPriorityFeePerGas = $0a7021bc70fec74d$var$handleNumber(transaction[2]);\n const maxFeePerGas = $0a7021bc70fec74d$var$handleNumber(transaction[3]);\n const tx = {\n type: 2,\n chainId: $0a7021bc70fec74d$var$handleNumber(transaction[0]).toNumber(),\n nonce: $0a7021bc70fec74d$var$handleNumber(transaction[1]).toNumber(),\n maxPriorityFeePerGas: maxPriorityFeePerGas,\n maxFeePerGas: maxFeePerGas,\n gasPrice: null,\n gasLimit: $0a7021bc70fec74d$var$handleNumber(transaction[4]),\n to: $0a7021bc70fec74d$var$handleAddress(transaction[5]),\n value: $0a7021bc70fec74d$var$handleNumber(transaction[6]),\n data: transaction[7],\n accessList: $0a7021bc70fec74d$export$6c8662b1600dce2(transaction[8])\n };\n // Unsigned EIP-1559 Transaction\n if (transaction.length === 9) return tx;\n tx.hash = (0, $2yhyU.keccak256)(payload);\n $0a7021bc70fec74d$var$_parseEipSignature(tx, transaction.slice(9), $0a7021bc70fec74d$var$_serializeEip1559);\n return tx;\n}\nfunction $0a7021bc70fec74d$var$_parseEip2930(payload) {\n const transaction = $9BTKH.decode(payload.slice(1));\n if (transaction.length !== 8 && transaction.length !== 11) $0a7021bc70fec74d$var$logger.throwArgumentError(\"invalid component count for transaction type: 1\", \"payload\", (0, $aBzgs.hexlify)(payload));\n const tx = {\n type: 1,\n chainId: $0a7021bc70fec74d$var$handleNumber(transaction[0]).toNumber(),\n nonce: $0a7021bc70fec74d$var$handleNumber(transaction[1]).toNumber(),\n gasPrice: $0a7021bc70fec74d$var$handleNumber(transaction[2]),\n gasLimit: $0a7021bc70fec74d$var$handleNumber(transaction[3]),\n to: $0a7021bc70fec74d$var$handleAddress(transaction[4]),\n value: $0a7021bc70fec74d$var$handleNumber(transaction[5]),\n data: transaction[6],\n accessList: $0a7021bc70fec74d$export$6c8662b1600dce2(transaction[7])\n };\n // Unsigned EIP-2930 Transaction\n if (transaction.length === 8) return tx;\n tx.hash = (0, $2yhyU.keccak256)(payload);\n $0a7021bc70fec74d$var$_parseEipSignature(tx, transaction.slice(8), $0a7021bc70fec74d$var$_serializeEip2930);\n return tx;\n}\n// Legacy Transactions and EIP-155\nfunction $0a7021bc70fec74d$var$_parse(rawTransaction) {\n const transaction = $9BTKH.decode(rawTransaction);\n if (transaction.length !== 9 && transaction.length !== 6) $0a7021bc70fec74d$var$logger.throwArgumentError(\"invalid raw transaction\", \"rawTransaction\", rawTransaction);\n const tx = {\n nonce: $0a7021bc70fec74d$var$handleNumber(transaction[0]).toNumber(),\n gasPrice: $0a7021bc70fec74d$var$handleNumber(transaction[1]),\n gasLimit: $0a7021bc70fec74d$var$handleNumber(transaction[2]),\n to: $0a7021bc70fec74d$var$handleAddress(transaction[3]),\n value: $0a7021bc70fec74d$var$handleNumber(transaction[4]),\n data: transaction[5],\n chainId: 0\n };\n // Legacy unsigned transaction\n if (transaction.length === 6) return tx;\n try {\n tx.v = (0, $1chjt.BigNumber).from(transaction[6]).toNumber();\n } catch (error) {\n // @TODO: What makes snese to do? The v is too big\n return tx;\n }\n tx.r = (0, $aBzgs.hexZeroPad)(transaction[7], 32);\n tx.s = (0, $aBzgs.hexZeroPad)(transaction[8], 32);\n if ((0, $1chjt.BigNumber).from(tx.r).isZero() && (0, $1chjt.BigNumber).from(tx.s).isZero()) {\n // EIP-155 unsigned transaction\n tx.chainId = tx.v;\n tx.v = 0;\n } else {\n // Signed Transaction\n tx.chainId = Math.floor((tx.v - 35) / 2);\n if (tx.chainId < 0) tx.chainId = 0;\n let recoveryParam = tx.v - 27;\n const raw = transaction.slice(0, 6);\n if (tx.chainId !== 0) {\n raw.push((0, $aBzgs.hexlify)(tx.chainId));\n raw.push(\"0x\");\n raw.push(\"0x\");\n recoveryParam -= tx.chainId * 2 + 8;\n }\n const digest = (0, $2yhyU.keccak256)($9BTKH.encode(raw));\n try {\n tx.from = $0a7021bc70fec74d$export$23cc18f96d8510e2(digest, {\n r: (0, $aBzgs.hexlify)(tx.r),\n s: (0, $aBzgs.hexlify)(tx.s),\n recoveryParam: recoveryParam\n });\n } catch (error) {}\n tx.hash = (0, $2yhyU.keccak256)(rawTransaction);\n }\n tx.type = null;\n return tx;\n}\nfunction $0a7021bc70fec74d$export$98e6a39c04603d36(rawTransaction) {\n const payload = (0, $aBzgs.arrayify)(rawTransaction);\n // Legacy and EIP-155 Transactions\n if (payload[0] > 0x7f) return $0a7021bc70fec74d$var$_parse(payload);\n // Typed Transaction (EIP-2718)\n switch(payload[0]){\n case 1:\n return $0a7021bc70fec74d$var$_parseEip2930(payload);\n case 2:\n return $0a7021bc70fec74d$var$_parseEip1559(payload);\n default:\n break;\n }\n return $0a7021bc70fec74d$var$logger.throwError(`unsupported transaction type: ${payload[0]}`, (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"parseTransaction\",\n transactionType: payload[0]\n });\n}\n\n});\nparcelRequire.register(\"lWFPp\", function(module, exports) {\n\n$parcel$export(module.exports, \"SigningKey\", () => $ff9f75f56da7c459$export$21643ca94aed3e83);\n$parcel$export(module.exports, \"computePublicKey\", () => $ff9f75f56da7c459$export$4a89473d39301224);\n$parcel$export(module.exports, \"recoverPublicKey\", () => $ff9f75f56da7c459$export$952dd09fbe0232b7);\n\nvar $8ywx4 = parcelRequire(\"8ywx4\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $eaG84 = parcelRequire(\"eaG84\");\n\"use strict\";\nconst $ff9f75f56da7c459$var$logger = new (0, $d1hml.Logger)((0, $eaG84.version));\nlet $ff9f75f56da7c459$var$_curve = null;\nfunction $ff9f75f56da7c459$var$getCurve() {\n if (!$ff9f75f56da7c459$var$_curve) $ff9f75f56da7c459$var$_curve = new (0, $8ywx4.EC)(\"secp256k1\");\n return $ff9f75f56da7c459$var$_curve;\n}\nclass $ff9f75f56da7c459$export$21643ca94aed3e83 {\n constructor(privateKey){\n (0, $e72ut.defineReadOnly)(this, \"curve\", \"secp256k1\");\n (0, $e72ut.defineReadOnly)(this, \"privateKey\", (0, $aBzgs.hexlify)(privateKey));\n if ((0, $aBzgs.hexDataLength)(this.privateKey) !== 32) $ff9f75f56da7c459$var$logger.throwArgumentError(\"invalid private key\", \"privateKey\", \"[[ REDACTED ]]\");\n const keyPair = $ff9f75f56da7c459$var$getCurve().keyFromPrivate((0, $aBzgs.arrayify)(this.privateKey));\n (0, $e72ut.defineReadOnly)(this, \"publicKey\", \"0x\" + keyPair.getPublic(false, \"hex\"));\n (0, $e72ut.defineReadOnly)(this, \"compressedPublicKey\", \"0x\" + keyPair.getPublic(true, \"hex\"));\n (0, $e72ut.defineReadOnly)(this, \"_isSigningKey\", true);\n }\n _addPoint(other) {\n const p0 = $ff9f75f56da7c459$var$getCurve().keyFromPublic((0, $aBzgs.arrayify)(this.publicKey));\n const p1 = $ff9f75f56da7c459$var$getCurve().keyFromPublic((0, $aBzgs.arrayify)(other));\n return \"0x\" + p0.pub.add(p1.pub).encodeCompressed(\"hex\");\n }\n signDigest(digest) {\n const keyPair = $ff9f75f56da7c459$var$getCurve().keyFromPrivate((0, $aBzgs.arrayify)(this.privateKey));\n const digestBytes = (0, $aBzgs.arrayify)(digest);\n if (digestBytes.length !== 32) $ff9f75f56da7c459$var$logger.throwArgumentError(\"bad digest length\", \"digest\", digest);\n const signature = keyPair.sign(digestBytes, {\n canonical: true\n });\n return (0, $aBzgs.splitSignature)({\n recoveryParam: signature.recoveryParam,\n r: (0, $aBzgs.hexZeroPad)(\"0x\" + signature.r.toString(16), 32),\n s: (0, $aBzgs.hexZeroPad)(\"0x\" + signature.s.toString(16), 32)\n });\n }\n computeSharedSecret(otherKey) {\n const keyPair = $ff9f75f56da7c459$var$getCurve().keyFromPrivate((0, $aBzgs.arrayify)(this.privateKey));\n const otherKeyPair = $ff9f75f56da7c459$var$getCurve().keyFromPublic((0, $aBzgs.arrayify)($ff9f75f56da7c459$export$4a89473d39301224(otherKey)));\n return (0, $aBzgs.hexZeroPad)(\"0x\" + keyPair.derive(otherKeyPair.getPublic()).toString(16), 32);\n }\n static isSigningKey(value) {\n return !!(value && value._isSigningKey);\n }\n}\nfunction $ff9f75f56da7c459$export$952dd09fbe0232b7(digest, signature) {\n const sig = (0, $aBzgs.splitSignature)(signature);\n const rs = {\n r: (0, $aBzgs.arrayify)(sig.r),\n s: (0, $aBzgs.arrayify)(sig.s)\n };\n return \"0x\" + $ff9f75f56da7c459$var$getCurve().recoverPubKey((0, $aBzgs.arrayify)(digest), rs, sig.recoveryParam).encode(\"hex\", false);\n}\nfunction $ff9f75f56da7c459$export$4a89473d39301224(key, compressed) {\n const bytes = (0, $aBzgs.arrayify)(key);\n if (bytes.length === 32) {\n const signingKey = new $ff9f75f56da7c459$export$21643ca94aed3e83(bytes);\n if (compressed) return \"0x\" + $ff9f75f56da7c459$var$getCurve().keyFromPrivate(bytes).getPublic(true, \"hex\");\n return signingKey.publicKey;\n } else if (bytes.length === 33) {\n if (compressed) return (0, $aBzgs.hexlify)(bytes);\n return \"0x\" + $ff9f75f56da7c459$var$getCurve().keyFromPublic(bytes).getPublic(false, \"hex\");\n } else if (bytes.length === 65) {\n if (!compressed) return (0, $aBzgs.hexlify)(bytes);\n return \"0x\" + $ff9f75f56da7c459$var$getCurve().keyFromPublic(bytes).getPublic(true, \"hex\");\n }\n return $ff9f75f56da7c459$var$logger.throwArgumentError(\"invalid public or private key\", \"key\", \"[REDACTED]\");\n}\n\n});\nparcelRequire.register(\"8ywx4\", function(module, exports) {\n\n$parcel$export(module.exports, \"EC\", () => $63aabbf7dfa8a956$export$129fe12d32abc311);\n\nvar $dEXSZ = parcelRequire(\"dEXSZ\");\n\nvar $kiSKt = parcelRequire(\"kiSKt\");\nvar $63aabbf7dfa8a956$var$commonjsGlobal = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof $parcel$global !== \"undefined\" ? $parcel$global : typeof self !== \"undefined\" ? self : {};\nfunction $63aabbf7dfa8a956$var$getDefaultExportFromCjs(x) {\n return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\nfunction $63aabbf7dfa8a956$var$createCommonjsModule(fn, basedir, module) {\n return module = {\n path: basedir,\n exports: {},\n require: function(path, base) {\n return $63aabbf7dfa8a956$var$commonjsRequire(path, base === undefined || base === null ? module.path : base);\n }\n }, fn(module, module.exports), module.exports;\n}\nfunction $63aabbf7dfa8a956$var$getDefaultExportFromNamespaceIfPresent(n) {\n return n && Object.prototype.hasOwnProperty.call(n, \"default\") ? n[\"default\"] : n;\n}\nfunction $63aabbf7dfa8a956$var$getDefaultExportFromNamespaceIfNotNamed(n) {\n return n && Object.prototype.hasOwnProperty.call(n, \"default\") && Object.keys(n).length === 1 ? n[\"default\"] : n;\n}\nfunction $63aabbf7dfa8a956$var$getAugmentedNamespace(n) {\n if (n.__esModule) return n;\n var a = Object.defineProperty({}, \"__esModule\", {\n value: true\n });\n Object.keys(n).forEach(function(k) {\n var d = Object.getOwnPropertyDescriptor(n, k);\n Object.defineProperty(a, k, d.get ? d : {\n enumerable: true,\n get: function() {\n return n[k];\n }\n });\n });\n return a;\n}\nfunction $63aabbf7dfa8a956$var$commonjsRequire() {\n throw new Error(\"Dynamic requires are not currently supported by @rollup/plugin-commonjs\");\n}\nvar $63aabbf7dfa8a956$var$minimalisticAssert = $63aabbf7dfa8a956$var$assert;\nfunction $63aabbf7dfa8a956$var$assert(val, msg) {\n if (!val) throw new Error(msg || \"Assertion failed\");\n}\n$63aabbf7dfa8a956$var$assert.equal = function assertEqual(l, r, msg) {\n if (l != r) throw new Error(msg || \"Assertion failed: \" + l + \" != \" + r);\n};\nvar $63aabbf7dfa8a956$var$utils_1 = $63aabbf7dfa8a956$var$createCommonjsModule(function(module, exports) {\n \"use strict\";\n var utils = exports;\n function toArray(msg, enc) {\n if (Array.isArray(msg)) return msg.slice();\n if (!msg) return [];\n var res = [];\n if (typeof msg !== \"string\") {\n for(var i = 0; i < msg.length; i++)res[i] = msg[i] | 0;\n return res;\n }\n if (enc === \"hex\") {\n msg = msg.replace(/[^a-z0-9]+/ig, \"\");\n if (msg.length % 2 !== 0) msg = \"0\" + msg;\n for(var i = 0; i < msg.length; i += 2)res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else for(var i = 0; i < msg.length; i++){\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi) res.push(hi, lo);\n else res.push(lo);\n }\n return res;\n }\n utils.toArray = toArray;\n function zero2(word) {\n if (word.length === 1) return \"0\" + word;\n else return word;\n }\n utils.zero2 = zero2;\n function toHex(msg) {\n var res = \"\";\n for(var i = 0; i < msg.length; i++)res += zero2(msg[i].toString(16));\n return res;\n }\n utils.toHex = toHex;\n utils.encode = function encode(arr, enc) {\n if (enc === \"hex\") return toHex(arr);\n else return arr;\n };\n});\nvar $63aabbf7dfa8a956$var$utils_1$1 = $63aabbf7dfa8a956$var$createCommonjsModule(function(module, exports) {\n \"use strict\";\n var utils = exports;\n utils.assert = $63aabbf7dfa8a956$var$minimalisticAssert;\n utils.toArray = $63aabbf7dfa8a956$var$utils_1.toArray;\n utils.zero2 = $63aabbf7dfa8a956$var$utils_1.zero2;\n utils.toHex = $63aabbf7dfa8a956$var$utils_1.toHex;\n utils.encode = $63aabbf7dfa8a956$var$utils_1.encode;\n // Represent num in a w-NAF form\n function getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n var ws = 1 << w + 1;\n var k = num.clone();\n for(var i = 0; i < naf.length; i++){\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1) z = (ws >> 1) - mod;\n else z = mod;\n k.isubn(z);\n } else z = 0;\n naf[i] = z;\n k.iushrn(1);\n }\n return naf;\n }\n utils.getNAF = getNAF;\n // Represent k1, k2 in a Joint Sparse Form\n function getJSF(k1, k2) {\n var jsf = [\n [],\n []\n ];\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while(k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0){\n // First phase\n var m14 = k1.andln(3) + d1 & 3;\n var m24 = k2.andln(3) + d2 & 3;\n if (m14 === 3) m14 = -1;\n if (m24 === 3) m24 = -1;\n var u1;\n if ((m14 & 1) === 0) u1 = 0;\n else {\n m8 = k1.andln(7) + d1 & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2) u1 = -m14;\n else u1 = m14;\n }\n jsf[0].push(u1);\n var u2;\n if ((m24 & 1) === 0) u2 = 0;\n else {\n m8 = k2.andln(7) + d2 & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2) u2 = -m24;\n else u2 = m24;\n }\n jsf[1].push(u2);\n // Second phase\n if (2 * d1 === u1 + 1) d1 = 1 - d1;\n if (2 * d2 === u2 + 1) d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n return jsf;\n }\n utils.getJSF = getJSF;\n function cachedProperty(obj, name, computer) {\n var key = \"_\" + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] : this[key] = computer.call(this);\n };\n }\n utils.cachedProperty = cachedProperty;\n function parseBytes(bytes) {\n return typeof bytes === \"string\" ? utils.toArray(bytes, \"hex\") : bytes;\n }\n utils.parseBytes = parseBytes;\n function intFromLE(bytes) {\n return new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(bytes, \"hex\", \"le\");\n }\n utils.intFromLE = intFromLE;\n});\n\"use strict\";\nvar $63aabbf7dfa8a956$var$getNAF = $63aabbf7dfa8a956$var$utils_1$1.getNAF;\nvar $63aabbf7dfa8a956$var$getJSF = $63aabbf7dfa8a956$var$utils_1$1.getJSF;\nvar $63aabbf7dfa8a956$var$assert$1 = $63aabbf7dfa8a956$var$utils_1$1.assert;\nfunction $63aabbf7dfa8a956$var$BaseCurve(type, conf) {\n this.type = type;\n this.p = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(conf.p, 16);\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ))).red(conf.prime) : (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ))).mont(this.p);\n // Useful for many curves\n this.zero = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(0).toRed(this.red);\n this.one = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(1).toRed(this.red);\n this.two = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(2).toRed(this.red);\n // Curve configuration, optional\n this.n = conf.n && new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n this._bitLength = this.n ? this.n.bitLength() : 0;\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) this.redN = null;\n else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nvar $63aabbf7dfa8a956$var$base = $63aabbf7dfa8a956$var$BaseCurve;\n$63aabbf7dfa8a956$var$BaseCurve.prototype.point = function point() {\n throw new Error(\"Not implemented\");\n};\n$63aabbf7dfa8a956$var$BaseCurve.prototype.validate = function validate() {\n throw new Error(\"Not implemented\");\n};\n$63aabbf7dfa8a956$var$BaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n $63aabbf7dfa8a956$var$assert$1(p.precomputed);\n var doubles = p._getDoubles();\n var naf = $63aabbf7dfa8a956$var$getNAF(k, 1, this._bitLength);\n var I = (1 << doubles.step + 1) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for(j = 0; j < naf.length; j += doubles.step){\n nafW = 0;\n for(var l = j + doubles.step - 1; l >= j; l--)nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for(var i = I; i > 0; i--){\n for(j = 0; j < repr.length; j++){\n nafW = repr[j];\n if (nafW === i) b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i) b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n$63aabbf7dfa8a956$var$BaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n // Get NAF form\n var naf = $63aabbf7dfa8a956$var$getNAF(k, w, this._bitLength);\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for(var i = naf.length - 1; i >= 0; i--){\n // Count zeroes\n for(var l = 0; i >= 0 && naf[i] === 0; i--)l++;\n if (i >= 0) l++;\n acc = acc.dblp(l);\n if (i < 0) break;\n var z = naf[i];\n $63aabbf7dfa8a956$var$assert$1(z !== 0);\n if (p.type === \"affine\") {\n // J +- P\n if (z > 0) acc = acc.mixedAdd(wnd[z - 1 >> 1]);\n else acc = acc.mixedAdd(wnd[-z - 1 >> 1].neg());\n } else // J +- J\n if (z > 0) acc = acc.add(wnd[z - 1 >> 1]);\n else acc = acc.add(wnd[-z - 1 >> 1].neg());\n }\n return p.type === \"affine\" ? acc.toP() : acc;\n};\n$63aabbf7dfa8a956$var$BaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW, points, coeffs, len, jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for(i = 0; i < len; i++){\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n // Comb small window NAFs\n for(i = len - 1; i >= 1; i -= 2){\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = $63aabbf7dfa8a956$var$getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = $63aabbf7dfa8a956$var$getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n var comb = [\n points[a],\n /* 1 */ null,\n /* 3 */ null,\n /* 5 */ points[b]\n ];\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n var index = [\n -3,\n /* -1 -1 */ -1,\n /* -1 0 */ -5,\n /* -1 1 */ -7,\n /* 0 -1 */ 0,\n /* 0 0 */ 7,\n /* 0 1 */ 5,\n /* 1 -1 */ 1,\n /* 1 0 */ 3\n ];\n var jsf = $63aabbf7dfa8a956$var$getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for(j = 0; j < max; j++){\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for(i = max; i >= 0; i--){\n var k = 0;\n while(i >= 0){\n var zero = true;\n for(j = 0; j < len; j++){\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0) zero = false;\n }\n if (!zero) break;\n k++;\n i--;\n }\n if (i >= 0) k++;\n acc = acc.dblp(k);\n if (i < 0) break;\n for(j = 0; j < len; j++){\n var z = tmp[j];\n p;\n if (z === 0) continue;\n else if (z > 0) p = wnd[j][z - 1 >> 1];\n else if (z < 0) p = wnd[j][-z - 1 >> 1].neg();\n if (p.type === \"affine\") acc = acc.mixedAdd(p);\n else acc = acc.add(p);\n }\n }\n // Zeroify references\n for(i = 0; i < len; i++)wnd[i] = null;\n if (jacobianResult) return acc;\n else return acc.toP();\n};\nfunction $63aabbf7dfa8a956$var$BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\n$63aabbf7dfa8a956$var$BaseCurve.BasePoint = $63aabbf7dfa8a956$var$BasePoint;\n$63aabbf7dfa8a956$var$BasePoint.prototype.eq = function eq() {\n throw new Error(\"Not implemented\");\n};\n$63aabbf7dfa8a956$var$BasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n$63aabbf7dfa8a956$var$BaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = $63aabbf7dfa8a956$var$utils_1$1.toArray(bytes, enc);\n var len = this.p.byteLength();\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) && bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06) $63aabbf7dfa8a956$var$assert$1(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07) $63aabbf7dfa8a956$var$assert$1(bytes[bytes.length - 1] % 2 === 1);\n var res = this.point(bytes.slice(1, 1 + len), bytes.slice(1 + len, 1 + 2 * len));\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) && bytes.length - 1 === len) return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n throw new Error(\"Unknown point format\");\n};\n$63aabbf7dfa8a956$var$BasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n$63aabbf7dfa8a956$var$BasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray(\"be\", len);\n if (compact) return [\n this.getY().isEven() ? 0x02 : 0x03\n ].concat(x);\n return [\n 0x04\n ].concat(x, this.getY().toArray(\"be\", len));\n};\n$63aabbf7dfa8a956$var$BasePoint.prototype.encode = function encode(enc, compact) {\n return $63aabbf7dfa8a956$var$utils_1$1.encode(this._encode(compact), enc);\n};\n$63aabbf7dfa8a956$var$BasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed) return this;\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n return this;\n};\n$63aabbf7dfa8a956$var$BasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed) return false;\n var doubles = this.precomputed.doubles;\n if (!doubles) return false;\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n$63aabbf7dfa8a956$var$BasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles) return this.precomputed.doubles;\n var doubles = [\n this\n ];\n var acc = this;\n for(var i = 0; i < power; i += step){\n for(var j = 0; j < step; j++)acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles\n };\n};\n$63aabbf7dfa8a956$var$BasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf) return this.precomputed.naf;\n var res = [\n this\n ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for(var i = 1; i < max; i++)res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res\n };\n};\n$63aabbf7dfa8a956$var$BasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n$63aabbf7dfa8a956$var$BasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for(var i = 0; i < k; i++)r = r.dbl();\n return r;\n};\nvar $63aabbf7dfa8a956$var$inherits_browser = $63aabbf7dfa8a956$var$createCommonjsModule(function(module) {\n if (typeof Object.create === \"function\") // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n }\n };\n else // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function() {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n };\n});\n\"use strict\";\nvar $63aabbf7dfa8a956$var$assert$2 = $63aabbf7dfa8a956$var$utils_1$1.assert;\nfunction $63aabbf7dfa8a956$var$ShortCurve(conf) {\n $63aabbf7dfa8a956$var$base.call(this, \"short\", conf);\n this.a = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(conf.a, 16).toRed(this.red);\n this.b = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\n$63aabbf7dfa8a956$var$inherits_browser($63aabbf7dfa8a956$var$ShortCurve, $63aabbf7dfa8a956$var$base);\nvar $63aabbf7dfa8a956$var$short_1 = $63aabbf7dfa8a956$var$ShortCurve;\n$63aabbf7dfa8a956$var$ShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1) return;\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) beta = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(conf.beta, 16).toRed(this.red);\n else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) lambda = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(conf.lambda, 16);\n else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) lambda = lambdas[0];\n else {\n lambda = lambdas[1];\n $63aabbf7dfa8a956$var$assert$2(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) basis = conf.basis.map(function(vec) {\n return {\n a: new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(vec.a, 16),\n b: new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(vec.b, 16)\n };\n });\n else basis = this._getEndoBasis(lambda);\n return {\n beta: beta,\n lambda: lambda,\n basis: basis\n };\n};\n$63aabbf7dfa8a956$var$ShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ))).mont(num);\n var tinv = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n var s = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [\n l1,\n l2\n ];\n};\n$63aabbf7dfa8a956$var$ShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(1);\n var y1 = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(0);\n var x2 = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(0);\n var y2 = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(1);\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n var prevR;\n var i = 0;\n var r;\n var x;\n while(u.cmpn(0) !== 0){\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) break;\n prevR = r;\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n return [\n {\n a: a1,\n b: b1\n },\n {\n a: a2,\n b: b2\n }\n ];\n};\n$63aabbf7dfa8a956$var$ShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return {\n k1: k1,\n k2: k2\n };\n};\n$63aabbf7dfa8a956$var$ShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(x, 16);\n if (!x.red) x = x.toRed(this.red);\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0) throw new Error(\"invalid point\");\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd) y = y.redNeg();\n return this.point(x, y);\n};\n$63aabbf7dfa8a956$var$ShortCurve.prototype.validate = function validate(point) {\n if (point.inf) return true;\n var x = point.x;\n var y = point.y;\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n$63aabbf7dfa8a956$var$ShortCurve.prototype._endoWnafMulAdd = function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for(var i = 0; i < points.length; i++){\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n // Clean-up references to points and coefficients\n for(var j = 0; j < i * 2; j++){\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n};\nfunction $63aabbf7dfa8a956$var$Point(curve, x, y, isRed) {\n $63aabbf7dfa8a956$var$base.BasePoint.call(this, curve, \"affine\");\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(x, 16);\n this.y = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red) this.x = this.x.toRed(this.curve.red);\n if (!this.y.red) this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\n$63aabbf7dfa8a956$var$inherits_browser($63aabbf7dfa8a956$var$Point, $63aabbf7dfa8a956$var$base.BasePoint);\n$63aabbf7dfa8a956$var$ShortCurve.prototype.point = function point(x, y, isRed) {\n return new $63aabbf7dfa8a956$var$Point(this, x, y, isRed);\n};\n$63aabbf7dfa8a956$var$ShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return $63aabbf7dfa8a956$var$Point.fromJSON(this, obj, red);\n};\n$63aabbf7dfa8a956$var$Point.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo) return;\n var pre = this.precomputed;\n if (pre && pre.beta) return pre.beta;\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul)\n }\n };\n }\n return beta;\n};\n$63aabbf7dfa8a956$var$Point.prototype.toJSON = function toJSON() {\n if (!this.precomputed) return [\n this.x,\n this.y\n ];\n return [\n this.x,\n this.y,\n this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1)\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1)\n }\n }\n ];\n};\n$63aabbf7dfa8a956$var$Point.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === \"string\") obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2]) return res;\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [\n res\n ].concat(pre.doubles.points.map(obj2point))\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [\n res\n ].concat(pre.naf.points.map(obj2point))\n }\n };\n return res;\n};\n$63aabbf7dfa8a956$var$Point.prototype.inspect = function inspect() {\n if (this.isInfinity()) return \"\";\n return \"\";\n};\n$63aabbf7dfa8a956$var$Point.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n$63aabbf7dfa8a956$var$Point.prototype.add = function add(p) {\n // O + P = P\n if (this.inf) return p;\n // P + O = P\n if (p.inf) return this;\n // P + P = 2P\n if (this.eq(p)) return this.dbl();\n // P + (-P) = O\n if (this.neg().eq(p)) return this.curve.point(null, null);\n // P + Q = O\n if (this.x.cmp(p.x) === 0) return this.curve.point(null, null);\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0) c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n$63aabbf7dfa8a956$var$Point.prototype.dbl = function dbl() {\n if (this.inf) return this;\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0) return this.curve.point(null, null);\n var a = this.curve.a;\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n$63aabbf7dfa8a956$var$Point.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n$63aabbf7dfa8a956$var$Point.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n$63aabbf7dfa8a956$var$Point.prototype.mul = function mul(k) {\n k = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(k, 16);\n if (this.isInfinity()) return this;\n else if (this._hasDoubles(k)) return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo) return this.curve._endoWnafMulAdd([\n this\n ], [\n k\n ]);\n else return this.curve._wnafMul(this, k);\n};\n$63aabbf7dfa8a956$var$Point.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [\n this,\n p2\n ];\n var coeffs = [\n k1,\n k2\n ];\n if (this.curve.endo) return this.curve._endoWnafMulAdd(points, coeffs);\n else return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n$63aabbf7dfa8a956$var$Point.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [\n this,\n p2\n ];\n var coeffs = [\n k1,\n k2\n ];\n if (this.curve.endo) return this.curve._endoWnafMulAdd(points, coeffs, true);\n else return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n$63aabbf7dfa8a956$var$Point.prototype.eq = function eq(p) {\n return this === p || this.inf === p.inf && (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n$63aabbf7dfa8a956$var$Point.prototype.neg = function neg(_precompute) {\n if (this.inf) return this;\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate)\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate)\n }\n };\n }\n return res;\n};\n$63aabbf7dfa8a956$var$Point.prototype.toJ = function toJ() {\n if (this.inf) return this.curve.jpoint(null, null, null);\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\nfunction $63aabbf7dfa8a956$var$JPoint(curve, x, y, z) {\n $63aabbf7dfa8a956$var$base.BasePoint.call(this, curve, \"jacobian\");\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(0);\n } else {\n this.x = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(x, 16);\n this.y = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(y, 16);\n this.z = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(z, 16);\n }\n if (!this.x.red) this.x = this.x.toRed(this.curve.red);\n if (!this.y.red) this.y = this.y.toRed(this.curve.red);\n if (!this.z.red) this.z = this.z.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n}\n$63aabbf7dfa8a956$var$inherits_browser($63aabbf7dfa8a956$var$JPoint, $63aabbf7dfa8a956$var$base.BasePoint);\n$63aabbf7dfa8a956$var$ShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new $63aabbf7dfa8a956$var$JPoint(this, x, y, z);\n};\n$63aabbf7dfa8a956$var$JPoint.prototype.toP = function toP() {\n if (this.isInfinity()) return this.curve.point(null, null);\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n return this.curve.point(ax, ay);\n};\n$63aabbf7dfa8a956$var$JPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n$63aabbf7dfa8a956$var$JPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity()) return p;\n // P + O = P\n if (p.isInfinity()) return this;\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0) return this.curve.jpoint(null, null, null);\n else return this.dbl();\n }\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n};\n$63aabbf7dfa8a956$var$JPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity()) return p.toJ();\n // P + O = P\n if (p.isInfinity()) return this;\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0) return this.curve.jpoint(null, null, null);\n else return this.dbl();\n }\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n return this.curve.jpoint(nx, ny, nz);\n};\n$63aabbf7dfa8a956$var$JPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0) return this;\n if (this.isInfinity()) return this;\n if (!pow) return this.dbl();\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for(i = 0; i < pow; i++)r = r.dbl();\n return r;\n }\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n // Reuse results\n var jyd = jy.redAdd(jy);\n for(i = 0; i < pow; i++){\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow) jz4 = jz4.redMul(jyd4);\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n$63aabbf7dfa8a956$var$JPoint.prototype.dbl = function dbl() {\n if (this.isInfinity()) return this;\n if (this.curve.zeroA) return this._zeroDbl();\n else if (this.curve.threeA) return this._threeDbl();\n else return this._dbl();\n};\n$63aabbf7dfa8a956$var$JPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n return this.curve.jpoint(nx, ny, nz);\n};\n$63aabbf7dfa8a956$var$JPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n return this.curve.jpoint(nx, ny, nz);\n};\n$63aabbf7dfa8a956$var$JPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n return this.curve.jpoint(nx, ny, nz);\n};\n$63aabbf7dfa8a956$var$JPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA) return this.dbl().add(this);\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n return this.curve.jpoint(nx, ny, nz);\n};\n$63aabbf7dfa8a956$var$JPoint.prototype.mul = function mul(k, kbase) {\n k = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(k, kbase);\n return this.curve._wnafMul(this, k);\n};\n$63aabbf7dfa8a956$var$JPoint.prototype.eq = function eq(p) {\n if (p.type === \"affine\") return this.eq(p.toJ());\n if (this === p) return true;\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0) return false;\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n$63aabbf7dfa8a956$var$JPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0) return true;\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for(;;){\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0) return false;\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0) return true;\n }\n};\n$63aabbf7dfa8a956$var$JPoint.prototype.inspect = function inspect() {\n if (this.isInfinity()) return \"\";\n return \"\";\n};\n$63aabbf7dfa8a956$var$JPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\nvar $63aabbf7dfa8a956$var$curve_1 = $63aabbf7dfa8a956$var$createCommonjsModule(function(module, exports) {\n \"use strict\";\n var curve = exports;\n curve.base = $63aabbf7dfa8a956$var$base;\n curve.short = $63aabbf7dfa8a956$var$short_1;\n curve.mont = /*RicMoo:ethers:require(./mont)*/ null;\n curve.edwards = /*RicMoo:ethers:require(./edwards)*/ null;\n});\nvar $63aabbf7dfa8a956$var$curves_1 = $63aabbf7dfa8a956$var$createCommonjsModule(function(module, exports) {\n \"use strict\";\n var curves = exports;\n var assert = $63aabbf7dfa8a956$var$utils_1$1.assert;\n function PresetCurve(options) {\n if (options.type === \"short\") this.curve = new $63aabbf7dfa8a956$var$curve_1.short(options);\n else if (options.type === \"edwards\") this.curve = new $63aabbf7dfa8a956$var$curve_1.edwards(options);\n else this.curve = new $63aabbf7dfa8a956$var$curve_1.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n assert(this.g.validate(), \"Invalid curve\");\n assert(this.g.mul(this.n).isInfinity(), \"Invalid curve, G*N != O\");\n }\n curves.PresetCurve = PresetCurve;\n function defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve\n });\n return curve;\n }\n });\n }\n defineCurve(\"p192\", {\n type: \"short\",\n prime: \"p192\",\n p: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc\",\n b: \"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1\",\n n: \"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831\",\n hash: (0, (/*@__PURE__*/$parcel$interopDefault($kiSKt))).sha256,\n gRed: false,\n g: [\n \"188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012\",\n \"07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811\"\n ]\n });\n defineCurve(\"p224\", {\n type: \"short\",\n prime: \"p224\",\n p: \"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001\",\n a: \"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe\",\n b: \"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4\",\n n: \"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d\",\n hash: (0, (/*@__PURE__*/$parcel$interopDefault($kiSKt))).sha256,\n gRed: false,\n g: [\n \"b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21\",\n \"bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34\"\n ]\n });\n defineCurve(\"p256\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff\",\n a: \"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc\",\n b: \"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b\",\n n: \"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551\",\n hash: (0, (/*@__PURE__*/$parcel$interopDefault($kiSKt))).sha256,\n gRed: false,\n g: [\n \"6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296\",\n \"4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5\"\n ]\n });\n defineCurve(\"p384\", {\n type: \"short\",\n prime: null,\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff\",\n a: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc\",\n b: \"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef\",\n n: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973\",\n hash: (0, (/*@__PURE__*/$parcel$interopDefault($kiSKt))).sha384,\n gRed: false,\n g: [\n \"aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7\",\n \"3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f\"\n ]\n });\n defineCurve(\"p521\", {\n type: \"short\",\n prime: null,\n p: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff\",\n a: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc\",\n b: \"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00\",\n n: \"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409\",\n hash: (0, (/*@__PURE__*/$parcel$interopDefault($kiSKt))).sha512,\n gRed: false,\n g: [\n \"000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66\",\n \"00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650\"\n ]\n });\n defineCurve(\"curve25519\", {\n type: \"mont\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"76d06\",\n b: \"1\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: (0, (/*@__PURE__*/$parcel$interopDefault($kiSKt))).sha256,\n gRed: false,\n g: [\n \"9\"\n ]\n });\n defineCurve(\"ed25519\", {\n type: \"edwards\",\n prime: \"p25519\",\n p: \"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed\",\n a: \"-1\",\n c: \"1\",\n // -121665 * (121666^(-1)) (mod P)\n d: \"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3\",\n n: \"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed\",\n hash: (0, (/*@__PURE__*/$parcel$interopDefault($kiSKt))).sha256,\n gRed: false,\n g: [\n \"216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a\",\n // 4/5\n \"6666666666666666666666666666666666666666666666666666666666666658\"\n ]\n });\n var pre;\n try {\n pre = /*RicMoo:ethers:require(./precomputed/secp256k1)*/ null.crash();\n } catch (e) {\n pre = undefined;\n }\n defineCurve(\"secp256k1\", {\n type: \"short\",\n prime: \"k256\",\n p: \"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f\",\n a: \"0\",\n b: \"7\",\n n: \"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141\",\n h: \"1\",\n hash: (0, (/*@__PURE__*/$parcel$interopDefault($kiSKt))).sha256,\n // Precomputed endomorphism\n beta: \"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee\",\n lambda: \"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72\",\n basis: [\n {\n a: \"3086d221a7d46bcde86c90e49284eb15\",\n b: \"-e4437ed6010e88286f547fa90abfe4c3\"\n },\n {\n a: \"114ca50f7a8e2f3f657c1108d9d44cfd8\",\n b: \"3086d221a7d46bcde86c90e49284eb15\"\n }\n ],\n gRed: false,\n g: [\n \"79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798\",\n \"483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8\",\n pre\n ]\n });\n});\n\"use strict\";\nfunction $63aabbf7dfa8a956$var$HmacDRBG(options) {\n if (!(this instanceof $63aabbf7dfa8a956$var$HmacDRBG)) return new $63aabbf7dfa8a956$var$HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n var entropy = $63aabbf7dfa8a956$var$utils_1.toArray(options.entropy, options.entropyEnc || \"hex\");\n var nonce = $63aabbf7dfa8a956$var$utils_1.toArray(options.nonce, options.nonceEnc || \"hex\");\n var pers = $63aabbf7dfa8a956$var$utils_1.toArray(options.pers, options.persEnc || \"hex\");\n $63aabbf7dfa8a956$var$minimalisticAssert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\");\n this._init(entropy, nonce, pers);\n}\nvar $63aabbf7dfa8a956$var$hmacDrbg = $63aabbf7dfa8a956$var$HmacDRBG;\n$63aabbf7dfa8a956$var$HmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for(var i = 0; i < this.V.length; i++){\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n$63aabbf7dfa8a956$var$HmacDRBG.prototype._hmac = function hmac() {\n return new (0, (/*@__PURE__*/$parcel$interopDefault($kiSKt))).hmac(this.hash, this.K);\n};\n$63aabbf7dfa8a956$var$HmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac().update(this.V).update([\n 0x00\n ]);\n if (seed) kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed) return;\n this.K = this._hmac().update(this.V).update([\n 0x01\n ]).update(seed).digest();\n this.V = this._hmac().update(this.V).digest();\n};\n$63aabbf7dfa8a956$var$HmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== \"string\") {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n entropy = $63aabbf7dfa8a956$var$utils_1.toArray(entropy, entropyEnc);\n add = $63aabbf7dfa8a956$var$utils_1.toArray(add, addEnc);\n $63aabbf7dfa8a956$var$minimalisticAssert(entropy.length >= this.minEntropy / 8, \"Not enough entropy. Minimum is: \" + this.minEntropy + \" bits\");\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n$63aabbf7dfa8a956$var$HmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval) throw new Error(\"Reseed is required\");\n // Optional encoding\n if (typeof enc !== \"string\") {\n addEnc = add;\n add = enc;\n enc = null;\n }\n // Optional additional data\n if (add) {\n add = $63aabbf7dfa8a956$var$utils_1.toArray(add, addEnc || \"hex\");\n this._update(add);\n }\n var temp = [];\n while(temp.length < len){\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return $63aabbf7dfa8a956$var$utils_1.encode(res, enc);\n};\n\"use strict\";\nvar $63aabbf7dfa8a956$var$assert$3 = $63aabbf7dfa8a956$var$utils_1$1.assert;\nfunction $63aabbf7dfa8a956$var$KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv) this._importPrivate(options.priv, options.privEnc);\n if (options.pub) this._importPublic(options.pub, options.pubEnc);\n}\nvar $63aabbf7dfa8a956$var$key = $63aabbf7dfa8a956$var$KeyPair;\n$63aabbf7dfa8a956$var$KeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof $63aabbf7dfa8a956$var$KeyPair) return pub;\n return new $63aabbf7dfa8a956$var$KeyPair(ec, {\n pub: pub,\n pubEnc: enc\n });\n};\n$63aabbf7dfa8a956$var$KeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof $63aabbf7dfa8a956$var$KeyPair) return priv;\n return new $63aabbf7dfa8a956$var$KeyPair(ec, {\n priv: priv,\n privEnc: enc\n });\n};\n$63aabbf7dfa8a956$var$KeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n if (pub.isInfinity()) return {\n result: false,\n reason: \"Invalid public key\"\n };\n if (!pub.validate()) return {\n result: false,\n reason: \"Public key is not a point\"\n };\n if (!pub.mul(this.ec.curve.n).isInfinity()) return {\n result: false,\n reason: \"Public key * N != O\"\n };\n return {\n result: true,\n reason: null\n };\n};\n$63aabbf7dfa8a956$var$KeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === \"string\") {\n enc = compact;\n compact = null;\n }\n if (!this.pub) this.pub = this.ec.g.mul(this.priv);\n if (!enc) return this.pub;\n return this.pub.encode(enc, compact);\n};\n$63aabbf7dfa8a956$var$KeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === \"hex\") return this.priv.toString(16, 2);\n else return this.priv;\n};\n$63aabbf7dfa8a956$var$KeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(key, enc || 16);\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n$63aabbf7dfa8a956$var$KeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === \"mont\") $63aabbf7dfa8a956$var$assert$3(key.x, \"Need x coordinate\");\n else if (this.ec.curve.type === \"short\" || this.ec.curve.type === \"edwards\") $63aabbf7dfa8a956$var$assert$3(key.x && key.y, \"Need both x and y coordinate\");\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n// ECDH\n$63aabbf7dfa8a956$var$KeyPair.prototype.derive = function derive(pub) {\n if (!pub.validate()) $63aabbf7dfa8a956$var$assert$3(pub.validate(), \"public point not validated\");\n return pub.mul(this.priv).getX();\n};\n// ECDSA\n$63aabbf7dfa8a956$var$KeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n$63aabbf7dfa8a956$var$KeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n$63aabbf7dfa8a956$var$KeyPair.prototype.inspect = function inspect() {\n return \"\";\n};\n\"use strict\";\nvar $63aabbf7dfa8a956$var$assert$4 = $63aabbf7dfa8a956$var$utils_1$1.assert;\nfunction $63aabbf7dfa8a956$var$Signature(options, enc) {\n if (options instanceof $63aabbf7dfa8a956$var$Signature) return options;\n if (this._importDER(options, enc)) return;\n $63aabbf7dfa8a956$var$assert$4(options.r && options.s, \"Signature without r or s\");\n this.r = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(options.r, 16);\n this.s = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(options.s, 16);\n if (options.recoveryParam === undefined) this.recoveryParam = null;\n else this.recoveryParam = options.recoveryParam;\n}\nvar $63aabbf7dfa8a956$var$signature = $63aabbf7dfa8a956$var$Signature;\nfunction $63aabbf7dfa8a956$var$Position() {\n this.place = 0;\n}\nfunction $63aabbf7dfa8a956$var$getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) return initial;\n var octetLen = initial & 0xf;\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) return false;\n var val = 0;\n for(var i = 0, off = p.place; i < octetLen; i++, off++){\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n // Leading zeroes\n if (val <= 0x7f) return false;\n p.place = off;\n return val;\n}\nfunction $63aabbf7dfa8a956$var$rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while(!buf[i] && !(buf[i + 1] & 0x80) && i < len)i++;\n if (i === 0) return buf;\n return buf.slice(i);\n}\n$63aabbf7dfa8a956$var$Signature.prototype._importDER = function _importDER(data, enc) {\n data = $63aabbf7dfa8a956$var$utils_1$1.toArray(data, enc);\n var p = new $63aabbf7dfa8a956$var$Position();\n if (data[p.place++] !== 0x30) return false;\n var len = $63aabbf7dfa8a956$var$getLength(data, p);\n if (len === false) return false;\n if (len + p.place !== data.length) return false;\n if (data[p.place++] !== 0x02) return false;\n var rlen = $63aabbf7dfa8a956$var$getLength(data, p);\n if (rlen === false) return false;\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) return false;\n var slen = $63aabbf7dfa8a956$var$getLength(data, p);\n if (slen === false) return false;\n if (data.length !== slen + p.place) return false;\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) r = r.slice(1);\n else // Leading zeroes\n return false;\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) s = s.slice(1);\n else // Leading zeroes\n return false;\n }\n this.r = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(r);\n this.s = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(s);\n this.recoveryParam = null;\n return true;\n};\nfunction $63aabbf7dfa8a956$var$constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while(--octets)arr.push(len >>> (octets << 3) & 0xff);\n arr.push(len);\n}\n$63aabbf7dfa8a956$var$Signature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n // Pad values\n if (r[0] & 0x80) r = [\n 0\n ].concat(r);\n // Pad values\n if (s[0] & 0x80) s = [\n 0\n ].concat(s);\n r = $63aabbf7dfa8a956$var$rmPadding(r);\n s = $63aabbf7dfa8a956$var$rmPadding(s);\n while(!s[0] && !(s[1] & 0x80))s = s.slice(1);\n var arr = [\n 0x02\n ];\n $63aabbf7dfa8a956$var$constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n $63aabbf7dfa8a956$var$constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [\n 0x30\n ];\n $63aabbf7dfa8a956$var$constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return $63aabbf7dfa8a956$var$utils_1$1.encode(res, enc);\n};\n\"use strict\";\nvar $63aabbf7dfa8a956$var$rand = /*RicMoo:ethers:require(brorand)*/ function() {\n throw new Error(\"unsupported\");\n};\nvar $63aabbf7dfa8a956$var$assert$5 = $63aabbf7dfa8a956$var$utils_1$1.assert;\nfunction $63aabbf7dfa8a956$var$EC(options) {\n if (!(this instanceof $63aabbf7dfa8a956$var$EC)) return new $63aabbf7dfa8a956$var$EC(options);\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === \"string\") {\n $63aabbf7dfa8a956$var$assert$5(Object.prototype.hasOwnProperty.call($63aabbf7dfa8a956$var$curves_1, options), \"Unknown curve \" + options);\n options = $63aabbf7dfa8a956$var$curves_1[options];\n }\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof $63aabbf7dfa8a956$var$curves_1.PresetCurve) options = {\n curve: options\n };\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nvar $63aabbf7dfa8a956$var$ec = $63aabbf7dfa8a956$var$EC;\n$63aabbf7dfa8a956$var$EC.prototype.keyPair = function keyPair(options) {\n return new $63aabbf7dfa8a956$var$key(this, options);\n};\n$63aabbf7dfa8a956$var$EC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return $63aabbf7dfa8a956$var$key.fromPrivate(this, priv, enc);\n};\n$63aabbf7dfa8a956$var$EC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return $63aabbf7dfa8a956$var$key.fromPublic(this, pub, enc);\n};\n$63aabbf7dfa8a956$var$EC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options) options = {};\n // Instantiate Hmac_DRBG\n var drbg = new $63aabbf7dfa8a956$var$hmacDrbg({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\",\n entropy: options.entropy || $63aabbf7dfa8a956$var$rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || \"utf8\",\n nonce: this.n.toArray()\n });\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(2));\n for(;;){\n var priv = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0) continue;\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n$63aabbf7dfa8a956$var$EC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0) msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0) return msg.sub(this.n);\n else return msg;\n};\n$63aabbf7dfa8a956$var$EC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === \"object\") {\n options = enc;\n enc = null;\n }\n if (!options) options = {};\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(msg, 16));\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray(\"be\", bytes);\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray(\"be\", bytes);\n // Instantiate Hmac_DRBG\n var drbg = new $63aabbf7dfa8a956$var$hmacDrbg({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || \"utf8\"\n });\n // Number of bytes to generate\n var ns1 = this.n.sub(new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(1));\n for(var iter = 0;; iter++){\n var k = options.k ? options.k(iter) : new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0) continue;\n var kp = this.g.mul(k);\n if (kp.isInfinity()) continue;\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0) continue;\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0) continue;\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) | (kpX.cmp(r) !== 0 ? 2 : 0);\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n return new $63aabbf7dfa8a956$var$signature({\n r: r,\n s: s,\n recoveryParam: recoveryParam\n });\n }\n};\n$63aabbf7dfa8a956$var$EC.prototype.verify = function verify(msg, signature$1, key, enc) {\n msg = this._truncateToN(new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature$1 = new $63aabbf7dfa8a956$var$signature(signature$1, \"hex\");\n // Perform primitive values validation\n var r = signature$1.r;\n var s = signature$1.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0) return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0) return false;\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity()) return false;\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity()) return false;\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n$63aabbf7dfa8a956$var$EC.prototype.recoverPubKey = function(msg, signature$1, j, enc) {\n $63aabbf7dfa8a956$var$assert$5((3 & j) === j, \"The recovery param is more than two bits\");\n signature$1 = new $63aabbf7dfa8a956$var$signature(signature$1, enc);\n var n = this.n;\n var e = new (0, (/*@__PURE__*/$parcel$interopDefault($dEXSZ)))(msg);\n var r = signature$1.r;\n var s = signature$1.s;\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey) throw new Error(\"Unable to find sencond key candinate\");\n // 1.1. Let x = r + jn.\n if (isSecondKey) r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else r = this.curve.pointFromX(r, isYOdd);\n var rInv = signature$1.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n$63aabbf7dfa8a956$var$EC.prototype.getKeyRecoveryParam = function(e, signature$1, Q, enc) {\n signature$1 = new $63aabbf7dfa8a956$var$signature(signature$1, enc);\n if (signature$1.recoveryParam !== null) return signature$1.recoveryParam;\n for(var i = 0; i < 4; i++){\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature$1, i);\n } catch (e) {\n continue;\n }\n if (Qprime.eq(Q)) return i;\n }\n throw new Error(\"Unable to find valid recovery factor\");\n};\nvar $63aabbf7dfa8a956$var$elliptic_1 = $63aabbf7dfa8a956$var$createCommonjsModule(function(module, exports) {\n \"use strict\";\n var elliptic = exports;\n elliptic.version = \"6.5.4\";\n elliptic.utils = $63aabbf7dfa8a956$var$utils_1$1;\n elliptic.rand = /*RicMoo:ethers:require(brorand)*/ function() {\n throw new Error(\"unsupported\");\n };\n elliptic.curve = $63aabbf7dfa8a956$var$curve_1;\n elliptic.curves = $63aabbf7dfa8a956$var$curves_1;\n // Protocols\n elliptic.ec = $63aabbf7dfa8a956$var$ec;\n elliptic.eddsa = /*RicMoo:ethers:require(./elliptic/eddsa)*/ null;\n});\nvar $63aabbf7dfa8a956$export$129fe12d32abc311 = $63aabbf7dfa8a956$var$elliptic_1.ec;\n\n});\n\nparcelRequire.register(\"eaG84\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $a512adda7ad1dfdc$export$83d89fbfd8236492);\nconst $a512adda7ad1dfdc$export$83d89fbfd8236492 = \"signing-key/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"cmrHY\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $8ffd0867b0da9487$export$83d89fbfd8236492);\nconst $8ffd0867b0da9487$export$83d89fbfd8236492 = \"transactions/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"jnIQZ\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $e1c2f54bf01974f7$export$83d89fbfd8236492);\nconst $e1c2f54bf01974f7$export$83d89fbfd8236492 = \"contracts/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"1f1He\", function(module, exports) {\n\n$parcel$export(module.exports, \"AbiCoder\", () => (parcelRequire(\"45kY3\")).AbiCoder);\n$parcel$export(module.exports, \"defaultAbiCoder\", () => (parcelRequire(\"45kY3\")).defaultAbiCoder);\n$parcel$export(module.exports, \"Fragment\", () => (parcelRequire(\"bB9qw\")).Fragment);\n$parcel$export(module.exports, \"ConstructorFragment\", () => (parcelRequire(\"bB9qw\")).ConstructorFragment);\n$parcel$export(module.exports, \"ErrorFragment\", () => (parcelRequire(\"bB9qw\")).ErrorFragment);\n$parcel$export(module.exports, \"EventFragment\", () => (parcelRequire(\"bB9qw\")).EventFragment);\n$parcel$export(module.exports, \"FunctionFragment\", () => (parcelRequire(\"bB9qw\")).FunctionFragment);\n$parcel$export(module.exports, \"ParamType\", () => (parcelRequire(\"bB9qw\")).ParamType);\n$parcel$export(module.exports, \"FormatTypes\", () => (parcelRequire(\"bB9qw\")).FormatTypes);\n$parcel$export(module.exports, \"checkResultErrors\", () => (parcelRequire(\"3Mwuv\")).checkResultErrors);\n$parcel$export(module.exports, \"Logger\", () => (parcelRequire(\"d1hml\")).Logger);\n$parcel$export(module.exports, \"RLP\", () => (parcelRequire(\"9BTKH\")));\n$parcel$export(module.exports, \"_fetchData\", () => (parcelRequire(\"6BV0e\"))._fetchData);\n$parcel$export(module.exports, \"fetchJson\", () => (parcelRequire(\"6BV0e\")).fetchJson);\n$parcel$export(module.exports, \"poll\", () => (parcelRequire(\"6BV0e\")).poll);\n$parcel$export(module.exports, \"checkProperties\", () => (parcelRequire(\"e72ut\")).checkProperties);\n$parcel$export(module.exports, \"deepCopy\", () => (parcelRequire(\"e72ut\")).deepCopy);\n$parcel$export(module.exports, \"defineReadOnly\", () => (parcelRequire(\"e72ut\")).defineReadOnly);\n$parcel$export(module.exports, \"getStatic\", () => (parcelRequire(\"e72ut\")).getStatic);\n$parcel$export(module.exports, \"resolveProperties\", () => (parcelRequire(\"e72ut\")).resolveProperties);\n$parcel$export(module.exports, \"shallowCopy\", () => (parcelRequire(\"e72ut\")).shallowCopy);\n$parcel$export(module.exports, \"arrayify\", () => (parcelRequire(\"aBzgs\")).arrayify);\n$parcel$export(module.exports, \"concat\", () => (parcelRequire(\"aBzgs\")).concat);\n$parcel$export(module.exports, \"stripZeros\", () => (parcelRequire(\"aBzgs\")).stripZeros);\n$parcel$export(module.exports, \"zeroPad\", () => (parcelRequire(\"aBzgs\")).zeroPad);\n$parcel$export(module.exports, \"isBytes\", () => (parcelRequire(\"aBzgs\")).isBytes);\n$parcel$export(module.exports, \"isBytesLike\", () => (parcelRequire(\"aBzgs\")).isBytesLike);\n$parcel$export(module.exports, \"defaultPath\", () => (parcelRequire(\"iyMjQ\")).defaultPath);\n$parcel$export(module.exports, \"HDNode\", () => (parcelRequire(\"iyMjQ\")).HDNode);\n$parcel$export(module.exports, \"SigningKey\", () => (parcelRequire(\"lWFPp\")).SigningKey);\n$parcel$export(module.exports, \"Interface\", () => (parcelRequire(\"kzlBy\")).Interface);\n$parcel$export(module.exports, \"LogDescription\", () => (parcelRequire(\"kzlBy\")).LogDescription);\n$parcel$export(module.exports, \"TransactionDescription\", () => (parcelRequire(\"kzlBy\")).TransactionDescription);\n$parcel$export(module.exports, \"base58\", () => (parcelRequire(\"5tyfw\")).Base58);\n$parcel$export(module.exports, \"base64\", () => (parcelRequire(\"eGcmO\")));\n$parcel$export(module.exports, \"hexlify\", () => (parcelRequire(\"aBzgs\")).hexlify);\n$parcel$export(module.exports, \"isHexString\", () => (parcelRequire(\"aBzgs\")).isHexString);\n$parcel$export(module.exports, \"hexConcat\", () => (parcelRequire(\"aBzgs\")).hexConcat);\n$parcel$export(module.exports, \"hexStripZeros\", () => (parcelRequire(\"aBzgs\")).hexStripZeros);\n$parcel$export(module.exports, \"hexValue\", () => (parcelRequire(\"aBzgs\")).hexValue);\n$parcel$export(module.exports, \"hexZeroPad\", () => (parcelRequire(\"aBzgs\")).hexZeroPad);\n$parcel$export(module.exports, \"hexDataLength\", () => (parcelRequire(\"aBzgs\")).hexDataLength);\n$parcel$export(module.exports, \"hexDataSlice\", () => (parcelRequire(\"aBzgs\")).hexDataSlice);\n$parcel$export(module.exports, \"nameprep\", () => (parcelRequire(\"dvY5r\")).nameprep);\n$parcel$export(module.exports, \"_toEscapedUtf8String\", () => (parcelRequire(\"fkVsY\"))._toEscapedUtf8String);\n$parcel$export(module.exports, \"toUtf8Bytes\", () => (parcelRequire(\"fkVsY\")).toUtf8Bytes);\n$parcel$export(module.exports, \"toUtf8CodePoints\", () => (parcelRequire(\"fkVsY\")).toUtf8CodePoints);\n$parcel$export(module.exports, \"toUtf8String\", () => (parcelRequire(\"fkVsY\")).toUtf8String);\n$parcel$export(module.exports, \"Utf8ErrorFuncs\", () => (parcelRequire(\"fkVsY\")).Utf8ErrorFuncs);\n$parcel$export(module.exports, \"formatBytes32String\", () => (parcelRequire(\"jaF8b\")).formatBytes32String);\n$parcel$export(module.exports, \"parseBytes32String\", () => (parcelRequire(\"jaF8b\")).parseBytes32String);\n$parcel$export(module.exports, \"dnsEncode\", () => (parcelRequire(\"8s7ds\")).dnsEncode);\n$parcel$export(module.exports, \"hashMessage\", () => (parcelRequire(\"iz1PA\")).hashMessage);\n$parcel$export(module.exports, \"namehash\", () => (parcelRequire(\"8s7ds\")).namehash);\n$parcel$export(module.exports, \"isValidName\", () => (parcelRequire(\"8s7ds\")).isValidName);\n$parcel$export(module.exports, \"id\", () => (parcelRequire(\"aIo2D\")).id);\n$parcel$export(module.exports, \"_TypedDataEncoder\", () => (parcelRequire(\"a2n8k\")).TypedDataEncoder);\n$parcel$export(module.exports, \"getAddress\", () => (parcelRequire(\"bVwUc\")).getAddress);\n$parcel$export(module.exports, \"getIcapAddress\", () => (parcelRequire(\"bVwUc\")).getIcapAddress);\n$parcel$export(module.exports, \"getContractAddress\", () => (parcelRequire(\"bVwUc\")).getContractAddress);\n$parcel$export(module.exports, \"getCreate2Address\", () => (parcelRequire(\"bVwUc\")).getCreate2Address);\n$parcel$export(module.exports, \"isAddress\", () => (parcelRequire(\"bVwUc\")).isAddress);\n$parcel$export(module.exports, \"formatEther\", () => (parcelRequire(\"gvpJp\")).formatEther);\n$parcel$export(module.exports, \"parseEther\", () => (parcelRequire(\"gvpJp\")).parseEther);\n$parcel$export(module.exports, \"formatUnits\", () => (parcelRequire(\"gvpJp\")).formatUnits);\n$parcel$export(module.exports, \"parseUnits\", () => (parcelRequire(\"gvpJp\")).parseUnits);\n$parcel$export(module.exports, \"commify\", () => (parcelRequire(\"gvpJp\")).commify);\n$parcel$export(module.exports, \"computeHmac\", () => (parcelRequire(\"g67nD\")).computeHmac);\n$parcel$export(module.exports, \"keccak256\", () => (parcelRequire(\"2yhyU\")).keccak256);\n$parcel$export(module.exports, \"ripemd160\", () => (parcelRequire(\"g67nD\")).ripemd160);\n$parcel$export(module.exports, \"sha256\", () => (parcelRequire(\"g67nD\")).sha256);\n$parcel$export(module.exports, \"sha512\", () => (parcelRequire(\"g67nD\")).sha512);\n$parcel$export(module.exports, \"randomBytes\", () => (parcelRequire(\"hWtVn\")).randomBytes);\n$parcel$export(module.exports, \"shuffled\", () => (parcelRequire(\"iW3ip\")).shuffled);\n$parcel$export(module.exports, \"solidityPack\", () => (parcelRequire(\"iYAoV\")).pack);\n$parcel$export(module.exports, \"solidityKeccak256\", () => (parcelRequire(\"iYAoV\")).keccak256);\n$parcel$export(module.exports, \"soliditySha256\", () => (parcelRequire(\"iYAoV\")).sha256);\n$parcel$export(module.exports, \"splitSignature\", () => (parcelRequire(\"aBzgs\")).splitSignature);\n$parcel$export(module.exports, \"joinSignature\", () => (parcelRequire(\"aBzgs\")).joinSignature);\n$parcel$export(module.exports, \"accessListify\", () => (parcelRequire(\"TyNFl\")).accessListify);\n$parcel$export(module.exports, \"parseTransaction\", () => (parcelRequire(\"TyNFl\")).parse);\n$parcel$export(module.exports, \"serializeTransaction\", () => (parcelRequire(\"TyNFl\")).serialize);\n$parcel$export(module.exports, \"TransactionTypes\", () => (parcelRequire(\"TyNFl\")).TransactionTypes);\n$parcel$export(module.exports, \"getJsonWalletAddress\", () => (parcelRequire(\"jpzbw\")).getJsonWalletAddress);\n$parcel$export(module.exports, \"computeAddress\", () => (parcelRequire(\"TyNFl\")).computeAddress);\n$parcel$export(module.exports, \"recoverAddress\", () => (parcelRequire(\"TyNFl\")).recoverAddress);\n$parcel$export(module.exports, \"computePublicKey\", () => (parcelRequire(\"lWFPp\")).computePublicKey);\n$parcel$export(module.exports, \"recoverPublicKey\", () => (parcelRequire(\"lWFPp\")).recoverPublicKey);\n$parcel$export(module.exports, \"verifyMessage\", () => (parcelRequire(\"5utYt\")).verifyMessage);\n$parcel$export(module.exports, \"verifyTypedData\", () => (parcelRequire(\"5utYt\")).verifyTypedData);\n$parcel$export(module.exports, \"getAccountPath\", () => (parcelRequire(\"iyMjQ\")).getAccountPath);\n$parcel$export(module.exports, \"mnemonicToEntropy\", () => (parcelRequire(\"iyMjQ\")).mnemonicToEntropy);\n$parcel$export(module.exports, \"entropyToMnemonic\", () => (parcelRequire(\"iyMjQ\")).entropyToMnemonic);\n$parcel$export(module.exports, \"isValidMnemonic\", () => (parcelRequire(\"iyMjQ\")).isValidMnemonic);\n$parcel$export(module.exports, \"mnemonicToSeed\", () => (parcelRequire(\"iyMjQ\")).mnemonicToSeed);\n$parcel$export(module.exports, \"SupportedAlgorithm\", () => (parcelRequire(\"iLptM\")).SupportedAlgorithm);\n$parcel$export(module.exports, \"UnicodeNormalizationForm\", () => (parcelRequire(\"fkVsY\")).UnicodeNormalizationForm);\n$parcel$export(module.exports, \"Utf8ErrorReason\", () => (parcelRequire(\"fkVsY\")).Utf8ErrorReason);\n$parcel$export(module.exports, \"Indexed\", () => (parcelRequire(\"kzlBy\")).Indexed);\n\nvar $45kY3 = parcelRequire(\"45kY3\");\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\nvar $bB9qw = parcelRequire(\"bB9qw\");\nvar $kzlBy = parcelRequire(\"kzlBy\");\n\nvar $bVwUc = parcelRequire(\"bVwUc\");\n\nvar $eGcmO = parcelRequire(\"eGcmO\");\n\nvar $5tyfw = parcelRequire(\"5tyfw\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $a2n8k = parcelRequire(\"a2n8k\");\nvar $8s7ds = parcelRequire(\"8s7ds\");\nvar $iz1PA = parcelRequire(\"iz1PA\");\nvar $aIo2D = parcelRequire(\"aIo2D\");\n\nvar $iyMjQ = parcelRequire(\"iyMjQ\");\n\nvar $jpzbw = parcelRequire(\"jpzbw\");\n\nvar $2yhyU = parcelRequire(\"2yhyU\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $g67nD = parcelRequire(\"g67nD\");\nvar $iLptM = parcelRequire(\"iLptM\");\n\nvar $iYAoV = parcelRequire(\"iYAoV\");\n\nvar $hWtVn = parcelRequire(\"hWtVn\");\nvar $iW3ip = parcelRequire(\"iW3ip\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $9BTKH = parcelRequire(\"9BTKH\");\n\nvar $lWFPp = parcelRequire(\"lWFPp\");\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\nvar $jaF8b = parcelRequire(\"jaF8b\");\nvar $dvY5r = parcelRequire(\"dvY5r\");\n\nvar $TyNFl = parcelRequire(\"TyNFl\");\n\nvar $gvpJp = parcelRequire(\"gvpJp\");\n\nvar $5utYt = parcelRequire(\"5utYt\");\n\nvar $6BV0e = parcelRequire(\"6BV0e\");\n\"use strict\";\n\n});\nparcelRequire.register(\"eGcmO\", function(module, exports) {\n\n$parcel$export(module.exports, \"decode\", () => (parcelRequire(\"2vfMQ\")).decode);\n$parcel$export(module.exports, \"encode\", () => (parcelRequire(\"2vfMQ\")).encode);\n\nvar $2vfMQ = parcelRequire(\"2vfMQ\");\n\"use strict\";\n\n});\nparcelRequire.register(\"2vfMQ\", function(module, exports) {\n\n$parcel$export(module.exports, \"decode\", () => $1d2ab8f2156e640e$export$2f872c0f2117be69);\n$parcel$export(module.exports, \"encode\", () => $1d2ab8f2156e640e$export$c564cdbbe6da493);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\"use strict\";\nfunction $1d2ab8f2156e640e$export$2f872c0f2117be69(textData) {\n textData = atob(textData);\n const data = [];\n for(let i = 0; i < textData.length; i++)data.push(textData.charCodeAt(i));\n return (0, $aBzgs.arrayify)(data);\n}\nfunction $1d2ab8f2156e640e$export$c564cdbbe6da493(data) {\n data = (0, $aBzgs.arrayify)(data);\n let textData = \"\";\n for(let i = 0; i < data.length; i++)textData += String.fromCharCode(data[i]);\n return btoa(textData);\n}\n\n});\n\n\nparcelRequire.register(\"5tyfw\", function(module, exports) {\n\n$parcel$export(module.exports, \"Base58\", () => $3fca3a6183b20b71$export$45a587635c9954b2);\n/**\n * var basex = require(\"base-x\");\n *\n * This implementation is heavily based on base-x. The main reason to\n * deviate was to prevent the dependency of Buffer.\n *\n * Contributors:\n *\n * base-x encoding\n * Forked from https://github.com/cryptocoinjs/bs58\n * Originally written by Mike Hearn for BitcoinJ\n * Copyright (c) 2011 Google Inc\n * Ported to JavaScript by Stefan Thomas\n * Merged Buffer refactorings from base58-native by Stephen Pair\n * Copyright (c) 2013 BitPay Inc\n *\n * The MIT License (MIT)\n *\n * Copyright base-x contributors (c) 2016\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n */ \nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\nclass $3fca3a6183b20b71$export$240043ab8e806ec7 {\n constructor(alphabet){\n (0, $e72ut.defineReadOnly)(this, \"alphabet\", alphabet);\n (0, $e72ut.defineReadOnly)(this, \"base\", alphabet.length);\n (0, $e72ut.defineReadOnly)(this, \"_alphabetMap\", {});\n (0, $e72ut.defineReadOnly)(this, \"_leader\", alphabet.charAt(0));\n // pre-compute lookup table\n for(let i = 0; i < alphabet.length; i++)this._alphabetMap[alphabet.charAt(i)] = i;\n }\n encode(value) {\n let source = (0, $aBzgs.arrayify)(value);\n if (source.length === 0) return \"\";\n let digits = [\n 0\n ];\n for(let i = 0; i < source.length; ++i){\n let carry = source[i];\n for(let j = 0; j < digits.length; ++j){\n carry += digits[j] << 8;\n digits[j] = carry % this.base;\n carry = carry / this.base | 0;\n }\n while(carry > 0){\n digits.push(carry % this.base);\n carry = carry / this.base | 0;\n }\n }\n let string = \"\";\n // deal with leading zeros\n for(let k = 0; source[k] === 0 && k < source.length - 1; ++k)string += this._leader;\n // convert digits to a string\n for(let q = digits.length - 1; q >= 0; --q)string += this.alphabet[digits[q]];\n return string;\n }\n decode(value) {\n if (typeof value !== \"string\") throw new TypeError(\"Expected String\");\n let bytes = [];\n if (value.length === 0) return new Uint8Array(bytes);\n bytes.push(0);\n for(let i = 0; i < value.length; i++){\n let byte = this._alphabetMap[value[i]];\n if (byte === undefined) throw new Error(\"Non-base\" + this.base + \" character\");\n let carry = byte;\n for(let j = 0; j < bytes.length; ++j){\n carry += bytes[j] * this.base;\n bytes[j] = carry & 0xff;\n carry >>= 8;\n }\n while(carry > 0){\n bytes.push(carry & 0xff);\n carry >>= 8;\n }\n }\n // deal with leading zeros\n for(let k = 0; value[k] === this._leader && k < value.length - 1; ++k)bytes.push(0);\n return (0, $aBzgs.arrayify)(new Uint8Array(bytes.reverse()));\n }\n}\nconst $3fca3a6183b20b71$export$cfabb2852920f5ec = new $3fca3a6183b20b71$export$240043ab8e806ec7(\"abcdefghijklmnopqrstuvwxyz234567\");\nconst $3fca3a6183b20b71$export$45a587635c9954b2 = new $3fca3a6183b20b71$export$240043ab8e806ec7(\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\");\n //console.log(Base58.decode(\"Qmd2V777o5XvJbYMeMb8k2nU5f8d3ciUQ5YpYuWhzv8iDj\"))\n //console.log(Base58.encode(Base58.decode(\"Qmd2V777o5XvJbYMeMb8k2nU5f8d3ciUQ5YpYuWhzv8iDj\")))\n\n});\n\nparcelRequire.register(\"a2n8k\", function(module, exports) {\n\n$parcel$export(module.exports, \"TypedDataEncoder\", () => $74ec091a01b8d3e1$export$458ab927ae635c3);\n\nvar $bVwUc = parcelRequire(\"bVwUc\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $2yhyU = parcelRequire(\"2yhyU\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $4RnZg = parcelRequire(\"4RnZg\");\n\nvar $aIo2D = parcelRequire(\"aIo2D\");\nvar $74ec091a01b8d3e1$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $74ec091a01b8d3e1$var$logger = new (0, $d1hml.Logger)((0, $4RnZg.version));\nconst $74ec091a01b8d3e1$var$padding = new Uint8Array(32);\n$74ec091a01b8d3e1$var$padding.fill(0);\nconst $74ec091a01b8d3e1$var$NegativeOne = (0, $1chjt.BigNumber).from(-1);\nconst $74ec091a01b8d3e1$var$Zero = (0, $1chjt.BigNumber).from(0);\nconst $74ec091a01b8d3e1$var$One = (0, $1chjt.BigNumber).from(1);\nconst $74ec091a01b8d3e1$var$MaxUint256 = (0, $1chjt.BigNumber).from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\nfunction $74ec091a01b8d3e1$var$hexPadRight(value) {\n const bytes = (0, $aBzgs.arrayify)(value);\n const padOffset = bytes.length % 32;\n if (padOffset) return (0, $aBzgs.hexConcat)([\n bytes,\n $74ec091a01b8d3e1$var$padding.slice(padOffset)\n ]);\n return (0, $aBzgs.hexlify)(bytes);\n}\nconst $74ec091a01b8d3e1$var$hexTrue = (0, $aBzgs.hexZeroPad)($74ec091a01b8d3e1$var$One.toHexString(), 32);\nconst $74ec091a01b8d3e1$var$hexFalse = (0, $aBzgs.hexZeroPad)($74ec091a01b8d3e1$var$Zero.toHexString(), 32);\nconst $74ec091a01b8d3e1$var$domainFieldTypes = {\n name: \"string\",\n version: \"string\",\n chainId: \"uint256\",\n verifyingContract: \"address\",\n salt: \"bytes32\"\n};\nconst $74ec091a01b8d3e1$var$domainFieldNames = [\n \"name\",\n \"version\",\n \"chainId\",\n \"verifyingContract\",\n \"salt\"\n];\nfunction $74ec091a01b8d3e1$var$checkString(key) {\n return function(value) {\n if (typeof value !== \"string\") $74ec091a01b8d3e1$var$logger.throwArgumentError(`invalid domain value for ${JSON.stringify(key)}`, `domain.${key}`, value);\n return value;\n };\n}\nconst $74ec091a01b8d3e1$var$domainChecks = {\n name: $74ec091a01b8d3e1$var$checkString(\"name\"),\n version: $74ec091a01b8d3e1$var$checkString(\"version\"),\n chainId: function(value) {\n try {\n return (0, $1chjt.BigNumber).from(value).toString();\n } catch (error) {}\n return $74ec091a01b8d3e1$var$logger.throwArgumentError(`invalid domain value for \"chainId\"`, \"domain.chainId\", value);\n },\n verifyingContract: function(value) {\n try {\n return (0, $bVwUc.getAddress)(value).toLowerCase();\n } catch (error) {}\n return $74ec091a01b8d3e1$var$logger.throwArgumentError(`invalid domain value \"verifyingContract\"`, \"domain.verifyingContract\", value);\n },\n salt: function(value) {\n try {\n const bytes = (0, $aBzgs.arrayify)(value);\n if (bytes.length !== 32) throw new Error(\"bad length\");\n return (0, $aBzgs.hexlify)(bytes);\n } catch (error) {}\n return $74ec091a01b8d3e1$var$logger.throwArgumentError(`invalid domain value \"salt\"`, \"domain.salt\", value);\n }\n};\nfunction $74ec091a01b8d3e1$var$getBaseEncoder(type) {\n // intXX and uintXX\n {\n const match = type.match(/^(u?)int(\\d*)$/);\n if (match) {\n const signed = match[1] === \"\";\n const width = parseInt(match[2] || \"256\");\n if (width % 8 !== 0 || width > 256 || match[2] && match[2] !== String(width)) $74ec091a01b8d3e1$var$logger.throwArgumentError(\"invalid numeric width\", \"type\", type);\n const boundsUpper = $74ec091a01b8d3e1$var$MaxUint256.mask(signed ? width - 1 : width);\n const boundsLower = signed ? boundsUpper.add($74ec091a01b8d3e1$var$One).mul($74ec091a01b8d3e1$var$NegativeOne) : $74ec091a01b8d3e1$var$Zero;\n return function(value) {\n const v = (0, $1chjt.BigNumber).from(value);\n if (v.lt(boundsLower) || v.gt(boundsUpper)) $74ec091a01b8d3e1$var$logger.throwArgumentError(`value out-of-bounds for ${type}`, \"value\", value);\n return (0, $aBzgs.hexZeroPad)(v.toTwos(256).toHexString(), 32);\n };\n }\n }\n // bytesXX\n {\n const match = type.match(/^bytes(\\d+)$/);\n if (match) {\n const width = parseInt(match[1]);\n if (width === 0 || width > 32 || match[1] !== String(width)) $74ec091a01b8d3e1$var$logger.throwArgumentError(\"invalid bytes width\", \"type\", type);\n return function(value) {\n const bytes = (0, $aBzgs.arrayify)(value);\n if (bytes.length !== width) $74ec091a01b8d3e1$var$logger.throwArgumentError(`invalid length for ${type}`, \"value\", value);\n return $74ec091a01b8d3e1$var$hexPadRight(value);\n };\n }\n }\n switch(type){\n case \"address\":\n return function(value) {\n return (0, $aBzgs.hexZeroPad)((0, $bVwUc.getAddress)(value), 32);\n };\n case \"bool\":\n return function(value) {\n return !value ? $74ec091a01b8d3e1$var$hexFalse : $74ec091a01b8d3e1$var$hexTrue;\n };\n case \"bytes\":\n return function(value) {\n return (0, $2yhyU.keccak256)(value);\n };\n case \"string\":\n return function(value) {\n return (0, $aIo2D.id)(value);\n };\n }\n return null;\n}\nfunction $74ec091a01b8d3e1$var$encodeType(name, fields) {\n return `${name}(${fields.map(({ name: name , type: type })=>type + \" \" + name).join(\",\")})`;\n}\nclass $74ec091a01b8d3e1$export$458ab927ae635c3 {\n constructor(types){\n (0, $e72ut.defineReadOnly)(this, \"types\", Object.freeze((0, $e72ut.deepCopy)(types)));\n (0, $e72ut.defineReadOnly)(this, \"_encoderCache\", {});\n (0, $e72ut.defineReadOnly)(this, \"_types\", {});\n // Link struct types to their direct child structs\n const links = {};\n // Link structs to structs which contain them as a child\n const parents = {};\n // Link all subtypes within a given struct\n const subtypes = {};\n Object.keys(types).forEach((type)=>{\n links[type] = {};\n parents[type] = [];\n subtypes[type] = {};\n });\n for(const name in types){\n const uniqueNames = {};\n types[name].forEach((field)=>{\n // Check each field has a unique name\n if (uniqueNames[field.name]) $74ec091a01b8d3e1$var$logger.throwArgumentError(`duplicate variable name ${JSON.stringify(field.name)} in ${JSON.stringify(name)}`, \"types\", types);\n uniqueNames[field.name] = true;\n // Get the base type (drop any array specifiers)\n const baseType = field.type.match(/^([^\\x5b]*)(\\x5b|$)/)[1];\n if (baseType === name) $74ec091a01b8d3e1$var$logger.throwArgumentError(`circular type reference to ${JSON.stringify(baseType)}`, \"types\", types);\n // Is this a base encoding type?\n const encoder = $74ec091a01b8d3e1$var$getBaseEncoder(baseType);\n if (encoder) return;\n if (!parents[baseType]) $74ec091a01b8d3e1$var$logger.throwArgumentError(`unknown type ${JSON.stringify(baseType)}`, \"types\", types);\n // Add linkage\n parents[baseType].push(name);\n links[name][baseType] = true;\n });\n }\n // Deduce the primary type\n const primaryTypes = Object.keys(parents).filter((n)=>parents[n].length === 0);\n if (primaryTypes.length === 0) $74ec091a01b8d3e1$var$logger.throwArgumentError(\"missing primary type\", \"types\", types);\n else if (primaryTypes.length > 1) $74ec091a01b8d3e1$var$logger.throwArgumentError(`ambiguous primary types or unused types: ${primaryTypes.map((t)=>JSON.stringify(t)).join(\", \")}`, \"types\", types);\n (0, $e72ut.defineReadOnly)(this, \"primaryType\", primaryTypes[0]);\n // Check for circular type references\n function checkCircular(type, found) {\n if (found[type]) $74ec091a01b8d3e1$var$logger.throwArgumentError(`circular type reference to ${JSON.stringify(type)}`, \"types\", types);\n found[type] = true;\n Object.keys(links[type]).forEach((child)=>{\n if (!parents[child]) return;\n // Recursively check children\n checkCircular(child, found);\n // Mark all ancestors as having this decendant\n Object.keys(found).forEach((subtype)=>{\n subtypes[subtype][child] = true;\n });\n });\n delete found[type];\n }\n checkCircular(this.primaryType, {});\n // Compute each fully describe type\n for(const name in subtypes){\n const st = Object.keys(subtypes[name]);\n st.sort();\n this._types[name] = $74ec091a01b8d3e1$var$encodeType(name, types[name]) + st.map((t)=>$74ec091a01b8d3e1$var$encodeType(t, types[t])).join(\"\");\n }\n }\n getEncoder(type) {\n let encoder = this._encoderCache[type];\n if (!encoder) encoder = this._encoderCache[type] = this._getEncoder(type);\n return encoder;\n }\n _getEncoder(type) {\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = $74ec091a01b8d3e1$var$getBaseEncoder(type);\n if (encoder) return encoder;\n }\n // Array\n const match = type.match(/^(.*)(\\x5b(\\d*)\\x5d)$/);\n if (match) {\n const subtype = match[1];\n const subEncoder = this.getEncoder(subtype);\n const length = parseInt(match[3]);\n return (value)=>{\n if (length >= 0 && value.length !== length) $74ec091a01b8d3e1$var$logger.throwArgumentError(\"array length mismatch; expected length ${ arrayLength }\", \"value\", value);\n let result = value.map(subEncoder);\n if (this._types[subtype]) result = result.map((0, $2yhyU.keccak256));\n return (0, $2yhyU.keccak256)((0, $aBzgs.hexConcat)(result));\n };\n }\n // Struct\n const fields = this.types[type];\n if (fields) {\n const encodedType = (0, $aIo2D.id)(this._types[type]);\n return (value)=>{\n const values = fields.map(({ name: name , type: type })=>{\n const result = this.getEncoder(type)(value[name]);\n if (this._types[type]) return (0, $2yhyU.keccak256)(result);\n return result;\n });\n values.unshift(encodedType);\n return (0, $aBzgs.hexConcat)(values);\n };\n }\n return $74ec091a01b8d3e1$var$logger.throwArgumentError(`unknown type: ${type}`, \"type\", type);\n }\n encodeType(name) {\n const result = this._types[name];\n if (!result) $74ec091a01b8d3e1$var$logger.throwArgumentError(`unknown type: ${JSON.stringify(name)}`, \"name\", name);\n return result;\n }\n encodeData(type, value) {\n return this.getEncoder(type)(value);\n }\n hashStruct(name, value) {\n return (0, $2yhyU.keccak256)(this.encodeData(name, value));\n }\n encode(value) {\n return this.encodeData(this.primaryType, value);\n }\n hash(value) {\n return this.hashStruct(this.primaryType, value);\n }\n _visit(type, value, callback) {\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = $74ec091a01b8d3e1$var$getBaseEncoder(type);\n if (encoder) return callback(type, value);\n }\n // Array\n const match = type.match(/^(.*)(\\x5b(\\d*)\\x5d)$/);\n if (match) {\n const subtype = match[1];\n const length = parseInt(match[3]);\n if (length >= 0 && value.length !== length) $74ec091a01b8d3e1$var$logger.throwArgumentError(\"array length mismatch; expected length ${ arrayLength }\", \"value\", value);\n return value.map((v)=>this._visit(subtype, v, callback));\n }\n // Struct\n const fields = this.types[type];\n if (fields) return fields.reduce((accum, { name: name , type: type })=>{\n accum[name] = this._visit(type, value[name], callback);\n return accum;\n }, {});\n return $74ec091a01b8d3e1$var$logger.throwArgumentError(`unknown type: ${type}`, \"type\", type);\n }\n visit(value, callback) {\n return this._visit(this.primaryType, value, callback);\n }\n static from(types) {\n return new $74ec091a01b8d3e1$export$458ab927ae635c3(types);\n }\n static getPrimaryType(types) {\n return $74ec091a01b8d3e1$export$458ab927ae635c3.from(types).primaryType;\n }\n static hashStruct(name, types, value) {\n return $74ec091a01b8d3e1$export$458ab927ae635c3.from(types).hashStruct(name, value);\n }\n static hashDomain(domain) {\n const domainFields = [];\n for(const name in domain){\n const type = $74ec091a01b8d3e1$var$domainFieldTypes[name];\n if (!type) $74ec091a01b8d3e1$var$logger.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(name)}`, \"domain\", domain);\n domainFields.push({\n name: name,\n type: type\n });\n }\n domainFields.sort((a, b)=>{\n return $74ec091a01b8d3e1$var$domainFieldNames.indexOf(a.name) - $74ec091a01b8d3e1$var$domainFieldNames.indexOf(b.name);\n });\n return $74ec091a01b8d3e1$export$458ab927ae635c3.hashStruct(\"EIP712Domain\", {\n EIP712Domain: domainFields\n }, domain);\n }\n static encode(domain, types, value) {\n return (0, $aBzgs.hexConcat)([\n \"0x1901\",\n $74ec091a01b8d3e1$export$458ab927ae635c3.hashDomain(domain),\n $74ec091a01b8d3e1$export$458ab927ae635c3.from(types).hash(value)\n ]);\n }\n static hash(domain, types, value) {\n return (0, $2yhyU.keccak256)($74ec091a01b8d3e1$export$458ab927ae635c3.encode(domain, types, value));\n }\n // Replaces all address types with ENS names with their looked up address\n static resolveNames(domain, types, value, resolveName) {\n return $74ec091a01b8d3e1$var$__awaiter(this, void 0, void 0, function*() {\n // Make a copy to isolate it from the object passed in\n domain = (0, $e72ut.shallowCopy)(domain);\n // Look up all ENS names\n const ensCache = {};\n // Do we need to look up the domain's verifyingContract?\n if (domain.verifyingContract && !(0, $aBzgs.isHexString)(domain.verifyingContract, 20)) ensCache[domain.verifyingContract] = \"0x\";\n // We are going to use the encoder to visit all the base values\n const encoder = $74ec091a01b8d3e1$export$458ab927ae635c3.from(types);\n // Get a list of all the addresses\n encoder.visit(value, (type, value)=>{\n if (type === \"address\" && !(0, $aBzgs.isHexString)(value, 20)) ensCache[value] = \"0x\";\n return value;\n });\n // Lookup each name\n for(const name in ensCache)ensCache[name] = yield resolveName(name);\n // Replace the domain verifyingContract if needed\n if (domain.verifyingContract && ensCache[domain.verifyingContract]) domain.verifyingContract = ensCache[domain.verifyingContract];\n // Replace all ENS names with their address\n value = encoder.visit(value, (type, value)=>{\n if (type === \"address\" && ensCache[value]) return ensCache[value];\n return value;\n });\n return {\n domain: domain,\n value: value\n };\n });\n }\n static getPayload(domain, types, value) {\n // Validate the domain fields\n $74ec091a01b8d3e1$export$458ab927ae635c3.hashDomain(domain);\n // Derive the EIP712Domain Struct reference type\n const domainValues = {};\n const domainTypes = [];\n $74ec091a01b8d3e1$var$domainFieldNames.forEach((name)=>{\n const value = domain[name];\n if (value == null) return;\n domainValues[name] = $74ec091a01b8d3e1$var$domainChecks[name](value);\n domainTypes.push({\n name: name,\n type: $74ec091a01b8d3e1$var$domainFieldTypes[name]\n });\n });\n const encoder = $74ec091a01b8d3e1$export$458ab927ae635c3.from(types);\n const typesWithDomain = (0, $e72ut.shallowCopy)(types);\n if (typesWithDomain.EIP712Domain) $74ec091a01b8d3e1$var$logger.throwArgumentError(\"types must not contain EIP712Domain type\", \"types.EIP712Domain\", types);\n else typesWithDomain.EIP712Domain = domainTypes;\n // Validate the data structures and types\n encoder.encode(value);\n return {\n types: typesWithDomain,\n domain: domainValues,\n primaryType: encoder.primaryType,\n message: encoder.visit(value, (type, value)=>{\n // bytes\n if (type.match(/^bytes(\\d*)/)) return (0, $aBzgs.hexlify)((0, $aBzgs.arrayify)(value));\n // uint or int\n if (type.match(/^u?int/)) return (0, $1chjt.BigNumber).from(value).toString();\n switch(type){\n case \"address\":\n return value.toLowerCase();\n case \"bool\":\n return !!value;\n case \"string\":\n if (typeof value !== \"string\") $74ec091a01b8d3e1$var$logger.throwArgumentError(`invalid string`, \"value\", value);\n return value;\n }\n return $74ec091a01b8d3e1$var$logger.throwArgumentError(\"unsupported type\", \"type\", type);\n })\n };\n }\n}\n\n});\nparcelRequire.register(\"4RnZg\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $389eb7fe008974da$export$83d89fbfd8236492);\nconst $389eb7fe008974da$export$83d89fbfd8236492 = \"hash/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"8s7ds\", function(module, exports) {\n\n$parcel$export(module.exports, \"isValidName\", () => $62768931dfa5f58f$export$cce2300886e7ace6);\n$parcel$export(module.exports, \"namehash\", () => $62768931dfa5f58f$export$91d651ee363e1209);\n$parcel$export(module.exports, \"dnsEncode\", () => $62768931dfa5f58f$export$6c0a8cdae51cb512);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\n\nvar $2yhyU = parcelRequire(\"2yhyU\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $4RnZg = parcelRequire(\"4RnZg\");\n\nvar $bxKmK = parcelRequire(\"bxKmK\");\nconst $62768931dfa5f58f$var$logger = new (0, $d1hml.Logger)((0, $4RnZg.version));\nconst $62768931dfa5f58f$var$Zeros = new Uint8Array(32);\n$62768931dfa5f58f$var$Zeros.fill(0);\nfunction $62768931dfa5f58f$var$checkComponent(comp) {\n if (comp.length === 0) throw new Error(\"invalid ENS name; empty component\");\n return comp;\n}\nfunction $62768931dfa5f58f$var$ensNameSplit(name) {\n const bytes = (0, $fkVsY.toUtf8Bytes)((0, $bxKmK.ens_normalize)(name));\n const comps = [];\n if (name.length === 0) return comps;\n let last = 0;\n for(let i = 0; i < bytes.length; i++){\n const d = bytes[i];\n // A separator (i.e. \".\"); copy this component\n if (d === 0x2e) {\n comps.push($62768931dfa5f58f$var$checkComponent(bytes.slice(last, i)));\n last = i + 1;\n }\n }\n // There was a stray separator at the end of the name\n if (last >= bytes.length) throw new Error(\"invalid ENS name; empty component\");\n comps.push($62768931dfa5f58f$var$checkComponent(bytes.slice(last)));\n return comps;\n}\nfunction $62768931dfa5f58f$export$5f232fd2f1a1e8ac(name) {\n return $62768931dfa5f58f$var$ensNameSplit(name).map((comp)=>(0, $fkVsY.toUtf8String)(comp)).join(\".\");\n}\nfunction $62768931dfa5f58f$export$cce2300886e7ace6(name) {\n try {\n return $62768931dfa5f58f$var$ensNameSplit(name).length !== 0;\n } catch (error) {}\n return false;\n}\nfunction $62768931dfa5f58f$export$91d651ee363e1209(name) {\n /* istanbul ignore if */ if (typeof name !== \"string\") $62768931dfa5f58f$var$logger.throwArgumentError(\"invalid ENS name; not a string\", \"name\", name);\n let result = $62768931dfa5f58f$var$Zeros;\n const comps = $62768931dfa5f58f$var$ensNameSplit(name);\n while(comps.length)result = (0, $2yhyU.keccak256)((0, $aBzgs.concat)([\n result,\n (0, $2yhyU.keccak256)(comps.pop())\n ]));\n return (0, $aBzgs.hexlify)(result);\n}\nfunction $62768931dfa5f58f$export$6c0a8cdae51cb512(name) {\n return (0, $aBzgs.hexlify)((0, $aBzgs.concat)($62768931dfa5f58f$var$ensNameSplit(name).map((comp)=>{\n // DNS does not allow components over 63 bytes in length\n if (comp.length > 63) throw new Error(\"invalid DNS encoded entry; length exceeds 63 bytes\");\n const bytes = new Uint8Array(comp.length + 1);\n bytes.set(comp, 1);\n bytes[0] = bytes.length - 1;\n return bytes;\n }))) + \"00\";\n}\n\n});\nparcelRequire.register(\"bxKmK\", function(module, exports) {\n\n$parcel$export(module.exports, \"ens_normalize\", () => $8676be15da7193bb$export$499f715881831a51);\n/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */ \nvar $fkVsY = parcelRequire(\"fkVsY\");\n\nvar $1PDRM = parcelRequire(\"1PDRM\");\n\nvar $dZE5a = parcelRequire(\"dZE5a\");\nconst $8676be15da7193bb$var$r = (0, $1PDRM.getData)();\n// @TODO: This should be lazily loaded\nconst $8676be15da7193bb$var$VALID = new Set((0, $dZE5a.read_member_array)($8676be15da7193bb$var$r));\nconst $8676be15da7193bb$var$IGNORED = new Set((0, $dZE5a.read_member_array)($8676be15da7193bb$var$r));\nconst $8676be15da7193bb$var$MAPPED = (0, $dZE5a.read_mapped_map)($8676be15da7193bb$var$r);\nconst $8676be15da7193bb$var$EMOJI_ROOT = (0, $dZE5a.read_emoji_trie)($8676be15da7193bb$var$r);\n//const NFC_CHECK = new Set(read_member_array(r, Array.from(VALID.values()).sort((a, b) => a - b)));\n//const STOP = 0x2E;\nconst $8676be15da7193bb$var$HYPHEN = 0x2D;\nconst $8676be15da7193bb$var$UNDERSCORE = 0x5F;\nfunction $8676be15da7193bb$var$explode_cp(name) {\n return (0, $fkVsY.toUtf8CodePoints)(name);\n}\nfunction $8676be15da7193bb$var$filter_fe0f(cps) {\n return cps.filter((cp)=>cp != 0xFE0F);\n}\nfunction $8676be15da7193bb$export$5252e54b57fcf4fd(name) {\n for (let label of name.split(\".\")){\n let cps = $8676be15da7193bb$var$explode_cp(label);\n try {\n for(let i = cps.lastIndexOf($8676be15da7193bb$var$UNDERSCORE) - 1; i >= 0; i--){\n if (cps[i] !== $8676be15da7193bb$var$UNDERSCORE) throw new Error(`underscore only allowed at start`);\n }\n if (cps.length >= 4 && cps.every((cp)=>cp < 0x80) && cps[2] === $8676be15da7193bb$var$HYPHEN && cps[3] === $8676be15da7193bb$var$HYPHEN) throw new Error(`invalid label extension`);\n } catch (err) {\n throw new Error(`Invalid label \"${label}\": ${err.message}`);\n }\n }\n return name;\n}\nfunction $8676be15da7193bb$export$499f715881831a51(name) {\n return $8676be15da7193bb$export$5252e54b57fcf4fd($8676be15da7193bb$var$normalize(name, $8676be15da7193bb$var$filter_fe0f));\n}\nfunction $8676be15da7193bb$var$normalize(name, emoji_filter) {\n let input = $8676be15da7193bb$var$explode_cp(name).reverse(); // flip for pop\n let output = [];\n while(input.length){\n let emoji = $8676be15da7193bb$var$consume_emoji_reversed(input);\n if (emoji) {\n output.push(...emoji_filter(emoji));\n continue;\n }\n let cp = input.pop();\n if ($8676be15da7193bb$var$VALID.has(cp)) {\n output.push(cp);\n continue;\n }\n if ($8676be15da7193bb$var$IGNORED.has(cp)) continue;\n let cps = $8676be15da7193bb$var$MAPPED[cp];\n if (cps) {\n output.push(...cps);\n continue;\n }\n throw new Error(`Disallowed codepoint: 0x${cp.toString(16).toUpperCase()}`);\n }\n return $8676be15da7193bb$export$5252e54b57fcf4fd($8676be15da7193bb$var$nfc(String.fromCodePoint(...output)));\n}\nfunction $8676be15da7193bb$var$nfc(s) {\n return s.normalize(\"NFC\");\n}\nfunction $8676be15da7193bb$var$consume_emoji_reversed(cps, eaten) {\n var _a;\n let node = $8676be15da7193bb$var$EMOJI_ROOT;\n let emoji;\n let saved;\n let stack = [];\n let pos = cps.length;\n if (eaten) eaten.length = 0; // clear input buffer (if needed)\n while(pos){\n let cp = cps[--pos];\n node = (_a = node.branches.find((x)=>x.set.has(cp))) === null || _a === void 0 ? void 0 : _a.node;\n if (!node) break;\n if (node.save) saved = cp;\n else if (node.check) {\n if (cp === saved) break;\n }\n stack.push(cp);\n if (node.fe0f) {\n stack.push(0xFE0F);\n if (pos > 0 && cps[pos - 1] == 0xFE0F) pos--; // consume optional FE0F\n }\n if (node.valid) {\n emoji = stack.slice(); // copy stack\n if (node.valid == 2) emoji.splice(1, 1); // delete FE0F at position 1 (RGI ZWJ don't follow spec!)\n if (eaten) eaten.push(...cps.slice(pos).reverse()); // copy input (if needed)\n cps.length = pos; // truncate\n }\n }\n return emoji;\n}\n\n});\nparcelRequire.register(\"1PDRM\", function(module, exports) {\n\n$parcel$export(module.exports, \"getData\", () => $15597a7af7fcc2e4$export$7a171f172be0782e);\n/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */ \nvar $2vfMQ = parcelRequire(\"2vfMQ\");\n\nvar $dZE5a = parcelRequire(\"dZE5a\");\nfunction $15597a7af7fcc2e4$export$7a171f172be0782e() {\n return (0, $dZE5a.read_compressed_payload)((0, $2vfMQ.decode)(\"AEQF2AO2DEsA2wIrAGsBRABxAN8AZwCcAEwAqgA0AGwAUgByADcATAAVAFYAIQAyACEAKAAYAFgAGwAjABQAMAAmADIAFAAfABQAKwATACoADgAbAA8AHQAYABoAGQAxADgALAAoADwAEwA9ABMAGgARAA4ADwAWABMAFgAIAA8AHgQXBYMA5BHJAS8JtAYoAe4AExozi0UAH21tAaMnBT8CrnIyhrMDhRgDygIBUAEHcoFHUPe8AXBjAewCjgDQR8IICIcEcQLwATXCDgzvHwBmBoHNAqsBdBcUAykgDhAMShskMgo8AY8jqAQfAUAfHw8BDw87MioGlCIPBwZCa4ELatMAAMspJVgsDl8AIhckSg8XAHdvTwBcIQEiDT4OPhUqbyECAEoAS34Aej8Ybx83JgT/Xw8gHxZ/7w8RICxPHA9vBw+Pfw8PHwAPFv+fAsAvCc8vEr8ivwD/EQ8Bol8OEBa/A78hrwAPCU8vESNvvwWfHwNfAVoDHr+ZAAED34YaAdJPAK7PLwSEgDLHAGo1Pz8Pvx9fUwMrpb8O/58VTzAPIBoXIyQJNF8hpwIVAT8YGAUADDNBaX3RAMomJCg9EhUeA29MABsZBTMNJipjOhc19gcIDR8bBwQHEggCWi6DIgLuAQYA+BAFCha3A5XiAEsqM7UFFgFLhAMjFTMYE1Klnw74nRVBG/ASCm0BYRN/BrsU3VoWy+S0vV8LQx+vN8gF2AC2AK5EAWwApgYDKmAAroQ0NDQ0AT+OCg7wAAIHRAbpNgVcBV0APTA5BfbPFgMLzcYL/QqqA82eBALKCjQCjqYCht0/k2+OAsXQAoP3ASTKDgDw6ACKAUYCMpIKJpRaAE4A5womABzZvs0REEKiACIQAd5QdAECAj4Ywg/wGqY2AVgAYADYvAoCGAEubA0gvAY2ALAAbpbvqpyEAGAEpgQAJgAG7gAgAEACmghUFwCqAMpAINQIwC4DthRAAPcycKgApoIdABwBfCisABoATwBqASIAvhnSBP8aH/ECeAKXAq40NjgDBTwFYQU6AXs3oABgAD4XNgmcCY1eCl5tIFZeUqGgyoNHABgAEQAaABNwWQAmABMATPMa3T34ADldyprmM1M2XociUQgLzvwAXT3xABgAEQAaABNwIGFAnADD8AAgAD4BBJWzaCcIAIEBFMAWwKoAAdq9BWAF5wLQpALEtQAKUSGkahR4GnJM+gsAwCgeFAiUAECQ0BQuL8AAIAAAADKeIheclvFqQAAETr4iAMxIARMgAMIoHhQIAn0E0pDQFC4HhznoAAAAIAI2C0/4lvFqQAAETgBJJwYCAy4ABgYAFAA8MBKYEH4eRhTkAjYeFcgACAYAeABsOqyQ5gRwDayqugEgaIIAtgoACgDmEABmBAWGme5OBJJA2m4cDeoAmITWAXwrMgOgAGwBCh6CBXYF1Tzg1wKAAFdiuABRAFwAXQBsAG8AdgBrAHYAbwCEAHEwfxQBVE5TEQADVFhTBwBDANILAqcCzgLTApQCrQL6vAAMAL8APLhNBKkE6glGKTAU4Dr4N2EYEwBCkABKk8rHAbYBmwIoAiU4Ajf/Aq4CowCAANIChzgaNBsCsTgeODcFXrgClQKdAqQBiQGYAqsCsjTsNHsfNPA0ixsAWTWiOAMFPDQSNCk2BDZHNow2TTZUNhk28Jk9VzI3QkEoAoICoQKwAqcAQAAxBV4FXbS9BW47YkIXP1ciUqs05DS/FwABUwJW11e6nHuYZmSh/RAYA8oMKvZ8KASoUAJYWAJ6ILAsAZSoqjpgA0ocBIhmDgDWAAawRDQoAAcuAj5iAHABZiR2AIgiHgCaAU68ACxuHAG0ygM8MiZIAlgBdF4GagJqAPZOHAMuBgoATkYAsABiAHgAMLoGDPj0HpKEBAAOJgAuALggTAHWAeAMEDbd20Uege0ADwAWADkAQgA9OHd+2MUQZBBhBgNNDkxxPxUQArEPqwvqERoM1irQ090ANK4H8ANYB/ADWANYB/AH8ANYB/ADWANYA1gDWBwP8B/YxRBkD00EcgWTBZAE2wiIJk4RhgctCNdUEnQjHEwDSgEBIypJITuYMxAlR0wRTQgIATZHbKx9PQNMMbBU+pCnA9AyVDlxBgMedhKlAC8PeCE1uk6DekxxpQpQT7NX9wBFBgASqwAS5gBJDSgAUCwGPQBI4zTYABNGAE2bAE3KAExdGABKaAbgAFBXAFCOAFBJABI2SWdObALDOq0//QomCZhvwHdTBkIQHCemEPgMNAG2ATwN7kvZBPIGPATKH34ZGg/OlZ0Ipi3eDO4m5C6igFsj9iqEBe5L9TzeC05RaQ9aC2YJ5DpkgU8DIgEOIowK3g06CG4Q9ArKbA3mEUYHOgPWSZsApgcCCxIdNhW2JhFirQsKOXgG/Br3C5AmsBMqev0F1BoiBk4BKhsAANAu6IWxWjJcHU9gBgQLJiPIFKlQIQ0mQLh4SRocBxYlqgKSQ3FKiFE3HpQh9zw+DWcuFFF9B/Y8BhlQC4I8n0asRQ8R0z6OPUkiSkwtBDaALDAnjAnQD4YMunxzAVoJIgmyDHITMhEYN8YIOgcaLpclJxYIIkaWYJsE+KAD9BPSAwwFQAlCBxQDthwuEy8VKgUOgSXYAvQ21i60ApBWgQEYBcwPJh/gEFFH4Q7qCJwCZgOEJewALhUiABginAhEZABgj9lTBi7MCMhqbSN1A2gU6GIRdAeSDlgHqBw0FcAc4nDJXgyGCSiksAlcAXYJmgFgBOQICjVcjKEgQmdUi1kYnCBiQUBd/QIyDGYVoES+h3kCjA9sEhwBNgF0BzoNAgJ4Ee4RbBCWCOyGBTW2M/k6JgRQIYQgEgooA1BszwsoJvoM+WoBpBJjAw00PnfvZ6xgtyUX/gcaMsZBYSHyC5NPzgydGsIYQ1QvGeUHwAP0GvQn60FYBgADpAQUOk4z7wS+C2oIjAlAAEoOpBgH2BhrCnKM0QEyjAG4mgNYkoQCcJAGOAcMAGgMiAV65gAeAqgIpAAGANADWAA6Aq4HngAaAIZCAT4DKDABIuYCkAOUCDLMAZYwAfQqBBzEDBYA+DhuSwLDsgKAa2ajBd5ZAo8CSjYBTiYEBk9IUgOwcuIA3ABMBhTgSAEWrEvMG+REAeBwLADIAPwABjYHBkIBzgH0bgC4AWALMgmjtLYBTuoqAIQAFmwB2AKKAN4ANgCA8gFUAE4FWvoF1AJQSgESMhksWGIBvAMgATQBDgB6BsyOpsoIIARuB9QCEBwV4gLvLwe2AgMi4BPOQsYCvd9WADIXUu5eZwqoCqdeaAC0YTQHMnM9UQAPH6k+yAdy/BZIiQImSwBQ5gBQQzSaNTFWSTYBpwGqKQK38AFtqwBI/wK37gK3rQK3sAK6280C0gK33AK3zxAAUEIAUD9SklKDArekArw5AEQAzAHCO147WTteO1k7XjtZO147WTteO1kDmChYI03AVU0oJqkKbV9GYewMpw3VRMk6ShPcYFJgMxPJLbgUwhXPJVcZPhq9JwYl5VUKDwUt1GYxCC00dhe9AEApaYNCY4ceMQpMHOhTklT5LRwAskujM7ANrRsWREEFSHXuYisWDwojAmSCAmJDXE6wXDchAqH4AmiZAmYKAp+FOBwMAmY8AmYnBG8EgAN/FAN+kzkHOXgYOYM6JCQCbB4CMjc4CwJtyAJtr/CLADRoRiwBaADfAOIASwYHmQyOAP8MwwAOtgJ3MAJ2o0ACeUxEAni7Hl3cRa9G9AJ8QAJ6yQJ9CgJ88UgBSH5kJQAsFklZSlwWGErNAtECAtDNSygDiFADh+dExpEzAvKiXQQDA69Lz0wuJgTQTU1NsAKLQAKK2cIcCB5EaAa4Ao44Ao5dQZiCAo7aAo5deVG1UzYLUtVUhgKT/AKTDQDqAB1VH1WwVdEHLBwplocy4nhnRTw6ApegAu+zWCKpAFomApaQApZ9nQCqWa1aCoJOADwClrYClk9cRVzSApnMApllXMtdCBoCnJw5wzqeApwXAp+cAp65iwAeEDIrEAKd8gKekwC2PmE1YfACntQCoG8BqgKeoCACnk+mY8lkKCYsAiewAiZ/AqD8AqBN2AKmMAKlzwKoAAB+AqfzaH1osgAESmodatICrOQCrK8CrWgCrQMCVx4CVd0CseLYAx9PbJgCsr4OArLpGGzhbWRtSWADJc4Ctl08QG6RAylGArhfArlIFgK5K3hwN3DiAr0aAy2zAzISAr6JcgMDM3ICvhtzI3NQAsPMAsMFc4N0TDZGdOEDPKgDPJsDPcACxX0CxkgCxhGKAshqUgLIRQLJUALJLwJkngLd03h6YniveSZL0QMYpGcDAmH1GfSVJXsMXpNevBICz2wCz20wTFTT9BSgAMeuAs90ASrrA04TfkwGAtwoAtuLAtJQA1JdA1NgAQIDVY2AikABzBfuYUZ2AILPg44C2sgC2d+EEYRKpz0DhqYAMANkD4ZyWvoAVgLfZgLeuXR4AuIw7RUB8zEoAfScAfLTiALr9ALpcXoAAur6AurlAPpIAboC7ooC652Wq5cEAu5AA4XhmHpw4XGiAvMEAGoDjheZlAL3FAORbwOSiAL3mQL52gL4Z5odmqy8OJsfA52EAv77ARwAOp8dn7QDBY4DpmsDptoA0sYDBmuhiaIGCgMMSgFgASACtgNGAJwEgLpoBgC8BGzAEowcggCEDC6kdjoAJAM0C5IKRoABZCgiAIzw3AYBLACkfng9ogigkgNmWAN6AEQCvrkEVqTGAwCsBRbAA+4iQkMCHR072jI2PTbUNsk2RjY5NvA23TZKNiU3EDcZN5I+RTxDRTBCJkK5VBYKFhZfwQCWygU3AJBRHpu+OytgNxa61A40GMsYjsn7BVwFXQVcBV0FaAVdBVwFXQVcBV0FXAVdBVwFXUsaCNyKAK4AAQUHBwKU7oICoW1e7jAEzgPxA+YDwgCkBFDAwADABKzAAOxFLhitA1UFTDeyPkM+bj51QkRCuwTQWWQ8X+0AWBYzsACNA8xwzAGm7EZ/QisoCTAbLDs6fnLfb8H2GccsbgFw13M1HAVkBW/Jxsm9CNRO8E8FDD0FBQw9FkcClOYCoMFegpDfADgcMiA2AJQACB8AsigKAIzIEAJKeBIApY5yPZQIAKQiHb4fvj5BKSRPQrZCOz0oXyxgOywfKAnGbgMClQaCAkILXgdeCD9IIGUgQj5fPoY+dT52Ao5CM0dAX9BTVG9SDzFwWTQAbxBzJF/lOEIQQglCCkKJIAls5AcClQICoKPMODEFxhi6KSAbiyfIRrMjtCgdWCAkPlFBIitCsEJRzAbMAV/OEyQzDg0OAQQEJ36i328/Mk9AybDJsQlq3tDRApUKAkFzXf1d/j9uALYP6hCoFgCTGD8kPsFKQiobrm0+zj0KSD8kPnVCRBwMDyJRTHFgMTJa5rwXQiQ2YfI/JD7BMEJEHGINTw4TOFlIRzwJO0icMQpyPyQ+wzJCRBv6DVgnKB01NgUKj2bwYzMqCoBkznBgEF+zYDIocwRIX+NgHj4HICNfh2C4CwdwFWpTG/lgUhYGAwRfv2Ts8mAaXzVgml/XYIJfuWC4HI1gUF9pYJZgMR6ilQHMAOwLAlDRefC0in4AXAEJA6PjCwc0IamOANMMCAECRQDFNRTZBgd+CwQlRA+r6+gLBDEFBnwUBXgKATIArwAGRAAHA3cDdAN2A3kDdwN9A3oDdQN7A30DfAN4A3oDfQAYEAAlAtYASwMAUAFsAHcKAHcAmgB3AHUAdQB2AHVu8UgAygDAAHcAdQB1AHYAdQALCgB3AAsAmgB3AAsCOwB3AAtu8UgAygDAAHgKAJoAdwB3AHUAdQB2AHUAeAB1AHUAdgB1bvFIAMoAwAALCgCaAHcACwB3AAsCOwB3AAtu8UgAygDAAH4ACwGgALcBpwC6AahdAu0COwLtbvFIAMoAwAALCgCaAu0ACwLtAAsCOwLtAAtu8UgAygDAA24ACwNvAAu0VsQAAzsAABCkjUIpAAsAUIusOggWcgMeBxVsGwL67U/2HlzmWOEeOgALASvuAAseAfpKUpnpGgYJDCIZM6YyARUE9ThqAD5iXQgnAJYJPnOzw0ZAEZxEKsIAkA4DhAHnTAIDxxUDK0lxCQlPYgIvIQVYJQBVqE1GakUAKGYiDToSBA1EtAYAXQJYAIF8GgMHRyAAIAjOe9YncekRAA0KACUrjwE7Ayc6AAYWAqaiKG4McEcqANoN3+Mg9TwCBhIkuCny+JwUQ29L008JluRxu3K+oAdqiHOqFH0AG5SUIfUJ5SxCGfxdipRzqTmT4V5Zb+r1Uo4Vm+NqSSEl2mNvR2JhIa8SpYO6ntdwFXHCWTCK8f2+Hxo7uiG3drDycAuKIMP5bhi06ACnqArH1rz4Rqg//lm6SgJGEVbF9xJHISaR6HxqxSnkw6shDnelHKNEfGUXSJRJ1GcsmtJw25xrZMDK9gXSm1/YMkdX4/6NKYOdtk/NQ3/NnDASjTc3fPjIjW/5sVfVObX2oTDWkr1dF9f3kxBsD3/3aQO8hPfRz+e0uEiJqt1161griu7gz8hDDwtpy+F+BWtefnKHZPAxcZoWbnznhJpy0e842j36bcNzGnIEusgGX0a8ZxsnjcSsPDZ09yZ36fCQbriHeQ72JRMILNl6ePPf2HWoVwgWAm1fb3V2sAY0+B6rAXqSwPBgseVmoqsBTSrm91+XasMYYySI8eeRxH3ZvHkMz3BQ5aJ3iUVbYPNM3/7emRtjlsMgv/9VyTsyt/mK+8fgWeT6SoFaclXqn42dAIsvAarF5vNNWHzKSkKQ/8Hfk5ZWK7r9yliOsooyBjRhfkHP4Q2DkWXQi6FG/9r/IwbmkV5T7JSopHKn1pJwm9tb5Ot0oyN1Z2mPpKXHTxx2nlK08fKk1hEYA8WgVVWL5lgx0iTv+KdojJeU23ZDjmiubXOxVXJKKi2Wjuh2HLZOFLiSC7Tls5SMh4f+Pj6xUSrNjFqLGehRNB8lC0QSLNmkJJx/wSG3MnjE9T1CkPwJI0wH2lfzwETIiVqUxg0dfu5q39Gt+hwdcxkhhNvQ4TyrBceof3Mhs/IxFci1HmHr4FMZgXEEczPiGCx0HRwzAqDq2j9AVm1kwN0mRVLWLylgtoPNapF5cY4Y1wJh/e0BBwZj44YgZrDNqvD/9Hv7GFYdUQeDJuQ3EWI4HaKqavU1XjC/n41kT4L79kqGq0kLhdTZvgP3TA3fS0ozVz+5piZsoOtIvBUFoMKbNcmBL6YxxaUAusHB38XrS8dQMnQwJfUUkpRoGr5AUeWicvBTzyK9g77+yCkf5PAysL7r/JjcZgrbvRpMW9iyaxZvKO6ceZN2EwIxKwVFPuvFuiEPGCoagbMo+SpydLrXqBzNCDGFCrO/rkcwa2xhokQZ5CdZ0AsU3JfSqJ6n5I14YA+P/uAgfhPU84Tlw7cEFfp7AEE8ey4sP12PTt4Cods1GRgDOB5xvyiR5m+Bx8O5nBCNctU8BevfV5A08x6RHd5jcwPTMDSZJOedIZ1cGQ704lxbAzqZOP05ZxaOghzSdvFBHYqomATARyAADK4elP8Ly3IrUZKfWh23Xy20uBUmLS4Pfagu9+oyVa2iPgqRP3F2CTUsvJ7+RYnN8fFZbU/HVvxvcFFDKkiTqV5UBZ3Gz54JAKByi9hkKMZJvuGgcSYXFmw08UyoQyVdfTD1/dMkCHXcTGAKeROgArsvmRrQTLUOXioOHGK2QkjHuoYFgXciZoTJd6Fs5q1QX1G+p/e26hYsEf7QZD1nnIyl/SFkNtYYmmBhpBrxl9WbY0YpHWRuw2Ll/tj9mD8P4snVzJl4F9J+1arVeTb9E5r2ILH04qStjxQNwn3m4YNqxmaNbLAqW2TN6LidwuJRqS+NXbtqxoeDXpxeGWmxzSkWxjkyCkX4NQRme6q5SAcC+M7+9ETfA/EwrzQajKakCwYyeunP6ZFlxU2oMEn1Pz31zeStW74G406ZJFCl1wAXIoUKkWotYEpOuXB1uVNxJ63dpJEqfxBeptwIHNrPz8BllZoIcBoXwgfJ+8VAUnVPvRvexnw0Ma/WiGYuJO5y8QTvEYBigFmhUxY5RqzE8OcywN/8m4UYrlaniJO75XQ6KSo9+tWHlu+hMi0UVdiKQp7NelnoZUzNaIyBPVeOwK6GNp+FfHuPOoyhaWuNvTYFkvxscMQWDh+zeFCFkgwbXftiV23ywJ4+uwRqmg9k3KzwIQpzppt8DBBOMbrqwQM5Gb05sEwdKzMiAqOloaA/lr0KA+1pr0/+HiWoiIjHA/wir2nIuS3PeU/ji3O6ZwoxcR1SZ9FhtLC5S0FIzFhbBWcGVP/KpxOPSiUoAdWUpqKH++6Scz507iCcxYI6rdMBICPJZea7OcmeFw5mObJSiqpjg2UoWNIs+cFhyDSt6geV5qgi3FunmwwDoGSMgerFOZGX1m0dMCYo5XOruxO063dwENK9DbnVM9wYFREzh4vyU1WYYJ/LRRp6oxgjqP/X5a8/4Af6p6NWkQferzBmXme0zY/4nwMJm/wd1tIqSwGz+E3xPEAOoZlJit3XddD7/BT1pllzOx+8bmQtANQ/S6fZexc6qi3W+Q2xcmXTUhuS5mpHQRvcxZUN0S5+PL9lXWUAaRZhEH8hTdAcuNMMCuVNKTEGtSUKNi3O6KhSaTzck8csZ2vWRZ+d7mW8c4IKwXIYd25S/zIftPkwPzufjEvOHWVD1m+FjpDVUTV0DGDuHj6QnaEwLu/dEgdLQOg9E1Sro9XHJ8ykLAwtPu+pxqKDuFexqON1sKQm7rwbE1E68UCfA/erovrTCG+DBSNg0l4goDQvZN6uNlbyLpcZAwj2UclycvLpIZMgv4yRlpb3YuMftozorbcGVHt/VeDV3+Fdf1TP0iuaCsPi2G4XeGhsyF1ubVDxkoJhmniQ0/jSg/eYML9KLfnCFgISWkp91eauR3IQvED0nAPXK+6hPCYs+n3+hCZbiskmVMG2da+0EsZPonUeIY8EbfusQXjsK/eFDaosbPjEfQS0RKG7yj5GG69M7MeO1HmiUYocgygJHL6M1qzUDDwUSmr99V7Sdr2F3JjQAJY+F0yH33Iv3+C9M38eML7gTgmNu/r2bUMiPvpYbZ6v1/IaESirBHNa7mPKn4dEmYg7v/+HQgPN1G79jBQ1+soydfDC2r+h2Bl/KIc5KjMK7OH6nb1jLsNf0EHVe2KBiE51ox636uyG6Lho0t3J34L5QY/ilE3mikaF4HKXG1mG1rCevT1Vv6GavltxoQe/bMrpZvRggnBxSEPEeEzkEdOxTnPXHVjUYdw8JYvjB/o7Eegc3Ma+NUxLLnsK0kJlinPmUHzHGtrk5+CAbVzFOBqpyy3QVUnzTDfC/0XD94/okH+OB+i7g9lolhWIjSnfIb+Eq43ZXOWmwvjyV/qqD+t0e+7mTEM74qP/Ozt8nmC7mRpyu63OB4KnUzFc074SqoyPUAgM+/TJGFo6T44EHnQU4X4z6qannVqgw/U7zCpwcmXV1AubIrvOmkKHazJAR55ePjp5tLBsN8vAqs3NAHdcEHOR2xQ0lsNAFzSUuxFQCFYvXLZJdOj9p4fNq6p0HBGUik2YzaI4xySy91KzhQ0+q1hjxvImRwPRf76tChlRkhRCi74NXZ9qUNeIwP+s5p+3m5nwPdNOHgSLD79n7O9m1n1uDHiMntq4nkYwV5OZ1ENbXxFd4PgrlvavZsyUO4MqYlqqn1O8W/I1dEZq5dXhrbETLaZIbC2Kj/Aa/QM+fqUOHdf0tXAQ1huZ3cmWECWSXy/43j35+Mvq9xws7JKseriZ1pEWKc8qlzNrGPUGcVgOa9cPJYIJsGnJTAUsEcDOEVULO5x0rXBijc1lgXEzQQKhROf8zIV82w8eswc78YX11KYLWQRcgHNJElBxfXr72lS2RBSl07qTKorO2uUDZr3sFhYsvnhLZn0A94KRzJ/7DEGIAhW5ZWFpL8gEwu1aLA9MuWZzNwl8Oze9Y+bX+v9gywRVnoB5I/8kXTXU3141yRLYrIOOz6SOnyHNy4SieqzkBXharjfjqq1q6tklaEbA8Qfm2DaIPs7OTq/nvJBjKfO2H9bH2cCMh1+5gspfycu8f/cuuRmtDjyqZ7uCIMyjdV3a+p3fqmXsRx4C8lujezIFHnQiVTXLXuI1XrwN3+siYYj2HHTvESUx8DlOTXpak9qFRK+L3mgJ1WsD7F4cu1aJoFoYQnu+wGDMOjJM3kiBQWHCcvhJ/HRdxodOQp45YZaOTA22Nb4XKCVxqkbwMYFhzYQYIAnCW8FW14uf98jhUG2zrKhQQ0q0CEq0t5nXyvUyvR8DvD69LU+g3i+HFWQMQ8PqZuHD+sNKAV0+M6EJC0szq7rEr7B5bQ8BcNHzvDMc9eqB5ZCQdTf80Obn4uzjwpYU7SISdtV0QGa9D3Wrh2BDQtpBKxaNFV+/Cy2P/Sv+8s7Ud0Fd74X4+o/TNztWgETUapy+majNQ68Lq3ee0ZO48VEbTZYiH1Co4OlfWef82RWeyUXo7woM03PyapGfikTnQinoNq5z5veLpeMV3HCAMTaZmA1oGLAn7XS3XYsz+XK7VMQsc4XKrmDXOLU/pSXVNUq8dIqTba///3x6LiLS6xs1xuCAYSfcQ3+rQgmu7uvf3THKt5Ooo97TqcbRqxx7EASizaQCBQllG/rYxVapMLgtLbZS64w1MDBMXX+PQpBKNwqUKOf2DDRDUXQf9EhOS0Qj4nTmlA8dzSLz/G1d+Ud8MTy/6ghhdiLpeerGY/UlDOfiuqFsMUU5/UYlP+BAmgRLuNpvrUaLlVkrqDievNVEAwF+4CoM1MZTmjxjJMsKJq+u8Zd7tNCUFy6LiyYXRJQ4VyvEQFFaCGKsxIwQkk7EzZ6LTJq2hUuPhvAW+gQnSG6J+MszC+7QCRHcnqDdyNRJ6T9xyS87A6MDutbzKGvGktpbXqtzWtXb9HsfK2cBMomjN9a4y+TaJLnXxAeX/HWzmf4cR4vALt/P4w4qgKY04ml4ZdLOinFYS6cup3G/1ie4+t1eOnpBNlqGqs75ilzkT4+DsZQxNvaSKJ//6zIbbk/M7LOhFmRc/1R+kBtz7JFGdZm/COotIdvQoXpTqP/1uqEUmCb/QWoGLMwO5ANcHzxdY48IGP5+J+zKOTBFZ4Pid+GTM+Wq12MV/H86xEJptBa6T+p3kgpwLedManBHC2GgNrFpoN2xnrMz9WFWX/8/ygSBkavq2Uv7FdCsLEYLu9LLIvAU0bNRDtzYl+/vXmjpIvuJFYjmI0im6QEYqnIeMsNjXG4vIutIGHijeAG/9EDBozKV5cldkHbLxHh25vT+ZEzbhXlqvpzKJwcEgfNwLAKFeo0/pvEE10XDB+EXRTXtSzJozQKFFAJhMxYkVaCW+E9AL7tMeU8acxidHqzb6lX4691UsDpy/LLRmT+epgW56+5Cw8tB4kMUv6s9lh3eRKbyGs+H/4mQMaYzPTf2OOdokEn+zzgvoD3FqNKk8QqGAXVsqcGdXrT62fSPkR2vROFi68A6se86UxRUk4cajfPyCC4G5wDhD+zNq4jodQ4u4n/m37Lr36n4LIAAsVr02dFi9AiwA81MYs2rm4eDlDNmdMRvEKRHfBwW5DdMNp0jPFZMeARqF/wL4XBfd+EMLBfMzpH5GH6NaW+1vrvMdg+VxDzatk3MXgO3ro3P/DpcC6+Mo4MySJhKJhSR01SGGGp5hPWmrrUgrv3lDnP+HhcI3nt3YqBoVAVTBAQT5iuhTg8nvPtd8ZeYj6w1x6RqGUBrSku7+N1+BaasZvjTk64RoIDlL8brpEcJx3OmY7jLoZsswdtmhfC/G21llXhITOwmvRDDeTTPbyASOa16cF5/A1fZAidJpqju3wYAy9avPR1ya6eNp9K8XYrrtuxlqi+bDKwlfrYdR0RRiKRVTLOH85+ZY7XSmzRpfZBJjaTa81VDcJHpZnZnSQLASGYW9l51ZV/h7eVzTi3Hv6hUsgc/51AqJRTkpbFVLXXszoBL8nBX0u/0jBLT8nH+fJePbrwURT58OY+UieRjd1vs04w0VG5VN2U6MoGZkQzKN/ptz0Q366dxoTGmj7i1NQGHi9GgnquXFYdrCfZBmeb7s0T6yrdlZH5cZuwHFyIJ/kAtGsTg0xH5taAAq44BAk1CPk9KVVbqQzrCUiFdF/6gtlPQ8bHHc1G1W92MXGZ5HEHftyLYs8mbD/9xYRUWkHmlM0zC2ilJlnNgV4bfALpQghxOUoZL7VTqtCHIaQSXm+YUMnpkXybnV+A6xlm2CVy8fn0Xlm2XRa0+zzOa21JWWmixfiPMSCZ7qA4rS93VN3pkpF1s5TonQjisHf7iU9ZGvUPOAKZcR1pbeVf/Ul7OhepGCaId9wOtqo7pJ7yLcBZ0pFkOF28y4zEI/kcUNmutBHaQpBdNM8vjCS6HZRokkeo88TBAjGyG7SR+6vUgTcyK9Imalj0kuxz0wmK+byQU11AiJFk/ya5dNduRClcnU64yGu/ieWSeOos1t3ep+RPIWQ2pyTYVbZltTbsb7NiwSi3AV+8KLWk7LxCnfZUetEM8ThnsSoGH38/nyAwFguJp8FjvlHtcWZuU4hPva0rHfr0UhOOJ/F6vS62FW7KzkmRll2HEc7oUq4fyi5T70Vl7YVIfsPHUCdHesf9Lk7WNVWO75JDkYbMI8TOW8JKVtLY9d6UJRITO8oKo0xS+o99Yy04iniGHAaGj88kEWgwv0OrHdY/nr76DOGNS59hXCGXzTKUvDl9iKpLSWYN1lxIeyywdNpTkhay74w2jFT6NS8qkjo5CxA1yfSYwp6AJIZNKIeEK5PJAW7ORgWgwp0VgzYpqovMrWxbu+DGZ6Lhie1RAqpzm8VUzKJOH3mCzWuTOLsN3VT/dv2eeYe9UjbR8YTBsLz7q60VN1sU51k+um1f8JxD5pPhbhSC8rRaB454tmh6YUWrJI3+GWY0qeWioj/tbkYITOkJaeuGt4JrJvHA+l0Gu7kY7XOaa05alMnRWVCXqFgLIwSY4uF59Ue5SU4QKuc/HamDxbr0x6csCetXGoP7Qn1Bk/J9DsynO/UD6iZ1Hyrz+jit0hDCwi/E9OjgKTbB3ZQKQ/0ZOvevfNHG0NK4Aj3Cp7NpRk07RT1i/S0EL93Ag8GRgKI9CfpajKyK6+Jj/PI1KO5/85VAwz2AwzP8FTBb075IxCXv6T9RVvWT2tUaqxDS92zrGUbWzUYk9mSs82pECH+fkqsDt93VW++4YsR/dHCYcQSYTO/KaBMDj9LSD/J/+z20Kq8XvZUAIHtm9hRPP3ItbuAu2Hm5lkPs92pd7kCxgRs0xOVBnZ13ccdA0aunrwv9SdqElJRC3g+oCu+nXyCgmXUs9yMjTMAIHfxZV+aPKcZeUBWt057Xo85Ks1Ir5gzEHCWqZEhrLZMuF11ziGtFQUds/EESajhagzcKsxamcSZxGth4UII+adPhQkUnx2WyN+4YWR+r3f8MnkyGFuR4zjzxJS8WsQYR5PTyRaD9ixa6Mh741nBHbzfjXHskGDq179xaRNrCIB1z1xRfWfjqw2pHc1zk9xlPpL8sQWAIuETZZhbnmL54rceXVNRvUiKrrqIkeogsl0XXb17ylNb0f4GA9Wd44vffEG8FSZGHEL2fbaTGRcSiCeA8PmA/f6Hz8HCS76fXUHwgwkzSwlI71ekZ7Fapmlk/KC+Hs8hUcw3N2LN5LhkVYyizYFl/uPeVP5lsoJHhhfWvvSWruCUW1ZcJOeuTbrDgywJ/qG07gZJplnTvLcYdNaH0KMYOYMGX+rB4NGPFmQsNaIwlWrfCezxre8zXBrsMT+edVLbLqN1BqB76JH4BvZTqUIMfGwPGEn+EnmTV86fPBaYbFL3DFEhjB45CewkXEAtJxk4/Ms2pPXnaRqdky0HOYdcUcE2zcXq4vaIvW2/v0nHFJH2XXe22ueDmq/18XGtELSq85j9X8q0tcNSSKJIX8FTuJF/Pf8j5PhqG2u+osvsLxYrvvfeVJL+4tkcXcr9JV7v0ERmj/X6fM3NC4j6dS1+9Umr2oPavqiAydTZPLMNRGY23LO9zAVDly7jD+70G5TPPLdhRIl4WxcYjLnM+SNcJ26FOrkrISUtPObIz5Zb3AG612krnpy15RMW+1cQjlnWFI6538qky9axd2oJmHIHP08KyP0ubGO+TQNOYuv2uh17yCIvR8VcStw7o1g0NM60sk+8Tq7YfIBJrtp53GkvzXH7OA0p8/n/u1satf/VJhtR1l8Wa6Gmaug7haSpaCaYQax6ta0mkutlb+eAOSG1aobM81D9A4iS1RRlzBBoVX6tU1S6WE2N9ORY6DfeLRC4l9Rvr5h95XDWB2mR1d4WFudpsgVYwiTwT31ljskD8ZyDOlm5DkGh9N/UB/0AI5Xvb8ZBmai2hQ4BWMqFwYnzxwB26YHSOv9WgY3JXnvoN+2R4rqGVh/LLDMtpFP+SpMGJNWvbIl5SOodbCczW2RKleksPoUeGEzrjtKHVdtZA+kfqO+rVx/iclCqwoopepvJpSTDjT+b9GWylGRF8EDbGlw6eUzmJM95Ovoz+kwLX3c2fTjFeYEsE7vUZm3mqdGJuKh2w9/QGSaqRHs99aScGOdDqkFcACoqdbBoQqqjamhH6Q9ng39JCg3lrGJwd50Qk9ovnqBTr8MME7Ps2wiVfygUmPoUBJJfJWX5Nda0nuncbFkA==\"));\n}\n\n});\nparcelRequire.register(\"dZE5a\", function(module, exports) {\n\n$parcel$export(module.exports, \"read_compressed_payload\", () => $a30010648e61cae9$export$671d8b4ebc0c42ad);\n$parcel$export(module.exports, \"read_member_array\", () => $a30010648e61cae9$export$9303bf4e1ede4914);\n$parcel$export(module.exports, \"read_mapped_map\", () => $a30010648e61cae9$export$824d00fb01c38bd9);\n$parcel$export(module.exports, \"read_emoji_trie\", () => $a30010648e61cae9$export$d7b24c6ce369e1b7);\n/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */ // https://github.com/behnammodi/polyfill/blob/master/array.polyfill.js\nfunction $a30010648e61cae9$var$flat(array, depth) {\n if (depth == null) depth = 1;\n const result = [];\n const forEach = result.forEach;\n const flatDeep = function(arr, depth) {\n forEach.call(arr, function(val) {\n if (depth > 0 && Array.isArray(val)) flatDeep(val, depth - 1);\n else result.push(val);\n });\n };\n flatDeep(array, depth);\n return result;\n}\nfunction $a30010648e61cae9$var$fromEntries(array) {\n const result = {};\n for(let i = 0; i < array.length; i++){\n const value = array[i];\n result[value[0]] = value[1];\n }\n return result;\n}\nfunction $a30010648e61cae9$export$956eeed0f8f2ceff(bytes) {\n let pos = 0;\n function u16() {\n return bytes[pos++] << 8 | bytes[pos++];\n }\n // decode the frequency table\n let symbol_count = u16();\n let total = 1;\n let acc = [\n 0,\n 1\n ]; // first symbol has frequency 1\n for(let i = 1; i < symbol_count; i++)acc.push(total += u16());\n // skip the sized-payload that the last 3 symbols index into\n let skip = u16();\n let pos_payload = pos;\n pos += skip;\n let read_width = 0;\n let read_buffer = 0;\n function read_bit() {\n if (read_width == 0) {\n // this will read beyond end of buffer\n // but (undefined|0) => zero pad\n read_buffer = read_buffer << 8 | bytes[pos++];\n read_width = 8;\n }\n return read_buffer >> --read_width & 1;\n }\n const N = 31;\n const FULL = Math.pow(2, N);\n const HALF = FULL >>> 1;\n const QRTR = HALF >> 1;\n const MASK = FULL - 1;\n // fill register\n let register = 0;\n for(let i = 0; i < N; i++)register = register << 1 | read_bit();\n let symbols = [];\n let low = 0;\n let range = FULL; // treat like a float\n while(true){\n let value = Math.floor(((register - low + 1) * total - 1) / range);\n let start = 0;\n let end = symbol_count;\n while(end - start > 1){\n let mid = start + end >>> 1;\n if (value < acc[mid]) end = mid;\n else start = mid;\n }\n if (start == 0) break; // first symbol is end mark\n symbols.push(start);\n let a = low + Math.floor(range * acc[start] / total);\n let b = low + Math.floor(range * acc[start + 1] / total) - 1;\n while(((a ^ b) & HALF) == 0){\n register = register << 1 & MASK | read_bit();\n a = a << 1 & MASK;\n b = b << 1 & MASK | 1;\n }\n while(a & ~b & QRTR){\n register = register & HALF | register << 1 & MASK >>> 1 | read_bit();\n a = a << 1 ^ HALF;\n b = (b ^ HALF) << 1 | HALF | 1;\n }\n low = a;\n range = 1 + b - a;\n }\n let offset = symbol_count - 4;\n return symbols.map((x)=>{\n switch(x - offset){\n case 3:\n return offset + 0x10100 + (bytes[pos_payload++] << 16 | bytes[pos_payload++] << 8 | bytes[pos_payload++]);\n case 2:\n return offset + 0x100 + (bytes[pos_payload++] << 8 | bytes[pos_payload++]);\n case 1:\n return offset + bytes[pos_payload++];\n default:\n return x - 1;\n }\n });\n}\nfunction $a30010648e61cae9$export$2cda812f22276871(v) {\n let pos = 0;\n return ()=>v[pos++];\n}\nfunction $a30010648e61cae9$export$671d8b4ebc0c42ad(bytes) {\n return $a30010648e61cae9$export$2cda812f22276871($a30010648e61cae9$export$956eeed0f8f2ceff(bytes));\n}\nfunction $a30010648e61cae9$export$a785de3a2a8dd1aa(i) {\n return i & 1 ? ~i >> 1 : i >> 1;\n}\nfunction $a30010648e61cae9$var$read_counts(n, next) {\n let v = Array(n);\n for(let i = 0; i < n; i++)v[i] = 1 + next();\n return v;\n}\nfunction $a30010648e61cae9$var$read_ascending(n, next) {\n let v = Array(n);\n for(let i = 0, x = -1; i < n; i++)v[i] = x += 1 + next();\n return v;\n}\nfunction $a30010648e61cae9$var$read_deltas(n, next) {\n let v = Array(n);\n for(let i = 0, x = 0; i < n; i++)v[i] = x += $a30010648e61cae9$export$a785de3a2a8dd1aa(next());\n return v;\n}\nfunction $a30010648e61cae9$export$9303bf4e1ede4914(next, lookup) {\n let v = $a30010648e61cae9$var$read_ascending(next(), next);\n let n = next();\n let vX = $a30010648e61cae9$var$read_ascending(n, next);\n let vN = $a30010648e61cae9$var$read_counts(n, next);\n for(let i = 0; i < n; i++)for(let j = 0; j < vN[i]; j++)v.push(vX[i] + j);\n return lookup ? v.map((x)=>lookup[x]) : v;\n}\nfunction $a30010648e61cae9$export$824d00fb01c38bd9(next) {\n let ret = [];\n while(true){\n let w = next();\n if (w == 0) break;\n ret.push($a30010648e61cae9$var$read_linear_table(w, next));\n }\n while(true){\n let w = next() - 1;\n if (w < 0) break;\n ret.push($a30010648e61cae9$var$read_replacement_table(w, next));\n }\n return $a30010648e61cae9$var$fromEntries($a30010648e61cae9$var$flat(ret));\n}\nfunction $a30010648e61cae9$export$e9011071590ab431(next) {\n let v = [];\n while(true){\n let i = next();\n if (i == 0) break;\n v.push(i);\n }\n return v;\n}\nfunction $a30010648e61cae9$var$read_transposed(n, w, next) {\n let m = Array(n).fill(undefined).map(()=>[]);\n for(let i = 0; i < w; i++)$a30010648e61cae9$var$read_deltas(n, next).forEach((x, j)=>m[j].push(x));\n return m;\n}\nfunction $a30010648e61cae9$var$read_linear_table(w, next) {\n let dx = 1 + next();\n let dy = next();\n let vN = $a30010648e61cae9$export$e9011071590ab431(next);\n let m = $a30010648e61cae9$var$read_transposed(vN.length, 1 + w, next);\n return $a30010648e61cae9$var$flat(m.map((v, i)=>{\n const x = v[0], ys = v.slice(1);\n //let [x, ...ys] = v;\n //return Array(vN[i]).fill().map((_, j) => {\n return Array(vN[i]).fill(undefined).map((_, j)=>{\n let j_dy = j * dy;\n return [\n x + j * dx,\n ys.map((y)=>y + j_dy)\n ];\n });\n }));\n}\nfunction $a30010648e61cae9$var$read_replacement_table(w, next) {\n let n = 1 + next();\n let m = $a30010648e61cae9$var$read_transposed(n, 1 + w, next);\n return m.map((v)=>[\n v[0],\n v.slice(1)\n ]);\n}\nfunction $a30010648e61cae9$export$d7b24c6ce369e1b7(next) {\n let sorted = $a30010648e61cae9$export$9303bf4e1ede4914(next).sort((a, b)=>a - b);\n return read();\n function read() {\n let branches = [];\n while(true){\n let keys = $a30010648e61cae9$export$9303bf4e1ede4914(next, sorted);\n if (keys.length == 0) break;\n branches.push({\n set: new Set(keys),\n node: read()\n });\n }\n branches.sort((a, b)=>b.set.size - a.set.size); // sort by likelihood\n let temp = next();\n let valid = temp % 3;\n temp = temp / 3 | 0;\n let fe0f = !!(temp & 1);\n temp >>= 1;\n let save = temp == 1;\n let check = temp == 2;\n return {\n branches: branches,\n valid: valid,\n fe0f: fe0f,\n save: save,\n check: check\n };\n }\n}\n\n});\n\n\n\n\nparcelRequire.register(\"iz1PA\", function(module, exports) {\n\n$parcel$export(module.exports, \"hashMessage\", () => $d83cea76876f8e45$export$d4c241cec96564c1);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $2yhyU = parcelRequire(\"2yhyU\");\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\nconst $d83cea76876f8e45$export$1ff3fdc4802a2ba6 = \"\\x19Ethereum Signed Message:\\n\";\nfunction $d83cea76876f8e45$export$d4c241cec96564c1(message) {\n if (typeof message === \"string\") message = (0, $fkVsY.toUtf8Bytes)(message);\n return (0, $2yhyU.keccak256)((0, $aBzgs.concat)([\n (0, $fkVsY.toUtf8Bytes)($d83cea76876f8e45$export$1ff3fdc4802a2ba6),\n (0, $fkVsY.toUtf8Bytes)(String(message.length)),\n message\n ]));\n}\n\n});\n\nparcelRequire.register(\"iyMjQ\", function(module, exports) {\n\n$parcel$export(module.exports, \"defaultPath\", () => $d830e21df8d45279$export$d48ad89f7e11a603);\n$parcel$export(module.exports, \"HDNode\", () => $d830e21df8d45279$export$b68640c53e22b952);\n$parcel$export(module.exports, \"entropyToMnemonic\", () => $d830e21df8d45279$export$4becd65eb23312e6);\n$parcel$export(module.exports, \"mnemonicToEntropy\", () => $d830e21df8d45279$export$135e090d58b310ca);\n$parcel$export(module.exports, \"mnemonicToSeed\", () => $d830e21df8d45279$export$3dee74f1204ab09f);\n$parcel$export(module.exports, \"isValidMnemonic\", () => $d830e21df8d45279$export$5eea3393c6119c80);\n$parcel$export(module.exports, \"getAccountPath\", () => $d830e21df8d45279$export$22b80e4f9eff636d);\n\nvar $5tyfw = parcelRequire(\"5tyfw\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\n\nvar $76ZnQ = parcelRequire(\"76ZnQ\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $lWFPp = parcelRequire(\"lWFPp\");\n\nvar $g67nD = parcelRequire(\"g67nD\");\nvar $iLptM = parcelRequire(\"iLptM\");\n\nvar $TyNFl = parcelRequire(\"TyNFl\");\n\nvar $hiOO1 = parcelRequire(\"hiOO1\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $8gKKU = parcelRequire(\"8gKKU\");\n\"use strict\";\nconst $d830e21df8d45279$var$logger = new (0, $d1hml.Logger)((0, $8gKKU.version));\nconst $d830e21df8d45279$var$N = (0, $1chjt.BigNumber).from(\"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\");\n// \"Bitcoin seed\"\nconst $d830e21df8d45279$var$MasterSecret = (0, $fkVsY.toUtf8Bytes)(\"Bitcoin seed\");\nconst $d830e21df8d45279$var$HardenedBit = 0x80000000;\n// Returns a byte with the MSB bits set\nfunction $d830e21df8d45279$var$getUpperMask(bits) {\n return (1 << bits) - 1 << 8 - bits;\n}\n// Returns a byte with the LSB bits set\nfunction $d830e21df8d45279$var$getLowerMask(bits) {\n return (1 << bits) - 1;\n}\nfunction $d830e21df8d45279$var$bytes32(value) {\n return (0, $aBzgs.hexZeroPad)((0, $aBzgs.hexlify)(value), 32);\n}\nfunction $d830e21df8d45279$var$base58check(data) {\n return (0, $5tyfw.Base58).encode((0, $aBzgs.concat)([\n data,\n (0, $aBzgs.hexDataSlice)((0, $g67nD.sha256)((0, $g67nD.sha256)(data)), 0, 4)\n ]));\n}\nfunction $d830e21df8d45279$var$getWordlist(wordlist) {\n if (wordlist == null) return (0, $hiOO1.wordlists)[\"en\"];\n if (typeof wordlist === \"string\") {\n const words = (0, $hiOO1.wordlists)[wordlist];\n if (words == null) $d830e21df8d45279$var$logger.throwArgumentError(\"unknown locale\", \"wordlist\", wordlist);\n return words;\n }\n return wordlist;\n}\nconst $d830e21df8d45279$var$_constructorGuard = {};\nconst $d830e21df8d45279$export$d48ad89f7e11a603 = \"m/44'/60'/0'/0/0\";\nclass $d830e21df8d45279$export$b68640c53e22b952 {\n /**\n * This constructor should not be called directly.\n *\n * Please use:\n * - fromMnemonic\n * - fromSeed\n */ constructor(constructorGuard, privateKey, publicKey, parentFingerprint, chainCode, index, depth, mnemonicOrPath){\n /* istanbul ignore if */ if (constructorGuard !== $d830e21df8d45279$var$_constructorGuard) throw new Error(\"HDNode constructor cannot be called directly\");\n if (privateKey) {\n const signingKey = new (0, $lWFPp.SigningKey)(privateKey);\n (0, $e72ut.defineReadOnly)(this, \"privateKey\", signingKey.privateKey);\n (0, $e72ut.defineReadOnly)(this, \"publicKey\", signingKey.compressedPublicKey);\n } else {\n (0, $e72ut.defineReadOnly)(this, \"privateKey\", null);\n (0, $e72ut.defineReadOnly)(this, \"publicKey\", (0, $aBzgs.hexlify)(publicKey));\n }\n (0, $e72ut.defineReadOnly)(this, \"parentFingerprint\", parentFingerprint);\n (0, $e72ut.defineReadOnly)(this, \"fingerprint\", (0, $aBzgs.hexDataSlice)((0, $g67nD.ripemd160)((0, $g67nD.sha256)(this.publicKey)), 0, 4));\n (0, $e72ut.defineReadOnly)(this, \"address\", (0, $TyNFl.computeAddress)(this.publicKey));\n (0, $e72ut.defineReadOnly)(this, \"chainCode\", chainCode);\n (0, $e72ut.defineReadOnly)(this, \"index\", index);\n (0, $e72ut.defineReadOnly)(this, \"depth\", depth);\n if (mnemonicOrPath == null) {\n // From a source that does not preserve the path (e.g. extended keys)\n (0, $e72ut.defineReadOnly)(this, \"mnemonic\", null);\n (0, $e72ut.defineReadOnly)(this, \"path\", null);\n } else if (typeof mnemonicOrPath === \"string\") {\n // From a source that does not preserve the mnemonic (e.g. neutered)\n (0, $e72ut.defineReadOnly)(this, \"mnemonic\", null);\n (0, $e72ut.defineReadOnly)(this, \"path\", mnemonicOrPath);\n } else {\n // From a fully qualified source\n (0, $e72ut.defineReadOnly)(this, \"mnemonic\", mnemonicOrPath);\n (0, $e72ut.defineReadOnly)(this, \"path\", mnemonicOrPath.path);\n }\n }\n get extendedKey() {\n // We only support the mainnet values for now, but if anyone needs\n // testnet values, let me know. I believe current sentiment is that\n // we should always use mainnet, and use BIP-44 to derive the network\n // - Mainnet: public=0x0488B21E, private=0x0488ADE4\n // - Testnet: public=0x043587CF, private=0x04358394\n if (this.depth >= 256) throw new Error(\"Depth too large!\");\n return $d830e21df8d45279$var$base58check((0, $aBzgs.concat)([\n this.privateKey != null ? \"0x0488ADE4\" : \"0x0488B21E\",\n (0, $aBzgs.hexlify)(this.depth),\n this.parentFingerprint,\n (0, $aBzgs.hexZeroPad)((0, $aBzgs.hexlify)(this.index), 4),\n this.chainCode,\n this.privateKey != null ? (0, $aBzgs.concat)([\n \"0x00\",\n this.privateKey\n ]) : this.publicKey\n ]));\n }\n neuter() {\n return new $d830e21df8d45279$export$b68640c53e22b952($d830e21df8d45279$var$_constructorGuard, null, this.publicKey, this.parentFingerprint, this.chainCode, this.index, this.depth, this.path);\n }\n _derive(index) {\n if (index > 0xffffffff) throw new Error(\"invalid index - \" + String(index));\n // Base path\n let path = this.path;\n if (path) path += \"/\" + (index & ~$d830e21df8d45279$var$HardenedBit);\n const data = new Uint8Array(37);\n if (index & $d830e21df8d45279$var$HardenedBit) {\n if (!this.privateKey) throw new Error(\"cannot derive child of neutered node\");\n // Data = 0x00 || ser_256(k_par)\n data.set((0, $aBzgs.arrayify)(this.privateKey), 1);\n // Hardened path\n if (path) path += \"'\";\n } else // Data = ser_p(point(k_par))\n data.set((0, $aBzgs.arrayify)(this.publicKey));\n // Data += ser_32(i)\n for(let i = 24; i >= 0; i -= 8)data[33 + (i >> 3)] = index >> 24 - i & 0xff;\n const I = (0, $aBzgs.arrayify)((0, $g67nD.computeHmac)((0, $iLptM.SupportedAlgorithm).sha512, this.chainCode, data));\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n // The private key\n let ki = null;\n // The public key\n let Ki = null;\n if (this.privateKey) ki = $d830e21df8d45279$var$bytes32((0, $1chjt.BigNumber).from(IL).add(this.privateKey).mod($d830e21df8d45279$var$N));\n else {\n const ek = new (0, $lWFPp.SigningKey)((0, $aBzgs.hexlify)(IL));\n Ki = ek._addPoint(this.publicKey);\n }\n let mnemonicOrPath = path;\n const srcMnemonic = this.mnemonic;\n if (srcMnemonic) mnemonicOrPath = Object.freeze({\n phrase: srcMnemonic.phrase,\n path: path,\n locale: srcMnemonic.locale || \"en\"\n });\n return new $d830e21df8d45279$export$b68640c53e22b952($d830e21df8d45279$var$_constructorGuard, ki, Ki, this.fingerprint, $d830e21df8d45279$var$bytes32(IR), index, this.depth + 1, mnemonicOrPath);\n }\n derivePath(path) {\n const components = path.split(\"/\");\n if (components.length === 0 || components[0] === \"m\" && this.depth !== 0) throw new Error(\"invalid path - \" + path);\n if (components[0] === \"m\") components.shift();\n let result = this;\n for(let i = 0; i < components.length; i++){\n const component = components[i];\n if (component.match(/^[0-9]+'$/)) {\n const index = parseInt(component.substring(0, component.length - 1));\n if (index >= $d830e21df8d45279$var$HardenedBit) throw new Error(\"invalid path index - \" + component);\n result = result._derive($d830e21df8d45279$var$HardenedBit + index);\n } else if (component.match(/^[0-9]+$/)) {\n const index = parseInt(component);\n if (index >= $d830e21df8d45279$var$HardenedBit) throw new Error(\"invalid path index - \" + component);\n result = result._derive(index);\n } else throw new Error(\"invalid path component - \" + component);\n }\n return result;\n }\n static _fromSeed(seed, mnemonic) {\n const seedArray = (0, $aBzgs.arrayify)(seed);\n if (seedArray.length < 16 || seedArray.length > 64) throw new Error(\"invalid seed\");\n const I = (0, $aBzgs.arrayify)((0, $g67nD.computeHmac)((0, $iLptM.SupportedAlgorithm).sha512, $d830e21df8d45279$var$MasterSecret, seedArray));\n return new $d830e21df8d45279$export$b68640c53e22b952($d830e21df8d45279$var$_constructorGuard, $d830e21df8d45279$var$bytes32(I.slice(0, 32)), null, \"0x00000000\", $d830e21df8d45279$var$bytes32(I.slice(32)), 0, 0, mnemonic);\n }\n static fromMnemonic(mnemonic, password, wordlist) {\n // If a locale name was passed in, find the associated wordlist\n wordlist = $d830e21df8d45279$var$getWordlist(wordlist);\n // Normalize the case and spacing in the mnemonic (throws if the mnemonic is invalid)\n mnemonic = $d830e21df8d45279$export$4becd65eb23312e6($d830e21df8d45279$export$135e090d58b310ca(mnemonic, wordlist), wordlist);\n return $d830e21df8d45279$export$b68640c53e22b952._fromSeed($d830e21df8d45279$export$3dee74f1204ab09f(mnemonic, password), {\n phrase: mnemonic,\n path: \"m\",\n locale: wordlist.locale\n });\n }\n static fromSeed(seed) {\n return $d830e21df8d45279$export$b68640c53e22b952._fromSeed(seed, null);\n }\n static fromExtendedKey(extendedKey) {\n const bytes = (0, $5tyfw.Base58).decode(extendedKey);\n if (bytes.length !== 82 || $d830e21df8d45279$var$base58check(bytes.slice(0, 78)) !== extendedKey) $d830e21df8d45279$var$logger.throwArgumentError(\"invalid extended key\", \"extendedKey\", \"[REDACTED]\");\n const depth = bytes[4];\n const parentFingerprint = (0, $aBzgs.hexlify)(bytes.slice(5, 9));\n const index = parseInt((0, $aBzgs.hexlify)(bytes.slice(9, 13)).substring(2), 16);\n const chainCode = (0, $aBzgs.hexlify)(bytes.slice(13, 45));\n const key = bytes.slice(45, 78);\n switch((0, $aBzgs.hexlify)(bytes.slice(0, 4))){\n // Public Key\n case \"0x0488b21e\":\n case \"0x043587cf\":\n return new $d830e21df8d45279$export$b68640c53e22b952($d830e21df8d45279$var$_constructorGuard, null, (0, $aBzgs.hexlify)(key), parentFingerprint, chainCode, index, depth, null);\n // Private Key\n case \"0x0488ade4\":\n case \"0x04358394 \":\n if (key[0] !== 0) break;\n return new $d830e21df8d45279$export$b68640c53e22b952($d830e21df8d45279$var$_constructorGuard, (0, $aBzgs.hexlify)(key.slice(1)), null, parentFingerprint, chainCode, index, depth, null);\n }\n return $d830e21df8d45279$var$logger.throwArgumentError(\"invalid extended key\", \"extendedKey\", \"[REDACTED]\");\n }\n}\nfunction $d830e21df8d45279$export$3dee74f1204ab09f(mnemonic, password) {\n if (!password) password = \"\";\n const salt = (0, $fkVsY.toUtf8Bytes)(\"mnemonic\" + password, (0, $fkVsY.UnicodeNormalizationForm).NFKD);\n return (0, $76ZnQ.pbkdf2)((0, $fkVsY.toUtf8Bytes)(mnemonic, (0, $fkVsY.UnicodeNormalizationForm).NFKD), salt, 2048, 64, \"sha512\");\n}\nfunction $d830e21df8d45279$export$135e090d58b310ca(mnemonic, wordlist) {\n wordlist = $d830e21df8d45279$var$getWordlist(wordlist);\n $d830e21df8d45279$var$logger.checkNormalize();\n const words = wordlist.split(mnemonic);\n if (words.length % 3 !== 0) throw new Error(\"invalid mnemonic\");\n const entropy = (0, $aBzgs.arrayify)(new Uint8Array(Math.ceil(11 * words.length / 8)));\n let offset = 0;\n for(let i = 0; i < words.length; i++){\n let index = wordlist.getWordIndex(words[i].normalize(\"NFKD\"));\n if (index === -1) throw new Error(\"invalid mnemonic\");\n for(let bit = 0; bit < 11; bit++){\n if (index & 1 << 10 - bit) entropy[offset >> 3] |= 1 << 7 - offset % 8;\n offset++;\n }\n }\n const entropyBits = 32 * words.length / 3;\n const checksumBits = words.length / 3;\n const checksumMask = $d830e21df8d45279$var$getUpperMask(checksumBits);\n const checksum = (0, $aBzgs.arrayify)((0, $g67nD.sha256)(entropy.slice(0, entropyBits / 8)))[0] & checksumMask;\n if (checksum !== (entropy[entropy.length - 1] & checksumMask)) throw new Error(\"invalid checksum\");\n return (0, $aBzgs.hexlify)(entropy.slice(0, entropyBits / 8));\n}\nfunction $d830e21df8d45279$export$4becd65eb23312e6(entropy, wordlist) {\n wordlist = $d830e21df8d45279$var$getWordlist(wordlist);\n entropy = (0, $aBzgs.arrayify)(entropy);\n if (entropy.length % 4 !== 0 || entropy.length < 16 || entropy.length > 32) throw new Error(\"invalid entropy\");\n const indices = [\n 0\n ];\n let remainingBits = 11;\n for(let i = 0; i < entropy.length; i++)// Consume the whole byte (with still more to go)\n if (remainingBits > 8) {\n indices[indices.length - 1] <<= 8;\n indices[indices.length - 1] |= entropy[i];\n remainingBits -= 8;\n // This byte will complete an 11-bit index\n } else {\n indices[indices.length - 1] <<= remainingBits;\n indices[indices.length - 1] |= entropy[i] >> 8 - remainingBits;\n // Start the next word\n indices.push(entropy[i] & $d830e21df8d45279$var$getLowerMask(8 - remainingBits));\n remainingBits += 3;\n }\n // Compute the checksum bits\n const checksumBits = entropy.length / 4;\n const checksum = (0, $aBzgs.arrayify)((0, $g67nD.sha256)(entropy))[0] & $d830e21df8d45279$var$getUpperMask(checksumBits);\n // Shift the checksum into the word indices\n indices[indices.length - 1] <<= checksumBits;\n indices[indices.length - 1] |= checksum >> 8 - checksumBits;\n return wordlist.join(indices.map((index)=>wordlist.getWord(index)));\n}\nfunction $d830e21df8d45279$export$5eea3393c6119c80(mnemonic, wordlist) {\n try {\n $d830e21df8d45279$export$135e090d58b310ca(mnemonic, wordlist);\n return true;\n } catch (error) {}\n return false;\n}\nfunction $d830e21df8d45279$export$22b80e4f9eff636d(index) {\n if (typeof index !== \"number\" || index < 0 || index >= $d830e21df8d45279$var$HardenedBit || index % 1) $d830e21df8d45279$var$logger.throwArgumentError(\"invalid account index\", \"index\", index);\n return `m/44'/60'/${index}'/0/0`;\n}\n\n});\nparcelRequire.register(\"76ZnQ\", function(module, exports) {\n\n$parcel$export(module.exports, \"pbkdf2\", () => $52d8b575085ace3c$export$448fa22aedc9dbca);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $g67nD = parcelRequire(\"g67nD\");\n\"use strict\";\nfunction $52d8b575085ace3c$export$448fa22aedc9dbca(password, salt, iterations, keylen, hashAlgorithm) {\n password = (0, $aBzgs.arrayify)(password);\n salt = (0, $aBzgs.arrayify)(salt);\n let hLen;\n let l = 1;\n const DK = new Uint8Array(keylen);\n const block1 = new Uint8Array(salt.length + 4);\n block1.set(salt);\n //salt.copy(block1, 0, 0, salt.length)\n let r;\n let T;\n for(let i = 1; i <= l; i++){\n //block1.writeUInt32BE(i, salt.length)\n block1[salt.length] = i >> 24 & 0xff;\n block1[salt.length + 1] = i >> 16 & 0xff;\n block1[salt.length + 2] = i >> 8 & 0xff;\n block1[salt.length + 3] = i & 0xff;\n //let U = createHmac(password).update(block1).digest();\n let U = (0, $aBzgs.arrayify)((0, $g67nD.computeHmac)(hashAlgorithm, password, block1));\n if (!hLen) {\n hLen = U.length;\n T = new Uint8Array(hLen);\n l = Math.ceil(keylen / hLen);\n r = keylen - (l - 1) * hLen;\n }\n //U.copy(T, 0, 0, hLen)\n T.set(U);\n for(let j = 1; j < iterations; j++){\n //U = createHmac(password).update(U).digest();\n U = (0, $aBzgs.arrayify)((0, $g67nD.computeHmac)(hashAlgorithm, password, U));\n for(let k = 0; k < hLen; k++)T[k] ^= U[k];\n }\n const destPos = (i - 1) * hLen;\n const len = i === l ? r : hLen;\n //T.copy(DK, destPos, 0, len)\n DK.set((0, $aBzgs.arrayify)(T).slice(0, len), destPos);\n }\n return (0, $aBzgs.hexlify)(DK);\n}\n\n});\n\nparcelRequire.register(\"hiOO1\", function(module, exports) {\n\n$parcel$export(module.exports, \"wordlists\", () => $c98b8711de347986$export$e8e1b4711c2d1939);\n\nvar $jnJxW = parcelRequire(\"jnJxW\");\n\"use strict\";\nconst $c98b8711de347986$export$e8e1b4711c2d1939 = {\n en: (0, $jnJxW.langEn)\n};\n\n});\nparcelRequire.register(\"jnJxW\", function(module, exports) {\n\n$parcel$export(module.exports, \"langEn\", () => $e1c37ee3c90035e1$export$a2c9518710cf1f49);\n\nvar $2hNTt = parcelRequire(\"2hNTt\");\n\"use strict\";\nconst $e1c37ee3c90035e1$var$words = \"AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo\";\nlet $e1c37ee3c90035e1$var$wordlist = null;\nfunction $e1c37ee3c90035e1$var$loadWords(lang) {\n if ($e1c37ee3c90035e1$var$wordlist != null) return;\n $e1c37ee3c90035e1$var$wordlist = $e1c37ee3c90035e1$var$words.replace(/([A-Z])/g, \" $1\").toLowerCase().substring(1).split(\" \");\n // Verify the computed list matches the official list\n /* istanbul ignore if */ if ((0, $2hNTt.Wordlist).check(lang) !== \"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60\") {\n $e1c37ee3c90035e1$var$wordlist = null;\n throw new Error(\"BIP39 Wordlist for en (English) FAILED\");\n }\n}\nclass $e1c37ee3c90035e1$var$LangEn extends (0, $2hNTt.Wordlist) {\n constructor(){\n super(\"en\");\n }\n getWord(index) {\n $e1c37ee3c90035e1$var$loadWords(this);\n return $e1c37ee3c90035e1$var$wordlist[index];\n }\n getWordIndex(word) {\n $e1c37ee3c90035e1$var$loadWords(this);\n return $e1c37ee3c90035e1$var$wordlist.indexOf(word);\n }\n}\nconst $e1c37ee3c90035e1$export$a2c9518710cf1f49 = new $e1c37ee3c90035e1$var$LangEn();\n(0, $2hNTt.Wordlist).register($e1c37ee3c90035e1$export$a2c9518710cf1f49);\n\n});\nparcelRequire.register(\"2hNTt\", function(module, exports) {\n\n$parcel$export(module.exports, \"Wordlist\", () => $1aa3df27db978ea8$export$4d9531a8ddb0ebca);\n\nvar $aIo2D = parcelRequire(\"aIo2D\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $aznsn = parcelRequire(\"aznsn\");\n\"use strict\";\n// This gets overridden by rollup\nconst $1aa3df27db978ea8$var$exportWordlist = false;\nconst $1aa3df27db978ea8$export$af88d00dbe7f521 = new (0, $d1hml.Logger)((0, $aznsn.version));\nclass $1aa3df27db978ea8$export$4d9531a8ddb0ebca {\n constructor(locale){\n $1aa3df27db978ea8$export$af88d00dbe7f521.checkAbstract(new.target, $1aa3df27db978ea8$export$4d9531a8ddb0ebca);\n (0, $e72ut.defineReadOnly)(this, \"locale\", locale);\n }\n // Subclasses may override this\n split(mnemonic) {\n return mnemonic.toLowerCase().split(/ +/g);\n }\n // Subclasses may override this\n join(words) {\n return words.join(\" \");\n }\n static check(wordlist) {\n const words = [];\n for(let i = 0; i < 2048; i++){\n const word = wordlist.getWord(i);\n /* istanbul ignore if */ if (i !== wordlist.getWordIndex(word)) return \"0x\";\n words.push(word);\n }\n return (0, $aIo2D.id)(words.join(\"\\n\") + \"\\n\");\n }\n static register(lang, name) {\n if (!name) name = lang.locale;\n /* istanbul ignore if */ if ($1aa3df27db978ea8$var$exportWordlist) try {\n const anyGlobal = window;\n if (anyGlobal._ethers && anyGlobal._ethers.wordlists) {\n if (!anyGlobal._ethers.wordlists[name]) (0, $e72ut.defineReadOnly)(anyGlobal._ethers.wordlists, name, lang);\n }\n } catch (error) {}\n }\n}\n\n});\nparcelRequire.register(\"aznsn\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $7b1f5e4d32c2ee77$export$83d89fbfd8236492);\nconst $7b1f5e4d32c2ee77$export$83d89fbfd8236492 = \"wordlists/5.7.0\";\n\n});\n\n\n\n\nparcelRequire.register(\"8gKKU\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $6054160a15387c6c$export$83d89fbfd8236492);\nconst $6054160a15387c6c$export$83d89fbfd8236492 = \"hdnode/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"jpzbw\", function(module, exports) {\n\n$parcel$export(module.exports, \"isCrowdsaleWallet\", () => $e21ba517a486d299$export$724d6cf6b9fd8578);\n$parcel$export(module.exports, \"isKeystoreWallet\", () => $e21ba517a486d299$export$67dc926b8e68b2d8);\n$parcel$export(module.exports, \"getJsonWalletAddress\", () => $e21ba517a486d299$export$9a68ee9f8f3afd38);\n\nvar $bVwUc = parcelRequire(\"bVwUc\");\n\"use strict\";\nfunction $e21ba517a486d299$export$724d6cf6b9fd8578(json) {\n let data = null;\n try {\n data = JSON.parse(json);\n } catch (error) {\n return false;\n }\n return data.encseed && data.ethaddr;\n}\nfunction $e21ba517a486d299$export$67dc926b8e68b2d8(json) {\n let data = null;\n try {\n data = JSON.parse(json);\n } catch (error) {\n return false;\n }\n if (!data.version || parseInt(data.version) !== data.version || parseInt(data.version) !== 3) return false;\n // @TODO: Put more checks to make sure it has kdf, iv and all that good stuff\n return true;\n}\nfunction $e21ba517a486d299$export$9a68ee9f8f3afd38(json) {\n if ($e21ba517a486d299$export$724d6cf6b9fd8578(json)) try {\n return (0, $bVwUc.getAddress)(JSON.parse(json).ethaddr);\n } catch (error) {\n return null;\n }\n if ($e21ba517a486d299$export$67dc926b8e68b2d8(json)) try {\n return (0, $bVwUc.getAddress)(JSON.parse(json).address);\n } catch (error) {\n return null;\n }\n return null;\n}\n\n});\n\nparcelRequire.register(\"hWtVn\", function(module, exports) {\n\n$parcel$export(module.exports, \"randomBytes\", () => $d0ff10d17aa2d59e$export$5f828d93ff035aa8);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $igI81 = parcelRequire(\"igI81\");\n\"use strict\";\nconst $d0ff10d17aa2d59e$var$logger = new (0, $d1hml.Logger)((0, $igI81.version));\n// Debugging line for testing browser lib in node\n//const window = { crypto: { getRandomValues: () => { } } };\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis\nfunction $d0ff10d17aa2d59e$var$getGlobal() {\n if (typeof self !== \"undefined\") return self;\n if (typeof window !== \"undefined\") return window;\n if (typeof $parcel$global !== \"undefined\") return $parcel$global;\n throw new Error(\"unable to locate global object\");\n}\nconst $d0ff10d17aa2d59e$var$anyGlobal = $d0ff10d17aa2d59e$var$getGlobal();\nlet $d0ff10d17aa2d59e$var$crypto = $d0ff10d17aa2d59e$var$anyGlobal.crypto || $d0ff10d17aa2d59e$var$anyGlobal.msCrypto;\nif (!$d0ff10d17aa2d59e$var$crypto || !$d0ff10d17aa2d59e$var$crypto.getRandomValues) {\n $d0ff10d17aa2d59e$var$logger.warn(\"WARNING: Missing strong random number source\");\n $d0ff10d17aa2d59e$var$crypto = {\n getRandomValues: function(buffer) {\n return $d0ff10d17aa2d59e$var$logger.throwError(\"no secure random source avaialble\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"crypto.getRandomValues\"\n });\n }\n };\n}\nfunction $d0ff10d17aa2d59e$export$5f828d93ff035aa8(length) {\n if (length <= 0 || length > 1024 || length % 1 || length != length) $d0ff10d17aa2d59e$var$logger.throwArgumentError(\"invalid length\", \"length\", length);\n const result = new Uint8Array(length);\n $d0ff10d17aa2d59e$var$crypto.getRandomValues(result);\n return (0, $aBzgs.arrayify)(result);\n}\n\n});\nparcelRequire.register(\"igI81\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $d4cbf396701ae91f$export$83d89fbfd8236492);\nconst $d4cbf396701ae91f$export$83d89fbfd8236492 = \"random/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"iW3ip\", function(module, exports) {\n\n$parcel$export(module.exports, \"shuffled\", () => $dc90334677e5edd7$export$e6c7296801b9b341);\n\"use strict\";\nfunction $dc90334677e5edd7$export$e6c7296801b9b341(array) {\n array = array.slice();\n for(let i = array.length - 1; i > 0; i--){\n const j = Math.floor(Math.random() * (i + 1));\n const tmp = array[i];\n array[i] = array[j];\n array[j] = tmp;\n }\n return array;\n}\n\n});\n\nparcelRequire.register(\"jaF8b\", function(module, exports) {\n\n$parcel$export(module.exports, \"formatBytes32String\", () => $df4edb3ed5b824a0$export$b97e949c0076e971);\n$parcel$export(module.exports, \"parseBytes32String\", () => $df4edb3ed5b824a0$export$49340cb8f3954db8);\n\nvar $djR4n = parcelRequire(\"djR4n\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\n\"use strict\";\nfunction $df4edb3ed5b824a0$export$b97e949c0076e971(text) {\n // Get the bytes\n const bytes = (0, $fkVsY.toUtf8Bytes)(text);\n // Check we have room for null-termination\n if (bytes.length > 31) throw new Error(\"bytes32 string must be less than 32 bytes\");\n // Zero-pad (implicitly null-terminates)\n return (0, $aBzgs.hexlify)((0, $aBzgs.concat)([\n bytes,\n (0, $djR4n.HashZero)\n ]).slice(0, 32));\n}\nfunction $df4edb3ed5b824a0$export$49340cb8f3954db8(bytes) {\n const data = (0, $aBzgs.arrayify)(bytes);\n // Must be 32 bytes with a null-termination\n if (data.length !== 32) throw new Error(\"invalid bytes32 - not 32 bytes long\");\n if (data[31] !== 0) throw new Error(\"invalid bytes32 string - no null terminator\");\n // Find the null termination\n let length = 31;\n while(data[length - 1] === 0)length--;\n // Determine the string value\n return (0, $fkVsY.toUtf8String)(data.slice(0, length));\n}\n\n});\nparcelRequire.register(\"djR4n\", function(module, exports) {\n\n$parcel$export(module.exports, \"HashZero\", () => $9b26373cc461c855$export$71c2e4e213dcb7f2);\nconst $9b26373cc461c855$export$71c2e4e213dcb7f2 = \"0x0000000000000000000000000000000000000000000000000000000000000000\";\n\n});\n\n\nparcelRequire.register(\"dvY5r\", function(module, exports) {\n\n$parcel$export(module.exports, \"nameprep\", () => $9d6cc79a6dc289e5$export$94f0b6f93c619bc);\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\n\"use strict\";\nfunction $9d6cc79a6dc289e5$var$bytes2(data) {\n if (data.length % 4 !== 0) throw new Error(\"bad data\");\n let result = [];\n for(let i = 0; i < data.length; i += 4)result.push(parseInt(data.substring(i, i + 4), 16));\n return result;\n}\nfunction $9d6cc79a6dc289e5$var$createTable(data, func) {\n if (!func) func = function(value) {\n return [\n parseInt(value, 16)\n ];\n };\n let lo = 0;\n let result = {};\n data.split(\",\").forEach((pair)=>{\n let comps = pair.split(\":\");\n lo += parseInt(comps[0], 16);\n result[lo] = func(comps[1]);\n });\n return result;\n}\nfunction $9d6cc79a6dc289e5$var$createRangeTable(data) {\n let hi = 0;\n return data.split(\",\").map((v)=>{\n let comps = v.split(\"-\");\n if (comps.length === 1) comps[1] = \"0\";\n else if (comps[1] === \"\") comps[1] = \"1\";\n let lo = hi + parseInt(comps[0], 16);\n hi = parseInt(comps[1], 16);\n return {\n l: lo,\n h: hi\n };\n });\n}\nfunction $9d6cc79a6dc289e5$var$matchMap(value, ranges) {\n let lo = 0;\n for(let i = 0; i < ranges.length; i++){\n let range = ranges[i];\n lo += range.l;\n if (value >= lo && value <= lo + range.h && (value - lo) % (range.d || 1) === 0) {\n if (range.e && range.e.indexOf(value - lo) !== -1) continue;\n return range;\n }\n }\n return null;\n}\nconst $9d6cc79a6dc289e5$var$Table_A_1_ranges = $9d6cc79a6dc289e5$var$createRangeTable(\"221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d\");\n// @TODO: Make this relative...\nconst $9d6cc79a6dc289e5$var$Table_B_1_flags = \"ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff\".split(\",\").map((v)=>parseInt(v, 16));\nconst $9d6cc79a6dc289e5$var$Table_B_2_ranges = [\n {\n h: 25,\n s: 32,\n l: 65\n },\n {\n h: 30,\n s: 32,\n e: [\n 23\n ],\n l: 127\n },\n {\n h: 54,\n s: 1,\n e: [\n 48\n ],\n l: 64,\n d: 2\n },\n {\n h: 14,\n s: 1,\n l: 57,\n d: 2\n },\n {\n h: 44,\n s: 1,\n l: 17,\n d: 2\n },\n {\n h: 10,\n s: 1,\n e: [\n 2,\n 6,\n 8\n ],\n l: 61,\n d: 2\n },\n {\n h: 16,\n s: 1,\n l: 68,\n d: 2\n },\n {\n h: 84,\n s: 1,\n e: [\n 18,\n 24,\n 66\n ],\n l: 19,\n d: 2\n },\n {\n h: 26,\n s: 32,\n e: [\n 17\n ],\n l: 435\n },\n {\n h: 22,\n s: 1,\n l: 71,\n d: 2\n },\n {\n h: 15,\n s: 80,\n l: 40\n },\n {\n h: 31,\n s: 32,\n l: 16\n },\n {\n h: 32,\n s: 1,\n l: 80,\n d: 2\n },\n {\n h: 52,\n s: 1,\n l: 42,\n d: 2\n },\n {\n h: 12,\n s: 1,\n l: 55,\n d: 2\n },\n {\n h: 40,\n s: 1,\n e: [\n 38\n ],\n l: 15,\n d: 2\n },\n {\n h: 14,\n s: 1,\n l: 48,\n d: 2\n },\n {\n h: 37,\n s: 48,\n l: 49\n },\n {\n h: 148,\n s: 1,\n l: 6351,\n d: 2\n },\n {\n h: 88,\n s: 1,\n l: 160,\n d: 2\n },\n {\n h: 15,\n s: 16,\n l: 704\n },\n {\n h: 25,\n s: 26,\n l: 854\n },\n {\n h: 25,\n s: 32,\n l: 55915\n },\n {\n h: 37,\n s: 40,\n l: 1247\n },\n {\n h: 25,\n s: -119711,\n l: 53248\n },\n {\n h: 25,\n s: -119763,\n l: 52\n },\n {\n h: 25,\n s: -119815,\n l: 52\n },\n {\n h: 25,\n s: -119867,\n e: [\n 1,\n 4,\n 5,\n 7,\n 8,\n 11,\n 12,\n 17\n ],\n l: 52\n },\n {\n h: 25,\n s: -119919,\n l: 52\n },\n {\n h: 24,\n s: -119971,\n e: [\n 2,\n 7,\n 8,\n 17\n ],\n l: 52\n },\n {\n h: 24,\n s: -120023,\n e: [\n 2,\n 7,\n 13,\n 15,\n 16,\n 17\n ],\n l: 52\n },\n {\n h: 25,\n s: -120075,\n l: 52\n },\n {\n h: 25,\n s: -120127,\n l: 52\n },\n {\n h: 25,\n s: -120179,\n l: 52\n },\n {\n h: 25,\n s: -120231,\n l: 52\n },\n {\n h: 25,\n s: -120283,\n l: 52\n },\n {\n h: 25,\n s: -120335,\n l: 52\n },\n {\n h: 24,\n s: -119543,\n e: [\n 17\n ],\n l: 56\n },\n {\n h: 24,\n s: -119601,\n e: [\n 17\n ],\n l: 58\n },\n {\n h: 24,\n s: -119659,\n e: [\n 17\n ],\n l: 58\n },\n {\n h: 24,\n s: -119717,\n e: [\n 17\n ],\n l: 58\n },\n {\n h: 24,\n s: -119775,\n e: [\n 17\n ],\n l: 58\n }\n];\nconst $9d6cc79a6dc289e5$var$Table_B_2_lut_abs = $9d6cc79a6dc289e5$var$createTable(\"b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3\");\nconst $9d6cc79a6dc289e5$var$Table_B_2_lut_rel = $9d6cc79a6dc289e5$var$createTable(\"179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7\");\nconst $9d6cc79a6dc289e5$var$Table_B_2_complex = $9d6cc79a6dc289e5$var$createTable(\"df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D\", $9d6cc79a6dc289e5$var$bytes2);\nconst $9d6cc79a6dc289e5$var$Table_C_ranges = $9d6cc79a6dc289e5$var$createRangeTable(\"80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001\");\nfunction $9d6cc79a6dc289e5$var$flatten(values) {\n return values.reduce((accum, value)=>{\n value.forEach((value)=>{\n accum.push(value);\n });\n return accum;\n }, []);\n}\nfunction $9d6cc79a6dc289e5$export$d1ae0d802533bef0(codepoint) {\n return !!$9d6cc79a6dc289e5$var$matchMap(codepoint, $9d6cc79a6dc289e5$var$Table_A_1_ranges);\n}\nfunction $9d6cc79a6dc289e5$export$9630a1f26a43b76c(codepoint) {\n let range = $9d6cc79a6dc289e5$var$matchMap(codepoint, $9d6cc79a6dc289e5$var$Table_B_2_ranges);\n if (range) return [\n codepoint + range.s\n ];\n let codes = $9d6cc79a6dc289e5$var$Table_B_2_lut_abs[codepoint];\n if (codes) return codes;\n let shift = $9d6cc79a6dc289e5$var$Table_B_2_lut_rel[codepoint];\n if (shift) return [\n codepoint + shift[0]\n ];\n let complex = $9d6cc79a6dc289e5$var$Table_B_2_complex[codepoint];\n if (complex) return complex;\n return null;\n}\nfunction $9d6cc79a6dc289e5$export$e07a548cae6d1553(codepoint) {\n return !!$9d6cc79a6dc289e5$var$matchMap(codepoint, $9d6cc79a6dc289e5$var$Table_C_ranges);\n}\nfunction $9d6cc79a6dc289e5$export$94f0b6f93c619bc(value) {\n // This allows platforms with incomplete normalize to bypass\n // it for very basic names which the built-in toLowerCase\n // will certainly handle correctly\n if (value.match(/^[a-z0-9-]*$/i) && value.length <= 59) return value.toLowerCase();\n // Get the code points (keeping the current normalization)\n let codes = (0, $fkVsY.toUtf8CodePoints)(value);\n codes = $9d6cc79a6dc289e5$var$flatten(codes.map((code)=>{\n // Substitute Table B.1 (Maps to Nothing)\n if ($9d6cc79a6dc289e5$var$Table_B_1_flags.indexOf(code) >= 0) return [];\n if (code >= 0xfe00 && code <= 0xfe0f) return [];\n // Substitute Table B.2 (Case Folding)\n let codesTableB2 = $9d6cc79a6dc289e5$export$9630a1f26a43b76c(code);\n if (codesTableB2) return codesTableB2;\n // No Substitution\n return [\n code\n ];\n }));\n // Normalize using form KC\n codes = (0, $fkVsY.toUtf8CodePoints)((0, $fkVsY._toUtf8String)(codes), (0, $fkVsY.UnicodeNormalizationForm).NFKC);\n // Prohibit Tables C.1.2, C.2.2, C.3, C.4, C.5, C.6, C.7, C.8, C.9\n codes.forEach((code)=>{\n if ($9d6cc79a6dc289e5$export$e07a548cae6d1553(code)) throw new Error(\"STRINGPREP_CONTAINS_PROHIBITED\");\n });\n // Prohibit Unassigned Code Points (Table A.1)\n codes.forEach((code)=>{\n if ($9d6cc79a6dc289e5$export$d1ae0d802533bef0(code)) throw new Error(\"STRINGPREP_CONTAINS_UNASSIGNED\");\n });\n // IDNA extras\n let name = (0, $fkVsY._toUtf8String)(codes);\n // IDNA: 4.2.3.1\n if (name.substring(0, 1) === \"-\" || name.substring(2, 4) === \"--\" || name.substring(name.length - 1) === \"-\") throw new Error(\"invalid hyphen\");\n return name;\n}\n\n});\n\nparcelRequire.register(\"gvpJp\", function(module, exports) {\n\n$parcel$export(module.exports, \"commify\", () => $c043804acab33a9c$export$de1294767e6ef661);\n$parcel$export(module.exports, \"formatUnits\", () => $c043804acab33a9c$export$bd39b96f71da1885);\n$parcel$export(module.exports, \"parseUnits\", () => $c043804acab33a9c$export$203ae30b4f6490b3);\n$parcel$export(module.exports, \"formatEther\", () => $c043804acab33a9c$export$11bc63b4c03ea518);\n$parcel$export(module.exports, \"parseEther\", () => $c043804acab33a9c$export$642c4e67bbdc0bc7);\n\nvar $gi65P = parcelRequire(\"gi65P\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $28skd = parcelRequire(\"28skd\");\n\"use strict\";\nconst $c043804acab33a9c$var$logger = new (0, $d1hml.Logger)((0, $28skd.version));\nconst $c043804acab33a9c$var$names = [\n \"wei\",\n \"kwei\",\n \"mwei\",\n \"gwei\",\n \"szabo\",\n \"finney\",\n \"ether\"\n];\nfunction $c043804acab33a9c$export$de1294767e6ef661(value) {\n const comps = String(value).split(\".\");\n if (comps.length > 2 || !comps[0].match(/^-?[0-9]*$/) || comps[1] && !comps[1].match(/^[0-9]*$/) || value === \".\" || value === \"-.\") $c043804acab33a9c$var$logger.throwArgumentError(\"invalid value\", \"value\", value);\n // Make sure we have at least one whole digit (0 if none)\n let whole = comps[0];\n let negative = \"\";\n if (whole.substring(0, 1) === \"-\") {\n negative = \"-\";\n whole = whole.substring(1);\n }\n // Make sure we have at least 1 whole digit with no leading zeros\n while(whole.substring(0, 1) === \"0\")whole = whole.substring(1);\n if (whole === \"\") whole = \"0\";\n let suffix = \"\";\n if (comps.length === 2) suffix = \".\" + (comps[1] || \"0\");\n while(suffix.length > 2 && suffix[suffix.length - 1] === \"0\")suffix = suffix.substring(0, suffix.length - 1);\n const formatted = [];\n while(whole.length)if (whole.length <= 3) {\n formatted.unshift(whole);\n break;\n } else {\n const index = whole.length - 3;\n formatted.unshift(whole.substring(index));\n whole = whole.substring(0, index);\n }\n return negative + formatted.join(\",\") + suffix;\n}\nfunction $c043804acab33a9c$export$bd39b96f71da1885(value, unitName) {\n if (typeof unitName === \"string\") {\n const index = $c043804acab33a9c$var$names.indexOf(unitName);\n if (index !== -1) unitName = 3 * index;\n }\n return (0, $gi65P.formatFixed)(value, unitName != null ? unitName : 18);\n}\nfunction $c043804acab33a9c$export$203ae30b4f6490b3(value, unitName) {\n if (typeof value !== \"string\") $c043804acab33a9c$var$logger.throwArgumentError(\"value must be a string\", \"value\", value);\n if (typeof unitName === \"string\") {\n const index = $c043804acab33a9c$var$names.indexOf(unitName);\n if (index !== -1) unitName = 3 * index;\n }\n return (0, $gi65P.parseFixed)(value, unitName != null ? unitName : 18);\n}\nfunction $c043804acab33a9c$export$11bc63b4c03ea518(wei) {\n return $c043804acab33a9c$export$bd39b96f71da1885(wei, 18);\n}\nfunction $c043804acab33a9c$export$642c4e67bbdc0bc7(ether) {\n return $c043804acab33a9c$export$203ae30b4f6490b3(ether, 18);\n}\n\n});\nparcelRequire.register(\"gi65P\", function(module, exports) {\n\n$parcel$export(module.exports, \"formatFixed\", () => $bdc30db990c4b693$export$cc011b843b5d69f2);\n$parcel$export(module.exports, \"parseFixed\", () => $bdc30db990c4b693$export$1b039987e86d7269);\n$parcel$export(module.exports, \"FixedNumber\", () => $bdc30db990c4b693$export$d4693c66c2213e45);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $e2x6L = parcelRequire(\"e2x6L\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\"use strict\";\nconst $bdc30db990c4b693$var$logger = new (0, $d1hml.Logger)((0, $e2x6L.version));\nconst $bdc30db990c4b693$var$_constructorGuard = {};\nconst $bdc30db990c4b693$var$Zero = (0, $1chjt.BigNumber).from(0);\nconst $bdc30db990c4b693$var$NegativeOne = (0, $1chjt.BigNumber).from(-1);\nfunction $bdc30db990c4b693$var$throwFault(message, fault, operation, value) {\n const params = {\n fault: fault,\n operation: operation\n };\n if (value !== undefined) params.value = value;\n return $bdc30db990c4b693$var$logger.throwError(message, (0, $d1hml.Logger).errors.NUMERIC_FAULT, params);\n}\n// Constant to pull zeros from for multipliers\nlet $bdc30db990c4b693$var$zeros = \"0\";\nwhile($bdc30db990c4b693$var$zeros.length < 256)$bdc30db990c4b693$var$zeros += $bdc30db990c4b693$var$zeros;\n// Returns a string \"1\" followed by decimal \"0\"s\nfunction $bdc30db990c4b693$var$getMultiplier(decimals) {\n if (typeof decimals !== \"number\") try {\n decimals = (0, $1chjt.BigNumber).from(decimals).toNumber();\n } catch (e) {}\n if (typeof decimals === \"number\" && decimals >= 0 && decimals <= 256 && !(decimals % 1)) return \"1\" + $bdc30db990c4b693$var$zeros.substring(0, decimals);\n return $bdc30db990c4b693$var$logger.throwArgumentError(\"invalid decimal size\", \"decimals\", decimals);\n}\nfunction $bdc30db990c4b693$export$cc011b843b5d69f2(value, decimals) {\n if (decimals == null) decimals = 0;\n const multiplier = $bdc30db990c4b693$var$getMultiplier(decimals);\n // Make sure wei is a big number (convert as necessary)\n value = (0, $1chjt.BigNumber).from(value);\n const negative = value.lt($bdc30db990c4b693$var$Zero);\n if (negative) value = value.mul($bdc30db990c4b693$var$NegativeOne);\n let fraction = value.mod(multiplier).toString();\n while(fraction.length < multiplier.length - 1)fraction = \"0\" + fraction;\n // Strip training 0\n fraction = fraction.match(/^([0-9]*[1-9]|0)(0*)/)[1];\n const whole = value.div(multiplier).toString();\n if (multiplier.length === 1) value = whole;\n else value = whole + \".\" + fraction;\n if (negative) value = \"-\" + value;\n return value;\n}\nfunction $bdc30db990c4b693$export$1b039987e86d7269(value, decimals) {\n if (decimals == null) decimals = 0;\n const multiplier = $bdc30db990c4b693$var$getMultiplier(decimals);\n if (typeof value !== \"string\" || !value.match(/^-?[0-9.]+$/)) $bdc30db990c4b693$var$logger.throwArgumentError(\"invalid decimal value\", \"value\", value);\n // Is it negative?\n const negative = value.substring(0, 1) === \"-\";\n if (negative) value = value.substring(1);\n if (value === \".\") $bdc30db990c4b693$var$logger.throwArgumentError(\"missing value\", \"value\", value);\n // Split it into a whole and fractional part\n const comps = value.split(\".\");\n if (comps.length > 2) $bdc30db990c4b693$var$logger.throwArgumentError(\"too many decimal points\", \"value\", value);\n let whole = comps[0], fraction = comps[1];\n if (!whole) whole = \"0\";\n if (!fraction) fraction = \"0\";\n // Trim trailing zeros\n while(fraction[fraction.length - 1] === \"0\")fraction = fraction.substring(0, fraction.length - 1);\n // Check the fraction doesn't exceed our decimals size\n if (fraction.length > multiplier.length - 1) $bdc30db990c4b693$var$throwFault(\"fractional component exceeds decimals\", \"underflow\", \"parseFixed\");\n // If decimals is 0, we have an empty string for fraction\n if (fraction === \"\") fraction = \"0\";\n // Fully pad the string with zeros to get to wei\n while(fraction.length < multiplier.length - 1)fraction += \"0\";\n const wholeValue = (0, $1chjt.BigNumber).from(whole);\n const fractionValue = (0, $1chjt.BigNumber).from(fraction);\n let wei = wholeValue.mul(multiplier).add(fractionValue);\n if (negative) wei = wei.mul($bdc30db990c4b693$var$NegativeOne);\n return wei;\n}\nclass $bdc30db990c4b693$export$1f3ec5b8f47ebd4d {\n constructor(constructorGuard, signed, width, decimals){\n if (constructorGuard !== $bdc30db990c4b693$var$_constructorGuard) $bdc30db990c4b693$var$logger.throwError(\"cannot use FixedFormat constructor; use FixedFormat.from\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"new FixedFormat\"\n });\n this.signed = signed;\n this.width = width;\n this.decimals = decimals;\n this.name = (signed ? \"\" : \"u\") + \"fixed\" + String(width) + \"x\" + String(decimals);\n this._multiplier = $bdc30db990c4b693$var$getMultiplier(decimals);\n Object.freeze(this);\n }\n static from(value) {\n if (value instanceof $bdc30db990c4b693$export$1f3ec5b8f47ebd4d) return value;\n if (typeof value === \"number\") value = `fixed128x${value}`;\n let signed = true;\n let width = 128;\n let decimals = 18;\n if (typeof value === \"string\") {\n if (value === \"fixed\") ;\n else if (value === \"ufixed\") signed = false;\n else {\n const match = value.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);\n if (!match) $bdc30db990c4b693$var$logger.throwArgumentError(\"invalid fixed format\", \"format\", value);\n signed = match[1] !== \"u\";\n width = parseInt(match[2]);\n decimals = parseInt(match[3]);\n }\n } else if (value) {\n const check = (key, type, defaultValue)=>{\n if (value[key] == null) return defaultValue;\n if (typeof value[key] !== type) $bdc30db990c4b693$var$logger.throwArgumentError(\"invalid fixed format (\" + key + \" not \" + type + \")\", \"format.\" + key, value[key]);\n return value[key];\n };\n signed = check(\"signed\", \"boolean\", signed);\n width = check(\"width\", \"number\", width);\n decimals = check(\"decimals\", \"number\", decimals);\n }\n if (width % 8) $bdc30db990c4b693$var$logger.throwArgumentError(\"invalid fixed format width (not byte aligned)\", \"format.width\", width);\n if (decimals > 80) $bdc30db990c4b693$var$logger.throwArgumentError(\"invalid fixed format (decimals too large)\", \"format.decimals\", decimals);\n return new $bdc30db990c4b693$export$1f3ec5b8f47ebd4d($bdc30db990c4b693$var$_constructorGuard, signed, width, decimals);\n }\n}\nclass $bdc30db990c4b693$export$d4693c66c2213e45 {\n constructor(constructorGuard, hex, value, format){\n if (constructorGuard !== $bdc30db990c4b693$var$_constructorGuard) $bdc30db990c4b693$var$logger.throwError(\"cannot use FixedNumber constructor; use FixedNumber.from\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"new FixedFormat\"\n });\n this.format = format;\n this._hex = hex;\n this._value = value;\n this._isFixedNumber = true;\n Object.freeze(this);\n }\n _checkFormat(other) {\n if (this.format.name !== other.format.name) $bdc30db990c4b693$var$logger.throwArgumentError(\"incompatible format; use fixedNumber.toFormat\", \"other\", other);\n }\n addUnsafe(other) {\n this._checkFormat(other);\n const a = $bdc30db990c4b693$export$1b039987e86d7269(this._value, this.format.decimals);\n const b = $bdc30db990c4b693$export$1b039987e86d7269(other._value, other.format.decimals);\n return $bdc30db990c4b693$export$d4693c66c2213e45.fromValue(a.add(b), this.format.decimals, this.format);\n }\n subUnsafe(other) {\n this._checkFormat(other);\n const a = $bdc30db990c4b693$export$1b039987e86d7269(this._value, this.format.decimals);\n const b = $bdc30db990c4b693$export$1b039987e86d7269(other._value, other.format.decimals);\n return $bdc30db990c4b693$export$d4693c66c2213e45.fromValue(a.sub(b), this.format.decimals, this.format);\n }\n mulUnsafe(other) {\n this._checkFormat(other);\n const a = $bdc30db990c4b693$export$1b039987e86d7269(this._value, this.format.decimals);\n const b = $bdc30db990c4b693$export$1b039987e86d7269(other._value, other.format.decimals);\n return $bdc30db990c4b693$export$d4693c66c2213e45.fromValue(a.mul(b).div(this.format._multiplier), this.format.decimals, this.format);\n }\n divUnsafe(other) {\n this._checkFormat(other);\n const a = $bdc30db990c4b693$export$1b039987e86d7269(this._value, this.format.decimals);\n const b = $bdc30db990c4b693$export$1b039987e86d7269(other._value, other.format.decimals);\n return $bdc30db990c4b693$export$d4693c66c2213e45.fromValue(a.mul(this.format._multiplier).div(b), this.format.decimals, this.format);\n }\n floor() {\n const comps = this.toString().split(\".\");\n if (comps.length === 1) comps.push(\"0\");\n let result = $bdc30db990c4b693$export$d4693c66c2213e45.from(comps[0], this.format);\n const hasFraction = !comps[1].match(/^(0*)$/);\n if (this.isNegative() && hasFraction) result = result.subUnsafe($bdc30db990c4b693$var$ONE.toFormat(result.format));\n return result;\n }\n ceiling() {\n const comps = this.toString().split(\".\");\n if (comps.length === 1) comps.push(\"0\");\n let result = $bdc30db990c4b693$export$d4693c66c2213e45.from(comps[0], this.format);\n const hasFraction = !comps[1].match(/^(0*)$/);\n if (!this.isNegative() && hasFraction) result = result.addUnsafe($bdc30db990c4b693$var$ONE.toFormat(result.format));\n return result;\n }\n // @TODO: Support other rounding algorithms\n round(decimals) {\n if (decimals == null) decimals = 0;\n // If we are already in range, we're done\n const comps = this.toString().split(\".\");\n if (comps.length === 1) comps.push(\"0\");\n if (decimals < 0 || decimals > 80 || decimals % 1) $bdc30db990c4b693$var$logger.throwArgumentError(\"invalid decimal count\", \"decimals\", decimals);\n if (comps[1].length <= decimals) return this;\n const factor = $bdc30db990c4b693$export$d4693c66c2213e45.from(\"1\" + $bdc30db990c4b693$var$zeros.substring(0, decimals), this.format);\n const bump = $bdc30db990c4b693$var$BUMP.toFormat(this.format);\n return this.mulUnsafe(factor).addUnsafe(bump).floor().divUnsafe(factor);\n }\n isZero() {\n return this._value === \"0.0\" || this._value === \"0\";\n }\n isNegative() {\n return this._value[0] === \"-\";\n }\n toString() {\n return this._value;\n }\n toHexString(width) {\n if (width == null) return this._hex;\n if (width % 8) $bdc30db990c4b693$var$logger.throwArgumentError(\"invalid byte width\", \"width\", width);\n const hex = (0, $1chjt.BigNumber).from(this._hex).fromTwos(this.format.width).toTwos(width).toHexString();\n return (0, $aBzgs.hexZeroPad)(hex, width / 8);\n }\n toUnsafeFloat() {\n return parseFloat(this.toString());\n }\n toFormat(format) {\n return $bdc30db990c4b693$export$d4693c66c2213e45.fromString(this._value, format);\n }\n static fromValue(value, decimals, format) {\n // If decimals looks more like a format, and there is no format, shift the parameters\n if (format == null && decimals != null && !(0, $1chjt.isBigNumberish)(decimals)) {\n format = decimals;\n decimals = null;\n }\n if (decimals == null) decimals = 0;\n if (format == null) format = \"fixed\";\n return $bdc30db990c4b693$export$d4693c66c2213e45.fromString($bdc30db990c4b693$export$cc011b843b5d69f2(value, decimals), $bdc30db990c4b693$export$1f3ec5b8f47ebd4d.from(format));\n }\n static fromString(value, format) {\n if (format == null) format = \"fixed\";\n const fixedFormat = $bdc30db990c4b693$export$1f3ec5b8f47ebd4d.from(format);\n const numeric = $bdc30db990c4b693$export$1b039987e86d7269(value, fixedFormat.decimals);\n if (!fixedFormat.signed && numeric.lt($bdc30db990c4b693$var$Zero)) $bdc30db990c4b693$var$throwFault(\"unsigned value cannot be negative\", \"overflow\", \"value\", value);\n let hex = null;\n if (fixedFormat.signed) hex = numeric.toTwos(fixedFormat.width).toHexString();\n else {\n hex = numeric.toHexString();\n hex = (0, $aBzgs.hexZeroPad)(hex, fixedFormat.width / 8);\n }\n const decimal = $bdc30db990c4b693$export$cc011b843b5d69f2(numeric, fixedFormat.decimals);\n return new $bdc30db990c4b693$export$d4693c66c2213e45($bdc30db990c4b693$var$_constructorGuard, hex, decimal, fixedFormat);\n }\n static fromBytes(value, format) {\n if (format == null) format = \"fixed\";\n const fixedFormat = $bdc30db990c4b693$export$1f3ec5b8f47ebd4d.from(format);\n if ((0, $aBzgs.arrayify)(value).length > fixedFormat.width / 8) throw new Error(\"overflow\");\n let numeric = (0, $1chjt.BigNumber).from(value);\n if (fixedFormat.signed) numeric = numeric.fromTwos(fixedFormat.width);\n const hex = numeric.toTwos((fixedFormat.signed ? 0 : 1) + fixedFormat.width).toHexString();\n const decimal = $bdc30db990c4b693$export$cc011b843b5d69f2(numeric, fixedFormat.decimals);\n return new $bdc30db990c4b693$export$d4693c66c2213e45($bdc30db990c4b693$var$_constructorGuard, hex, decimal, fixedFormat);\n }\n static from(value, format) {\n if (typeof value === \"string\") return $bdc30db990c4b693$export$d4693c66c2213e45.fromString(value, format);\n if ((0, $aBzgs.isBytes)(value)) return $bdc30db990c4b693$export$d4693c66c2213e45.fromBytes(value, format);\n try {\n return $bdc30db990c4b693$export$d4693c66c2213e45.fromValue(value, 0, format);\n } catch (error) {\n // Allow NUMERIC_FAULT to bubble up\n if (error.code !== (0, $d1hml.Logger).errors.INVALID_ARGUMENT) throw error;\n }\n return $bdc30db990c4b693$var$logger.throwArgumentError(\"invalid FixedNumber value\", \"value\", value);\n }\n static isFixedNumber(value) {\n return !!(value && value._isFixedNumber);\n }\n}\nconst $bdc30db990c4b693$var$ONE = $bdc30db990c4b693$export$d4693c66c2213e45.from(1);\nconst $bdc30db990c4b693$var$BUMP = $bdc30db990c4b693$export$d4693c66c2213e45.from(\"0.5\");\n\n});\n\nparcelRequire.register(\"28skd\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $18e24cde8c8cacf4$export$83d89fbfd8236492);\nconst $18e24cde8c8cacf4$export$83d89fbfd8236492 = \"units/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"5utYt\", function(module, exports) {\n\n$parcel$export(module.exports, \"Wallet\", () => $3ff70163f9f2ebd5$export$bcca3ea514774656);\n$parcel$export(module.exports, \"verifyMessage\", () => $3ff70163f9f2ebd5$export$228d0e772cc158cb);\n$parcel$export(module.exports, \"verifyTypedData\", () => $3ff70163f9f2ebd5$export$3603b1c1bcd76798);\n\nvar $bVwUc = parcelRequire(\"bVwUc\");\n\nvar $b6M4l = parcelRequire(\"b6M4l\");\n\nvar $j7x7T = parcelRequire(\"j7x7T\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $a2n8k = parcelRequire(\"a2n8k\");\nvar $iz1PA = parcelRequire(\"iz1PA\");\n\nvar $iyMjQ = parcelRequire(\"iyMjQ\");\n\nvar $2yhyU = parcelRequire(\"2yhyU\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $hWtVn = parcelRequire(\"hWtVn\");\n\nvar $lWFPp = parcelRequire(\"lWFPp\");\n\nvar $hmWXb = parcelRequire(\"hmWXb\");\nvar $2tHbK = parcelRequire(\"2tHbK\");\n\nvar $TyNFl = parcelRequire(\"TyNFl\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $jh8UA = parcelRequire(\"jh8UA\");\n\"use strict\";\nvar $3ff70163f9f2ebd5$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $3ff70163f9f2ebd5$var$logger = new (0, $d1hml.Logger)((0, $jh8UA.version));\nfunction $3ff70163f9f2ebd5$var$isAccount(value) {\n return value != null && (0, $aBzgs.isHexString)(value.privateKey, 32) && value.address != null;\n}\nfunction $3ff70163f9f2ebd5$var$hasMnemonic(value) {\n const mnemonic = value.mnemonic;\n return mnemonic && mnemonic.phrase;\n}\nclass $3ff70163f9f2ebd5$export$bcca3ea514774656 extends (0, $j7x7T.Signer) {\n constructor(privateKey, provider){\n super();\n if ($3ff70163f9f2ebd5$var$isAccount(privateKey)) {\n const signingKey = new (0, $lWFPp.SigningKey)(privateKey.privateKey);\n (0, $e72ut.defineReadOnly)(this, \"_signingKey\", ()=>signingKey);\n (0, $e72ut.defineReadOnly)(this, \"address\", (0, $TyNFl.computeAddress)(this.publicKey));\n if (this.address !== (0, $bVwUc.getAddress)(privateKey.address)) $3ff70163f9f2ebd5$var$logger.throwArgumentError(\"privateKey/address mismatch\", \"privateKey\", \"[REDACTED]\");\n if ($3ff70163f9f2ebd5$var$hasMnemonic(privateKey)) {\n const srcMnemonic = privateKey.mnemonic;\n (0, $e72ut.defineReadOnly)(this, \"_mnemonic\", ()=>({\n phrase: srcMnemonic.phrase,\n path: srcMnemonic.path || (0, $iyMjQ.defaultPath),\n locale: srcMnemonic.locale || \"en\"\n }));\n const mnemonic = this.mnemonic;\n const node = (0, $iyMjQ.HDNode).fromMnemonic(mnemonic.phrase, null, mnemonic.locale).derivePath(mnemonic.path);\n if ((0, $TyNFl.computeAddress)(node.privateKey) !== this.address) $3ff70163f9f2ebd5$var$logger.throwArgumentError(\"mnemonic/address mismatch\", \"privateKey\", \"[REDACTED]\");\n } else (0, $e72ut.defineReadOnly)(this, \"_mnemonic\", ()=>null);\n } else {\n if ((0, $lWFPp.SigningKey).isSigningKey(privateKey)) {\n /* istanbul ignore if */ if (privateKey.curve !== \"secp256k1\") $3ff70163f9f2ebd5$var$logger.throwArgumentError(\"unsupported curve; must be secp256k1\", \"privateKey\", \"[REDACTED]\");\n (0, $e72ut.defineReadOnly)(this, \"_signingKey\", ()=>privateKey);\n } else {\n // A lot of common tools do not prefix private keys with a 0x (see: #1166)\n if (typeof privateKey === \"string\") {\n if (privateKey.match(/^[0-9a-f]*$/i) && privateKey.length === 64) privateKey = \"0x\" + privateKey;\n }\n const signingKey = new (0, $lWFPp.SigningKey)(privateKey);\n (0, $e72ut.defineReadOnly)(this, \"_signingKey\", ()=>signingKey);\n }\n (0, $e72ut.defineReadOnly)(this, \"_mnemonic\", ()=>null);\n (0, $e72ut.defineReadOnly)(this, \"address\", (0, $TyNFl.computeAddress)(this.publicKey));\n }\n /* istanbul ignore if */ if (provider && !(0, $b6M4l.Provider).isProvider(provider)) $3ff70163f9f2ebd5$var$logger.throwArgumentError(\"invalid provider\", \"provider\", provider);\n (0, $e72ut.defineReadOnly)(this, \"provider\", provider || null);\n }\n get mnemonic() {\n return this._mnemonic();\n }\n get privateKey() {\n return this._signingKey().privateKey;\n }\n get publicKey() {\n return this._signingKey().publicKey;\n }\n getAddress() {\n return Promise.resolve(this.address);\n }\n connect(provider) {\n return new $3ff70163f9f2ebd5$export$bcca3ea514774656(this, provider);\n }\n signTransaction(transaction) {\n return (0, $e72ut.resolveProperties)(transaction).then((tx)=>{\n if (tx.from != null) {\n if ((0, $bVwUc.getAddress)(tx.from) !== this.address) $3ff70163f9f2ebd5$var$logger.throwArgumentError(\"transaction from address mismatch\", \"transaction.from\", transaction.from);\n delete tx.from;\n }\n const signature = this._signingKey().signDigest((0, $2yhyU.keccak256)((0, $TyNFl.serialize)(tx)));\n return (0, $TyNFl.serialize)(tx, signature);\n });\n }\n signMessage(message) {\n return $3ff70163f9f2ebd5$var$__awaiter(this, void 0, void 0, function*() {\n return (0, $aBzgs.joinSignature)(this._signingKey().signDigest((0, $iz1PA.hashMessage)(message)));\n });\n }\n _signTypedData(domain, types, value) {\n return $3ff70163f9f2ebd5$var$__awaiter(this, void 0, void 0, function*() {\n // Populate any ENS names\n const populated = yield (0, $a2n8k.TypedDataEncoder).resolveNames(domain, types, value, (name)=>{\n if (this.provider == null) $3ff70163f9f2ebd5$var$logger.throwError(\"cannot resolve ENS names without a provider\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"resolveName\",\n value: name\n });\n return this.provider.resolveName(name);\n });\n return (0, $aBzgs.joinSignature)(this._signingKey().signDigest((0, $a2n8k.TypedDataEncoder).hash(populated.domain, types, populated.value)));\n });\n }\n encrypt(password, options, progressCallback) {\n if (typeof options === \"function\" && !progressCallback) {\n progressCallback = options;\n options = {};\n }\n if (progressCallback && typeof progressCallback !== \"function\") throw new Error(\"invalid callback\");\n if (!options) options = {};\n return (0, $2tHbK.encrypt)(this, password, options, progressCallback);\n }\n /**\n * Static methods to create Wallet instances.\n */ static createRandom(options) {\n let entropy = (0, $hWtVn.randomBytes)(16);\n if (!options) options = {};\n if (options.extraEntropy) entropy = (0, $aBzgs.arrayify)((0, $aBzgs.hexDataSlice)((0, $2yhyU.keccak256)((0, $aBzgs.concat)([\n entropy,\n options.extraEntropy\n ])), 0, 16));\n const mnemonic = (0, $iyMjQ.entropyToMnemonic)(entropy, options.locale);\n return $3ff70163f9f2ebd5$export$bcca3ea514774656.fromMnemonic(mnemonic, options.path, options.locale);\n }\n static fromEncryptedJson(json, password, progressCallback) {\n return (0, $hmWXb.decryptJsonWallet)(json, password, progressCallback).then((account)=>{\n return new $3ff70163f9f2ebd5$export$bcca3ea514774656(account);\n });\n }\n static fromEncryptedJsonSync(json, password) {\n return new $3ff70163f9f2ebd5$export$bcca3ea514774656((0, $hmWXb.decryptJsonWalletSync)(json, password));\n }\n static fromMnemonic(mnemonic, path, wordlist) {\n if (!path) path = (0, $iyMjQ.defaultPath);\n return new $3ff70163f9f2ebd5$export$bcca3ea514774656((0, $iyMjQ.HDNode).fromMnemonic(mnemonic, null, wordlist).derivePath(path));\n }\n}\nfunction $3ff70163f9f2ebd5$export$228d0e772cc158cb(message, signature) {\n return (0, $TyNFl.recoverAddress)((0, $iz1PA.hashMessage)(message), signature);\n}\nfunction $3ff70163f9f2ebd5$export$3603b1c1bcd76798(domain, types, value, signature) {\n return (0, $TyNFl.recoverAddress)((0, $a2n8k.TypedDataEncoder).hash(domain, types, value), signature);\n}\n\n});\nparcelRequire.register(\"hmWXb\", function(module, exports) {\n\n$parcel$export(module.exports, \"decryptJsonWallet\", () => $ca5238b7fb30f36a$export$e74fcde37488267a);\n$parcel$export(module.exports, \"decryptJsonWalletSync\", () => $ca5238b7fb30f36a$export$7a81c437a678891a);\n\nvar $gk4i9 = parcelRequire(\"gk4i9\");\n\nvar $jpzbw = parcelRequire(\"jpzbw\");\n\nvar $2tHbK = parcelRequire(\"2tHbK\");\n\"use strict\";\nfunction $ca5238b7fb30f36a$export$e74fcde37488267a(json, password, progressCallback) {\n if ((0, $jpzbw.isCrowdsaleWallet)(json)) {\n if (progressCallback) progressCallback(0);\n const account = (0, $gk4i9.decrypt)(json, password);\n if (progressCallback) progressCallback(1);\n return Promise.resolve(account);\n }\n if ((0, $jpzbw.isKeystoreWallet)(json)) return (0, $2tHbK.decrypt)(json, password, progressCallback);\n return Promise.reject(new Error(\"invalid JSON wallet\"));\n}\nfunction $ca5238b7fb30f36a$export$7a81c437a678891a(json, password) {\n if ((0, $jpzbw.isCrowdsaleWallet)(json)) return (0, $gk4i9.decrypt)(json, password);\n if ((0, $jpzbw.isKeystoreWallet)(json)) return (0, $2tHbK.decryptSync)(json, password);\n throw new Error(\"invalid JSON wallet\");\n}\n\n});\nparcelRequire.register(\"gk4i9\", function(module, exports) {\n\n$parcel$export(module.exports, \"decrypt\", () => $be21d7d825475473$export$e85a0c9a1067c5d3);\n\nvar $jcj12 = parcelRequire(\"jcj12\");\n\nvar $bVwUc = parcelRequire(\"bVwUc\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $2yhyU = parcelRequire(\"2yhyU\");\n\nvar $76ZnQ = parcelRequire(\"76ZnQ\");\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $3HJiH = parcelRequire(\"3HJiH\");\n\nvar $8n0t3 = parcelRequire(\"8n0t3\");\n\"use strict\";\nconst $be21d7d825475473$var$logger = new (0, $d1hml.Logger)((0, $3HJiH.version));\nclass $be21d7d825475473$export$93a76d16f88f2b3 extends (0, $e72ut.Description) {\n isCrowdsaleAccount(value) {\n return !!(value && value._isCrowdsaleAccount);\n }\n}\nfunction $be21d7d825475473$export$e85a0c9a1067c5d3(json, password) {\n const data = JSON.parse(json);\n password = (0, $8n0t3.getPassword)(password);\n // Ethereum Address\n const ethaddr = (0, $bVwUc.getAddress)((0, $8n0t3.searchPath)(data, \"ethaddr\"));\n // Encrypted Seed\n const encseed = (0, $8n0t3.looseArrayify)((0, $8n0t3.searchPath)(data, \"encseed\"));\n if (!encseed || encseed.length % 16 !== 0) $be21d7d825475473$var$logger.throwArgumentError(\"invalid encseed\", \"json\", json);\n const key = (0, $aBzgs.arrayify)((0, $76ZnQ.pbkdf2)(password, password, 2000, 32, \"sha256\")).slice(0, 16);\n const iv = encseed.slice(0, 16);\n const encryptedSeed = encseed.slice(16);\n // Decrypt the seed\n const aesCbc = new (0, (/*@__PURE__*/$parcel$interopDefault($jcj12))).ModeOfOperation.cbc(key, iv);\n const seed = (0, (/*@__PURE__*/$parcel$interopDefault($jcj12))).padding.pkcs7.strip((0, $aBzgs.arrayify)(aesCbc.decrypt(encryptedSeed)));\n // This wallet format is weird... Convert the binary encoded hex to a string.\n let seedHex = \"\";\n for(let i = 0; i < seed.length; i++)seedHex += String.fromCharCode(seed[i]);\n const seedHexBytes = (0, $fkVsY.toUtf8Bytes)(seedHex);\n const privateKey = (0, $2yhyU.keccak256)(seedHexBytes);\n return new $be21d7d825475473$export$93a76d16f88f2b3({\n _isCrowdsaleAccount: true,\n address: ethaddr,\n privateKey: privateKey\n });\n}\n\n});\nparcelRequire.register(\"jcj12\", function(module, exports) {\n\"use strict\";\n(function(root) {\n function checkInt(value) {\n return parseInt(value) === value;\n }\n function checkInts(arrayish) {\n if (!checkInt(arrayish.length)) return false;\n for(var i = 0; i < arrayish.length; i++){\n if (!checkInt(arrayish[i]) || arrayish[i] < 0 || arrayish[i] > 255) return false;\n }\n return true;\n }\n function coerceArray(arg, copy) {\n // ArrayBuffer view\n if (arg.buffer && ArrayBuffer.isView(arg) && arg.name === \"Uint8Array\") {\n if (copy) {\n if (arg.slice) arg = arg.slice();\n else arg = Array.prototype.slice.call(arg);\n }\n return arg;\n }\n // It's an array; check it is a valid representation of a byte\n if (Array.isArray(arg)) {\n if (!checkInts(arg)) throw new Error(\"Array contains invalid value: \" + arg);\n return new Uint8Array(arg);\n }\n // Something else, but behaves like an array (maybe a Buffer? Arguments?)\n if (checkInt(arg.length) && checkInts(arg)) return new Uint8Array(arg);\n throw new Error(\"unsupported array-like object\");\n }\n function createArray(length) {\n return new Uint8Array(length);\n }\n function copyArray(sourceArray, targetArray, targetStart, sourceStart, sourceEnd) {\n if (sourceStart != null || sourceEnd != null) {\n if (sourceArray.slice) sourceArray = sourceArray.slice(sourceStart, sourceEnd);\n else sourceArray = Array.prototype.slice.call(sourceArray, sourceStart, sourceEnd);\n }\n targetArray.set(sourceArray, targetStart);\n }\n var convertUtf8 = function() {\n function toBytes(text) {\n var result = [], i = 0;\n text = encodeURI(text);\n while(i < text.length){\n var c = text.charCodeAt(i++);\n // if it is a % sign, encode the following 2 bytes as a hex value\n if (c === 37) {\n result.push(parseInt(text.substr(i, 2), 16));\n i += 2;\n // otherwise, just the actual byte\n } else result.push(c);\n }\n return coerceArray(result);\n }\n function fromBytes(bytes) {\n var result = [], i = 0;\n while(i < bytes.length){\n var c = bytes[i];\n if (c < 128) {\n result.push(String.fromCharCode(c));\n i++;\n } else if (c > 191 && c < 224) {\n result.push(String.fromCharCode((c & 0x1f) << 6 | bytes[i + 1] & 0x3f));\n i += 2;\n } else {\n result.push(String.fromCharCode((c & 0x0f) << 12 | (bytes[i + 1] & 0x3f) << 6 | bytes[i + 2] & 0x3f));\n i += 3;\n }\n }\n return result.join(\"\");\n }\n return {\n toBytes: toBytes,\n fromBytes: fromBytes\n };\n }();\n var convertHex = function() {\n function toBytes(text) {\n var result = [];\n for(var i = 0; i < text.length; i += 2)result.push(parseInt(text.substr(i, 2), 16));\n return result;\n }\n // http://ixti.net/development/javascript/2011/11/11/base64-encodedecode-of-utf8-in-browser-with-js.html\n var Hex = \"0123456789abcdef\";\n function fromBytes(bytes) {\n var result = [];\n for(var i = 0; i < bytes.length; i++){\n var v = bytes[i];\n result.push(Hex[(v & 0xf0) >> 4] + Hex[v & 0x0f]);\n }\n return result.join(\"\");\n }\n return {\n toBytes: toBytes,\n fromBytes: fromBytes\n };\n }();\n // Number of rounds by keysize\n var numberOfRounds = {\n 16: 10,\n 24: 12,\n 32: 14\n };\n // Round constant words\n var rcon = [\n 0x01,\n 0x02,\n 0x04,\n 0x08,\n 0x10,\n 0x20,\n 0x40,\n 0x80,\n 0x1b,\n 0x36,\n 0x6c,\n 0xd8,\n 0xab,\n 0x4d,\n 0x9a,\n 0x2f,\n 0x5e,\n 0xbc,\n 0x63,\n 0xc6,\n 0x97,\n 0x35,\n 0x6a,\n 0xd4,\n 0xb3,\n 0x7d,\n 0xfa,\n 0xef,\n 0xc5,\n 0x91\n ];\n // S-box and Inverse S-box (S is for Substitution)\n var S = [\n 0x63,\n 0x7c,\n 0x77,\n 0x7b,\n 0xf2,\n 0x6b,\n 0x6f,\n 0xc5,\n 0x30,\n 0x01,\n 0x67,\n 0x2b,\n 0xfe,\n 0xd7,\n 0xab,\n 0x76,\n 0xca,\n 0x82,\n 0xc9,\n 0x7d,\n 0xfa,\n 0x59,\n 0x47,\n 0xf0,\n 0xad,\n 0xd4,\n 0xa2,\n 0xaf,\n 0x9c,\n 0xa4,\n 0x72,\n 0xc0,\n 0xb7,\n 0xfd,\n 0x93,\n 0x26,\n 0x36,\n 0x3f,\n 0xf7,\n 0xcc,\n 0x34,\n 0xa5,\n 0xe5,\n 0xf1,\n 0x71,\n 0xd8,\n 0x31,\n 0x15,\n 0x04,\n 0xc7,\n 0x23,\n 0xc3,\n 0x18,\n 0x96,\n 0x05,\n 0x9a,\n 0x07,\n 0x12,\n 0x80,\n 0xe2,\n 0xeb,\n 0x27,\n 0xb2,\n 0x75,\n 0x09,\n 0x83,\n 0x2c,\n 0x1a,\n 0x1b,\n 0x6e,\n 0x5a,\n 0xa0,\n 0x52,\n 0x3b,\n 0xd6,\n 0xb3,\n 0x29,\n 0xe3,\n 0x2f,\n 0x84,\n 0x53,\n 0xd1,\n 0x00,\n 0xed,\n 0x20,\n 0xfc,\n 0xb1,\n 0x5b,\n 0x6a,\n 0xcb,\n 0xbe,\n 0x39,\n 0x4a,\n 0x4c,\n 0x58,\n 0xcf,\n 0xd0,\n 0xef,\n 0xaa,\n 0xfb,\n 0x43,\n 0x4d,\n 0x33,\n 0x85,\n 0x45,\n 0xf9,\n 0x02,\n 0x7f,\n 0x50,\n 0x3c,\n 0x9f,\n 0xa8,\n 0x51,\n 0xa3,\n 0x40,\n 0x8f,\n 0x92,\n 0x9d,\n 0x38,\n 0xf5,\n 0xbc,\n 0xb6,\n 0xda,\n 0x21,\n 0x10,\n 0xff,\n 0xf3,\n 0xd2,\n 0xcd,\n 0x0c,\n 0x13,\n 0xec,\n 0x5f,\n 0x97,\n 0x44,\n 0x17,\n 0xc4,\n 0xa7,\n 0x7e,\n 0x3d,\n 0x64,\n 0x5d,\n 0x19,\n 0x73,\n 0x60,\n 0x81,\n 0x4f,\n 0xdc,\n 0x22,\n 0x2a,\n 0x90,\n 0x88,\n 0x46,\n 0xee,\n 0xb8,\n 0x14,\n 0xde,\n 0x5e,\n 0x0b,\n 0xdb,\n 0xe0,\n 0x32,\n 0x3a,\n 0x0a,\n 0x49,\n 0x06,\n 0x24,\n 0x5c,\n 0xc2,\n 0xd3,\n 0xac,\n 0x62,\n 0x91,\n 0x95,\n 0xe4,\n 0x79,\n 0xe7,\n 0xc8,\n 0x37,\n 0x6d,\n 0x8d,\n 0xd5,\n 0x4e,\n 0xa9,\n 0x6c,\n 0x56,\n 0xf4,\n 0xea,\n 0x65,\n 0x7a,\n 0xae,\n 0x08,\n 0xba,\n 0x78,\n 0x25,\n 0x2e,\n 0x1c,\n 0xa6,\n 0xb4,\n 0xc6,\n 0xe8,\n 0xdd,\n 0x74,\n 0x1f,\n 0x4b,\n 0xbd,\n 0x8b,\n 0x8a,\n 0x70,\n 0x3e,\n 0xb5,\n 0x66,\n 0x48,\n 0x03,\n 0xf6,\n 0x0e,\n 0x61,\n 0x35,\n 0x57,\n 0xb9,\n 0x86,\n 0xc1,\n 0x1d,\n 0x9e,\n 0xe1,\n 0xf8,\n 0x98,\n 0x11,\n 0x69,\n 0xd9,\n 0x8e,\n 0x94,\n 0x9b,\n 0x1e,\n 0x87,\n 0xe9,\n 0xce,\n 0x55,\n 0x28,\n 0xdf,\n 0x8c,\n 0xa1,\n 0x89,\n 0x0d,\n 0xbf,\n 0xe6,\n 0x42,\n 0x68,\n 0x41,\n 0x99,\n 0x2d,\n 0x0f,\n 0xb0,\n 0x54,\n 0xbb,\n 0x16\n ];\n var Si = [\n 0x52,\n 0x09,\n 0x6a,\n 0xd5,\n 0x30,\n 0x36,\n 0xa5,\n 0x38,\n 0xbf,\n 0x40,\n 0xa3,\n 0x9e,\n 0x81,\n 0xf3,\n 0xd7,\n 0xfb,\n 0x7c,\n 0xe3,\n 0x39,\n 0x82,\n 0x9b,\n 0x2f,\n 0xff,\n 0x87,\n 0x34,\n 0x8e,\n 0x43,\n 0x44,\n 0xc4,\n 0xde,\n 0xe9,\n 0xcb,\n 0x54,\n 0x7b,\n 0x94,\n 0x32,\n 0xa6,\n 0xc2,\n 0x23,\n 0x3d,\n 0xee,\n 0x4c,\n 0x95,\n 0x0b,\n 0x42,\n 0xfa,\n 0xc3,\n 0x4e,\n 0x08,\n 0x2e,\n 0xa1,\n 0x66,\n 0x28,\n 0xd9,\n 0x24,\n 0xb2,\n 0x76,\n 0x5b,\n 0xa2,\n 0x49,\n 0x6d,\n 0x8b,\n 0xd1,\n 0x25,\n 0x72,\n 0xf8,\n 0xf6,\n 0x64,\n 0x86,\n 0x68,\n 0x98,\n 0x16,\n 0xd4,\n 0xa4,\n 0x5c,\n 0xcc,\n 0x5d,\n 0x65,\n 0xb6,\n 0x92,\n 0x6c,\n 0x70,\n 0x48,\n 0x50,\n 0xfd,\n 0xed,\n 0xb9,\n 0xda,\n 0x5e,\n 0x15,\n 0x46,\n 0x57,\n 0xa7,\n 0x8d,\n 0x9d,\n 0x84,\n 0x90,\n 0xd8,\n 0xab,\n 0x00,\n 0x8c,\n 0xbc,\n 0xd3,\n 0x0a,\n 0xf7,\n 0xe4,\n 0x58,\n 0x05,\n 0xb8,\n 0xb3,\n 0x45,\n 0x06,\n 0xd0,\n 0x2c,\n 0x1e,\n 0x8f,\n 0xca,\n 0x3f,\n 0x0f,\n 0x02,\n 0xc1,\n 0xaf,\n 0xbd,\n 0x03,\n 0x01,\n 0x13,\n 0x8a,\n 0x6b,\n 0x3a,\n 0x91,\n 0x11,\n 0x41,\n 0x4f,\n 0x67,\n 0xdc,\n 0xea,\n 0x97,\n 0xf2,\n 0xcf,\n 0xce,\n 0xf0,\n 0xb4,\n 0xe6,\n 0x73,\n 0x96,\n 0xac,\n 0x74,\n 0x22,\n 0xe7,\n 0xad,\n 0x35,\n 0x85,\n 0xe2,\n 0xf9,\n 0x37,\n 0xe8,\n 0x1c,\n 0x75,\n 0xdf,\n 0x6e,\n 0x47,\n 0xf1,\n 0x1a,\n 0x71,\n 0x1d,\n 0x29,\n 0xc5,\n 0x89,\n 0x6f,\n 0xb7,\n 0x62,\n 0x0e,\n 0xaa,\n 0x18,\n 0xbe,\n 0x1b,\n 0xfc,\n 0x56,\n 0x3e,\n 0x4b,\n 0xc6,\n 0xd2,\n 0x79,\n 0x20,\n 0x9a,\n 0xdb,\n 0xc0,\n 0xfe,\n 0x78,\n 0xcd,\n 0x5a,\n 0xf4,\n 0x1f,\n 0xdd,\n 0xa8,\n 0x33,\n 0x88,\n 0x07,\n 0xc7,\n 0x31,\n 0xb1,\n 0x12,\n 0x10,\n 0x59,\n 0x27,\n 0x80,\n 0xec,\n 0x5f,\n 0x60,\n 0x51,\n 0x7f,\n 0xa9,\n 0x19,\n 0xb5,\n 0x4a,\n 0x0d,\n 0x2d,\n 0xe5,\n 0x7a,\n 0x9f,\n 0x93,\n 0xc9,\n 0x9c,\n 0xef,\n 0xa0,\n 0xe0,\n 0x3b,\n 0x4d,\n 0xae,\n 0x2a,\n 0xf5,\n 0xb0,\n 0xc8,\n 0xeb,\n 0xbb,\n 0x3c,\n 0x83,\n 0x53,\n 0x99,\n 0x61,\n 0x17,\n 0x2b,\n 0x04,\n 0x7e,\n 0xba,\n 0x77,\n 0xd6,\n 0x26,\n 0xe1,\n 0x69,\n 0x14,\n 0x63,\n 0x55,\n 0x21,\n 0x0c,\n 0x7d\n ];\n // Transformations for encryption\n var T1 = [\n 0xc66363a5,\n 0xf87c7c84,\n 0xee777799,\n 0xf67b7b8d,\n 0xfff2f20d,\n 0xd66b6bbd,\n 0xde6f6fb1,\n 0x91c5c554,\n 0x60303050,\n 0x02010103,\n 0xce6767a9,\n 0x562b2b7d,\n 0xe7fefe19,\n 0xb5d7d762,\n 0x4dababe6,\n 0xec76769a,\n 0x8fcaca45,\n 0x1f82829d,\n 0x89c9c940,\n 0xfa7d7d87,\n 0xeffafa15,\n 0xb25959eb,\n 0x8e4747c9,\n 0xfbf0f00b,\n 0x41adadec,\n 0xb3d4d467,\n 0x5fa2a2fd,\n 0x45afafea,\n 0x239c9cbf,\n 0x53a4a4f7,\n 0xe4727296,\n 0x9bc0c05b,\n 0x75b7b7c2,\n 0xe1fdfd1c,\n 0x3d9393ae,\n 0x4c26266a,\n 0x6c36365a,\n 0x7e3f3f41,\n 0xf5f7f702,\n 0x83cccc4f,\n 0x6834345c,\n 0x51a5a5f4,\n 0xd1e5e534,\n 0xf9f1f108,\n 0xe2717193,\n 0xabd8d873,\n 0x62313153,\n 0x2a15153f,\n 0x0804040c,\n 0x95c7c752,\n 0x46232365,\n 0x9dc3c35e,\n 0x30181828,\n 0x379696a1,\n 0x0a05050f,\n 0x2f9a9ab5,\n 0x0e070709,\n 0x24121236,\n 0x1b80809b,\n 0xdfe2e23d,\n 0xcdebeb26,\n 0x4e272769,\n 0x7fb2b2cd,\n 0xea75759f,\n 0x1209091b,\n 0x1d83839e,\n 0x582c2c74,\n 0x341a1a2e,\n 0x361b1b2d,\n 0xdc6e6eb2,\n 0xb45a5aee,\n 0x5ba0a0fb,\n 0xa45252f6,\n 0x763b3b4d,\n 0xb7d6d661,\n 0x7db3b3ce,\n 0x5229297b,\n 0xdde3e33e,\n 0x5e2f2f71,\n 0x13848497,\n 0xa65353f5,\n 0xb9d1d168,\n 0x00000000,\n 0xc1eded2c,\n 0x40202060,\n 0xe3fcfc1f,\n 0x79b1b1c8,\n 0xb65b5bed,\n 0xd46a6abe,\n 0x8dcbcb46,\n 0x67bebed9,\n 0x7239394b,\n 0x944a4ade,\n 0x984c4cd4,\n 0xb05858e8,\n 0x85cfcf4a,\n 0xbbd0d06b,\n 0xc5efef2a,\n 0x4faaaae5,\n 0xedfbfb16,\n 0x864343c5,\n 0x9a4d4dd7,\n 0x66333355,\n 0x11858594,\n 0x8a4545cf,\n 0xe9f9f910,\n 0x04020206,\n 0xfe7f7f81,\n 0xa05050f0,\n 0x783c3c44,\n 0x259f9fba,\n 0x4ba8a8e3,\n 0xa25151f3,\n 0x5da3a3fe,\n 0x804040c0,\n 0x058f8f8a,\n 0x3f9292ad,\n 0x219d9dbc,\n 0x70383848,\n 0xf1f5f504,\n 0x63bcbcdf,\n 0x77b6b6c1,\n 0xafdada75,\n 0x42212163,\n 0x20101030,\n 0xe5ffff1a,\n 0xfdf3f30e,\n 0xbfd2d26d,\n 0x81cdcd4c,\n 0x180c0c14,\n 0x26131335,\n 0xc3ecec2f,\n 0xbe5f5fe1,\n 0x359797a2,\n 0x884444cc,\n 0x2e171739,\n 0x93c4c457,\n 0x55a7a7f2,\n 0xfc7e7e82,\n 0x7a3d3d47,\n 0xc86464ac,\n 0xba5d5de7,\n 0x3219192b,\n 0xe6737395,\n 0xc06060a0,\n 0x19818198,\n 0x9e4f4fd1,\n 0xa3dcdc7f,\n 0x44222266,\n 0x542a2a7e,\n 0x3b9090ab,\n 0x0b888883,\n 0x8c4646ca,\n 0xc7eeee29,\n 0x6bb8b8d3,\n 0x2814143c,\n 0xa7dede79,\n 0xbc5e5ee2,\n 0x160b0b1d,\n 0xaddbdb76,\n 0xdbe0e03b,\n 0x64323256,\n 0x743a3a4e,\n 0x140a0a1e,\n 0x924949db,\n 0x0c06060a,\n 0x4824246c,\n 0xb85c5ce4,\n 0x9fc2c25d,\n 0xbdd3d36e,\n 0x43acacef,\n 0xc46262a6,\n 0x399191a8,\n 0x319595a4,\n 0xd3e4e437,\n 0xf279798b,\n 0xd5e7e732,\n 0x8bc8c843,\n 0x6e373759,\n 0xda6d6db7,\n 0x018d8d8c,\n 0xb1d5d564,\n 0x9c4e4ed2,\n 0x49a9a9e0,\n 0xd86c6cb4,\n 0xac5656fa,\n 0xf3f4f407,\n 0xcfeaea25,\n 0xca6565af,\n 0xf47a7a8e,\n 0x47aeaee9,\n 0x10080818,\n 0x6fbabad5,\n 0xf0787888,\n 0x4a25256f,\n 0x5c2e2e72,\n 0x381c1c24,\n 0x57a6a6f1,\n 0x73b4b4c7,\n 0x97c6c651,\n 0xcbe8e823,\n 0xa1dddd7c,\n 0xe874749c,\n 0x3e1f1f21,\n 0x964b4bdd,\n 0x61bdbddc,\n 0x0d8b8b86,\n 0x0f8a8a85,\n 0xe0707090,\n 0x7c3e3e42,\n 0x71b5b5c4,\n 0xcc6666aa,\n 0x904848d8,\n 0x06030305,\n 0xf7f6f601,\n 0x1c0e0e12,\n 0xc26161a3,\n 0x6a35355f,\n 0xae5757f9,\n 0x69b9b9d0,\n 0x17868691,\n 0x99c1c158,\n 0x3a1d1d27,\n 0x279e9eb9,\n 0xd9e1e138,\n 0xebf8f813,\n 0x2b9898b3,\n 0x22111133,\n 0xd26969bb,\n 0xa9d9d970,\n 0x078e8e89,\n 0x339494a7,\n 0x2d9b9bb6,\n 0x3c1e1e22,\n 0x15878792,\n 0xc9e9e920,\n 0x87cece49,\n 0xaa5555ff,\n 0x50282878,\n 0xa5dfdf7a,\n 0x038c8c8f,\n 0x59a1a1f8,\n 0x09898980,\n 0x1a0d0d17,\n 0x65bfbfda,\n 0xd7e6e631,\n 0x844242c6,\n 0xd06868b8,\n 0x824141c3,\n 0x299999b0,\n 0x5a2d2d77,\n 0x1e0f0f11,\n 0x7bb0b0cb,\n 0xa85454fc,\n 0x6dbbbbd6,\n 0x2c16163a\n ];\n var T2 = [\n 0xa5c66363,\n 0x84f87c7c,\n 0x99ee7777,\n 0x8df67b7b,\n 0x0dfff2f2,\n 0xbdd66b6b,\n 0xb1de6f6f,\n 0x5491c5c5,\n 0x50603030,\n 0x03020101,\n 0xa9ce6767,\n 0x7d562b2b,\n 0x19e7fefe,\n 0x62b5d7d7,\n 0xe64dabab,\n 0x9aec7676,\n 0x458fcaca,\n 0x9d1f8282,\n 0x4089c9c9,\n 0x87fa7d7d,\n 0x15effafa,\n 0xebb25959,\n 0xc98e4747,\n 0x0bfbf0f0,\n 0xec41adad,\n 0x67b3d4d4,\n 0xfd5fa2a2,\n 0xea45afaf,\n 0xbf239c9c,\n 0xf753a4a4,\n 0x96e47272,\n 0x5b9bc0c0,\n 0xc275b7b7,\n 0x1ce1fdfd,\n 0xae3d9393,\n 0x6a4c2626,\n 0x5a6c3636,\n 0x417e3f3f,\n 0x02f5f7f7,\n 0x4f83cccc,\n 0x5c683434,\n 0xf451a5a5,\n 0x34d1e5e5,\n 0x08f9f1f1,\n 0x93e27171,\n 0x73abd8d8,\n 0x53623131,\n 0x3f2a1515,\n 0x0c080404,\n 0x5295c7c7,\n 0x65462323,\n 0x5e9dc3c3,\n 0x28301818,\n 0xa1379696,\n 0x0f0a0505,\n 0xb52f9a9a,\n 0x090e0707,\n 0x36241212,\n 0x9b1b8080,\n 0x3ddfe2e2,\n 0x26cdebeb,\n 0x694e2727,\n 0xcd7fb2b2,\n 0x9fea7575,\n 0x1b120909,\n 0x9e1d8383,\n 0x74582c2c,\n 0x2e341a1a,\n 0x2d361b1b,\n 0xb2dc6e6e,\n 0xeeb45a5a,\n 0xfb5ba0a0,\n 0xf6a45252,\n 0x4d763b3b,\n 0x61b7d6d6,\n 0xce7db3b3,\n 0x7b522929,\n 0x3edde3e3,\n 0x715e2f2f,\n 0x97138484,\n 0xf5a65353,\n 0x68b9d1d1,\n 0x00000000,\n 0x2cc1eded,\n 0x60402020,\n 0x1fe3fcfc,\n 0xc879b1b1,\n 0xedb65b5b,\n 0xbed46a6a,\n 0x468dcbcb,\n 0xd967bebe,\n 0x4b723939,\n 0xde944a4a,\n 0xd4984c4c,\n 0xe8b05858,\n 0x4a85cfcf,\n 0x6bbbd0d0,\n 0x2ac5efef,\n 0xe54faaaa,\n 0x16edfbfb,\n 0xc5864343,\n 0xd79a4d4d,\n 0x55663333,\n 0x94118585,\n 0xcf8a4545,\n 0x10e9f9f9,\n 0x06040202,\n 0x81fe7f7f,\n 0xf0a05050,\n 0x44783c3c,\n 0xba259f9f,\n 0xe34ba8a8,\n 0xf3a25151,\n 0xfe5da3a3,\n 0xc0804040,\n 0x8a058f8f,\n 0xad3f9292,\n 0xbc219d9d,\n 0x48703838,\n 0x04f1f5f5,\n 0xdf63bcbc,\n 0xc177b6b6,\n 0x75afdada,\n 0x63422121,\n 0x30201010,\n 0x1ae5ffff,\n 0x0efdf3f3,\n 0x6dbfd2d2,\n 0x4c81cdcd,\n 0x14180c0c,\n 0x35261313,\n 0x2fc3ecec,\n 0xe1be5f5f,\n 0xa2359797,\n 0xcc884444,\n 0x392e1717,\n 0x5793c4c4,\n 0xf255a7a7,\n 0x82fc7e7e,\n 0x477a3d3d,\n 0xacc86464,\n 0xe7ba5d5d,\n 0x2b321919,\n 0x95e67373,\n 0xa0c06060,\n 0x98198181,\n 0xd19e4f4f,\n 0x7fa3dcdc,\n 0x66442222,\n 0x7e542a2a,\n 0xab3b9090,\n 0x830b8888,\n 0xca8c4646,\n 0x29c7eeee,\n 0xd36bb8b8,\n 0x3c281414,\n 0x79a7dede,\n 0xe2bc5e5e,\n 0x1d160b0b,\n 0x76addbdb,\n 0x3bdbe0e0,\n 0x56643232,\n 0x4e743a3a,\n 0x1e140a0a,\n 0xdb924949,\n 0x0a0c0606,\n 0x6c482424,\n 0xe4b85c5c,\n 0x5d9fc2c2,\n 0x6ebdd3d3,\n 0xef43acac,\n 0xa6c46262,\n 0xa8399191,\n 0xa4319595,\n 0x37d3e4e4,\n 0x8bf27979,\n 0x32d5e7e7,\n 0x438bc8c8,\n 0x596e3737,\n 0xb7da6d6d,\n 0x8c018d8d,\n 0x64b1d5d5,\n 0xd29c4e4e,\n 0xe049a9a9,\n 0xb4d86c6c,\n 0xfaac5656,\n 0x07f3f4f4,\n 0x25cfeaea,\n 0xafca6565,\n 0x8ef47a7a,\n 0xe947aeae,\n 0x18100808,\n 0xd56fbaba,\n 0x88f07878,\n 0x6f4a2525,\n 0x725c2e2e,\n 0x24381c1c,\n 0xf157a6a6,\n 0xc773b4b4,\n 0x5197c6c6,\n 0x23cbe8e8,\n 0x7ca1dddd,\n 0x9ce87474,\n 0x213e1f1f,\n 0xdd964b4b,\n 0xdc61bdbd,\n 0x860d8b8b,\n 0x850f8a8a,\n 0x90e07070,\n 0x427c3e3e,\n 0xc471b5b5,\n 0xaacc6666,\n 0xd8904848,\n 0x05060303,\n 0x01f7f6f6,\n 0x121c0e0e,\n 0xa3c26161,\n 0x5f6a3535,\n 0xf9ae5757,\n 0xd069b9b9,\n 0x91178686,\n 0x5899c1c1,\n 0x273a1d1d,\n 0xb9279e9e,\n 0x38d9e1e1,\n 0x13ebf8f8,\n 0xb32b9898,\n 0x33221111,\n 0xbbd26969,\n 0x70a9d9d9,\n 0x89078e8e,\n 0xa7339494,\n 0xb62d9b9b,\n 0x223c1e1e,\n 0x92158787,\n 0x20c9e9e9,\n 0x4987cece,\n 0xffaa5555,\n 0x78502828,\n 0x7aa5dfdf,\n 0x8f038c8c,\n 0xf859a1a1,\n 0x80098989,\n 0x171a0d0d,\n 0xda65bfbf,\n 0x31d7e6e6,\n 0xc6844242,\n 0xb8d06868,\n 0xc3824141,\n 0xb0299999,\n 0x775a2d2d,\n 0x111e0f0f,\n 0xcb7bb0b0,\n 0xfca85454,\n 0xd66dbbbb,\n 0x3a2c1616\n ];\n var T3 = [\n 0x63a5c663,\n 0x7c84f87c,\n 0x7799ee77,\n 0x7b8df67b,\n 0xf20dfff2,\n 0x6bbdd66b,\n 0x6fb1de6f,\n 0xc55491c5,\n 0x30506030,\n 0x01030201,\n 0x67a9ce67,\n 0x2b7d562b,\n 0xfe19e7fe,\n 0xd762b5d7,\n 0xabe64dab,\n 0x769aec76,\n 0xca458fca,\n 0x829d1f82,\n 0xc94089c9,\n 0x7d87fa7d,\n 0xfa15effa,\n 0x59ebb259,\n 0x47c98e47,\n 0xf00bfbf0,\n 0xadec41ad,\n 0xd467b3d4,\n 0xa2fd5fa2,\n 0xafea45af,\n 0x9cbf239c,\n 0xa4f753a4,\n 0x7296e472,\n 0xc05b9bc0,\n 0xb7c275b7,\n 0xfd1ce1fd,\n 0x93ae3d93,\n 0x266a4c26,\n 0x365a6c36,\n 0x3f417e3f,\n 0xf702f5f7,\n 0xcc4f83cc,\n 0x345c6834,\n 0xa5f451a5,\n 0xe534d1e5,\n 0xf108f9f1,\n 0x7193e271,\n 0xd873abd8,\n 0x31536231,\n 0x153f2a15,\n 0x040c0804,\n 0xc75295c7,\n 0x23654623,\n 0xc35e9dc3,\n 0x18283018,\n 0x96a13796,\n 0x050f0a05,\n 0x9ab52f9a,\n 0x07090e07,\n 0x12362412,\n 0x809b1b80,\n 0xe23ddfe2,\n 0xeb26cdeb,\n 0x27694e27,\n 0xb2cd7fb2,\n 0x759fea75,\n 0x091b1209,\n 0x839e1d83,\n 0x2c74582c,\n 0x1a2e341a,\n 0x1b2d361b,\n 0x6eb2dc6e,\n 0x5aeeb45a,\n 0xa0fb5ba0,\n 0x52f6a452,\n 0x3b4d763b,\n 0xd661b7d6,\n 0xb3ce7db3,\n 0x297b5229,\n 0xe33edde3,\n 0x2f715e2f,\n 0x84971384,\n 0x53f5a653,\n 0xd168b9d1,\n 0x00000000,\n 0xed2cc1ed,\n 0x20604020,\n 0xfc1fe3fc,\n 0xb1c879b1,\n 0x5bedb65b,\n 0x6abed46a,\n 0xcb468dcb,\n 0xbed967be,\n 0x394b7239,\n 0x4ade944a,\n 0x4cd4984c,\n 0x58e8b058,\n 0xcf4a85cf,\n 0xd06bbbd0,\n 0xef2ac5ef,\n 0xaae54faa,\n 0xfb16edfb,\n 0x43c58643,\n 0x4dd79a4d,\n 0x33556633,\n 0x85941185,\n 0x45cf8a45,\n 0xf910e9f9,\n 0x02060402,\n 0x7f81fe7f,\n 0x50f0a050,\n 0x3c44783c,\n 0x9fba259f,\n 0xa8e34ba8,\n 0x51f3a251,\n 0xa3fe5da3,\n 0x40c08040,\n 0x8f8a058f,\n 0x92ad3f92,\n 0x9dbc219d,\n 0x38487038,\n 0xf504f1f5,\n 0xbcdf63bc,\n 0xb6c177b6,\n 0xda75afda,\n 0x21634221,\n 0x10302010,\n 0xff1ae5ff,\n 0xf30efdf3,\n 0xd26dbfd2,\n 0xcd4c81cd,\n 0x0c14180c,\n 0x13352613,\n 0xec2fc3ec,\n 0x5fe1be5f,\n 0x97a23597,\n 0x44cc8844,\n 0x17392e17,\n 0xc45793c4,\n 0xa7f255a7,\n 0x7e82fc7e,\n 0x3d477a3d,\n 0x64acc864,\n 0x5de7ba5d,\n 0x192b3219,\n 0x7395e673,\n 0x60a0c060,\n 0x81981981,\n 0x4fd19e4f,\n 0xdc7fa3dc,\n 0x22664422,\n 0x2a7e542a,\n 0x90ab3b90,\n 0x88830b88,\n 0x46ca8c46,\n 0xee29c7ee,\n 0xb8d36bb8,\n 0x143c2814,\n 0xde79a7de,\n 0x5ee2bc5e,\n 0x0b1d160b,\n 0xdb76addb,\n 0xe03bdbe0,\n 0x32566432,\n 0x3a4e743a,\n 0x0a1e140a,\n 0x49db9249,\n 0x060a0c06,\n 0x246c4824,\n 0x5ce4b85c,\n 0xc25d9fc2,\n 0xd36ebdd3,\n 0xacef43ac,\n 0x62a6c462,\n 0x91a83991,\n 0x95a43195,\n 0xe437d3e4,\n 0x798bf279,\n 0xe732d5e7,\n 0xc8438bc8,\n 0x37596e37,\n 0x6db7da6d,\n 0x8d8c018d,\n 0xd564b1d5,\n 0x4ed29c4e,\n 0xa9e049a9,\n 0x6cb4d86c,\n 0x56faac56,\n 0xf407f3f4,\n 0xea25cfea,\n 0x65afca65,\n 0x7a8ef47a,\n 0xaee947ae,\n 0x08181008,\n 0xbad56fba,\n 0x7888f078,\n 0x256f4a25,\n 0x2e725c2e,\n 0x1c24381c,\n 0xa6f157a6,\n 0xb4c773b4,\n 0xc65197c6,\n 0xe823cbe8,\n 0xdd7ca1dd,\n 0x749ce874,\n 0x1f213e1f,\n 0x4bdd964b,\n 0xbddc61bd,\n 0x8b860d8b,\n 0x8a850f8a,\n 0x7090e070,\n 0x3e427c3e,\n 0xb5c471b5,\n 0x66aacc66,\n 0x48d89048,\n 0x03050603,\n 0xf601f7f6,\n 0x0e121c0e,\n 0x61a3c261,\n 0x355f6a35,\n 0x57f9ae57,\n 0xb9d069b9,\n 0x86911786,\n 0xc15899c1,\n 0x1d273a1d,\n 0x9eb9279e,\n 0xe138d9e1,\n 0xf813ebf8,\n 0x98b32b98,\n 0x11332211,\n 0x69bbd269,\n 0xd970a9d9,\n 0x8e89078e,\n 0x94a73394,\n 0x9bb62d9b,\n 0x1e223c1e,\n 0x87921587,\n 0xe920c9e9,\n 0xce4987ce,\n 0x55ffaa55,\n 0x28785028,\n 0xdf7aa5df,\n 0x8c8f038c,\n 0xa1f859a1,\n 0x89800989,\n 0x0d171a0d,\n 0xbfda65bf,\n 0xe631d7e6,\n 0x42c68442,\n 0x68b8d068,\n 0x41c38241,\n 0x99b02999,\n 0x2d775a2d,\n 0x0f111e0f,\n 0xb0cb7bb0,\n 0x54fca854,\n 0xbbd66dbb,\n 0x163a2c16\n ];\n var T4 = [\n 0x6363a5c6,\n 0x7c7c84f8,\n 0x777799ee,\n 0x7b7b8df6,\n 0xf2f20dff,\n 0x6b6bbdd6,\n 0x6f6fb1de,\n 0xc5c55491,\n 0x30305060,\n 0x01010302,\n 0x6767a9ce,\n 0x2b2b7d56,\n 0xfefe19e7,\n 0xd7d762b5,\n 0xababe64d,\n 0x76769aec,\n 0xcaca458f,\n 0x82829d1f,\n 0xc9c94089,\n 0x7d7d87fa,\n 0xfafa15ef,\n 0x5959ebb2,\n 0x4747c98e,\n 0xf0f00bfb,\n 0xadadec41,\n 0xd4d467b3,\n 0xa2a2fd5f,\n 0xafafea45,\n 0x9c9cbf23,\n 0xa4a4f753,\n 0x727296e4,\n 0xc0c05b9b,\n 0xb7b7c275,\n 0xfdfd1ce1,\n 0x9393ae3d,\n 0x26266a4c,\n 0x36365a6c,\n 0x3f3f417e,\n 0xf7f702f5,\n 0xcccc4f83,\n 0x34345c68,\n 0xa5a5f451,\n 0xe5e534d1,\n 0xf1f108f9,\n 0x717193e2,\n 0xd8d873ab,\n 0x31315362,\n 0x15153f2a,\n 0x04040c08,\n 0xc7c75295,\n 0x23236546,\n 0xc3c35e9d,\n 0x18182830,\n 0x9696a137,\n 0x05050f0a,\n 0x9a9ab52f,\n 0x0707090e,\n 0x12123624,\n 0x80809b1b,\n 0xe2e23ddf,\n 0xebeb26cd,\n 0x2727694e,\n 0xb2b2cd7f,\n 0x75759fea,\n 0x09091b12,\n 0x83839e1d,\n 0x2c2c7458,\n 0x1a1a2e34,\n 0x1b1b2d36,\n 0x6e6eb2dc,\n 0x5a5aeeb4,\n 0xa0a0fb5b,\n 0x5252f6a4,\n 0x3b3b4d76,\n 0xd6d661b7,\n 0xb3b3ce7d,\n 0x29297b52,\n 0xe3e33edd,\n 0x2f2f715e,\n 0x84849713,\n 0x5353f5a6,\n 0xd1d168b9,\n 0x00000000,\n 0xeded2cc1,\n 0x20206040,\n 0xfcfc1fe3,\n 0xb1b1c879,\n 0x5b5bedb6,\n 0x6a6abed4,\n 0xcbcb468d,\n 0xbebed967,\n 0x39394b72,\n 0x4a4ade94,\n 0x4c4cd498,\n 0x5858e8b0,\n 0xcfcf4a85,\n 0xd0d06bbb,\n 0xefef2ac5,\n 0xaaaae54f,\n 0xfbfb16ed,\n 0x4343c586,\n 0x4d4dd79a,\n 0x33335566,\n 0x85859411,\n 0x4545cf8a,\n 0xf9f910e9,\n 0x02020604,\n 0x7f7f81fe,\n 0x5050f0a0,\n 0x3c3c4478,\n 0x9f9fba25,\n 0xa8a8e34b,\n 0x5151f3a2,\n 0xa3a3fe5d,\n 0x4040c080,\n 0x8f8f8a05,\n 0x9292ad3f,\n 0x9d9dbc21,\n 0x38384870,\n 0xf5f504f1,\n 0xbcbcdf63,\n 0xb6b6c177,\n 0xdada75af,\n 0x21216342,\n 0x10103020,\n 0xffff1ae5,\n 0xf3f30efd,\n 0xd2d26dbf,\n 0xcdcd4c81,\n 0x0c0c1418,\n 0x13133526,\n 0xecec2fc3,\n 0x5f5fe1be,\n 0x9797a235,\n 0x4444cc88,\n 0x1717392e,\n 0xc4c45793,\n 0xa7a7f255,\n 0x7e7e82fc,\n 0x3d3d477a,\n 0x6464acc8,\n 0x5d5de7ba,\n 0x19192b32,\n 0x737395e6,\n 0x6060a0c0,\n 0x81819819,\n 0x4f4fd19e,\n 0xdcdc7fa3,\n 0x22226644,\n 0x2a2a7e54,\n 0x9090ab3b,\n 0x8888830b,\n 0x4646ca8c,\n 0xeeee29c7,\n 0xb8b8d36b,\n 0x14143c28,\n 0xdede79a7,\n 0x5e5ee2bc,\n 0x0b0b1d16,\n 0xdbdb76ad,\n 0xe0e03bdb,\n 0x32325664,\n 0x3a3a4e74,\n 0x0a0a1e14,\n 0x4949db92,\n 0x06060a0c,\n 0x24246c48,\n 0x5c5ce4b8,\n 0xc2c25d9f,\n 0xd3d36ebd,\n 0xacacef43,\n 0x6262a6c4,\n 0x9191a839,\n 0x9595a431,\n 0xe4e437d3,\n 0x79798bf2,\n 0xe7e732d5,\n 0xc8c8438b,\n 0x3737596e,\n 0x6d6db7da,\n 0x8d8d8c01,\n 0xd5d564b1,\n 0x4e4ed29c,\n 0xa9a9e049,\n 0x6c6cb4d8,\n 0x5656faac,\n 0xf4f407f3,\n 0xeaea25cf,\n 0x6565afca,\n 0x7a7a8ef4,\n 0xaeaee947,\n 0x08081810,\n 0xbabad56f,\n 0x787888f0,\n 0x25256f4a,\n 0x2e2e725c,\n 0x1c1c2438,\n 0xa6a6f157,\n 0xb4b4c773,\n 0xc6c65197,\n 0xe8e823cb,\n 0xdddd7ca1,\n 0x74749ce8,\n 0x1f1f213e,\n 0x4b4bdd96,\n 0xbdbddc61,\n 0x8b8b860d,\n 0x8a8a850f,\n 0x707090e0,\n 0x3e3e427c,\n 0xb5b5c471,\n 0x6666aacc,\n 0x4848d890,\n 0x03030506,\n 0xf6f601f7,\n 0x0e0e121c,\n 0x6161a3c2,\n 0x35355f6a,\n 0x5757f9ae,\n 0xb9b9d069,\n 0x86869117,\n 0xc1c15899,\n 0x1d1d273a,\n 0x9e9eb927,\n 0xe1e138d9,\n 0xf8f813eb,\n 0x9898b32b,\n 0x11113322,\n 0x6969bbd2,\n 0xd9d970a9,\n 0x8e8e8907,\n 0x9494a733,\n 0x9b9bb62d,\n 0x1e1e223c,\n 0x87879215,\n 0xe9e920c9,\n 0xcece4987,\n 0x5555ffaa,\n 0x28287850,\n 0xdfdf7aa5,\n 0x8c8c8f03,\n 0xa1a1f859,\n 0x89898009,\n 0x0d0d171a,\n 0xbfbfda65,\n 0xe6e631d7,\n 0x4242c684,\n 0x6868b8d0,\n 0x4141c382,\n 0x9999b029,\n 0x2d2d775a,\n 0x0f0f111e,\n 0xb0b0cb7b,\n 0x5454fca8,\n 0xbbbbd66d,\n 0x16163a2c\n ];\n // Transformations for decryption\n var T5 = [\n 0x51f4a750,\n 0x7e416553,\n 0x1a17a4c3,\n 0x3a275e96,\n 0x3bab6bcb,\n 0x1f9d45f1,\n 0xacfa58ab,\n 0x4be30393,\n 0x2030fa55,\n 0xad766df6,\n 0x88cc7691,\n 0xf5024c25,\n 0x4fe5d7fc,\n 0xc52acbd7,\n 0x26354480,\n 0xb562a38f,\n 0xdeb15a49,\n 0x25ba1b67,\n 0x45ea0e98,\n 0x5dfec0e1,\n 0xc32f7502,\n 0x814cf012,\n 0x8d4697a3,\n 0x6bd3f9c6,\n 0x038f5fe7,\n 0x15929c95,\n 0xbf6d7aeb,\n 0x955259da,\n 0xd4be832d,\n 0x587421d3,\n 0x49e06929,\n 0x8ec9c844,\n 0x75c2896a,\n 0xf48e7978,\n 0x99583e6b,\n 0x27b971dd,\n 0xbee14fb6,\n 0xf088ad17,\n 0xc920ac66,\n 0x7dce3ab4,\n 0x63df4a18,\n 0xe51a3182,\n 0x97513360,\n 0x62537f45,\n 0xb16477e0,\n 0xbb6bae84,\n 0xfe81a01c,\n 0xf9082b94,\n 0x70486858,\n 0x8f45fd19,\n 0x94de6c87,\n 0x527bf8b7,\n 0xab73d323,\n 0x724b02e2,\n 0xe31f8f57,\n 0x6655ab2a,\n 0xb2eb2807,\n 0x2fb5c203,\n 0x86c57b9a,\n 0xd33708a5,\n 0x302887f2,\n 0x23bfa5b2,\n 0x02036aba,\n 0xed16825c,\n 0x8acf1c2b,\n 0xa779b492,\n 0xf307f2f0,\n 0x4e69e2a1,\n 0x65daf4cd,\n 0x0605bed5,\n 0xd134621f,\n 0xc4a6fe8a,\n 0x342e539d,\n 0xa2f355a0,\n 0x058ae132,\n 0xa4f6eb75,\n 0x0b83ec39,\n 0x4060efaa,\n 0x5e719f06,\n 0xbd6e1051,\n 0x3e218af9,\n 0x96dd063d,\n 0xdd3e05ae,\n 0x4de6bd46,\n 0x91548db5,\n 0x71c45d05,\n 0x0406d46f,\n 0x605015ff,\n 0x1998fb24,\n 0xd6bde997,\n 0x894043cc,\n 0x67d99e77,\n 0xb0e842bd,\n 0x07898b88,\n 0xe7195b38,\n 0x79c8eedb,\n 0xa17c0a47,\n 0x7c420fe9,\n 0xf8841ec9,\n 0x00000000,\n 0x09808683,\n 0x322bed48,\n 0x1e1170ac,\n 0x6c5a724e,\n 0xfd0efffb,\n 0x0f853856,\n 0x3daed51e,\n 0x362d3927,\n 0x0a0fd964,\n 0x685ca621,\n 0x9b5b54d1,\n 0x24362e3a,\n 0x0c0a67b1,\n 0x9357e70f,\n 0xb4ee96d2,\n 0x1b9b919e,\n 0x80c0c54f,\n 0x61dc20a2,\n 0x5a774b69,\n 0x1c121a16,\n 0xe293ba0a,\n 0xc0a02ae5,\n 0x3c22e043,\n 0x121b171d,\n 0x0e090d0b,\n 0xf28bc7ad,\n 0x2db6a8b9,\n 0x141ea9c8,\n 0x57f11985,\n 0xaf75074c,\n 0xee99ddbb,\n 0xa37f60fd,\n 0xf701269f,\n 0x5c72f5bc,\n 0x44663bc5,\n 0x5bfb7e34,\n 0x8b432976,\n 0xcb23c6dc,\n 0xb6edfc68,\n 0xb8e4f163,\n 0xd731dcca,\n 0x42638510,\n 0x13972240,\n 0x84c61120,\n 0x854a247d,\n 0xd2bb3df8,\n 0xaef93211,\n 0xc729a16d,\n 0x1d9e2f4b,\n 0xdcb230f3,\n 0x0d8652ec,\n 0x77c1e3d0,\n 0x2bb3166c,\n 0xa970b999,\n 0x119448fa,\n 0x47e96422,\n 0xa8fc8cc4,\n 0xa0f03f1a,\n 0x567d2cd8,\n 0x223390ef,\n 0x87494ec7,\n 0xd938d1c1,\n 0x8ccaa2fe,\n 0x98d40b36,\n 0xa6f581cf,\n 0xa57ade28,\n 0xdab78e26,\n 0x3fadbfa4,\n 0x2c3a9de4,\n 0x5078920d,\n 0x6a5fcc9b,\n 0x547e4662,\n 0xf68d13c2,\n 0x90d8b8e8,\n 0x2e39f75e,\n 0x82c3aff5,\n 0x9f5d80be,\n 0x69d0937c,\n 0x6fd52da9,\n 0xcf2512b3,\n 0xc8ac993b,\n 0x10187da7,\n 0xe89c636e,\n 0xdb3bbb7b,\n 0xcd267809,\n 0x6e5918f4,\n 0xec9ab701,\n 0x834f9aa8,\n 0xe6956e65,\n 0xaaffe67e,\n 0x21bccf08,\n 0xef15e8e6,\n 0xbae79bd9,\n 0x4a6f36ce,\n 0xea9f09d4,\n 0x29b07cd6,\n 0x31a4b2af,\n 0x2a3f2331,\n 0xc6a59430,\n 0x35a266c0,\n 0x744ebc37,\n 0xfc82caa6,\n 0xe090d0b0,\n 0x33a7d815,\n 0xf104984a,\n 0x41ecdaf7,\n 0x7fcd500e,\n 0x1791f62f,\n 0x764dd68d,\n 0x43efb04d,\n 0xccaa4d54,\n 0xe49604df,\n 0x9ed1b5e3,\n 0x4c6a881b,\n 0xc12c1fb8,\n 0x4665517f,\n 0x9d5eea04,\n 0x018c355d,\n 0xfa877473,\n 0xfb0b412e,\n 0xb3671d5a,\n 0x92dbd252,\n 0xe9105633,\n 0x6dd64713,\n 0x9ad7618c,\n 0x37a10c7a,\n 0x59f8148e,\n 0xeb133c89,\n 0xcea927ee,\n 0xb761c935,\n 0xe11ce5ed,\n 0x7a47b13c,\n 0x9cd2df59,\n 0x55f2733f,\n 0x1814ce79,\n 0x73c737bf,\n 0x53f7cdea,\n 0x5ffdaa5b,\n 0xdf3d6f14,\n 0x7844db86,\n 0xcaaff381,\n 0xb968c43e,\n 0x3824342c,\n 0xc2a3405f,\n 0x161dc372,\n 0xbce2250c,\n 0x283c498b,\n 0xff0d9541,\n 0x39a80171,\n 0x080cb3de,\n 0xd8b4e49c,\n 0x6456c190,\n 0x7bcb8461,\n 0xd532b670,\n 0x486c5c74,\n 0xd0b85742\n ];\n var T6 = [\n 0x5051f4a7,\n 0x537e4165,\n 0xc31a17a4,\n 0x963a275e,\n 0xcb3bab6b,\n 0xf11f9d45,\n 0xabacfa58,\n 0x934be303,\n 0x552030fa,\n 0xf6ad766d,\n 0x9188cc76,\n 0x25f5024c,\n 0xfc4fe5d7,\n 0xd7c52acb,\n 0x80263544,\n 0x8fb562a3,\n 0x49deb15a,\n 0x6725ba1b,\n 0x9845ea0e,\n 0xe15dfec0,\n 0x02c32f75,\n 0x12814cf0,\n 0xa38d4697,\n 0xc66bd3f9,\n 0xe7038f5f,\n 0x9515929c,\n 0xebbf6d7a,\n 0xda955259,\n 0x2dd4be83,\n 0xd3587421,\n 0x2949e069,\n 0x448ec9c8,\n 0x6a75c289,\n 0x78f48e79,\n 0x6b99583e,\n 0xdd27b971,\n 0xb6bee14f,\n 0x17f088ad,\n 0x66c920ac,\n 0xb47dce3a,\n 0x1863df4a,\n 0x82e51a31,\n 0x60975133,\n 0x4562537f,\n 0xe0b16477,\n 0x84bb6bae,\n 0x1cfe81a0,\n 0x94f9082b,\n 0x58704868,\n 0x198f45fd,\n 0x8794de6c,\n 0xb7527bf8,\n 0x23ab73d3,\n 0xe2724b02,\n 0x57e31f8f,\n 0x2a6655ab,\n 0x07b2eb28,\n 0x032fb5c2,\n 0x9a86c57b,\n 0xa5d33708,\n 0xf2302887,\n 0xb223bfa5,\n 0xba02036a,\n 0x5ced1682,\n 0x2b8acf1c,\n 0x92a779b4,\n 0xf0f307f2,\n 0xa14e69e2,\n 0xcd65daf4,\n 0xd50605be,\n 0x1fd13462,\n 0x8ac4a6fe,\n 0x9d342e53,\n 0xa0a2f355,\n 0x32058ae1,\n 0x75a4f6eb,\n 0x390b83ec,\n 0xaa4060ef,\n 0x065e719f,\n 0x51bd6e10,\n 0xf93e218a,\n 0x3d96dd06,\n 0xaedd3e05,\n 0x464de6bd,\n 0xb591548d,\n 0x0571c45d,\n 0x6f0406d4,\n 0xff605015,\n 0x241998fb,\n 0x97d6bde9,\n 0xcc894043,\n 0x7767d99e,\n 0xbdb0e842,\n 0x8807898b,\n 0x38e7195b,\n 0xdb79c8ee,\n 0x47a17c0a,\n 0xe97c420f,\n 0xc9f8841e,\n 0x00000000,\n 0x83098086,\n 0x48322bed,\n 0xac1e1170,\n 0x4e6c5a72,\n 0xfbfd0eff,\n 0x560f8538,\n 0x1e3daed5,\n 0x27362d39,\n 0x640a0fd9,\n 0x21685ca6,\n 0xd19b5b54,\n 0x3a24362e,\n 0xb10c0a67,\n 0x0f9357e7,\n 0xd2b4ee96,\n 0x9e1b9b91,\n 0x4f80c0c5,\n 0xa261dc20,\n 0x695a774b,\n 0x161c121a,\n 0x0ae293ba,\n 0xe5c0a02a,\n 0x433c22e0,\n 0x1d121b17,\n 0x0b0e090d,\n 0xadf28bc7,\n 0xb92db6a8,\n 0xc8141ea9,\n 0x8557f119,\n 0x4caf7507,\n 0xbbee99dd,\n 0xfda37f60,\n 0x9ff70126,\n 0xbc5c72f5,\n 0xc544663b,\n 0x345bfb7e,\n 0x768b4329,\n 0xdccb23c6,\n 0x68b6edfc,\n 0x63b8e4f1,\n 0xcad731dc,\n 0x10426385,\n 0x40139722,\n 0x2084c611,\n 0x7d854a24,\n 0xf8d2bb3d,\n 0x11aef932,\n 0x6dc729a1,\n 0x4b1d9e2f,\n 0xf3dcb230,\n 0xec0d8652,\n 0xd077c1e3,\n 0x6c2bb316,\n 0x99a970b9,\n 0xfa119448,\n 0x2247e964,\n 0xc4a8fc8c,\n 0x1aa0f03f,\n 0xd8567d2c,\n 0xef223390,\n 0xc787494e,\n 0xc1d938d1,\n 0xfe8ccaa2,\n 0x3698d40b,\n 0xcfa6f581,\n 0x28a57ade,\n 0x26dab78e,\n 0xa43fadbf,\n 0xe42c3a9d,\n 0x0d507892,\n 0x9b6a5fcc,\n 0x62547e46,\n 0xc2f68d13,\n 0xe890d8b8,\n 0x5e2e39f7,\n 0xf582c3af,\n 0xbe9f5d80,\n 0x7c69d093,\n 0xa96fd52d,\n 0xb3cf2512,\n 0x3bc8ac99,\n 0xa710187d,\n 0x6ee89c63,\n 0x7bdb3bbb,\n 0x09cd2678,\n 0xf46e5918,\n 0x01ec9ab7,\n 0xa8834f9a,\n 0x65e6956e,\n 0x7eaaffe6,\n 0x0821bccf,\n 0xe6ef15e8,\n 0xd9bae79b,\n 0xce4a6f36,\n 0xd4ea9f09,\n 0xd629b07c,\n 0xaf31a4b2,\n 0x312a3f23,\n 0x30c6a594,\n 0xc035a266,\n 0x37744ebc,\n 0xa6fc82ca,\n 0xb0e090d0,\n 0x1533a7d8,\n 0x4af10498,\n 0xf741ecda,\n 0x0e7fcd50,\n 0x2f1791f6,\n 0x8d764dd6,\n 0x4d43efb0,\n 0x54ccaa4d,\n 0xdfe49604,\n 0xe39ed1b5,\n 0x1b4c6a88,\n 0xb8c12c1f,\n 0x7f466551,\n 0x049d5eea,\n 0x5d018c35,\n 0x73fa8774,\n 0x2efb0b41,\n 0x5ab3671d,\n 0x5292dbd2,\n 0x33e91056,\n 0x136dd647,\n 0x8c9ad761,\n 0x7a37a10c,\n 0x8e59f814,\n 0x89eb133c,\n 0xeecea927,\n 0x35b761c9,\n 0xede11ce5,\n 0x3c7a47b1,\n 0x599cd2df,\n 0x3f55f273,\n 0x791814ce,\n 0xbf73c737,\n 0xea53f7cd,\n 0x5b5ffdaa,\n 0x14df3d6f,\n 0x867844db,\n 0x81caaff3,\n 0x3eb968c4,\n 0x2c382434,\n 0x5fc2a340,\n 0x72161dc3,\n 0x0cbce225,\n 0x8b283c49,\n 0x41ff0d95,\n 0x7139a801,\n 0xde080cb3,\n 0x9cd8b4e4,\n 0x906456c1,\n 0x617bcb84,\n 0x70d532b6,\n 0x74486c5c,\n 0x42d0b857\n ];\n var T7 = [\n 0xa75051f4,\n 0x65537e41,\n 0xa4c31a17,\n 0x5e963a27,\n 0x6bcb3bab,\n 0x45f11f9d,\n 0x58abacfa,\n 0x03934be3,\n 0xfa552030,\n 0x6df6ad76,\n 0x769188cc,\n 0x4c25f502,\n 0xd7fc4fe5,\n 0xcbd7c52a,\n 0x44802635,\n 0xa38fb562,\n 0x5a49deb1,\n 0x1b6725ba,\n 0x0e9845ea,\n 0xc0e15dfe,\n 0x7502c32f,\n 0xf012814c,\n 0x97a38d46,\n 0xf9c66bd3,\n 0x5fe7038f,\n 0x9c951592,\n 0x7aebbf6d,\n 0x59da9552,\n 0x832dd4be,\n 0x21d35874,\n 0x692949e0,\n 0xc8448ec9,\n 0x896a75c2,\n 0x7978f48e,\n 0x3e6b9958,\n 0x71dd27b9,\n 0x4fb6bee1,\n 0xad17f088,\n 0xac66c920,\n 0x3ab47dce,\n 0x4a1863df,\n 0x3182e51a,\n 0x33609751,\n 0x7f456253,\n 0x77e0b164,\n 0xae84bb6b,\n 0xa01cfe81,\n 0x2b94f908,\n 0x68587048,\n 0xfd198f45,\n 0x6c8794de,\n 0xf8b7527b,\n 0xd323ab73,\n 0x02e2724b,\n 0x8f57e31f,\n 0xab2a6655,\n 0x2807b2eb,\n 0xc2032fb5,\n 0x7b9a86c5,\n 0x08a5d337,\n 0x87f23028,\n 0xa5b223bf,\n 0x6aba0203,\n 0x825ced16,\n 0x1c2b8acf,\n 0xb492a779,\n 0xf2f0f307,\n 0xe2a14e69,\n 0xf4cd65da,\n 0xbed50605,\n 0x621fd134,\n 0xfe8ac4a6,\n 0x539d342e,\n 0x55a0a2f3,\n 0xe132058a,\n 0xeb75a4f6,\n 0xec390b83,\n 0xefaa4060,\n 0x9f065e71,\n 0x1051bd6e,\n 0x8af93e21,\n 0x063d96dd,\n 0x05aedd3e,\n 0xbd464de6,\n 0x8db59154,\n 0x5d0571c4,\n 0xd46f0406,\n 0x15ff6050,\n 0xfb241998,\n 0xe997d6bd,\n 0x43cc8940,\n 0x9e7767d9,\n 0x42bdb0e8,\n 0x8b880789,\n 0x5b38e719,\n 0xeedb79c8,\n 0x0a47a17c,\n 0x0fe97c42,\n 0x1ec9f884,\n 0x00000000,\n 0x86830980,\n 0xed48322b,\n 0x70ac1e11,\n 0x724e6c5a,\n 0xfffbfd0e,\n 0x38560f85,\n 0xd51e3dae,\n 0x3927362d,\n 0xd9640a0f,\n 0xa621685c,\n 0x54d19b5b,\n 0x2e3a2436,\n 0x67b10c0a,\n 0xe70f9357,\n 0x96d2b4ee,\n 0x919e1b9b,\n 0xc54f80c0,\n 0x20a261dc,\n 0x4b695a77,\n 0x1a161c12,\n 0xba0ae293,\n 0x2ae5c0a0,\n 0xe0433c22,\n 0x171d121b,\n 0x0d0b0e09,\n 0xc7adf28b,\n 0xa8b92db6,\n 0xa9c8141e,\n 0x198557f1,\n 0x074caf75,\n 0xddbbee99,\n 0x60fda37f,\n 0x269ff701,\n 0xf5bc5c72,\n 0x3bc54466,\n 0x7e345bfb,\n 0x29768b43,\n 0xc6dccb23,\n 0xfc68b6ed,\n 0xf163b8e4,\n 0xdccad731,\n 0x85104263,\n 0x22401397,\n 0x112084c6,\n 0x247d854a,\n 0x3df8d2bb,\n 0x3211aef9,\n 0xa16dc729,\n 0x2f4b1d9e,\n 0x30f3dcb2,\n 0x52ec0d86,\n 0xe3d077c1,\n 0x166c2bb3,\n 0xb999a970,\n 0x48fa1194,\n 0x642247e9,\n 0x8cc4a8fc,\n 0x3f1aa0f0,\n 0x2cd8567d,\n 0x90ef2233,\n 0x4ec78749,\n 0xd1c1d938,\n 0xa2fe8cca,\n 0x0b3698d4,\n 0x81cfa6f5,\n 0xde28a57a,\n 0x8e26dab7,\n 0xbfa43fad,\n 0x9de42c3a,\n 0x920d5078,\n 0xcc9b6a5f,\n 0x4662547e,\n 0x13c2f68d,\n 0xb8e890d8,\n 0xf75e2e39,\n 0xaff582c3,\n 0x80be9f5d,\n 0x937c69d0,\n 0x2da96fd5,\n 0x12b3cf25,\n 0x993bc8ac,\n 0x7da71018,\n 0x636ee89c,\n 0xbb7bdb3b,\n 0x7809cd26,\n 0x18f46e59,\n 0xb701ec9a,\n 0x9aa8834f,\n 0x6e65e695,\n 0xe67eaaff,\n 0xcf0821bc,\n 0xe8e6ef15,\n 0x9bd9bae7,\n 0x36ce4a6f,\n 0x09d4ea9f,\n 0x7cd629b0,\n 0xb2af31a4,\n 0x23312a3f,\n 0x9430c6a5,\n 0x66c035a2,\n 0xbc37744e,\n 0xcaa6fc82,\n 0xd0b0e090,\n 0xd81533a7,\n 0x984af104,\n 0xdaf741ec,\n 0x500e7fcd,\n 0xf62f1791,\n 0xd68d764d,\n 0xb04d43ef,\n 0x4d54ccaa,\n 0x04dfe496,\n 0xb5e39ed1,\n 0x881b4c6a,\n 0x1fb8c12c,\n 0x517f4665,\n 0xea049d5e,\n 0x355d018c,\n 0x7473fa87,\n 0x412efb0b,\n 0x1d5ab367,\n 0xd25292db,\n 0x5633e910,\n 0x47136dd6,\n 0x618c9ad7,\n 0x0c7a37a1,\n 0x148e59f8,\n 0x3c89eb13,\n 0x27eecea9,\n 0xc935b761,\n 0xe5ede11c,\n 0xb13c7a47,\n 0xdf599cd2,\n 0x733f55f2,\n 0xce791814,\n 0x37bf73c7,\n 0xcdea53f7,\n 0xaa5b5ffd,\n 0x6f14df3d,\n 0xdb867844,\n 0xf381caaf,\n 0xc43eb968,\n 0x342c3824,\n 0x405fc2a3,\n 0xc372161d,\n 0x250cbce2,\n 0x498b283c,\n 0x9541ff0d,\n 0x017139a8,\n 0xb3de080c,\n 0xe49cd8b4,\n 0xc1906456,\n 0x84617bcb,\n 0xb670d532,\n 0x5c74486c,\n 0x5742d0b8\n ];\n var T8 = [\n 0xf4a75051,\n 0x4165537e,\n 0x17a4c31a,\n 0x275e963a,\n 0xab6bcb3b,\n 0x9d45f11f,\n 0xfa58abac,\n 0xe303934b,\n 0x30fa5520,\n 0x766df6ad,\n 0xcc769188,\n 0x024c25f5,\n 0xe5d7fc4f,\n 0x2acbd7c5,\n 0x35448026,\n 0x62a38fb5,\n 0xb15a49de,\n 0xba1b6725,\n 0xea0e9845,\n 0xfec0e15d,\n 0x2f7502c3,\n 0x4cf01281,\n 0x4697a38d,\n 0xd3f9c66b,\n 0x8f5fe703,\n 0x929c9515,\n 0x6d7aebbf,\n 0x5259da95,\n 0xbe832dd4,\n 0x7421d358,\n 0xe0692949,\n 0xc9c8448e,\n 0xc2896a75,\n 0x8e7978f4,\n 0x583e6b99,\n 0xb971dd27,\n 0xe14fb6be,\n 0x88ad17f0,\n 0x20ac66c9,\n 0xce3ab47d,\n 0xdf4a1863,\n 0x1a3182e5,\n 0x51336097,\n 0x537f4562,\n 0x6477e0b1,\n 0x6bae84bb,\n 0x81a01cfe,\n 0x082b94f9,\n 0x48685870,\n 0x45fd198f,\n 0xde6c8794,\n 0x7bf8b752,\n 0x73d323ab,\n 0x4b02e272,\n 0x1f8f57e3,\n 0x55ab2a66,\n 0xeb2807b2,\n 0xb5c2032f,\n 0xc57b9a86,\n 0x3708a5d3,\n 0x2887f230,\n 0xbfa5b223,\n 0x036aba02,\n 0x16825ced,\n 0xcf1c2b8a,\n 0x79b492a7,\n 0x07f2f0f3,\n 0x69e2a14e,\n 0xdaf4cd65,\n 0x05bed506,\n 0x34621fd1,\n 0xa6fe8ac4,\n 0x2e539d34,\n 0xf355a0a2,\n 0x8ae13205,\n 0xf6eb75a4,\n 0x83ec390b,\n 0x60efaa40,\n 0x719f065e,\n 0x6e1051bd,\n 0x218af93e,\n 0xdd063d96,\n 0x3e05aedd,\n 0xe6bd464d,\n 0x548db591,\n 0xc45d0571,\n 0x06d46f04,\n 0x5015ff60,\n 0x98fb2419,\n 0xbde997d6,\n 0x4043cc89,\n 0xd99e7767,\n 0xe842bdb0,\n 0x898b8807,\n 0x195b38e7,\n 0xc8eedb79,\n 0x7c0a47a1,\n 0x420fe97c,\n 0x841ec9f8,\n 0x00000000,\n 0x80868309,\n 0x2bed4832,\n 0x1170ac1e,\n 0x5a724e6c,\n 0x0efffbfd,\n 0x8538560f,\n 0xaed51e3d,\n 0x2d392736,\n 0x0fd9640a,\n 0x5ca62168,\n 0x5b54d19b,\n 0x362e3a24,\n 0x0a67b10c,\n 0x57e70f93,\n 0xee96d2b4,\n 0x9b919e1b,\n 0xc0c54f80,\n 0xdc20a261,\n 0x774b695a,\n 0x121a161c,\n 0x93ba0ae2,\n 0xa02ae5c0,\n 0x22e0433c,\n 0x1b171d12,\n 0x090d0b0e,\n 0x8bc7adf2,\n 0xb6a8b92d,\n 0x1ea9c814,\n 0xf1198557,\n 0x75074caf,\n 0x99ddbbee,\n 0x7f60fda3,\n 0x01269ff7,\n 0x72f5bc5c,\n 0x663bc544,\n 0xfb7e345b,\n 0x4329768b,\n 0x23c6dccb,\n 0xedfc68b6,\n 0xe4f163b8,\n 0x31dccad7,\n 0x63851042,\n 0x97224013,\n 0xc6112084,\n 0x4a247d85,\n 0xbb3df8d2,\n 0xf93211ae,\n 0x29a16dc7,\n 0x9e2f4b1d,\n 0xb230f3dc,\n 0x8652ec0d,\n 0xc1e3d077,\n 0xb3166c2b,\n 0x70b999a9,\n 0x9448fa11,\n 0xe9642247,\n 0xfc8cc4a8,\n 0xf03f1aa0,\n 0x7d2cd856,\n 0x3390ef22,\n 0x494ec787,\n 0x38d1c1d9,\n 0xcaa2fe8c,\n 0xd40b3698,\n 0xf581cfa6,\n 0x7ade28a5,\n 0xb78e26da,\n 0xadbfa43f,\n 0x3a9de42c,\n 0x78920d50,\n 0x5fcc9b6a,\n 0x7e466254,\n 0x8d13c2f6,\n 0xd8b8e890,\n 0x39f75e2e,\n 0xc3aff582,\n 0x5d80be9f,\n 0xd0937c69,\n 0xd52da96f,\n 0x2512b3cf,\n 0xac993bc8,\n 0x187da710,\n 0x9c636ee8,\n 0x3bbb7bdb,\n 0x267809cd,\n 0x5918f46e,\n 0x9ab701ec,\n 0x4f9aa883,\n 0x956e65e6,\n 0xffe67eaa,\n 0xbccf0821,\n 0x15e8e6ef,\n 0xe79bd9ba,\n 0x6f36ce4a,\n 0x9f09d4ea,\n 0xb07cd629,\n 0xa4b2af31,\n 0x3f23312a,\n 0xa59430c6,\n 0xa266c035,\n 0x4ebc3774,\n 0x82caa6fc,\n 0x90d0b0e0,\n 0xa7d81533,\n 0x04984af1,\n 0xecdaf741,\n 0xcd500e7f,\n 0x91f62f17,\n 0x4dd68d76,\n 0xefb04d43,\n 0xaa4d54cc,\n 0x9604dfe4,\n 0xd1b5e39e,\n 0x6a881b4c,\n 0x2c1fb8c1,\n 0x65517f46,\n 0x5eea049d,\n 0x8c355d01,\n 0x877473fa,\n 0x0b412efb,\n 0x671d5ab3,\n 0xdbd25292,\n 0x105633e9,\n 0xd647136d,\n 0xd7618c9a,\n 0xa10c7a37,\n 0xf8148e59,\n 0x133c89eb,\n 0xa927eece,\n 0x61c935b7,\n 0x1ce5ede1,\n 0x47b13c7a,\n 0xd2df599c,\n 0xf2733f55,\n 0x14ce7918,\n 0xc737bf73,\n 0xf7cdea53,\n 0xfdaa5b5f,\n 0x3d6f14df,\n 0x44db8678,\n 0xaff381ca,\n 0x68c43eb9,\n 0x24342c38,\n 0xa3405fc2,\n 0x1dc37216,\n 0xe2250cbc,\n 0x3c498b28,\n 0x0d9541ff,\n 0xa8017139,\n 0x0cb3de08,\n 0xb4e49cd8,\n 0x56c19064,\n 0xcb84617b,\n 0x32b670d5,\n 0x6c5c7448,\n 0xb85742d0\n ];\n // Transformations for decryption key expansion\n var U1 = [\n 0x00000000,\n 0x0e090d0b,\n 0x1c121a16,\n 0x121b171d,\n 0x3824342c,\n 0x362d3927,\n 0x24362e3a,\n 0x2a3f2331,\n 0x70486858,\n 0x7e416553,\n 0x6c5a724e,\n 0x62537f45,\n 0x486c5c74,\n 0x4665517f,\n 0x547e4662,\n 0x5a774b69,\n 0xe090d0b0,\n 0xee99ddbb,\n 0xfc82caa6,\n 0xf28bc7ad,\n 0xd8b4e49c,\n 0xd6bde997,\n 0xc4a6fe8a,\n 0xcaaff381,\n 0x90d8b8e8,\n 0x9ed1b5e3,\n 0x8ccaa2fe,\n 0x82c3aff5,\n 0xa8fc8cc4,\n 0xa6f581cf,\n 0xb4ee96d2,\n 0xbae79bd9,\n 0xdb3bbb7b,\n 0xd532b670,\n 0xc729a16d,\n 0xc920ac66,\n 0xe31f8f57,\n 0xed16825c,\n 0xff0d9541,\n 0xf104984a,\n 0xab73d323,\n 0xa57ade28,\n 0xb761c935,\n 0xb968c43e,\n 0x9357e70f,\n 0x9d5eea04,\n 0x8f45fd19,\n 0x814cf012,\n 0x3bab6bcb,\n 0x35a266c0,\n 0x27b971dd,\n 0x29b07cd6,\n 0x038f5fe7,\n 0x0d8652ec,\n 0x1f9d45f1,\n 0x119448fa,\n 0x4be30393,\n 0x45ea0e98,\n 0x57f11985,\n 0x59f8148e,\n 0x73c737bf,\n 0x7dce3ab4,\n 0x6fd52da9,\n 0x61dc20a2,\n 0xad766df6,\n 0xa37f60fd,\n 0xb16477e0,\n 0xbf6d7aeb,\n 0x955259da,\n 0x9b5b54d1,\n 0x894043cc,\n 0x87494ec7,\n 0xdd3e05ae,\n 0xd33708a5,\n 0xc12c1fb8,\n 0xcf2512b3,\n 0xe51a3182,\n 0xeb133c89,\n 0xf9082b94,\n 0xf701269f,\n 0x4de6bd46,\n 0x43efb04d,\n 0x51f4a750,\n 0x5ffdaa5b,\n 0x75c2896a,\n 0x7bcb8461,\n 0x69d0937c,\n 0x67d99e77,\n 0x3daed51e,\n 0x33a7d815,\n 0x21bccf08,\n 0x2fb5c203,\n 0x058ae132,\n 0x0b83ec39,\n 0x1998fb24,\n 0x1791f62f,\n 0x764dd68d,\n 0x7844db86,\n 0x6a5fcc9b,\n 0x6456c190,\n 0x4e69e2a1,\n 0x4060efaa,\n 0x527bf8b7,\n 0x5c72f5bc,\n 0x0605bed5,\n 0x080cb3de,\n 0x1a17a4c3,\n 0x141ea9c8,\n 0x3e218af9,\n 0x302887f2,\n 0x223390ef,\n 0x2c3a9de4,\n 0x96dd063d,\n 0x98d40b36,\n 0x8acf1c2b,\n 0x84c61120,\n 0xaef93211,\n 0xa0f03f1a,\n 0xb2eb2807,\n 0xbce2250c,\n 0xe6956e65,\n 0xe89c636e,\n 0xfa877473,\n 0xf48e7978,\n 0xdeb15a49,\n 0xd0b85742,\n 0xc2a3405f,\n 0xccaa4d54,\n 0x41ecdaf7,\n 0x4fe5d7fc,\n 0x5dfec0e1,\n 0x53f7cdea,\n 0x79c8eedb,\n 0x77c1e3d0,\n 0x65daf4cd,\n 0x6bd3f9c6,\n 0x31a4b2af,\n 0x3fadbfa4,\n 0x2db6a8b9,\n 0x23bfa5b2,\n 0x09808683,\n 0x07898b88,\n 0x15929c95,\n 0x1b9b919e,\n 0xa17c0a47,\n 0xaf75074c,\n 0xbd6e1051,\n 0xb3671d5a,\n 0x99583e6b,\n 0x97513360,\n 0x854a247d,\n 0x8b432976,\n 0xd134621f,\n 0xdf3d6f14,\n 0xcd267809,\n 0xc32f7502,\n 0xe9105633,\n 0xe7195b38,\n 0xf5024c25,\n 0xfb0b412e,\n 0x9ad7618c,\n 0x94de6c87,\n 0x86c57b9a,\n 0x88cc7691,\n 0xa2f355a0,\n 0xacfa58ab,\n 0xbee14fb6,\n 0xb0e842bd,\n 0xea9f09d4,\n 0xe49604df,\n 0xf68d13c2,\n 0xf8841ec9,\n 0xd2bb3df8,\n 0xdcb230f3,\n 0xcea927ee,\n 0xc0a02ae5,\n 0x7a47b13c,\n 0x744ebc37,\n 0x6655ab2a,\n 0x685ca621,\n 0x42638510,\n 0x4c6a881b,\n 0x5e719f06,\n 0x5078920d,\n 0x0a0fd964,\n 0x0406d46f,\n 0x161dc372,\n 0x1814ce79,\n 0x322bed48,\n 0x3c22e043,\n 0x2e39f75e,\n 0x2030fa55,\n 0xec9ab701,\n 0xe293ba0a,\n 0xf088ad17,\n 0xfe81a01c,\n 0xd4be832d,\n 0xdab78e26,\n 0xc8ac993b,\n 0xc6a59430,\n 0x9cd2df59,\n 0x92dbd252,\n 0x80c0c54f,\n 0x8ec9c844,\n 0xa4f6eb75,\n 0xaaffe67e,\n 0xb8e4f163,\n 0xb6edfc68,\n 0x0c0a67b1,\n 0x02036aba,\n 0x10187da7,\n 0x1e1170ac,\n 0x342e539d,\n 0x3a275e96,\n 0x283c498b,\n 0x26354480,\n 0x7c420fe9,\n 0x724b02e2,\n 0x605015ff,\n 0x6e5918f4,\n 0x44663bc5,\n 0x4a6f36ce,\n 0x587421d3,\n 0x567d2cd8,\n 0x37a10c7a,\n 0x39a80171,\n 0x2bb3166c,\n 0x25ba1b67,\n 0x0f853856,\n 0x018c355d,\n 0x13972240,\n 0x1d9e2f4b,\n 0x47e96422,\n 0x49e06929,\n 0x5bfb7e34,\n 0x55f2733f,\n 0x7fcd500e,\n 0x71c45d05,\n 0x63df4a18,\n 0x6dd64713,\n 0xd731dcca,\n 0xd938d1c1,\n 0xcb23c6dc,\n 0xc52acbd7,\n 0xef15e8e6,\n 0xe11ce5ed,\n 0xf307f2f0,\n 0xfd0efffb,\n 0xa779b492,\n 0xa970b999,\n 0xbb6bae84,\n 0xb562a38f,\n 0x9f5d80be,\n 0x91548db5,\n 0x834f9aa8,\n 0x8d4697a3\n ];\n var U2 = [\n 0x00000000,\n 0x0b0e090d,\n 0x161c121a,\n 0x1d121b17,\n 0x2c382434,\n 0x27362d39,\n 0x3a24362e,\n 0x312a3f23,\n 0x58704868,\n 0x537e4165,\n 0x4e6c5a72,\n 0x4562537f,\n 0x74486c5c,\n 0x7f466551,\n 0x62547e46,\n 0x695a774b,\n 0xb0e090d0,\n 0xbbee99dd,\n 0xa6fc82ca,\n 0xadf28bc7,\n 0x9cd8b4e4,\n 0x97d6bde9,\n 0x8ac4a6fe,\n 0x81caaff3,\n 0xe890d8b8,\n 0xe39ed1b5,\n 0xfe8ccaa2,\n 0xf582c3af,\n 0xc4a8fc8c,\n 0xcfa6f581,\n 0xd2b4ee96,\n 0xd9bae79b,\n 0x7bdb3bbb,\n 0x70d532b6,\n 0x6dc729a1,\n 0x66c920ac,\n 0x57e31f8f,\n 0x5ced1682,\n 0x41ff0d95,\n 0x4af10498,\n 0x23ab73d3,\n 0x28a57ade,\n 0x35b761c9,\n 0x3eb968c4,\n 0x0f9357e7,\n 0x049d5eea,\n 0x198f45fd,\n 0x12814cf0,\n 0xcb3bab6b,\n 0xc035a266,\n 0xdd27b971,\n 0xd629b07c,\n 0xe7038f5f,\n 0xec0d8652,\n 0xf11f9d45,\n 0xfa119448,\n 0x934be303,\n 0x9845ea0e,\n 0x8557f119,\n 0x8e59f814,\n 0xbf73c737,\n 0xb47dce3a,\n 0xa96fd52d,\n 0xa261dc20,\n 0xf6ad766d,\n 0xfda37f60,\n 0xe0b16477,\n 0xebbf6d7a,\n 0xda955259,\n 0xd19b5b54,\n 0xcc894043,\n 0xc787494e,\n 0xaedd3e05,\n 0xa5d33708,\n 0xb8c12c1f,\n 0xb3cf2512,\n 0x82e51a31,\n 0x89eb133c,\n 0x94f9082b,\n 0x9ff70126,\n 0x464de6bd,\n 0x4d43efb0,\n 0x5051f4a7,\n 0x5b5ffdaa,\n 0x6a75c289,\n 0x617bcb84,\n 0x7c69d093,\n 0x7767d99e,\n 0x1e3daed5,\n 0x1533a7d8,\n 0x0821bccf,\n 0x032fb5c2,\n 0x32058ae1,\n 0x390b83ec,\n 0x241998fb,\n 0x2f1791f6,\n 0x8d764dd6,\n 0x867844db,\n 0x9b6a5fcc,\n 0x906456c1,\n 0xa14e69e2,\n 0xaa4060ef,\n 0xb7527bf8,\n 0xbc5c72f5,\n 0xd50605be,\n 0xde080cb3,\n 0xc31a17a4,\n 0xc8141ea9,\n 0xf93e218a,\n 0xf2302887,\n 0xef223390,\n 0xe42c3a9d,\n 0x3d96dd06,\n 0x3698d40b,\n 0x2b8acf1c,\n 0x2084c611,\n 0x11aef932,\n 0x1aa0f03f,\n 0x07b2eb28,\n 0x0cbce225,\n 0x65e6956e,\n 0x6ee89c63,\n 0x73fa8774,\n 0x78f48e79,\n 0x49deb15a,\n 0x42d0b857,\n 0x5fc2a340,\n 0x54ccaa4d,\n 0xf741ecda,\n 0xfc4fe5d7,\n 0xe15dfec0,\n 0xea53f7cd,\n 0xdb79c8ee,\n 0xd077c1e3,\n 0xcd65daf4,\n 0xc66bd3f9,\n 0xaf31a4b2,\n 0xa43fadbf,\n 0xb92db6a8,\n 0xb223bfa5,\n 0x83098086,\n 0x8807898b,\n 0x9515929c,\n 0x9e1b9b91,\n 0x47a17c0a,\n 0x4caf7507,\n 0x51bd6e10,\n 0x5ab3671d,\n 0x6b99583e,\n 0x60975133,\n 0x7d854a24,\n 0x768b4329,\n 0x1fd13462,\n 0x14df3d6f,\n 0x09cd2678,\n 0x02c32f75,\n 0x33e91056,\n 0x38e7195b,\n 0x25f5024c,\n 0x2efb0b41,\n 0x8c9ad761,\n 0x8794de6c,\n 0x9a86c57b,\n 0x9188cc76,\n 0xa0a2f355,\n 0xabacfa58,\n 0xb6bee14f,\n 0xbdb0e842,\n 0xd4ea9f09,\n 0xdfe49604,\n 0xc2f68d13,\n 0xc9f8841e,\n 0xf8d2bb3d,\n 0xf3dcb230,\n 0xeecea927,\n 0xe5c0a02a,\n 0x3c7a47b1,\n 0x37744ebc,\n 0x2a6655ab,\n 0x21685ca6,\n 0x10426385,\n 0x1b4c6a88,\n 0x065e719f,\n 0x0d507892,\n 0x640a0fd9,\n 0x6f0406d4,\n 0x72161dc3,\n 0x791814ce,\n 0x48322bed,\n 0x433c22e0,\n 0x5e2e39f7,\n 0x552030fa,\n 0x01ec9ab7,\n 0x0ae293ba,\n 0x17f088ad,\n 0x1cfe81a0,\n 0x2dd4be83,\n 0x26dab78e,\n 0x3bc8ac99,\n 0x30c6a594,\n 0x599cd2df,\n 0x5292dbd2,\n 0x4f80c0c5,\n 0x448ec9c8,\n 0x75a4f6eb,\n 0x7eaaffe6,\n 0x63b8e4f1,\n 0x68b6edfc,\n 0xb10c0a67,\n 0xba02036a,\n 0xa710187d,\n 0xac1e1170,\n 0x9d342e53,\n 0x963a275e,\n 0x8b283c49,\n 0x80263544,\n 0xe97c420f,\n 0xe2724b02,\n 0xff605015,\n 0xf46e5918,\n 0xc544663b,\n 0xce4a6f36,\n 0xd3587421,\n 0xd8567d2c,\n 0x7a37a10c,\n 0x7139a801,\n 0x6c2bb316,\n 0x6725ba1b,\n 0x560f8538,\n 0x5d018c35,\n 0x40139722,\n 0x4b1d9e2f,\n 0x2247e964,\n 0x2949e069,\n 0x345bfb7e,\n 0x3f55f273,\n 0x0e7fcd50,\n 0x0571c45d,\n 0x1863df4a,\n 0x136dd647,\n 0xcad731dc,\n 0xc1d938d1,\n 0xdccb23c6,\n 0xd7c52acb,\n 0xe6ef15e8,\n 0xede11ce5,\n 0xf0f307f2,\n 0xfbfd0eff,\n 0x92a779b4,\n 0x99a970b9,\n 0x84bb6bae,\n 0x8fb562a3,\n 0xbe9f5d80,\n 0xb591548d,\n 0xa8834f9a,\n 0xa38d4697\n ];\n var U3 = [\n 0x00000000,\n 0x0d0b0e09,\n 0x1a161c12,\n 0x171d121b,\n 0x342c3824,\n 0x3927362d,\n 0x2e3a2436,\n 0x23312a3f,\n 0x68587048,\n 0x65537e41,\n 0x724e6c5a,\n 0x7f456253,\n 0x5c74486c,\n 0x517f4665,\n 0x4662547e,\n 0x4b695a77,\n 0xd0b0e090,\n 0xddbbee99,\n 0xcaa6fc82,\n 0xc7adf28b,\n 0xe49cd8b4,\n 0xe997d6bd,\n 0xfe8ac4a6,\n 0xf381caaf,\n 0xb8e890d8,\n 0xb5e39ed1,\n 0xa2fe8cca,\n 0xaff582c3,\n 0x8cc4a8fc,\n 0x81cfa6f5,\n 0x96d2b4ee,\n 0x9bd9bae7,\n 0xbb7bdb3b,\n 0xb670d532,\n 0xa16dc729,\n 0xac66c920,\n 0x8f57e31f,\n 0x825ced16,\n 0x9541ff0d,\n 0x984af104,\n 0xd323ab73,\n 0xde28a57a,\n 0xc935b761,\n 0xc43eb968,\n 0xe70f9357,\n 0xea049d5e,\n 0xfd198f45,\n 0xf012814c,\n 0x6bcb3bab,\n 0x66c035a2,\n 0x71dd27b9,\n 0x7cd629b0,\n 0x5fe7038f,\n 0x52ec0d86,\n 0x45f11f9d,\n 0x48fa1194,\n 0x03934be3,\n 0x0e9845ea,\n 0x198557f1,\n 0x148e59f8,\n 0x37bf73c7,\n 0x3ab47dce,\n 0x2da96fd5,\n 0x20a261dc,\n 0x6df6ad76,\n 0x60fda37f,\n 0x77e0b164,\n 0x7aebbf6d,\n 0x59da9552,\n 0x54d19b5b,\n 0x43cc8940,\n 0x4ec78749,\n 0x05aedd3e,\n 0x08a5d337,\n 0x1fb8c12c,\n 0x12b3cf25,\n 0x3182e51a,\n 0x3c89eb13,\n 0x2b94f908,\n 0x269ff701,\n 0xbd464de6,\n 0xb04d43ef,\n 0xa75051f4,\n 0xaa5b5ffd,\n 0x896a75c2,\n 0x84617bcb,\n 0x937c69d0,\n 0x9e7767d9,\n 0xd51e3dae,\n 0xd81533a7,\n 0xcf0821bc,\n 0xc2032fb5,\n 0xe132058a,\n 0xec390b83,\n 0xfb241998,\n 0xf62f1791,\n 0xd68d764d,\n 0xdb867844,\n 0xcc9b6a5f,\n 0xc1906456,\n 0xe2a14e69,\n 0xefaa4060,\n 0xf8b7527b,\n 0xf5bc5c72,\n 0xbed50605,\n 0xb3de080c,\n 0xa4c31a17,\n 0xa9c8141e,\n 0x8af93e21,\n 0x87f23028,\n 0x90ef2233,\n 0x9de42c3a,\n 0x063d96dd,\n 0x0b3698d4,\n 0x1c2b8acf,\n 0x112084c6,\n 0x3211aef9,\n 0x3f1aa0f0,\n 0x2807b2eb,\n 0x250cbce2,\n 0x6e65e695,\n 0x636ee89c,\n 0x7473fa87,\n 0x7978f48e,\n 0x5a49deb1,\n 0x5742d0b8,\n 0x405fc2a3,\n 0x4d54ccaa,\n 0xdaf741ec,\n 0xd7fc4fe5,\n 0xc0e15dfe,\n 0xcdea53f7,\n 0xeedb79c8,\n 0xe3d077c1,\n 0xf4cd65da,\n 0xf9c66bd3,\n 0xb2af31a4,\n 0xbfa43fad,\n 0xa8b92db6,\n 0xa5b223bf,\n 0x86830980,\n 0x8b880789,\n 0x9c951592,\n 0x919e1b9b,\n 0x0a47a17c,\n 0x074caf75,\n 0x1051bd6e,\n 0x1d5ab367,\n 0x3e6b9958,\n 0x33609751,\n 0x247d854a,\n 0x29768b43,\n 0x621fd134,\n 0x6f14df3d,\n 0x7809cd26,\n 0x7502c32f,\n 0x5633e910,\n 0x5b38e719,\n 0x4c25f502,\n 0x412efb0b,\n 0x618c9ad7,\n 0x6c8794de,\n 0x7b9a86c5,\n 0x769188cc,\n 0x55a0a2f3,\n 0x58abacfa,\n 0x4fb6bee1,\n 0x42bdb0e8,\n 0x09d4ea9f,\n 0x04dfe496,\n 0x13c2f68d,\n 0x1ec9f884,\n 0x3df8d2bb,\n 0x30f3dcb2,\n 0x27eecea9,\n 0x2ae5c0a0,\n 0xb13c7a47,\n 0xbc37744e,\n 0xab2a6655,\n 0xa621685c,\n 0x85104263,\n 0x881b4c6a,\n 0x9f065e71,\n 0x920d5078,\n 0xd9640a0f,\n 0xd46f0406,\n 0xc372161d,\n 0xce791814,\n 0xed48322b,\n 0xe0433c22,\n 0xf75e2e39,\n 0xfa552030,\n 0xb701ec9a,\n 0xba0ae293,\n 0xad17f088,\n 0xa01cfe81,\n 0x832dd4be,\n 0x8e26dab7,\n 0x993bc8ac,\n 0x9430c6a5,\n 0xdf599cd2,\n 0xd25292db,\n 0xc54f80c0,\n 0xc8448ec9,\n 0xeb75a4f6,\n 0xe67eaaff,\n 0xf163b8e4,\n 0xfc68b6ed,\n 0x67b10c0a,\n 0x6aba0203,\n 0x7da71018,\n 0x70ac1e11,\n 0x539d342e,\n 0x5e963a27,\n 0x498b283c,\n 0x44802635,\n 0x0fe97c42,\n 0x02e2724b,\n 0x15ff6050,\n 0x18f46e59,\n 0x3bc54466,\n 0x36ce4a6f,\n 0x21d35874,\n 0x2cd8567d,\n 0x0c7a37a1,\n 0x017139a8,\n 0x166c2bb3,\n 0x1b6725ba,\n 0x38560f85,\n 0x355d018c,\n 0x22401397,\n 0x2f4b1d9e,\n 0x642247e9,\n 0x692949e0,\n 0x7e345bfb,\n 0x733f55f2,\n 0x500e7fcd,\n 0x5d0571c4,\n 0x4a1863df,\n 0x47136dd6,\n 0xdccad731,\n 0xd1c1d938,\n 0xc6dccb23,\n 0xcbd7c52a,\n 0xe8e6ef15,\n 0xe5ede11c,\n 0xf2f0f307,\n 0xfffbfd0e,\n 0xb492a779,\n 0xb999a970,\n 0xae84bb6b,\n 0xa38fb562,\n 0x80be9f5d,\n 0x8db59154,\n 0x9aa8834f,\n 0x97a38d46\n ];\n var U4 = [\n 0x00000000,\n 0x090d0b0e,\n 0x121a161c,\n 0x1b171d12,\n 0x24342c38,\n 0x2d392736,\n 0x362e3a24,\n 0x3f23312a,\n 0x48685870,\n 0x4165537e,\n 0x5a724e6c,\n 0x537f4562,\n 0x6c5c7448,\n 0x65517f46,\n 0x7e466254,\n 0x774b695a,\n 0x90d0b0e0,\n 0x99ddbbee,\n 0x82caa6fc,\n 0x8bc7adf2,\n 0xb4e49cd8,\n 0xbde997d6,\n 0xa6fe8ac4,\n 0xaff381ca,\n 0xd8b8e890,\n 0xd1b5e39e,\n 0xcaa2fe8c,\n 0xc3aff582,\n 0xfc8cc4a8,\n 0xf581cfa6,\n 0xee96d2b4,\n 0xe79bd9ba,\n 0x3bbb7bdb,\n 0x32b670d5,\n 0x29a16dc7,\n 0x20ac66c9,\n 0x1f8f57e3,\n 0x16825ced,\n 0x0d9541ff,\n 0x04984af1,\n 0x73d323ab,\n 0x7ade28a5,\n 0x61c935b7,\n 0x68c43eb9,\n 0x57e70f93,\n 0x5eea049d,\n 0x45fd198f,\n 0x4cf01281,\n 0xab6bcb3b,\n 0xa266c035,\n 0xb971dd27,\n 0xb07cd629,\n 0x8f5fe703,\n 0x8652ec0d,\n 0x9d45f11f,\n 0x9448fa11,\n 0xe303934b,\n 0xea0e9845,\n 0xf1198557,\n 0xf8148e59,\n 0xc737bf73,\n 0xce3ab47d,\n 0xd52da96f,\n 0xdc20a261,\n 0x766df6ad,\n 0x7f60fda3,\n 0x6477e0b1,\n 0x6d7aebbf,\n 0x5259da95,\n 0x5b54d19b,\n 0x4043cc89,\n 0x494ec787,\n 0x3e05aedd,\n 0x3708a5d3,\n 0x2c1fb8c1,\n 0x2512b3cf,\n 0x1a3182e5,\n 0x133c89eb,\n 0x082b94f9,\n 0x01269ff7,\n 0xe6bd464d,\n 0xefb04d43,\n 0xf4a75051,\n 0xfdaa5b5f,\n 0xc2896a75,\n 0xcb84617b,\n 0xd0937c69,\n 0xd99e7767,\n 0xaed51e3d,\n 0xa7d81533,\n 0xbccf0821,\n 0xb5c2032f,\n 0x8ae13205,\n 0x83ec390b,\n 0x98fb2419,\n 0x91f62f17,\n 0x4dd68d76,\n 0x44db8678,\n 0x5fcc9b6a,\n 0x56c19064,\n 0x69e2a14e,\n 0x60efaa40,\n 0x7bf8b752,\n 0x72f5bc5c,\n 0x05bed506,\n 0x0cb3de08,\n 0x17a4c31a,\n 0x1ea9c814,\n 0x218af93e,\n 0x2887f230,\n 0x3390ef22,\n 0x3a9de42c,\n 0xdd063d96,\n 0xd40b3698,\n 0xcf1c2b8a,\n 0xc6112084,\n 0xf93211ae,\n 0xf03f1aa0,\n 0xeb2807b2,\n 0xe2250cbc,\n 0x956e65e6,\n 0x9c636ee8,\n 0x877473fa,\n 0x8e7978f4,\n 0xb15a49de,\n 0xb85742d0,\n 0xa3405fc2,\n 0xaa4d54cc,\n 0xecdaf741,\n 0xe5d7fc4f,\n 0xfec0e15d,\n 0xf7cdea53,\n 0xc8eedb79,\n 0xc1e3d077,\n 0xdaf4cd65,\n 0xd3f9c66b,\n 0xa4b2af31,\n 0xadbfa43f,\n 0xb6a8b92d,\n 0xbfa5b223,\n 0x80868309,\n 0x898b8807,\n 0x929c9515,\n 0x9b919e1b,\n 0x7c0a47a1,\n 0x75074caf,\n 0x6e1051bd,\n 0x671d5ab3,\n 0x583e6b99,\n 0x51336097,\n 0x4a247d85,\n 0x4329768b,\n 0x34621fd1,\n 0x3d6f14df,\n 0x267809cd,\n 0x2f7502c3,\n 0x105633e9,\n 0x195b38e7,\n 0x024c25f5,\n 0x0b412efb,\n 0xd7618c9a,\n 0xde6c8794,\n 0xc57b9a86,\n 0xcc769188,\n 0xf355a0a2,\n 0xfa58abac,\n 0xe14fb6be,\n 0xe842bdb0,\n 0x9f09d4ea,\n 0x9604dfe4,\n 0x8d13c2f6,\n 0x841ec9f8,\n 0xbb3df8d2,\n 0xb230f3dc,\n 0xa927eece,\n 0xa02ae5c0,\n 0x47b13c7a,\n 0x4ebc3774,\n 0x55ab2a66,\n 0x5ca62168,\n 0x63851042,\n 0x6a881b4c,\n 0x719f065e,\n 0x78920d50,\n 0x0fd9640a,\n 0x06d46f04,\n 0x1dc37216,\n 0x14ce7918,\n 0x2bed4832,\n 0x22e0433c,\n 0x39f75e2e,\n 0x30fa5520,\n 0x9ab701ec,\n 0x93ba0ae2,\n 0x88ad17f0,\n 0x81a01cfe,\n 0xbe832dd4,\n 0xb78e26da,\n 0xac993bc8,\n 0xa59430c6,\n 0xd2df599c,\n 0xdbd25292,\n 0xc0c54f80,\n 0xc9c8448e,\n 0xf6eb75a4,\n 0xffe67eaa,\n 0xe4f163b8,\n 0xedfc68b6,\n 0x0a67b10c,\n 0x036aba02,\n 0x187da710,\n 0x1170ac1e,\n 0x2e539d34,\n 0x275e963a,\n 0x3c498b28,\n 0x35448026,\n 0x420fe97c,\n 0x4b02e272,\n 0x5015ff60,\n 0x5918f46e,\n 0x663bc544,\n 0x6f36ce4a,\n 0x7421d358,\n 0x7d2cd856,\n 0xa10c7a37,\n 0xa8017139,\n 0xb3166c2b,\n 0xba1b6725,\n 0x8538560f,\n 0x8c355d01,\n 0x97224013,\n 0x9e2f4b1d,\n 0xe9642247,\n 0xe0692949,\n 0xfb7e345b,\n 0xf2733f55,\n 0xcd500e7f,\n 0xc45d0571,\n 0xdf4a1863,\n 0xd647136d,\n 0x31dccad7,\n 0x38d1c1d9,\n 0x23c6dccb,\n 0x2acbd7c5,\n 0x15e8e6ef,\n 0x1ce5ede1,\n 0x07f2f0f3,\n 0x0efffbfd,\n 0x79b492a7,\n 0x70b999a9,\n 0x6bae84bb,\n 0x62a38fb5,\n 0x5d80be9f,\n 0x548db591,\n 0x4f9aa883,\n 0x4697a38d\n ];\n function convertToInt32(bytes) {\n var result = [];\n for(var i = 0; i < bytes.length; i += 4)result.push(bytes[i] << 24 | bytes[i + 1] << 16 | bytes[i + 2] << 8 | bytes[i + 3]);\n return result;\n }\n var AES = function(key) {\n if (!(this instanceof AES)) throw Error(\"AES must be instanitated with `new`\");\n Object.defineProperty(this, \"key\", {\n value: coerceArray(key, true)\n });\n this._prepare();\n };\n AES.prototype._prepare = function() {\n var rounds = numberOfRounds[this.key.length];\n if (rounds == null) throw new Error(\"invalid key size (must be 16, 24 or 32 bytes)\");\n // encryption round keys\n this._Ke = [];\n // decryption round keys\n this._Kd = [];\n for(var i = 0; i <= rounds; i++){\n this._Ke.push([\n 0,\n 0,\n 0,\n 0\n ]);\n this._Kd.push([\n 0,\n 0,\n 0,\n 0\n ]);\n }\n var roundKeyCount = (rounds + 1) * 4;\n var KC = this.key.length / 4;\n // convert the key into ints\n var tk = convertToInt32(this.key);\n // copy values into round key arrays\n var index;\n for(var i = 0; i < KC; i++){\n index = i >> 2;\n this._Ke[index][i % 4] = tk[i];\n this._Kd[rounds - index][i % 4] = tk[i];\n }\n // key expansion (fips-197 section 5.2)\n var rconpointer = 0;\n var t = KC, tt;\n while(t < roundKeyCount){\n tt = tk[KC - 1];\n tk[0] ^= S[tt >> 16 & 0xFF] << 24 ^ S[tt >> 8 & 0xFF] << 16 ^ S[tt & 0xFF] << 8 ^ S[tt >> 24 & 0xFF] ^ rcon[rconpointer] << 24;\n rconpointer += 1;\n // key expansion (for non-256 bit)\n if (KC != 8) for(var i = 1; i < KC; i++)tk[i] ^= tk[i - 1];\n else {\n for(var i = 1; i < KC / 2; i++)tk[i] ^= tk[i - 1];\n tt = tk[KC / 2 - 1];\n tk[KC / 2] ^= S[tt & 0xFF] ^ S[tt >> 8 & 0xFF] << 8 ^ S[tt >> 16 & 0xFF] << 16 ^ S[tt >> 24 & 0xFF] << 24;\n for(var i = KC / 2 + 1; i < KC; i++)tk[i] ^= tk[i - 1];\n }\n // copy values into round key arrays\n var i = 0, r, c;\n while(i < KC && t < roundKeyCount){\n r = t >> 2;\n c = t % 4;\n this._Ke[r][c] = tk[i];\n this._Kd[rounds - r][c] = tk[i++];\n t++;\n }\n }\n // inverse-cipher-ify the decryption round key (fips-197 section 5.3)\n for(var r = 1; r < rounds; r++)for(var c = 0; c < 4; c++){\n tt = this._Kd[r][c];\n this._Kd[r][c] = U1[tt >> 24 & 0xFF] ^ U2[tt >> 16 & 0xFF] ^ U3[tt >> 8 & 0xFF] ^ U4[tt & 0xFF];\n }\n };\n AES.prototype.encrypt = function(plaintext) {\n if (plaintext.length != 16) throw new Error(\"invalid plaintext size (must be 16 bytes)\");\n var rounds = this._Ke.length - 1;\n var a = [\n 0,\n 0,\n 0,\n 0\n ];\n // convert plaintext to (ints ^ key)\n var t = convertToInt32(plaintext);\n for(var i = 0; i < 4; i++)t[i] ^= this._Ke[0][i];\n // apply round transforms\n for(var r = 1; r < rounds; r++){\n for(var i = 0; i < 4; i++)a[i] = T1[t[i] >> 24 & 0xff] ^ T2[t[(i + 1) % 4] >> 16 & 0xff] ^ T3[t[(i + 2) % 4] >> 8 & 0xff] ^ T4[t[(i + 3) % 4] & 0xff] ^ this._Ke[r][i];\n t = a.slice();\n }\n // the last round is special\n var result = createArray(16), tt;\n for(var i = 0; i < 4; i++){\n tt = this._Ke[rounds][i];\n result[4 * i] = (S[t[i] >> 24 & 0xff] ^ tt >> 24) & 0xff;\n result[4 * i + 1] = (S[t[(i + 1) % 4] >> 16 & 0xff] ^ tt >> 16) & 0xff;\n result[4 * i + 2] = (S[t[(i + 2) % 4] >> 8 & 0xff] ^ tt >> 8) & 0xff;\n result[4 * i + 3] = (S[t[(i + 3) % 4] & 0xff] ^ tt) & 0xff;\n }\n return result;\n };\n AES.prototype.decrypt = function(ciphertext) {\n if (ciphertext.length != 16) throw new Error(\"invalid ciphertext size (must be 16 bytes)\");\n var rounds = this._Kd.length - 1;\n var a = [\n 0,\n 0,\n 0,\n 0\n ];\n // convert plaintext to (ints ^ key)\n var t = convertToInt32(ciphertext);\n for(var i = 0; i < 4; i++)t[i] ^= this._Kd[0][i];\n // apply round transforms\n for(var r = 1; r < rounds; r++){\n for(var i = 0; i < 4; i++)a[i] = T5[t[i] >> 24 & 0xff] ^ T6[t[(i + 3) % 4] >> 16 & 0xff] ^ T7[t[(i + 2) % 4] >> 8 & 0xff] ^ T8[t[(i + 1) % 4] & 0xff] ^ this._Kd[r][i];\n t = a.slice();\n }\n // the last round is special\n var result = createArray(16), tt;\n for(var i = 0; i < 4; i++){\n tt = this._Kd[rounds][i];\n result[4 * i] = (Si[t[i] >> 24 & 0xff] ^ tt >> 24) & 0xff;\n result[4 * i + 1] = (Si[t[(i + 3) % 4] >> 16 & 0xff] ^ tt >> 16) & 0xff;\n result[4 * i + 2] = (Si[t[(i + 2) % 4] >> 8 & 0xff] ^ tt >> 8) & 0xff;\n result[4 * i + 3] = (Si[t[(i + 1) % 4] & 0xff] ^ tt) & 0xff;\n }\n return result;\n };\n /**\n * Mode Of Operation - Electonic Codebook (ECB)\n */ var ModeOfOperationECB = function(key) {\n if (!(this instanceof ModeOfOperationECB)) throw Error(\"AES must be instanitated with `new`\");\n this.description = \"Electronic Code Block\";\n this.name = \"ecb\";\n this._aes = new AES(key);\n };\n ModeOfOperationECB.prototype.encrypt = function(plaintext) {\n plaintext = coerceArray(plaintext);\n if (plaintext.length % 16 !== 0) throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");\n var ciphertext = createArray(plaintext.length);\n var block = createArray(16);\n for(var i = 0; i < plaintext.length; i += 16){\n copyArray(plaintext, block, 0, i, i + 16);\n block = this._aes.encrypt(block);\n copyArray(block, ciphertext, i);\n }\n return ciphertext;\n };\n ModeOfOperationECB.prototype.decrypt = function(ciphertext) {\n ciphertext = coerceArray(ciphertext);\n if (ciphertext.length % 16 !== 0) throw new Error(\"invalid ciphertext size (must be multiple of 16 bytes)\");\n var plaintext = createArray(ciphertext.length);\n var block = createArray(16);\n for(var i = 0; i < ciphertext.length; i += 16){\n copyArray(ciphertext, block, 0, i, i + 16);\n block = this._aes.decrypt(block);\n copyArray(block, plaintext, i);\n }\n return plaintext;\n };\n /**\n * Mode Of Operation - Cipher Block Chaining (CBC)\n */ var ModeOfOperationCBC = function(key, iv) {\n if (!(this instanceof ModeOfOperationCBC)) throw Error(\"AES must be instanitated with `new`\");\n this.description = \"Cipher Block Chaining\";\n this.name = \"cbc\";\n if (!iv) iv = createArray(16);\n else if (iv.length != 16) throw new Error(\"invalid initialation vector size (must be 16 bytes)\");\n this._lastCipherblock = coerceArray(iv, true);\n this._aes = new AES(key);\n };\n ModeOfOperationCBC.prototype.encrypt = function(plaintext) {\n plaintext = coerceArray(plaintext);\n if (plaintext.length % 16 !== 0) throw new Error(\"invalid plaintext size (must be multiple of 16 bytes)\");\n var ciphertext = createArray(plaintext.length);\n var block = createArray(16);\n for(var i = 0; i < plaintext.length; i += 16){\n copyArray(plaintext, block, 0, i, i + 16);\n for(var j = 0; j < 16; j++)block[j] ^= this._lastCipherblock[j];\n this._lastCipherblock = this._aes.encrypt(block);\n copyArray(this._lastCipherblock, ciphertext, i);\n }\n return ciphertext;\n };\n ModeOfOperationCBC.prototype.decrypt = function(ciphertext) {\n ciphertext = coerceArray(ciphertext);\n if (ciphertext.length % 16 !== 0) throw new Error(\"invalid ciphertext size (must be multiple of 16 bytes)\");\n var plaintext = createArray(ciphertext.length);\n var block = createArray(16);\n for(var i = 0; i < ciphertext.length; i += 16){\n copyArray(ciphertext, block, 0, i, i + 16);\n block = this._aes.decrypt(block);\n for(var j = 0; j < 16; j++)plaintext[i + j] = block[j] ^ this._lastCipherblock[j];\n copyArray(ciphertext, this._lastCipherblock, 0, i, i + 16);\n }\n return plaintext;\n };\n /**\n * Mode Of Operation - Cipher Feedback (CFB)\n */ var ModeOfOperationCFB = function(key, iv, segmentSize) {\n if (!(this instanceof ModeOfOperationCFB)) throw Error(\"AES must be instanitated with `new`\");\n this.description = \"Cipher Feedback\";\n this.name = \"cfb\";\n if (!iv) iv = createArray(16);\n else if (iv.length != 16) throw new Error(\"invalid initialation vector size (must be 16 size)\");\n if (!segmentSize) segmentSize = 1;\n this.segmentSize = segmentSize;\n this._shiftRegister = coerceArray(iv, true);\n this._aes = new AES(key);\n };\n ModeOfOperationCFB.prototype.encrypt = function(plaintext) {\n if (plaintext.length % this.segmentSize != 0) throw new Error(\"invalid plaintext size (must be segmentSize bytes)\");\n var encrypted = coerceArray(plaintext, true);\n var xorSegment;\n for(var i = 0; i < encrypted.length; i += this.segmentSize){\n xorSegment = this._aes.encrypt(this._shiftRegister);\n for(var j = 0; j < this.segmentSize; j++)encrypted[i + j] ^= xorSegment[j];\n // Shift the register\n copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);\n copyArray(encrypted, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);\n }\n return encrypted;\n };\n ModeOfOperationCFB.prototype.decrypt = function(ciphertext) {\n if (ciphertext.length % this.segmentSize != 0) throw new Error(\"invalid ciphertext size (must be segmentSize bytes)\");\n var plaintext = coerceArray(ciphertext, true);\n var xorSegment;\n for(var i = 0; i < plaintext.length; i += this.segmentSize){\n xorSegment = this._aes.encrypt(this._shiftRegister);\n for(var j = 0; j < this.segmentSize; j++)plaintext[i + j] ^= xorSegment[j];\n // Shift the register\n copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);\n copyArray(ciphertext, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);\n }\n return plaintext;\n };\n /**\n * Mode Of Operation - Output Feedback (OFB)\n */ var ModeOfOperationOFB = function(key, iv) {\n if (!(this instanceof ModeOfOperationOFB)) throw Error(\"AES must be instanitated with `new`\");\n this.description = \"Output Feedback\";\n this.name = \"ofb\";\n if (!iv) iv = createArray(16);\n else if (iv.length != 16) throw new Error(\"invalid initialation vector size (must be 16 bytes)\");\n this._lastPrecipher = coerceArray(iv, true);\n this._lastPrecipherIndex = 16;\n this._aes = new AES(key);\n };\n ModeOfOperationOFB.prototype.encrypt = function(plaintext) {\n var encrypted = coerceArray(plaintext, true);\n for(var i = 0; i < encrypted.length; i++){\n if (this._lastPrecipherIndex === 16) {\n this._lastPrecipher = this._aes.encrypt(this._lastPrecipher);\n this._lastPrecipherIndex = 0;\n }\n encrypted[i] ^= this._lastPrecipher[this._lastPrecipherIndex++];\n }\n return encrypted;\n };\n // Decryption is symetric\n ModeOfOperationOFB.prototype.decrypt = ModeOfOperationOFB.prototype.encrypt;\n /**\n * Counter object for CTR common mode of operation\n */ var Counter = function(initialValue) {\n if (!(this instanceof Counter)) throw Error(\"Counter must be instanitated with `new`\");\n // We allow 0, but anything false-ish uses the default 1\n if (initialValue !== 0 && !initialValue) initialValue = 1;\n if (typeof initialValue === \"number\") {\n this._counter = createArray(16);\n this.setValue(initialValue);\n } else this.setBytes(initialValue);\n };\n Counter.prototype.setValue = function(value) {\n if (typeof value !== \"number\" || parseInt(value) != value) throw new Error(\"invalid counter value (must be an integer)\");\n for(var index = 15; index >= 0; --index){\n this._counter[index] = value % 256;\n value = value >> 8;\n }\n };\n Counter.prototype.setBytes = function(bytes) {\n bytes = coerceArray(bytes, true);\n if (bytes.length != 16) throw new Error(\"invalid counter bytes size (must be 16 bytes)\");\n this._counter = bytes;\n };\n Counter.prototype.increment = function() {\n for(var i = 15; i >= 0; i--)if (this._counter[i] === 255) this._counter[i] = 0;\n else {\n this._counter[i]++;\n break;\n }\n };\n /**\n * Mode Of Operation - Counter (CTR)\n */ var ModeOfOperationCTR = function(key, counter) {\n if (!(this instanceof ModeOfOperationCTR)) throw Error(\"AES must be instanitated with `new`\");\n this.description = \"Counter\";\n this.name = \"ctr\";\n if (!(counter instanceof Counter)) counter = new Counter(counter);\n this._counter = counter;\n this._remainingCounter = null;\n this._remainingCounterIndex = 16;\n this._aes = new AES(key);\n };\n ModeOfOperationCTR.prototype.encrypt = function(plaintext) {\n var encrypted = coerceArray(plaintext, true);\n for(var i = 0; i < encrypted.length; i++){\n if (this._remainingCounterIndex === 16) {\n this._remainingCounter = this._aes.encrypt(this._counter._counter);\n this._remainingCounterIndex = 0;\n this._counter.increment();\n }\n encrypted[i] ^= this._remainingCounter[this._remainingCounterIndex++];\n }\n return encrypted;\n };\n // Decryption is symetric\n ModeOfOperationCTR.prototype.decrypt = ModeOfOperationCTR.prototype.encrypt;\n ///////////////////////\n // Padding\n // See:https://tools.ietf.org/html/rfc2315\n function pkcs7pad(data) {\n data = coerceArray(data, true);\n var padder = 16 - data.length % 16;\n var result = createArray(data.length + padder);\n copyArray(data, result);\n for(var i = data.length; i < result.length; i++)result[i] = padder;\n return result;\n }\n function pkcs7strip(data) {\n data = coerceArray(data, true);\n if (data.length < 16) throw new Error(\"PKCS#7 invalid length\");\n var padder = data[data.length - 1];\n if (padder > 16) throw new Error(\"PKCS#7 padding byte out of range\");\n var length = data.length - padder;\n for(var i = 0; i < padder; i++){\n if (data[length + i] !== padder) throw new Error(\"PKCS#7 invalid padding byte\");\n }\n var result = createArray(length);\n copyArray(data, result, 0, 0, length);\n return result;\n }\n ///////////////////////\n // Exporting\n // The block cipher\n var aesjs = {\n AES: AES,\n Counter: Counter,\n ModeOfOperation: {\n ecb: ModeOfOperationECB,\n cbc: ModeOfOperationCBC,\n cfb: ModeOfOperationCFB,\n ofb: ModeOfOperationOFB,\n ctr: ModeOfOperationCTR\n },\n utils: {\n hex: convertHex,\n utf8: convertUtf8\n },\n padding: {\n pkcs7: {\n pad: pkcs7pad,\n strip: pkcs7strip\n }\n },\n _arrayTest: {\n coerceArray: coerceArray,\n createArray: createArray,\n copyArray: copyArray\n }\n };\n module.exports = aesjs;\n})(module.exports);\n\n});\n\nparcelRequire.register(\"3HJiH\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $2b288706101a2813$export$83d89fbfd8236492);\nconst $2b288706101a2813$export$83d89fbfd8236492 = \"json-wallets/5.7.0\";\n\n});\n\nparcelRequire.register(\"8n0t3\", function(module, exports) {\n\n$parcel$export(module.exports, \"looseArrayify\", () => $6180d5962b5fb34a$export$2cde08bde0cfd932);\n$parcel$export(module.exports, \"zpad\", () => $6180d5962b5fb34a$export$67752b99d3bc61c6);\n$parcel$export(module.exports, \"getPassword\", () => $6180d5962b5fb34a$export$350bd33120f7413e);\n$parcel$export(module.exports, \"searchPath\", () => $6180d5962b5fb34a$export$5a5c1dbd910e2c32);\n$parcel$export(module.exports, \"uuidV4\", () => $6180d5962b5fb34a$export$ec7b18ebad55a3a9);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\n\"use strict\";\nfunction $6180d5962b5fb34a$export$2cde08bde0cfd932(hexString) {\n if (typeof hexString === \"string\" && hexString.substring(0, 2) !== \"0x\") hexString = \"0x\" + hexString;\n return (0, $aBzgs.arrayify)(hexString);\n}\nfunction $6180d5962b5fb34a$export$67752b99d3bc61c6(value, length) {\n value = String(value);\n while(value.length < length)value = \"0\" + value;\n return value;\n}\nfunction $6180d5962b5fb34a$export$350bd33120f7413e(password) {\n if (typeof password === \"string\") return (0, $fkVsY.toUtf8Bytes)(password, (0, $fkVsY.UnicodeNormalizationForm).NFKC);\n return (0, $aBzgs.arrayify)(password);\n}\nfunction $6180d5962b5fb34a$export$5a5c1dbd910e2c32(object, path) {\n let currentChild = object;\n const comps = path.toLowerCase().split(\"/\");\n for(let i = 0; i < comps.length; i++){\n // Search for a child object with a case-insensitive matching key\n let matchingChild = null;\n for(const key in currentChild)if (key.toLowerCase() === comps[i]) {\n matchingChild = currentChild[key];\n break;\n }\n // Didn't find one. :'(\n if (matchingChild === null) return null;\n // Now check this child...\n currentChild = matchingChild;\n }\n return currentChild;\n}\nfunction $6180d5962b5fb34a$export$ec7b18ebad55a3a9(randomBytes) {\n const bytes = (0, $aBzgs.arrayify)(randomBytes);\n // Section: 4.1.3:\n // - time_hi_and_version[12:16] = 0b0100\n bytes[6] = bytes[6] & 0x0f | 0x40;\n // Section 4.4\n // - clock_seq_hi_and_reserved[6] = 0b0\n // - clock_seq_hi_and_reserved[7] = 0b1\n bytes[8] = bytes[8] & 0x3f | 0x80;\n const value = (0, $aBzgs.hexlify)(bytes);\n return [\n value.substring(2, 10),\n value.substring(10, 14),\n value.substring(14, 18),\n value.substring(18, 22),\n value.substring(22, 34)\n ].join(\"-\");\n}\n\n});\n\n\nparcelRequire.register(\"2tHbK\", function(module, exports) {\n\n$parcel$export(module.exports, \"decryptSync\", () => $1cdfca8f3ea9db41$export$9bd2c37889ee5e36);\n$parcel$export(module.exports, \"decrypt\", () => $1cdfca8f3ea9db41$export$e85a0c9a1067c5d3);\n$parcel$export(module.exports, \"encrypt\", () => $1cdfca8f3ea9db41$export$5b0f6292f11d1d18);\n\nvar $jcj12 = parcelRequire(\"jcj12\");\n\nvar $innAd = parcelRequire(\"innAd\");\n\nvar $bVwUc = parcelRequire(\"bVwUc\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $iyMjQ = parcelRequire(\"iyMjQ\");\n\nvar $2yhyU = parcelRequire(\"2yhyU\");\n\nvar $76ZnQ = parcelRequire(\"76ZnQ\");\n\nvar $hWtVn = parcelRequire(\"hWtVn\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $TyNFl = parcelRequire(\"TyNFl\");\n\nvar $8n0t3 = parcelRequire(\"8n0t3\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $3HJiH = parcelRequire(\"3HJiH\");\n\"use strict\";\nvar $1cdfca8f3ea9db41$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $1cdfca8f3ea9db41$var$logger = new (0, $d1hml.Logger)((0, $3HJiH.version));\n// Exported Types\nfunction $1cdfca8f3ea9db41$var$hasMnemonic(value) {\n return value != null && value.mnemonic && value.mnemonic.phrase;\n}\nclass $1cdfca8f3ea9db41$export$cf9dc4fd6dde0315 extends (0, $e72ut.Description) {\n isKeystoreAccount(value) {\n return !!(value && value._isKeystoreAccount);\n }\n}\nfunction $1cdfca8f3ea9db41$var$_decrypt(data, key, ciphertext) {\n const cipher = (0, $8n0t3.searchPath)(data, \"crypto/cipher\");\n if (cipher === \"aes-128-ctr\") {\n const iv = (0, $8n0t3.looseArrayify)((0, $8n0t3.searchPath)(data, \"crypto/cipherparams/iv\"));\n const counter = new (0, (/*@__PURE__*/$parcel$interopDefault($jcj12))).Counter(iv);\n const aesCtr = new (0, (/*@__PURE__*/$parcel$interopDefault($jcj12))).ModeOfOperation.ctr(key, counter);\n return (0, $aBzgs.arrayify)(aesCtr.decrypt(ciphertext));\n }\n return null;\n}\nfunction $1cdfca8f3ea9db41$var$_getAccount(data, key) {\n const ciphertext = (0, $8n0t3.looseArrayify)((0, $8n0t3.searchPath)(data, \"crypto/ciphertext\"));\n const computedMAC = (0, $aBzgs.hexlify)((0, $2yhyU.keccak256)((0, $aBzgs.concat)([\n key.slice(16, 32),\n ciphertext\n ]))).substring(2);\n if (computedMAC !== (0, $8n0t3.searchPath)(data, \"crypto/mac\").toLowerCase()) throw new Error(\"invalid password\");\n const privateKey = $1cdfca8f3ea9db41$var$_decrypt(data, key.slice(0, 16), ciphertext);\n if (!privateKey) $1cdfca8f3ea9db41$var$logger.throwError(\"unsupported cipher\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"decrypt\"\n });\n const mnemonicKey = key.slice(32, 64);\n const address = (0, $TyNFl.computeAddress)(privateKey);\n if (data.address) {\n let check = data.address.toLowerCase();\n if (check.substring(0, 2) !== \"0x\") check = \"0x\" + check;\n if ((0, $bVwUc.getAddress)(check) !== address) throw new Error(\"address mismatch\");\n }\n const account = {\n _isKeystoreAccount: true,\n address: address,\n privateKey: (0, $aBzgs.hexlify)(privateKey)\n };\n // Version 0.1 x-ethers metadata must contain an encrypted mnemonic phrase\n if ((0, $8n0t3.searchPath)(data, \"x-ethers/version\") === \"0.1\") {\n const mnemonicCiphertext = (0, $8n0t3.looseArrayify)((0, $8n0t3.searchPath)(data, \"x-ethers/mnemonicCiphertext\"));\n const mnemonicIv = (0, $8n0t3.looseArrayify)((0, $8n0t3.searchPath)(data, \"x-ethers/mnemonicCounter\"));\n const mnemonicCounter = new (0, (/*@__PURE__*/$parcel$interopDefault($jcj12))).Counter(mnemonicIv);\n const mnemonicAesCtr = new (0, (/*@__PURE__*/$parcel$interopDefault($jcj12))).ModeOfOperation.ctr(mnemonicKey, mnemonicCounter);\n const path = (0, $8n0t3.searchPath)(data, \"x-ethers/path\") || (0, $iyMjQ.defaultPath);\n const locale = (0, $8n0t3.searchPath)(data, \"x-ethers/locale\") || \"en\";\n const entropy = (0, $aBzgs.arrayify)(mnemonicAesCtr.decrypt(mnemonicCiphertext));\n try {\n const mnemonic = (0, $iyMjQ.entropyToMnemonic)(entropy, locale);\n const node = (0, $iyMjQ.HDNode).fromMnemonic(mnemonic, null, locale).derivePath(path);\n if (node.privateKey != account.privateKey) throw new Error(\"mnemonic mismatch\");\n account.mnemonic = node.mnemonic;\n } catch (error) {\n // If we don't have the locale wordlist installed to\n // read this mnemonic, just bail and don't set the\n // mnemonic\n if (error.code !== (0, $d1hml.Logger).errors.INVALID_ARGUMENT || error.argument !== \"wordlist\") throw error;\n }\n }\n return new $1cdfca8f3ea9db41$export$cf9dc4fd6dde0315(account);\n}\nfunction $1cdfca8f3ea9db41$var$pbkdf2Sync(passwordBytes, salt, count, dkLen, prfFunc) {\n return (0, $aBzgs.arrayify)((0, $76ZnQ.pbkdf2)(passwordBytes, salt, count, dkLen, prfFunc));\n}\nfunction $1cdfca8f3ea9db41$var$pbkdf2(passwordBytes, salt, count, dkLen, prfFunc) {\n return Promise.resolve($1cdfca8f3ea9db41$var$pbkdf2Sync(passwordBytes, salt, count, dkLen, prfFunc));\n}\nfunction $1cdfca8f3ea9db41$var$_computeKdfKey(data, password, pbkdf2Func, scryptFunc, progressCallback) {\n const passwordBytes = (0, $8n0t3.getPassword)(password);\n const kdf = (0, $8n0t3.searchPath)(data, \"crypto/kdf\");\n if (kdf && typeof kdf === \"string\") {\n const throwError = function(name, value) {\n return $1cdfca8f3ea9db41$var$logger.throwArgumentError(\"invalid key-derivation function parameters\", name, value);\n };\n if (kdf.toLowerCase() === \"scrypt\") {\n const salt = (0, $8n0t3.looseArrayify)((0, $8n0t3.searchPath)(data, \"crypto/kdfparams/salt\"));\n const N = parseInt((0, $8n0t3.searchPath)(data, \"crypto/kdfparams/n\"));\n const r = parseInt((0, $8n0t3.searchPath)(data, \"crypto/kdfparams/r\"));\n const p = parseInt((0, $8n0t3.searchPath)(data, \"crypto/kdfparams/p\"));\n // Check for all required parameters\n if (!N || !r || !p) throwError(\"kdf\", kdf);\n // Make sure N is a power of 2\n if ((N & N - 1) !== 0) throwError(\"N\", N);\n const dkLen = parseInt((0, $8n0t3.searchPath)(data, \"crypto/kdfparams/dklen\"));\n if (dkLen !== 32) throwError(\"dklen\", dkLen);\n return scryptFunc(passwordBytes, salt, N, r, p, 64, progressCallback);\n } else if (kdf.toLowerCase() === \"pbkdf2\") {\n const salt = (0, $8n0t3.looseArrayify)((0, $8n0t3.searchPath)(data, \"crypto/kdfparams/salt\"));\n let prfFunc = null;\n const prf = (0, $8n0t3.searchPath)(data, \"crypto/kdfparams/prf\");\n if (prf === \"hmac-sha256\") prfFunc = \"sha256\";\n else if (prf === \"hmac-sha512\") prfFunc = \"sha512\";\n else throwError(\"prf\", prf);\n const count = parseInt((0, $8n0t3.searchPath)(data, \"crypto/kdfparams/c\"));\n const dkLen = parseInt((0, $8n0t3.searchPath)(data, \"crypto/kdfparams/dklen\"));\n if (dkLen !== 32) throwError(\"dklen\", dkLen);\n return pbkdf2Func(passwordBytes, salt, count, dkLen, prfFunc);\n }\n }\n return $1cdfca8f3ea9db41$var$logger.throwArgumentError(\"unsupported key-derivation function\", \"kdf\", kdf);\n}\nfunction $1cdfca8f3ea9db41$export$9bd2c37889ee5e36(json, password) {\n const data = JSON.parse(json);\n const key = $1cdfca8f3ea9db41$var$_computeKdfKey(data, password, $1cdfca8f3ea9db41$var$pbkdf2Sync, (0, (/*@__PURE__*/$parcel$interopDefault($innAd))).syncScrypt);\n return $1cdfca8f3ea9db41$var$_getAccount(data, key);\n}\nfunction $1cdfca8f3ea9db41$export$e85a0c9a1067c5d3(json, password, progressCallback) {\n return $1cdfca8f3ea9db41$var$__awaiter(this, void 0, void 0, function*() {\n const data = JSON.parse(json);\n const key = yield $1cdfca8f3ea9db41$var$_computeKdfKey(data, password, $1cdfca8f3ea9db41$var$pbkdf2, (0, (/*@__PURE__*/$parcel$interopDefault($innAd))).scrypt, progressCallback);\n return $1cdfca8f3ea9db41$var$_getAccount(data, key);\n });\n}\nfunction $1cdfca8f3ea9db41$export$5b0f6292f11d1d18(account, password, options, progressCallback) {\n try {\n // Check the address matches the private key\n if ((0, $bVwUc.getAddress)(account.address) !== (0, $TyNFl.computeAddress)(account.privateKey)) throw new Error(\"address/privateKey mismatch\");\n // Check the mnemonic (if any) matches the private key\n if ($1cdfca8f3ea9db41$var$hasMnemonic(account)) {\n const mnemonic = account.mnemonic;\n const node = (0, $iyMjQ.HDNode).fromMnemonic(mnemonic.phrase, null, mnemonic.locale).derivePath(mnemonic.path || (0, $iyMjQ.defaultPath));\n if (node.privateKey != account.privateKey) throw new Error(\"mnemonic mismatch\");\n }\n } catch (e) {\n return Promise.reject(e);\n }\n // The options are optional, so adjust the call as needed\n if (typeof options === \"function\" && !progressCallback) {\n progressCallback = options;\n options = {};\n }\n if (!options) options = {};\n const privateKey = (0, $aBzgs.arrayify)(account.privateKey);\n const passwordBytes = (0, $8n0t3.getPassword)(password);\n let entropy = null;\n let path = null;\n let locale = null;\n if ($1cdfca8f3ea9db41$var$hasMnemonic(account)) {\n const srcMnemonic = account.mnemonic;\n entropy = (0, $aBzgs.arrayify)((0, $iyMjQ.mnemonicToEntropy)(srcMnemonic.phrase, srcMnemonic.locale || \"en\"));\n path = srcMnemonic.path || (0, $iyMjQ.defaultPath);\n locale = srcMnemonic.locale || \"en\";\n }\n let client = options.client;\n if (!client) client = \"ethers.js\";\n // Check/generate the salt\n let salt = null;\n if (options.salt) salt = (0, $aBzgs.arrayify)(options.salt);\n else salt = (0, $hWtVn.randomBytes)(32);\n // Override initialization vector\n let iv = null;\n if (options.iv) {\n iv = (0, $aBzgs.arrayify)(options.iv);\n if (iv.length !== 16) throw new Error(\"invalid iv\");\n } else iv = (0, $hWtVn.randomBytes)(16);\n // Override the uuid\n let uuidRandom = null;\n if (options.uuid) {\n uuidRandom = (0, $aBzgs.arrayify)(options.uuid);\n if (uuidRandom.length !== 16) throw new Error(\"invalid uuid\");\n } else uuidRandom = (0, $hWtVn.randomBytes)(16);\n // Override the scrypt password-based key derivation function parameters\n let N = 131072, r = 8, p = 1;\n if (options.scrypt) {\n if (options.scrypt.N) N = options.scrypt.N;\n if (options.scrypt.r) r = options.scrypt.r;\n if (options.scrypt.p) p = options.scrypt.p;\n }\n // We take 64 bytes:\n // - 32 bytes As normal for the Web3 secret storage (derivedKey, macPrefix)\n // - 32 bytes AES key to encrypt mnemonic with (required here to be Ethers Wallet)\n return (0, (/*@__PURE__*/$parcel$interopDefault($innAd))).scrypt(passwordBytes, salt, N, r, p, 64, progressCallback).then((key)=>{\n key = (0, $aBzgs.arrayify)(key);\n // This will be used to encrypt the wallet (as per Web3 secret storage)\n const derivedKey = key.slice(0, 16);\n const macPrefix = key.slice(16, 32);\n // This will be used to encrypt the mnemonic phrase (if any)\n const mnemonicKey = key.slice(32, 64);\n // Encrypt the private key\n const counter = new (0, (/*@__PURE__*/$parcel$interopDefault($jcj12))).Counter(iv);\n const aesCtr = new (0, (/*@__PURE__*/$parcel$interopDefault($jcj12))).ModeOfOperation.ctr(derivedKey, counter);\n const ciphertext = (0, $aBzgs.arrayify)(aesCtr.encrypt(privateKey));\n // Compute the message authentication code, used to check the password\n const mac = (0, $2yhyU.keccak256)((0, $aBzgs.concat)([\n macPrefix,\n ciphertext\n ]));\n // See: https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition\n const data = {\n address: account.address.substring(2).toLowerCase(),\n id: (0, $8n0t3.uuidV4)(uuidRandom),\n version: 3,\n crypto: {\n cipher: \"aes-128-ctr\",\n cipherparams: {\n iv: (0, $aBzgs.hexlify)(iv).substring(2)\n },\n ciphertext: (0, $aBzgs.hexlify)(ciphertext).substring(2),\n kdf: \"scrypt\",\n kdfparams: {\n salt: (0, $aBzgs.hexlify)(salt).substring(2),\n n: N,\n dklen: 32,\n p: p,\n r: r\n },\n mac: mac.substring(2)\n }\n };\n // If we have a mnemonic, encrypt it into the JSON wallet\n if (entropy) {\n const mnemonicIv = (0, $hWtVn.randomBytes)(16);\n const mnemonicCounter = new (0, (/*@__PURE__*/$parcel$interopDefault($jcj12))).Counter(mnemonicIv);\n const mnemonicAesCtr = new (0, (/*@__PURE__*/$parcel$interopDefault($jcj12))).ModeOfOperation.ctr(mnemonicKey, mnemonicCounter);\n const mnemonicCiphertext = (0, $aBzgs.arrayify)(mnemonicAesCtr.encrypt(entropy));\n const now = new Date();\n const timestamp = now.getUTCFullYear() + \"-\" + (0, $8n0t3.zpad)(now.getUTCMonth() + 1, 2) + \"-\" + (0, $8n0t3.zpad)(now.getUTCDate(), 2) + \"T\" + (0, $8n0t3.zpad)(now.getUTCHours(), 2) + \"-\" + (0, $8n0t3.zpad)(now.getUTCMinutes(), 2) + \"-\" + (0, $8n0t3.zpad)(now.getUTCSeconds(), 2) + \".0Z\";\n data[\"x-ethers\"] = {\n client: client,\n gethFilename: \"UTC--\" + timestamp + \"--\" + data.address,\n mnemonicCounter: (0, $aBzgs.hexlify)(mnemonicIv).substring(2),\n mnemonicCiphertext: (0, $aBzgs.hexlify)(mnemonicCiphertext).substring(2),\n path: path,\n locale: locale,\n version: \"0.1\"\n };\n }\n return JSON.stringify(data);\n });\n}\n\n});\nparcelRequire.register(\"innAd\", function(module, exports) {\n\"use strict\";\n(function(root) {\n const MAX_VALUE = 0x7fffffff;\n // The SHA256 and PBKDF2 implementation are from scrypt-async-js:\n // See: https://github.com/dchest/scrypt-async-js\n function SHA256(m) {\n const K = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n ]);\n let h0 = 0x6a09e667, h1 = 0xbb67ae85, h2 = 0x3c6ef372, h3 = 0xa54ff53a;\n let h4 = 0x510e527f, h5 = 0x9b05688c, h6 = 0x1f83d9ab, h7 = 0x5be0cd19;\n const w = new Uint32Array(64);\n function blocks(p) {\n let off = 0, len = p.length;\n while(len >= 64){\n let a = h0, b = h1, c = h2, d = h3, e = h4, f = h5, g = h6, h = h7, u, i, j, t1, t2;\n for(i = 0; i < 16; i++){\n j = off + i * 4;\n w[i] = (p[j] & 0xff) << 24 | (p[j + 1] & 0xff) << 16 | (p[j + 2] & 0xff) << 8 | p[j + 3] & 0xff;\n }\n for(i = 16; i < 64; i++){\n u = w[i - 2];\n t1 = (u >>> 17 | u << 15) ^ (u >>> 19 | u << 13) ^ u >>> 10;\n u = w[i - 15];\n t2 = (u >>> 7 | u << 25) ^ (u >>> 18 | u << 14) ^ u >>> 3;\n w[i] = (t1 + w[i - 7] | 0) + (t2 + w[i - 16] | 0) | 0;\n }\n for(i = 0; i < 64; i++){\n t1 = (((e >>> 6 | e << 26) ^ (e >>> 11 | e << 21) ^ (e >>> 25 | e << 7)) + (e & f ^ ~e & g) | 0) + (h + (K[i] + w[i] | 0) | 0) | 0;\n t2 = ((a >>> 2 | a << 30) ^ (a >>> 13 | a << 19) ^ (a >>> 22 | a << 10)) + (a & b ^ a & c ^ b & c) | 0;\n h = g;\n g = f;\n f = e;\n e = d + t1 | 0;\n d = c;\n c = b;\n b = a;\n a = t1 + t2 | 0;\n }\n h0 = h0 + a | 0;\n h1 = h1 + b | 0;\n h2 = h2 + c | 0;\n h3 = h3 + d | 0;\n h4 = h4 + e | 0;\n h5 = h5 + f | 0;\n h6 = h6 + g | 0;\n h7 = h7 + h | 0;\n off += 64;\n len -= 64;\n }\n }\n blocks(m);\n let i, bytesLeft = m.length % 64, bitLenHi = m.length / 0x20000000 | 0, bitLenLo = m.length << 3, numZeros = bytesLeft < 56 ? 56 : 120, p = m.slice(m.length - bytesLeft, m.length);\n p.push(0x80);\n for(i = bytesLeft + 1; i < numZeros; i++)p.push(0);\n p.push(bitLenHi >>> 24 & 0xff);\n p.push(bitLenHi >>> 16 & 0xff);\n p.push(bitLenHi >>> 8 & 0xff);\n p.push(bitLenHi >>> 0 & 0xff);\n p.push(bitLenLo >>> 24 & 0xff);\n p.push(bitLenLo >>> 16 & 0xff);\n p.push(bitLenLo >>> 8 & 0xff);\n p.push(bitLenLo >>> 0 & 0xff);\n blocks(p);\n return [\n h0 >>> 24 & 0xff,\n h0 >>> 16 & 0xff,\n h0 >>> 8 & 0xff,\n h0 >>> 0 & 0xff,\n h1 >>> 24 & 0xff,\n h1 >>> 16 & 0xff,\n h1 >>> 8 & 0xff,\n h1 >>> 0 & 0xff,\n h2 >>> 24 & 0xff,\n h2 >>> 16 & 0xff,\n h2 >>> 8 & 0xff,\n h2 >>> 0 & 0xff,\n h3 >>> 24 & 0xff,\n h3 >>> 16 & 0xff,\n h3 >>> 8 & 0xff,\n h3 >>> 0 & 0xff,\n h4 >>> 24 & 0xff,\n h4 >>> 16 & 0xff,\n h4 >>> 8 & 0xff,\n h4 >>> 0 & 0xff,\n h5 >>> 24 & 0xff,\n h5 >>> 16 & 0xff,\n h5 >>> 8 & 0xff,\n h5 >>> 0 & 0xff,\n h6 >>> 24 & 0xff,\n h6 >>> 16 & 0xff,\n h6 >>> 8 & 0xff,\n h6 >>> 0 & 0xff,\n h7 >>> 24 & 0xff,\n h7 >>> 16 & 0xff,\n h7 >>> 8 & 0xff,\n h7 >>> 0 & 0xff\n ];\n }\n function PBKDF2_HMAC_SHA256_OneIter(password, salt, dkLen) {\n // compress password if it's longer than hash block length\n password = password.length <= 64 ? password : SHA256(password);\n const innerLen = 64 + salt.length + 4;\n const inner = new Array(innerLen);\n const outerKey = new Array(64);\n let i;\n let dk = [];\n // inner = (password ^ ipad) || salt || counter\n for(i = 0; i < 64; i++)inner[i] = 0x36;\n for(i = 0; i < password.length; i++)inner[i] ^= password[i];\n for(i = 0; i < salt.length; i++)inner[64 + i] = salt[i];\n for(i = innerLen - 4; i < innerLen; i++)inner[i] = 0;\n // outerKey = password ^ opad\n for(i = 0; i < 64; i++)outerKey[i] = 0x5c;\n for(i = 0; i < password.length; i++)outerKey[i] ^= password[i];\n // increments counter inside inner\n function incrementCounter() {\n for(let i = innerLen - 1; i >= innerLen - 4; i--){\n inner[i]++;\n if (inner[i] <= 0xff) return;\n inner[i] = 0;\n }\n }\n // output blocks = SHA256(outerKey || SHA256(inner)) ...\n while(dkLen >= 32){\n incrementCounter();\n dk = dk.concat(SHA256(outerKey.concat(SHA256(inner))));\n dkLen -= 32;\n }\n if (dkLen > 0) {\n incrementCounter();\n dk = dk.concat(SHA256(outerKey.concat(SHA256(inner))).slice(0, dkLen));\n }\n return dk;\n }\n // The following is an adaptation of scryptsy\n // See: https://www.npmjs.com/package/scryptsy\n function blockmix_salsa8(BY, Yi, r, x, _X) {\n let i;\n arraycopy(BY, (2 * r - 1) * 16, _X, 0, 16);\n for(i = 0; i < 2 * r; i++){\n blockxor(BY, i * 16, _X, 16);\n salsa20_8(_X, x);\n arraycopy(_X, 0, BY, Yi + i * 16, 16);\n }\n for(i = 0; i < r; i++)arraycopy(BY, Yi + i * 32, BY, i * 16, 16);\n for(i = 0; i < r; i++)arraycopy(BY, Yi + (i * 2 + 1) * 16, BY, (i + r) * 16, 16);\n }\n function R(a, b) {\n return a << b | a >>> 32 - b;\n }\n function salsa20_8(B, x) {\n arraycopy(B, 0, x, 0, 16);\n for(let i = 8; i > 0; i -= 2){\n x[4] ^= R(x[0] + x[12], 7);\n x[8] ^= R(x[4] + x[0], 9);\n x[12] ^= R(x[8] + x[4], 13);\n x[0] ^= R(x[12] + x[8], 18);\n x[9] ^= R(x[5] + x[1], 7);\n x[13] ^= R(x[9] + x[5], 9);\n x[1] ^= R(x[13] + x[9], 13);\n x[5] ^= R(x[1] + x[13], 18);\n x[14] ^= R(x[10] + x[6], 7);\n x[2] ^= R(x[14] + x[10], 9);\n x[6] ^= R(x[2] + x[14], 13);\n x[10] ^= R(x[6] + x[2], 18);\n x[3] ^= R(x[15] + x[11], 7);\n x[7] ^= R(x[3] + x[15], 9);\n x[11] ^= R(x[7] + x[3], 13);\n x[15] ^= R(x[11] + x[7], 18);\n x[1] ^= R(x[0] + x[3], 7);\n x[2] ^= R(x[1] + x[0], 9);\n x[3] ^= R(x[2] + x[1], 13);\n x[0] ^= R(x[3] + x[2], 18);\n x[6] ^= R(x[5] + x[4], 7);\n x[7] ^= R(x[6] + x[5], 9);\n x[4] ^= R(x[7] + x[6], 13);\n x[5] ^= R(x[4] + x[7], 18);\n x[11] ^= R(x[10] + x[9], 7);\n x[8] ^= R(x[11] + x[10], 9);\n x[9] ^= R(x[8] + x[11], 13);\n x[10] ^= R(x[9] + x[8], 18);\n x[12] ^= R(x[15] + x[14], 7);\n x[13] ^= R(x[12] + x[15], 9);\n x[14] ^= R(x[13] + x[12], 13);\n x[15] ^= R(x[14] + x[13], 18);\n }\n for(let i = 0; i < 16; ++i)B[i] += x[i];\n }\n // naive approach... going back to loop unrolling may yield additional performance\n function blockxor(S, Si, D, len) {\n for(let i = 0; i < len; i++)D[i] ^= S[Si + i];\n }\n function arraycopy(src, srcPos, dest, destPos, length) {\n while(length--)dest[destPos++] = src[srcPos++];\n }\n function checkBufferish(o) {\n if (!o || typeof o.length !== \"number\") return false;\n for(let i = 0; i < o.length; i++){\n const v = o[i];\n if (typeof v !== \"number\" || v % 1 || v < 0 || v >= 256) return false;\n }\n return true;\n }\n function ensureInteger(value, name) {\n if (typeof value !== \"number\" || value % 1) throw new Error(\"invalid \" + name);\n return value;\n }\n // N = Cpu cost, r = Memory cost, p = parallelization cost\n // callback(error, progress, key)\n function _scrypt(password, salt, N, r, p, dkLen, callback) {\n N = ensureInteger(N, \"N\");\n r = ensureInteger(r, \"r\");\n p = ensureInteger(p, \"p\");\n dkLen = ensureInteger(dkLen, \"dkLen\");\n if (N === 0 || (N & N - 1) !== 0) throw new Error(\"N must be power of 2\");\n if (N > MAX_VALUE / 128 / r) throw new Error(\"N too large\");\n if (r > MAX_VALUE / 128 / p) throw new Error(\"r too large\");\n if (!checkBufferish(password)) throw new Error(\"password must be an array or buffer\");\n password = Array.prototype.slice.call(password);\n if (!checkBufferish(salt)) throw new Error(\"salt must be an array or buffer\");\n salt = Array.prototype.slice.call(salt);\n let b = PBKDF2_HMAC_SHA256_OneIter(password, salt, p * 128 * r);\n const B = new Uint32Array(p * 32 * r);\n for(let i = 0; i < B.length; i++){\n const j = i * 4;\n B[i] = (b[j + 3] & 0xff) << 24 | (b[j + 2] & 0xff) << 16 | (b[j + 1] & 0xff) << 8 | (b[j + 0] & 0xff) << 0;\n }\n const XY = new Uint32Array(64 * r);\n const V = new Uint32Array(32 * r * N);\n const Yi = 32 * r;\n // scratch space\n const x = new Uint32Array(16); // salsa20_8\n const _X = new Uint32Array(16); // blockmix_salsa8\n const totalOps = p * N * 2;\n let currentOp = 0;\n let lastPercent10 = null;\n // Set this to true to abandon the scrypt on the next step\n let stop = false;\n // State information\n let state = 0;\n let i0 = 0, i1;\n let Bi;\n // How many blockmix_salsa8 can we do per step?\n const limit = callback ? parseInt(1000 / r) : 0xffffffff;\n // Trick from scrypt-async; if there is a setImmediate shim in place, use it\n const nextTick = typeof setImmediate !== \"undefined\" ? setImmediate : setTimeout;\n // This is really all I changed; making scryptsy a state machine so we occasionally\n // stop and give other evnts on the evnt loop a chance to run. ~RicMoo\n const incrementalSMix = function() {\n if (stop) return callback(new Error(\"cancelled\"), currentOp / totalOps);\n let steps;\n switch(state){\n case 0:\n // for (var i = 0; i < p; i++)...\n Bi = i0 * 32 * r;\n arraycopy(B, Bi, XY, 0, Yi); // ROMix - 1\n state = 1; // Move to ROMix 2\n i1 = 0;\n // Fall through\n case 1:\n // Run up to 1000 steps of the first inner smix loop\n steps = N - i1;\n if (steps > limit) steps = limit;\n for(let i = 0; i < steps; i++){\n arraycopy(XY, 0, V, (i1 + i) * Yi, Yi) // ROMix - 3\n ;\n blockmix_salsa8(XY, Yi, r, x, _X); // ROMix - 4\n }\n // for (var i = 0; i < N; i++)\n i1 += steps;\n currentOp += steps;\n if (callback) {\n // Call the callback with the progress (optionally stopping us)\n const percent10 = parseInt(1000 * currentOp / totalOps);\n if (percent10 !== lastPercent10) {\n stop = callback(null, currentOp / totalOps);\n if (stop) break;\n lastPercent10 = percent10;\n }\n }\n if (i1 < N) break;\n i1 = 0; // Move to ROMix 6\n state = 2;\n // Fall through\n case 2:\n // Run up to 1000 steps of the second inner smix loop\n steps = N - i1;\n if (steps > limit) steps = limit;\n for(let i = 0; i < steps; i++){\n const offset = (2 * r - 1) * 16; // ROMix - 7\n const j = XY[offset] & N - 1;\n blockxor(V, j * Yi, XY, Yi); // ROMix - 8 (inner)\n blockmix_salsa8(XY, Yi, r, x, _X); // ROMix - 9 (outer)\n }\n // for (var i = 0; i < N; i++)...\n i1 += steps;\n currentOp += steps;\n // Call the callback with the progress (optionally stopping us)\n if (callback) {\n const percent10 = parseInt(1000 * currentOp / totalOps);\n if (percent10 !== lastPercent10) {\n stop = callback(null, currentOp / totalOps);\n if (stop) break;\n lastPercent10 = percent10;\n }\n }\n if (i1 < N) break;\n arraycopy(XY, 0, B, Bi, Yi); // ROMix - 10\n // for (var i = 0; i < p; i++)...\n i0++;\n if (i0 < p) {\n state = 0;\n break;\n }\n b = [];\n for(let i = 0; i < B.length; i++){\n b.push(B[i] >> 0 & 0xff);\n b.push(B[i] >> 8 & 0xff);\n b.push(B[i] >> 16 & 0xff);\n b.push(B[i] >> 24 & 0xff);\n }\n const derivedKey = PBKDF2_HMAC_SHA256_OneIter(password, b, dkLen);\n // Send the result to the callback\n if (callback) callback(null, 1.0, derivedKey);\n // Done; don't break (which would reschedule)\n return derivedKey;\n }\n // Schedule the next steps\n if (callback) nextTick(incrementalSMix);\n };\n // Run the smix state machine until completion\n if (!callback) while(true){\n const derivedKey = incrementalSMix();\n if (derivedKey != undefined) return derivedKey;\n }\n // Bootstrap the async incremental smix\n incrementalSMix();\n }\n const lib = {\n scrypt: function(password, salt, N, r, p, dkLen, progressCallback) {\n return new Promise(function(resolve, reject) {\n let lastProgress = 0;\n if (progressCallback) progressCallback(0);\n _scrypt(password, salt, N, r, p, dkLen, function(error, progress, key) {\n if (error) reject(error);\n else if (key) {\n if (progressCallback && lastProgress !== 1) progressCallback(1);\n resolve(new Uint8Array(key));\n } else if (progressCallback && progress !== lastProgress) {\n lastProgress = progress;\n return progressCallback(progress);\n }\n });\n });\n },\n syncScrypt: function(password, salt, N, r, p, dkLen) {\n return new Uint8Array(_scrypt(password, salt, N, r, p, dkLen));\n }\n };\n // node.js\n if (typeof module.exports !== \"undefined\") module.exports = lib;\n else if (typeof define === \"function\" && define.amd) define(lib);\n else if (root) {\n // If there was an existing library \"scrypt\", make sure it is still available\n if (root.scrypt) root._scrypt = root.scrypt;\n root.scrypt = lib;\n }\n})(module.exports);\n\n});\n\n\n\nparcelRequire.register(\"jh8UA\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $e08684831330b7d7$export$83d89fbfd8236492);\nconst $e08684831330b7d7$export$83d89fbfd8236492 = \"wallet/5.7.0\";\n\n});\n\n\nparcelRequire.register(\"6BV0e\", function(module, exports) {\n\n$parcel$export(module.exports, \"_fetchData\", () => $4d026a5befa5b358$export$e37fa27017c6c012);\n$parcel$export(module.exports, \"fetchJson\", () => $4d026a5befa5b358$export$6d71b655afe1638d);\n$parcel$export(module.exports, \"poll\", () => $4d026a5befa5b358$export$e0c10349b2c5e1d4);\n\nvar $2vfMQ = parcelRequire(\"2vfMQ\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $5GnFG = parcelRequire(\"5GnFG\");\n\nvar $9q8rY = parcelRequire(\"9q8rY\");\n\"use strict\";\nvar $4d026a5befa5b358$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $4d026a5befa5b358$var$logger = new (0, $d1hml.Logger)((0, $5GnFG.version));\nfunction $4d026a5befa5b358$var$staller(duration) {\n return new Promise((resolve)=>{\n setTimeout(resolve, duration);\n });\n}\nfunction $4d026a5befa5b358$var$bodyify(value, type) {\n if (value == null) return null;\n if (typeof value === \"string\") return value;\n if ((0, $aBzgs.isBytesLike)(value)) {\n if (type && (type.split(\"/\")[0] === \"text\" || type.split(\";\")[0].trim() === \"application/json\")) try {\n return (0, $fkVsY.toUtf8String)(value);\n } catch (error) {}\n return (0, $aBzgs.hexlify)(value);\n }\n return value;\n}\nfunction $4d026a5befa5b358$var$unpercent(value) {\n return (0, $fkVsY.toUtf8Bytes)(value.replace(/%([0-9a-f][0-9a-f])/gi, (all, code)=>{\n return String.fromCharCode(parseInt(code, 16));\n }));\n}\nfunction $4d026a5befa5b358$export$e37fa27017c6c012(connection, body, processFunc) {\n // How many times to retry in the event of a throttle\n const attemptLimit = typeof connection === \"object\" && connection.throttleLimit != null ? connection.throttleLimit : 12;\n $4d026a5befa5b358$var$logger.assertArgument(attemptLimit > 0 && attemptLimit % 1 === 0, \"invalid connection throttle limit\", \"connection.throttleLimit\", attemptLimit);\n const throttleCallback = typeof connection === \"object\" ? connection.throttleCallback : null;\n const throttleSlotInterval = typeof connection === \"object\" && typeof connection.throttleSlotInterval === \"number\" ? connection.throttleSlotInterval : 100;\n $4d026a5befa5b358$var$logger.assertArgument(throttleSlotInterval > 0 && throttleSlotInterval % 1 === 0, \"invalid connection throttle slot interval\", \"connection.throttleSlotInterval\", throttleSlotInterval);\n const errorPassThrough = typeof connection === \"object\" ? !!connection.errorPassThrough : false;\n const headers = {};\n let url = null;\n // @TODO: Allow ConnectionInfo to override some of these values\n const options = {\n method: \"GET\"\n };\n let allow304 = false;\n let timeout = 120000;\n if (typeof connection === \"string\") url = connection;\n else if (typeof connection === \"object\") {\n if (connection == null || connection.url == null) $4d026a5befa5b358$var$logger.throwArgumentError(\"missing URL\", \"connection.url\", connection);\n url = connection.url;\n if (typeof connection.timeout === \"number\" && connection.timeout > 0) timeout = connection.timeout;\n if (connection.headers) for(const key in connection.headers){\n headers[key.toLowerCase()] = {\n key: key,\n value: String(connection.headers[key])\n };\n if ([\n \"if-none-match\",\n \"if-modified-since\"\n ].indexOf(key.toLowerCase()) >= 0) allow304 = true;\n }\n options.allowGzip = !!connection.allowGzip;\n if (connection.user != null && connection.password != null) {\n if (url.substring(0, 6) !== \"https:\" && connection.allowInsecureAuthentication !== true) $4d026a5befa5b358$var$logger.throwError(\"basic authentication requires a secure https url\", (0, $d1hml.Logger).errors.INVALID_ARGUMENT, {\n argument: \"url\",\n url: url,\n user: connection.user,\n password: \"[REDACTED]\"\n });\n const authorization = connection.user + \":\" + connection.password;\n headers[\"authorization\"] = {\n key: \"Authorization\",\n value: \"Basic \" + (0, $2vfMQ.encode)((0, $fkVsY.toUtf8Bytes)(authorization))\n };\n }\n if (connection.skipFetchSetup != null) options.skipFetchSetup = !!connection.skipFetchSetup;\n if (connection.fetchOptions != null) options.fetchOptions = (0, $e72ut.shallowCopy)(connection.fetchOptions);\n }\n const reData = new RegExp(\"^data:([^;:]*)?(;base64)?,(.*)$\", \"i\");\n const dataMatch = url ? url.match(reData) : null;\n if (dataMatch) try {\n const response = {\n statusCode: 200,\n statusMessage: \"OK\",\n headers: {\n \"content-type\": dataMatch[1] || \"text/plain\"\n },\n body: dataMatch[2] ? (0, $2vfMQ.decode)(dataMatch[3]) : $4d026a5befa5b358$var$unpercent(dataMatch[3])\n };\n let result = response.body;\n if (processFunc) result = processFunc(response.body, response);\n return Promise.resolve(result);\n } catch (error) {\n $4d026a5befa5b358$var$logger.throwError(\"processing response error\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n body: $4d026a5befa5b358$var$bodyify(dataMatch[1], dataMatch[2]),\n error: error,\n requestBody: null,\n requestMethod: \"GET\",\n url: url\n });\n }\n if (body) {\n options.method = \"POST\";\n options.body = body;\n if (headers[\"content-type\"] == null) headers[\"content-type\"] = {\n key: \"Content-Type\",\n value: \"application/octet-stream\"\n };\n if (headers[\"content-length\"] == null) headers[\"content-length\"] = {\n key: \"Content-Length\",\n value: String(body.length)\n };\n }\n const flatHeaders = {};\n Object.keys(headers).forEach((key)=>{\n const header = headers[key];\n flatHeaders[header.key] = header.value;\n });\n options.headers = flatHeaders;\n const runningTimeout = function() {\n let timer = null;\n const promise = new Promise(function(resolve, reject) {\n if (timeout) timer = setTimeout(()=>{\n if (timer == null) return;\n timer = null;\n reject($4d026a5befa5b358$var$logger.makeError(\"timeout\", (0, $d1hml.Logger).errors.TIMEOUT, {\n requestBody: $4d026a5befa5b358$var$bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n timeout: timeout,\n url: url\n }));\n }, timeout);\n });\n const cancel = function() {\n if (timer == null) return;\n clearTimeout(timer);\n timer = null;\n };\n return {\n promise: promise,\n cancel: cancel\n };\n }();\n const runningFetch = function() {\n return $4d026a5befa5b358$var$__awaiter(this, void 0, void 0, function*() {\n for(let attempt = 0; attempt < attemptLimit; attempt++){\n let response = null;\n try {\n response = yield (0, $9q8rY.getUrl)(url, options);\n if (attempt < attemptLimit) {\n if (response.statusCode === 301 || response.statusCode === 302) {\n // Redirection; for now we only support absolute locataions\n const location = response.headers.location || \"\";\n if (options.method === \"GET\" && location.match(/^https:/)) {\n url = response.headers.location;\n continue;\n }\n } else if (response.statusCode === 429) {\n // Exponential back-off throttling\n let tryAgain = true;\n if (throttleCallback) tryAgain = yield throttleCallback(attempt, url);\n if (tryAgain) {\n let stall = 0;\n const retryAfter = response.headers[\"retry-after\"];\n if (typeof retryAfter === \"string\" && retryAfter.match(/^[1-9][0-9]*$/)) stall = parseInt(retryAfter) * 1000;\n else stall = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n //console.log(\"Stalling 429\");\n yield $4d026a5befa5b358$var$staller(stall);\n continue;\n }\n }\n }\n } catch (error) {\n response = error.response;\n if (response == null) {\n runningTimeout.cancel();\n $4d026a5befa5b358$var$logger.throwError(\"missing response\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n requestBody: $4d026a5befa5b358$var$bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n serverError: error,\n url: url\n });\n }\n }\n let body = response.body;\n if (allow304 && response.statusCode === 304) body = null;\n else if (!errorPassThrough && (response.statusCode < 200 || response.statusCode >= 300)) {\n runningTimeout.cancel();\n $4d026a5befa5b358$var$logger.throwError(\"bad response\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n status: response.statusCode,\n headers: response.headers,\n body: $4d026a5befa5b358$var$bodyify(body, response.headers ? response.headers[\"content-type\"] : null),\n requestBody: $4d026a5befa5b358$var$bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n }\n if (processFunc) try {\n const result = yield processFunc(body, response);\n runningTimeout.cancel();\n return result;\n } catch (error) {\n // Allow the processFunc to trigger a throttle\n if (error.throttleRetry && attempt < attemptLimit) {\n let tryAgain = true;\n if (throttleCallback) tryAgain = yield throttleCallback(attempt, url);\n if (tryAgain) {\n const timeout = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n //console.log(\"Stalling callback\");\n yield $4d026a5befa5b358$var$staller(timeout);\n continue;\n }\n }\n runningTimeout.cancel();\n $4d026a5befa5b358$var$logger.throwError(\"processing response error\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n body: $4d026a5befa5b358$var$bodyify(body, response.headers ? response.headers[\"content-type\"] : null),\n error: error,\n requestBody: $4d026a5befa5b358$var$bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n }\n runningTimeout.cancel();\n // If we had a processFunc, it either returned a T or threw above.\n // The \"body\" is now a Uint8Array.\n return body;\n }\n return $4d026a5befa5b358$var$logger.throwError(\"failed response\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n requestBody: $4d026a5befa5b358$var$bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n });\n }();\n return Promise.race([\n runningTimeout.promise,\n runningFetch\n ]);\n}\nfunction $4d026a5befa5b358$export$6d71b655afe1638d(connection, json, processFunc) {\n let processJsonFunc = (value, response)=>{\n let result = null;\n if (value != null) try {\n result = JSON.parse((0, $fkVsY.toUtf8String)(value));\n } catch (error) {\n $4d026a5befa5b358$var$logger.throwError(\"invalid JSON\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n body: value,\n error: error\n });\n }\n if (processFunc) result = processFunc(result, response);\n return result;\n };\n // If we have json to send, we must\n // - add content-type of application/json (unless already overridden)\n // - convert the json to bytes\n let body = null;\n if (json != null) {\n body = (0, $fkVsY.toUtf8Bytes)(json);\n // Create a connection with the content-type set for JSON\n const updated = typeof connection === \"string\" ? {\n url: connection\n } : (0, $e72ut.shallowCopy)(connection);\n if (updated.headers) {\n const hasContentType = Object.keys(updated.headers).filter((k)=>k.toLowerCase() === \"content-type\").length !== 0;\n if (!hasContentType) {\n updated.headers = (0, $e72ut.shallowCopy)(updated.headers);\n updated.headers[\"content-type\"] = \"application/json\";\n }\n } else updated.headers = {\n \"content-type\": \"application/json\"\n };\n connection = updated;\n }\n return $4d026a5befa5b358$export$e37fa27017c6c012(connection, body, processJsonFunc);\n}\nfunction $4d026a5befa5b358$export$e0c10349b2c5e1d4(func, options) {\n if (!options) options = {};\n options = (0, $e72ut.shallowCopy)(options);\n if (options.floor == null) options.floor = 0;\n if (options.ceiling == null) options.ceiling = 10000;\n if (options.interval == null) options.interval = 250;\n return new Promise(function(resolve, reject) {\n let timer = null;\n let done = false;\n // Returns true if cancel was successful. Unsuccessful cancel means we're already done.\n const cancel = ()=>{\n if (done) return false;\n done = true;\n if (timer) clearTimeout(timer);\n return true;\n };\n if (options.timeout) timer = setTimeout(()=>{\n if (cancel()) reject(new Error(\"timeout\"));\n }, options.timeout);\n const retryLimit = options.retryLimit;\n let attempt = 0;\n function check() {\n return func().then(function(result) {\n // If we have a result, or are allowed null then we're done\n if (result !== undefined) {\n if (cancel()) resolve(result);\n } else if (options.oncePoll) options.oncePoll.once(\"poll\", check);\n else if (options.onceBlock) options.onceBlock.once(\"block\", check);\n else if (!done) {\n attempt++;\n if (attempt > retryLimit) {\n if (cancel()) reject(new Error(\"retry limit reached\"));\n return;\n }\n let timeout = options.interval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n if (timeout < options.floor) timeout = options.floor;\n if (timeout > options.ceiling) timeout = options.ceiling;\n setTimeout(check, timeout);\n }\n return null;\n }, function(error) {\n if (cancel()) reject(error);\n });\n }\n check();\n });\n}\n\n});\nparcelRequire.register(\"5GnFG\", function(module, exports) {\n\n$parcel$export(module.exports, \"version\", () => $42333c997d417afb$export$83d89fbfd8236492);\nconst $42333c997d417afb$export$83d89fbfd8236492 = \"web/5.7.1\";\n\n});\n\nparcelRequire.register(\"9q8rY\", function(module, exports) {\n\n$parcel$export(module.exports, \"getUrl\", () => $6dbd18c809d22593$export$94df0e59ebebf4a7);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\"use strict\";\nvar $6dbd18c809d22593$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nfunction $6dbd18c809d22593$export$94df0e59ebebf4a7(href, options) {\n return $6dbd18c809d22593$var$__awaiter(this, void 0, void 0, function*() {\n if (options == null) options = {};\n const request = {\n method: options.method || \"GET\",\n headers: options.headers || {},\n body: options.body || undefined\n };\n if (options.skipFetchSetup !== true) {\n request.mode = \"cors\"; // no-cors, cors, *same-origin\n request.cache = \"no-cache\"; // *default, no-cache, reload, force-cache, only-if-cached\n request.credentials = \"same-origin\"; // include, *same-origin, omit\n request.redirect = \"follow\"; // manual, *follow, error\n request.referrer = \"client\"; // no-referrer, *client\n }\n if (options.fetchOptions != null) {\n const opts = options.fetchOptions;\n if (opts.mode) request.mode = opts.mode;\n if (opts.cache) request.cache = opts.cache;\n if (opts.credentials) request.credentials = opts.credentials;\n if (opts.redirect) request.redirect = opts.redirect;\n if (opts.referrer) request.referrer = opts.referrer;\n }\n const response = yield fetch(href, request);\n const body = yield response.arrayBuffer();\n const headers = {};\n if (response.headers.forEach) response.headers.forEach((value, key)=>{\n headers[key.toLowerCase()] = value;\n });\n else response.headers.keys().forEach((key)=>{\n headers[key.toLowerCase()] = response.headers.get(key);\n });\n return {\n headers: headers,\n statusCode: response.status,\n statusMessage: response.statusText,\n body: (0, $aBzgs.arrayify)(new Uint8Array(body))\n };\n });\n}\n\n});\n\n\n\n\nparcelRequire.register(\"8Nuj2\", function(module, exports) {\n\"use strict\";\n/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Proxy_factory__factory = void 0;\n\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1f1He = parcelRequire(\"1f1He\");\nconst $667a687c3849f299$var$_abi = [\n {\n constant: false,\n inputs: [\n {\n name: \"_mastercopy\",\n type: \"address\"\n },\n {\n name: \"initializer\",\n type: \"bytes\"\n },\n {\n name: \"saltNonce\",\n type: \"uint256\"\n }\n ],\n name: \"createProxyWithNonce\",\n outputs: [\n {\n name: \"proxy\",\n type: \"address\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"proxyCreationCode\",\n outputs: [\n {\n name: \"\",\n type: \"bytes\"\n }\n ],\n payable: false,\n stateMutability: \"pure\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n name: \"masterCopy\",\n type: \"address\"\n },\n {\n name: \"data\",\n type: \"bytes\"\n }\n ],\n name: \"createProxy\",\n outputs: [\n {\n name: \"proxy\",\n type: \"address\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"proxyRuntimeCode\",\n outputs: [\n {\n name: \"\",\n type: \"bytes\"\n }\n ],\n payable: false,\n stateMutability: \"pure\",\n type: \"function\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"proxy\",\n type: \"address\"\n }\n ],\n name: \"ProxyCreation\",\n type: \"event\"\n }\n];\nclass $667a687c3849f299$var$Proxy_factory__factory {\n static createInterface() {\n return new $1f1He.Interface($667a687c3849f299$var$_abi);\n }\n static connect(address, signerOrProvider) {\n return new $fP04X.Contract(address, $667a687c3849f299$var$_abi, signerOrProvider);\n }\n}\nmodule.exports.Proxy_factory__factory = $667a687c3849f299$var$Proxy_factory__factory;\n$667a687c3849f299$var$Proxy_factory__factory.abi = $667a687c3849f299$var$_abi;\n\n});\n\nparcelRequire.register(\"82Wpd\", function(module, exports) {\n\"use strict\";\n/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Gnosis_safe__factory = void 0;\n\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1f1He = parcelRequire(\"1f1He\");\nconst $5dbbd0d053650a36$var$_abi = [\n {\n inputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"AddedOwner\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"approvedHash\",\n type: \"bytes32\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"ApproveHash\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"masterCopy\",\n type: \"address\"\n }\n ],\n name: \"ChangedMasterCopy\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"threshold\",\n type: \"uint256\"\n }\n ],\n name: \"ChangedThreshold\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"DisabledModule\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"EnabledModule\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"txHash\",\n type: \"bytes32\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\"\n }\n ],\n name: \"ExecutionFailure\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"ExecutionFromModuleFailure\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"ExecutionFromModuleSuccess\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"txHash\",\n type: \"bytes32\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\"\n }\n ],\n name: \"ExecutionSuccess\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"RemovedOwner\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"msgHash\",\n type: \"bytes32\"\n }\n ],\n name: \"SignMsg\",\n type: \"event\"\n },\n {\n payable: true,\n stateMutability: \"payable\",\n type: \"fallback\"\n },\n {\n constant: true,\n inputs: [],\n name: \"NAME\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"VERSION\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\"\n }\n ],\n name: \"addOwnerWithThreshold\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n name: \"approvedHashes\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"_masterCopy\",\n type: \"address\"\n }\n ],\n name: \"changeMasterCopy\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\"\n }\n ],\n name: \"changeThreshold\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"contract Module\",\n name: \"prevModule\",\n type: \"address\"\n },\n {\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"disableModule\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"domainSeparator\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"enableModule\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n }\n ],\n name: \"execTransactionFromModule\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n }\n ],\n name: \"execTransactionFromModuleReturnData\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\"\n },\n {\n internalType: \"bytes\",\n name: \"returnData\",\n type: \"bytes\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"getModules\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"\",\n type: \"address[]\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"start\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"pageSize\",\n type: \"uint256\"\n }\n ],\n name: \"getModulesPaginated\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"array\",\n type: \"address[]\"\n },\n {\n internalType: \"address\",\n name: \"next\",\n type: \"address\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"getOwners\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"\",\n type: \"address[]\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"getThreshold\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"isOwner\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"nonce\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"prevOwner\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\"\n }\n ],\n name: \"removeOwner\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"handler\",\n type: \"address\"\n }\n ],\n name: \"setFallbackHandler\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n name: \"signedMessages\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"prevOwner\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"oldOwner\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\"\n }\n ],\n name: \"swapOwner\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address[]\",\n name: \"_owners\",\n type: \"address[]\"\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\"\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"address\",\n name: \"fallbackHandler\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"paymentToken\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\"\n },\n {\n internalType: \"address payable\",\n name: \"paymentReceiver\",\n type: \"address\"\n }\n ],\n name: \"setup\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\"\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\"\n },\n {\n internalType: \"address payable\",\n name: \"refundReceiver\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"signatures\",\n type: \"bytes\"\n }\n ],\n name: \"execTransaction\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n }\n ],\n name: \"requiredTxGas\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"hashToApprove\",\n type: \"bytes32\"\n }\n ],\n name: \"approveHash\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\"\n }\n ],\n name: \"signMessage\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"_signature\",\n type: \"bytes\"\n }\n ],\n name: \"isValidSignature\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"message\",\n type: \"bytes\"\n }\n ],\n name: \"getMessageHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\"\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"refundReceiver\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"_nonce\",\n type: \"uint256\"\n }\n ],\n name: \"encodeTransactionData\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\"\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"refundReceiver\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"_nonce\",\n type: \"uint256\"\n }\n ],\n name: \"getTransactionHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n }\n];\nclass $5dbbd0d053650a36$var$Gnosis_safe__factory {\n static createInterface() {\n return new $1f1He.Interface($5dbbd0d053650a36$var$_abi);\n }\n static connect(address, signerOrProvider) {\n return new $fP04X.Contract(address, $5dbbd0d053650a36$var$_abi, signerOrProvider);\n }\n}\nmodule.exports.Gnosis_safe__factory = $5dbbd0d053650a36$var$Gnosis_safe__factory;\n$5dbbd0d053650a36$var$Gnosis_safe__factory.abi = $5dbbd0d053650a36$var$_abi;\n\n});\n\nparcelRequire.register(\"d6MDD\", function(module, exports) {\n\"use strict\";\n/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Multi_send__factory = void 0;\n\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1f1He = parcelRequire(\"1f1He\");\nconst $98b1907639d64ce7$var$_abi = [\n {\n inputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"transactions\",\n type: \"bytes\"\n }\n ],\n name: \"multiSend\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n }\n];\nclass $98b1907639d64ce7$var$Multi_send__factory {\n static createInterface() {\n return new $1f1He.Interface($98b1907639d64ce7$var$_abi);\n }\n static connect(address, signerOrProvider) {\n return new $fP04X.Contract(address, $98b1907639d64ce7$var$_abi, signerOrProvider);\n }\n}\nmodule.exports.Multi_send__factory = $98b1907639d64ce7$var$Multi_send__factory;\n$98b1907639d64ce7$var$Multi_send__factory.abi = $98b1907639d64ce7$var$_abi;\n\n});\n\nparcelRequire.register(\"3o2CW\", function(module, exports) {\n\"use strict\";\n/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Proxy_factory__factory = void 0;\n\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1f1He = parcelRequire(\"1f1He\");\nconst $2775a6a82e489dfc$var$_abi = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\"\n }\n ],\n name: \"ProxyCreation\",\n type: \"event\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"masterCopy\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n }\n ],\n name: \"createProxy\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"proxyRuntimeCode\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\"\n }\n ],\n payable: false,\n stateMutability: \"pure\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"proxyCreationCode\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\"\n }\n ],\n payable: false,\n stateMutability: \"pure\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"_mastercopy\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"initializer\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"saltNonce\",\n type: \"uint256\"\n }\n ],\n name: \"createProxyWithNonce\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"_mastercopy\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"initializer\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"saltNonce\",\n type: \"uint256\"\n },\n {\n internalType: \"contract IProxyCreationCallback\",\n name: \"callback\",\n type: \"address\"\n }\n ],\n name: \"createProxyWithCallback\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"_mastercopy\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"initializer\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"saltNonce\",\n type: \"uint256\"\n }\n ],\n name: \"calculateCreateProxyWithNonceAddress\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n }\n];\nclass $2775a6a82e489dfc$var$Proxy_factory__factory {\n static createInterface() {\n return new $1f1He.Interface($2775a6a82e489dfc$var$_abi);\n }\n static connect(address, signerOrProvider) {\n return new $fP04X.Contract(address, $2775a6a82e489dfc$var$_abi, signerOrProvider);\n }\n}\nmodule.exports.Proxy_factory__factory = $2775a6a82e489dfc$var$Proxy_factory__factory;\n$2775a6a82e489dfc$var$Proxy_factory__factory.abi = $2775a6a82e489dfc$var$_abi;\n\n});\n\nparcelRequire.register(\"dcuKN\", function(module, exports) {\n\"use strict\";\n/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Gnosis_safe__factory = void 0;\n\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1f1He = parcelRequire(\"1f1He\");\nconst $99c44068add356a8$var$_abi = [\n {\n inputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"AddedOwner\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"approvedHash\",\n type: \"bytes32\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"ApproveHash\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"masterCopy\",\n type: \"address\"\n }\n ],\n name: \"ChangedMasterCopy\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"threshold\",\n type: \"uint256\"\n }\n ],\n name: \"ChangedThreshold\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"DisabledModule\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"EnabledModule\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"txHash\",\n type: \"bytes32\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\"\n }\n ],\n name: \"ExecutionFailure\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"ExecutionFromModuleFailure\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"ExecutionFromModuleSuccess\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"txHash\",\n type: \"bytes32\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\"\n }\n ],\n name: \"ExecutionSuccess\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"RemovedOwner\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"msgHash\",\n type: \"bytes32\"\n }\n ],\n name: \"SignMsg\",\n type: \"event\"\n },\n {\n payable: true,\n stateMutability: \"payable\",\n type: \"fallback\"\n },\n {\n constant: true,\n inputs: [],\n name: \"NAME\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"VERSION\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\"\n }\n ],\n name: \"addOwnerWithThreshold\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n name: \"approvedHashes\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"_masterCopy\",\n type: \"address\"\n }\n ],\n name: \"changeMasterCopy\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\"\n }\n ],\n name: \"changeThreshold\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"contract Module\",\n name: \"prevModule\",\n type: \"address\"\n },\n {\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"disableModule\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"domainSeparator\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"enableModule\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n }\n ],\n name: \"execTransactionFromModule\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n }\n ],\n name: \"execTransactionFromModuleReturnData\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\"\n },\n {\n internalType: \"bytes\",\n name: \"returnData\",\n type: \"bytes\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"getModules\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"\",\n type: \"address[]\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"start\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"pageSize\",\n type: \"uint256\"\n }\n ],\n name: \"getModulesPaginated\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"array\",\n type: \"address[]\"\n },\n {\n internalType: \"address\",\n name: \"next\",\n type: \"address\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"getOwners\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"\",\n type: \"address[]\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"getThreshold\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"isModuleEnabled\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"isOwner\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [],\n name: \"nonce\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"prevOwner\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\"\n }\n ],\n name: \"removeOwner\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"handler\",\n type: \"address\"\n }\n ],\n name: \"setFallbackHandler\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n name: \"signedMessages\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"prevOwner\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"oldOwner\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\"\n }\n ],\n name: \"swapOwner\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address[]\",\n name: \"_owners\",\n type: \"address[]\"\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\"\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"address\",\n name: \"fallbackHandler\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"paymentToken\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\"\n },\n {\n internalType: \"address payable\",\n name: \"paymentReceiver\",\n type: \"address\"\n }\n ],\n name: \"setup\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\"\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\"\n },\n {\n internalType: \"address payable\",\n name: \"refundReceiver\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"signatures\",\n type: \"bytes\"\n }\n ],\n name: \"execTransaction\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\"\n }\n ],\n payable: true,\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n }\n ],\n name: \"requiredTxGas\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"hashToApprove\",\n type: \"bytes32\"\n }\n ],\n name: \"approveHash\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\"\n }\n ],\n name: \"signMessage\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"_signature\",\n type: \"bytes\"\n }\n ],\n name: \"isValidSignature\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\"\n }\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"message\",\n type: \"bytes\"\n }\n ],\n name: \"getMessageHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\"\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"refundReceiver\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"_nonce\",\n type: \"uint256\"\n }\n ],\n name: \"encodeTransactionData\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\"\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"refundReceiver\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"_nonce\",\n type: \"uint256\"\n }\n ],\n name: \"getTransactionHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\"\n }\n];\nclass $99c44068add356a8$var$Gnosis_safe__factory {\n static createInterface() {\n return new $1f1He.Interface($99c44068add356a8$var$_abi);\n }\n static connect(address, signerOrProvider) {\n return new $fP04X.Contract(address, $99c44068add356a8$var$_abi, signerOrProvider);\n }\n}\nmodule.exports.Gnosis_safe__factory = $99c44068add356a8$var$Gnosis_safe__factory;\n$99c44068add356a8$var$Gnosis_safe__factory.abi = $99c44068add356a8$var$_abi;\n\n});\n\nparcelRequire.register(\"7KTUJ\", function(module, exports) {\n\"use strict\";\n/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Compatibility_fallback_handler__factory = void 0;\n\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1f1He = parcelRequire(\"1f1He\");\nconst $5a5833a6c21df476$var$_abi = [\n {\n inputs: [],\n name: \"NAME\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"VERSION\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"message\",\n type: \"bytes\"\n }\n ],\n name: \"getMessageHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"contract GnosisSafe\",\n name: \"safe\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"message\",\n type: \"bytes\"\n }\n ],\n name: \"getMessageHashForSafe\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"getModules\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"\",\n type: \"address[]\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"_dataHash\",\n type: \"bytes32\"\n },\n {\n internalType: \"bytes\",\n name: \"_signature\",\n type: \"bytes\"\n }\n ],\n name: \"isValidSignature\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"_signature\",\n type: \"bytes\"\n }\n ],\n name: \"isValidSignature\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\"\n },\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\"\n },\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\"\n }\n ],\n name: \"onERC1155BatchReceived\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\"\n }\n ],\n stateMutability: \"pure\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\"\n }\n ],\n name: \"onERC1155Received\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\"\n }\n ],\n stateMutability: \"pure\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\"\n }\n ],\n name: \"onERC721Received\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\"\n }\n ],\n stateMutability: \"pure\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"targetContract\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"calldataPayload\",\n type: \"bytes\"\n }\n ],\n name: \"simulate\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"response\",\n type: \"bytes\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes4\",\n name: \"interfaceId\",\n type: \"bytes4\"\n }\n ],\n name: \"supportsInterface\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\"\n }\n ],\n name: \"tokensReceived\",\n outputs: [],\n stateMutability: \"pure\",\n type: \"function\"\n }\n];\nclass $5a5833a6c21df476$var$Compatibility_fallback_handler__factory {\n static createInterface() {\n return new $1f1He.Interface($5a5833a6c21df476$var$_abi);\n }\n static connect(address, signerOrProvider) {\n return new $fP04X.Contract(address, $5a5833a6c21df476$var$_abi, signerOrProvider);\n }\n}\nmodule.exports.Compatibility_fallback_handler__factory = $5a5833a6c21df476$var$Compatibility_fallback_handler__factory;\n$5a5833a6c21df476$var$Compatibility_fallback_handler__factory.abi = $5a5833a6c21df476$var$_abi;\n\n});\n\nparcelRequire.register(\"jFirz\", function(module, exports) {\n\"use strict\";\n/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Gnosis_safe__factory = void 0;\n\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1f1He = parcelRequire(\"1f1He\");\nconst $e510272ba40a19cc$var$_abi = [\n {\n inputs: [],\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"AddedOwner\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"approvedHash\",\n type: \"bytes32\"\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"ApproveHash\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"handler\",\n type: \"address\"\n }\n ],\n name: \"ChangedFallbackHandler\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"guard\",\n type: \"address\"\n }\n ],\n name: \"ChangedGuard\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"threshold\",\n type: \"uint256\"\n }\n ],\n name: \"ChangedThreshold\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"DisabledModule\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"EnabledModule\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"txHash\",\n type: \"bytes32\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\"\n }\n ],\n name: \"ExecutionFailure\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"ExecutionFromModuleFailure\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"ExecutionFromModuleSuccess\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"txHash\",\n type: \"bytes32\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\"\n }\n ],\n name: \"ExecutionSuccess\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"RemovedOwner\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n }\n ],\n name: \"SafeReceived\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"initiator\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"owners\",\n type: \"address[]\"\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"threshold\",\n type: \"uint256\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"initializer\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"fallbackHandler\",\n type: \"address\"\n }\n ],\n name: \"SafeSetup\",\n type: \"event\"\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"msgHash\",\n type: \"bytes32\"\n }\n ],\n name: \"SignMsg\",\n type: \"event\"\n },\n {\n stateMutability: \"nonpayable\",\n type: \"fallback\"\n },\n {\n inputs: [],\n name: \"VERSION\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\"\n }\n ],\n name: \"addOwnerWithThreshold\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"hashToApprove\",\n type: \"bytes32\"\n }\n ],\n name: \"approveHash\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\"\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n name: \"approvedHashes\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\"\n }\n ],\n name: \"changeThreshold\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"dataHash\",\n type: \"bytes32\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signatures\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"requiredSignatures\",\n type: \"uint256\"\n }\n ],\n name: \"checkNSignatures\",\n outputs: [],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"dataHash\",\n type: \"bytes32\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes\",\n name: \"signatures\",\n type: \"bytes\"\n }\n ],\n name: \"checkSignatures\",\n outputs: [],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"prevModule\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"disableModule\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"domainSeparator\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"enableModule\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\"\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"refundReceiver\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"_nonce\",\n type: \"uint256\"\n }\n ],\n name: \"encodeTransactionData\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\"\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\"\n },\n {\n internalType: \"address payable\",\n name: \"refundReceiver\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"signatures\",\n type: \"bytes\"\n }\n ],\n name: \"execTransaction\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\"\n }\n ],\n stateMutability: \"payable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n }\n ],\n name: \"execTransactionFromModule\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n }\n ],\n name: \"execTransactionFromModuleReturnData\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\"\n },\n {\n internalType: \"bytes\",\n name: \"returnData\",\n type: \"bytes\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"getChainId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"start\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"pageSize\",\n type: \"uint256\"\n }\n ],\n name: \"getModulesPaginated\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"array\",\n type: \"address[]\"\n },\n {\n internalType: \"address\",\n name: \"next\",\n type: \"address\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"getOwners\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"\",\n type: \"address[]\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"offset\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"length\",\n type: \"uint256\"\n }\n ],\n name: \"getStorageAt\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"getThreshold\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\"\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\"\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"refundReceiver\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"_nonce\",\n type: \"uint256\"\n }\n ],\n name: \"getTransactionHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"module\",\n type: \"address\"\n }\n ],\n name: \"isModuleEnabled\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n }\n ],\n name: \"isOwner\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"nonce\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"prevOwner\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\"\n }\n ],\n name: \"removeOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\"\n }\n ],\n name: \"requiredTxGas\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"handler\",\n type: \"address\"\n }\n ],\n name: \"setFallbackHandler\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"guard\",\n type: \"address\"\n }\n ],\n name: \"setGuard\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address[]\",\n name: \"_owners\",\n type: \"address[]\"\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\"\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n },\n {\n internalType: \"address\",\n name: \"fallbackHandler\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"paymentToken\",\n type: \"address\"\n },\n {\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\"\n },\n {\n internalType: \"address payable\",\n name: \"paymentReceiver\",\n type: \"address\"\n }\n ],\n name: \"setup\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n name: \"signedMessages\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"targetContract\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"calldataPayload\",\n type: \"bytes\"\n }\n ],\n name: \"simulateAndRevert\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"prevOwner\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"oldOwner\",\n type: \"address\"\n },\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\"\n }\n ],\n name: \"swapOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n stateMutability: \"payable\",\n type: \"receive\"\n }\n];\nclass $e510272ba40a19cc$var$Gnosis_safe__factory {\n static createInterface() {\n return new $1f1He.Interface($e510272ba40a19cc$var$_abi);\n }\n static connect(address, signerOrProvider) {\n return new $fP04X.Contract(address, $e510272ba40a19cc$var$_abi, signerOrProvider);\n }\n}\nmodule.exports.Gnosis_safe__factory = $e510272ba40a19cc$var$Gnosis_safe__factory;\n$e510272ba40a19cc$var$Gnosis_safe__factory.abi = $e510272ba40a19cc$var$_abi;\n\n});\n\nparcelRequire.register(\"99eEw\", function(module, exports) {\n\"use strict\";\n/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Multi_send_call_only__factory = void 0;\n\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1f1He = parcelRequire(\"1f1He\");\nconst $6a9051ff92a2ba7f$var$_abi = [\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"transactions\",\n type: \"bytes\"\n }\n ],\n name: \"multiSend\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n }\n];\nclass $6a9051ff92a2ba7f$var$Multi_send_call_only__factory {\n static createInterface() {\n return new $1f1He.Interface($6a9051ff92a2ba7f$var$_abi);\n }\n static connect(address, signerOrProvider) {\n return new $fP04X.Contract(address, $6a9051ff92a2ba7f$var$_abi, signerOrProvider);\n }\n}\nmodule.exports.Multi_send_call_only__factory = $6a9051ff92a2ba7f$var$Multi_send_call_only__factory;\n$6a9051ff92a2ba7f$var$Multi_send_call_only__factory.abi = $6a9051ff92a2ba7f$var$_abi;\n\n});\n\nparcelRequire.register(\"2NOmM\", function(module, exports) {\n\"use strict\";\n/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Multi_send__factory = void 0;\n\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1f1He = parcelRequire(\"1f1He\");\nconst $20a73a1e1f462f9b$var$_abi = [\n {\n inputs: [],\n stateMutability: \"nonpayable\",\n type: \"constructor\"\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"transactions\",\n type: \"bytes\"\n }\n ],\n name: \"multiSend\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\"\n }\n];\nclass $20a73a1e1f462f9b$var$Multi_send__factory {\n static createInterface() {\n return new $1f1He.Interface($20a73a1e1f462f9b$var$_abi);\n }\n static connect(address, signerOrProvider) {\n return new $fP04X.Contract(address, $20a73a1e1f462f9b$var$_abi, signerOrProvider);\n }\n}\nmodule.exports.Multi_send__factory = $20a73a1e1f462f9b$var$Multi_send__factory;\n$20a73a1e1f462f9b$var$Multi_send__factory.abi = $20a73a1e1f462f9b$var$_abi;\n\n});\n\nparcelRequire.register(\"51bJz\", function(module, exports) {\n\"use strict\";\n/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Proxy_factory__factory = void 0;\n\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1f1He = parcelRequire(\"1f1He\");\nconst $3a7625de2b1954a3$var$_abi = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\"\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"singleton\",\n type: \"address\"\n }\n ],\n name: \"ProxyCreation\",\n type: \"event\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_singleton\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"initializer\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"saltNonce\",\n type: \"uint256\"\n }\n ],\n name: \"calculateCreateProxyWithNonceAddress\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"singleton\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\"\n }\n ],\n name: \"createProxy\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_singleton\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"initializer\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"saltNonce\",\n type: \"uint256\"\n },\n {\n internalType: \"contract IProxyCreationCallback\",\n name: \"callback\",\n type: \"address\"\n }\n ],\n name: \"createProxyWithCallback\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_singleton\",\n type: \"address\"\n },\n {\n internalType: \"bytes\",\n name: \"initializer\",\n type: \"bytes\"\n },\n {\n internalType: \"uint256\",\n name: \"saltNonce\",\n type: \"uint256\"\n }\n ],\n name: \"createProxyWithNonce\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"proxyCreationCode\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\"\n }\n ],\n stateMutability: \"pure\",\n type: \"function\"\n },\n {\n inputs: [],\n name: \"proxyRuntimeCode\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\"\n }\n ],\n stateMutability: \"pure\",\n type: \"function\"\n }\n];\nclass $3a7625de2b1954a3$var$Proxy_factory__factory {\n static createInterface() {\n return new $1f1He.Interface($3a7625de2b1954a3$var$_abi);\n }\n static connect(address, signerOrProvider) {\n return new $fP04X.Contract(address, $3a7625de2b1954a3$var$_abi, signerOrProvider);\n }\n}\nmodule.exports.Proxy_factory__factory = $3a7625de2b1954a3$var$Proxy_factory__factory;\n$3a7625de2b1954a3$var$Proxy_factory__factory.abi = $3a7625de2b1954a3$var$_abi;\n\n});\n\nparcelRequire.register(\"j9o7h\", function(module, exports) {\n\"use strict\";\n/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Sign_message_lib__factory = void 0;\n\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1f1He = parcelRequire(\"1f1He\");\nconst $df1190944d207c13$var$_abi = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"msgHash\",\n type: \"bytes32\"\n }\n ],\n name: \"SignMsg\",\n type: \"event\"\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"message\",\n type: \"bytes\"\n }\n ],\n name: \"getMessageHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\"\n }\n ],\n stateMutability: \"view\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\"\n }\n ],\n name: \"signMessage\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\"\n }\n];\nclass $df1190944d207c13$var$Sign_message_lib__factory {\n static createInterface() {\n return new $1f1He.Interface($df1190944d207c13$var$_abi);\n }\n static connect(address, signerOrProvider) {\n return new $fP04X.Contract(address, $df1190944d207c13$var$_abi, signerOrProvider);\n }\n}\nmodule.exports.Sign_message_lib__factory = $df1190944d207c13$var$Sign_message_lib__factory;\n$df1190944d207c13$var$Sign_message_lib__factory.abi = $df1190944d207c13$var$_abi;\n\n});\n\nparcelRequire.register(\"2Vt7J\", function(module, exports) {\n\"use strict\";\n/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ Object.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.Create_call__factory = void 0;\n\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1f1He = parcelRequire(\"1f1He\");\nconst $22177f016dce42ed$var$_abi = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"newContract\",\n type: \"address\"\n }\n ],\n name: \"ContractCreation\",\n type: \"event\"\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"deploymentData\",\n type: \"bytes\"\n }\n ],\n name: \"performCreate\",\n outputs: [\n {\n internalType: \"address\",\n name: \"newContract\",\n type: \"address\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\"\n },\n {\n internalType: \"bytes\",\n name: \"deploymentData\",\n type: \"bytes\"\n },\n {\n internalType: \"bytes32\",\n name: \"salt\",\n type: \"bytes32\"\n }\n ],\n name: \"performCreate2\",\n outputs: [\n {\n internalType: \"address\",\n name: \"newContract\",\n type: \"address\"\n }\n ],\n stateMutability: \"nonpayable\",\n type: \"function\"\n }\n];\nclass $22177f016dce42ed$var$Create_call__factory {\n static createInterface() {\n return new $1f1He.Interface($22177f016dce42ed$var$_abi);\n }\n static connect(address, signerOrProvider) {\n return new $fP04X.Contract(address, $22177f016dce42ed$var$_abi, signerOrProvider);\n }\n}\nmodule.exports.Create_call__factory = $22177f016dce42ed$var$Create_call__factory;\n$22177f016dce42ed$var$Create_call__factory.abi = $22177f016dce42ed$var$_abi;\n\n});\n\nparcelRequire.register(\"2vrlu\", function(module, exports) {\n\"use strict\";\nvar $1d33b0456820b175$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $1d33b0456820b175$var$CompatibilityFallbackHandlerEthersContract_1 = $1d33b0456820b175$var$__importDefault((parcelRequire(\"kPasH\")));\nclass $1d33b0456820b175$var$CompatibilityFallbackHandler_V1_3_0_Ethers extends $1d33b0456820b175$var$CompatibilityFallbackHandlerEthersContract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $1d33b0456820b175$var$CompatibilityFallbackHandler_V1_3_0_Ethers;\n\n});\nparcelRequire.register(\"kPasH\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nclass $f290af9935f63275$var$CompatibilityFallbackHandlerEthersContract {\n constructor(contract){\n this.contract = contract;\n this.encode = (methodName, params)=>{\n return this.contract.interface.encodeFunctionData(methodName, params);\n };\n }\n getAddress() {\n return this.contract.address;\n }\n}\nmodule.exports.default = $f290af9935f63275$var$CompatibilityFallbackHandlerEthersContract;\n\n});\n\n\nparcelRequire.register(\"dBXlG\", function(module, exports) {\n\"use strict\";\nvar $9e8cc475b19aff79$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $9e8cc475b19aff79$var$CreateCallEthersContract_1 = $9e8cc475b19aff79$var$__importDefault((parcelRequire(\"5UmCz\")));\nclass $9e8cc475b19aff79$var$CreateCallContract_V1_3_0_Ethers extends $9e8cc475b19aff79$var$CreateCallEthersContract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $9e8cc475b19aff79$var$CreateCallContract_V1_3_0_Ethers;\n\n});\n\nparcelRequire.register(\"fv2IJ\", function(module, exports) {\n\"use strict\";\nvar $b48bdc84722ccb31$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $hy3vM = parcelRequire(\"hy3vM\");\n\nvar $h3YQx = parcelRequire(\"h3YQx\");\n\nconst $b48bdc84722ccb31$var$GnosisSafeContractEthers_1 = $b48bdc84722ccb31$var$__importDefault((parcelRequire(\"i0h9t\")));\nclass $b48bdc84722ccb31$var$GnosisSafeContract_V1_0_0_Ethers extends $b48bdc84722ccb31$var$GnosisSafeContractEthers_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners: owners , threshold: threshold , to: to = $hy3vM.ZERO_ADDRESS , data: data = $hy3vM.EMPTY_DATA , paymentToken: paymentToken = $hy3vM.ZERO_ADDRESS , payment: payment = 0 , paymentReceiver: paymentReceiver = $hy3vM.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gasLimit) options.gasLimit = await this.estimateGas(\"setup\", [\n owners,\n threshold,\n to,\n data,\n paymentToken,\n payment,\n paymentReceiver\n ], {\n ...options\n });\n const txResponse = await this.contract.setup(owners, threshold, to, data, paymentToken, payment, paymentReceiver, options);\n return (0, $h3YQx.toTxResult)(txResponse, options);\n }\n async getModules() {\n return this.contract.getModules();\n }\n async isModuleEnabled(moduleAddress) {\n const modules = await this.getModules();\n const isModuleEnabled = modules.some((enabledModuleAddress)=>(0, $h3YQx.sameString)(enabledModuleAddress, moduleAddress));\n return isModuleEnabled;\n }\n}\nmodule.exports.default = $b48bdc84722ccb31$var$GnosisSafeContract_V1_0_0_Ethers;\n\n});\nparcelRequire.register(\"hy3vM\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.SENTINEL_ADDRESS = module.exports.EMPTY_DATA = module.exports.ZERO_ADDRESS = void 0;\nmodule.exports.ZERO_ADDRESS = `0x${\"0\".repeat(40)}`;\nmodule.exports.EMPTY_DATA = \"0x\";\nmodule.exports.SENTINEL_ADDRESS = \"0x0000000000000000000000000000000000000001\";\n\n});\n\n\nparcelRequire.register(\"8rERv\", function(module, exports) {\n\"use strict\";\nvar $62608aac1f26c2c6$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $hy3vM = parcelRequire(\"hy3vM\");\n\nvar $h3YQx = parcelRequire(\"h3YQx\");\n\nconst $62608aac1f26c2c6$var$GnosisSafeContractEthers_1 = $62608aac1f26c2c6$var$__importDefault((parcelRequire(\"i0h9t\")));\nclass $62608aac1f26c2c6$var$GnosisSafeContract_V1_1_1_Ethers extends $62608aac1f26c2c6$var$GnosisSafeContractEthers_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners: owners , threshold: threshold , to: to = $hy3vM.ZERO_ADDRESS , data: data = $hy3vM.EMPTY_DATA , fallbackHandler: fallbackHandler = $hy3vM.ZERO_ADDRESS , paymentToken: paymentToken = $hy3vM.ZERO_ADDRESS , payment: payment = 0 , paymentReceiver: paymentReceiver = $hy3vM.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gasLimit) options.gasLimit = await this.estimateGas(\"setup\", [\n owners,\n threshold,\n to,\n data,\n fallbackHandler,\n paymentToken,\n payment,\n paymentReceiver\n ], {\n ...options\n });\n const txResponse = await this.contract.setup(owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver, options);\n return (0, $h3YQx.toTxResult)(txResponse, options);\n }\n async getModules() {\n return this.contract.getModules();\n }\n async isModuleEnabled(moduleAddress) {\n const modules = await this.getModules();\n const isModuleEnabled = modules.some((enabledModuleAddress)=>(0, $h3YQx.sameString)(enabledModuleAddress, moduleAddress));\n return isModuleEnabled;\n }\n}\nmodule.exports.default = $62608aac1f26c2c6$var$GnosisSafeContract_V1_1_1_Ethers;\n\n});\n\nparcelRequire.register(\"9Zjr6\", function(module, exports) {\n\"use strict\";\nvar $7458e32e1c209b5b$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $h3YQx = parcelRequire(\"h3YQx\");\n\nvar $hy3vM = parcelRequire(\"hy3vM\");\n\nconst $7458e32e1c209b5b$var$GnosisSafeContractEthers_1 = $7458e32e1c209b5b$var$__importDefault((parcelRequire(\"i0h9t\")));\nclass $7458e32e1c209b5b$var$GnosisSafeContract_V1_2_0_Ethers extends $7458e32e1c209b5b$var$GnosisSafeContractEthers_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners: owners , threshold: threshold , to: to = $hy3vM.ZERO_ADDRESS , data: data = $hy3vM.EMPTY_DATA , fallbackHandler: fallbackHandler = $hy3vM.ZERO_ADDRESS , paymentToken: paymentToken = $hy3vM.ZERO_ADDRESS , payment: payment = 0 , paymentReceiver: paymentReceiver = $hy3vM.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gasLimit) options.gasLimit = await this.estimateGas(\"setup\", [\n owners,\n threshold,\n to,\n data,\n fallbackHandler,\n paymentToken,\n payment,\n paymentReceiver\n ], {\n ...options\n });\n const txResponse = await this.contract.setup(owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver, options);\n return (0, $h3YQx.toTxResult)(txResponse, options);\n }\n async getModules() {\n return this.contract.getModules();\n }\n async isModuleEnabled(moduleAddress) {\n return this.contract.isModuleEnabled(moduleAddress);\n }\n}\nmodule.exports.default = $7458e32e1c209b5b$var$GnosisSafeContract_V1_2_0_Ethers;\n\n});\n\nparcelRequire.register(\"4GhFu\", function(module, exports) {\n\"use strict\";\nvar $3688ca325bde6e00$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $h3YQx = parcelRequire(\"h3YQx\");\n\nvar $hy3vM = parcelRequire(\"hy3vM\");\n\nconst $3688ca325bde6e00$var$GnosisSafeContractEthers_1 = $3688ca325bde6e00$var$__importDefault((parcelRequire(\"i0h9t\")));\nclass $3688ca325bde6e00$var$GnosisSafeContract_V1_3_0_Ethers extends $3688ca325bde6e00$var$GnosisSafeContractEthers_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners: owners , threshold: threshold , to: to = $hy3vM.ZERO_ADDRESS , data: data = $hy3vM.EMPTY_DATA , fallbackHandler: fallbackHandler = $hy3vM.ZERO_ADDRESS , paymentToken: paymentToken = $hy3vM.ZERO_ADDRESS , payment: payment = 0 , paymentReceiver: paymentReceiver = $hy3vM.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gasLimit) options.gasLimit = await this.estimateGas(\"setup\", [\n owners,\n threshold,\n to,\n data,\n fallbackHandler,\n paymentToken,\n payment,\n paymentReceiver\n ], {\n ...options\n });\n const txResponse = await this.contract.setup(owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver, options);\n return (0, $h3YQx.toTxResult)(txResponse, options);\n }\n async getModules() {\n const { array: array } = await this.contract.getModulesPaginated($hy3vM.SENTINEL_ADDRESS, 10);\n return array;\n }\n async isModuleEnabled(moduleAddress) {\n return this.contract.isModuleEnabled(moduleAddress);\n }\n}\nmodule.exports.default = $3688ca325bde6e00$var$GnosisSafeContract_V1_3_0_Ethers;\n\n});\n\nparcelRequire.register(\"4DMxy\", function(module, exports) {\n\"use strict\";\nvar $36107502c7940904$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $36107502c7940904$var$GnosisSafeProxyFactoryEthersContract_1 = $36107502c7940904$var$__importDefault((parcelRequire(\"bITUK\")));\nclass $36107502c7940904$var$GnosisSafeProxyFactoryContract_V1_0_0_Ethers extends $36107502c7940904$var$GnosisSafeProxyFactoryEthersContract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $36107502c7940904$var$GnosisSafeProxyFactoryContract_V1_0_0_Ethers;\n\n});\n\nparcelRequire.register(\"AaKBn\", function(module, exports) {\n\"use strict\";\nvar $06cbb3c2e5c464b2$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $06cbb3c2e5c464b2$var$GnosisSafeProxyFactoryEthersContract_1 = $06cbb3c2e5c464b2$var$__importDefault((parcelRequire(\"bITUK\")));\nclass $06cbb3c2e5c464b2$var$GnosisSafeProxyFactoryContract_V1_1_1_Ethers extends $06cbb3c2e5c464b2$var$GnosisSafeProxyFactoryEthersContract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $06cbb3c2e5c464b2$var$GnosisSafeProxyFactoryContract_V1_1_1_Ethers;\n\n});\n\nparcelRequire.register(\"7R9Ea\", function(module, exports) {\n\"use strict\";\nvar $5b84f751a5fcb8de$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $5b84f751a5fcb8de$var$GnosisSafeProxyFactoryEthersContract_1 = $5b84f751a5fcb8de$var$__importDefault((parcelRequire(\"bITUK\")));\nclass $5b84f751a5fcb8de$var$GnosisSafeProxyFactoryContract_V1_3_0_Ethers extends $5b84f751a5fcb8de$var$GnosisSafeProxyFactoryEthersContract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $5b84f751a5fcb8de$var$GnosisSafeProxyFactoryContract_V1_3_0_Ethers;\n\n});\n\nparcelRequire.register(\"9WYg7\", function(module, exports) {\n\"use strict\";\nvar $73e8460220a1ae15$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $73e8460220a1ae15$var$MultiSendEthersContract_1 = $73e8460220a1ae15$var$__importDefault((parcelRequire(\"gtiOu\")));\nclass $73e8460220a1ae15$var$MultiSendContract_V1_1_1_Ethers extends $73e8460220a1ae15$var$MultiSendEthersContract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $73e8460220a1ae15$var$MultiSendContract_V1_1_1_Ethers;\n\n});\n\nparcelRequire.register(\"9ia5V\", function(module, exports) {\n\"use strict\";\nvar $6c3da0150e6c1760$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $6c3da0150e6c1760$var$MultiSendEthersContract_1 = $6c3da0150e6c1760$var$__importDefault((parcelRequire(\"gtiOu\")));\nclass $6c3da0150e6c1760$var$MultiSendContract_V1_3_0_Ethers extends $6c3da0150e6c1760$var$MultiSendEthersContract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $6c3da0150e6c1760$var$MultiSendContract_V1_3_0_Ethers;\n\n});\n\nparcelRequire.register(\"e87Wo\", function(module, exports) {\n\"use strict\";\nvar $a497f8ea7ae7e83d$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $a497f8ea7ae7e83d$var$MultiSendCallOnlyEthersContract_1 = $a497f8ea7ae7e83d$var$__importDefault((parcelRequire(\"dTiG3\")));\nclass $a497f8ea7ae7e83d$var$MultiSendCallOnlyContract_V1_3_0_Ethers extends $a497f8ea7ae7e83d$var$MultiSendCallOnlyEthersContract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $a497f8ea7ae7e83d$var$MultiSendCallOnlyContract_V1_3_0_Ethers;\n\n});\n\nparcelRequire.register(\"4nbRm\", function(module, exports) {\n\"use strict\";\nvar $32f2827eda66ef04$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $32f2827eda66ef04$var$SignMessageLibEthersContract_1 = $32f2827eda66ef04$var$__importDefault((parcelRequire(\"8Chaz\")));\nclass $32f2827eda66ef04$var$SignMessageLibContract_V1_3_0_Ethers extends $32f2827eda66ef04$var$SignMessageLibEthersContract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $32f2827eda66ef04$var$SignMessageLibContract_V1_3_0_Ethers;\n\n});\n\n\n\nparcelRequire.register(\"2cJbS\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $k7Fub = parcelRequire(\"k7Fub\");\nclass $19afc1b037436073$var$CreateCallWeb3Contract {\n constructor(contract){\n this.contract = contract;\n }\n getAddress() {\n return this.contract.options.address;\n }\n async performCreate2(value, deploymentData, salt, options) {\n if (options && !options.gas) options.gas = await this.estimateGas(\"performCreate2\", [\n value,\n deploymentData,\n salt\n ], {\n ...options\n });\n const txResponse = this.contract.methods.performCreate2(value, deploymentData, salt).send(options);\n return (0, $k7Fub.toTxResult)(txResponse, options);\n }\n async performCreate(value, deploymentData, options) {\n if (options && !options.gas) options.gas = await this.estimateGas(\"performCreate\", [\n value,\n deploymentData\n ], {\n ...options\n });\n const txResponse = this.contract.methods.performCreate(value, deploymentData).send(options);\n return (0, $k7Fub.toTxResult)(txResponse, options);\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.methods[methodName](...params).estimateGas(options)).toString();\n }\n}\nmodule.exports.default = $19afc1b037436073$var$CreateCallWeb3Contract;\n\n});\nparcelRequire.register(\"k7Fub\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.toTxResult = module.exports.sameString = void 0;\nfunction $ea64a44f927dbdaf$var$sameString(str1, str2) {\n return str1.toLowerCase() === str2.toLowerCase();\n}\nmodule.exports.sameString = $ea64a44f927dbdaf$var$sameString;\nasync function $ea64a44f927dbdaf$var$toTxResult(promiEvent, options) {\n return new Promise((resolve, reject)=>promiEvent.once(\"transactionHash\", (hash)=>resolve({\n hash: hash,\n promiEvent: promiEvent,\n options: options\n })).catch(reject));\n}\nmodule.exports.toTxResult = $ea64a44f927dbdaf$var$toTxResult;\n\n});\n\n\nparcelRequire.register(\"hANAo\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $k7Fub = parcelRequire(\"k7Fub\");\nclass $ccec43384950b413$var$GnosisSafeContractWeb3 {\n constructor(contract){\n this.contract = contract;\n }\n async getVersion() {\n return await this.contract.methods.VERSION().call();\n }\n getAddress() {\n return this.contract.options.address;\n }\n async getNonce() {\n return Number(await this.contract.methods.nonce().call());\n }\n async getThreshold() {\n return Number(await this.contract.methods.getThreshold().call());\n }\n async getOwners() {\n return this.contract.methods.getOwners().call();\n }\n async isOwner(address) {\n return this.contract.methods.isOwner(address).call();\n }\n async getTransactionHash(safeTransactionData) {\n return this.contract.methods.getTransactionHash(safeTransactionData.to, safeTransactionData.value, safeTransactionData.data, safeTransactionData.operation, safeTransactionData.safeTxGas, safeTransactionData.baseGas, safeTransactionData.gasPrice, safeTransactionData.gasToken, safeTransactionData.refundReceiver, safeTransactionData.nonce).call();\n }\n async approvedHashes(ownerAddress, hash) {\n return $1chjt.BigNumber.from(await this.contract.methods.approvedHashes(ownerAddress, hash).call());\n }\n async approveHash(hash, options) {\n if (options && !options.gas) options.gas = await this.estimateGas(\"approveHash\", [\n hash\n ], {\n ...options\n });\n const txResponse = this.contract.methods.approveHash(hash).send(options);\n return (0, $k7Fub.toTxResult)(txResponse, options);\n }\n async isValidTransaction(safeTransaction, options) {\n let isTxValid = false;\n try {\n if (options && !options.gas) options.gas = await this.estimateGas(\"execTransaction\", [\n safeTransaction.data.to,\n safeTransaction.data.value,\n safeTransaction.data.data,\n safeTransaction.data.operation,\n safeTransaction.data.safeTxGas,\n safeTransaction.data.baseGas,\n safeTransaction.data.gasPrice,\n safeTransaction.data.gasToken,\n safeTransaction.data.refundReceiver,\n safeTransaction.encodedSignatures()\n ], {\n ...options\n });\n isTxValid = await this.contract.methods.execTransaction(safeTransaction.data.to, safeTransaction.data.value, safeTransaction.data.data, safeTransaction.data.operation, safeTransaction.data.safeTxGas, safeTransaction.data.baseGas, safeTransaction.data.gasPrice, safeTransaction.data.gasToken, safeTransaction.data.refundReceiver, safeTransaction.encodedSignatures()).call(options);\n } catch {}\n return isTxValid;\n }\n async execTransaction(safeTransaction, options) {\n if (options && !options.gas) options.gas = await this.estimateGas(\"execTransaction\", [\n safeTransaction.data.to,\n safeTransaction.data.value,\n safeTransaction.data.data,\n safeTransaction.data.operation,\n safeTransaction.data.safeTxGas,\n safeTransaction.data.baseGas,\n safeTransaction.data.gasPrice,\n safeTransaction.data.gasToken,\n safeTransaction.data.refundReceiver,\n safeTransaction.encodedSignatures()\n ], {\n ...options\n });\n const txResponse = this.contract.methods.execTransaction(safeTransaction.data.to, safeTransaction.data.value, safeTransaction.data.data, safeTransaction.data.operation, safeTransaction.data.safeTxGas, safeTransaction.data.baseGas, safeTransaction.data.gasPrice, safeTransaction.data.gasToken, safeTransaction.data.refundReceiver, safeTransaction.encodedSignatures()).send(options);\n return (0, $k7Fub.toTxResult)(txResponse, options);\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.methods[methodName](...params).estimateGas(options)).toString();\n }\n}\nmodule.exports.default = $ccec43384950b413$var$GnosisSafeContractWeb3;\n\n});\n\nparcelRequire.register(\"6nEbP\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $k7Fub = parcelRequire(\"k7Fub\");\nclass $4a5410ec0fcba93f$var$GnosisSafeProxyFactoryWeb3Contract {\n constructor(contract){\n this.contract = contract;\n }\n getAddress() {\n return this.contract.options.address;\n }\n async proxyCreationCode() {\n return this.contract.methods.proxyCreationCode().call();\n }\n async createProxy({ safeMasterCopyAddress: safeMasterCopyAddress , initializer: initializer , saltNonce: saltNonce , options: options , callback: callback }) {\n var _a, _b, _c;\n if ($1chjt.BigNumber.from(saltNonce).lt(0)) throw new Error(\"saltNonce must be greater than or equal to 0\");\n if (options && !options.gas) options.gas = await this.estimateGas(\"createProxyWithNonce\", [\n safeMasterCopyAddress,\n initializer,\n saltNonce\n ], {\n ...options\n });\n const txResponse = this.contract.methods.createProxyWithNonce(safeMasterCopyAddress, initializer, saltNonce).send(options);\n if (callback) {\n const txResult = await (0, $k7Fub.toTxResult)(txResponse);\n callback(txResult.hash);\n }\n const txResult = await new Promise((resolve, reject)=>txResponse.once(\"receipt\", (receipt)=>resolve(receipt)).catch(reject));\n const proxyAddress = (_c = (_b = (_a = txResult.events) === null || _a === void 0 ? void 0 : _a.ProxyCreation) === null || _b === void 0 ? void 0 : _b.returnValues) === null || _c === void 0 ? void 0 : _c.proxy;\n if (!proxyAddress) throw new Error(\"SafeProxy was not deployed correctly\");\n return proxyAddress;\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.methods[methodName](...params).estimateGas(options)).toString();\n }\n}\nmodule.exports.default = $4a5410ec0fcba93f$var$GnosisSafeProxyFactoryWeb3Contract;\n\n});\n\nparcelRequire.register(\"1Dllx\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nclass $1309fde8ab5d0f61$var$MultiSendWeb3Contract {\n constructor(contract){\n this.contract = contract;\n }\n getAddress() {\n return this.contract.options.address;\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n}\nmodule.exports.default = $1309fde8ab5d0f61$var$MultiSendWeb3Contract;\n\n});\n\nparcelRequire.register(\"FmGQK\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nclass $07c56e3c87e1dfbf$var$MultiSendCallOnlyWeb3Contract {\n constructor(contract){\n this.contract = contract;\n }\n getAddress() {\n return this.contract.options.address;\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n}\nmodule.exports.default = $07c56e3c87e1dfbf$var$MultiSendCallOnlyWeb3Contract;\n\n});\n\nparcelRequire.register(\"5fx7W\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $k7Fub = parcelRequire(\"k7Fub\");\nclass $3d280cd00f27fe31$var$SignMessageLibWeb3Contract {\n constructor(contract){\n this.contract = contract;\n }\n getAddress() {\n return this.contract.options.address;\n }\n async signMessage(data, options) {\n if (options && !options.gas) options.gas = await this.estimateGas(\"signMessage\", [\n data\n ], {\n ...options\n });\n const txResponse = this.contract.methods.signMessage(data).send(options);\n return (0, $k7Fub.toTxResult)(txResponse, options);\n }\n async getMessageHash(message) {\n return this.contract.methods.getMessageHash(message).call();\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.methods[methodName](...params).estimateGas(options)).toString();\n }\n}\nmodule.exports.default = $3d280cd00f27fe31$var$SignMessageLibWeb3Contract;\n\n});\n\nparcelRequire.register(\"cGWel\", function(module, exports) {\n\"use strict\";\nvar $93d69398666f41f3$var$__classPrivateFieldSet = module.exports && module.exports.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $93d69398666f41f3$var$__classPrivateFieldGet = module.exports && module.exports.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $93d69398666f41f3$var$_Web3Adapter_web3, $93d69398666f41f3$var$_Web3Adapter_signerAddress;\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $7a7Pr = parcelRequire(\"7a7Pr\");\n\nvar $aCowF = parcelRequire(\"aCowF\");\nclass $93d69398666f41f3$var$Web3Adapter {\n constructor({ web3: web3 , signerAddress: signerAddress }){\n $93d69398666f41f3$var$_Web3Adapter_web3.set(this, void 0);\n $93d69398666f41f3$var$_Web3Adapter_signerAddress.set(this, void 0);\n if (!web3) throw new Error(\"web3 property missing from options\");\n $93d69398666f41f3$var$__classPrivateFieldSet(this, $93d69398666f41f3$var$_Web3Adapter_web3, web3, \"f\");\n $93d69398666f41f3$var$__classPrivateFieldSet(this, $93d69398666f41f3$var$_Web3Adapter_signerAddress, signerAddress, \"f\");\n }\n isAddress(address) {\n return $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").utils.isAddress(address);\n }\n async getEip3770Address(fullAddress) {\n const chainId = await this.getChainId();\n return (0, $7a7Pr.validateEip3770Address)(fullAddress, chainId);\n }\n async getBalance(address, defaultBlock) {\n const balance = defaultBlock ? await $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.getBalance(address, defaultBlock) : await $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.getBalance(address);\n // FIXME Web3 Adapter is forced to return an Ethers type\n return $1chjt.BigNumber.from(balance);\n }\n async getNonce(address, defaultBlock) {\n const nonce = defaultBlock ? await $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.getTransactionCount(address, defaultBlock) : await $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.getTransactionCount(address);\n return nonce;\n }\n async getChainId() {\n return $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.getChainId();\n }\n getChecksummedAddress(address) {\n return $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").utils.toChecksumAddress(address);\n }\n async getSafeContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress , customContractAbi: customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid SafeProxy contract address\");\n const safeContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, $aCowF.getSafeContractInstance)(safeVersion, safeContract);\n }\n async getSafeProxyFactoryContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress , customContractAbi: customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid SafeProxyFactory contract address\");\n const proxyFactoryContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, $aCowF.getGnosisSafeProxyFactoryContractInstance)(safeVersion, proxyFactoryContract);\n }\n async getMultiSendContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress , customContractAbi: customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid MultiSend contract address\");\n const multiSendContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, $aCowF.getMultiSendContractInstance)(safeVersion, multiSendContract);\n }\n async getMultiSendCallOnlyContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress , customContractAbi: customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid MultiSendCallOnly contract address\");\n const multiSendContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, $aCowF.getMultiSendCallOnlyContractInstance)(safeVersion, multiSendContract);\n }\n async getCompatibilityFallbackHandlerContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress , customContractAbi: customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid Compatibility Fallback Handler contract address\");\n const multiSendContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, $aCowF.getCompatibilityFallbackHandlerContractInstance)(safeVersion, multiSendContract);\n }\n async getSignMessageLibContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress , customContractAbi: customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid SignMessageLib contract address\");\n const signMessageLibContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, $aCowF.getSignMessageLibContractInstance)(safeVersion, signMessageLibContract);\n }\n async getCreateCallContract({ safeVersion: safeVersion , singletonDeployment: singletonDeployment , customContractAddress: customContractAddress , customContractAbi: customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) throw new Error(\"Invalid CreateCall contract address\");\n const createCallContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, $aCowF.getCreateCallContractInstance)(safeVersion, createCallContract);\n }\n getContract(address, abi, options) {\n return new ($93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\")).eth.Contract(abi, address, options);\n }\n async getContractCode(address, defaultBlock) {\n const code = defaultBlock ? await $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.getCode(address, defaultBlock) : await $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.getCode(address);\n return code;\n }\n async isContractDeployed(address, defaultBlock) {\n const contractCode = await this.getContractCode(address, defaultBlock);\n return contractCode !== \"0x\";\n }\n async getStorageAt(address, position) {\n const content = await $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.getStorageAt(address, position);\n const decodedContent = this.decodeParameters([\n \"address\"\n ], content);\n return decodedContent[0];\n }\n async getTransaction(transactionHash) {\n return $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.getTransaction(transactionHash);\n }\n async getSignerAddress() {\n return $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_signerAddress, \"f\");\n }\n signMessage(message) {\n if (!$93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_signerAddress, \"f\")) throw new Error(\"EthAdapter must be initialized with a signer to use this method\");\n return $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.sign(message, $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_signerAddress, \"f\"));\n }\n async signTypedData(safeTransactionEIP712Args, methodVersion) {\n if (!$93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_signerAddress, \"f\")) throw new Error(\"This method requires a signer\");\n const typedData = (0, $7a7Pr.generateTypedData)(safeTransactionEIP712Args);\n let method = \"eth_signTypedData_v3\";\n if (methodVersion === \"v4\") method = \"eth_signTypedData_v4\";\n else if (!methodVersion) method = \"eth_signTypedData\";\n const jsonTypedData = JSON.stringify(typedData);\n const signedTypedData = {\n jsonrpc: \"2.0\",\n method: method,\n params: methodVersion === \"v3\" || methodVersion === \"v4\" ? [\n $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_signerAddress, \"f\"),\n jsonTypedData\n ] : [\n jsonTypedData,\n $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_signerAddress, \"f\")\n ],\n from: $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_signerAddress, \"f\"),\n id: new Date().getTime()\n };\n return new Promise((resolve, reject)=>{\n const provider = $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").currentProvider;\n function callback(err, val) {\n if (err) {\n reject(err);\n return;\n }\n if ((val === null || val === void 0 ? void 0 : val.result) == null) {\n reject(new Error(\"EIP-712 is not supported by user's wallet\"));\n return;\n }\n resolve(val.result);\n }\n provider.send(signedTypedData, callback);\n });\n }\n async estimateGas(transaction, callback) {\n return (await $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.estimateGas(transaction, callback)).toString();\n }\n call(transaction, defaultBlock) {\n return $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.call(transaction, defaultBlock);\n }\n encodeParameters(types, values) {\n return $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.abi.encodeParameters(types, values);\n }\n decodeParameters(types, values) {\n return $93d69398666f41f3$var$__classPrivateFieldGet(this, $93d69398666f41f3$var$_Web3Adapter_web3, \"f\").eth.abi.decodeParameters(types, values);\n }\n}\n$93d69398666f41f3$var$_Web3Adapter_web3 = new WeakMap(), $93d69398666f41f3$var$_Web3Adapter_signerAddress = new WeakMap();\nmodule.exports.default = $93d69398666f41f3$var$Web3Adapter;\n\n});\nparcelRequire.register(\"aCowF\", function(module, exports) {\n\"use strict\";\nvar $7bb07a4ee1ef3d1b$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.getCreateCallContractInstance = module.exports.getSignMessageLibContractInstance = module.exports.getGnosisSafeProxyFactoryContractInstance = module.exports.getMultiSendCallOnlyContractInstance = module.exports.getMultiSendContractInstance = module.exports.getCompatibilityFallbackHandlerContractInstance = module.exports.getSafeContractInstance = void 0;\n\nconst $7bb07a4ee1ef3d1b$var$CompatibilityFallbackHandler_V1_3_0_Web3_1 = $7bb07a4ee1ef3d1b$var$__importDefault((parcelRequire(\"jWPg9\")));\n\nconst $7bb07a4ee1ef3d1b$var$CreateCallEthersContract_V1_3_0_Web3_1 = $7bb07a4ee1ef3d1b$var$__importDefault((parcelRequire(\"1Xv0R\")));\n\nconst $7bb07a4ee1ef3d1b$var$GnosisSafeContract_V1_0_0_Web3_1 = $7bb07a4ee1ef3d1b$var$__importDefault((parcelRequire(\"977mm\")));\n\nconst $7bb07a4ee1ef3d1b$var$GnosisSafeContract_V1_1_1_Web3_1 = $7bb07a4ee1ef3d1b$var$__importDefault((parcelRequire(\"4UJen\")));\n\nconst $7bb07a4ee1ef3d1b$var$GnosisSafeContract_V1_2_0_Web3_1 = $7bb07a4ee1ef3d1b$var$__importDefault((parcelRequire(\"gUveh\")));\n\nconst $7bb07a4ee1ef3d1b$var$GnosisSafeContract_V1_3_0_Web3_1 = $7bb07a4ee1ef3d1b$var$__importDefault((parcelRequire(\"gsE2G\")));\n\nconst $7bb07a4ee1ef3d1b$var$GnosisSafeProxyFactoryContract_V1_0_0_Web3_1 = $7bb07a4ee1ef3d1b$var$__importDefault((parcelRequire(\"lfeo5\")));\n\nconst $7bb07a4ee1ef3d1b$var$GnosisSafeProxyFactoryContract_V1_1_1_Web3_1 = $7bb07a4ee1ef3d1b$var$__importDefault((parcelRequire(\"g6BOo\")));\n\nconst $7bb07a4ee1ef3d1b$var$GnosisSafeProxyFactoryContract_V1_3_0_Web3_1 = $7bb07a4ee1ef3d1b$var$__importDefault((parcelRequire(\"5wjbn\")));\n\nconst $7bb07a4ee1ef3d1b$var$MultiSendContract_V1_1_1_Web3_1 = $7bb07a4ee1ef3d1b$var$__importDefault((parcelRequire(\"63HSr\")));\n\nconst $7bb07a4ee1ef3d1b$var$MultiSendContract_V1_3_0_Web3_1 = $7bb07a4ee1ef3d1b$var$__importDefault((parcelRequire(\"fmY10\")));\n\nconst $7bb07a4ee1ef3d1b$var$MultiSendCallOnlyContract_V1_3_0_Web3_1 = $7bb07a4ee1ef3d1b$var$__importDefault((parcelRequire(\"byEGJ\")));\n\nconst $7bb07a4ee1ef3d1b$var$SignMessageLibContract_V1_3_0_Web3_1 = $7bb07a4ee1ef3d1b$var$__importDefault((parcelRequire(\"drpEH\")));\nfunction $7bb07a4ee1ef3d1b$var$getSafeContractInstance(safeVersion, safeContract) {\n switch(safeVersion){\n case \"1.3.0\":\n return new $7bb07a4ee1ef3d1b$var$GnosisSafeContract_V1_3_0_Web3_1.default(safeContract);\n case \"1.2.0\":\n return new $7bb07a4ee1ef3d1b$var$GnosisSafeContract_V1_2_0_Web3_1.default(safeContract);\n case \"1.1.1\":\n return new $7bb07a4ee1ef3d1b$var$GnosisSafeContract_V1_1_1_Web3_1.default(safeContract);\n case \"1.0.0\":\n return new $7bb07a4ee1ef3d1b$var$GnosisSafeContract_V1_0_0_Web3_1.default(safeContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getSafeContractInstance = $7bb07a4ee1ef3d1b$var$getSafeContractInstance;\nfunction $7bb07a4ee1ef3d1b$var$getCompatibilityFallbackHandlerContractInstance(safeVersion, compatibilityFallbackhandlerContract) {\n switch(safeVersion){\n case \"1.3.0\":\n case \"1.2.0\":\n case \"1.1.1\":\n return new $7bb07a4ee1ef3d1b$var$CompatibilityFallbackHandler_V1_3_0_Web3_1.default(compatibilityFallbackhandlerContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getCompatibilityFallbackHandlerContractInstance = $7bb07a4ee1ef3d1b$var$getCompatibilityFallbackHandlerContractInstance;\nfunction $7bb07a4ee1ef3d1b$var$getMultiSendContractInstance(safeVersion, multiSendContract) {\n switch(safeVersion){\n case \"1.3.0\":\n return new $7bb07a4ee1ef3d1b$var$MultiSendContract_V1_3_0_Web3_1.default(multiSendContract);\n case \"1.2.0\":\n case \"1.1.1\":\n case \"1.0.0\":\n return new $7bb07a4ee1ef3d1b$var$MultiSendContract_V1_1_1_Web3_1.default(multiSendContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getMultiSendContractInstance = $7bb07a4ee1ef3d1b$var$getMultiSendContractInstance;\nfunction $7bb07a4ee1ef3d1b$var$getMultiSendCallOnlyContractInstance(safeVersion, multiSendCallOnlyContract) {\n switch(safeVersion){\n case \"1.3.0\":\n case \"1.2.0\":\n case \"1.1.1\":\n case \"1.0.0\":\n return new $7bb07a4ee1ef3d1b$var$MultiSendCallOnlyContract_V1_3_0_Web3_1.default(multiSendCallOnlyContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getMultiSendCallOnlyContractInstance = $7bb07a4ee1ef3d1b$var$getMultiSendCallOnlyContractInstance;\nfunction $7bb07a4ee1ef3d1b$var$getGnosisSafeProxyFactoryContractInstance(safeVersion, gnosisSafeProxyFactoryContract) {\n switch(safeVersion){\n case \"1.3.0\":\n return new $7bb07a4ee1ef3d1b$var$GnosisSafeProxyFactoryContract_V1_3_0_Web3_1.default(gnosisSafeProxyFactoryContract);\n case \"1.2.0\":\n case \"1.1.1\":\n return new $7bb07a4ee1ef3d1b$var$GnosisSafeProxyFactoryContract_V1_1_1_Web3_1.default(gnosisSafeProxyFactoryContract);\n case \"1.0.0\":\n return new $7bb07a4ee1ef3d1b$var$GnosisSafeProxyFactoryContract_V1_0_0_Web3_1.default(gnosisSafeProxyFactoryContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getGnosisSafeProxyFactoryContractInstance = $7bb07a4ee1ef3d1b$var$getGnosisSafeProxyFactoryContractInstance;\nfunction $7bb07a4ee1ef3d1b$var$getSignMessageLibContractInstance(safeVersion, signMessageLibContract) {\n switch(safeVersion){\n case \"1.3.0\":\n return new $7bb07a4ee1ef3d1b$var$SignMessageLibContract_V1_3_0_Web3_1.default(signMessageLibContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getSignMessageLibContractInstance = $7bb07a4ee1ef3d1b$var$getSignMessageLibContractInstance;\nfunction $7bb07a4ee1ef3d1b$var$getCreateCallContractInstance(safeVersion, createCallContract) {\n switch(safeVersion){\n case \"1.3.0\":\n case \"1.2.0\":\n case \"1.1.1\":\n case \"1.0.0\":\n return new $7bb07a4ee1ef3d1b$var$CreateCallEthersContract_V1_3_0_Web3_1.default(createCallContract);\n default:\n throw new Error(\"Invalid Safe version\");\n }\n}\nmodule.exports.getCreateCallContractInstance = $7bb07a4ee1ef3d1b$var$getCreateCallContractInstance;\n\n});\nparcelRequire.register(\"jWPg9\", function(module, exports) {\n\"use strict\";\nvar $e85b322dd6412b2d$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $e85b322dd6412b2d$var$CompatibilityFallbackHandlerWeb3Contract_1 = $e85b322dd6412b2d$var$__importDefault((parcelRequire(\"cUPHY\")));\nclass $e85b322dd6412b2d$var$CompatibilityFallbackHandler_V1_3_0_Web3 extends $e85b322dd6412b2d$var$CompatibilityFallbackHandlerWeb3Contract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $e85b322dd6412b2d$var$CompatibilityFallbackHandler_V1_3_0_Web3;\n\n});\nparcelRequire.register(\"cUPHY\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nclass $9672d32d1a1f7793$var$CompatibilityFallbackHandlerWeb3Contract {\n constructor(contract){\n this.contract = contract;\n }\n getAddress() {\n return this.contract.options.address;\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n}\nmodule.exports.default = $9672d32d1a1f7793$var$CompatibilityFallbackHandlerWeb3Contract;\n\n});\n\n\nparcelRequire.register(\"1Xv0R\", function(module, exports) {\n\"use strict\";\nvar $16d35ba3d5f54c88$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $16d35ba3d5f54c88$var$CreateCallWeb3Contract_1 = $16d35ba3d5f54c88$var$__importDefault((parcelRequire(\"2cJbS\")));\nclass $16d35ba3d5f54c88$var$CreateCallContract_V1_3_0_Web3 extends $16d35ba3d5f54c88$var$CreateCallWeb3Contract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $16d35ba3d5f54c88$var$CreateCallContract_V1_3_0_Web3;\n\n});\n\nparcelRequire.register(\"977mm\", function(module, exports) {\n\"use strict\";\nvar $6a2a79f75a096af3$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $k7Fub = parcelRequire(\"k7Fub\");\n\nvar $2rUv6 = parcelRequire(\"2rUv6\");\n\nconst $6a2a79f75a096af3$var$GnosisSafeContractWeb3_1 = $6a2a79f75a096af3$var$__importDefault((parcelRequire(\"hANAo\")));\nclass $6a2a79f75a096af3$var$GnosisSafeContract_V1_0_0_Web3 extends $6a2a79f75a096af3$var$GnosisSafeContractWeb3_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners: owners , threshold: threshold , to: to = $2rUv6.ZERO_ADDRESS , data: data = $2rUv6.EMPTY_DATA , paymentToken: paymentToken = $2rUv6.ZERO_ADDRESS , payment: payment = 0 , paymentReceiver: paymentReceiver = $2rUv6.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gas) options.gas = await this.estimateGas(\"setup\", [\n owners,\n threshold,\n to,\n data,\n paymentToken,\n payment,\n paymentReceiver\n ], {\n ...options\n });\n const txResponse = this.contract.methods.setup(owners, threshold, to, data, paymentToken, payment, paymentReceiver).send(options);\n return (0, $k7Fub.toTxResult)(txResponse, options);\n }\n async getModules() {\n return this.contract.methods.getModules().call();\n }\n async isModuleEnabled(moduleAddress) {\n const modules = await this.getModules();\n const isModuleEnabled = modules.some((enabledModuleAddress)=>(0, $k7Fub.sameString)(enabledModuleAddress, moduleAddress));\n return isModuleEnabled;\n }\n}\nmodule.exports.default = $6a2a79f75a096af3$var$GnosisSafeContract_V1_0_0_Web3;\n\n});\nparcelRequire.register(\"2rUv6\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.SENTINEL_ADDRESS = module.exports.EMPTY_DATA = module.exports.ZERO_ADDRESS = void 0;\nmodule.exports.ZERO_ADDRESS = `0x${\"0\".repeat(40)}`;\nmodule.exports.EMPTY_DATA = \"0x\";\nmodule.exports.SENTINEL_ADDRESS = \"0x0000000000000000000000000000000000000001\";\n\n});\n\n\nparcelRequire.register(\"4UJen\", function(module, exports) {\n\"use strict\";\nvar $393f7a486f2960c2$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $k7Fub = parcelRequire(\"k7Fub\");\n\nvar $2rUv6 = parcelRequire(\"2rUv6\");\n\nconst $393f7a486f2960c2$var$GnosisSafeContractWeb3_1 = $393f7a486f2960c2$var$__importDefault((parcelRequire(\"hANAo\")));\nclass $393f7a486f2960c2$var$GnosisSafeContract_V1_1_1_Web3 extends $393f7a486f2960c2$var$GnosisSafeContractWeb3_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners: owners , threshold: threshold , to: to = $2rUv6.ZERO_ADDRESS , data: data = $2rUv6.EMPTY_DATA , fallbackHandler: fallbackHandler = $2rUv6.ZERO_ADDRESS , paymentToken: paymentToken = $2rUv6.ZERO_ADDRESS , payment: payment = 0 , paymentReceiver: paymentReceiver = $2rUv6.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gas) options.gas = await this.estimateGas(\"setup\", [\n owners,\n threshold,\n to,\n data,\n fallbackHandler,\n paymentToken,\n payment,\n paymentReceiver\n ], {\n ...options\n });\n const txResponse = this.contract.methods.setup(owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver).send(options);\n return (0, $k7Fub.toTxResult)(txResponse, options);\n }\n async getModules() {\n return this.contract.methods.getModules().call();\n }\n async isModuleEnabled(moduleAddress) {\n const modules = await this.getModules();\n const isModuleEnabled = modules.some((enabledModuleAddress)=>(0, $k7Fub.sameString)(enabledModuleAddress, moduleAddress));\n return isModuleEnabled;\n }\n}\nmodule.exports.default = $393f7a486f2960c2$var$GnosisSafeContract_V1_1_1_Web3;\n\n});\n\nparcelRequire.register(\"gUveh\", function(module, exports) {\n\"use strict\";\nvar $c4fa19c9ae94ea61$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $k7Fub = parcelRequire(\"k7Fub\");\n\nvar $2rUv6 = parcelRequire(\"2rUv6\");\n\nconst $c4fa19c9ae94ea61$var$GnosisSafeContractWeb3_1 = $c4fa19c9ae94ea61$var$__importDefault((parcelRequire(\"hANAo\")));\nclass $c4fa19c9ae94ea61$var$GnosisSafeContract_V1_2_0_Web3 extends $c4fa19c9ae94ea61$var$GnosisSafeContractWeb3_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners: owners , threshold: threshold , to: to = $2rUv6.ZERO_ADDRESS , data: data = $2rUv6.EMPTY_DATA , fallbackHandler: fallbackHandler = $2rUv6.ZERO_ADDRESS , paymentToken: paymentToken = $2rUv6.ZERO_ADDRESS , payment: payment = 0 , paymentReceiver: paymentReceiver = $2rUv6.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gas) options.gas = await this.estimateGas(\"setup\", [\n owners,\n threshold,\n to,\n data,\n fallbackHandler,\n paymentToken,\n payment,\n paymentReceiver\n ], {\n ...options\n });\n const txResponse = this.contract.methods.setup(owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver).send(options);\n return (0, $k7Fub.toTxResult)(txResponse, options);\n }\n async getModules() {\n return this.contract.methods.getModules().call();\n }\n async isModuleEnabled(moduleAddress) {\n return this.contract.methods.isModuleEnabled(moduleAddress).call();\n }\n}\nmodule.exports.default = $c4fa19c9ae94ea61$var$GnosisSafeContract_V1_2_0_Web3;\n\n});\n\nparcelRequire.register(\"gsE2G\", function(module, exports) {\n\"use strict\";\nvar $bfbe526e0e9948dd$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $k7Fub = parcelRequire(\"k7Fub\");\n\nvar $2rUv6 = parcelRequire(\"2rUv6\");\n\nconst $bfbe526e0e9948dd$var$GnosisSafeContractWeb3_1 = $bfbe526e0e9948dd$var$__importDefault((parcelRequire(\"hANAo\")));\nclass $bfbe526e0e9948dd$var$GnosisSafeContract_V1_3_0_Web3 extends $bfbe526e0e9948dd$var$GnosisSafeContractWeb3_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners: owners , threshold: threshold , to: to = $2rUv6.ZERO_ADDRESS , data: data = $2rUv6.EMPTY_DATA , fallbackHandler: fallbackHandler = $2rUv6.ZERO_ADDRESS , paymentToken: paymentToken = $2rUv6.ZERO_ADDRESS , payment: payment = 0 , paymentReceiver: paymentReceiver = $2rUv6.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gas) options.gas = await this.estimateGas(\"setup\", [\n owners,\n threshold,\n to,\n data,\n fallbackHandler,\n paymentToken,\n payment,\n paymentReceiver\n ], {\n ...options\n });\n const txResponse = this.contract.methods.setup(owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver).send(options);\n return (0, $k7Fub.toTxResult)(txResponse, options);\n }\n async getModules() {\n const { array: array } = await this.contract.methods.getModulesPaginated($2rUv6.SENTINEL_ADDRESS, 10).call();\n return array;\n }\n async isModuleEnabled(moduleAddress) {\n return this.contract.methods.isModuleEnabled(moduleAddress).call();\n }\n}\nmodule.exports.default = $bfbe526e0e9948dd$var$GnosisSafeContract_V1_3_0_Web3;\n\n});\n\nparcelRequire.register(\"lfeo5\", function(module, exports) {\n\"use strict\";\nvar $f77628bb66e72b60$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $f77628bb66e72b60$var$GnosisSafeProxyFactoryWeb3Contract_1 = $f77628bb66e72b60$var$__importDefault((parcelRequire(\"6nEbP\")));\nclass $f77628bb66e72b60$var$GnosisSafeProxyFactoryContract_V1_0_0_Web3 extends $f77628bb66e72b60$var$GnosisSafeProxyFactoryWeb3Contract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $f77628bb66e72b60$var$GnosisSafeProxyFactoryContract_V1_0_0_Web3;\n\n});\n\nparcelRequire.register(\"g6BOo\", function(module, exports) {\n\"use strict\";\nvar $bb9a897f20ecb964$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $bb9a897f20ecb964$var$GnosisSafeProxyFactoryWeb3Contract_1 = $bb9a897f20ecb964$var$__importDefault((parcelRequire(\"6nEbP\")));\nclass $bb9a897f20ecb964$var$GnosisSafeProxyFactoryContract_V1_1_1_Web3 extends $bb9a897f20ecb964$var$GnosisSafeProxyFactoryWeb3Contract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $bb9a897f20ecb964$var$GnosisSafeProxyFactoryContract_V1_1_1_Web3;\n\n});\n\nparcelRequire.register(\"5wjbn\", function(module, exports) {\n\"use strict\";\nvar $404ed223eb78f4da$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $404ed223eb78f4da$var$GnosisSafeProxyFactoryWeb3Contract_1 = $404ed223eb78f4da$var$__importDefault((parcelRequire(\"6nEbP\")));\nclass $404ed223eb78f4da$var$GnosisSafeProxyFactoryContract_V1_3_0_Web3 extends $404ed223eb78f4da$var$GnosisSafeProxyFactoryWeb3Contract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $404ed223eb78f4da$var$GnosisSafeProxyFactoryContract_V1_3_0_Web3;\n\n});\n\nparcelRequire.register(\"63HSr\", function(module, exports) {\n\"use strict\";\nvar $46950efbbd2cf798$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $46950efbbd2cf798$var$MultiSendWeb3Contract_1 = $46950efbbd2cf798$var$__importDefault((parcelRequire(\"1Dllx\")));\nclass $46950efbbd2cf798$var$MultiSendContract_V1_1_1_Web3 extends $46950efbbd2cf798$var$MultiSendWeb3Contract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $46950efbbd2cf798$var$MultiSendContract_V1_1_1_Web3;\n\n});\n\nparcelRequire.register(\"fmY10\", function(module, exports) {\n\"use strict\";\nvar $b30776d971d2a2eb$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $b30776d971d2a2eb$var$MultiSendWeb3Contract_1 = $b30776d971d2a2eb$var$__importDefault((parcelRequire(\"1Dllx\")));\nclass $b30776d971d2a2eb$var$MultiSendContract_V1_3_0_Web3 extends $b30776d971d2a2eb$var$MultiSendWeb3Contract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $b30776d971d2a2eb$var$MultiSendContract_V1_3_0_Web3;\n\n});\n\nparcelRequire.register(\"byEGJ\", function(module, exports) {\n\"use strict\";\nvar $86a26e8ab6fbf0e7$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $86a26e8ab6fbf0e7$var$MultiSendCallOnlyWeb3Contract_1 = $86a26e8ab6fbf0e7$var$__importDefault((parcelRequire(\"FmGQK\")));\nclass $86a26e8ab6fbf0e7$var$MultiSendCallOnlyContract_V1_3_0_Web3 extends $86a26e8ab6fbf0e7$var$MultiSendCallOnlyWeb3Contract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $86a26e8ab6fbf0e7$var$MultiSendCallOnlyContract_V1_3_0_Web3;\n\n});\n\nparcelRequire.register(\"drpEH\", function(module, exports) {\n\"use strict\";\nvar $9c91b29c84714873$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nconst $9c91b29c84714873$var$SignMessageLibWeb3Contract_1 = $9c91b29c84714873$var$__importDefault((parcelRequire(\"5fx7W\")));\nclass $9c91b29c84714873$var$SignMessageLibContract_V1_3_0_Web3 extends $9c91b29c84714873$var$SignMessageLibWeb3Contract_1.default {\n constructor(contract){\n super(contract);\n this.contract = contract;\n }\n}\nmodule.exports.default = $9c91b29c84714873$var$SignMessageLibContract_V1_3_0_Web3;\n\n});\n\n\n\nparcelRequire.register(\"hZ9RD\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n});\n\nparcelRequire.register(\"hwOfH\", function(module, exports) {\n\"use strict\";\nvar $cc2c67dcd3592de7$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.getSafeL2SingletonDeployment = module.exports._safeL2Deployments = module.exports.getSafeSingletonDeployment = module.exports._safeDeployments = void 0;\n\nconst $cc2c67dcd3592de7$var$safe_l2_json_1 = $cc2c67dcd3592de7$var$__importDefault((parcelRequire(\"eMSmN\")));\n\nconst $cc2c67dcd3592de7$var$safe_json_1 = $cc2c67dcd3592de7$var$__importDefault((parcelRequire(\"gI0Ki\")));\n\nconst $cc2c67dcd3592de7$var$gnosis_safe_l2_json_1 = $cc2c67dcd3592de7$var$__importDefault((parcelRequire(\"5y93N\")));\n\nconst $cc2c67dcd3592de7$var$gnosis_safe_json_1 = $cc2c67dcd3592de7$var$__importDefault((parcelRequire(\"45yDQ\")));\n\nconst $cc2c67dcd3592de7$var$gnosis_safe_json_2 = $cc2c67dcd3592de7$var$__importDefault((parcelRequire(\"dCb8U\")));\n\nconst $cc2c67dcd3592de7$var$gnosis_safe_json_3 = $cc2c67dcd3592de7$var$__importDefault((parcelRequire(\"jFfSc\")));\n\nconst $cc2c67dcd3592de7$var$gnosis_safe_json_4 = $cc2c67dcd3592de7$var$__importDefault((parcelRequire(\"cTlhJ\")));\n\nvar $iaBWx = parcelRequire(\"iaBWx\");\n// This is a sorted array (newest to oldest), exported for tests\nmodule.exports._safeDeployments = [\n $cc2c67dcd3592de7$var$safe_json_1.default,\n $cc2c67dcd3592de7$var$gnosis_safe_json_1.default,\n $cc2c67dcd3592de7$var$gnosis_safe_json_2.default,\n $cc2c67dcd3592de7$var$gnosis_safe_json_3.default,\n $cc2c67dcd3592de7$var$gnosis_safe_json_4.default\n];\nconst $cc2c67dcd3592de7$var$getSafeSingletonDeployment = (filter)=>{\n return (0, $iaBWx.findDeployment)(filter, module.exports._safeDeployments);\n};\nmodule.exports.getSafeSingletonDeployment = $cc2c67dcd3592de7$var$getSafeSingletonDeployment;\n// This is a sorted array (newest to oldest), exported for tests\nmodule.exports._safeL2Deployments = [\n $cc2c67dcd3592de7$var$safe_l2_json_1.default,\n $cc2c67dcd3592de7$var$gnosis_safe_l2_json_1.default\n];\nconst $cc2c67dcd3592de7$var$getSafeL2SingletonDeployment = (filter)=>{\n return (0, $iaBWx.findDeployment)(filter, module.exports._safeL2Deployments);\n};\nmodule.exports.getSafeL2SingletonDeployment = $cc2c67dcd3592de7$var$getSafeL2SingletonDeployment;\n\n});\nparcelRequire.register(\"eMSmN\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb\",\"released\":false,\"contractName\":\"SafeL2\",\"version\":\"1.4.0\",\"networkAddresses\":{\"5\":\"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb\",\"56\":\"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb\",\"100\":\"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb\"},\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AddedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"approvedHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ApproveHash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"ChangedFallbackHandler\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"ChangedGuard\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"ChangedThreshold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"DisabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"EnabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"RemovedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"SafeModuleTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address payable\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"additionalInfo\",\"type\":\"bytes\"}],\"name\":\"SafeMultiSigTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"initiator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"owners\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"initializer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"fallbackHandler\",\"type\":\"address\"}],\"name\":\"SafeSetup\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"SignMsg\",\"type\":\"event\"},{\"stateMutability\":\"nonpayable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"addOwnerWithThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hashToApprove\",\"type\":\"bytes32\"}],\"name\":\"approveHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"approvedHashes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"changeThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"requiredSignatures\",\"type\":\"uint256\"}],\"name\":\"checkNSignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"checkSignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevModule\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"disableModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"enableModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"encodeTransactionData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"execTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModuleReturnData\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"start\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pageSize\",\"type\":\"uint256\"}],\"name\":\"getModulesPaginated\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"array\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"next\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"getStorageAt\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"getTransactionHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"isModuleEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"removeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"setFallbackHandler\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"setGuard\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"fallbackHandler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"paymentReceiver\",\"type\":\"address\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"signedMessages\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"targetContract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"calldataPayload\",\"type\":\"bytes\"}],\"name\":\"simulateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"swapOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]}');\n\n});\n\nparcelRequire.register(\"gI0Ki\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0xc962E67D9490E154D81181879ddf4CD3b65D2132\",\"released\":false,\"contractName\":\"Safe\",\"version\":\"1.4.0\",\"networkAddresses\":{\"5\":\"0xc962E67D9490E154D81181879ddf4CD3b65D2132\",\"56\":\"0xc962E67D9490E154D81181879ddf4CD3b65D2132\",\"100\":\"0xc962E67D9490E154D81181879ddf4CD3b65D2132\"},\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AddedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"approvedHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ApproveHash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"ChangedFallbackHandler\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"ChangedGuard\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"ChangedThreshold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"DisabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"EnabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"RemovedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"initiator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"owners\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"initializer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"fallbackHandler\",\"type\":\"address\"}],\"name\":\"SafeSetup\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"SignMsg\",\"type\":\"event\"},{\"stateMutability\":\"nonpayable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"addOwnerWithThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hashToApprove\",\"type\":\"bytes32\"}],\"name\":\"approveHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"approvedHashes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"changeThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"requiredSignatures\",\"type\":\"uint256\"}],\"name\":\"checkNSignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"checkSignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevModule\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"disableModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"enableModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"encodeTransactionData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"execTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModuleReturnData\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"start\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pageSize\",\"type\":\"uint256\"}],\"name\":\"getModulesPaginated\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"array\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"next\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"getStorageAt\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"getTransactionHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"isModuleEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"removeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"setFallbackHandler\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"setGuard\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"fallbackHandler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"paymentReceiver\",\"type\":\"address\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"signedMessages\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"targetContract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"calldataPayload\",\"type\":\"bytes\"}],\"name\":\"simulateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"swapOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]}');\n\n});\n\nparcelRequire.register(\"5y93N\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"released\":true,\"contractName\":\"GnosisSafeL2\",\"version\":\"1.3.0\",\"networkAddresses\":{\"1\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"3\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"4\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"5\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"10\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"11\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"12\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"18\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"25\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"28\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"39\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"40\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"41\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"42\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"50\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"51\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"56\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"61\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"63\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"69\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"82\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"83\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"97\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"100\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"106\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"108\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"111\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"122\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"123\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"137\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"246\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"250\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"288\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"300\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"321\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"322\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"336\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"338\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"420\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"588\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"592\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"595\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"599\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"686\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"787\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"1001\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"1008\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"1088\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"1101\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"1111\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"1112\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"1115\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"1116\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"1284\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"1285\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"1287\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"1294\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"1807\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"1984\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"2001\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"2002\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"2008\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"2019\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"2020\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"2221\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"2222\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"3737\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"4002\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"4689\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"4918\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"4919\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"5001\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"7341\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"7700\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"8217\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"9000\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"9001\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"9728\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"10000\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"10001\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"10200\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"11235\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"11437\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"12357\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"23294\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"42161\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"42170\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"42220\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"43113\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"43114\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"43288\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"44787\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"45000\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"47805\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"54211\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"56288\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"59140\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"71401\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"71402\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"73799\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"80001\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"84531\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"200101\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"200202\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"333999\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"421611\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"421613\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"534353\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"11155111\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"245022926\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"1313161554\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"1313161555\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"1666600000\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"1666700000\":\"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\"11297108099\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\"11297108109\":\"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\"},\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AddedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"approvedHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ApproveHash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"ChangedFallbackHandler\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"ChangedGuard\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"ChangedThreshold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"DisabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"EnabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"RemovedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"SafeModuleTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address payable\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"additionalInfo\",\"type\":\"bytes\"}],\"name\":\"SafeMultiSigTransaction\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"initiator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"owners\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"initializer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"fallbackHandler\",\"type\":\"address\"}],\"name\":\"SafeSetup\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"SignMsg\",\"type\":\"event\"},{\"stateMutability\":\"nonpayable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"addOwnerWithThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hashToApprove\",\"type\":\"bytes32\"}],\"name\":\"approveHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"approvedHashes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"changeThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"requiredSignatures\",\"type\":\"uint256\"}],\"name\":\"checkNSignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"checkSignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevModule\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"disableModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"enableModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"encodeTransactionData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"execTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModuleReturnData\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"start\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pageSize\",\"type\":\"uint256\"}],\"name\":\"getModulesPaginated\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"array\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"next\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"getStorageAt\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"getTransactionHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"isModuleEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"removeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"requiredTxGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"setFallbackHandler\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"setGuard\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"fallbackHandler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"paymentReceiver\",\"type\":\"address\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"signedMessages\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"targetContract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"calldataPayload\",\"type\":\"bytes\"}],\"name\":\"simulateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"swapOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]}');\n\n});\n\nparcelRequire.register(\"45yDQ\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"released\":true,\"contractName\":\"GnosisSafe\",\"version\":\"1.3.0\",\"networkAddresses\":{\"1\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"3\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"4\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"5\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"10\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"11\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"12\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"18\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"25\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"28\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"39\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"40\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"41\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"42\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"50\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"51\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"56\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"61\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"63\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"69\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"82\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"83\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"97\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"100\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"106\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"108\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"111\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"122\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"123\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"137\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"246\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"250\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"288\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"300\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"321\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"322\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"336\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"338\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"420\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"588\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"592\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"595\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"599\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"686\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"787\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"1001\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"1008\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"1088\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"1101\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"1111\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"1112\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"1115\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"1116\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"1284\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"1285\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"1287\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"1294\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"1807\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"1984\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"2001\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"2002\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"2008\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"2019\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"2020\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"2221\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"2222\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"3737\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"4002\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"4689\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"4918\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"4919\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"5001\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"7341\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"7700\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"8217\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"9000\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"9001\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"9728\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"10000\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"10001\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"10200\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"11235\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"11437\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"12357\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"23294\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"42161\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"42170\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"42220\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"43113\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"43114\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"43288\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"44787\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"45000\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"47805\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"54211\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"56288\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"59140\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"71401\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"71402\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"73799\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"80001\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"84531\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"200101\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"200202\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"333999\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"421611\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"421613\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"534353\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"11155111\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"245022926\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"1313161554\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"1313161555\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"1666600000\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"1666700000\":\"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\"11297108099\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\"11297108109\":\"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"},\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AddedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"approvedHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ApproveHash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"ChangedFallbackHandler\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"ChangedGuard\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"ChangedThreshold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"DisabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"EnabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"RemovedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"SafeReceived\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"initiator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"owners\",\"type\":\"address[]\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"initializer\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"fallbackHandler\",\"type\":\"address\"}],\"name\":\"SafeSetup\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"SignMsg\",\"type\":\"event\"},{\"stateMutability\":\"nonpayable\",\"type\":\"fallback\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"addOwnerWithThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hashToApprove\",\"type\":\"bytes32\"}],\"name\":\"approveHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"approvedHashes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"changeThreshold\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"requiredSignatures\",\"type\":\"uint256\"}],\"name\":\"checkNSignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"dataHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"checkSignatures\",\"outputs\":[],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevModule\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"disableModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"enableModule\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"encodeTransactionData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"execTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModuleReturnData\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"start\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pageSize\",\"type\":\"uint256\"}],\"name\":\"getModulesPaginated\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"array\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"next\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"offset\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"name\":\"getStorageAt\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"getTransactionHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"isModuleEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"removeOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"requiredTxGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"setFallbackHandler\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"guard\",\"type\":\"address\"}],\"name\":\"setGuard\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"fallbackHandler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"paymentReceiver\",\"type\":\"address\"}],\"name\":\"setup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"signedMessages\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"targetContract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"calldataPayload\",\"type\":\"bytes\"}],\"name\":\"simulateAndRevert\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"swapOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"stateMutability\":\"payable\",\"type\":\"receive\"}]}');\n\n});\n\nparcelRequire.register(\"dCb8U\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\"released\":true,\"contractName\":\"GnosisSafe\",\"version\":\"1.2.0\",\"networkAddresses\":{\"1\":\"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\"4\":\"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\"5\":\"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\"42\":\"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\"88\":\"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\"100\":\"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\"246\":\"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\"73799\":\"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\"},\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AddedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"approvedHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ApproveHash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"masterCopy\",\"type\":\"address\"}],\"name\":\"ChangedMasterCopy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"ChangedThreshold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract Module\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"DisabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract Module\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"EnabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"RemovedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"SignMsg\",\"type\":\"event\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":true,\"inputs\":[],\"name\":\"NAME\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"addOwnerWithThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"approvedHashes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_masterCopy\",\"type\":\"address\"}],\"name\":\"changeMasterCopy\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"changeThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contract Module\",\"name\":\"prevModule\",\"type\":\"address\"},{\"internalType\":\"contract Module\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"disableModule\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contract Module\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"enableModule\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModuleReturnData\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getModules\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"start\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pageSize\",\"type\":\"uint256\"}],\"name\":\"getModulesPaginated\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"array\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"next\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"contract Module\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"isModuleEnabled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"removeOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"setFallbackHandler\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"signedMessages\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"swapOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"fallbackHandler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"paymentReceiver\",\"type\":\"address\"}],\"name\":\"setup\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"execTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"requiredTxGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hashToApprove\",\"type\":\"bytes32\"}],\"name\":\"approveHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"signMessage\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"getMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"encodeTransactionData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"getTransactionHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"jFfSc\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\"released\":true,\"contractName\":\"GnosisSafe\",\"version\":\"1.1.1\",\"networkAddresses\":{\"1\":\"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\"4\":\"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\"5\":\"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\"42\":\"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\"88\":\"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\"100\":\"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\"246\":\"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\"73799\":\"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"},\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AddedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"approvedHash\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"ApproveHash\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"masterCopy\",\"type\":\"address\"}],\"name\":\"ChangedMasterCopy\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"ChangedThreshold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract Module\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"DisabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract Module\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"EnabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleFailure\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"ExecutionFromModuleSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"txHash\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"}],\"name\":\"ExecutionSuccess\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"RemovedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"SignMsg\",\"type\":\"event\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"constant\":true,\"inputs\":[],\"name\":\"NAME\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"addOwnerWithThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"approvedHashes\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_masterCopy\",\"type\":\"address\"}],\"name\":\"changeMasterCopy\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"changeThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contract Module\",\"name\":\"prevModule\",\"type\":\"address\"},{\"internalType\":\"contract Module\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"disableModule\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"contract Module\",\"name\":\"module\",\"type\":\"address\"}],\"name\":\"enableModule\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModule\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModuleReturnData\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getModules\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"start\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"pageSize\",\"type\":\"uint256\"}],\"name\":\"getModulesPaginated\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"array\",\"type\":\"address[]\"},{\"internalType\":\"address\",\"name\":\"next\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getThreshold\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"removeOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"handler\",\"type\":\"address\"}],\"name\":\"setFallbackHandler\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"signedMessages\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"prevOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"oldOwner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"swapOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"_owners\",\"type\":\"address[]\"},{\"internalType\":\"uint256\",\"name\":\"_threshold\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"fallbackHandler\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"paymentToken\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"payment\",\"type\":\"uint256\"},{\"internalType\":\"address payable\",\"name\":\"paymentReceiver\",\"type\":\"address\"}],\"name\":\"setup\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address payable\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"execTransaction\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"requiredTxGas\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"hashToApprove\",\"type\":\"bytes32\"}],\"name\":\"approveHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"signMessage\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"getMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"encodeTransactionData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"baseGas\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"gasToken\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"refundReceiver\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"getTransactionHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"cTlhJ\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A\",\"released\":true,\"contractName\":\"GnosisSafe\",\"version\":\"1.0.0\",\"networkAddresses\":{\"1\":\"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A\",\"4\":\"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A\",\"5\":\"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A\",\"42\":\"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A\",\"100\":\"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A\"},\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"addOwnerWithThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"DOMAIN_SEPARATOR_TYPEHASH\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"isOwner\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"},{\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"execTransactionFromModule\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"signedMessages\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"module\",\"type\":\"address\"}],\"name\":\"enableModule\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"changeThreshold\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"\",\"type\":\"address\"},{\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"approvedHashes\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_masterCopy\",\"type\":\"address\"}],\"name\":\"changeMasterCopy\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"SENTINEL_MODULES\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"SENTINEL_OWNERS\",\"outputs\":[{\"name\":\"\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getOwners\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"NAME\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"nonce\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getModules\",\"outputs\":[{\"name\":\"\",\"type\":\"address[]\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"SAFE_MSG_TYPEHASH\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"SAFE_TX_TYPEHASH\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"prevModule\",\"type\":\"address\"},{\"name\":\"module\",\"type\":\"address\"}],\"name\":\"disableModule\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\"},{\"name\":\"oldOwner\",\"type\":\"address\"},{\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"swapOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"getThreshold\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"domainSeparator\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"prevOwner\",\"type\":\"address\"},{\"name\":\"owner\",\"type\":\"address\"},{\"name\":\"_threshold\",\"type\":\"uint256\"}],\"name\":\"removeOwner\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"payable\":true,\"stateMutability\":\"payable\",\"type\":\"fallback\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"txHash\",\"type\":\"bytes32\"}],\"name\":\"ExecutionFailed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"AddedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"RemovedOwner\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"threshold\",\"type\":\"uint256\"}],\"name\":\"ChangedThreshold\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"module\",\"type\":\"address\"}],\"name\":\"EnabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"module\",\"type\":\"address\"}],\"name\":\"DisabledModule\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"newContract\",\"type\":\"address\"}],\"name\":\"ContractCreation\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"name\":\"_owners\",\"type\":\"address[]\"},{\"name\":\"_threshold\",\"type\":\"uint256\"},{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"data\",\"type\":\"bytes\"},{\"name\":\"paymentToken\",\"type\":\"address\"},{\"name\":\"payment\",\"type\":\"uint256\"},{\"name\":\"paymentReceiver\",\"type\":\"address\"}],\"name\":\"setup\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"},{\"name\":\"operation\",\"type\":\"uint8\"},{\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"name\":\"baseGas\",\"type\":\"uint256\"},{\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"name\":\"gasToken\",\"type\":\"address\"},{\"name\":\"refundReceiver\",\"type\":\"address\"},{\"name\":\"signatures\",\"type\":\"bytes\"}],\"name\":\"execTransaction\",\"outputs\":[{\"name\":\"success\",\"type\":\"bool\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"},{\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"requiredTxGas\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"hashToApprove\",\"type\":\"bytes32\"}],\"name\":\"approveHash\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"signMessage\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_data\",\"type\":\"bytes\"},{\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"getMessageHash\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"},{\"name\":\"operation\",\"type\":\"uint8\"},{\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"name\":\"baseGas\",\"type\":\"uint256\"},{\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"name\":\"gasToken\",\"type\":\"address\"},{\"name\":\"refundReceiver\",\"type\":\"address\"},{\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"encodeTransactionData\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"to\",\"type\":\"address\"},{\"name\":\"value\",\"type\":\"uint256\"},{\"name\":\"data\",\"type\":\"bytes\"},{\"name\":\"operation\",\"type\":\"uint8\"},{\"name\":\"safeTxGas\",\"type\":\"uint256\"},{\"name\":\"baseGas\",\"type\":\"uint256\"},{\"name\":\"gasPrice\",\"type\":\"uint256\"},{\"name\":\"gasToken\",\"type\":\"address\"},{\"name\":\"refundReceiver\",\"type\":\"address\"},{\"name\":\"_nonce\",\"type\":\"uint256\"}],\"name\":\"getTransactionHash\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes32\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"iaBWx\", function(module, exports) {\n\"use strict\";\nvar $d3a697e3467dffdc$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.findDeployment = void 0;\n\nconst $d3a697e3467dffdc$var$satisfies_1 = $d3a697e3467dffdc$var$__importDefault((parcelRequire(\"eHBEA\")));\nconst $d3a697e3467dffdc$var$DEFAULT_FILTER = {\n released: true\n};\nconst $d3a697e3467dffdc$var$findDeployment = (criteria = $d3a697e3467dffdc$var$DEFAULT_FILTER, deployments)=>{\n const criteriaWithDefaults = Object.assign(Object.assign({}, $d3a697e3467dffdc$var$DEFAULT_FILTER), criteria);\n return deployments.find((deployment)=>{\n if (typeof criteriaWithDefaults.version !== \"undefined\" && !(0, $d3a697e3467dffdc$var$satisfies_1.default)(deployment.version, criteriaWithDefaults.version)) return false;\n if (typeof criteriaWithDefaults.released === \"boolean\" && deployment.released != criteriaWithDefaults.released) return false;\n if (criteriaWithDefaults.network && !deployment.networkAddresses[criteriaWithDefaults.network]) return false;\n return true;\n });\n};\nmodule.exports.findDeployment = $d3a697e3467dffdc$var$findDeployment;\n\n});\n\n\nparcelRequire.register(\"gJilu\", function(module, exports) {\n\"use strict\";\nvar $c2df1460c40c7ce5$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.getProxyFactoryDeployment = void 0;\n\nconst $c2df1460c40c7ce5$var$proxy_factory_json_1 = $c2df1460c40c7ce5$var$__importDefault((parcelRequire(\"ajeWd\")));\n\nconst $c2df1460c40c7ce5$var$proxy_factory_json_2 = $c2df1460c40c7ce5$var$__importDefault((parcelRequire(\"6CQRy\")));\n\nconst $c2df1460c40c7ce5$var$proxy_factory_json_3 = $c2df1460c40c7ce5$var$__importDefault((parcelRequire(\"k7808\")));\n\nconst $c2df1460c40c7ce5$var$safe_proxy_factory_json_1 = $c2df1460c40c7ce5$var$__importDefault((parcelRequire(\"9bodX\")));\n\nvar $iaBWx = parcelRequire(\"iaBWx\");\n// This is a sorted array (newest to oldest)\nconst $c2df1460c40c7ce5$var$factoryDeployments = [\n $c2df1460c40c7ce5$var$safe_proxy_factory_json_1.default,\n $c2df1460c40c7ce5$var$proxy_factory_json_3.default,\n $c2df1460c40c7ce5$var$proxy_factory_json_2.default,\n $c2df1460c40c7ce5$var$proxy_factory_json_1.default\n];\nconst $c2df1460c40c7ce5$var$getProxyFactoryDeployment = (filter)=>{\n return (0, $iaBWx.findDeployment)(filter, $c2df1460c40c7ce5$var$factoryDeployments);\n};\nmodule.exports.getProxyFactoryDeployment = $c2df1460c40c7ce5$var$getProxyFactoryDeployment;\n\n});\nparcelRequire.register(\"ajeWd\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x12302fE9c02ff50939BaAaaf415fc226C078613C\",\"released\":true,\"contractName\":\"ProxyFactory\",\"version\":\"1.0.0\",\"networkAddresses\":{\"1\":\"0x12302fE9c02ff50939BaAaaf415fc226C078613C\",\"4\":\"0x12302fE9c02ff50939BaAaaf415fc226C078613C\",\"5\":\"0x12302fE9c02ff50939BaAaaf415fc226C078613C\",\"42\":\"0x12302fE9c02ff50939BaAaaf415fc226C078613C\",\"100\":\"0x12302fE9c02ff50939BaAaaf415fc226C078613C\"},\"abi\":[{\"constant\":false,\"inputs\":[{\"name\":\"_mastercopy\",\"type\":\"address\"},{\"name\":\"initializer\",\"type\":\"bytes\"},{\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"createProxyWithNonce\",\"outputs\":[{\"name\":\"proxy\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proxyCreationCode\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"masterCopy\",\"type\":\"address\"},{\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"createProxy\",\"outputs\":[{\"name\":\"proxy\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proxyRuntimeCode\",\"outputs\":[{\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"ProxyCreation\",\"type\":\"event\"}]}');\n\n});\n\nparcelRequire.register(\"6CQRy\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\"released\":true,\"contractName\":\"ProxyFactory\",\"version\":\"1.1.1\",\"networkAddresses\":{\"1\":\"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\"4\":\"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\"5\":\"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\"42\":\"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\"88\":\"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\"100\":\"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\"246\":\"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\"73799\":\"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\"},\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"name\":\"ProxyCreation\",\"type\":\"event\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"masterCopy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"createProxy\",\"outputs\":[{\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proxyRuntimeCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"proxyCreationCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"payable\":false,\"stateMutability\":\"pure\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_mastercopy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"createProxyWithNonce\",\"outputs\":[{\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_mastercopy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"},{\"internalType\":\"contract IProxyCreationCallback\",\"name\":\"callback\",\"type\":\"address\"}],\"name\":\"createProxyWithCallback\",\"outputs\":[{\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"_mastercopy\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"calculateCreateProxyWithNonceAddress\",\"outputs\":[{\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"k7808\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"released\":true,\"contractName\":\"GnosisSafeProxyFactory\",\"version\":\"1.3.0\",\"networkAddresses\":{\"1\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"3\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"4\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"5\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"10\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"11\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"12\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"18\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"25\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"28\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"39\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"40\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"41\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"42\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"50\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"51\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"56\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"61\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"63\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"69\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"82\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"83\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"97\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"100\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"106\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"108\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"111\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"122\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"123\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"137\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"246\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"250\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"288\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"300\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"321\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"322\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"336\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"338\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"420\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"588\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"592\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"595\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"599\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"686\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"787\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"1001\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"1008\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"1088\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"1101\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"1111\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"1112\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"1115\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"1116\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"1284\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"1285\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"1287\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"1294\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"1807\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"1984\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"2001\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"2002\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"2008\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"2019\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"2020\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"2221\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"2222\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"3737\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"4002\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"4689\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"4918\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"4919\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"5001\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"7341\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"7700\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"8217\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"9000\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"9001\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"9728\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"10000\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"10001\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"10200\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"11235\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"11437\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"12357\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"23294\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"42161\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"42170\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"42220\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"43113\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"43114\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"43288\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"44787\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"45000\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"47805\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"54211\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"56288\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"59140\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"71401\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"71402\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"73799\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"80001\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"84531\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"200101\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"200202\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"333999\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"421611\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"421613\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"534353\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"11155111\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"245022926\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"1313161554\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"1313161555\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"1666600000\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"1666700000\":\"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\"11297108099\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\"11297108109\":\"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\"},\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"singleton\",\"type\":\"address\"}],\"name\":\"ProxyCreation\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"calculateCreateProxyWithNonceAddress\",\"outputs\":[{\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"createProxy\",\"outputs\":[{\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"},{\"internalType\":\"contract IProxyCreationCallback\",\"name\":\"callback\",\"type\":\"address\"}],\"name\":\"createProxyWithCallback\",\"outputs\":[{\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"createProxyWithNonce\",\"outputs\":[{\"internalType\":\"contract GnosisSafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxyCreationCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxyRuntimeCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"9bodX\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67\",\"contractName\":\"SafeProxyFactory\",\"version\":\"1.4.0\",\"released\":false,\"networkAddresses\":{\"5\":\"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67\",\"56\":\"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67\",\"100\":\"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67\"},\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"contract SafeProxy\",\"name\":\"proxy\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"singleton\",\"type\":\"address\"}],\"name\":\"ProxyCreation\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"createChainSpecificProxyWithNonce\",\"outputs\":[{\"internalType\":\"contract SafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"},{\"internalType\":\"contract IProxyCreationCallback\",\"name\":\"callback\",\"type\":\"address\"}],\"name\":\"createProxyWithCallback\",\"outputs\":[{\"internalType\":\"contract SafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_singleton\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"initializer\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"saltNonce\",\"type\":\"uint256\"}],\"name\":\"createProxyWithNonce\",\"outputs\":[{\"internalType\":\"contract SafeProxy\",\"name\":\"proxy\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getChainId\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"proxyCreationCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}]}');\n\n});\n\n\nparcelRequire.register(\"3ERWQ\", function(module, exports) {\n\"use strict\";\nvar $2a9ef478836393a9$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.getSignMessageLibDeployment = module.exports.getCreateCallDeployment = module.exports.getMultiSendCallOnlyDeployment = module.exports.getMultiSendDeployment = void 0;\n\nconst $2a9ef478836393a9$var$create_call_json_1 = $2a9ef478836393a9$var$__importDefault((parcelRequire(\"dFjxN\")));\n\nconst $2a9ef478836393a9$var$create_call_json_2 = $2a9ef478836393a9$var$__importDefault((parcelRequire(\"3yNiH\")));\n\nconst $2a9ef478836393a9$var$multi_send_json_1 = $2a9ef478836393a9$var$__importDefault((parcelRequire(\"loUyX\")));\n\nconst $2a9ef478836393a9$var$multi_send_json_2 = $2a9ef478836393a9$var$__importDefault((parcelRequire(\"kMQkS\")));\n\nconst $2a9ef478836393a9$var$multi_send_json_3 = $2a9ef478836393a9$var$__importDefault((parcelRequire(\"iuKjq\")));\n\nconst $2a9ef478836393a9$var$multi_send_call_only_json_1 = $2a9ef478836393a9$var$__importDefault((parcelRequire(\"k36an\")));\n\nconst $2a9ef478836393a9$var$multi_send_call_only_json_2 = $2a9ef478836393a9$var$__importDefault((parcelRequire(\"eDrAB\")));\n\nconst $2a9ef478836393a9$var$sign_message_lib_json_1 = $2a9ef478836393a9$var$__importDefault((parcelRequire(\"5sPNJ\")));\n\nconst $2a9ef478836393a9$var$sign_message_lib_json_2 = $2a9ef478836393a9$var$__importDefault((parcelRequire(\"cYlzj\")));\n\nvar $iaBWx = parcelRequire(\"iaBWx\");\n// This is a sorted array (by preference, currently we use 111 in most cases)\nconst $2a9ef478836393a9$var$multiSendDeployments = [\n $2a9ef478836393a9$var$multi_send_json_3.default,\n $2a9ef478836393a9$var$multi_send_json_2.default,\n $2a9ef478836393a9$var$multi_send_json_1.default\n];\nconst $2a9ef478836393a9$var$getMultiSendDeployment = (filter)=>{\n return (0, $iaBWx.findDeployment)(filter, $2a9ef478836393a9$var$multiSendDeployments);\n};\nmodule.exports.getMultiSendDeployment = $2a9ef478836393a9$var$getMultiSendDeployment;\n// This is a sorted array (by preference)\nconst $2a9ef478836393a9$var$multiSendCallOnlyDeployments = [\n $2a9ef478836393a9$var$multi_send_call_only_json_2.default,\n $2a9ef478836393a9$var$multi_send_call_only_json_1.default\n];\nconst $2a9ef478836393a9$var$getMultiSendCallOnlyDeployment = (filter)=>{\n return (0, $iaBWx.findDeployment)(filter, $2a9ef478836393a9$var$multiSendCallOnlyDeployments);\n};\nmodule.exports.getMultiSendCallOnlyDeployment = $2a9ef478836393a9$var$getMultiSendCallOnlyDeployment;\n// This is a sorted array (by preference)\nconst $2a9ef478836393a9$var$createCallDeployments = [\n $2a9ef478836393a9$var$create_call_json_2.default,\n $2a9ef478836393a9$var$create_call_json_1.default\n];\nconst $2a9ef478836393a9$var$getCreateCallDeployment = (filter)=>{\n return (0, $iaBWx.findDeployment)(filter, $2a9ef478836393a9$var$createCallDeployments);\n};\nmodule.exports.getCreateCallDeployment = $2a9ef478836393a9$var$getCreateCallDeployment;\nconst $2a9ef478836393a9$var$signMessageLibDeployments = [\n $2a9ef478836393a9$var$sign_message_lib_json_2.default,\n $2a9ef478836393a9$var$sign_message_lib_json_1.default\n];\nconst $2a9ef478836393a9$var$getSignMessageLibDeployment = (filter)=>{\n return (0, $iaBWx.findDeployment)(filter, $2a9ef478836393a9$var$signMessageLibDeployments);\n};\nmodule.exports.getSignMessageLibDeployment = $2a9ef478836393a9$var$getSignMessageLibDeployment;\n\n});\nparcelRequire.register(\"dFjxN\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"released\":true,\"contractName\":\"CreateCall\",\"version\":\"1.3.0\",\"networkAddresses\":{\"1\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"3\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"4\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"5\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"10\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"11\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"12\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"18\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"25\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"28\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"39\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"40\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"41\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"42\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"50\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"51\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"56\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"61\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"63\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"69\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"82\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"83\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"97\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"100\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"106\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"108\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"111\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"122\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"123\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"137\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"246\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"250\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"288\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"300\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"321\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"322\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"336\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"338\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"420\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"588\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"592\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"595\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"599\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"686\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"787\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"1001\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"1008\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"1088\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"1101\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"1111\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"1112\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"1115\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"1116\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"1284\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"1285\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"1287\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"1294\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"1807\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"1984\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"2001\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"2002\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"2008\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"2019\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"2020\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"2221\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"2222\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"3737\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"4002\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"4689\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"4918\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"4919\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"5001\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"7341\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"7700\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"8217\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"9000\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"9001\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"9728\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"10000\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"10001\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"10200\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"11235\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"11437\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"12357\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"23294\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"42161\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"42170\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"42220\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"43113\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"43114\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"43288\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"44787\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"45000\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"47805\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"54211\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"56288\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"59140\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"71401\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"71402\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"73799\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"80001\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"84531\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"200101\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"200202\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"333999\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"421611\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"421613\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"534353\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"11155111\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"245022926\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"1313161554\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"1313161555\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"1666600000\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"1666700000\":\"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\"11297108099\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\"11297108109\":\"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\"},\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"newContract\",\"type\":\"address\"}],\"name\":\"ContractCreation\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deploymentData\",\"type\":\"bytes\"}],\"name\":\"performCreate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"newContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deploymentData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"performCreate2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"newContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"3yNiH\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x9b35Af71d77eaf8d7e40252370304687390A1A52\",\"released\":false,\"contractName\":\"CreateCall\",\"version\":\"1.4.0\",\"networkAddresses\":{\"5\":\"0x9b35Af71d77eaf8d7e40252370304687390A1A52\",\"56\":\"0x9b35Af71d77eaf8d7e40252370304687390A1A52\",\"100\":\"0x9b35Af71d77eaf8d7e40252370304687390A1A52\"},\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newContract\",\"type\":\"address\"}],\"name\":\"ContractCreation\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deploymentData\",\"type\":\"bytes\"}],\"name\":\"performCreate\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"newContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deploymentData\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"}],\"name\":\"performCreate2\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"newContract\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"loUyX\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\"released\":true,\"contractName\":\"MultiSend\",\"version\":\"1.1.1\",\"networkAddresses\":{\"1\":\"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\"4\":\"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\"5\":\"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\"42\":\"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\"88\":\"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\"100\":\"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\"246\":\"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\"73799\":\"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\"},\"abi\":[{\"inputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"}],\"name\":\"multiSend\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"kMQkS\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"released\":true,\"contractName\":\"MultiSend\",\"version\":\"1.3.0\",\"networkAddresses\":{\"1\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"3\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"4\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"5\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"10\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"11\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"12\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"18\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"25\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"28\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"39\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"40\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"41\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"42\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"50\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"51\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"56\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"61\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"63\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"69\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"82\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"83\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"97\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"100\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"106\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"108\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"111\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"122\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"123\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"137\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"246\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"250\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"288\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"300\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"321\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"322\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"336\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"338\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"420\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"588\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"592\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"595\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"599\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"686\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"787\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"1001\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"1008\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"1088\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"1101\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"1111\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"1112\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"1115\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"1116\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"1284\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"1285\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"1287\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"1294\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"1807\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"1984\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"2001\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"2002\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"2008\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"2019\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"2020\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"2221\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"2222\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"3737\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"4002\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"4689\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"4918\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"4919\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"5001\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"7341\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"7700\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"8217\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"9000\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"9001\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"9728\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"10000\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"10001\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"10200\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"11235\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"11437\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"12357\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"23294\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"42161\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"42170\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"42220\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"43113\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"43114\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"43288\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"44787\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"45000\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"47805\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"54211\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"56288\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"59140\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"71401\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"71402\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"73799\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"80001\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"84531\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"200101\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"200202\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"333999\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"421611\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"421613\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"534353\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"11155111\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"245022926\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"1313161554\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"1313161555\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"1666600000\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"1666700000\":\"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\"11297108099\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\"11297108109\":\"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\"},\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"}],\"name\":\"multiSend\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"iuKjq\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526\",\"released\":false,\"contractName\":\"MultiSend\",\"version\":\"1.4.0\",\"networkAddresses\":{\"5\":\"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526\",\"56\":\"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526\",\"100\":\"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526\"},\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"}],\"name\":\"multiSend\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"k36an\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"released\":true,\"contractName\":\"MultiSendCallOnly\",\"version\":\"1.3.0\",\"networkAddresses\":{\"1\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"3\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"4\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"5\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"10\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"11\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"12\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"18\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"25\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"28\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"39\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"40\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"41\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"42\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"50\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"51\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"56\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"61\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"63\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"69\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"82\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"83\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"97\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"100\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"106\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"108\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"111\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"122\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"123\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"137\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"246\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"250\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"288\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"300\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"321\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"322\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"336\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"338\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"420\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"588\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"592\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"595\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"599\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"686\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"787\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"1001\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"1008\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"1088\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"1101\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"1111\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"1112\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"1115\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"1116\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"1284\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"1285\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"1287\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"1294\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"1807\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"1984\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"2001\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"2002\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"2008\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"2019\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"2020\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"2221\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"2222\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"3737\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"4002\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"4689\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"4918\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"4919\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"5001\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"7341\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"7700\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"8217\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"9000\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"9001\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"9728\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"10000\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"10001\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"10200\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"11235\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"11437\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"12357\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"23294\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"42161\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"42170\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"42220\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"43113\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"43114\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"43288\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"44787\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"45000\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"47805\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"54211\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"56288\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"59140\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"71401\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"71402\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"73799\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"80001\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"84531\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"200101\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"200202\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"333999\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"421611\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"421613\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"534353\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"11155111\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"245022926\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"1313161554\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"1313161555\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"1666600000\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"1666700000\":\"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\"11297108099\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\"11297108109\":\"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\"},\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"}],\"name\":\"multiSend\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"eDrAB\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x9641d764fc13c8B624c04430C7356C1C7C8102e2\",\"released\":false,\"contractName\":\"MultiSendCallOnly\",\"version\":\"1.4.0\",\"networkAddresses\":{\"5\":\"0x9641d764fc13c8B624c04430C7356C1C7C8102e2\",\"56\":\"0x9641d764fc13c8B624c04430C7356C1C7C8102e2\",\"100\":\"0x9641d764fc13c8B624c04430C7356C1C7C8102e2\"},\"abi\":[{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"transactions\",\"type\":\"bytes\"}],\"name\":\"multiSend\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"5sPNJ\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"contractName\":\"SignMessageLib\",\"version\":\"1.3.0\",\"released\":true,\"networkAddresses\":{\"1\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"3\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"4\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"5\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"10\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"11\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"12\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"18\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"25\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"28\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"39\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"40\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"41\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"42\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"50\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"51\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"56\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"61\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"63\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"69\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"82\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"83\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"97\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"100\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"106\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"108\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"111\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"122\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"123\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"137\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"246\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"250\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"288\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"300\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"321\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"322\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"336\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"338\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"420\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"588\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"592\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"595\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"599\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"686\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"787\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"1001\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"1008\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"1088\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"1101\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"1111\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"1112\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"1115\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"1116\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"1284\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"1285\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"1287\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"1294\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"1807\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"1984\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"2001\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"2002\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"2008\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"2019\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"2020\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"2221\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"2222\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"3737\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"4002\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"4689\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"4918\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"4919\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"5001\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"7341\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"7700\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"8217\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"9000\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"9001\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"9728\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"10000\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"10001\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"10200\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"11235\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"11437\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"12357\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"23294\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"42161\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"42170\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"42220\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"43113\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"43114\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"43288\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"44787\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"45000\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"47805\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"54211\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"56288\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"59140\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"71401\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"71402\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"73799\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"80001\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"84531\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"200101\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"200202\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"421611\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"421613\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"534353\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"11155111\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"245022926\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"1313161554\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"1313161555\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"1666600000\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"1666700000\":\"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\"11297108099\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\"11297108109\":\"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\"},\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"SignMsg\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"getMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"signMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"cYlzj\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520\",\"contractName\":\"SignMessageLib\",\"version\":\"1.4.0\",\"released\":false,\"networkAddresses\":{\"5\":\"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520\",\"56\":\"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520\",\"100\":\"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520\"},\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"msgHash\",\"type\":\"bytes32\"}],\"name\":\"SignMsg\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"getMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"}],\"name\":\"signMessage\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]}');\n\n});\n\n\nparcelRequire.register(\"5IdKJ\", function(module, exports) {\n\"use strict\";\nvar $428bbad6fe46ab6d$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.getFallbackHandlerDeployment = module.exports.getCompatibilityFallbackHandlerDeployment = module.exports.getDefaultCallbackHandlerDeployment = void 0;\n\nconst $428bbad6fe46ab6d$var$default_callback_handler_json_1 = $428bbad6fe46ab6d$var$__importDefault((parcelRequire(\"htjeQ\")));\n\nconst $428bbad6fe46ab6d$var$compatibility_fallback_handler_json_1 = $428bbad6fe46ab6d$var$__importDefault((parcelRequire(\"9ueqt\")));\n\nconst $428bbad6fe46ab6d$var$compatibility_fallback_handler_json_2 = $428bbad6fe46ab6d$var$__importDefault((parcelRequire(\"8kzGI\")));\n\nvar $iaBWx = parcelRequire(\"iaBWx\");\n// This is a sorted array (by preference)\nconst $428bbad6fe46ab6d$var$defaultCallbackHandlerDeployments = [\n $428bbad6fe46ab6d$var$default_callback_handler_json_1.default\n];\nconst $428bbad6fe46ab6d$var$getDefaultCallbackHandlerDeployment = (filter)=>{\n return (0, $iaBWx.findDeployment)(filter, $428bbad6fe46ab6d$var$defaultCallbackHandlerDeployments);\n};\nmodule.exports.getDefaultCallbackHandlerDeployment = $428bbad6fe46ab6d$var$getDefaultCallbackHandlerDeployment;\n// This is a sorted array (by preference)\nconst $428bbad6fe46ab6d$var$compatFallbackHandlerDeployments = [\n $428bbad6fe46ab6d$var$compatibility_fallback_handler_json_2.default,\n $428bbad6fe46ab6d$var$compatibility_fallback_handler_json_1.default\n];\nconst $428bbad6fe46ab6d$var$getCompatibilityFallbackHandlerDeployment = (filter)=>{\n return (0, $iaBWx.findDeployment)(filter, $428bbad6fe46ab6d$var$compatFallbackHandlerDeployments);\n};\nmodule.exports.getCompatibilityFallbackHandlerDeployment = $428bbad6fe46ab6d$var$getCompatibilityFallbackHandlerDeployment;\n// This is a sorted array (by preference)\nconst $428bbad6fe46ab6d$var$fallbackHandlerDeployments = [\n $428bbad6fe46ab6d$var$compatibility_fallback_handler_json_2.default,\n $428bbad6fe46ab6d$var$compatibility_fallback_handler_json_1.default,\n $428bbad6fe46ab6d$var$default_callback_handler_json_1.default\n];\nconst $428bbad6fe46ab6d$var$getFallbackHandlerDeployment = (filter)=>{\n return (0, $iaBWx.findDeployment)(filter, $428bbad6fe46ab6d$var$fallbackHandlerDeployments);\n};\nmodule.exports.getFallbackHandlerDeployment = $428bbad6fe46ab6d$var$getFallbackHandlerDeployment;\n\n});\nparcelRequire.register(\"htjeQ\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\"released\":true,\"contractName\":\"DefaultCallbackHandler\",\"version\":\"1.1.1\",\"networkAddresses\":{\"1\":\"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\"4\":\"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\"5\":\"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\"42\":\"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\"88\":\"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\"100\":\"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\"246\":\"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\"73799\":\"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\"},\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"NAME\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"stateMutability\":\"view\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"tokensReceived\",\"outputs\":[],\"payable\":false,\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"9ueqt\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"released\":true,\"contractName\":\"CompatibilityFallbackHandler\",\"version\":\"1.3.0\",\"networkAddresses\":{\"1\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"3\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"4\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"5\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"10\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"11\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"12\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"18\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"25\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"28\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"39\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"40\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"41\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"42\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"50\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"51\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"56\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"61\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"63\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"69\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"82\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"83\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"97\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"100\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"106\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"108\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"111\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"122\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"123\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"137\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"246\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"250\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"288\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"300\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"321\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"322\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"336\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"338\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"420\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"588\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"592\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"595\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"599\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"686\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"787\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"1001\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"1008\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"1088\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"1101\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"1111\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"1112\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"1115\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"1116\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"1284\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"1285\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"1287\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"1294\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"1807\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"1984\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"2001\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"2002\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"2008\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"2019\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"2020\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"2221\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"2222\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"3737\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"4002\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"4689\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"4918\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"4919\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"5001\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"7341\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"7700\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"8217\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"9000\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"9001\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"9728\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"10000\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"10001\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"10200\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"11235\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"11437\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"12357\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"23294\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"42161\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"42170\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"42220\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"43113\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"43114\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"43288\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"44787\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"45000\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"47805\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"54211\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"56288\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"59140\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"71401\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"71402\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"73799\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"80001\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"84531\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"200101\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"200202\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"333999\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"421611\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"421613\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"534353\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"11155111\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"245022926\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"1313161554\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"1313161555\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"1666600000\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"1666700000\":\"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\"11297108099\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\"11297108109\":\"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\"},\"abi\":[{\"inputs\":[],\"name\":\"NAME\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"VERSION\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"getMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract GnosisSafe\",\"name\":\"safe\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"getMessageHashForSafe\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getModules\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_dataHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"targetContract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"calldataPayload\",\"type\":\"bytes\"}],\"name\":\"simulate\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"response\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"tokensReceived\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"8kzGI\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820\",\"released\":false,\"contractName\":\"CompatibilityFallbackHandler\",\"version\":\"1.4.0\",\"networkAddresses\":{\"5\":\"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820\",\"56\":\"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820\",\"100\":\"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820\"},\"abi\":[{\"inputs\":[{\"internalType\":\"contract Safe\",\"name\":\"safe\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"encodeMessageDataForSafe\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"getMessageHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"contract Safe\",\"name\":\"safe\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"message\",\"type\":\"bytes\"}],\"name\":\"getMessageHashForSafe\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getModules\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_dataHash\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"_data\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"_signature\",\"type\":\"bytes\"}],\"name\":\"isValidSignature\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155BatchReceived\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC1155Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"targetContract\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"calldataPayload\",\"type\":\"bytes\"}],\"name\":\"simulate\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"response\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"tokensReceived\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"}]}');\n\n});\n\n\nparcelRequire.register(\"gFAUG\", function(module, exports) {\n\"use strict\";\nvar $c22d1be08752ebd6$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.getSimulateTxAccessorDeployment = void 0;\n\nconst $c22d1be08752ebd6$var$simulate_tx_accessor_json_1 = $c22d1be08752ebd6$var$__importDefault((parcelRequire(\"jIePL\")));\n\nconst $c22d1be08752ebd6$var$simulate_tx_accessor_json_2 = $c22d1be08752ebd6$var$__importDefault((parcelRequire(\"3n8Yl\")));\n\nvar $iaBWx = parcelRequire(\"iaBWx\");\n// This is a sorted array (newest to oldest)\nconst $c22d1be08752ebd6$var$accessorDeployments = [\n $c22d1be08752ebd6$var$simulate_tx_accessor_json_2.default,\n $c22d1be08752ebd6$var$simulate_tx_accessor_json_1.default\n];\nconst $c22d1be08752ebd6$var$getSimulateTxAccessorDeployment = (filter)=>{\n return (0, $iaBWx.findDeployment)(filter, $c22d1be08752ebd6$var$accessorDeployments);\n};\nmodule.exports.getSimulateTxAccessorDeployment = $c22d1be08752ebd6$var$getSimulateTxAccessorDeployment;\n\n});\nparcelRequire.register(\"jIePL\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"released\":true,\"contractName\":\"SimulateTxAccessor\",\"version\":\"1.3.0\",\"networkAddresses\":{\"1\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"3\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"4\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"5\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"10\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"11\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"12\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"18\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"25\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"28\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"39\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"40\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"41\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"42\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"50\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"51\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"56\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"61\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"63\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"69\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"82\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"83\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"97\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"100\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"106\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"108\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"111\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"122\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"123\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"137\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"246\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"250\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"288\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"300\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"321\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"322\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"336\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"338\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"420\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"588\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"592\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"595\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"599\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"686\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"787\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"1001\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"1008\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"1088\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"1101\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"1111\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"1112\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"1115\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"1116\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"1284\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"1285\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"1287\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"1294\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"1807\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"1984\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"2001\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"2002\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"2008\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"2019\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"2020\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"2221\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"2222\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"3737\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"4002\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"4689\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"4918\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"4919\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"5001\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"7341\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"7700\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"8217\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"9000\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"9001\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"9728\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"10000\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"10001\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"10200\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"11235\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"11437\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"12357\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"23294\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"42161\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"42170\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"42220\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"43113\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"43114\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"43288\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"44787\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"45000\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"47805\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"54211\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"56288\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"59140\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"71401\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"71402\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"73799\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"80001\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"84531\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"200101\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"200202\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"333999\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"421611\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"421613\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"534353\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"11155111\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"245022926\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"1313161554\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"1313161555\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"1666600000\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"1666700000\":\"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\"11297108099\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\"11297108109\":\"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\"},\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"simulate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"estimate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]}');\n\n});\n\nparcelRequire.register(\"3n8Yl\", function(module, exports) {\nmodule.exports = JSON.parse('{\"defaultAddress\":\"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\",\"released\":false,\"contractName\":\"SimulateTxAccessor\",\"version\":\"1.4.0\",\"networkAddresses\":{\"5\":\"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\",\"56\":\"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\",\"100\":\"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\"},\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"enum Enum.Operation\",\"name\":\"operation\",\"type\":\"uint8\"}],\"name\":\"simulate\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"estimate\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"success\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"returnData\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]}');\n\n});\n\n\nparcelRequire.register(\"1SJBK\", function(module, exports) {\n\"use strict\";\nvar $15ee365c891177bb$var$__classPrivateFieldSet = module.exports && module.exports.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $15ee365c891177bb$var$__classPrivateFieldGet = module.exports && module.exports.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $15ee365c891177bb$var$_ContractManager_contractNetworks, $15ee365c891177bb$var$_ContractManager_isL1SafeMasterCopy, $15ee365c891177bb$var$_ContractManager_safeContract, $15ee365c891177bb$var$_ContractManager_multiSendContract, $15ee365c891177bb$var$_ContractManager_multiSendCallOnlyContract;\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $9sENV = parcelRequire(\"9sENV\");\n\nvar $fn2H0 = parcelRequire(\"fn2H0\");\n\nvar $eakBT = parcelRequire(\"eakBT\");\nclass $15ee365c891177bb$var$ContractManager {\n constructor(){\n $15ee365c891177bb$var$_ContractManager_contractNetworks.set(this, void 0);\n $15ee365c891177bb$var$_ContractManager_isL1SafeMasterCopy.set(this, void 0);\n $15ee365c891177bb$var$_ContractManager_safeContract.set(this, void 0);\n $15ee365c891177bb$var$_ContractManager_multiSendContract.set(this, void 0);\n $15ee365c891177bb$var$_ContractManager_multiSendCallOnlyContract.set(this, void 0);\n }\n static async create(config) {\n const contractManager = new $15ee365c891177bb$var$ContractManager();\n await contractManager.init(config);\n return contractManager;\n }\n async init(config) {\n var _a, _b;\n const { ethAdapter: ethAdapter , isL1SafeMasterCopy: isL1SafeMasterCopy , contractNetworks: contractNetworks } = config;\n const chainId = await ethAdapter.getChainId();\n const customContracts = contractNetworks === null || contractNetworks === void 0 ? void 0 : contractNetworks[chainId];\n $15ee365c891177bb$var$__classPrivateFieldSet(this, $15ee365c891177bb$var$_ContractManager_contractNetworks, contractNetworks, \"f\");\n $15ee365c891177bb$var$__classPrivateFieldSet(this, $15ee365c891177bb$var$_ContractManager_isL1SafeMasterCopy, isL1SafeMasterCopy, \"f\");\n let safeVersion;\n if ((0, $eakBT.isSafeConfigWithPredictedSafe)(config)) safeVersion = (_b = (_a = config.predictedSafe.safeDeploymentConfig) === null || _a === void 0 ? void 0 : _a.safeVersion) !== null && _b !== void 0 ? _b : $9sENV.SAFE_LAST_VERSION;\n else {\n const temporarySafeContract = await (0, $fn2H0.getSafeContract)({\n ethAdapter: ethAdapter,\n safeVersion: $9sENV.SAFE_LAST_VERSION,\n isL1SafeMasterCopy: isL1SafeMasterCopy,\n customSafeAddress: config.safeAddress,\n customContracts: customContracts\n });\n safeVersion = await temporarySafeContract.getVersion();\n $15ee365c891177bb$var$__classPrivateFieldSet(this, $15ee365c891177bb$var$_ContractManager_safeContract, await (0, $fn2H0.getSafeContract)({\n ethAdapter: ethAdapter,\n safeVersion: safeVersion,\n isL1SafeMasterCopy: isL1SafeMasterCopy,\n customSafeAddress: config.safeAddress,\n customContracts: customContracts\n }), \"f\");\n }\n $15ee365c891177bb$var$__classPrivateFieldSet(this, $15ee365c891177bb$var$_ContractManager_multiSendContract, await (0, $fn2H0.getMultiSendContract)({\n ethAdapter: ethAdapter,\n safeVersion: safeVersion,\n customContracts: customContracts\n }), \"f\");\n $15ee365c891177bb$var$__classPrivateFieldSet(this, $15ee365c891177bb$var$_ContractManager_multiSendCallOnlyContract, await (0, $fn2H0.getMultiSendCallOnlyContract)({\n ethAdapter: ethAdapter,\n safeVersion: safeVersion,\n customContracts: customContracts\n }), \"f\");\n }\n get contractNetworks() {\n return $15ee365c891177bb$var$__classPrivateFieldGet(this, $15ee365c891177bb$var$_ContractManager_contractNetworks, \"f\");\n }\n get isL1SafeMasterCopy() {\n return $15ee365c891177bb$var$__classPrivateFieldGet(this, $15ee365c891177bb$var$_ContractManager_isL1SafeMasterCopy, \"f\");\n }\n get safeContract() {\n return $15ee365c891177bb$var$__classPrivateFieldGet(this, $15ee365c891177bb$var$_ContractManager_safeContract, \"f\");\n }\n get multiSendContract() {\n return $15ee365c891177bb$var$__classPrivateFieldGet(this, $15ee365c891177bb$var$_ContractManager_multiSendContract, \"f\");\n }\n get multiSendCallOnlyContract() {\n return $15ee365c891177bb$var$__classPrivateFieldGet(this, $15ee365c891177bb$var$_ContractManager_multiSendCallOnlyContract, \"f\");\n }\n}\n$15ee365c891177bb$var$_ContractManager_contractNetworks = new WeakMap(), $15ee365c891177bb$var$_ContractManager_isL1SafeMasterCopy = new WeakMap(), $15ee365c891177bb$var$_ContractManager_safeContract = new WeakMap(), $15ee365c891177bb$var$_ContractManager_multiSendContract = new WeakMap(), $15ee365c891177bb$var$_ContractManager_multiSendCallOnlyContract = new WeakMap();\nmodule.exports.default = $15ee365c891177bb$var$ContractManager;\n\n});\nparcelRequire.register(\"9sENV\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.safeDeploymentsL1ChainIds = module.exports.safeDeploymentsVersions = module.exports.SAFE_BASE_VERSION = module.exports.SAFE_LAST_VERSION = void 0;\nmodule.exports.SAFE_LAST_VERSION = \"1.3.0\";\nmodule.exports.SAFE_BASE_VERSION = \"1.0.0\";\nmodule.exports.safeDeploymentsVersions = {\n \"1.3.0\": {\n safeMasterCopyVersion: \"1.3.0\",\n safeMasterCopyL2Version: \"1.3.0\",\n safeProxyFactoryVersion: \"1.3.0\",\n compatibilityFallbackHandler: \"1.3.0\",\n multiSendVersion: \"1.3.0\",\n multiSendCallOnlyVersion: \"1.3.0\",\n signMessageLibVersion: \"1.3.0\",\n createCallVersion: \"1.3.0\"\n },\n \"1.2.0\": {\n safeMasterCopyVersion: \"1.2.0\",\n safeMasterCopyL2Version: undefined,\n safeProxyFactoryVersion: \"1.1.1\",\n compatibilityFallbackHandler: \"1.3.0\",\n multiSendVersion: \"1.1.1\",\n multiSendCallOnlyVersion: \"1.3.0\",\n signMessageLibVersion: \"1.3.0\",\n createCallVersion: \"1.3.0\"\n },\n \"1.1.1\": {\n safeMasterCopyVersion: \"1.1.1\",\n safeMasterCopyL2Version: undefined,\n safeProxyFactoryVersion: \"1.1.1\",\n compatibilityFallbackHandler: \"1.3.0\",\n multiSendVersion: \"1.1.1\",\n multiSendCallOnlyVersion: \"1.3.0\",\n signMessageLibVersion: \"1.3.0\",\n createCallVersion: \"1.3.0\"\n },\n \"1.0.0\": {\n safeMasterCopyVersion: \"1.0.0\",\n safeMasterCopyL2Version: undefined,\n safeProxyFactoryVersion: \"1.0.0\",\n compatibilityFallbackHandler: \"1.3.0\",\n multiSendVersion: \"1.1.1\",\n multiSendCallOnlyVersion: \"1.3.0\",\n signMessageLibVersion: \"1.3.0\",\n createCallVersion: \"1.3.0\"\n }\n};\nmodule.exports.safeDeploymentsL1ChainIds = [\n 1 // Ethereum Mainnet\n];\n\n});\n\nparcelRequire.register(\"fn2H0\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.getCreateCallContract = module.exports.getSignMessageLibContract = module.exports.getMultiSendCallOnlyContract = module.exports.getMultiSendContract = module.exports.getCompatibilityFallbackHandlerContract = module.exports.getProxyFactoryContract = module.exports.getSafeContract = module.exports.getCreateCallContractDeployment = module.exports.getSignMessageLibContractDeployment = module.exports.getSafeProxyFactoryContractDeployment = module.exports.getMultiSendContractDeployment = module.exports.getMultiSendCallOnlyContractDeployment = module.exports.getCompatibilityFallbackHandlerContractDeployment = module.exports.getSafeContractDeployment = void 0;\n\nvar $hLMc5 = parcelRequire(\"hLMc5\");\n\nvar $9sENV = parcelRequire(\"9sENV\");\nfunction $b30b17b956798fd1$var$getSafeContractDeployment(safeVersion, chainId, isL1SafeMasterCopy = false) {\n const version = $9sENV.safeDeploymentsVersions[safeVersion].safeMasterCopyVersion;\n const filters = {\n version: version,\n network: chainId.toString(),\n released: true\n };\n if ($9sENV.safeDeploymentsL1ChainIds.includes(chainId) || isL1SafeMasterCopy) return (0, $hLMc5.getSafeSingletonDeployment)(filters);\n return (0, $hLMc5.getSafeL2SingletonDeployment)(filters);\n}\nmodule.exports.getSafeContractDeployment = $b30b17b956798fd1$var$getSafeContractDeployment;\nfunction $b30b17b956798fd1$var$getCompatibilityFallbackHandlerContractDeployment(safeVersion, chainId) {\n const version = $9sENV.safeDeploymentsVersions[safeVersion].compatibilityFallbackHandler;\n return (0, $hLMc5.getCompatibilityFallbackHandlerDeployment)({\n version: version,\n network: chainId.toString(),\n released: true\n });\n}\nmodule.exports.getCompatibilityFallbackHandlerContractDeployment = $b30b17b956798fd1$var$getCompatibilityFallbackHandlerContractDeployment;\nfunction $b30b17b956798fd1$var$getMultiSendCallOnlyContractDeployment(safeVersion, chainId) {\n const version = $9sENV.safeDeploymentsVersions[safeVersion].multiSendCallOnlyVersion;\n return (0, $hLMc5.getMultiSendCallOnlyDeployment)({\n version: version,\n network: chainId.toString(),\n released: true\n });\n}\nmodule.exports.getMultiSendCallOnlyContractDeployment = $b30b17b956798fd1$var$getMultiSendCallOnlyContractDeployment;\nfunction $b30b17b956798fd1$var$getMultiSendContractDeployment(safeVersion, chainId) {\n const version = $9sENV.safeDeploymentsVersions[safeVersion].multiSendVersion;\n return (0, $hLMc5.getMultiSendDeployment)({\n version: version,\n network: chainId.toString(),\n released: true\n });\n}\nmodule.exports.getMultiSendContractDeployment = $b30b17b956798fd1$var$getMultiSendContractDeployment;\nfunction $b30b17b956798fd1$var$getSafeProxyFactoryContractDeployment(safeVersion, chainId) {\n const version = $9sENV.safeDeploymentsVersions[safeVersion].safeProxyFactoryVersion;\n return (0, $hLMc5.getProxyFactoryDeployment)({\n version: version,\n network: chainId.toString(),\n released: true\n });\n}\nmodule.exports.getSafeProxyFactoryContractDeployment = $b30b17b956798fd1$var$getSafeProxyFactoryContractDeployment;\nfunction $b30b17b956798fd1$var$getSignMessageLibContractDeployment(safeVersion, chainId) {\n const version = $9sENV.safeDeploymentsVersions[safeVersion].signMessageLibVersion;\n return (0, $hLMc5.getSignMessageLibDeployment)({\n version: version,\n network: chainId.toString(),\n released: true\n });\n}\nmodule.exports.getSignMessageLibContractDeployment = $b30b17b956798fd1$var$getSignMessageLibContractDeployment;\nfunction $b30b17b956798fd1$var$getCreateCallContractDeployment(safeVersion, chainId) {\n const version = $9sENV.safeDeploymentsVersions[safeVersion].createCallVersion;\n return (0, $hLMc5.getCreateCallDeployment)({\n version: version,\n network: chainId.toString(),\n released: true\n });\n}\nmodule.exports.getCreateCallContractDeployment = $b30b17b956798fd1$var$getCreateCallContractDeployment;\nasync function $b30b17b956798fd1$var$getSafeContract({ ethAdapter: ethAdapter , safeVersion: safeVersion , customSafeAddress: customSafeAddress , isL1SafeMasterCopy: isL1SafeMasterCopy , customContracts: customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const singletonDeployment = $b30b17b956798fd1$var$getSafeContractDeployment(safeVersion, chainId, isL1SafeMasterCopy);\n const gnosisSafeContract = await ethAdapter.getSafeContract({\n safeVersion: safeVersion,\n singletonDeployment: singletonDeployment,\n customContractAddress: customSafeAddress !== null && customSafeAddress !== void 0 ? customSafeAddress : customContracts === null || customContracts === void 0 ? void 0 : customContracts.safeMasterCopyAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.safeMasterCopyAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(gnosisSafeContract.getAddress());\n if (!isContractDeployed) throw new Error(\"SafeProxy contract is not deployed on the current network\");\n return gnosisSafeContract;\n}\nmodule.exports.getSafeContract = $b30b17b956798fd1$var$getSafeContract;\nasync function $b30b17b956798fd1$var$getProxyFactoryContract({ ethAdapter: ethAdapter , safeVersion: safeVersion , customContracts: customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const proxyFactoryDeployment = $b30b17b956798fd1$var$getSafeProxyFactoryContractDeployment(safeVersion, chainId);\n const safeProxyFactoryContract = await ethAdapter.getSafeProxyFactoryContract({\n safeVersion: safeVersion,\n singletonDeployment: proxyFactoryDeployment,\n customContractAddress: customContracts === null || customContracts === void 0 ? void 0 : customContracts.safeProxyFactoryAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.safeProxyFactoryAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(safeProxyFactoryContract.getAddress());\n if (!isContractDeployed) throw new Error(\"SafeProxyFactory contract is not deployed on the current network\");\n return safeProxyFactoryContract;\n}\nmodule.exports.getProxyFactoryContract = $b30b17b956798fd1$var$getProxyFactoryContract;\nasync function $b30b17b956798fd1$var$getCompatibilityFallbackHandlerContract({ ethAdapter: ethAdapter , safeVersion: safeVersion , customContracts: customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const fallbackHandlerDeployment = $b30b17b956798fd1$var$getCompatibilityFallbackHandlerContractDeployment(safeVersion, chainId);\n const fallbackHandlerContract = await ethAdapter.getCompatibilityFallbackHandlerContract({\n safeVersion: safeVersion,\n singletonDeployment: fallbackHandlerDeployment,\n customContractAddress: customContracts === null || customContracts === void 0 ? void 0 : customContracts.fallbackHandlerAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.fallbackHandlerAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(fallbackHandlerContract.getAddress());\n if (!isContractDeployed) throw new Error(\"CompatibilityFallbackHandler contract is not deployed on the current network\");\n return fallbackHandlerContract;\n}\nmodule.exports.getCompatibilityFallbackHandlerContract = $b30b17b956798fd1$var$getCompatibilityFallbackHandlerContract;\nasync function $b30b17b956798fd1$var$getMultiSendContract({ ethAdapter: ethAdapter , safeVersion: safeVersion , customContracts: customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const multiSendDeployment = $b30b17b956798fd1$var$getMultiSendContractDeployment(safeVersion, chainId);\n const multiSendContract = await ethAdapter.getMultiSendContract({\n safeVersion: safeVersion,\n singletonDeployment: multiSendDeployment,\n customContractAddress: customContracts === null || customContracts === void 0 ? void 0 : customContracts.multiSendAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.multiSendAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(multiSendContract.getAddress());\n if (!isContractDeployed) throw new Error(\"MultiSend contract is not deployed on the current network\");\n return multiSendContract;\n}\nmodule.exports.getMultiSendContract = $b30b17b956798fd1$var$getMultiSendContract;\nasync function $b30b17b956798fd1$var$getMultiSendCallOnlyContract({ ethAdapter: ethAdapter , safeVersion: safeVersion , customContracts: customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const multiSendCallOnlyDeployment = $b30b17b956798fd1$var$getMultiSendCallOnlyContractDeployment(safeVersion, chainId);\n const multiSendCallOnlyContract = await ethAdapter.getMultiSendCallOnlyContract({\n safeVersion: safeVersion,\n singletonDeployment: multiSendCallOnlyDeployment,\n customContractAddress: customContracts === null || customContracts === void 0 ? void 0 : customContracts.multiSendCallOnlyAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.multiSendCallOnlyAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(multiSendCallOnlyContract.getAddress());\n if (!isContractDeployed) throw new Error(\"MultiSendCallOnly contract is not deployed on the current network\");\n return multiSendCallOnlyContract;\n}\nmodule.exports.getMultiSendCallOnlyContract = $b30b17b956798fd1$var$getMultiSendCallOnlyContract;\nasync function $b30b17b956798fd1$var$getSignMessageLibContract({ ethAdapter: ethAdapter , safeVersion: safeVersion , customContracts: customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const signMessageLibDeployment = $b30b17b956798fd1$var$getSignMessageLibContractDeployment(safeVersion, chainId);\n const signMessageLibContract = await ethAdapter.getSignMessageLibContract({\n safeVersion: safeVersion,\n singletonDeployment: signMessageLibDeployment,\n customContractAddress: customContracts === null || customContracts === void 0 ? void 0 : customContracts.signMessageLibAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.signMessageLibAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(signMessageLibContract.getAddress());\n if (!isContractDeployed) throw new Error(\"SignMessageLib contract is not deployed on the current network\");\n return signMessageLibContract;\n}\nmodule.exports.getSignMessageLibContract = $b30b17b956798fd1$var$getSignMessageLibContract;\nasync function $b30b17b956798fd1$var$getCreateCallContract({ ethAdapter: ethAdapter , safeVersion: safeVersion , customContracts: customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const createCallDeployment = $b30b17b956798fd1$var$getCreateCallContractDeployment(safeVersion, chainId);\n const createCallContract = await ethAdapter.getCreateCallContract({\n safeVersion: safeVersion,\n singletonDeployment: createCallDeployment,\n customContractAddress: customContracts === null || customContracts === void 0 ? void 0 : customContracts.createCallAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.createCallAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(createCallContract.getAddress());\n if (!isContractDeployed) throw new Error(\"CreateCall contract is not deployed on the current network\");\n return createCallContract;\n}\nmodule.exports.getCreateCallContract = $b30b17b956798fd1$var$getCreateCallContract;\n\n});\nparcelRequire.register(\"hLMc5\", function(module, exports) {\n\"use strict\";\nvar $cefc35c14c11d0e8$var$__createBinding = module.exports && module.exports.__createBinding || (Object.create ? function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) desc = {\n enumerable: true,\n get: function() {\n return m[k];\n }\n };\n Object.defineProperty(o, k2, desc);\n} : function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\nvar $cefc35c14c11d0e8$var$__exportStar = module.exports && module.exports.__exportStar || function(m, exports1) {\n for(var p in m)if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports1, p)) $cefc35c14c11d0e8$var$__createBinding(exports1, m, p);\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\n$cefc35c14c11d0e8$var$__exportStar((parcelRequire(\"hZ9RD\")), module.exports);\n\n$cefc35c14c11d0e8$var$__exportStar((parcelRequire(\"hwOfH\")), module.exports);\n\n$cefc35c14c11d0e8$var$__exportStar((parcelRequire(\"gJilu\")), module.exports);\n\n$cefc35c14c11d0e8$var$__exportStar((parcelRequire(\"3ERWQ\")), module.exports);\n\n$cefc35c14c11d0e8$var$__exportStar((parcelRequire(\"5IdKJ\")), module.exports);\n\n$cefc35c14c11d0e8$var$__exportStar((parcelRequire(\"gFAUG\")), module.exports);\n\n});\n\n\nparcelRequire.register(\"eakBT\", function(module, exports) {\n\"use strict\";\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.isSafeConfigWithPredictedSafe = void 0;\nfunction $a501fc9a3216144e$var$isSafeConfigWithPredictedSafe(config) {\n return config.predictedSafe !== undefined;\n}\nmodule.exports.isSafeConfigWithPredictedSafe = $a501fc9a3216144e$var$isSafeConfigWithPredictedSafe;\n\n});\n\n\nparcelRequire.register(\"aEhpL\", function(module, exports) {\n\"use strict\";\nvar $7c0b25fda6ef2281$var$__classPrivateFieldSet = module.exports && module.exports.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $7c0b25fda6ef2281$var$__classPrivateFieldGet = module.exports && module.exports.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $7c0b25fda6ef2281$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nvar $7c0b25fda6ef2281$var$_Safe_predictedSafe, $7c0b25fda6ef2281$var$_Safe_ethAdapter, $7c0b25fda6ef2281$var$_Safe_contractManager, $7c0b25fda6ef2281$var$_Safe_ownerManager, $7c0b25fda6ef2281$var$_Safe_moduleManager, $7c0b25fda6ef2281$var$_Safe_guardManager, $7c0b25fda6ef2281$var$_Safe_fallbackHandlerManager;\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $5xott = parcelRequire(\"5xott\");\n\nvar $9sENV = parcelRequire(\"9sENV\");\n\nvar $fPni6 = parcelRequire(\"fPni6\");\n\nconst $7c0b25fda6ef2281$var$contractManager_1 = $7c0b25fda6ef2281$var$__importDefault((parcelRequire(\"1SJBK\")));\n\nconst $7c0b25fda6ef2281$var$fallbackHandlerManager_1 = $7c0b25fda6ef2281$var$__importDefault((parcelRequire(\"fj7Yf\")));\n\nconst $7c0b25fda6ef2281$var$guardManager_1 = $7c0b25fda6ef2281$var$__importDefault((parcelRequire(\"8AUA8\")));\n\nconst $7c0b25fda6ef2281$var$moduleManager_1 = $7c0b25fda6ef2281$var$__importDefault((parcelRequire(\"gwBNF\")));\n\nconst $7c0b25fda6ef2281$var$ownerManager_1 = $7c0b25fda6ef2281$var$__importDefault((parcelRequire(\"1rQd7\")));\n\nvar $7a7Pr = parcelRequire(\"7a7Pr\");\n\nvar $jLUEs = parcelRequire(\"jLUEs\");\n\nconst $7c0b25fda6ef2281$var$SafeTransaction_1 = $7c0b25fda6ef2281$var$__importDefault((parcelRequire(\"dYBmn\")));\n\nvar $3MW9o = parcelRequire(\"3MW9o\");\n\nvar $eakBT = parcelRequire(\"eakBT\");\nclass $7c0b25fda6ef2281$var$Safe {\n constructor(){\n $7c0b25fda6ef2281$var$_Safe_predictedSafe.set(this, void 0);\n $7c0b25fda6ef2281$var$_Safe_ethAdapter.set(this, void 0);\n $7c0b25fda6ef2281$var$_Safe_contractManager.set(this, void 0);\n $7c0b25fda6ef2281$var$_Safe_ownerManager.set(this, void 0);\n $7c0b25fda6ef2281$var$_Safe_moduleManager.set(this, void 0);\n $7c0b25fda6ef2281$var$_Safe_guardManager.set(this, void 0);\n $7c0b25fda6ef2281$var$_Safe_fallbackHandlerManager.set(this, void 0);\n }\n /**\n * Creates an instance of the Safe Core SDK.\n * @param config - Ethers Safe configuration\n * @returns The Safe Core SDK instance\n * @throws \"The SDK must be initialized with a safeAddress or a predictedSafe\"\n * @throws \"SafeProxy contract is not deployed on the current network\"\n * @throws \"MultiSend contract is not deployed on the current network\"\n * @throws \"MultiSendCallOnly contract is not deployed on the current network\"\n */ static async create(config) {\n const safeSdk = new $7c0b25fda6ef2281$var$Safe();\n await safeSdk.init(config);\n return safeSdk;\n }\n /**\n * Initializes the Safe Core SDK instance.\n * @param config - Safe configuration\n * @throws \"Signer must be connected to a provider\"\n * @throws \"SafeProxy contract is not deployed on the current network\"\n * @throws \"MultiSend contract is not deployed on the current network\"\n * @throws \"MultiSendCallOnly contract is not deployed on the current network\"\n */ async init(config) {\n const { ethAdapter: ethAdapter , isL1SafeMasterCopy: isL1SafeMasterCopy , contractNetworks: contractNetworks } = config;\n $7c0b25fda6ef2281$var$__classPrivateFieldSet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, ethAdapter, \"f\");\n if ((0, $eakBT.isSafeConfigWithPredictedSafe)(config)) {\n $7c0b25fda6ef2281$var$__classPrivateFieldSet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, config.predictedSafe, \"f\");\n $7c0b25fda6ef2281$var$__classPrivateFieldSet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, await $7c0b25fda6ef2281$var$contractManager_1.default.create({\n ethAdapter: $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\"),\n predictedSafe: $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\"),\n isL1SafeMasterCopy: isL1SafeMasterCopy,\n contractNetworks: contractNetworks\n }), \"f\");\n } else $7c0b25fda6ef2281$var$__classPrivateFieldSet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, await $7c0b25fda6ef2281$var$contractManager_1.default.create({\n ethAdapter: $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\"),\n safeAddress: config.safeAddress,\n isL1SafeMasterCopy: isL1SafeMasterCopy,\n contractNetworks: contractNetworks\n }), \"f\");\n $7c0b25fda6ef2281$var$__classPrivateFieldSet(this, $7c0b25fda6ef2281$var$_Safe_ownerManager, new $7c0b25fda6ef2281$var$ownerManager_1.default($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\"), $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract), \"f\");\n $7c0b25fda6ef2281$var$__classPrivateFieldSet(this, $7c0b25fda6ef2281$var$_Safe_moduleManager, new $7c0b25fda6ef2281$var$moduleManager_1.default($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\"), $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract), \"f\");\n $7c0b25fda6ef2281$var$__classPrivateFieldSet(this, $7c0b25fda6ef2281$var$_Safe_guardManager, new $7c0b25fda6ef2281$var$guardManager_1.default($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\"), $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract), \"f\");\n $7c0b25fda6ef2281$var$__classPrivateFieldSet(this, $7c0b25fda6ef2281$var$_Safe_fallbackHandlerManager, new $7c0b25fda6ef2281$var$fallbackHandlerManager_1.default($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\"), $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract), \"f\");\n }\n /**\n * Returns a new instance of the Safe Core SDK.\n * @param config - Connect Safe configuration\n * @throws \"A safeAddress and a predictedSafe cannot be connected at the same time\"\n * @throws \"SafeProxy contract is not deployed on the current network\"\n * @throws \"MultiSend contract is not deployed on the current network\"\n * @throws \"MultiSendCallOnly contract is not deployed on the current network\"\n */ async connect(config) {\n const { ethAdapter: ethAdapter , safeAddress: safeAddress , predictedSafe: predictedSafe , isL1SafeMasterCopy: isL1SafeMasterCopy , contractNetworks: contractNetworks } = config;\n const configProps = {\n ethAdapter: ethAdapter || $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\"),\n isL1SafeMasterCopy: isL1SafeMasterCopy || $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").isL1SafeMasterCopy,\n contractNetworks: contractNetworks || $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").contractNetworks\n };\n // A new existing Safe is connected to the Signer\n if (safeAddress) return await $7c0b25fda6ef2281$var$Safe.create({\n safeAddress: safeAddress,\n ...configProps\n });\n // A new predicted Safe is connected to the Signer\n if (predictedSafe) return await $7c0b25fda6ef2281$var$Safe.create({\n predictedSafe: predictedSafe,\n ...configProps\n });\n // The previous predicted Safe is connected to a new Signer\n if ($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\")) return await $7c0b25fda6ef2281$var$Safe.create({\n predictedSafe: $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\"),\n ...configProps\n });\n // The previous existing Safe is connected to a new Signer\n return await $7c0b25fda6ef2281$var$Safe.create({\n safeAddress: await this.getAddress(),\n ...configProps\n });\n }\n /**\n * Returns the address of the current SafeProxy contract.\n *\n * @returns The address of the SafeProxy contract\n */ async getAddress() {\n var _a;\n if ($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\")) {\n const safeVersion = await this.getContractVersion();\n if (!(0, $7a7Pr.hasSafeFeature)($7a7Pr.SAFE_FEATURES.ACCOUNT_ABSTRACTION, safeVersion)) throw new Error(\"Account Abstraction functionality is not available for Safes with version lower than v1.3.0\");\n const chainId = await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\").getChainId();\n return (0, $fPni6.predictSafeAddress)({\n ethAdapter: $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\"),\n customContracts: (_a = $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").contractNetworks) === null || _a === void 0 ? void 0 : _a[chainId],\n ...$7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\")\n });\n }\n if (!$7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract) throw new Error(\"Safe is not deployed\");\n return Promise.resolve($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract.getAddress());\n }\n /**\n * Returns the ContractManager\n *\n * @returns The current ContractManager\n * */ getContractManager() {\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\");\n }\n /**\n * Returns the current EthAdapter.\n *\n * @returns The current EthAdapter\n */ getEthAdapter() {\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\");\n }\n /**\n * Returns the address of the MultiSend contract.\n *\n * @returns The address of the MultiSend contract\n */ getMultiSendAddress() {\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").multiSendContract.getAddress();\n }\n /**\n * Returns the address of the MultiSendCallOnly contract.\n *\n * @returns The address of the MultiSendCallOnly contract\n */ getMultiSendCallOnlyAddress() {\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").multiSendCallOnlyContract.getAddress();\n }\n /**\n * Checks if the current Safe is deployed.\n *\n * @returns TRUE if the Safe contract is deployed\n */ async isSafeDeployed() {\n const safeAddress = await this.getAddress();\n const isSafeDeployed = await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\").isContractDeployed(safeAddress);\n return isSafeDeployed;\n }\n /**\n * Returns the Safe Master Copy contract version.\n *\n * @returns The Safe Master Copy contract version\n */ async getContractVersion() {\n var _a, _b;\n if ($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract) return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract.getVersion();\n if ((_b = (_a = $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\")) === null || _a === void 0 ? void 0 : _a.safeDeploymentConfig) === null || _b === void 0 ? void 0 : _b.safeVersion) return Promise.resolve($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\").safeDeploymentConfig.safeVersion);\n return Promise.resolve($9sENV.SAFE_LAST_VERSION);\n }\n /**\n * Returns the list of Safe owner accounts.\n *\n * @returns The list of owners\n */ async getOwners() {\n var _a;\n if ((_a = $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\")) === null || _a === void 0 ? void 0 : _a.safeAccountConfig.owners) return Promise.resolve($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\").safeAccountConfig.owners);\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ownerManager, \"f\").getOwners();\n }\n /**\n * Returns the Safe nonce.\n *\n * @returns The Safe nonce\n */ async getNonce() {\n if (!$7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract) return Promise.resolve(0);\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract.getNonce();\n }\n /**\n * Returns the Safe threshold.\n *\n * @returns The Safe threshold\n */ async getThreshold() {\n var _a;\n if ((_a = $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\")) === null || _a === void 0 ? void 0 : _a.safeAccountConfig.threshold) return Promise.resolve($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\").safeAccountConfig.threshold);\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ownerManager, \"f\").getThreshold();\n }\n /**\n * Returns the chainId of the connected network.\n *\n * @returns The chainId of the connected network\n */ async getChainId() {\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\").getChainId();\n }\n /**\n * Returns the ETH balance of the Safe.\n *\n * @returns The ETH balance of the Safe\n */ async getBalance() {\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\").getBalance(await this.getAddress());\n }\n /**\n * Returns the address of the FallbackHandler contract.\n *\n * @returns The address of the FallbackHandler contract\n */ getFallbackHandler() {\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_fallbackHandlerManager, \"f\").getFallbackHandler();\n }\n /**\n * Returns the enabled Safe guard or 0x address if no guards are enabled.\n *\n * @returns The address of the enabled Safe guard\n * @throws \"Current version of the Safe does not support Safe transaction guards functionality\"\n */ async getGuard() {\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_guardManager, \"f\").getGuard();\n }\n /**\n * Returns the list of addresses of all the enabled Safe modules.\n *\n * @returns The list of addresses of all the enabled Safe modules\n */ async getModules() {\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_moduleManager, \"f\").getModules();\n }\n /**\n * Checks if a specific Safe module is enabled for the current Safe.\n *\n * @param moduleAddress - The desired module address\n * @returns TRUE if the module is enabled\n */ async isModuleEnabled(moduleAddress) {\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_moduleManager, \"f\").isModuleEnabled(moduleAddress);\n }\n /**\n * Checks if a specific address is an owner of the current Safe.\n *\n * @param ownerAddress - The account address\n * @returns TRUE if the account is an owner\n */ async isOwner(ownerAddress) {\n var _a, _b;\n if ((_a = $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\")) === null || _a === void 0 ? void 0 : _a.safeAccountConfig.owners) return Promise.resolve((_b = $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\")) === null || _b === void 0 ? void 0 : _b.safeAccountConfig.owners.some((owner)=>(0, $7a7Pr.sameString)(owner, ownerAddress)));\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ownerManager, \"f\").isOwner(ownerAddress);\n }\n /**\n * Returns a Safe transaction ready to be signed by the owners.\n *\n * @param createTransactionProps - The createTransaction props\n * @returns The Safe transaction\n * @throws \"Invalid empty array of transactions\"\n */ async createTransaction({ safeTransactionData: safeTransactionData , onlyCalls: onlyCalls = false , options: options }) {\n const safeVersion = await this.getContractVersion();\n if ($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\") && !(0, $7a7Pr.hasSafeFeature)($7a7Pr.SAFE_FEATURES.ACCOUNT_ABSTRACTION, safeVersion)) throw new Error(\"Account Abstraction functionality is not available for Safes with version lower than v1.3.0\");\n if ((0, $7a7Pr.isMetaTransactionArray)(safeTransactionData) && safeTransactionData.length === 0) throw new Error(\"Invalid empty array of transactions\");\n let newTransaction;\n if ((0, $7a7Pr.isMetaTransactionArray)(safeTransactionData) && safeTransactionData.length > 1) {\n const multiSendContract = onlyCalls ? $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").multiSendCallOnlyContract : $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").multiSendContract;\n const multiSendData = (0, $3MW9o.encodeMultiSendData)(safeTransactionData.map($3MW9o.standardizeMetaTransactionData));\n const multiSendTransaction = {\n ...options,\n to: multiSendContract.getAddress(),\n value: \"0\",\n data: multiSendContract.encode(\"multiSend\", [\n multiSendData\n ]),\n operation: $5xott.OperationType.DelegateCall\n };\n newTransaction = multiSendTransaction;\n } else newTransaction = (0, $7a7Pr.isMetaTransactionArray)(safeTransactionData) ? {\n ...options,\n ...safeTransactionData[0]\n } : safeTransactionData;\n if ($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\")) return new $7c0b25fda6ef2281$var$SafeTransaction_1.default(await (0, $3MW9o.standardizeSafeTransactionData)({\n predictedSafe: $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_predictedSafe, \"f\"),\n ethAdapter: $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\"),\n tx: newTransaction\n }));\n if (!$7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract) throw new Error(\"Safe is not deployed\");\n return new $7c0b25fda6ef2281$var$SafeTransaction_1.default(await (0, $3MW9o.standardizeSafeTransactionData)({\n safeContract: $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract,\n ethAdapter: $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\"),\n tx: newTransaction\n }));\n }\n /**\n * Returns a Safe transaction ready to be signed by the owners that invalidates the pending Safe transaction/s with a specific nonce.\n *\n * @param nonce - The nonce of the transaction/s that are going to be rejected\n * @returns The Safe transaction that invalidates the pending Safe transaction/s\n */ async createRejectionTransaction(nonce) {\n const safeTransactionData = {\n to: await this.getAddress(),\n nonce: nonce,\n value: \"0\",\n data: \"0x\",\n safeTxGas: \"0\"\n };\n return this.createTransaction({\n safeTransactionData: safeTransactionData\n });\n }\n /**\n * Copies a Safe transaction\n *\n * @param safeTransaction - The Safe transaction\n * @returns The new Safe transaction\n */ async copyTransaction(safeTransaction) {\n const signedSafeTransaction = await this.createTransaction({\n safeTransactionData: safeTransaction.data\n });\n safeTransaction.signatures.forEach((signature)=>{\n signedSafeTransaction.addSignature(signature);\n });\n return signedSafeTransaction;\n }\n /**\n * Returns the transaction hash of a Safe transaction.\n *\n * @param safeTransaction - The Safe transaction\n * @returns The transaction hash of the Safe transaction\n */ async getTransactionHash(safeTransaction) {\n if (!$7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract) throw new Error(\"Safe is not deployed\");\n const safeTransactionData = safeTransaction.data;\n const txHash = await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract.getTransactionHash(safeTransactionData);\n return txHash;\n }\n /**\n * Signs a hash using the current signer account.\n *\n * @param hash - The hash to sign\n * @returns The Safe signature\n */ async signTransactionHash(hash) {\n return (0, $jLUEs.generateSignature)($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\"), hash);\n }\n /**\n * Signs a transaction according to the EIP-712 using the current signer account.\n *\n * @param safeTransaction - The Safe transaction to be signed\n * @param methodVersion - EIP-712 version. Optional\n * @returns The Safe signature\n */ async signTypedData(safeTransaction, methodVersion) {\n const safeTransactionEIP712Args = {\n safeAddress: await this.getAddress(),\n safeVersion: await this.getContractVersion(),\n chainId: await this.getEthAdapter().getChainId(),\n safeTransactionData: safeTransaction.data\n };\n return (0, $jLUEs.generateEIP712Signature)($7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\"), safeTransactionEIP712Args, methodVersion);\n }\n /**\n * Adds the signature of the current signer to the Safe transaction object.\n *\n * @param safeTransaction - The Safe transaction to be signed\n * @param signingMethod - Method followed to sign a transaction. Optional. Default value is \"eth_sign\"\n * @returns The signed Safe transaction\n * @throws \"Transactions can only be signed by Safe owners\"\n */ async signTransaction(safeTransaction, signingMethod = \"eth_signTypedData_v4\") {\n const transaction = (0, $7a7Pr.isSafeMultisigTransactionResponse)(safeTransaction) ? await this.toSafeTransactionType(safeTransaction) : safeTransaction;\n const owners = await this.getOwners();\n const signerAddress = await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\").getSignerAddress();\n if (!signerAddress) throw new Error(\"EthAdapter must be initialized with a signer to use this method\");\n const addressIsOwner = owners.some((owner)=>signerAddress && (0, $7a7Pr.sameString)(owner, signerAddress));\n if (!addressIsOwner) throw new Error(\"Transactions can only be signed by Safe owners\");\n let signature;\n if (signingMethod === \"eth_signTypedData_v4\") signature = await this.signTypedData(transaction, \"v4\");\n else if (signingMethod === \"eth_signTypedData_v3\") signature = await this.signTypedData(transaction, \"v3\");\n else if (signingMethod === \"eth_signTypedData\") signature = await this.signTypedData(transaction);\n else {\n const safeVersion = await this.getContractVersion();\n if (!(0, $7a7Pr.hasSafeFeature)($7a7Pr.SAFE_FEATURES.ETH_SIGN, safeVersion)) throw new Error(\"eth_sign is only supported by Safes >= v1.1.0\");\n const txHash = await this.getTransactionHash(transaction);\n signature = await this.signTransactionHash(txHash);\n }\n const signedSafeTransaction = await this.createTransaction({\n safeTransactionData: transaction.data\n });\n transaction.signatures.forEach((signature)=>{\n signedSafeTransaction.addSignature(signature);\n });\n signedSafeTransaction.addSignature(signature);\n return signedSafeTransaction;\n }\n /**\n * Approves on-chain a hash using the current signer account.\n *\n * @param hash - The hash to approve\n * @param options - The Safe transaction execution options. Optional\n * @returns The Safe transaction response\n * @throws \"Transaction hashes can only be approved by Safe owners\"\n * @throws \"Cannot specify gas and gasLimit together in transaction options\"\n */ async approveTransactionHash(hash, options) {\n if (!$7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract) throw new Error(\"Safe is not deployed\");\n const owners = await this.getOwners();\n const signerAddress = await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\").getSignerAddress();\n if (!signerAddress) throw new Error(\"EthAdapter must be initialized with a signer to use this method\");\n const addressIsOwner = owners.some((owner)=>signerAddress && (0, $7a7Pr.sameString)(owner, signerAddress));\n if (!addressIsOwner) throw new Error(\"Transaction hashes can only be approved by Safe owners\");\n if ((options === null || options === void 0 ? void 0 : options.gas) && (options === null || options === void 0 ? void 0 : options.gasLimit)) throw new Error(\"Cannot specify gas and gasLimit together in transaction options\");\n return $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract.approveHash(hash, {\n from: signerAddress,\n ...options\n });\n }\n /**\n * Returns a list of owners who have approved a specific Safe transaction.\n *\n * @param txHash - The Safe transaction hash\n * @returns The list of owners\n */ async getOwnersWhoApprovedTx(txHash) {\n if (!$7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract) throw new Error(\"Safe is not deployed\");\n const owners = await this.getOwners();\n const ownersWhoApproved = [];\n for (const owner of owners){\n const approved = await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract.approvedHashes(owner, txHash);\n if (approved.gt(0)) ownersWhoApproved.push(owner);\n }\n return ownersWhoApproved;\n }\n /**\n * Returns the Safe transaction to enable the fallback handler.\n *\n * @param address - The new fallback handler address\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid fallback handler address provided\"\n * @throws \"Fallback handler provided is already enabled\"\n * @throws \"Current version of the Safe does not support the fallback handler functionality\"\n */ async createEnableFallbackHandlerTx(fallbackHandlerAddress, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: \"0\",\n data: await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_fallbackHandlerManager, \"f\").encodeEnableFallbackHandlerData(fallbackHandlerAddress),\n ...options\n };\n const safeTransaction = await this.createTransaction({\n safeTransactionData: safeTransactionData\n });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to disable the fallback handler.\n *\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"There is no fallback handler enabled yet\"\n * @throws \"Current version of the Safe does not support the fallback handler functionality\"\n */ async createDisableFallbackHandlerTx(options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: \"0\",\n data: await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_fallbackHandlerManager, \"f\").encodeDisableFallbackHandlerData(),\n ...options\n };\n const safeTransaction = await this.createTransaction({\n safeTransactionData: safeTransactionData\n });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to enable a Safe guard.\n *\n * @param guardAddress - The desired guard address\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid guard address provided\"\n * @throws \"Guard provided is already enabled\"\n * @throws \"Current version of the Safe does not support Safe transaction guards functionality\"\n */ async createEnableGuardTx(guardAddress, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: \"0\",\n data: await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_guardManager, \"f\").encodeEnableGuardData(guardAddress),\n ...options\n };\n const safeTransaction = await this.createTransaction({\n safeTransactionData: safeTransactionData\n });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to disable a Safe guard.\n *\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"There is no guard enabled yet\"\n * @throws \"Current version of the Safe does not support Safe transaction guards functionality\"\n */ async createDisableGuardTx(options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: \"0\",\n data: await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_guardManager, \"f\").encodeDisableGuardData(),\n ...options\n };\n const safeTransaction = await this.createTransaction({\n safeTransactionData: safeTransactionData\n });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to enable a Safe module.\n *\n * @param moduleAddress - The desired module address\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid module address provided\"\n * @throws \"Module provided is already enabled\"\n */ async createEnableModuleTx(moduleAddress, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: \"0\",\n data: await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_moduleManager, \"f\").encodeEnableModuleData(moduleAddress),\n ...options\n };\n const safeTransaction = await this.createTransaction({\n safeTransactionData: safeTransactionData\n });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to disable a Safe module.\n *\n * @param moduleAddress - The desired module address\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid module address provided\"\n * @throws \"Module provided is not enabled already\"\n */ async createDisableModuleTx(moduleAddress, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: \"0\",\n data: await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_moduleManager, \"f\").encodeDisableModuleData(moduleAddress),\n ...options\n };\n const safeTransaction = await this.createTransaction({\n safeTransactionData: safeTransactionData\n });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to add an owner and optionally change the threshold.\n *\n * @param params - The transaction params\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid owner address provided\"\n * @throws \"Address provided is already an owner\"\n * @throws \"Threshold needs to be greater than 0\"\n * @throws \"Threshold cannot exceed owner count\"\n */ async createAddOwnerTx({ ownerAddress: ownerAddress , threshold: threshold }, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: \"0\",\n data: await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ownerManager, \"f\").encodeAddOwnerWithThresholdData(ownerAddress, threshold),\n ...options\n };\n const safeTransaction = await this.createTransaction({\n safeTransactionData: safeTransactionData\n });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to remove an owner and optionally change the threshold.\n *\n * @param params - The transaction params\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid owner address provided\"\n * @throws \"Address provided is not an owner\"\n * @throws \"Threshold needs to be greater than 0\"\n * @throws \"Threshold cannot exceed owner count\"\n */ async createRemoveOwnerTx({ ownerAddress: ownerAddress , threshold: threshold }, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: \"0\",\n data: await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ownerManager, \"f\").encodeRemoveOwnerData(ownerAddress, threshold),\n ...options\n };\n const safeTransaction = await this.createTransaction({\n safeTransactionData: safeTransactionData\n });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to replace an owner of the Safe with a new one.\n *\n * @param params - The transaction params\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid new owner address provided\"\n * @throws \"Invalid old owner address provided\"\n * @throws \"New address provided is already an owner\"\n * @throws \"Old address provided is not an owner\"\n */ async createSwapOwnerTx({ oldOwnerAddress: oldOwnerAddress , newOwnerAddress: newOwnerAddress }, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: \"0\",\n data: await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ownerManager, \"f\").encodeSwapOwnerData(oldOwnerAddress, newOwnerAddress),\n ...options\n };\n const safeTransaction = await this.createTransaction({\n safeTransactionData: safeTransactionData\n });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to change the threshold.\n *\n * @param threshold - The new threshold\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Threshold needs to be greater than 0\"\n * @throws \"Threshold cannot exceed owner count\"\n */ async createChangeThresholdTx(threshold, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: \"0\",\n data: await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ownerManager, \"f\").encodeChangeThresholdData(threshold),\n ...options\n };\n const safeTransaction = await this.createTransaction({\n safeTransactionData: safeTransactionData\n });\n return safeTransaction;\n }\n /**\n * Converts a transaction from type SafeMultisigTransactionResponse to type SafeTransaction\n *\n * @param serviceTransactionResponse - The transaction to convert\n * @returns The converted transaction with type SafeTransaction\n */ async toSafeTransactionType(serviceTransactionResponse) {\n var _a;\n const safeTransactionData = {\n to: serviceTransactionResponse.to,\n value: serviceTransactionResponse.value,\n data: serviceTransactionResponse.data || \"0x\",\n operation: serviceTransactionResponse.operation,\n safeTxGas: serviceTransactionResponse.safeTxGas.toString(),\n baseGas: serviceTransactionResponse.baseGas.toString(),\n gasPrice: serviceTransactionResponse.gasPrice,\n gasToken: serviceTransactionResponse.gasToken,\n refundReceiver: serviceTransactionResponse.refundReceiver,\n nonce: serviceTransactionResponse.nonce\n };\n const safeTransaction = await this.createTransaction({\n safeTransactionData: safeTransactionData\n });\n (_a = serviceTransactionResponse.confirmations) === null || _a === void 0 || _a.map((confirmation)=>{\n const signature = new $7a7Pr.EthSafeSignature(confirmation.owner, confirmation.signature);\n safeTransaction.addSignature(signature);\n });\n return safeTransaction;\n }\n /**\n * Checks if a Safe transaction can be executed successfully with no errors.\n *\n * @param safeTransaction - The Safe transaction to check\n * @param options - The Safe transaction execution options. Optional\n * @returns TRUE if the Safe transaction can be executed successfully with no errors\n */ async isValidTransaction(safeTransaction, options) {\n if (!$7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract) throw new Error(\"Safe is not deployed\");\n const transaction = (0, $7a7Pr.isSafeMultisigTransactionResponse)(safeTransaction) ? await this.toSafeTransactionType(safeTransaction) : safeTransaction;\n const signedSafeTransaction = await this.copyTransaction(transaction);\n const txHash = await this.getTransactionHash(signedSafeTransaction);\n const ownersWhoApprovedTx = await this.getOwnersWhoApprovedTx(txHash);\n for (const owner of ownersWhoApprovedTx)signedSafeTransaction.addSignature((0, $jLUEs.generatePreValidatedSignature)(owner));\n const owners = await this.getOwners();\n const signerAddress = await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\").getSignerAddress();\n if (!signerAddress) throw new Error(\"EthAdapter must be initialized with a signer to use this method\");\n if (owners.includes(signerAddress)) signedSafeTransaction.addSignature((0, $jLUEs.generatePreValidatedSignature)(signerAddress));\n const isTxValid = await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract.isValidTransaction(signedSafeTransaction, {\n from: signerAddress,\n ...options\n });\n return isTxValid;\n }\n /**\n * Executes a Safe transaction.\n *\n * @param safeTransaction - The Safe transaction to execute\n * @param options - The Safe transaction execution options. Optional\n * @returns The Safe transaction response\n * @throws \"No signer provided\"\n * @throws \"There are X signatures missing\"\n * @throws \"Cannot specify gas and gasLimit together in transaction options\"\n */ async executeTransaction(safeTransaction, options) {\n if (!$7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract) throw new Error(\"Safe is not deployed\");\n const transaction = (0, $7a7Pr.isSafeMultisigTransactionResponse)(safeTransaction) ? await this.toSafeTransactionType(safeTransaction) : safeTransaction;\n const signedSafeTransaction = await this.copyTransaction(transaction);\n const txHash = await this.getTransactionHash(signedSafeTransaction);\n const ownersWhoApprovedTx = await this.getOwnersWhoApprovedTx(txHash);\n for (const owner of ownersWhoApprovedTx)signedSafeTransaction.addSignature((0, $jLUEs.generatePreValidatedSignature)(owner));\n const owners = await this.getOwners();\n const signerAddress = await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_ethAdapter, \"f\").getSignerAddress();\n if (signerAddress && owners.includes(signerAddress)) signedSafeTransaction.addSignature((0, $jLUEs.generatePreValidatedSignature)(signerAddress));\n const threshold = await this.getThreshold();\n if (threshold > signedSafeTransaction.signatures.size) {\n const signaturesMissing = threshold - signedSafeTransaction.signatures.size;\n throw new Error(`There ${signaturesMissing > 1 ? \"are\" : \"is\"} ${signaturesMissing} signature${signaturesMissing > 1 ? \"s\" : \"\"} missing`);\n }\n const value = $1chjt.BigNumber.from(signedSafeTransaction.data.value);\n if (!value.isZero()) {\n const balance = await this.getBalance();\n if (value.gt($1chjt.BigNumber.from(balance))) throw new Error(\"Not enough Ether funds\");\n }\n if ((options === null || options === void 0 ? void 0 : options.gas) && (options === null || options === void 0 ? void 0 : options.gasLimit)) throw new Error(\"Cannot specify gas and gasLimit together in transaction options\");\n const txResponse = await $7c0b25fda6ef2281$var$__classPrivateFieldGet(this, $7c0b25fda6ef2281$var$_Safe_contractManager, \"f\").safeContract.execTransaction(signedSafeTransaction, {\n from: signerAddress,\n ...options\n });\n return txResponse;\n }\n}\n$7c0b25fda6ef2281$var$_Safe_predictedSafe = new WeakMap(), $7c0b25fda6ef2281$var$_Safe_ethAdapter = new WeakMap(), $7c0b25fda6ef2281$var$_Safe_contractManager = new WeakMap(), $7c0b25fda6ef2281$var$_Safe_ownerManager = new WeakMap(), $7c0b25fda6ef2281$var$_Safe_moduleManager = new WeakMap(), $7c0b25fda6ef2281$var$_Safe_guardManager = new WeakMap(), $7c0b25fda6ef2281$var$_Safe_fallbackHandlerManager = new WeakMap();\nmodule.exports.default = $7c0b25fda6ef2281$var$Safe;\n\n});\nparcelRequire.register(\"fPni6\", function(module, exports) {\n\"use strict\";\nvar $b85daf83d30b52fe$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.validateSafeDeploymentConfig = module.exports.validateSafeAccountConfig = module.exports.predictSafeAddress = module.exports.encodeSetupCallData = module.exports.encodeCreateProxyWithNonce = module.exports.PREDETERMINED_SALT_NONCE = void 0;\n\nvar $7Z98w = parcelRequire(\"7Z98w\");\n\nvar $bVwUc = parcelRequire(\"bVwUc\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nconst $b85daf83d30b52fe$var$satisfies_1 = $b85daf83d30b52fe$var$__importDefault((parcelRequire(\"eHBEA\")));\n\nvar $fn2H0 = parcelRequire(\"fn2H0\");\n\nvar $cm07l = parcelRequire(\"cm07l\");\n\nvar $9sENV = parcelRequire(\"9sENV\");\n// keccak256(toUtf8Bytes('Safe Account Abstraction'))\nmodule.exports.PREDETERMINED_SALT_NONCE = \"0xb1073742015cbcf5a3a4d9d1ae33ecf619439710b89475f92e2abd2117e90f90\";\nfunction $b85daf83d30b52fe$var$encodeCreateProxyWithNonce(safeProxyFactoryContract, safeSingletonAddress, initializer) {\n return safeProxyFactoryContract.encode(\"createProxyWithNonce\", [\n safeSingletonAddress,\n initializer,\n module.exports.PREDETERMINED_SALT_NONCE\n ]);\n}\nmodule.exports.encodeCreateProxyWithNonce = $b85daf83d30b52fe$var$encodeCreateProxyWithNonce;\nasync function $b85daf83d30b52fe$var$encodeSetupCallData({ ethAdapter: ethAdapter , safeAccountConfig: safeAccountConfig , safeContract: safeContract , customContracts: customContracts }) {\n const { owners: owners , threshold: threshold , to: to = $cm07l.ZERO_ADDRESS , data: data = $cm07l.EMPTY_DATA , fallbackHandler: fallbackHandler , paymentToken: paymentToken = $cm07l.ZERO_ADDRESS , payment: payment = 0 , paymentReceiver: paymentReceiver = $cm07l.ZERO_ADDRESS } = safeAccountConfig;\n const safeVersion = await safeContract.getVersion();\n if ((0, $b85daf83d30b52fe$var$satisfies_1.default)(safeVersion, \"<=1.0.0\")) return safeContract.encode(\"setup\", [\n owners,\n threshold,\n to,\n data,\n paymentToken,\n payment,\n paymentReceiver\n ]);\n let fallbackHandlerAddress = fallbackHandler;\n const isValidAddress = fallbackHandlerAddress !== undefined && (0, $bVwUc.isAddress)(fallbackHandlerAddress);\n if (!isValidAddress) {\n const fallbackHandlerContract = await (0, $fn2H0.getCompatibilityFallbackHandlerContract)({\n ethAdapter: ethAdapter,\n safeVersion: safeVersion,\n customContracts: customContracts\n });\n fallbackHandlerAddress = fallbackHandlerContract.getAddress();\n }\n return safeContract.encode(\"setup\", [\n owners,\n threshold,\n to,\n data,\n fallbackHandlerAddress,\n paymentToken,\n payment,\n paymentReceiver\n ]);\n}\nmodule.exports.encodeSetupCallData = $b85daf83d30b52fe$var$encodeSetupCallData;\nasync function $b85daf83d30b52fe$var$predictSafeAddress({ ethAdapter: ethAdapter , safeAccountConfig: safeAccountConfig , safeDeploymentConfig: safeDeploymentConfig = {} , isL1SafeMasterCopy: isL1SafeMasterCopy = false , customContracts: customContracts }) {\n (0, module.exports.validateSafeAccountConfig)(safeAccountConfig);\n (0, module.exports.validateSafeDeploymentConfig)(safeDeploymentConfig);\n const { safeVersion: safeVersion = $9sENV.SAFE_LAST_VERSION , saltNonce: saltNonce = module.exports.PREDETERMINED_SALT_NONCE } = safeDeploymentConfig;\n const safeProxyFactoryContract = await (0, $fn2H0.getProxyFactoryContract)({\n ethAdapter: ethAdapter,\n safeVersion: safeVersion,\n customContracts: customContracts\n });\n const proxyCreationCode = await safeProxyFactoryContract.proxyCreationCode();\n const safeContract = await (0, $fn2H0.getSafeContract)({\n ethAdapter: ethAdapter,\n safeVersion: safeVersion,\n isL1SafeMasterCopy: isL1SafeMasterCopy,\n customContracts: customContracts\n });\n const initializer = await $b85daf83d30b52fe$var$encodeSetupCallData({\n ethAdapter: ethAdapter,\n safeAccountConfig: safeAccountConfig,\n safeContract: safeContract,\n customContracts: customContracts\n });\n const encodedNonce = (0, $7Z98w.toBuffer)(ethAdapter.encodeParameters([\n \"uint256\"\n ], [\n saltNonce\n ])).toString(\"hex\");\n const salt = (0, $7Z98w.keccak256)((0, $7Z98w.toBuffer)(\"0x\" + (0, $7Z98w.keccak256)((0, $7Z98w.toBuffer)(initializer)).toString(\"hex\") + encodedNonce));\n const constructorData = (0, $7Z98w.toBuffer)(ethAdapter.encodeParameters([\n \"address\"\n ], [\n safeContract.getAddress()\n ])).toString(\"hex\");\n const initCode = proxyCreationCode + constructorData;\n const proxyAddress = \"0x\" + (0, $7Z98w.generateAddress2)((0, $7Z98w.toBuffer)(safeProxyFactoryContract.getAddress()), (0, $7Z98w.toBuffer)(salt), (0, $7Z98w.toBuffer)(initCode)).toString(\"hex\");\n return ethAdapter.getChecksummedAddress(proxyAddress);\n}\nmodule.exports.predictSafeAddress = $b85daf83d30b52fe$var$predictSafeAddress;\nconst $b85daf83d30b52fe$var$validateSafeAccountConfig = ({ owners: owners , threshold: threshold })=>{\n if (owners.length <= 0) throw new Error(\"Owner list must have at least one owner\");\n if (threshold <= 0) throw new Error(\"Threshold must be greater than or equal to 1\");\n if (threshold > owners.length) throw new Error(\"Threshold must be lower than or equal to owners length\");\n};\nmodule.exports.validateSafeAccountConfig = $b85daf83d30b52fe$var$validateSafeAccountConfig;\nconst $b85daf83d30b52fe$var$validateSafeDeploymentConfig = ({ saltNonce: saltNonce })=>{\n if (saltNonce && $1chjt.BigNumber.from(saltNonce).lt(0)) throw new Error(\"saltNonce must be greater than or equal to 0\");\n};\nmodule.exports.validateSafeDeploymentConfig = $b85daf83d30b52fe$var$validateSafeDeploymentConfig;\n\n});\n\nparcelRequire.register(\"fj7Yf\", function(module, exports) {\n\"use strict\";\nvar $b24ed0293a47a278$var$__classPrivateFieldSet = module.exports && module.exports.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $b24ed0293a47a278$var$__classPrivateFieldGet = module.exports && module.exports.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $b24ed0293a47a278$var$_FallbackHandlerManager_ethAdapter, $b24ed0293a47a278$var$_FallbackHandlerManager_safeContract, $b24ed0293a47a278$var$_FallbackHandlerManager_slot;\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $7a7Pr = parcelRequire(\"7a7Pr\");\n\nvar $cm07l = parcelRequire(\"cm07l\");\nclass $b24ed0293a47a278$var$FallbackHandlerManager {\n constructor(ethAdapter, safeContract){\n $b24ed0293a47a278$var$_FallbackHandlerManager_ethAdapter.set(this, void 0);\n $b24ed0293a47a278$var$_FallbackHandlerManager_safeContract.set(this, void 0);\n // keccak256(\"fallback_manager.handler.address\")\n $b24ed0293a47a278$var$_FallbackHandlerManager_slot.set(this, \"0x6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d5\");\n $b24ed0293a47a278$var$__classPrivateFieldSet(this, $b24ed0293a47a278$var$_FallbackHandlerManager_ethAdapter, ethAdapter, \"f\");\n $b24ed0293a47a278$var$__classPrivateFieldSet(this, $b24ed0293a47a278$var$_FallbackHandlerManager_safeContract, safeContract, \"f\");\n }\n validateFallbackHandlerAddress(fallbackHandlerAddress) {\n const isValidAddress = $b24ed0293a47a278$var$__classPrivateFieldGet(this, $b24ed0293a47a278$var$_FallbackHandlerManager_ethAdapter, \"f\").isAddress(fallbackHandlerAddress);\n if (!isValidAddress || (0, $7a7Pr.isZeroAddress)(fallbackHandlerAddress)) throw new Error(\"Invalid fallback handler address provided\");\n }\n validateFallbackHandlerIsNotEnabled(currentFallbackHandler, newFallbackHandlerAddress) {\n if ((0, $7a7Pr.sameString)(currentFallbackHandler, newFallbackHandlerAddress)) throw new Error(\"Fallback handler provided is already enabled\");\n }\n validateFallbackHandlerIsEnabled(fallbackHandlerAddress) {\n if ((0, $7a7Pr.isZeroAddress)(fallbackHandlerAddress)) throw new Error(\"There is no fallback handler enabled yet\");\n }\n async getFallbackHandler() {\n if (!$b24ed0293a47a278$var$__classPrivateFieldGet(this, $b24ed0293a47a278$var$_FallbackHandlerManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n const safeVersion = await $b24ed0293a47a278$var$__classPrivateFieldGet(this, $b24ed0293a47a278$var$_FallbackHandlerManager_safeContract, \"f\").getVersion();\n if ((0, $7a7Pr.hasSafeFeature)($7a7Pr.SAFE_FEATURES.SAFE_FALLBACK_HANDLER, safeVersion)) return $b24ed0293a47a278$var$__classPrivateFieldGet(this, $b24ed0293a47a278$var$_FallbackHandlerManager_ethAdapter, \"f\").getStorageAt($b24ed0293a47a278$var$__classPrivateFieldGet(this, $b24ed0293a47a278$var$_FallbackHandlerManager_safeContract, \"f\").getAddress(), $b24ed0293a47a278$var$__classPrivateFieldGet(this, $b24ed0293a47a278$var$_FallbackHandlerManager_slot, \"f\"));\n else throw new Error(\"Current version of the Safe does not support the fallback handler functionality\");\n }\n async encodeEnableFallbackHandlerData(fallbackHandlerAddress) {\n if (!$b24ed0293a47a278$var$__classPrivateFieldGet(this, $b24ed0293a47a278$var$_FallbackHandlerManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n this.validateFallbackHandlerAddress(fallbackHandlerAddress);\n const currentFallbackHandler = await this.getFallbackHandler();\n this.validateFallbackHandlerIsNotEnabled(currentFallbackHandler, fallbackHandlerAddress);\n return $b24ed0293a47a278$var$__classPrivateFieldGet(this, $b24ed0293a47a278$var$_FallbackHandlerManager_safeContract, \"f\").encode(\"setFallbackHandler\", [\n fallbackHandlerAddress\n ]);\n }\n async encodeDisableFallbackHandlerData() {\n if (!$b24ed0293a47a278$var$__classPrivateFieldGet(this, $b24ed0293a47a278$var$_FallbackHandlerManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n const currentFallbackHandler = await this.getFallbackHandler();\n this.validateFallbackHandlerIsEnabled(currentFallbackHandler);\n return $b24ed0293a47a278$var$__classPrivateFieldGet(this, $b24ed0293a47a278$var$_FallbackHandlerManager_safeContract, \"f\").encode(\"setFallbackHandler\", [\n $cm07l.ZERO_ADDRESS\n ]);\n }\n}\n$b24ed0293a47a278$var$_FallbackHandlerManager_ethAdapter = new WeakMap(), $b24ed0293a47a278$var$_FallbackHandlerManager_safeContract = new WeakMap(), $b24ed0293a47a278$var$_FallbackHandlerManager_slot = new WeakMap();\nmodule.exports.default = $b24ed0293a47a278$var$FallbackHandlerManager;\n\n});\n\nparcelRequire.register(\"8AUA8\", function(module, exports) {\n\"use strict\";\nvar $641d9383bed73643$var$__classPrivateFieldSet = module.exports && module.exports.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $641d9383bed73643$var$__classPrivateFieldGet = module.exports && module.exports.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $641d9383bed73643$var$_GuardManager_ethAdapter, $641d9383bed73643$var$_GuardManager_safeContract, $641d9383bed73643$var$_GuardManager_slot;\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $7a7Pr = parcelRequire(\"7a7Pr\");\n\nvar $cm07l = parcelRequire(\"cm07l\");\nclass $641d9383bed73643$var$GuardManager {\n constructor(ethAdapter, safeContract){\n $641d9383bed73643$var$_GuardManager_ethAdapter.set(this, void 0);\n $641d9383bed73643$var$_GuardManager_safeContract.set(this, void 0);\n // keccak256(\"guard_manager.guard.address\")\n $641d9383bed73643$var$_GuardManager_slot.set(this, \"0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8\");\n $641d9383bed73643$var$__classPrivateFieldSet(this, $641d9383bed73643$var$_GuardManager_ethAdapter, ethAdapter, \"f\");\n $641d9383bed73643$var$__classPrivateFieldSet(this, $641d9383bed73643$var$_GuardManager_safeContract, safeContract, \"f\");\n }\n validateGuardAddress(guardAddress) {\n const isValidAddress = $641d9383bed73643$var$__classPrivateFieldGet(this, $641d9383bed73643$var$_GuardManager_ethAdapter, \"f\").isAddress(guardAddress);\n if (!isValidAddress || (0, $7a7Pr.isZeroAddress)(guardAddress)) throw new Error(\"Invalid guard address provided\");\n }\n validateGuardIsNotEnabled(currentGuard, newGuardAddress) {\n if ((0, $7a7Pr.sameString)(currentGuard, newGuardAddress)) throw new Error(\"Guard provided is already enabled\");\n }\n validateGuardIsEnabled(guardAddress) {\n if ((0, $7a7Pr.isZeroAddress)(guardAddress)) throw new Error(\"There is no guard enabled yet\");\n }\n async getGuard() {\n if (!$641d9383bed73643$var$__classPrivateFieldGet(this, $641d9383bed73643$var$_GuardManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n const safeVersion = await $641d9383bed73643$var$__classPrivateFieldGet(this, $641d9383bed73643$var$_GuardManager_safeContract, \"f\").getVersion();\n if ((0, $7a7Pr.hasSafeFeature)($7a7Pr.SAFE_FEATURES.SAFE_TX_GUARDS, safeVersion)) return $641d9383bed73643$var$__classPrivateFieldGet(this, $641d9383bed73643$var$_GuardManager_ethAdapter, \"f\").getStorageAt($641d9383bed73643$var$__classPrivateFieldGet(this, $641d9383bed73643$var$_GuardManager_safeContract, \"f\").getAddress(), $641d9383bed73643$var$__classPrivateFieldGet(this, $641d9383bed73643$var$_GuardManager_slot, \"f\"));\n else throw new Error(\"Current version of the Safe does not support Safe transaction guards functionality\");\n }\n async encodeEnableGuardData(guardAddress) {\n if (!$641d9383bed73643$var$__classPrivateFieldGet(this, $641d9383bed73643$var$_GuardManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n this.validateGuardAddress(guardAddress);\n const currentGuard = await this.getGuard();\n this.validateGuardIsNotEnabled(currentGuard, guardAddress);\n return $641d9383bed73643$var$__classPrivateFieldGet(this, $641d9383bed73643$var$_GuardManager_safeContract, \"f\").encode(\"setGuard\", [\n guardAddress\n ]);\n }\n async encodeDisableGuardData() {\n if (!$641d9383bed73643$var$__classPrivateFieldGet(this, $641d9383bed73643$var$_GuardManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n const currentGuard = await this.getGuard();\n this.validateGuardIsEnabled(currentGuard);\n return $641d9383bed73643$var$__classPrivateFieldGet(this, $641d9383bed73643$var$_GuardManager_safeContract, \"f\").encode(\"setGuard\", [\n $cm07l.ZERO_ADDRESS\n ]);\n }\n}\n$641d9383bed73643$var$_GuardManager_ethAdapter = new WeakMap(), $641d9383bed73643$var$_GuardManager_safeContract = new WeakMap(), $641d9383bed73643$var$_GuardManager_slot = new WeakMap();\nmodule.exports.default = $641d9383bed73643$var$GuardManager;\n\n});\n\nparcelRequire.register(\"gwBNF\", function(module, exports) {\n\"use strict\";\nvar $c07cf4d170a90637$var$__classPrivateFieldSet = module.exports && module.exports.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $c07cf4d170a90637$var$__classPrivateFieldGet = module.exports && module.exports.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $c07cf4d170a90637$var$_ModuleManager_ethAdapter, $c07cf4d170a90637$var$_ModuleManager_safeContract;\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $gOIod = parcelRequire(\"gOIod\");\n\nvar $cm07l = parcelRequire(\"cm07l\");\nclass $c07cf4d170a90637$var$ModuleManager {\n constructor(ethAdapter, safeContract){\n $c07cf4d170a90637$var$_ModuleManager_ethAdapter.set(this, void 0);\n $c07cf4d170a90637$var$_ModuleManager_safeContract.set(this, void 0);\n $c07cf4d170a90637$var$__classPrivateFieldSet(this, $c07cf4d170a90637$var$_ModuleManager_ethAdapter, ethAdapter, \"f\");\n $c07cf4d170a90637$var$__classPrivateFieldSet(this, $c07cf4d170a90637$var$_ModuleManager_safeContract, safeContract, \"f\");\n }\n validateModuleAddress(moduleAddress) {\n const isValidAddress = $c07cf4d170a90637$var$__classPrivateFieldGet(this, $c07cf4d170a90637$var$_ModuleManager_ethAdapter, \"f\").isAddress(moduleAddress);\n if (!isValidAddress || (0, $gOIod.isRestrictedAddress)(moduleAddress)) throw new Error(\"Invalid module address provided\");\n }\n validateModuleIsNotEnabled(moduleAddress, modules) {\n const moduleIndex = modules.findIndex((module)=>(0, $gOIod.sameString)(module, moduleAddress));\n const isEnabled = moduleIndex >= 0;\n if (isEnabled) throw new Error(\"Module provided is already enabled\");\n }\n validateModuleIsEnabled(moduleAddress, modules) {\n const moduleIndex = modules.findIndex((module)=>(0, $gOIod.sameString)(module, moduleAddress));\n const isEnabled = moduleIndex >= 0;\n if (!isEnabled) throw new Error(\"Module provided is not enabled yet\");\n return moduleIndex;\n }\n async getModules() {\n if (!$c07cf4d170a90637$var$__classPrivateFieldGet(this, $c07cf4d170a90637$var$_ModuleManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n return $c07cf4d170a90637$var$__classPrivateFieldGet(this, $c07cf4d170a90637$var$_ModuleManager_safeContract, \"f\").getModules();\n }\n async isModuleEnabled(moduleAddress) {\n if (!$c07cf4d170a90637$var$__classPrivateFieldGet(this, $c07cf4d170a90637$var$_ModuleManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n return $c07cf4d170a90637$var$__classPrivateFieldGet(this, $c07cf4d170a90637$var$_ModuleManager_safeContract, \"f\").isModuleEnabled(moduleAddress);\n }\n async encodeEnableModuleData(moduleAddress) {\n if (!$c07cf4d170a90637$var$__classPrivateFieldGet(this, $c07cf4d170a90637$var$_ModuleManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n this.validateModuleAddress(moduleAddress);\n const modules = await this.getModules();\n this.validateModuleIsNotEnabled(moduleAddress, modules);\n return $c07cf4d170a90637$var$__classPrivateFieldGet(this, $c07cf4d170a90637$var$_ModuleManager_safeContract, \"f\").encode(\"enableModule\", [\n moduleAddress\n ]);\n }\n async encodeDisableModuleData(moduleAddress) {\n if (!$c07cf4d170a90637$var$__classPrivateFieldGet(this, $c07cf4d170a90637$var$_ModuleManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n this.validateModuleAddress(moduleAddress);\n const modules = await this.getModules();\n const moduleIndex = this.validateModuleIsEnabled(moduleAddress, modules);\n const prevModuleAddress = moduleIndex === 0 ? $cm07l.SENTINEL_ADDRESS : modules[moduleIndex - 1];\n return $c07cf4d170a90637$var$__classPrivateFieldGet(this, $c07cf4d170a90637$var$_ModuleManager_safeContract, \"f\").encode(\"disableModule\", [\n prevModuleAddress,\n moduleAddress\n ]);\n }\n}\n$c07cf4d170a90637$var$_ModuleManager_ethAdapter = new WeakMap(), $c07cf4d170a90637$var$_ModuleManager_safeContract = new WeakMap();\nmodule.exports.default = $c07cf4d170a90637$var$ModuleManager;\n\n});\n\nparcelRequire.register(\"1rQd7\", function(module, exports) {\n\"use strict\";\nvar $10e0cffe69493180$var$__classPrivateFieldSet = module.exports && module.exports.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $10e0cffe69493180$var$__classPrivateFieldGet = module.exports && module.exports.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $10e0cffe69493180$var$_OwnerManager_ethAdapter, $10e0cffe69493180$var$_OwnerManager_safeContract;\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $gOIod = parcelRequire(\"gOIod\");\n\nvar $cm07l = parcelRequire(\"cm07l\");\nclass $10e0cffe69493180$var$OwnerManager {\n constructor(ethAdapter, safeContract){\n $10e0cffe69493180$var$_OwnerManager_ethAdapter.set(this, void 0);\n $10e0cffe69493180$var$_OwnerManager_safeContract.set(this, void 0);\n $10e0cffe69493180$var$__classPrivateFieldSet(this, $10e0cffe69493180$var$_OwnerManager_ethAdapter, ethAdapter, \"f\");\n $10e0cffe69493180$var$__classPrivateFieldSet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, safeContract, \"f\");\n }\n validateOwnerAddress(ownerAddress, errorMessage) {\n const isValidAddress = $10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_ethAdapter, \"f\").isAddress(ownerAddress);\n if (!isValidAddress || (0, $gOIod.isRestrictedAddress)(ownerAddress)) throw new Error(errorMessage || \"Invalid owner address provided\");\n }\n validateThreshold(threshold, numOwners) {\n if (threshold <= 0) throw new Error(\"Threshold needs to be greater than 0\");\n if (threshold > numOwners) throw new Error(\"Threshold cannot exceed owner count\");\n }\n validateAddressIsNotOwner(ownerAddress, owners, errorMessage) {\n const ownerIndex = owners.findIndex((owner)=>(0, $gOIod.sameString)(owner, ownerAddress));\n const isOwner = ownerIndex >= 0;\n if (isOwner) throw new Error(errorMessage || \"Address provided is already an owner\");\n }\n validateAddressIsOwner(ownerAddress, owners, errorMessage) {\n const ownerIndex = owners.findIndex((owner)=>(0, $gOIod.sameString)(owner, ownerAddress));\n const isOwner = ownerIndex >= 0;\n if (!isOwner) throw new Error(errorMessage || \"Address provided is not an owner\");\n return ownerIndex;\n }\n async getOwners() {\n if (!$10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n const owners = await $10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\").getOwners();\n return [\n ...owners\n ];\n }\n async getThreshold() {\n if (!$10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n return $10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\").getThreshold();\n }\n async isOwner(ownerAddress) {\n if (!$10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n return $10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\").isOwner(ownerAddress);\n }\n async encodeAddOwnerWithThresholdData(ownerAddress, threshold) {\n if (!$10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n this.validateOwnerAddress(ownerAddress);\n const owners = await this.getOwners();\n this.validateAddressIsNotOwner(ownerAddress, owners);\n const newThreshold = threshold !== null && threshold !== void 0 ? threshold : await this.getThreshold();\n this.validateThreshold(newThreshold, owners.length + 1);\n return $10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\").encode(\"addOwnerWithThreshold\", [\n ownerAddress,\n newThreshold\n ]);\n }\n async encodeRemoveOwnerData(ownerAddress, threshold) {\n if (!$10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n this.validateOwnerAddress(ownerAddress);\n const owners = await this.getOwners();\n const ownerIndex = this.validateAddressIsOwner(ownerAddress, owners);\n const newThreshold = threshold !== null && threshold !== void 0 ? threshold : await this.getThreshold() - 1;\n this.validateThreshold(newThreshold, owners.length - 1);\n const prevOwnerAddress = ownerIndex === 0 ? $cm07l.SENTINEL_ADDRESS : owners[ownerIndex - 1];\n return $10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\").encode(\"removeOwner\", [\n prevOwnerAddress,\n ownerAddress,\n newThreshold\n ]);\n }\n async encodeSwapOwnerData(oldOwnerAddress, newOwnerAddress) {\n if (!$10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n this.validateOwnerAddress(newOwnerAddress, \"Invalid new owner address provided\");\n this.validateOwnerAddress(oldOwnerAddress, \"Invalid old owner address provided\");\n const owners = await this.getOwners();\n this.validateAddressIsNotOwner(newOwnerAddress, owners, \"New address provided is already an owner\");\n const oldOwnerIndex = this.validateAddressIsOwner(oldOwnerAddress, owners, \"Old address provided is not an owner\");\n const prevOwnerAddress = oldOwnerIndex === 0 ? $cm07l.SENTINEL_ADDRESS : owners[oldOwnerIndex - 1];\n return $10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\").encode(\"swapOwner\", [\n prevOwnerAddress,\n oldOwnerAddress,\n newOwnerAddress\n ]);\n }\n async encodeChangeThresholdData(threshold) {\n if (!$10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\")) throw new Error(\"Safe is not deployed\");\n const owners = await this.getOwners();\n this.validateThreshold(threshold, owners.length);\n return $10e0cffe69493180$var$__classPrivateFieldGet(this, $10e0cffe69493180$var$_OwnerManager_safeContract, \"f\").encode(\"changeThreshold\", [\n threshold\n ]);\n }\n}\n$10e0cffe69493180$var$_OwnerManager_ethAdapter = new WeakMap(), $10e0cffe69493180$var$_OwnerManager_safeContract = new WeakMap();\nmodule.exports.default = $10e0cffe69493180$var$OwnerManager;\n\n});\n\n\nparcelRequire.register(\"7Jdch\", function(module, exports) {\n\"use strict\";\nvar $5a06f90ccb4dcf52$var$__classPrivateFieldSet = module.exports && module.exports.__classPrivateFieldSet || function(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value), value;\n};\nvar $5a06f90ccb4dcf52$var$__classPrivateFieldGet = module.exports && module.exports.__classPrivateFieldGet || function(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar $5a06f90ccb4dcf52$var$__importDefault = module.exports && module.exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nvar $5a06f90ccb4dcf52$var$_SafeFactory_contractNetworks, $5a06f90ccb4dcf52$var$_SafeFactory_isL1SafeMasterCopy, $5a06f90ccb4dcf52$var$_SafeFactory_safeVersion, $5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter, $5a06f90ccb4dcf52$var$_SafeFactory_safeProxyFactoryContract, $5a06f90ccb4dcf52$var$_SafeFactory_gnosisSafeContract;\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\n\nvar $9sENV = parcelRequire(\"9sENV\");\n\nvar $fn2H0 = parcelRequire(\"fn2H0\");\n\nconst $5a06f90ccb4dcf52$var$Safe_1 = $5a06f90ccb4dcf52$var$__importDefault((parcelRequire(\"aEhpL\")));\n\nvar $fPni6 = parcelRequire(\"fPni6\");\nclass $5a06f90ccb4dcf52$var$SafeFactory {\n constructor(){\n $5a06f90ccb4dcf52$var$_SafeFactory_contractNetworks.set(this, void 0);\n $5a06f90ccb4dcf52$var$_SafeFactory_isL1SafeMasterCopy.set(this, void 0);\n $5a06f90ccb4dcf52$var$_SafeFactory_safeVersion.set(this, void 0);\n $5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter.set(this, void 0);\n $5a06f90ccb4dcf52$var$_SafeFactory_safeProxyFactoryContract.set(this, void 0);\n $5a06f90ccb4dcf52$var$_SafeFactory_gnosisSafeContract.set(this, void 0);\n }\n static async create({ ethAdapter: ethAdapter , safeVersion: safeVersion = $9sENV.SAFE_LAST_VERSION , isL1SafeMasterCopy: isL1SafeMasterCopy = false , contractNetworks: contractNetworks }) {\n const safeFactorySdk = new $5a06f90ccb4dcf52$var$SafeFactory();\n await safeFactorySdk.init({\n ethAdapter: ethAdapter,\n safeVersion: safeVersion,\n isL1SafeMasterCopy: isL1SafeMasterCopy,\n contractNetworks: contractNetworks\n });\n return safeFactorySdk;\n }\n async init({ ethAdapter: ethAdapter , safeVersion: safeVersion , isL1SafeMasterCopy: isL1SafeMasterCopy , contractNetworks: contractNetworks }) {\n $5a06f90ccb4dcf52$var$__classPrivateFieldSet(this, $5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter, ethAdapter, \"f\");\n $5a06f90ccb4dcf52$var$__classPrivateFieldSet(this, $5a06f90ccb4dcf52$var$_SafeFactory_safeVersion, safeVersion, \"f\");\n $5a06f90ccb4dcf52$var$__classPrivateFieldSet(this, $5a06f90ccb4dcf52$var$_SafeFactory_isL1SafeMasterCopy, isL1SafeMasterCopy, \"f\");\n $5a06f90ccb4dcf52$var$__classPrivateFieldSet(this, $5a06f90ccb4dcf52$var$_SafeFactory_contractNetworks, contractNetworks, \"f\");\n const chainId = await $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter, \"f\").getChainId();\n const customContracts = contractNetworks === null || contractNetworks === void 0 ? void 0 : contractNetworks[chainId];\n $5a06f90ccb4dcf52$var$__classPrivateFieldSet(this, $5a06f90ccb4dcf52$var$_SafeFactory_safeProxyFactoryContract, await (0, $fn2H0.getProxyFactoryContract)({\n ethAdapter: ethAdapter,\n safeVersion: safeVersion,\n customContracts: customContracts\n }), \"f\");\n $5a06f90ccb4dcf52$var$__classPrivateFieldSet(this, $5a06f90ccb4dcf52$var$_SafeFactory_gnosisSafeContract, await (0, $fn2H0.getSafeContract)({\n ethAdapter: ethAdapter,\n safeVersion: safeVersion,\n isL1SafeMasterCopy: isL1SafeMasterCopy,\n customContracts: customContracts\n }), \"f\");\n }\n getEthAdapter() {\n return $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter, \"f\");\n }\n getSafeVersion() {\n return $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_safeVersion, \"f\");\n }\n getAddress() {\n return $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_safeProxyFactoryContract, \"f\").getAddress();\n }\n async getChainId() {\n return $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter, \"f\").getChainId();\n }\n async predictSafeAddress(safeAccountConfig, saltNonce = $fPni6.PREDETERMINED_SALT_NONCE) {\n var _a;\n const chainId = await $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter, \"f\").getChainId();\n const customContracts = (_a = $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_contractNetworks, \"f\")) === null || _a === void 0 ? void 0 : _a[chainId];\n const safeVersion = $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_safeVersion, \"f\");\n const safeDeploymentConfig = {\n saltNonce: saltNonce,\n safeVersion: safeVersion\n };\n return (0, $fPni6.predictSafeAddress)({\n ethAdapter: $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter, \"f\"),\n safeAccountConfig: safeAccountConfig,\n safeDeploymentConfig: safeDeploymentConfig,\n isL1SafeMasterCopy: $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_isL1SafeMasterCopy, \"f\"),\n customContracts: customContracts\n });\n }\n async deploySafe({ safeAccountConfig: safeAccountConfig , saltNonce: saltNonce = $fPni6.PREDETERMINED_SALT_NONCE , options: options , callback: callback }) {\n var _a;\n (0, $fPni6.validateSafeAccountConfig)(safeAccountConfig);\n (0, $fPni6.validateSafeDeploymentConfig)({\n saltNonce: saltNonce\n });\n const signerAddress = await $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter, \"f\").getSignerAddress();\n if (!signerAddress) throw new Error(\"EthAdapter must be initialized with a signer to use this method\");\n const chainId = await this.getChainId();\n const customContracts = (_a = $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_contractNetworks, \"f\")) === null || _a === void 0 ? void 0 : _a[chainId];\n const initializer = await (0, $fPni6.encodeSetupCallData)({\n ethAdapter: $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter, \"f\"),\n safeAccountConfig: safeAccountConfig,\n safeContract: $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_gnosisSafeContract, \"f\"),\n customContracts: customContracts\n });\n if ((options === null || options === void 0 ? void 0 : options.gas) && (options === null || options === void 0 ? void 0 : options.gasLimit)) throw new Error(\"Cannot specify gas and gasLimit together in transaction options\");\n const safeAddress = await $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_safeProxyFactoryContract, \"f\").createProxy({\n safeMasterCopyAddress: $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_gnosisSafeContract, \"f\").getAddress(),\n initializer: initializer,\n saltNonce: saltNonce,\n options: {\n from: signerAddress,\n ...options\n },\n callback: callback\n });\n const isContractDeployed = await $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter, \"f\").isContractDeployed(safeAddress);\n if (!isContractDeployed) throw new Error(\"SafeProxy contract is not deployed on the current network\");\n const safe = await $5a06f90ccb4dcf52$var$Safe_1.default.create({\n ethAdapter: $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter, \"f\"),\n safeAddress: safeAddress,\n isL1SafeMasterCopy: $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_isL1SafeMasterCopy, \"f\"),\n contractNetworks: $5a06f90ccb4dcf52$var$__classPrivateFieldGet(this, $5a06f90ccb4dcf52$var$_SafeFactory_contractNetworks, \"f\")\n });\n return safe;\n }\n}\n$5a06f90ccb4dcf52$var$_SafeFactory_contractNetworks = new WeakMap(), $5a06f90ccb4dcf52$var$_SafeFactory_isL1SafeMasterCopy = new WeakMap(), $5a06f90ccb4dcf52$var$_SafeFactory_safeVersion = new WeakMap(), $5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter = new WeakMap(), $5a06f90ccb4dcf52$var$_SafeFactory_safeProxyFactoryContract = new WeakMap(), $5a06f90ccb4dcf52$var$_SafeFactory_gnosisSafeContract = new WeakMap();\nmodule.exports.default = $5a06f90ccb4dcf52$var$SafeFactory;\n\n});\n\nvar $cff202aae1decb38$exports = {};\n\"use strict\";\nvar $cff202aae1decb38$var$__importDefault = $cff202aae1decb38$exports && $cff202aae1decb38$exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty($cff202aae1decb38$exports, \"__esModule\", {\n value: true\n});\n$cff202aae1decb38$exports.EthSafeSignature = $cff202aae1decb38$exports.encodeCreateProxyWithNonce = $cff202aae1decb38$exports.PREDETERMINED_SALT_NONCE = $cff202aae1decb38$exports.encodeSetupCallData = $cff202aae1decb38$exports.predictSafeAddress = $cff202aae1decb38$exports.getCreateCallContract = $cff202aae1decb38$exports.getSignMessageLibContract = $cff202aae1decb38$exports.getMultiSendCallOnlyContract = $cff202aae1decb38$exports.getMultiSendContract = $cff202aae1decb38$exports.getCompatibilityFallbackHandlerContract = $cff202aae1decb38$exports.getProxyFactoryContract = $cff202aae1decb38$exports.getSafeContract = $cff202aae1decb38$exports.SignMessageLibWeb3Contract = $cff202aae1decb38$exports.MultiSendCallOnlyWeb3Contract = $cff202aae1decb38$exports.MultiSendWeb3Contract = $cff202aae1decb38$exports.GnosisSafeProxyFactoryWeb3Contract = $cff202aae1decb38$exports.GnosisSafeContractWeb3 = $cff202aae1decb38$exports.CreateCallWeb3Contract = $cff202aae1decb38$exports.Web3Adapter = $cff202aae1decb38$exports.SignMessageLibEthersContract = $cff202aae1decb38$exports.MultiSendCallOnlyEthersContract = $cff202aae1decb38$exports.MultiSendEthersContract = $cff202aae1decb38$exports.GnosisSafeProxyFactoryEthersContract = $cff202aae1decb38$exports.GnosisSafeContractEthers = $cff202aae1decb38$exports.CreateCallEthersContract = $cff202aae1decb38$exports.EthersAdapter = $cff202aae1decb38$exports.standardizeSafeTransactionData = $cff202aae1decb38$exports.encodeMultiSendData = $cff202aae1decb38$exports.SafeFactory = $cff202aae1decb38$exports.ContractManager = void 0;\nvar $d5d1ec40507ea24e$exports = {};\n\"use strict\";\nvar $d5d1ec40507ea24e$var$__importDefault = $d5d1ec40507ea24e$exports && $d5d1ec40507ea24e$exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty($d5d1ec40507ea24e$exports, \"__esModule\", {\n value: true\n});\n$d5d1ec40507ea24e$exports.SignMessageLibEthersContract = $d5d1ec40507ea24e$exports.MultiSendCallOnlyEthersContract = $d5d1ec40507ea24e$exports.MultiSendEthersContract = $d5d1ec40507ea24e$exports.GnosisSafeProxyFactoryEthersContract = $d5d1ec40507ea24e$exports.GnosisSafeContractEthers = $d5d1ec40507ea24e$exports.CreateCallEthersContract = $d5d1ec40507ea24e$exports.EthersAdapter = void 0;\n\nconst $d5d1ec40507ea24e$var$CreateCallEthersContract_1 = $d5d1ec40507ea24e$var$__importDefault((parcelRequire(\"5UmCz\")));\n$d5d1ec40507ea24e$exports.CreateCallEthersContract = $d5d1ec40507ea24e$var$CreateCallEthersContract_1.default;\n\nconst $d5d1ec40507ea24e$var$GnosisSafeContractEthers_1 = $d5d1ec40507ea24e$var$__importDefault((parcelRequire(\"i0h9t\")));\n$d5d1ec40507ea24e$exports.GnosisSafeContractEthers = $d5d1ec40507ea24e$var$GnosisSafeContractEthers_1.default;\n\nconst $d5d1ec40507ea24e$var$GnosisSafeProxyFactoryEthersContract_1 = $d5d1ec40507ea24e$var$__importDefault((parcelRequire(\"bITUK\")));\n$d5d1ec40507ea24e$exports.GnosisSafeProxyFactoryEthersContract = $d5d1ec40507ea24e$var$GnosisSafeProxyFactoryEthersContract_1.default;\n\nconst $d5d1ec40507ea24e$var$MultiSendEthersContract_1 = $d5d1ec40507ea24e$var$__importDefault((parcelRequire(\"gtiOu\")));\n$d5d1ec40507ea24e$exports.MultiSendEthersContract = $d5d1ec40507ea24e$var$MultiSendEthersContract_1.default;\n\nconst $d5d1ec40507ea24e$var$MultiSendCallOnlyEthersContract_1 = $d5d1ec40507ea24e$var$__importDefault((parcelRequire(\"dTiG3\")));\n$d5d1ec40507ea24e$exports.MultiSendCallOnlyEthersContract = $d5d1ec40507ea24e$var$MultiSendCallOnlyEthersContract_1.default;\n\nconst $d5d1ec40507ea24e$var$SignMessageLibEthersContract_1 = $d5d1ec40507ea24e$var$__importDefault((parcelRequire(\"8Chaz\")));\n$d5d1ec40507ea24e$exports.SignMessageLibEthersContract = $d5d1ec40507ea24e$var$SignMessageLibEthersContract_1.default;\n\nconst $d5d1ec40507ea24e$var$EthersAdapter_1 = $d5d1ec40507ea24e$var$__importDefault((parcelRequire(\"iOLGS\")));\n$d5d1ec40507ea24e$exports.EthersAdapter = $d5d1ec40507ea24e$var$EthersAdapter_1.default;\n\n\nObject.defineProperty($cff202aae1decb38$exports, \"CreateCallEthersContract\", {\n enumerable: true,\n get: function() {\n return $d5d1ec40507ea24e$exports.CreateCallEthersContract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"EthersAdapter\", {\n enumerable: true,\n get: function() {\n return $d5d1ec40507ea24e$exports.EthersAdapter;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"GnosisSafeContractEthers\", {\n enumerable: true,\n get: function() {\n return $d5d1ec40507ea24e$exports.GnosisSafeContractEthers;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"GnosisSafeProxyFactoryEthersContract\", {\n enumerable: true,\n get: function() {\n return $d5d1ec40507ea24e$exports.GnosisSafeProxyFactoryEthersContract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"MultiSendCallOnlyEthersContract\", {\n enumerable: true,\n get: function() {\n return $d5d1ec40507ea24e$exports.MultiSendCallOnlyEthersContract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"MultiSendEthersContract\", {\n enumerable: true,\n get: function() {\n return $d5d1ec40507ea24e$exports.MultiSendEthersContract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"SignMessageLibEthersContract\", {\n enumerable: true,\n get: function() {\n return $d5d1ec40507ea24e$exports.SignMessageLibEthersContract;\n }\n});\nvar $9ddb651ffbfd6340$exports = {};\n\"use strict\";\nvar $9ddb651ffbfd6340$var$__importDefault = $9ddb651ffbfd6340$exports && $9ddb651ffbfd6340$exports.__importDefault || function(mod) {\n return mod && mod.__esModule ? mod : {\n \"default\": mod\n };\n};\nObject.defineProperty($9ddb651ffbfd6340$exports, \"__esModule\", {\n value: true\n});\n$9ddb651ffbfd6340$exports.SignMessageLibWeb3Contract = $9ddb651ffbfd6340$exports.MultiSendCallOnlyWeb3Contract = $9ddb651ffbfd6340$exports.MultiSendWeb3Contract = $9ddb651ffbfd6340$exports.GnosisSafeProxyFactoryWeb3Contract = $9ddb651ffbfd6340$exports.GnosisSafeContractWeb3 = $9ddb651ffbfd6340$exports.CreateCallWeb3Contract = $9ddb651ffbfd6340$exports.Web3Adapter = void 0;\n\nconst $9ddb651ffbfd6340$var$CreateCallWeb3Contract_1 = $9ddb651ffbfd6340$var$__importDefault((parcelRequire(\"2cJbS\")));\n$9ddb651ffbfd6340$exports.CreateCallWeb3Contract = $9ddb651ffbfd6340$var$CreateCallWeb3Contract_1.default;\n\nconst $9ddb651ffbfd6340$var$GnosisSafeContractWeb3_1 = $9ddb651ffbfd6340$var$__importDefault((parcelRequire(\"hANAo\")));\n$9ddb651ffbfd6340$exports.GnosisSafeContractWeb3 = $9ddb651ffbfd6340$var$GnosisSafeContractWeb3_1.default;\n\nconst $9ddb651ffbfd6340$var$GnosisSafeProxyFactoryWeb3Contract_1 = $9ddb651ffbfd6340$var$__importDefault((parcelRequire(\"6nEbP\")));\n$9ddb651ffbfd6340$exports.GnosisSafeProxyFactoryWeb3Contract = $9ddb651ffbfd6340$var$GnosisSafeProxyFactoryWeb3Contract_1.default;\n\nconst $9ddb651ffbfd6340$var$MultiSendWeb3Contract_1 = $9ddb651ffbfd6340$var$__importDefault((parcelRequire(\"1Dllx\")));\n$9ddb651ffbfd6340$exports.MultiSendWeb3Contract = $9ddb651ffbfd6340$var$MultiSendWeb3Contract_1.default;\n\nconst $9ddb651ffbfd6340$var$MultiSendCallOnlyWeb3Contract_1 = $9ddb651ffbfd6340$var$__importDefault((parcelRequire(\"FmGQK\")));\n$9ddb651ffbfd6340$exports.MultiSendCallOnlyWeb3Contract = $9ddb651ffbfd6340$var$MultiSendCallOnlyWeb3Contract_1.default;\n\nconst $9ddb651ffbfd6340$var$SignMessageLibWeb3Contract_1 = $9ddb651ffbfd6340$var$__importDefault((parcelRequire(\"5fx7W\")));\n$9ddb651ffbfd6340$exports.SignMessageLibWeb3Contract = $9ddb651ffbfd6340$var$SignMessageLibWeb3Contract_1.default;\n\nconst $9ddb651ffbfd6340$var$Web3Adapter_1 = $9ddb651ffbfd6340$var$__importDefault((parcelRequire(\"cGWel\")));\n$9ddb651ffbfd6340$exports.Web3Adapter = $9ddb651ffbfd6340$var$Web3Adapter_1.default;\n\n\nObject.defineProperty($cff202aae1decb38$exports, \"CreateCallWeb3Contract\", {\n enumerable: true,\n get: function() {\n return $9ddb651ffbfd6340$exports.CreateCallWeb3Contract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"GnosisSafeContractWeb3\", {\n enumerable: true,\n get: function() {\n return $9ddb651ffbfd6340$exports.GnosisSafeContractWeb3;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"GnosisSafeProxyFactoryWeb3Contract\", {\n enumerable: true,\n get: function() {\n return $9ddb651ffbfd6340$exports.GnosisSafeProxyFactoryWeb3Contract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"MultiSendCallOnlyWeb3Contract\", {\n enumerable: true,\n get: function() {\n return $9ddb651ffbfd6340$exports.MultiSendCallOnlyWeb3Contract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"MultiSendWeb3Contract\", {\n enumerable: true,\n get: function() {\n return $9ddb651ffbfd6340$exports.MultiSendWeb3Contract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"SignMessageLibWeb3Contract\", {\n enumerable: true,\n get: function() {\n return $9ddb651ffbfd6340$exports.SignMessageLibWeb3Contract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"Web3Adapter\", {\n enumerable: true,\n get: function() {\n return $9ddb651ffbfd6340$exports.Web3Adapter;\n }\n});\n\nvar $fn2H0 = parcelRequire(\"fn2H0\");\nObject.defineProperty($cff202aae1decb38$exports, \"getCompatibilityFallbackHandlerContract\", {\n enumerable: true,\n get: function() {\n return $fn2H0.getCompatibilityFallbackHandlerContract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"getCreateCallContract\", {\n enumerable: true,\n get: function() {\n return $fn2H0.getCreateCallContract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"getMultiSendCallOnlyContract\", {\n enumerable: true,\n get: function() {\n return $fn2H0.getMultiSendCallOnlyContract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"getMultiSendContract\", {\n enumerable: true,\n get: function() {\n return $fn2H0.getMultiSendContract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"getProxyFactoryContract\", {\n enumerable: true,\n get: function() {\n return $fn2H0.getProxyFactoryContract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"getSafeContract\", {\n enumerable: true,\n get: function() {\n return $fn2H0.getSafeContract;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"getSignMessageLibContract\", {\n enumerable: true,\n get: function() {\n return $fn2H0.getSignMessageLibContract;\n }\n});\n\nvar $fPni6 = parcelRequire(\"fPni6\");\nObject.defineProperty($cff202aae1decb38$exports, \"predictSafeAddress\", {\n enumerable: true,\n get: function() {\n return $fPni6.predictSafeAddress;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"encodeSetupCallData\", {\n enumerable: true,\n get: function() {\n return $fPni6.encodeSetupCallData;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"encodeCreateProxyWithNonce\", {\n enumerable: true,\n get: function() {\n return $fPni6.encodeCreateProxyWithNonce;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"PREDETERMINED_SALT_NONCE\", {\n enumerable: true,\n get: function() {\n return $fPni6.PREDETERMINED_SALT_NONCE;\n }\n});\n\nconst $cff202aae1decb38$var$contractManager_1 = $cff202aae1decb38$var$__importDefault((parcelRequire(\"1SJBK\")));\n$cff202aae1decb38$exports.ContractManager = $cff202aae1decb38$var$contractManager_1.default;\n\nconst $cff202aae1decb38$var$Safe_1 = $cff202aae1decb38$var$__importDefault((parcelRequire(\"aEhpL\")));\n\nconst $cff202aae1decb38$var$safeFactory_1 = $cff202aae1decb38$var$__importDefault((parcelRequire(\"7Jdch\")));\n$cff202aae1decb38$exports.SafeFactory = $cff202aae1decb38$var$safeFactory_1.default;\n\nvar $7a7Pr = parcelRequire(\"7a7Pr\");\nObject.defineProperty($cff202aae1decb38$exports, \"EthSafeSignature\", {\n enumerable: true,\n get: function() {\n return $7a7Pr.EthSafeSignature;\n }\n});\n\nvar $3MW9o = parcelRequire(\"3MW9o\");\nObject.defineProperty($cff202aae1decb38$exports, \"encodeMultiSendData\", {\n enumerable: true,\n get: function() {\n return $3MW9o.encodeMultiSendData;\n }\n});\nObject.defineProperty($cff202aae1decb38$exports, \"standardizeSafeTransactionData\", {\n enumerable: true,\n get: function() {\n return $3MW9o.standardizeSafeTransactionData;\n }\n});\n$cff202aae1decb38$exports.default = $cff202aae1decb38$var$Safe_1.default;\n\n\nvar $e46560f007b189d3$exports = {};\n/*!\n * Toastify js 1.12.0\n * https://github.com/apvarun/toastify-js\n * @license MIT licensed\n *\n * Copyright (C) 2018 Varun A P\n */ (function(root, factory) {\n if (0, $e46560f007b189d3$exports) $e46560f007b189d3$exports = factory();\n else root.Toastify = factory();\n})($e46560f007b189d3$exports, function(global) {\n // Object initialization\n var Toastify = function(options) {\n // Returning a new init object\n return new Toastify.lib.init(options);\n }, // Library version\n version = \"1.12.0\";\n // Set the default global options\n Toastify.defaults = {\n oldestFirst: true,\n text: \"Toastify is awesome!\",\n node: undefined,\n duration: 3000,\n selector: undefined,\n callback: function() {},\n destination: undefined,\n newWindow: false,\n close: false,\n gravity: \"toastify-top\",\n positionLeft: false,\n position: \"\",\n backgroundColor: \"\",\n avatar: \"\",\n className: \"\",\n stopOnFocus: true,\n onClick: function() {},\n offset: {\n x: 0,\n y: 0\n },\n escapeMarkup: true,\n ariaLive: \"polite\",\n style: {\n background: \"\"\n }\n };\n // Defining the prototype of the object\n Toastify.lib = Toastify.prototype = {\n toastify: version,\n constructor: Toastify,\n // Initializing the object with required parameters\n init: function(options) {\n // Verifying and validating the input object\n if (!options) options = {};\n // Creating the options object\n this.options = {};\n this.toastElement = null;\n // Validating the options\n this.options.text = options.text || Toastify.defaults.text; // Display message\n this.options.node = options.node || Toastify.defaults.node; // Display content as node\n this.options.duration = options.duration === 0 ? 0 : options.duration || Toastify.defaults.duration; // Display duration\n this.options.selector = options.selector || Toastify.defaults.selector; // Parent selector\n this.options.callback = options.callback || Toastify.defaults.callback; // Callback after display\n this.options.destination = options.destination || Toastify.defaults.destination; // On-click destination\n this.options.newWindow = options.newWindow || Toastify.defaults.newWindow; // Open destination in new window\n this.options.close = options.close || Toastify.defaults.close; // Show toast close icon\n this.options.gravity = options.gravity === \"bottom\" ? \"toastify-bottom\" : Toastify.defaults.gravity; // toast position - top or bottom\n this.options.positionLeft = options.positionLeft || Toastify.defaults.positionLeft; // toast position - left or right\n this.options.position = options.position || Toastify.defaults.position; // toast position - left or right\n this.options.backgroundColor = options.backgroundColor || Toastify.defaults.backgroundColor; // toast background color\n this.options.avatar = options.avatar || Toastify.defaults.avatar; // img element src - url or a path\n this.options.className = options.className || Toastify.defaults.className; // additional class names for the toast\n this.options.stopOnFocus = options.stopOnFocus === undefined ? Toastify.defaults.stopOnFocus : options.stopOnFocus; // stop timeout on focus\n this.options.onClick = options.onClick || Toastify.defaults.onClick; // Callback after click\n this.options.offset = options.offset || Toastify.defaults.offset; // toast offset\n this.options.escapeMarkup = options.escapeMarkup !== undefined ? options.escapeMarkup : Toastify.defaults.escapeMarkup;\n this.options.ariaLive = options.ariaLive || Toastify.defaults.ariaLive;\n this.options.style = options.style || Toastify.defaults.style;\n if (options.backgroundColor) this.options.style.background = options.backgroundColor;\n // Returning the current object for chaining functions\n return this;\n },\n // Building the DOM element\n buildToast: function() {\n // Validating if the options are defined\n if (!this.options) throw \"Toastify is not initialized\";\n // Creating the DOM object\n var divElement = document.createElement(\"div\");\n divElement.className = \"toastify on \" + this.options.className;\n // Positioning toast to left or right or center\n if (!!this.options.position) divElement.className += \" toastify-\" + this.options.position;\n else // To be depreciated in further versions\n if (this.options.positionLeft === true) {\n divElement.className += \" toastify-left\";\n console.warn(\"Property `positionLeft` will be depreciated in further versions. Please use `position` instead.\");\n } else // Default position\n divElement.className += \" toastify-right\";\n // Assigning gravity of element\n divElement.className += \" \" + this.options.gravity;\n if (this.options.backgroundColor) // This is being deprecated in favor of using the style HTML DOM property\n console.warn('DEPRECATION NOTICE: \"backgroundColor\" is being deprecated. Please use the \"style.background\" property.');\n // Loop through our style object and apply styles to divElement\n for(var property in this.options.style)divElement.style[property] = this.options.style[property];\n // Announce the toast to screen readers\n if (this.options.ariaLive) divElement.setAttribute(\"aria-live\", this.options.ariaLive);\n // Adding the toast message/node\n if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) // If we have a valid node, we insert it\n divElement.appendChild(this.options.node);\n else {\n if (this.options.escapeMarkup) divElement.innerText = this.options.text;\n else divElement.innerHTML = this.options.text;\n if (this.options.avatar !== \"\") {\n var avatarElement = document.createElement(\"img\");\n avatarElement.src = this.options.avatar;\n avatarElement.className = \"toastify-avatar\";\n if (this.options.position == \"left\" || this.options.positionLeft === true) // Adding close icon on the left of content\n divElement.appendChild(avatarElement);\n else // Adding close icon on the right of content\n divElement.insertAdjacentElement(\"afterbegin\", avatarElement);\n }\n }\n // Adding a close icon to the toast\n if (this.options.close === true) {\n // Create a span for close element\n var closeElement = document.createElement(\"button\");\n closeElement.type = \"button\";\n closeElement.setAttribute(\"aria-label\", \"Close\");\n closeElement.className = \"toast-close\";\n closeElement.innerHTML = \"✖\";\n // Triggering the removal of toast from DOM on close click\n closeElement.addEventListener(\"click\", (function(event) {\n event.stopPropagation();\n this.removeElement(this.toastElement);\n window.clearTimeout(this.toastElement.timeOutValue);\n }).bind(this));\n //Calculating screen width\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n // Adding the close icon to the toast element\n // Display on the right if screen width is less than or equal to 360px\n if ((this.options.position == \"left\" || this.options.positionLeft === true) && width > 360) // Adding close icon on the left of content\n divElement.insertAdjacentElement(\"afterbegin\", closeElement);\n else // Adding close icon on the right of content\n divElement.appendChild(closeElement);\n }\n // Clear timeout while toast is focused\n if (this.options.stopOnFocus && this.options.duration > 0) {\n var self = this;\n // stop countdown\n divElement.addEventListener(\"mouseover\", function(event) {\n window.clearTimeout(divElement.timeOutValue);\n });\n // add back the timeout\n divElement.addEventListener(\"mouseleave\", function() {\n divElement.timeOutValue = window.setTimeout(function() {\n // Remove the toast from DOM\n self.removeElement(divElement);\n }, self.options.duration);\n });\n }\n // Adding an on-click destination path\n if (typeof this.options.destination !== \"undefined\") divElement.addEventListener(\"click\", (function(event) {\n event.stopPropagation();\n if (this.options.newWindow === true) window.open(this.options.destination, \"_blank\");\n else window.location = this.options.destination;\n }).bind(this));\n if (typeof this.options.onClick === \"function\" && typeof this.options.destination === \"undefined\") divElement.addEventListener(\"click\", (function(event) {\n event.stopPropagation();\n this.options.onClick();\n }).bind(this));\n // Adding offset\n if (typeof this.options.offset === \"object\") {\n var x = getAxisOffsetAValue(\"x\", this.options);\n var y = getAxisOffsetAValue(\"y\", this.options);\n var xOffset = this.options.position == \"left\" ? x : \"-\" + x;\n var yOffset = this.options.gravity == \"toastify-top\" ? y : \"-\" + y;\n divElement.style.transform = \"translate(\" + xOffset + \",\" + yOffset + \")\";\n }\n // Returning the generated element\n return divElement;\n },\n // Displaying the toast\n showToast: function() {\n // Creating the DOM object for the toast\n this.toastElement = this.buildToast();\n // Getting the root element to with the toast needs to be added\n var rootElement;\n if (typeof this.options.selector === \"string\") rootElement = document.getElementById(this.options.selector);\n else if (this.options.selector instanceof HTMLElement || typeof ShadowRoot !== \"undefined\" && this.options.selector instanceof ShadowRoot) rootElement = this.options.selector;\n else rootElement = document.body;\n // Validating if root element is present in DOM\n if (!rootElement) throw \"Root element is not defined\";\n // Adding the DOM element\n var elementToInsert = Toastify.defaults.oldestFirst ? rootElement.firstChild : rootElement.lastChild;\n rootElement.insertBefore(this.toastElement, elementToInsert);\n // Repositioning the toasts in case multiple toasts are present\n Toastify.reposition();\n if (this.options.duration > 0) this.toastElement.timeOutValue = window.setTimeout((function() {\n // Remove the toast from DOM\n this.removeElement(this.toastElement);\n }).bind(this), this.options.duration); // Binding `this` for function invocation\n // Supporting function chaining\n return this;\n },\n hideToast: function() {\n if (this.toastElement.timeOutValue) clearTimeout(this.toastElement.timeOutValue);\n this.removeElement(this.toastElement);\n },\n // Removing the element from the DOM\n removeElement: function(toastElement) {\n // Hiding the element\n // toastElement.classList.remove(\"on\");\n toastElement.className = toastElement.className.replace(\" on\", \"\");\n // Removing the element from DOM after transition end\n window.setTimeout((function() {\n // remove options node if any\n if (this.options.node && this.options.node.parentNode) this.options.node.parentNode.removeChild(this.options.node);\n // Remove the element from the DOM, only when the parent node was not removed before.\n if (toastElement.parentNode) toastElement.parentNode.removeChild(toastElement);\n // Calling the callback function\n this.options.callback.call(toastElement);\n // Repositioning the toasts again\n Toastify.reposition();\n }).bind(this), 400); // Binding `this` for function invocation\n }\n };\n // Positioning the toasts on the DOM\n Toastify.reposition = function() {\n // Top margins with gravity\n var topLeftOffsetSize = {\n top: 15,\n bottom: 15\n };\n var topRightOffsetSize = {\n top: 15,\n bottom: 15\n };\n var offsetSize = {\n top: 15,\n bottom: 15\n };\n // Get all toast messages on the DOM\n var allToasts = document.getElementsByClassName(\"toastify\");\n var classUsed;\n // Modifying the position of each toast element\n for(var i = 0; i < allToasts.length; i++){\n // Getting the applied gravity\n if (containsClass(allToasts[i], \"toastify-top\") === true) classUsed = \"toastify-top\";\n else classUsed = \"toastify-bottom\";\n var height = allToasts[i].offsetHeight;\n classUsed = classUsed.substr(9, classUsed.length - 1);\n // Spacing between toasts\n var offset = 15;\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n // Show toast in center if screen with less than or equal to 360px\n if (width <= 360) {\n // Setting the position\n allToasts[i].style[classUsed] = offsetSize[classUsed] + \"px\";\n offsetSize[classUsed] += height + offset;\n } else if (containsClass(allToasts[i], \"toastify-left\") === true) {\n // Setting the position\n allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + \"px\";\n topLeftOffsetSize[classUsed] += height + offset;\n } else {\n // Setting the position\n allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + \"px\";\n topRightOffsetSize[classUsed] += height + offset;\n }\n }\n // Supporting function chaining\n return this;\n };\n // Helper function to get offset.\n function getAxisOffsetAValue(axis, options) {\n if (options.offset[axis]) {\n if (isNaN(options.offset[axis])) return options.offset[axis];\n else return options.offset[axis] + \"px\";\n }\n return \"0px\";\n }\n function containsClass(elem, yourClass) {\n if (!elem || typeof yourClass !== \"string\") return false;\n else if (elem.className && elem.className.trim().split(/\\s+/gi).indexOf(yourClass) > -1) return true;\n else return false;\n }\n // Setting up the prototype for the init object\n Toastify.lib.init.prototype = Toastify.lib;\n // Returning the Toastify function to be assigned to the window object/module\n return Toastify;\n});\n\n\nvar $6c57cc56acea9c6c$exports = {};\n\n$parcel$export($6c57cc56acea9c6c$exports, \"logger\", () => $6c57cc56acea9c6c$export$af88d00dbe7f521);\n$parcel$export($6c57cc56acea9c6c$exports, \"Signer\", () => (parcelRequire(\"j7x7T\")).Signer);\n$parcel$export($6c57cc56acea9c6c$exports, \"Wallet\", () => (parcelRequire(\"5utYt\")).Wallet);\n$parcel$export($6c57cc56acea9c6c$exports, \"VoidSigner\", () => (parcelRequire(\"j7x7T\")).VoidSigner);\n$parcel$export($6c57cc56acea9c6c$exports, \"getDefaultProvider\", () => $859153647bbc688f$export$4f77a1d3c1ac6642);\n$parcel$export($6c57cc56acea9c6c$exports, \"providers\", () => $859153647bbc688f$exports);\n$parcel$export($6c57cc56acea9c6c$exports, \"BaseContract\", () => (parcelRequire(\"fP04X\")).BaseContract);\n$parcel$export($6c57cc56acea9c6c$exports, \"Contract\", () => (parcelRequire(\"fP04X\")).Contract);\n$parcel$export($6c57cc56acea9c6c$exports, \"ContractFactory\", () => (parcelRequire(\"fP04X\")).ContractFactory);\n$parcel$export($6c57cc56acea9c6c$exports, \"BigNumber\", () => (parcelRequire(\"1chjt\")).BigNumber);\n$parcel$export($6c57cc56acea9c6c$exports, \"FixedNumber\", () => (parcelRequire(\"gi65P\")).FixedNumber);\n$parcel$export($6c57cc56acea9c6c$exports, \"constants\", () => $4c29a01839587aec$exports);\n$parcel$export($6c57cc56acea9c6c$exports, \"errors\", () => (parcelRequire(\"d1hml\")).ErrorCode);\n$parcel$export($6c57cc56acea9c6c$exports, \"utils\", () => (parcelRequire(\"1f1He\")));\n$parcel$export($6c57cc56acea9c6c$exports, \"wordlists\", () => (parcelRequire(\"hiOO1\")).wordlists);\n$parcel$export($6c57cc56acea9c6c$exports, \"version\", () => $9f7bf65ddafc81a6$export$83d89fbfd8236492);\n$parcel$export($6c57cc56acea9c6c$exports, \"Wordlist\", () => (parcelRequire(\"2hNTt\")).Wordlist);\n\nvar $fP04X = parcelRequire(\"fP04X\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\nvar $gi65P = parcelRequire(\"gi65P\");\n\nvar $j7x7T = parcelRequire(\"j7x7T\");\n\nvar $5utYt = parcelRequire(\"5utYt\");\nvar $4c29a01839587aec$exports = {};\n\n$parcel$export($4c29a01839587aec$exports, \"AddressZero\", () => $22c6f0407e5356d6$export$badd13187c087617);\n$parcel$export($4c29a01839587aec$exports, \"NegativeOne\", () => (parcelRequire(\"gVGT9\")).NegativeOne);\n$parcel$export($4c29a01839587aec$exports, \"Zero\", () => (parcelRequire(\"gVGT9\")).Zero);\n$parcel$export($4c29a01839587aec$exports, \"One\", () => (parcelRequire(\"gVGT9\")).One);\n$parcel$export($4c29a01839587aec$exports, \"Two\", () => (parcelRequire(\"gVGT9\")).Two);\n$parcel$export($4c29a01839587aec$exports, \"WeiPerEther\", () => (parcelRequire(\"gVGT9\")).WeiPerEther);\n$parcel$export($4c29a01839587aec$exports, \"MaxUint256\", () => (parcelRequire(\"gVGT9\")).MaxUint256);\n$parcel$export($4c29a01839587aec$exports, \"MinInt256\", () => (parcelRequire(\"gVGT9\")).MinInt256);\n$parcel$export($4c29a01839587aec$exports, \"MaxInt256\", () => (parcelRequire(\"gVGT9\")).MaxInt256);\n$parcel$export($4c29a01839587aec$exports, \"HashZero\", () => (parcelRequire(\"djR4n\")).HashZero);\n$parcel$export($4c29a01839587aec$exports, \"EtherSymbol\", () => $deb5368d1753dad5$export$c7e79fcb6f8ac048);\nconst $22c6f0407e5356d6$export$badd13187c087617 = \"0x0000000000000000000000000000000000000000\";\n\n\n\nvar $gVGT9 = parcelRequire(\"gVGT9\");\n\nvar $djR4n = parcelRequire(\"djR4n\");\n// NFKC (composed) // (decomposed)\nconst $deb5368d1753dad5$export$c7e79fcb6f8ac048 = \"Ξ\"; // \"\\uD835\\uDF63\";\n\n\n\"use strict\";\n\n\nvar $859153647bbc688f$exports = {};\n\n$parcel$export($859153647bbc688f$exports, \"getDefaultProvider\", () => $859153647bbc688f$export$4f77a1d3c1ac6642);\n$parcel$export($859153647bbc688f$exports, \"Provider\", () => (parcelRequire(\"b6M4l\")).Provider);\n$parcel$export($859153647bbc688f$exports, \"BaseProvider\", () => $43e733c7f2a529c1$exports.BaseProvider);\n$parcel$export($859153647bbc688f$exports, \"Resolver\", () => $43e733c7f2a529c1$exports.Resolver);\n$parcel$export($859153647bbc688f$exports, \"UrlJsonRpcProvider\", () => $8044ebfe209f61e4$exports.UrlJsonRpcProvider);\n$parcel$export($859153647bbc688f$exports, \"FallbackProvider\", () => $14eaab77c6d2e466$exports.FallbackProvider);\n$parcel$export($859153647bbc688f$exports, \"AlchemyProvider\", () => $e94c62bb842b5925$export$999cc40da3fbc6f);\n$parcel$export($859153647bbc688f$exports, \"AlchemyWebSocketProvider\", () => $e94c62bb842b5925$export$f6c13301c7b76371);\n$parcel$export($859153647bbc688f$exports, \"AnkrProvider\", () => $efd7dc521b26566c$export$72783b2aefa72a45);\n$parcel$export($859153647bbc688f$exports, \"CloudflareProvider\", () => $cdd214e3d1599302$exports.CloudflareProvider);\n$parcel$export($859153647bbc688f$exports, \"EtherscanProvider\", () => $d7687248e25a81ef$exports.EtherscanProvider);\n$parcel$export($859153647bbc688f$exports, \"InfuraProvider\", () => $1be1b51d2ba5e5c5$export$60ff1a559b5c6ebd);\n$parcel$export($859153647bbc688f$exports, \"InfuraWebSocketProvider\", () => $1be1b51d2ba5e5c5$export$dd168a807d60da4f);\n$parcel$export($859153647bbc688f$exports, \"JsonRpcProvider\", () => $e32f9441afb0a406$exports.JsonRpcProvider);\n$parcel$export($859153647bbc688f$exports, \"JsonRpcBatchProvider\", () => $a926fa2c67f65d9a$export$5a16092bf20edf97);\n$parcel$export($859153647bbc688f$exports, \"NodesmithProvider\", () => $dcb00489ffa41a84$export$8235cbce3ce273bd);\n$parcel$export($859153647bbc688f$exports, \"PocketProvider\", () => $fbe10c5df3b2b203$export$58bb47e42f6b092e);\n$parcel$export($859153647bbc688f$exports, \"StaticJsonRpcProvider\", () => $8044ebfe209f61e4$exports.StaticJsonRpcProvider);\n$parcel$export($859153647bbc688f$exports, \"Web3Provider\", () => $c7f9e560d629e6df$export$d05096c9fd9d936d);\n$parcel$export($859153647bbc688f$exports, \"WebSocketProvider\", () => $f2ba8b3ea7dcf3ca$exports.WebSocketProvider);\n$parcel$export($859153647bbc688f$exports, \"IpcProvider\", () => $9b4b4c9da3406148$export$fbe151f90a1ece01);\n$parcel$export($859153647bbc688f$exports, \"JsonRpcSigner\", () => $e32f9441afb0a406$exports.JsonRpcSigner);\n$parcel$export($859153647bbc688f$exports, \"getNetwork\", () => $17c84d4c9be9446e$export$7de4970ebfd8206d);\n$parcel$export($859153647bbc688f$exports, \"isCommunityResource\", () => $dc6c759982861e14$export$d93d5f61c2498b6);\n$parcel$export($859153647bbc688f$exports, \"isCommunityResourcable\", () => $dc6c759982861e14$export$3091239f5b20b896);\n$parcel$export($859153647bbc688f$exports, \"showThrottleMessage\", () => $dc6c759982861e14$export$4c41bd49e82e82ab);\n$parcel$export($859153647bbc688f$exports, \"Formatter\", () => $dc6c759982861e14$export$a06636add2a09fd8);\n\nvar $b6M4l = parcelRequire(\"b6M4l\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\nconst $5f8483051c1cd7c9$export$83d89fbfd8236492 = \"networks/5.7.1\";\n\n\n\"use strict\";\nconst $17c84d4c9be9446e$var$logger = new (0, $d1hml.Logger)((0, $5f8483051c1cd7c9$export$83d89fbfd8236492));\nfunction $17c84d4c9be9446e$var$isRenetworkable(value) {\n return value && typeof value.renetwork === \"function\";\n}\nfunction $17c84d4c9be9446e$var$ethDefaultProvider(network) {\n const func = function(providers, options) {\n if (options == null) options = {};\n const providerList = [];\n if (providers.InfuraProvider && options.infura !== \"-\") try {\n providerList.push(new providers.InfuraProvider(network, options.infura));\n } catch (error) {}\n if (providers.EtherscanProvider && options.etherscan !== \"-\") try {\n providerList.push(new providers.EtherscanProvider(network, options.etherscan));\n } catch (error) {}\n if (providers.AlchemyProvider && options.alchemy !== \"-\") try {\n providerList.push(new providers.AlchemyProvider(network, options.alchemy));\n } catch (error) {}\n if (providers.PocketProvider && options.pocket !== \"-\") {\n // These networks are currently faulty on Pocket as their\n // network does not handle the Berlin hardfork, which is\n // live on these ones.\n // @TODO: This goes away once Pocket has upgraded their nodes\n const skip = [\n \"goerli\",\n \"ropsten\",\n \"rinkeby\",\n \"sepolia\"\n ];\n try {\n const provider = new providers.PocketProvider(network, options.pocket);\n if (provider.network && skip.indexOf(provider.network.name) === -1) providerList.push(provider);\n } catch (error) {}\n }\n if (providers.CloudflareProvider && options.cloudflare !== \"-\") try {\n providerList.push(new providers.CloudflareProvider(network));\n } catch (error) {}\n if (providers.AnkrProvider && options.ankr !== \"-\") try {\n const skip = [\n \"ropsten\"\n ];\n const provider = new providers.AnkrProvider(network, options.ankr);\n if (provider.network && skip.indexOf(provider.network.name) === -1) providerList.push(provider);\n } catch (error) {}\n if (providerList.length === 0) return null;\n if (providers.FallbackProvider) {\n let quorum = 1;\n if (options.quorum != null) quorum = options.quorum;\n else if (network === \"homestead\") quorum = 2;\n return new providers.FallbackProvider(providerList, quorum);\n }\n return providerList[0];\n };\n func.renetwork = function(network) {\n return $17c84d4c9be9446e$var$ethDefaultProvider(network);\n };\n return func;\n}\nfunction $17c84d4c9be9446e$var$etcDefaultProvider(url, network) {\n const func = function(providers, options) {\n if (providers.JsonRpcProvider) return new providers.JsonRpcProvider(url, network);\n return null;\n };\n func.renetwork = function(network) {\n return $17c84d4c9be9446e$var$etcDefaultProvider(url, network);\n };\n return func;\n}\nconst $17c84d4c9be9446e$var$homestead = {\n chainId: 1,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"homestead\",\n _defaultProvider: $17c84d4c9be9446e$var$ethDefaultProvider(\"homestead\")\n};\nconst $17c84d4c9be9446e$var$ropsten = {\n chainId: 3,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"ropsten\",\n _defaultProvider: $17c84d4c9be9446e$var$ethDefaultProvider(\"ropsten\")\n};\nconst $17c84d4c9be9446e$var$classicMordor = {\n chainId: 63,\n name: \"classicMordor\",\n _defaultProvider: $17c84d4c9be9446e$var$etcDefaultProvider(\"https://www.ethercluster.com/mordor\", \"classicMordor\")\n};\n// See: https://chainlist.org\nconst $17c84d4c9be9446e$var$networks = {\n unspecified: {\n chainId: 0,\n name: \"unspecified\"\n },\n homestead: $17c84d4c9be9446e$var$homestead,\n mainnet: $17c84d4c9be9446e$var$homestead,\n morden: {\n chainId: 2,\n name: \"morden\"\n },\n ropsten: $17c84d4c9be9446e$var$ropsten,\n testnet: $17c84d4c9be9446e$var$ropsten,\n rinkeby: {\n chainId: 4,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"rinkeby\",\n _defaultProvider: $17c84d4c9be9446e$var$ethDefaultProvider(\"rinkeby\")\n },\n kovan: {\n chainId: 42,\n name: \"kovan\",\n _defaultProvider: $17c84d4c9be9446e$var$ethDefaultProvider(\"kovan\")\n },\n goerli: {\n chainId: 5,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"goerli\",\n _defaultProvider: $17c84d4c9be9446e$var$ethDefaultProvider(\"goerli\")\n },\n kintsugi: {\n chainId: 1337702,\n name: \"kintsugi\"\n },\n sepolia: {\n chainId: 11155111,\n name: \"sepolia\",\n _defaultProvider: $17c84d4c9be9446e$var$ethDefaultProvider(\"sepolia\")\n },\n // ETC (See: #351)\n classic: {\n chainId: 61,\n name: \"classic\",\n _defaultProvider: $17c84d4c9be9446e$var$etcDefaultProvider(\"https://www.ethercluster.com/etc\", \"classic\")\n },\n classicMorden: {\n chainId: 62,\n name: \"classicMorden\"\n },\n classicMordor: $17c84d4c9be9446e$var$classicMordor,\n classicTestnet: $17c84d4c9be9446e$var$classicMordor,\n classicKotti: {\n chainId: 6,\n name: \"classicKotti\",\n _defaultProvider: $17c84d4c9be9446e$var$etcDefaultProvider(\"https://www.ethercluster.com/kotti\", \"classicKotti\")\n },\n xdai: {\n chainId: 100,\n name: \"xdai\"\n },\n matic: {\n chainId: 137,\n name: \"matic\",\n _defaultProvider: $17c84d4c9be9446e$var$ethDefaultProvider(\"matic\")\n },\n maticmum: {\n chainId: 80001,\n name: \"maticmum\"\n },\n optimism: {\n chainId: 10,\n name: \"optimism\",\n _defaultProvider: $17c84d4c9be9446e$var$ethDefaultProvider(\"optimism\")\n },\n \"optimism-kovan\": {\n chainId: 69,\n name: \"optimism-kovan\"\n },\n \"optimism-goerli\": {\n chainId: 420,\n name: \"optimism-goerli\"\n },\n arbitrum: {\n chainId: 42161,\n name: \"arbitrum\"\n },\n \"arbitrum-rinkeby\": {\n chainId: 421611,\n name: \"arbitrum-rinkeby\"\n },\n \"arbitrum-goerli\": {\n chainId: 421613,\n name: \"arbitrum-goerli\"\n },\n bnb: {\n chainId: 56,\n name: \"bnb\"\n },\n bnbt: {\n chainId: 97,\n name: \"bnbt\"\n }\n};\nfunction $17c84d4c9be9446e$export$7de4970ebfd8206d(network) {\n // No network (null)\n if (network == null) return null;\n if (typeof network === \"number\") {\n for(const name in $17c84d4c9be9446e$var$networks){\n const standard = $17c84d4c9be9446e$var$networks[name];\n if (standard.chainId === network) return {\n name: standard.name,\n chainId: standard.chainId,\n ensAddress: standard.ensAddress || null,\n _defaultProvider: standard._defaultProvider || null\n };\n }\n return {\n chainId: network,\n name: \"unknown\"\n };\n }\n if (typeof network === \"string\") {\n const standard = $17c84d4c9be9446e$var$networks[network];\n if (standard == null) return null;\n return {\n name: standard.name,\n chainId: standard.chainId,\n ensAddress: standard.ensAddress,\n _defaultProvider: standard._defaultProvider || null\n };\n }\n const standard = $17c84d4c9be9446e$var$networks[network.name];\n // Not a standard network; check that it is a valid network in general\n if (!standard) {\n if (typeof network.chainId !== \"number\") $17c84d4c9be9446e$var$logger.throwArgumentError(\"invalid network chainId\", \"network\", network);\n return network;\n }\n // Make sure the chainId matches the expected network chainId (or is 0; disable EIP-155)\n if (network.chainId !== 0 && network.chainId !== standard.chainId) $17c84d4c9be9446e$var$logger.throwArgumentError(\"network chainId mismatch\", \"network\", network);\n // @TODO: In the next major version add an attach function to a defaultProvider\n // class and move the _defaultProvider internal to this file (extend Network)\n let defaultProvider = network._defaultProvider || null;\n if (defaultProvider == null && standard._defaultProvider) {\n if ($17c84d4c9be9446e$var$isRenetworkable(standard._defaultProvider)) defaultProvider = standard._defaultProvider.renetwork(network);\n else defaultProvider = standard._defaultProvider;\n }\n // Standard Network (allow overriding the ENS address)\n return {\n name: network.name,\n chainId: standard.chainId,\n ensAddress: network.ensAddress || standard.ensAddress || null,\n _defaultProvider: defaultProvider\n };\n}\n\n\nvar $43e733c7f2a529c1$exports = {};\n\n$parcel$export($43e733c7f2a529c1$exports, \"Resolver\", () => $43e733c7f2a529c1$export$8b4c839865b08288);\n$parcel$export($43e733c7f2a529c1$exports, \"BaseProvider\", () => $43e733c7f2a529c1$export$ff3f6dd83125ac45);\n\nvar $b6M4l = parcelRequire(\"b6M4l\");\n\nvar $2vfMQ = parcelRequire(\"2vfMQ\");\n\nvar $5tyfw = parcelRequire(\"5tyfw\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $djR4n = parcelRequire(\"djR4n\");\n\nvar $8s7ds = parcelRequire(\"8s7ds\");\n\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $g67nD = parcelRequire(\"g67nD\");\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\n\nvar $6BV0e = parcelRequire(\"6BV0e\");\nvar $58c329f65c659a19$exports = {};\n\"use strict\";\nvar $58c329f65c659a19$var$ALPHABET = \"qpzry9x8gf2tvdw0s3jn54khce6mua7l\";\n// pre-compute lookup table\nvar $58c329f65c659a19$var$ALPHABET_MAP = {};\nfor(var $58c329f65c659a19$var$z = 0; $58c329f65c659a19$var$z < $58c329f65c659a19$var$ALPHABET.length; $58c329f65c659a19$var$z++){\n var $58c329f65c659a19$var$x = $58c329f65c659a19$var$ALPHABET.charAt($58c329f65c659a19$var$z);\n if ($58c329f65c659a19$var$ALPHABET_MAP[$58c329f65c659a19$var$x] !== undefined) throw new TypeError($58c329f65c659a19$var$x + \" is ambiguous\");\n $58c329f65c659a19$var$ALPHABET_MAP[$58c329f65c659a19$var$x] = $58c329f65c659a19$var$z;\n}\nfunction $58c329f65c659a19$var$polymodStep(pre) {\n var b = pre >> 25;\n return (pre & 0x1FFFFFF) << 5 ^ -(b >> 0 & 1) & 0x3b6a57b2 ^ -(b >> 1 & 1) & 0x26508e6d ^ -(b >> 2 & 1) & 0x1ea119fa ^ -(b >> 3 & 1) & 0x3d4233dd ^ -(b >> 4 & 1) & 0x2a1462b3;\n}\nfunction $58c329f65c659a19$var$prefixChk(prefix) {\n var chk = 1;\n for(var i = 0; i < prefix.length; ++i){\n var c = prefix.charCodeAt(i);\n if (c < 33 || c > 126) return \"Invalid prefix (\" + prefix + \")\";\n chk = $58c329f65c659a19$var$polymodStep(chk) ^ c >> 5;\n }\n chk = $58c329f65c659a19$var$polymodStep(chk);\n for(i = 0; i < prefix.length; ++i){\n var v = prefix.charCodeAt(i);\n chk = $58c329f65c659a19$var$polymodStep(chk) ^ v & 0x1f;\n }\n return chk;\n}\nfunction $58c329f65c659a19$var$encode(prefix, words, LIMIT) {\n LIMIT = LIMIT || 90;\n if (prefix.length + 7 + words.length > LIMIT) throw new TypeError(\"Exceeds length limit\");\n prefix = prefix.toLowerCase();\n // determine chk mod\n var chk = $58c329f65c659a19$var$prefixChk(prefix);\n if (typeof chk === \"string\") throw new Error(chk);\n var result = prefix + \"1\";\n for(var i = 0; i < words.length; ++i){\n var x = words[i];\n if (x >> 5 !== 0) throw new Error(\"Non 5-bit word\");\n chk = $58c329f65c659a19$var$polymodStep(chk) ^ x;\n result += $58c329f65c659a19$var$ALPHABET.charAt(x);\n }\n for(i = 0; i < 6; ++i)chk = $58c329f65c659a19$var$polymodStep(chk);\n chk ^= 1;\n for(i = 0; i < 6; ++i){\n var v = chk >> (5 - i) * 5 & 0x1f;\n result += $58c329f65c659a19$var$ALPHABET.charAt(v);\n }\n return result;\n}\nfunction $58c329f65c659a19$var$__decode(str, LIMIT) {\n LIMIT = LIMIT || 90;\n if (str.length < 8) return str + \" too short\";\n if (str.length > LIMIT) return \"Exceeds length limit\";\n // don't allow mixed case\n var lowered = str.toLowerCase();\n var uppered = str.toUpperCase();\n if (str !== lowered && str !== uppered) return \"Mixed-case string \" + str;\n str = lowered;\n var split = str.lastIndexOf(\"1\");\n if (split === -1) return \"No separator character for \" + str;\n if (split === 0) return \"Missing prefix for \" + str;\n var prefix = str.slice(0, split);\n var wordChars = str.slice(split + 1);\n if (wordChars.length < 6) return \"Data too short\";\n var chk = $58c329f65c659a19$var$prefixChk(prefix);\n if (typeof chk === \"string\") return chk;\n var words = [];\n for(var i = 0; i < wordChars.length; ++i){\n var c = wordChars.charAt(i);\n var v = $58c329f65c659a19$var$ALPHABET_MAP[c];\n if (v === undefined) return \"Unknown character \" + c;\n chk = $58c329f65c659a19$var$polymodStep(chk) ^ v;\n // not in the checksum?\n if (i + 6 >= wordChars.length) continue;\n words.push(v);\n }\n if (chk !== 1) return \"Invalid checksum for \" + str;\n return {\n prefix: prefix,\n words: words\n };\n}\nfunction $58c329f65c659a19$var$decodeUnsafe() {\n var res = $58c329f65c659a19$var$__decode.apply(null, arguments);\n if (typeof res === \"object\") return res;\n}\nfunction $58c329f65c659a19$var$decode(str) {\n var res = $58c329f65c659a19$var$__decode.apply(null, arguments);\n if (typeof res === \"object\") return res;\n throw new Error(res);\n}\nfunction $58c329f65c659a19$var$convert(data, inBits, outBits, pad) {\n var value = 0;\n var bits = 0;\n var maxV = (1 << outBits) - 1;\n var result = [];\n for(var i = 0; i < data.length; ++i){\n value = value << inBits | data[i];\n bits += inBits;\n while(bits >= outBits){\n bits -= outBits;\n result.push(value >> bits & maxV);\n }\n }\n if (pad) {\n if (bits > 0) result.push(value << outBits - bits & maxV);\n } else {\n if (bits >= inBits) return \"Excess padding\";\n if (value << outBits - bits & maxV) return \"Non-zero padding\";\n }\n return result;\n}\nfunction $58c329f65c659a19$var$toWordsUnsafe(bytes) {\n var res = $58c329f65c659a19$var$convert(bytes, 8, 5, true);\n if (Array.isArray(res)) return res;\n}\nfunction $58c329f65c659a19$var$toWords(bytes) {\n var res = $58c329f65c659a19$var$convert(bytes, 8, 5, true);\n if (Array.isArray(res)) return res;\n throw new Error(res);\n}\nfunction $58c329f65c659a19$var$fromWordsUnsafe(words) {\n var res = $58c329f65c659a19$var$convert(words, 5, 8, false);\n if (Array.isArray(res)) return res;\n}\nfunction $58c329f65c659a19$var$fromWords(words) {\n var res = $58c329f65c659a19$var$convert(words, 5, 8, false);\n if (Array.isArray(res)) return res;\n throw new Error(res);\n}\n$58c329f65c659a19$exports = {\n decodeUnsafe: $58c329f65c659a19$var$decodeUnsafe,\n decode: $58c329f65c659a19$var$decode,\n encode: $58c329f65c659a19$var$encode,\n toWordsUnsafe: $58c329f65c659a19$var$toWordsUnsafe,\n toWords: $58c329f65c659a19$var$toWords,\n fromWordsUnsafe: $58c329f65c659a19$var$fromWordsUnsafe,\n fromWords: $58c329f65c659a19$var$fromWords\n};\n\n\n\nvar $d1hml = parcelRequire(\"d1hml\");\nconst $fd8f67b80e142427$export$83d89fbfd8236492 = \"providers/5.7.2\";\n\n\n\nvar $bVwUc = parcelRequire(\"bVwUc\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $TyNFl = parcelRequire(\"TyNFl\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\n\"use strict\";\nconst $dc6c759982861e14$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\nclass $dc6c759982861e14$export$a06636add2a09fd8 {\n constructor(){\n this.formats = this.getDefaultFormats();\n }\n getDefaultFormats() {\n const formats = {};\n const address = this.address.bind(this);\n const bigNumber = this.bigNumber.bind(this);\n const blockTag = this.blockTag.bind(this);\n const data = this.data.bind(this);\n const hash = this.hash.bind(this);\n const hex = this.hex.bind(this);\n const number = this.number.bind(this);\n const type = this.type.bind(this);\n const strictData = (v)=>{\n return this.data(v, true);\n };\n formats.transaction = {\n hash: hash,\n type: type,\n accessList: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(this.accessList.bind(this), null),\n blockHash: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(hash, null),\n blockNumber: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(number, null),\n transactionIndex: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(number, null),\n confirmations: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(number, null),\n from: address,\n // either (gasPrice) or (maxPriorityFeePerGas + maxFeePerGas)\n // must be set\n gasPrice: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(bigNumber),\n maxPriorityFeePerGas: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(bigNumber),\n maxFeePerGas: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(bigNumber),\n gasLimit: bigNumber,\n to: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(address, null),\n value: bigNumber,\n nonce: number,\n data: data,\n r: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(this.uint256),\n s: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(this.uint256),\n v: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(number),\n creates: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(address, null),\n raw: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(data)\n };\n formats.transactionRequest = {\n from: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(address),\n nonce: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(number),\n gasLimit: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(bigNumber),\n gasPrice: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(bigNumber),\n maxPriorityFeePerGas: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(bigNumber),\n maxFeePerGas: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(bigNumber),\n to: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(address),\n value: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(bigNumber),\n data: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(strictData),\n type: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(number),\n accessList: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(this.accessList.bind(this), null)\n };\n formats.receiptLog = {\n transactionIndex: number,\n blockNumber: number,\n transactionHash: hash,\n address: address,\n topics: $dc6c759982861e14$export$a06636add2a09fd8.arrayOf(hash),\n data: data,\n logIndex: number,\n blockHash: hash\n };\n formats.receipt = {\n to: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(this.address, null),\n from: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(this.address, null),\n contractAddress: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(address, null),\n transactionIndex: number,\n // should be allowNull(hash), but broken-EIP-658 support is handled in receipt\n root: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(hex),\n gasUsed: bigNumber,\n logsBloom: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(data),\n blockHash: hash,\n transactionHash: hash,\n logs: $dc6c759982861e14$export$a06636add2a09fd8.arrayOf(this.receiptLog.bind(this)),\n blockNumber: number,\n confirmations: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(number, null),\n cumulativeGasUsed: bigNumber,\n effectiveGasPrice: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(bigNumber),\n status: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(number),\n type: type\n };\n formats.block = {\n hash: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(hash),\n parentHash: hash,\n number: number,\n timestamp: number,\n nonce: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(hex),\n difficulty: this.difficulty.bind(this),\n gasLimit: bigNumber,\n gasUsed: bigNumber,\n miner: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(address),\n extraData: data,\n transactions: $dc6c759982861e14$export$a06636add2a09fd8.allowNull($dc6c759982861e14$export$a06636add2a09fd8.arrayOf(hash)),\n baseFeePerGas: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(bigNumber)\n };\n formats.blockWithTransactions = (0, $e72ut.shallowCopy)(formats.block);\n formats.blockWithTransactions.transactions = $dc6c759982861e14$export$a06636add2a09fd8.allowNull($dc6c759982861e14$export$a06636add2a09fd8.arrayOf(this.transactionResponse.bind(this)));\n formats.filter = {\n fromBlock: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(blockTag, undefined),\n toBlock: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(blockTag, undefined),\n blockHash: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(hash, undefined),\n address: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(address, undefined),\n topics: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(this.topics.bind(this), undefined)\n };\n formats.filterLog = {\n blockNumber: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(number),\n blockHash: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(hash),\n transactionIndex: number,\n removed: $dc6c759982861e14$export$a06636add2a09fd8.allowNull(this.boolean.bind(this)),\n address: address,\n data: $dc6c759982861e14$export$a06636add2a09fd8.allowFalsish(data, \"0x\"),\n topics: $dc6c759982861e14$export$a06636add2a09fd8.arrayOf(hash),\n transactionHash: hash,\n logIndex: number\n };\n return formats;\n }\n accessList(accessList) {\n return (0, $TyNFl.accessListify)(accessList || []);\n }\n // Requires a BigNumberish that is within the IEEE754 safe integer range; returns a number\n // Strict! Used on input.\n number(number) {\n if (number === \"0x\") return 0;\n return (0, $1chjt.BigNumber).from(number).toNumber();\n }\n type(number) {\n if (number === \"0x\" || number == null) return 0;\n return (0, $1chjt.BigNumber).from(number).toNumber();\n }\n // Strict! Used on input.\n bigNumber(value) {\n return (0, $1chjt.BigNumber).from(value);\n }\n // Requires a boolean, \"true\" or \"false\"; returns a boolean\n boolean(value) {\n if (typeof value === \"boolean\") return value;\n if (typeof value === \"string\") {\n value = value.toLowerCase();\n if (value === \"true\") return true;\n if (value === \"false\") return false;\n }\n throw new Error(\"invalid boolean - \" + value);\n }\n hex(value, strict) {\n if (typeof value === \"string\") {\n if (!strict && value.substring(0, 2) !== \"0x\") value = \"0x\" + value;\n if ((0, $aBzgs.isHexString)(value)) return value.toLowerCase();\n }\n return $dc6c759982861e14$var$logger.throwArgumentError(\"invalid hash\", \"value\", value);\n }\n data(value, strict) {\n const result = this.hex(value, strict);\n if (result.length % 2 !== 0) throw new Error(\"invalid data; odd-length - \" + value);\n return result;\n }\n // Requires an address\n // Strict! Used on input.\n address(value) {\n return (0, $bVwUc.getAddress)(value);\n }\n callAddress(value) {\n if (!(0, $aBzgs.isHexString)(value, 32)) return null;\n const address = (0, $bVwUc.getAddress)((0, $aBzgs.hexDataSlice)(value, 12));\n return address === (0, $22c6f0407e5356d6$export$badd13187c087617) ? null : address;\n }\n contractAddress(value) {\n return (0, $bVwUc.getContractAddress)(value);\n }\n // Strict! Used on input.\n blockTag(blockTag) {\n if (blockTag == null) return \"latest\";\n if (blockTag === \"earliest\") return \"0x0\";\n switch(blockTag){\n case \"earliest\":\n return \"0x0\";\n case \"latest\":\n case \"pending\":\n case \"safe\":\n case \"finalized\":\n return blockTag;\n }\n if (typeof blockTag === \"number\" || (0, $aBzgs.isHexString)(blockTag)) return (0, $aBzgs.hexValue)(blockTag);\n throw new Error(\"invalid blockTag\");\n }\n // Requires a hash, optionally requires 0x prefix; returns prefixed lowercase hash.\n hash(value, strict) {\n const result = this.hex(value, strict);\n if ((0, $aBzgs.hexDataLength)(result) !== 32) return $dc6c759982861e14$var$logger.throwArgumentError(\"invalid hash\", \"value\", value);\n return result;\n }\n // Returns the difficulty as a number, or if too large (i.e. PoA network) null\n difficulty(value) {\n if (value == null) return null;\n const v = (0, $1chjt.BigNumber).from(value);\n try {\n return v.toNumber();\n } catch (error) {}\n return null;\n }\n uint256(value) {\n if (!(0, $aBzgs.isHexString)(value)) throw new Error(\"invalid uint256\");\n return (0, $aBzgs.hexZeroPad)(value, 32);\n }\n _block(value, format) {\n if (value.author != null && value.miner == null) value.miner = value.author;\n // The difficulty may need to come from _difficulty in recursed blocks\n const difficulty = value._difficulty != null ? value._difficulty : value.difficulty;\n const result = $dc6c759982861e14$export$a06636add2a09fd8.check(format, value);\n result._difficulty = difficulty == null ? null : (0, $1chjt.BigNumber).from(difficulty);\n return result;\n }\n block(value) {\n return this._block(value, this.formats.block);\n }\n blockWithTransactions(value) {\n return this._block(value, this.formats.blockWithTransactions);\n }\n // Strict! Used on input.\n transactionRequest(value) {\n return $dc6c759982861e14$export$a06636add2a09fd8.check(this.formats.transactionRequest, value);\n }\n transactionResponse(transaction) {\n // Rename gas to gasLimit\n if (transaction.gas != null && transaction.gasLimit == null) transaction.gasLimit = transaction.gas;\n // Some clients (TestRPC) do strange things like return 0x0 for the\n // 0 address; correct this to be a real address\n if (transaction.to && (0, $1chjt.BigNumber).from(transaction.to).isZero()) transaction.to = \"0x0000000000000000000000000000000000000000\";\n // Rename input to data\n if (transaction.input != null && transaction.data == null) transaction.data = transaction.input;\n // If to and creates are empty, populate the creates from the transaction\n if (transaction.to == null && transaction.creates == null) transaction.creates = this.contractAddress(transaction);\n if ((transaction.type === 1 || transaction.type === 2) && transaction.accessList == null) transaction.accessList = [];\n const result = $dc6c759982861e14$export$a06636add2a09fd8.check(this.formats.transaction, transaction);\n if (transaction.chainId != null) {\n let chainId = transaction.chainId;\n if ((0, $aBzgs.isHexString)(chainId)) chainId = (0, $1chjt.BigNumber).from(chainId).toNumber();\n result.chainId = chainId;\n } else {\n let chainId = transaction.networkId;\n // geth-etc returns chainId\n if (chainId == null && result.v == null) chainId = transaction.chainId;\n if ((0, $aBzgs.isHexString)(chainId)) chainId = (0, $1chjt.BigNumber).from(chainId).toNumber();\n if (typeof chainId !== \"number\" && result.v != null) {\n chainId = (result.v - 35) / 2;\n if (chainId < 0) chainId = 0;\n chainId = parseInt(chainId);\n }\n if (typeof chainId !== \"number\") chainId = 0;\n result.chainId = chainId;\n }\n // 0x0000... should actually be null\n if (result.blockHash && result.blockHash.replace(/0/g, \"\") === \"x\") result.blockHash = null;\n return result;\n }\n transaction(value) {\n return (0, $TyNFl.parse)(value);\n }\n receiptLog(value) {\n return $dc6c759982861e14$export$a06636add2a09fd8.check(this.formats.receiptLog, value);\n }\n receipt(value) {\n const result = $dc6c759982861e14$export$a06636add2a09fd8.check(this.formats.receipt, value);\n // RSK incorrectly implemented EIP-658, so we munge things a bit here for it\n if (result.root != null) {\n if (result.root.length <= 4) {\n // Could be 0x00, 0x0, 0x01 or 0x1\n const value = (0, $1chjt.BigNumber).from(result.root).toNumber();\n if (value === 0 || value === 1) {\n // Make sure if both are specified, they match\n if (result.status != null && result.status !== value) $dc6c759982861e14$var$logger.throwArgumentError(\"alt-root-status/status mismatch\", \"value\", {\n root: result.root,\n status: result.status\n });\n result.status = value;\n delete result.root;\n } else $dc6c759982861e14$var$logger.throwArgumentError(\"invalid alt-root-status\", \"value.root\", result.root);\n } else if (result.root.length !== 66) // Must be a valid bytes32\n $dc6c759982861e14$var$logger.throwArgumentError(\"invalid root hash\", \"value.root\", result.root);\n }\n if (result.status != null) result.byzantium = true;\n return result;\n }\n topics(value) {\n if (Array.isArray(value)) return value.map((v)=>this.topics(v));\n else if (value != null) return this.hash(value, true);\n return null;\n }\n filter(value) {\n return $dc6c759982861e14$export$a06636add2a09fd8.check(this.formats.filter, value);\n }\n filterLog(value) {\n return $dc6c759982861e14$export$a06636add2a09fd8.check(this.formats.filterLog, value);\n }\n static check(format, object) {\n const result = {};\n for(const key in format)try {\n const value = format[key](object[key]);\n if (value !== undefined) result[key] = value;\n } catch (error) {\n error.checkKey = key;\n error.checkValue = object[key];\n throw error;\n }\n return result;\n }\n // if value is null-ish, nullValue is returned\n static allowNull(format, nullValue) {\n return function(value) {\n if (value == null) return nullValue;\n return format(value);\n };\n }\n // If value is false-ish, replaceValue is returned\n static allowFalsish(format, replaceValue) {\n return function(value) {\n if (!value) return replaceValue;\n return format(value);\n };\n }\n // Requires an Array satisfying check\n static arrayOf(format) {\n return function(array) {\n if (!Array.isArray(array)) throw new Error(\"not an array\");\n const result = [];\n array.forEach(function(value) {\n result.push(format(value));\n });\n return result;\n };\n }\n}\nfunction $dc6c759982861e14$export$3091239f5b20b896(value) {\n return value && typeof value.isCommunityResource === \"function\";\n}\nfunction $dc6c759982861e14$export$d93d5f61c2498b6(value) {\n return $dc6c759982861e14$export$3091239f5b20b896(value) && value.isCommunityResource();\n}\n// Show the throttle message only once\nlet $dc6c759982861e14$var$throttleMessage = false;\nfunction $dc6c759982861e14$export$4c41bd49e82e82ab() {\n if ($dc6c759982861e14$var$throttleMessage) return;\n $dc6c759982861e14$var$throttleMessage = true;\n console.log(\"========= NOTICE =========\");\n console.log(\"Request-Rate Exceeded (this message will not be repeated)\");\n console.log(\"\");\n console.log(\"The default API keys for each service are provided as a highly-throttled,\");\n console.log(\"community resource for low-traffic projects and early prototyping.\");\n console.log(\"\");\n console.log(\"While your application will continue to function, we highly recommended\");\n console.log(\"signing up for your own API keys to improve performance, increase your\");\n console.log(\"request rate/limit and enable other perks, such as metrics and advanced APIs.\");\n console.log(\"\");\n console.log(\"For more details: https://docs.ethers.io/api-keys/\");\n console.log(\"==========================\");\n}\n\n\n\"use strict\";\nvar $43e733c7f2a529c1$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $43e733c7f2a529c1$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\nconst $43e733c7f2a529c1$var$MAX_CCIP_REDIRECTS = 10;\n//////////////////////////////\n// Event Serializeing\nfunction $43e733c7f2a529c1$var$checkTopic(topic) {\n if (topic == null) return \"null\";\n if ((0, $aBzgs.hexDataLength)(topic) !== 32) $43e733c7f2a529c1$var$logger.throwArgumentError(\"invalid topic\", \"topic\", topic);\n return topic.toLowerCase();\n}\nfunction $43e733c7f2a529c1$var$serializeTopics(topics) {\n // Remove trailing null AND-topics; they are redundant\n topics = topics.slice();\n while(topics.length > 0 && topics[topics.length - 1] == null)topics.pop();\n return topics.map((topic)=>{\n if (Array.isArray(topic)) {\n // Only track unique OR-topics\n const unique = {};\n topic.forEach((topic)=>{\n unique[$43e733c7f2a529c1$var$checkTopic(topic)] = true;\n });\n // The order of OR-topics does not matter\n const sorted = Object.keys(unique);\n sorted.sort();\n return sorted.join(\"|\");\n } else return $43e733c7f2a529c1$var$checkTopic(topic);\n }).join(\"&\");\n}\nfunction $43e733c7f2a529c1$var$deserializeTopics(data) {\n if (data === \"\") return [];\n return data.split(/&/g).map((topic)=>{\n if (topic === \"\") return [];\n const comps = topic.split(\"|\").map((topic)=>{\n return topic === \"null\" ? null : topic;\n });\n return comps.length === 1 ? comps[0] : comps;\n });\n}\nfunction $43e733c7f2a529c1$var$getEventTag(eventName) {\n if (typeof eventName === \"string\") {\n eventName = eventName.toLowerCase();\n if ((0, $aBzgs.hexDataLength)(eventName) === 32) return \"tx:\" + eventName;\n if (eventName.indexOf(\":\") === -1) return eventName;\n } else if (Array.isArray(eventName)) return \"filter:*:\" + $43e733c7f2a529c1$var$serializeTopics(eventName);\n else if ((0, $b6M4l.ForkEvent).isForkEvent(eventName)) {\n $43e733c7f2a529c1$var$logger.warn(\"not implemented\");\n throw new Error(\"not implemented\");\n } else if (eventName && typeof eventName === \"object\") return \"filter:\" + (eventName.address || \"*\") + \":\" + $43e733c7f2a529c1$var$serializeTopics(eventName.topics || []);\n throw new Error(\"invalid event - \" + eventName);\n}\n//////////////////////////////\n// Helper Object\nfunction $43e733c7f2a529c1$var$getTime() {\n return new Date().getTime();\n}\nfunction $43e733c7f2a529c1$var$stall(duration) {\n return new Promise((resolve)=>{\n setTimeout(resolve, duration);\n });\n}\n//////////////////////////////\n// Provider Object\n/**\n * EventType\n * - \"block\"\n * - \"poll\"\n * - \"didPoll\"\n * - \"pending\"\n * - \"error\"\n * - \"network\"\n * - filter\n * - topics array\n * - transaction hash\n */ const $43e733c7f2a529c1$var$PollableEvents = [\n \"block\",\n \"network\",\n \"pending\",\n \"poll\"\n];\nclass $43e733c7f2a529c1$export$d61e24a684f9e51 {\n constructor(tag, listener, once){\n (0, $e72ut.defineReadOnly)(this, \"tag\", tag);\n (0, $e72ut.defineReadOnly)(this, \"listener\", listener);\n (0, $e72ut.defineReadOnly)(this, \"once\", once);\n this._lastBlockNumber = -2;\n this._inflight = false;\n }\n get event() {\n switch(this.type){\n case \"tx\":\n return this.hash;\n case \"filter\":\n return this.filter;\n }\n return this.tag;\n }\n get type() {\n return this.tag.split(\":\")[0];\n }\n get hash() {\n const comps = this.tag.split(\":\");\n if (comps[0] !== \"tx\") return null;\n return comps[1];\n }\n get filter() {\n const comps = this.tag.split(\":\");\n if (comps[0] !== \"filter\") return null;\n const address = comps[1];\n const topics = $43e733c7f2a529c1$var$deserializeTopics(comps[2]);\n const filter = {};\n if (topics.length > 0) filter.topics = topics;\n if (address && address !== \"*\") filter.address = address;\n return filter;\n }\n pollable() {\n return this.tag.indexOf(\":\") >= 0 || $43e733c7f2a529c1$var$PollableEvents.indexOf(this.tag) >= 0;\n }\n}\n// https://github.com/satoshilabs/slips/blob/master/slip-0044.md\nconst $43e733c7f2a529c1$var$coinInfos = {\n \"0\": {\n symbol: \"btc\",\n p2pkh: 0x00,\n p2sh: 0x05,\n prefix: \"bc\"\n },\n \"2\": {\n symbol: \"ltc\",\n p2pkh: 0x30,\n p2sh: 0x32,\n prefix: \"ltc\"\n },\n \"3\": {\n symbol: \"doge\",\n p2pkh: 0x1e,\n p2sh: 0x16\n },\n \"60\": {\n symbol: \"eth\",\n ilk: \"eth\"\n },\n \"61\": {\n symbol: \"etc\",\n ilk: \"eth\"\n },\n \"700\": {\n symbol: \"xdai\",\n ilk: \"eth\"\n }\n};\nfunction $43e733c7f2a529c1$var$bytes32ify(value) {\n return (0, $aBzgs.hexZeroPad)((0, $1chjt.BigNumber).from(value).toHexString(), 32);\n}\n// Compute the Base58Check encoded data (checksum is first 4 bytes of sha256d)\nfunction $43e733c7f2a529c1$var$base58Encode(data) {\n return (0, $5tyfw.Base58).encode((0, $aBzgs.concat)([\n data,\n (0, $aBzgs.hexDataSlice)((0, $g67nD.sha256)((0, $g67nD.sha256)(data)), 0, 4)\n ]));\n}\nconst $43e733c7f2a529c1$var$matcherIpfs = new RegExp(\"^(ipfs)://(.*)$\", \"i\");\nconst $43e733c7f2a529c1$var$matchers = [\n new RegExp(\"^(https)://(.*)$\", \"i\"),\n new RegExp(\"^(data):(.*)$\", \"i\"),\n $43e733c7f2a529c1$var$matcherIpfs,\n new RegExp(\"^eip155:[0-9]+/(erc[0-9]+):(.*)$\", \"i\")\n];\nfunction $43e733c7f2a529c1$var$_parseString(result, start) {\n try {\n return (0, $fkVsY.toUtf8String)($43e733c7f2a529c1$var$_parseBytes(result, start));\n } catch (error) {}\n return null;\n}\nfunction $43e733c7f2a529c1$var$_parseBytes(result, start) {\n if (result === \"0x\") return null;\n const offset = (0, $1chjt.BigNumber).from((0, $aBzgs.hexDataSlice)(result, start, start + 32)).toNumber();\n const length = (0, $1chjt.BigNumber).from((0, $aBzgs.hexDataSlice)(result, offset, offset + 32)).toNumber();\n return (0, $aBzgs.hexDataSlice)(result, offset + 32, offset + 32 + length);\n}\n// Trim off the ipfs:// prefix and return the default gateway URL\nfunction $43e733c7f2a529c1$var$getIpfsLink(link) {\n if (link.match(/^ipfs:\\/\\/ipfs\\//i)) link = link.substring(12);\n else if (link.match(/^ipfs:\\/\\//i)) link = link.substring(7);\n else $43e733c7f2a529c1$var$logger.throwArgumentError(\"unsupported IPFS format\", \"link\", link);\n return `https:/\\/gateway.ipfs.io/ipfs/${link}`;\n}\nfunction $43e733c7f2a529c1$var$numPad(value) {\n const result = (0, $aBzgs.arrayify)(value);\n if (result.length > 32) throw new Error(\"internal; should not happen\");\n const padded = new Uint8Array(32);\n padded.set(result, 32 - result.length);\n return padded;\n}\nfunction $43e733c7f2a529c1$var$bytesPad(value) {\n if (value.length % 32 === 0) return value;\n const result = new Uint8Array(Math.ceil(value.length / 32) * 32);\n result.set(value);\n return result;\n}\n// ABI Encodes a series of (bytes, bytes, ...)\nfunction $43e733c7f2a529c1$var$encodeBytes(datas) {\n const result = [];\n let byteCount = 0;\n // Add place-holders for pointers as we add items\n for(let i = 0; i < datas.length; i++){\n result.push(null);\n byteCount += 32;\n }\n for(let i = 0; i < datas.length; i++){\n const data = (0, $aBzgs.arrayify)(datas[i]);\n // Update the bytes offset\n result[i] = $43e733c7f2a529c1$var$numPad(byteCount);\n // The length and padded value of data\n result.push($43e733c7f2a529c1$var$numPad(data.length));\n result.push($43e733c7f2a529c1$var$bytesPad(data));\n byteCount += 32 + Math.ceil(data.length / 32) * 32;\n }\n return (0, $aBzgs.hexConcat)(result);\n}\nclass $43e733c7f2a529c1$export$8b4c839865b08288 {\n // The resolvedAddress is only for creating a ReverseLookup resolver\n constructor(provider, address, name, resolvedAddress){\n (0, $e72ut.defineReadOnly)(this, \"provider\", provider);\n (0, $e72ut.defineReadOnly)(this, \"name\", name);\n (0, $e72ut.defineReadOnly)(this, \"address\", provider.formatter.address(address));\n (0, $e72ut.defineReadOnly)(this, \"_resolvedAddress\", resolvedAddress);\n }\n supportsWildcard() {\n if (!this._supportsEip2544) // supportsInterface(bytes4 = selector(\"resolve(bytes,bytes)\"))\n this._supportsEip2544 = this.provider.call({\n to: this.address,\n data: \"0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000\"\n }).then((result)=>{\n return (0, $1chjt.BigNumber).from(result).eq(1);\n }).catch((error)=>{\n if (error.code === (0, $d1hml.Logger).errors.CALL_EXCEPTION) return false;\n // Rethrow the error: link is down, etc. Let future attempts retry.\n this._supportsEip2544 = null;\n throw error;\n });\n return this._supportsEip2544;\n }\n _fetch(selector, parameters) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n // e.g. keccak256(\"addr(bytes32,uint256)\")\n const tx = {\n to: this.address,\n ccipReadEnabled: true,\n data: (0, $aBzgs.hexConcat)([\n selector,\n (0, $8s7ds.namehash)(this.name),\n parameters || \"0x\"\n ])\n };\n // Wildcard support; use EIP-2544 to resolve the request\n let parseBytes = false;\n if (yield this.supportsWildcard()) {\n parseBytes = true;\n // selector(\"resolve(bytes,bytes)\")\n tx.data = (0, $aBzgs.hexConcat)([\n \"0x9061b923\",\n $43e733c7f2a529c1$var$encodeBytes([\n (0, $8s7ds.dnsEncode)(this.name),\n tx.data\n ])\n ]);\n }\n try {\n let result = yield this.provider.call(tx);\n if ((0, $aBzgs.arrayify)(result).length % 32 === 4) $43e733c7f2a529c1$var$logger.throwError(\"resolver threw error\", (0, $d1hml.Logger).errors.CALL_EXCEPTION, {\n transaction: tx,\n data: result\n });\n if (parseBytes) result = $43e733c7f2a529c1$var$_parseBytes(result, 0);\n return result;\n } catch (error) {\n if (error.code === (0, $d1hml.Logger).errors.CALL_EXCEPTION) return null;\n throw error;\n }\n });\n }\n _fetchBytes(selector, parameters) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n const result = yield this._fetch(selector, parameters);\n if (result != null) return $43e733c7f2a529c1$var$_parseBytes(result, 0);\n return null;\n });\n }\n _getAddress(coinType, hexBytes) {\n const coinInfo = $43e733c7f2a529c1$var$coinInfos[String(coinType)];\n if (coinInfo == null) $43e733c7f2a529c1$var$logger.throwError(`unsupported coin type: ${coinType}`, (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: `getAddress(${coinType})`\n });\n if (coinInfo.ilk === \"eth\") return this.provider.formatter.address(hexBytes);\n const bytes = (0, $aBzgs.arrayify)(hexBytes);\n // P2PKH: OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG\n if (coinInfo.p2pkh != null) {\n const p2pkh = hexBytes.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);\n if (p2pkh) {\n const length = parseInt(p2pkh[1], 16);\n if (p2pkh[2].length === length * 2 && length >= 1 && length <= 75) return $43e733c7f2a529c1$var$base58Encode((0, $aBzgs.concat)([\n [\n coinInfo.p2pkh\n ],\n \"0x\" + p2pkh[2]\n ]));\n }\n }\n // P2SH: OP_HASH160 OP_EQUAL\n if (coinInfo.p2sh != null) {\n const p2sh = hexBytes.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);\n if (p2sh) {\n const length = parseInt(p2sh[1], 16);\n if (p2sh[2].length === length * 2 && length >= 1 && length <= 75) return $43e733c7f2a529c1$var$base58Encode((0, $aBzgs.concat)([\n [\n coinInfo.p2sh\n ],\n \"0x\" + p2sh[2]\n ]));\n }\n }\n // Bech32\n if (coinInfo.prefix != null) {\n const length = bytes[1];\n // https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#witness-program\n let version = bytes[0];\n if (version === 0x00) {\n if (length !== 20 && length !== 32) version = -1;\n } else version = -1;\n if (version >= 0 && bytes.length === 2 + length && length >= 1 && length <= 75) {\n const words = (0, (/*@__PURE__*/$parcel$interopDefault($58c329f65c659a19$exports))).toWords(bytes.slice(2));\n words.unshift(version);\n return (0, (/*@__PURE__*/$parcel$interopDefault($58c329f65c659a19$exports))).encode(coinInfo.prefix, words);\n }\n }\n return null;\n }\n getAddress(coinType) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n if (coinType == null) coinType = 60;\n // If Ethereum, use the standard `addr(bytes32)`\n if (coinType === 60) try {\n // keccak256(\"addr(bytes32)\")\n const result = yield this._fetch(\"0x3b3b57de\");\n // No address\n if (result === \"0x\" || result === (0, $djR4n.HashZero)) return null;\n return this.provider.formatter.callAddress(result);\n } catch (error) {\n if (error.code === (0, $d1hml.Logger).errors.CALL_EXCEPTION) return null;\n throw error;\n }\n // keccak256(\"addr(bytes32,uint256\")\n const hexBytes = yield this._fetchBytes(\"0xf1cb7e06\", $43e733c7f2a529c1$var$bytes32ify(coinType));\n // No address\n if (hexBytes == null || hexBytes === \"0x\") return null;\n // Compute the address\n const address = this._getAddress(coinType, hexBytes);\n if (address == null) $43e733c7f2a529c1$var$logger.throwError(`invalid or unsupported coin data`, (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: `getAddress(${coinType})`,\n coinType: coinType,\n data: hexBytes\n });\n return address;\n });\n }\n getAvatar() {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n const linkage = [\n {\n type: \"name\",\n content: this.name\n }\n ];\n try {\n // test data for ricmoo.eth\n //const avatar = \"eip155:1/erc721:0x265385c7f4132228A0d54EB1A9e7460b91c0cC68/29233\";\n const avatar = yield this.getText(\"avatar\");\n if (avatar == null) return null;\n for(let i = 0; i < $43e733c7f2a529c1$var$matchers.length; i++){\n const match = avatar.match($43e733c7f2a529c1$var$matchers[i]);\n if (match == null) continue;\n const scheme = match[1].toLowerCase();\n switch(scheme){\n case \"https\":\n linkage.push({\n type: \"url\",\n content: avatar\n });\n return {\n linkage: linkage,\n url: avatar\n };\n case \"data\":\n linkage.push({\n type: \"data\",\n content: avatar\n });\n return {\n linkage: linkage,\n url: avatar\n };\n case \"ipfs\":\n linkage.push({\n type: \"ipfs\",\n content: avatar\n });\n return {\n linkage: linkage,\n url: $43e733c7f2a529c1$var$getIpfsLink(avatar)\n };\n case \"erc721\":\n case \"erc1155\":\n {\n // Depending on the ERC type, use tokenURI(uint256) or url(uint256)\n const selector = scheme === \"erc721\" ? \"0xc87b56dd\" : \"0x0e89341c\";\n linkage.push({\n type: scheme,\n content: avatar\n });\n // The owner of this name\n const owner = this._resolvedAddress || (yield this.getAddress());\n const comps = (match[2] || \"\").split(\"/\");\n if (comps.length !== 2) return null;\n const addr = yield this.provider.formatter.address(comps[0]);\n const tokenId = (0, $aBzgs.hexZeroPad)((0, $1chjt.BigNumber).from(comps[1]).toHexString(), 32);\n // Check that this account owns the token\n if (scheme === \"erc721\") {\n // ownerOf(uint256 tokenId)\n const tokenOwner = this.provider.formatter.callAddress((yield this.provider.call({\n to: addr,\n data: (0, $aBzgs.hexConcat)([\n \"0x6352211e\",\n tokenId\n ])\n })));\n if (owner !== tokenOwner) return null;\n linkage.push({\n type: \"owner\",\n content: tokenOwner\n });\n } else if (scheme === \"erc1155\") {\n // balanceOf(address owner, uint256 tokenId)\n const balance = (0, $1chjt.BigNumber).from((yield this.provider.call({\n to: addr,\n data: (0, $aBzgs.hexConcat)([\n \"0x00fdd58e\",\n (0, $aBzgs.hexZeroPad)(owner, 32),\n tokenId\n ])\n })));\n if (balance.isZero()) return null;\n linkage.push({\n type: \"balance\",\n content: balance.toString()\n });\n }\n // Call the token contract for the metadata URL\n const tx = {\n to: this.provider.formatter.address(comps[0]),\n data: (0, $aBzgs.hexConcat)([\n selector,\n tokenId\n ])\n };\n let metadataUrl = $43e733c7f2a529c1$var$_parseString((yield this.provider.call(tx)), 0);\n if (metadataUrl == null) return null;\n linkage.push({\n type: \"metadata-url-base\",\n content: metadataUrl\n });\n // ERC-1155 allows a generic {id} in the URL\n if (scheme === \"erc1155\") {\n metadataUrl = metadataUrl.replace(\"{id}\", tokenId.substring(2));\n linkage.push({\n type: \"metadata-url-expanded\",\n content: metadataUrl\n });\n }\n // Transform IPFS metadata links\n if (metadataUrl.match(/^ipfs:/i)) metadataUrl = $43e733c7f2a529c1$var$getIpfsLink(metadataUrl);\n linkage.push({\n type: \"metadata-url\",\n content: metadataUrl\n });\n // Get the token metadata\n const metadata = yield (0, $6BV0e.fetchJson)(metadataUrl);\n if (!metadata) return null;\n linkage.push({\n type: \"metadata\",\n content: JSON.stringify(metadata)\n });\n // Pull the image URL out\n let imageUrl = metadata.image;\n if (typeof imageUrl !== \"string\") return null;\n if (imageUrl.match(/^(https:\\/\\/|data:)/i)) ;\n else {\n // Transform IPFS link to gateway\n const ipfs = imageUrl.match($43e733c7f2a529c1$var$matcherIpfs);\n if (ipfs == null) return null;\n linkage.push({\n type: \"url-ipfs\",\n content: imageUrl\n });\n imageUrl = $43e733c7f2a529c1$var$getIpfsLink(imageUrl);\n }\n linkage.push({\n type: \"url\",\n content: imageUrl\n });\n return {\n linkage: linkage,\n url: imageUrl\n };\n }\n }\n }\n } catch (error) {}\n return null;\n });\n }\n getContentHash() {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n // keccak256(\"contenthash()\")\n const hexBytes = yield this._fetchBytes(\"0xbc1c58d1\");\n // No contenthash\n if (hexBytes == null || hexBytes === \"0x\") return null;\n // IPFS (CID: 1, Type: DAG-PB)\n const ipfs = hexBytes.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);\n if (ipfs) {\n const length = parseInt(ipfs[3], 16);\n if (ipfs[4].length === length * 2) return \"ipfs://\" + (0, $5tyfw.Base58).encode(\"0x\" + ipfs[1]);\n }\n // IPNS (CID: 1, Type: libp2p-key)\n const ipns = hexBytes.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);\n if (ipns) {\n const length = parseInt(ipns[3], 16);\n if (ipns[4].length === length * 2) return \"ipns://\" + (0, $5tyfw.Base58).encode(\"0x\" + ipns[1]);\n }\n // Swarm (CID: 1, Type: swarm-manifest; hash/length hard-coded to keccak256/32)\n const swarm = hexBytes.match(/^0xe40101fa011b20([0-9a-f]*)$/);\n if (swarm) {\n if (swarm[1].length === 64) return \"bzz://\" + swarm[1];\n }\n const skynet = hexBytes.match(/^0x90b2c605([0-9a-f]*)$/);\n if (skynet) {\n if (skynet[1].length === 68) {\n // URL Safe base64; https://datatracker.ietf.org/doc/html/rfc4648#section-5\n const urlSafe = {\n \"=\": \"\",\n \"+\": \"-\",\n \"/\": \"_\"\n };\n const hash = (0, $2vfMQ.encode)(\"0x\" + skynet[1]).replace(/[=+\\/]/g, (a)=>urlSafe[a]);\n return \"sia://\" + hash;\n }\n }\n return $43e733c7f2a529c1$var$logger.throwError(`invalid or unsupported content hash data`, (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"getContentHash()\",\n data: hexBytes\n });\n });\n }\n getText(key) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n // The key encoded as parameter to fetchBytes\n let keyBytes = (0, $fkVsY.toUtf8Bytes)(key);\n // The nodehash consumes the first slot, so the string pointer targets\n // offset 64, with the length at offset 64 and data starting at offset 96\n keyBytes = (0, $aBzgs.concat)([\n $43e733c7f2a529c1$var$bytes32ify(64),\n $43e733c7f2a529c1$var$bytes32ify(keyBytes.length),\n keyBytes\n ]);\n // Pad to word-size (32 bytes)\n if (keyBytes.length % 32 !== 0) keyBytes = (0, $aBzgs.concat)([\n keyBytes,\n (0, $aBzgs.hexZeroPad)(\"0x\", 32 - key.length % 32)\n ]);\n const hexBytes = yield this._fetchBytes(\"0x59d1d43c\", (0, $aBzgs.hexlify)(keyBytes));\n if (hexBytes == null || hexBytes === \"0x\") return null;\n return (0, $fkVsY.toUtf8String)(hexBytes);\n });\n }\n}\nlet $43e733c7f2a529c1$var$defaultFormatter = null;\nlet $43e733c7f2a529c1$var$nextPollId = 1;\nclass $43e733c7f2a529c1$export$ff3f6dd83125ac45 extends (0, $b6M4l.Provider) {\n /**\n * ready\n *\n * A Promise that resolves only once the provider is ready.\n *\n * Sub-classes that call the super with a network without a chainId\n * MUST set this. Standard named networks have a known chainId.\n *\n */ constructor(network){\n super();\n // Events being listened to\n this._events = [];\n this._emitted = {\n block: -2\n };\n this.disableCcipRead = false;\n this.formatter = new.target.getFormatter();\n // If network is any, this Provider allows the underlying\n // network to change dynamically, and we auto-detect the\n // current network\n (0, $e72ut.defineReadOnly)(this, \"anyNetwork\", network === \"any\");\n if (this.anyNetwork) network = this.detectNetwork();\n if (network instanceof Promise) {\n this._networkPromise = network;\n // Squash any \"unhandled promise\" errors; that do not need to be handled\n network.catch((error)=>{});\n // Trigger initial network setting (async)\n this._ready().catch((error)=>{});\n } else {\n const knownNetwork = (0, $e72ut.getStatic)(new.target, \"getNetwork\")(network);\n if (knownNetwork) {\n (0, $e72ut.defineReadOnly)(this, \"_network\", knownNetwork);\n this.emit(\"network\", knownNetwork, null);\n } else $43e733c7f2a529c1$var$logger.throwArgumentError(\"invalid network\", \"network\", network);\n }\n this._maxInternalBlockNumber = -1024;\n this._lastBlockNumber = -2;\n this._maxFilterBlockRange = 10;\n this._pollingInterval = 4000;\n this._fastQueryDate = 0;\n }\n _ready() {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n if (this._network == null) {\n let network = null;\n if (this._networkPromise) try {\n network = yield this._networkPromise;\n } catch (error) {}\n // Try the Provider's network detection (this MUST throw if it cannot)\n if (network == null) network = yield this.detectNetwork();\n // This should never happen; every Provider sub-class should have\n // suggested a network by here (or have thrown).\n if (!network) $43e733c7f2a529c1$var$logger.throwError(\"no network detected\", (0, $d1hml.Logger).errors.UNKNOWN_ERROR, {});\n // Possible this call stacked so do not call defineReadOnly again\n if (this._network == null) {\n if (this.anyNetwork) this._network = network;\n else (0, $e72ut.defineReadOnly)(this, \"_network\", network);\n this.emit(\"network\", network, null);\n }\n }\n return this._network;\n });\n }\n // This will always return the most recently established network.\n // For \"any\", this can change (a \"network\" event is emitted before\n // any change is reflected); otherwise this cannot change\n get ready() {\n return (0, $6BV0e.poll)(()=>{\n return this._ready().then((network)=>{\n return network;\n }, (error)=>{\n // If the network isn't running yet, we will wait\n if (error.code === (0, $d1hml.Logger).errors.NETWORK_ERROR && error.event === \"noNetwork\") return undefined;\n throw error;\n });\n });\n }\n // @TODO: Remove this and just create a singleton formatter\n static getFormatter() {\n if ($43e733c7f2a529c1$var$defaultFormatter == null) $43e733c7f2a529c1$var$defaultFormatter = new (0, $dc6c759982861e14$export$a06636add2a09fd8)();\n return $43e733c7f2a529c1$var$defaultFormatter;\n }\n // @TODO: Remove this and just use getNetwork\n static getNetwork(network) {\n return (0, $17c84d4c9be9446e$export$7de4970ebfd8206d)(network == null ? \"homestead\" : network);\n }\n ccipReadFetch(tx, calldata, urls) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n if (this.disableCcipRead || urls.length === 0) return null;\n const sender = tx.to.toLowerCase();\n const data = calldata.toLowerCase();\n const errorMessages = [];\n for(let i = 0; i < urls.length; i++){\n const url = urls[i];\n // URL expansion\n const href = url.replace(\"{sender}\", sender).replace(\"{data}\", data);\n // If no {data} is present, use POST; otherwise GET\n const json = url.indexOf(\"{data}\") >= 0 ? null : JSON.stringify({\n data: data,\n sender: sender\n });\n const result = yield (0, $6BV0e.fetchJson)({\n url: href,\n errorPassThrough: true\n }, json, (value, response)=>{\n value.status = response.statusCode;\n return value;\n });\n if (result.data) return result.data;\n const errorMessage = result.message || \"unknown error\";\n // 4xx indicates the result is not present; stop\n if (result.status >= 400 && result.status < 500) return $43e733c7f2a529c1$var$logger.throwError(`response not found during CCIP fetch: ${errorMessage}`, (0, $d1hml.Logger).errors.SERVER_ERROR, {\n url: url,\n errorMessage: errorMessage\n });\n // 5xx indicates server issue; try the next url\n errorMessages.push(errorMessage);\n }\n return $43e733c7f2a529c1$var$logger.throwError(`error encountered during CCIP fetch: ${errorMessages.map((m)=>JSON.stringify(m)).join(\", \")}`, (0, $d1hml.Logger).errors.SERVER_ERROR, {\n urls: urls,\n errorMessages: errorMessages\n });\n });\n }\n // Fetches the blockNumber, but will reuse any result that is less\n // than maxAge old or has been requested since the last request\n _getInternalBlockNumber(maxAge) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this._ready();\n // Allowing stale data up to maxAge old\n if (maxAge > 0) // While there are pending internal block requests...\n while(this._internalBlockNumber){\n // ...\"remember\" which fetch we started with\n const internalBlockNumber = this._internalBlockNumber;\n try {\n // Check the result is not too stale\n const result = yield internalBlockNumber;\n if ($43e733c7f2a529c1$var$getTime() - result.respTime <= maxAge) return result.blockNumber;\n break;\n } catch (error) {\n // The fetch rejected; if we are the first to get the\n // rejection, drop through so we replace it with a new\n // fetch; all others blocked will then get that fetch\n // which won't match the one they \"remembered\" and loop\n if (this._internalBlockNumber === internalBlockNumber) break;\n }\n }\n const reqTime = $43e733c7f2a529c1$var$getTime();\n const checkInternalBlockNumber = (0, $e72ut.resolveProperties)({\n blockNumber: this.perform(\"getBlockNumber\", {}),\n networkError: this.getNetwork().then((network)=>null, (error)=>error)\n }).then(({ blockNumber: blockNumber , networkError: networkError })=>{\n if (networkError) {\n // Unremember this bad internal block number\n if (this._internalBlockNumber === checkInternalBlockNumber) this._internalBlockNumber = null;\n throw networkError;\n }\n const respTime = $43e733c7f2a529c1$var$getTime();\n blockNumber = (0, $1chjt.BigNumber).from(blockNumber).toNumber();\n if (blockNumber < this._maxInternalBlockNumber) blockNumber = this._maxInternalBlockNumber;\n this._maxInternalBlockNumber = blockNumber;\n this._setFastBlockNumber(blockNumber); // @TODO: Still need this?\n return {\n blockNumber: blockNumber,\n reqTime: reqTime,\n respTime: respTime\n };\n });\n this._internalBlockNumber = checkInternalBlockNumber;\n // Swallow unhandled exceptions; if needed they are handled else where\n checkInternalBlockNumber.catch((error)=>{\n // Don't null the dead (rejected) fetch, if it has already been updated\n if (this._internalBlockNumber === checkInternalBlockNumber) this._internalBlockNumber = null;\n });\n return (yield checkInternalBlockNumber).blockNumber;\n });\n }\n poll() {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n const pollId = $43e733c7f2a529c1$var$nextPollId++;\n // Track all running promises, so we can trigger a post-poll once they are complete\n const runners = [];\n let blockNumber = null;\n try {\n blockNumber = yield this._getInternalBlockNumber(100 + this.pollingInterval / 2);\n } catch (error) {\n this.emit(\"error\", error);\n return;\n }\n this._setFastBlockNumber(blockNumber);\n // Emit a poll event after we have the latest (fast) block number\n this.emit(\"poll\", pollId, blockNumber);\n // If the block has not changed, meh.\n if (blockNumber === this._lastBlockNumber) {\n this.emit(\"didPoll\", pollId);\n return;\n }\n // First polling cycle, trigger a \"block\" events\n if (this._emitted.block === -2) this._emitted.block = blockNumber - 1;\n if (Math.abs(this._emitted.block - blockNumber) > 1000) {\n $43e733c7f2a529c1$var$logger.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${blockNumber})`);\n this.emit(\"error\", $43e733c7f2a529c1$var$logger.makeError(\"network block skew detected\", (0, $d1hml.Logger).errors.NETWORK_ERROR, {\n blockNumber: blockNumber,\n event: \"blockSkew\",\n previousBlockNumber: this._emitted.block\n }));\n this.emit(\"block\", blockNumber);\n } else // Notify all listener for each block that has passed\n for(let i = this._emitted.block + 1; i <= blockNumber; i++)this.emit(\"block\", i);\n // The emitted block was updated, check for obsolete events\n if (this._emitted.block !== blockNumber) {\n this._emitted.block = blockNumber;\n Object.keys(this._emitted).forEach((key)=>{\n // The block event does not expire\n if (key === \"block\") return;\n // The block we were at when we emitted this event\n const eventBlockNumber = this._emitted[key];\n // We cannot garbage collect pending transactions or blocks here\n // They should be garbage collected by the Provider when setting\n // \"pending\" events\n if (eventBlockNumber === \"pending\") return;\n // Evict any transaction hashes or block hashes over 12 blocks\n // old, since they should not return null anyways\n if (blockNumber - eventBlockNumber > 12) delete this._emitted[key];\n });\n }\n // First polling cycle\n if (this._lastBlockNumber === -2) this._lastBlockNumber = blockNumber - 1;\n // Find all transaction hashes we are waiting on\n this._events.forEach((event)=>{\n switch(event.type){\n case \"tx\":\n {\n const hash = event.hash;\n let runner = this.getTransactionReceipt(hash).then((receipt)=>{\n if (!receipt || receipt.blockNumber == null) return null;\n this._emitted[\"t:\" + hash] = receipt.blockNumber;\n this.emit(hash, receipt);\n return null;\n }).catch((error)=>{\n this.emit(\"error\", error);\n });\n runners.push(runner);\n break;\n }\n case \"filter\":\n // We only allow a single getLogs to be in-flight at a time\n if (!event._inflight) {\n event._inflight = true;\n // This is the first filter for this event, so we want to\n // restrict events to events that happened no earlier than now\n if (event._lastBlockNumber === -2) event._lastBlockNumber = blockNumber - 1;\n // Filter from the last *known* event; due to load-balancing\n // and some nodes returning updated block numbers before\n // indexing events, a logs result with 0 entries cannot be\n // trusted and we must retry a range which includes it again\n const filter = event.filter;\n filter.fromBlock = event._lastBlockNumber + 1;\n filter.toBlock = blockNumber;\n // Prevent fitler ranges from growing too wild, since it is quite\n // likely there just haven't been any events to move the lastBlockNumber.\n const minFromBlock = filter.toBlock - this._maxFilterBlockRange;\n if (minFromBlock > filter.fromBlock) filter.fromBlock = minFromBlock;\n if (filter.fromBlock < 0) filter.fromBlock = 0;\n const runner = this.getLogs(filter).then((logs)=>{\n // Allow the next getLogs\n event._inflight = false;\n if (logs.length === 0) return;\n logs.forEach((log)=>{\n // Only when we get an event for a given block number\n // can we trust the events are indexed\n if (log.blockNumber > event._lastBlockNumber) event._lastBlockNumber = log.blockNumber;\n // Make sure we stall requests to fetch blocks and txs\n this._emitted[\"b:\" + log.blockHash] = log.blockNumber;\n this._emitted[\"t:\" + log.transactionHash] = log.blockNumber;\n this.emit(filter, log);\n });\n }).catch((error)=>{\n this.emit(\"error\", error);\n // Allow another getLogs (the range was not updated)\n event._inflight = false;\n });\n runners.push(runner);\n }\n break;\n }\n });\n this._lastBlockNumber = blockNumber;\n // Once all events for this loop have been processed, emit \"didPoll\"\n Promise.all(runners).then(()=>{\n this.emit(\"didPoll\", pollId);\n }).catch((error)=>{\n this.emit(\"error\", error);\n });\n return;\n });\n }\n // Deprecated; do not use this\n resetEventsBlock(blockNumber) {\n this._lastBlockNumber = blockNumber - 1;\n if (this.polling) this.poll();\n }\n get network() {\n return this._network;\n }\n // This method should query the network if the underlying network\n // can change, such as when connected to a JSON-RPC backend\n detectNetwork() {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n return $43e733c7f2a529c1$var$logger.throwError(\"provider does not support network detection\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"provider.detectNetwork\"\n });\n });\n }\n getNetwork() {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n const network = yield this._ready();\n // Make sure we are still connected to the same network; this is\n // only an external call for backends which can have the underlying\n // network change spontaneously\n const currentNetwork = yield this.detectNetwork();\n if (network.chainId !== currentNetwork.chainId) {\n // We are allowing network changes, things can get complex fast;\n // make sure you know what you are doing if you use \"any\"\n if (this.anyNetwork) {\n this._network = currentNetwork;\n // Reset all internal block number guards and caches\n this._lastBlockNumber = -2;\n this._fastBlockNumber = null;\n this._fastBlockNumberPromise = null;\n this._fastQueryDate = 0;\n this._emitted.block = -2;\n this._maxInternalBlockNumber = -1024;\n this._internalBlockNumber = null;\n // The \"network\" event MUST happen before this method resolves\n // so any events have a chance to unregister, so we stall an\n // additional event loop before returning from /this/ call\n this.emit(\"network\", currentNetwork, network);\n yield $43e733c7f2a529c1$var$stall(0);\n return this._network;\n }\n const error = $43e733c7f2a529c1$var$logger.makeError(\"underlying network changed\", (0, $d1hml.Logger).errors.NETWORK_ERROR, {\n event: \"changed\",\n network: network,\n detectedNetwork: currentNetwork\n });\n this.emit(\"error\", error);\n throw error;\n }\n return network;\n });\n }\n get blockNumber() {\n this._getInternalBlockNumber(100 + this.pollingInterval / 2).then((blockNumber)=>{\n this._setFastBlockNumber(blockNumber);\n }, (error)=>{});\n return this._fastBlockNumber != null ? this._fastBlockNumber : -1;\n }\n get polling() {\n return this._poller != null;\n }\n set polling(value) {\n if (value && !this._poller) {\n this._poller = setInterval(()=>{\n this.poll();\n }, this.pollingInterval);\n if (!this._bootstrapPoll) this._bootstrapPoll = setTimeout(()=>{\n this.poll();\n // We block additional polls until the polling interval\n // is done, to prevent overwhelming the poll function\n this._bootstrapPoll = setTimeout(()=>{\n // If polling was disabled, something may require a poke\n // since starting the bootstrap poll and it was disabled\n if (!this._poller) this.poll();\n // Clear out the bootstrap so we can do another\n this._bootstrapPoll = null;\n }, this.pollingInterval);\n }, 0);\n } else if (!value && this._poller) {\n clearInterval(this._poller);\n this._poller = null;\n }\n }\n get pollingInterval() {\n return this._pollingInterval;\n }\n set pollingInterval(value) {\n if (typeof value !== \"number\" || value <= 0 || parseInt(String(value)) != value) throw new Error(\"invalid polling interval\");\n this._pollingInterval = value;\n if (this._poller) {\n clearInterval(this._poller);\n this._poller = setInterval(()=>{\n this.poll();\n }, this._pollingInterval);\n }\n }\n _getFastBlockNumber() {\n const now = $43e733c7f2a529c1$var$getTime();\n // Stale block number, request a newer value\n if (now - this._fastQueryDate > 2 * this._pollingInterval) {\n this._fastQueryDate = now;\n this._fastBlockNumberPromise = this.getBlockNumber().then((blockNumber)=>{\n if (this._fastBlockNumber == null || blockNumber > this._fastBlockNumber) this._fastBlockNumber = blockNumber;\n return this._fastBlockNumber;\n });\n }\n return this._fastBlockNumberPromise;\n }\n _setFastBlockNumber(blockNumber) {\n // Older block, maybe a stale request\n if (this._fastBlockNumber != null && blockNumber < this._fastBlockNumber) return;\n // Update the time we updated the blocknumber\n this._fastQueryDate = $43e733c7f2a529c1$var$getTime();\n // Newer block number, use it\n if (this._fastBlockNumber == null || blockNumber > this._fastBlockNumber) {\n this._fastBlockNumber = blockNumber;\n this._fastBlockNumberPromise = Promise.resolve(blockNumber);\n }\n }\n waitForTransaction(transactionHash, confirmations, timeout) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n return this._waitForTransaction(transactionHash, confirmations == null ? 1 : confirmations, timeout || 0, null);\n });\n }\n _waitForTransaction(transactionHash, confirmations, timeout, replaceable) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n const receipt = yield this.getTransactionReceipt(transactionHash);\n // Receipt is already good\n if ((receipt ? receipt.confirmations : 0) >= confirmations) return receipt;\n // Poll until the receipt is good...\n return new Promise((resolve, reject)=>{\n const cancelFuncs = [];\n let done = false;\n const alreadyDone = function() {\n if (done) return true;\n done = true;\n cancelFuncs.forEach((func)=>{\n func();\n });\n return false;\n };\n const minedHandler = (receipt)=>{\n if (receipt.confirmations < confirmations) return;\n if (alreadyDone()) return;\n resolve(receipt);\n };\n this.on(transactionHash, minedHandler);\n cancelFuncs.push(()=>{\n this.removeListener(transactionHash, minedHandler);\n });\n if (replaceable) {\n let lastBlockNumber = replaceable.startBlock;\n let scannedBlock = null;\n const replaceHandler = (blockNumber)=>$43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n if (done) return;\n // Wait 1 second; this is only used in the case of a fault, so\n // we will trade off a little bit of latency for more consistent\n // results and fewer JSON-RPC calls\n yield $43e733c7f2a529c1$var$stall(1000);\n this.getTransactionCount(replaceable.from).then((nonce)=>$43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n if (done) return;\n if (nonce <= replaceable.nonce) lastBlockNumber = blockNumber;\n else {\n // First check if the transaction was mined\n {\n const mined = yield this.getTransaction(transactionHash);\n if (mined && mined.blockNumber != null) return;\n }\n // First time scanning. We start a little earlier for some\n // wiggle room here to handle the eventually consistent nature\n // of blockchain (e.g. the getTransactionCount was for a\n // different block)\n if (scannedBlock == null) {\n scannedBlock = lastBlockNumber - 3;\n if (scannedBlock < replaceable.startBlock) scannedBlock = replaceable.startBlock;\n }\n while(scannedBlock <= blockNumber){\n if (done) return;\n const block = yield this.getBlockWithTransactions(scannedBlock);\n for(let ti = 0; ti < block.transactions.length; ti++){\n const tx = block.transactions[ti];\n // Successfully mined!\n if (tx.hash === transactionHash) return;\n // Matches our transaction from and nonce; its a replacement\n if (tx.from === replaceable.from && tx.nonce === replaceable.nonce) {\n if (done) return;\n // Get the receipt of the replacement\n const receipt = yield this.waitForTransaction(tx.hash, confirmations);\n // Already resolved or rejected (prolly a timeout)\n if (alreadyDone()) return;\n // The reason we were replaced\n let reason = \"replaced\";\n if (tx.data === replaceable.data && tx.to === replaceable.to && tx.value.eq(replaceable.value)) reason = \"repriced\";\n else if (tx.data === \"0x\" && tx.from === tx.to && tx.value.isZero()) reason = \"cancelled\";\n // Explain why we were replaced\n reject($43e733c7f2a529c1$var$logger.makeError(\"transaction was replaced\", (0, $d1hml.Logger).errors.TRANSACTION_REPLACED, {\n cancelled: reason === \"replaced\" || reason === \"cancelled\",\n reason: reason,\n replacement: this._wrapTransaction(tx),\n hash: transactionHash,\n receipt: receipt\n }));\n return;\n }\n }\n scannedBlock++;\n }\n }\n if (done) return;\n this.once(\"block\", replaceHandler);\n }), (error)=>{\n if (done) return;\n this.once(\"block\", replaceHandler);\n });\n });\n if (done) return;\n this.once(\"block\", replaceHandler);\n cancelFuncs.push(()=>{\n this.removeListener(\"block\", replaceHandler);\n });\n }\n if (typeof timeout === \"number\" && timeout > 0) {\n const timer = setTimeout(()=>{\n if (alreadyDone()) return;\n reject($43e733c7f2a529c1$var$logger.makeError(\"timeout exceeded\", (0, $d1hml.Logger).errors.TIMEOUT, {\n timeout: timeout\n }));\n }, timeout);\n if (timer.unref) timer.unref();\n cancelFuncs.push(()=>{\n clearTimeout(timer);\n });\n }\n });\n });\n }\n getBlockNumber() {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n return this._getInternalBlockNumber(0);\n });\n }\n getGasPrice() {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this.getNetwork();\n const result = yield this.perform(\"getGasPrice\", {});\n try {\n return (0, $1chjt.BigNumber).from(result);\n } catch (error) {\n return $43e733c7f2a529c1$var$logger.throwError(\"bad result from backend\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n method: \"getGasPrice\",\n result: result,\n error: error\n });\n }\n });\n }\n getBalance(addressOrName, blockTag) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this.getNetwork();\n const params = yield (0, $e72ut.resolveProperties)({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n const result = yield this.perform(\"getBalance\", params);\n try {\n return (0, $1chjt.BigNumber).from(result);\n } catch (error) {\n return $43e733c7f2a529c1$var$logger.throwError(\"bad result from backend\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n method: \"getBalance\",\n params: params,\n result: result,\n error: error\n });\n }\n });\n }\n getTransactionCount(addressOrName, blockTag) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this.getNetwork();\n const params = yield (0, $e72ut.resolveProperties)({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n const result = yield this.perform(\"getTransactionCount\", params);\n try {\n return (0, $1chjt.BigNumber).from(result).toNumber();\n } catch (error) {\n return $43e733c7f2a529c1$var$logger.throwError(\"bad result from backend\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n method: \"getTransactionCount\",\n params: params,\n result: result,\n error: error\n });\n }\n });\n }\n getCode(addressOrName, blockTag) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this.getNetwork();\n const params = yield (0, $e72ut.resolveProperties)({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n const result = yield this.perform(\"getCode\", params);\n try {\n return (0, $aBzgs.hexlify)(result);\n } catch (error) {\n return $43e733c7f2a529c1$var$logger.throwError(\"bad result from backend\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n method: \"getCode\",\n params: params,\n result: result,\n error: error\n });\n }\n });\n }\n getStorageAt(addressOrName, position, blockTag) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this.getNetwork();\n const params = yield (0, $e72ut.resolveProperties)({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag),\n position: Promise.resolve(position).then((p)=>(0, $aBzgs.hexValue)(p))\n });\n const result = yield this.perform(\"getStorageAt\", params);\n try {\n return (0, $aBzgs.hexlify)(result);\n } catch (error) {\n return $43e733c7f2a529c1$var$logger.throwError(\"bad result from backend\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n method: \"getStorageAt\",\n params: params,\n result: result,\n error: error\n });\n }\n });\n }\n // This should be called by any subclass wrapping a TransactionResponse\n _wrapTransaction(tx, hash, startBlock) {\n if (hash != null && (0, $aBzgs.hexDataLength)(hash) !== 32) throw new Error(\"invalid response - sendTransaction\");\n const result = tx;\n // Check the hash we expect is the same as the hash the server reported\n if (hash != null && tx.hash !== hash) $43e733c7f2a529c1$var$logger.throwError(\"Transaction hash mismatch from Provider.sendTransaction.\", (0, $d1hml.Logger).errors.UNKNOWN_ERROR, {\n expectedHash: tx.hash,\n returnedHash: hash\n });\n result.wait = (confirms, timeout)=>$43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n if (confirms == null) confirms = 1;\n if (timeout == null) timeout = 0;\n // Get the details to detect replacement\n let replacement = undefined;\n if (confirms !== 0 && startBlock != null) replacement = {\n data: tx.data,\n from: tx.from,\n nonce: tx.nonce,\n to: tx.to,\n value: tx.value,\n startBlock: startBlock\n };\n const receipt = yield this._waitForTransaction(tx.hash, confirms, timeout, replacement);\n if (receipt == null && confirms === 0) return null;\n // No longer pending, allow the polling loop to garbage collect this\n this._emitted[\"t:\" + tx.hash] = receipt.blockNumber;\n if (receipt.status === 0) $43e733c7f2a529c1$var$logger.throwError(\"transaction failed\", (0, $d1hml.Logger).errors.CALL_EXCEPTION, {\n transactionHash: tx.hash,\n transaction: tx,\n receipt: receipt\n });\n return receipt;\n });\n return result;\n }\n sendTransaction(signedTransaction) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this.getNetwork();\n const hexTx = yield Promise.resolve(signedTransaction).then((t)=>(0, $aBzgs.hexlify)(t));\n const tx = this.formatter.transaction(signedTransaction);\n if (tx.confirmations == null) tx.confirmations = 0;\n const blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n try {\n const hash = yield this.perform(\"sendTransaction\", {\n signedTransaction: hexTx\n });\n return this._wrapTransaction(tx, hash, blockNumber);\n } catch (error) {\n error.transaction = tx;\n error.transactionHash = tx.hash;\n throw error;\n }\n });\n }\n _getTransactionRequest(transaction) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n const values = yield transaction;\n const tx = {};\n [\n \"from\",\n \"to\"\n ].forEach((key)=>{\n if (values[key] == null) return;\n tx[key] = Promise.resolve(values[key]).then((v)=>v ? this._getAddress(v) : null);\n });\n [\n \"gasLimit\",\n \"gasPrice\",\n \"maxFeePerGas\",\n \"maxPriorityFeePerGas\",\n \"value\"\n ].forEach((key)=>{\n if (values[key] == null) return;\n tx[key] = Promise.resolve(values[key]).then((v)=>v ? (0, $1chjt.BigNumber).from(v) : null);\n });\n [\n \"type\"\n ].forEach((key)=>{\n if (values[key] == null) return;\n tx[key] = Promise.resolve(values[key]).then((v)=>v != null ? v : null);\n });\n if (values.accessList) tx.accessList = this.formatter.accessList(values.accessList);\n [\n \"data\"\n ].forEach((key)=>{\n if (values[key] == null) return;\n tx[key] = Promise.resolve(values[key]).then((v)=>v ? (0, $aBzgs.hexlify)(v) : null);\n });\n return this.formatter.transactionRequest((yield (0, $e72ut.resolveProperties)(tx)));\n });\n }\n _getFilter(filter) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n filter = yield filter;\n const result = {};\n if (filter.address != null) result.address = this._getAddress(filter.address);\n [\n \"blockHash\",\n \"topics\"\n ].forEach((key)=>{\n if (filter[key] == null) return;\n result[key] = filter[key];\n });\n [\n \"fromBlock\",\n \"toBlock\"\n ].forEach((key)=>{\n if (filter[key] == null) return;\n result[key] = this._getBlockTag(filter[key]);\n });\n return this.formatter.filter((yield (0, $e72ut.resolveProperties)(result)));\n });\n }\n _call(transaction, blockTag, attempt) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n if (attempt >= $43e733c7f2a529c1$var$MAX_CCIP_REDIRECTS) $43e733c7f2a529c1$var$logger.throwError(\"CCIP read exceeded maximum redirections\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n redirects: attempt,\n transaction: transaction\n });\n const txSender = transaction.to;\n const result = yield this.perform(\"call\", {\n transaction: transaction,\n blockTag: blockTag\n });\n // CCIP Read request via OffchainLookup(address,string[],bytes,bytes4,bytes)\n if (attempt >= 0 && blockTag === \"latest\" && txSender != null && result.substring(0, 10) === \"0x556f1830\" && (0, $aBzgs.hexDataLength)(result) % 32 === 4) try {\n const data = (0, $aBzgs.hexDataSlice)(result, 4);\n // Check the sender of the OffchainLookup matches the transaction\n const sender = (0, $aBzgs.hexDataSlice)(data, 0, 32);\n if (!(0, $1chjt.BigNumber).from(sender).eq(txSender)) $43e733c7f2a529c1$var$logger.throwError(\"CCIP Read sender did not match\", (0, $d1hml.Logger).errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction: transaction,\n data: result\n });\n // Read the URLs from the response\n const urls = [];\n const urlsOffset = (0, $1chjt.BigNumber).from((0, $aBzgs.hexDataSlice)(data, 32, 64)).toNumber();\n const urlsLength = (0, $1chjt.BigNumber).from((0, $aBzgs.hexDataSlice)(data, urlsOffset, urlsOffset + 32)).toNumber();\n const urlsData = (0, $aBzgs.hexDataSlice)(data, urlsOffset + 32);\n for(let u = 0; u < urlsLength; u++){\n const url = $43e733c7f2a529c1$var$_parseString(urlsData, u * 32);\n if (url == null) $43e733c7f2a529c1$var$logger.throwError(\"CCIP Read contained corrupt URL string\", (0, $d1hml.Logger).errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction: transaction,\n data: result\n });\n urls.push(url);\n }\n // Get the CCIP calldata to forward\n const calldata = $43e733c7f2a529c1$var$_parseBytes(data, 64);\n // Get the callbackSelector (bytes4)\n if (!(0, $1chjt.BigNumber).from((0, $aBzgs.hexDataSlice)(data, 100, 128)).isZero()) $43e733c7f2a529c1$var$logger.throwError(\"CCIP Read callback selector included junk\", (0, $d1hml.Logger).errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction: transaction,\n data: result\n });\n const callbackSelector = (0, $aBzgs.hexDataSlice)(data, 96, 100);\n // Get the extra data to send back to the contract as context\n const extraData = $43e733c7f2a529c1$var$_parseBytes(data, 128);\n const ccipResult = yield this.ccipReadFetch(transaction, calldata, urls);\n if (ccipResult == null) $43e733c7f2a529c1$var$logger.throwError(\"CCIP Read disabled or provided no URLs\", (0, $d1hml.Logger).errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction: transaction,\n data: result\n });\n const tx = {\n to: txSender,\n data: (0, $aBzgs.hexConcat)([\n callbackSelector,\n $43e733c7f2a529c1$var$encodeBytes([\n ccipResult,\n extraData\n ])\n ])\n };\n return this._call(tx, blockTag, attempt + 1);\n } catch (error) {\n if (error.code === (0, $d1hml.Logger).errors.SERVER_ERROR) throw error;\n }\n try {\n return (0, $aBzgs.hexlify)(result);\n } catch (error) {\n return $43e733c7f2a529c1$var$logger.throwError(\"bad result from backend\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n method: \"call\",\n params: {\n transaction: transaction,\n blockTag: blockTag\n },\n result: result,\n error: error\n });\n }\n });\n }\n call(transaction, blockTag) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this.getNetwork();\n const resolved = yield (0, $e72ut.resolveProperties)({\n transaction: this._getTransactionRequest(transaction),\n blockTag: this._getBlockTag(blockTag),\n ccipReadEnabled: Promise.resolve(transaction.ccipReadEnabled)\n });\n return this._call(resolved.transaction, resolved.blockTag, resolved.ccipReadEnabled ? 0 : -1);\n });\n }\n estimateGas(transaction) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this.getNetwork();\n const params = yield (0, $e72ut.resolveProperties)({\n transaction: this._getTransactionRequest(transaction)\n });\n const result = yield this.perform(\"estimateGas\", params);\n try {\n return (0, $1chjt.BigNumber).from(result);\n } catch (error) {\n return $43e733c7f2a529c1$var$logger.throwError(\"bad result from backend\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n method: \"estimateGas\",\n params: params,\n result: result,\n error: error\n });\n }\n });\n }\n _getAddress(addressOrName) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n addressOrName = yield addressOrName;\n if (typeof addressOrName !== \"string\") $43e733c7f2a529c1$var$logger.throwArgumentError(\"invalid address or ENS name\", \"name\", addressOrName);\n const address = yield this.resolveName(addressOrName);\n if (address == null) $43e733c7f2a529c1$var$logger.throwError(\"ENS name not configured\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: `resolveName(${JSON.stringify(addressOrName)})`\n });\n return address;\n });\n }\n _getBlock(blockHashOrBlockTag, includeTransactions) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this.getNetwork();\n blockHashOrBlockTag = yield blockHashOrBlockTag;\n // If blockTag is a number (not \"latest\", etc), this is the block number\n let blockNumber = -128;\n const params = {\n includeTransactions: !!includeTransactions\n };\n if ((0, $aBzgs.isHexString)(blockHashOrBlockTag, 32)) params.blockHash = blockHashOrBlockTag;\n else try {\n params.blockTag = yield this._getBlockTag(blockHashOrBlockTag);\n if ((0, $aBzgs.isHexString)(params.blockTag)) blockNumber = parseInt(params.blockTag.substring(2), 16);\n } catch (error) {\n $43e733c7f2a529c1$var$logger.throwArgumentError(\"invalid block hash or block tag\", \"blockHashOrBlockTag\", blockHashOrBlockTag);\n }\n return (0, $6BV0e.poll)(()=>$43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n const block = yield this.perform(\"getBlock\", params);\n // Block was not found\n if (block == null) {\n // For blockhashes, if we didn't say it existed, that blockhash may\n // not exist. If we did see it though, perhaps from a log, we know\n // it exists, and this node is just not caught up yet.\n if (params.blockHash != null) {\n if (this._emitted[\"b:\" + params.blockHash] == null) return null;\n }\n // For block tags, if we are asking for a future block, we return null\n if (params.blockTag != null) {\n if (blockNumber > this._emitted.block) return null;\n }\n // Retry on the next block\n return undefined;\n }\n // Add transactions\n if (includeTransactions) {\n let blockNumber = null;\n for(let i = 0; i < block.transactions.length; i++){\n const tx = block.transactions[i];\n if (tx.blockNumber == null) tx.confirmations = 0;\n else if (tx.confirmations == null) {\n if (blockNumber == null) blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = blockNumber - tx.blockNumber + 1;\n if (confirmations <= 0) confirmations = 1;\n tx.confirmations = confirmations;\n }\n }\n const blockWithTxs = this.formatter.blockWithTransactions(block);\n blockWithTxs.transactions = blockWithTxs.transactions.map((tx)=>this._wrapTransaction(tx));\n return blockWithTxs;\n }\n return this.formatter.block(block);\n }), {\n oncePoll: this\n });\n });\n }\n getBlock(blockHashOrBlockTag) {\n return this._getBlock(blockHashOrBlockTag, false);\n }\n getBlockWithTransactions(blockHashOrBlockTag) {\n return this._getBlock(blockHashOrBlockTag, true);\n }\n getTransaction(transactionHash) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this.getNetwork();\n transactionHash = yield transactionHash;\n const params = {\n transactionHash: this.formatter.hash(transactionHash, true)\n };\n return (0, $6BV0e.poll)(()=>$43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n const result = yield this.perform(\"getTransaction\", params);\n if (result == null) {\n if (this._emitted[\"t:\" + transactionHash] == null) return null;\n return undefined;\n }\n const tx = this.formatter.transactionResponse(result);\n if (tx.blockNumber == null) tx.confirmations = 0;\n else if (tx.confirmations == null) {\n const blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = blockNumber - tx.blockNumber + 1;\n if (confirmations <= 0) confirmations = 1;\n tx.confirmations = confirmations;\n }\n return this._wrapTransaction(tx);\n }), {\n oncePoll: this\n });\n });\n }\n getTransactionReceipt(transactionHash) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this.getNetwork();\n transactionHash = yield transactionHash;\n const params = {\n transactionHash: this.formatter.hash(transactionHash, true)\n };\n return (0, $6BV0e.poll)(()=>$43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n const result = yield this.perform(\"getTransactionReceipt\", params);\n if (result == null) {\n if (this._emitted[\"t:\" + transactionHash] == null) return null;\n return undefined;\n }\n // \"geth-etc\" returns receipts before they are ready\n if (result.blockHash == null) return undefined;\n const receipt = this.formatter.receipt(result);\n if (receipt.blockNumber == null) receipt.confirmations = 0;\n else if (receipt.confirmations == null) {\n const blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = blockNumber - receipt.blockNumber + 1;\n if (confirmations <= 0) confirmations = 1;\n receipt.confirmations = confirmations;\n }\n return receipt;\n }), {\n oncePoll: this\n });\n });\n }\n getLogs(filter) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this.getNetwork();\n const params = yield (0, $e72ut.resolveProperties)({\n filter: this._getFilter(filter)\n });\n const logs = yield this.perform(\"getLogs\", params);\n logs.forEach((log)=>{\n if (log.removed == null) log.removed = false;\n });\n return (0, $dc6c759982861e14$export$a06636add2a09fd8).arrayOf(this.formatter.filterLog.bind(this.formatter))(logs);\n });\n }\n getEtherPrice() {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n yield this.getNetwork();\n return this.perform(\"getEtherPrice\", {});\n });\n }\n _getBlockTag(blockTag) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n blockTag = yield blockTag;\n if (typeof blockTag === \"number\" && blockTag < 0) {\n if (blockTag % 1) $43e733c7f2a529c1$var$logger.throwArgumentError(\"invalid BlockTag\", \"blockTag\", blockTag);\n let blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n blockNumber += blockTag;\n if (blockNumber < 0) blockNumber = 0;\n return this.formatter.blockTag(blockNumber);\n }\n return this.formatter.blockTag(blockTag);\n });\n }\n getResolver(name) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n let currentName = name;\n while(true){\n if (currentName === \"\" || currentName === \".\") return null;\n // Optimization since the eth node cannot change and does\n // not have a wildcard resolver\n if (name !== \"eth\" && currentName === \"eth\") return null;\n // Check the current node for a resolver\n const addr = yield this._getResolver(currentName, \"getResolver\");\n // Found a resolver!\n if (addr != null) {\n const resolver = new $43e733c7f2a529c1$export$8b4c839865b08288(this, addr, name);\n // Legacy resolver found, using EIP-2544 so it isn't safe to use\n if (currentName !== name && !(yield resolver.supportsWildcard())) return null;\n return resolver;\n }\n // Get the parent node\n currentName = currentName.split(\".\").slice(1).join(\".\");\n }\n });\n }\n _getResolver(name, operation) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n if (operation == null) operation = \"ENS\";\n const network = yield this.getNetwork();\n // No ENS...\n if (!network.ensAddress) $43e733c7f2a529c1$var$logger.throwError(\"network does not support ENS\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: operation,\n network: network.name\n });\n try {\n // keccak256(\"resolver(bytes32)\")\n const addrData = yield this.call({\n to: network.ensAddress,\n data: \"0x0178b8bf\" + (0, $8s7ds.namehash)(name).substring(2)\n });\n return this.formatter.callAddress(addrData);\n } catch (error) {\n // ENS registry cannot throw errors on resolver(bytes32)\n }\n return null;\n });\n }\n resolveName(name) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n name = yield name;\n // If it is already an address, nothing to resolve\n try {\n return Promise.resolve(this.formatter.address(name));\n } catch (error) {\n // If is is a hexstring, the address is bad (See #694)\n if ((0, $aBzgs.isHexString)(name)) throw error;\n }\n if (typeof name !== \"string\") $43e733c7f2a529c1$var$logger.throwArgumentError(\"invalid ENS name\", \"name\", name);\n // Get the addr from the resolver\n const resolver = yield this.getResolver(name);\n if (!resolver) return null;\n return yield resolver.getAddress();\n });\n }\n lookupAddress(address) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n address = yield address;\n address = this.formatter.address(address);\n const node = address.substring(2).toLowerCase() + \".addr.reverse\";\n const resolverAddr = yield this._getResolver(node, \"lookupAddress\");\n if (resolverAddr == null) return null;\n // keccak(\"name(bytes32)\")\n const name = $43e733c7f2a529c1$var$_parseString((yield this.call({\n to: resolverAddr,\n data: \"0x691f3431\" + (0, $8s7ds.namehash)(node).substring(2)\n })), 0);\n const addr = yield this.resolveName(name);\n if (addr != address) return null;\n return name;\n });\n }\n getAvatar(nameOrAddress) {\n return $43e733c7f2a529c1$var$__awaiter(this, void 0, void 0, function*() {\n let resolver = null;\n if ((0, $aBzgs.isHexString)(nameOrAddress)) {\n // Address; reverse lookup\n const address = this.formatter.address(nameOrAddress);\n const node = address.substring(2).toLowerCase() + \".addr.reverse\";\n const resolverAddress = yield this._getResolver(node, \"getAvatar\");\n if (!resolverAddress) return null;\n // Try resolving the avatar against the addr.reverse resolver\n resolver = new $43e733c7f2a529c1$export$8b4c839865b08288(this, resolverAddress, node);\n try {\n const avatar = yield resolver.getAvatar();\n if (avatar) return avatar.url;\n } catch (error) {\n if (error.code !== (0, $d1hml.Logger).errors.CALL_EXCEPTION) throw error;\n }\n // Try getting the name and performing forward lookup; allowing wildcards\n try {\n // keccak(\"name(bytes32)\")\n const name = $43e733c7f2a529c1$var$_parseString((yield this.call({\n to: resolverAddress,\n data: \"0x691f3431\" + (0, $8s7ds.namehash)(node).substring(2)\n })), 0);\n resolver = yield this.getResolver(name);\n } catch (error) {\n if (error.code !== (0, $d1hml.Logger).errors.CALL_EXCEPTION) throw error;\n return null;\n }\n } else {\n // ENS name; forward lookup with wildcard\n resolver = yield this.getResolver(nameOrAddress);\n if (!resolver) return null;\n }\n const avatar = yield resolver.getAvatar();\n if (avatar == null) return null;\n return avatar.url;\n });\n }\n perform(method, params) {\n return $43e733c7f2a529c1$var$logger.throwError(method + \" not implemented\", (0, $d1hml.Logger).errors.NOT_IMPLEMENTED, {\n operation: method\n });\n }\n _startEvent(event) {\n this.polling = this._events.filter((e)=>e.pollable()).length > 0;\n }\n _stopEvent(event) {\n this.polling = this._events.filter((e)=>e.pollable()).length > 0;\n }\n _addEventListener(eventName, listener, once) {\n const event = new $43e733c7f2a529c1$export$d61e24a684f9e51($43e733c7f2a529c1$var$getEventTag(eventName), listener, once);\n this._events.push(event);\n this._startEvent(event);\n return this;\n }\n on(eventName, listener) {\n return this._addEventListener(eventName, listener, false);\n }\n once(eventName, listener) {\n return this._addEventListener(eventName, listener, true);\n }\n emit(eventName, ...args) {\n let result = false;\n let stopped = [];\n let eventTag = $43e733c7f2a529c1$var$getEventTag(eventName);\n this._events = this._events.filter((event)=>{\n if (event.tag !== eventTag) return true;\n setTimeout(()=>{\n event.listener.apply(this, args);\n }, 0);\n result = true;\n if (event.once) {\n stopped.push(event);\n return false;\n }\n return true;\n });\n stopped.forEach((event)=>{\n this._stopEvent(event);\n });\n return result;\n }\n listenerCount(eventName) {\n if (!eventName) return this._events.length;\n let eventTag = $43e733c7f2a529c1$var$getEventTag(eventName);\n return this._events.filter((event)=>{\n return event.tag === eventTag;\n }).length;\n }\n listeners(eventName) {\n if (eventName == null) return this._events.map((event)=>event.listener);\n let eventTag = $43e733c7f2a529c1$var$getEventTag(eventName);\n return this._events.filter((event)=>event.tag === eventTag).map((event)=>event.listener);\n }\n off(eventName, listener) {\n if (listener == null) return this.removeAllListeners(eventName);\n const stopped = [];\n let found = false;\n let eventTag = $43e733c7f2a529c1$var$getEventTag(eventName);\n this._events = this._events.filter((event)=>{\n if (event.tag !== eventTag || event.listener != listener) return true;\n if (found) return true;\n found = true;\n stopped.push(event);\n return false;\n });\n stopped.forEach((event)=>{\n this._stopEvent(event);\n });\n return this;\n }\n removeAllListeners(eventName) {\n let stopped = [];\n if (eventName == null) {\n stopped = this._events;\n this._events = [];\n } else {\n const eventTag = $43e733c7f2a529c1$var$getEventTag(eventName);\n this._events = this._events.filter((event)=>{\n if (event.tag !== eventTag) return true;\n stopped.push(event);\n return false;\n });\n }\n stopped.forEach((event)=>{\n this._stopEvent(event);\n });\n return this;\n }\n}\n\n\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $f2ba8b3ea7dcf3ca$exports = {};\n\n$parcel$export($f2ba8b3ea7dcf3ca$exports, \"WebSocketProvider\", () => $f2ba8b3ea7dcf3ca$export$bfafe629242f30bd);\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\nvar $e32f9441afb0a406$exports = {};\n\n$parcel$export($e32f9441afb0a406$exports, \"JsonRpcSigner\", () => $e32f9441afb0a406$export$5f7b5fca3508545a);\n$parcel$export($e32f9441afb0a406$exports, \"JsonRpcProvider\", () => $e32f9441afb0a406$export$da28308012bf6748);\n\nvar $j7x7T = parcelRequire(\"j7x7T\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $a2n8k = parcelRequire(\"a2n8k\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\n\nvar $TyNFl = parcelRequire(\"TyNFl\");\n\nvar $6BV0e = parcelRequire(\"6BV0e\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\n\n\"use strict\";\nvar $e32f9441afb0a406$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $e32f9441afb0a406$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\nconst $e32f9441afb0a406$var$errorGas = [\n \"call\",\n \"estimateGas\"\n];\nfunction $e32f9441afb0a406$var$spelunk(value, requireData) {\n if (value == null) return null;\n // These *are* the droids we're looking for.\n if (typeof value.message === \"string\" && value.message.match(\"reverted\")) {\n const data = (0, $aBzgs.isHexString)(value.data) ? value.data : null;\n if (!requireData || data) return {\n message: value.message,\n data: data\n };\n }\n // Spelunk further...\n if (typeof value === \"object\") {\n for(const key in value){\n const result = $e32f9441afb0a406$var$spelunk(value[key], requireData);\n if (result) return result;\n }\n return null;\n }\n // Might be a JSON string we can further descend...\n if (typeof value === \"string\") try {\n return $e32f9441afb0a406$var$spelunk(JSON.parse(value), requireData);\n } catch (error) {}\n return null;\n}\nfunction $e32f9441afb0a406$var$checkError(method, error, params) {\n const transaction = params.transaction || params.signedTransaction;\n // Undo the \"convenience\" some nodes are attempting to prevent backwards\n // incompatibility; maybe for v6 consider forwarding reverts as errors\n if (method === \"call\") {\n const result = $e32f9441afb0a406$var$spelunk(error, true);\n if (result) return result.data;\n // Nothing descriptive..\n $e32f9441afb0a406$var$logger.throwError(\"missing revert data in call exception; Transaction reverted without a reason string\", (0, $d1hml.Logger).errors.CALL_EXCEPTION, {\n data: \"0x\",\n transaction: transaction,\n error: error\n });\n }\n if (method === \"estimateGas\") {\n // Try to find something, with a preference on SERVER_ERROR body\n let result = $e32f9441afb0a406$var$spelunk(error.body, false);\n if (result == null) result = $e32f9441afb0a406$var$spelunk(error, false);\n // Found \"reverted\", this is a CALL_EXCEPTION\n if (result) $e32f9441afb0a406$var$logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", (0, $d1hml.Logger).errors.UNPREDICTABLE_GAS_LIMIT, {\n reason: result.message,\n method: method,\n transaction: transaction,\n error: error\n });\n }\n // @TODO: Should we spelunk for message too?\n let message = error.message;\n if (error.code === (0, $d1hml.Logger).errors.SERVER_ERROR && error.error && typeof error.error.message === \"string\") message = error.error.message;\n else if (typeof error.body === \"string\") message = error.body;\n else if (typeof error.responseText === \"string\") message = error.responseText;\n message = (message || \"\").toLowerCase();\n // \"insufficient funds for gas * price + value + cost(data)\"\n if (message.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)) $e32f9441afb0a406$var$logger.throwError(\"insufficient funds for intrinsic transaction cost\", (0, $d1hml.Logger).errors.INSUFFICIENT_FUNDS, {\n error: error,\n method: method,\n transaction: transaction\n });\n // \"nonce too low\"\n if (message.match(/nonce (is )?too low/i)) $e32f9441afb0a406$var$logger.throwError(\"nonce has already been used\", (0, $d1hml.Logger).errors.NONCE_EXPIRED, {\n error: error,\n method: method,\n transaction: transaction\n });\n // \"replacement transaction underpriced\"\n if (message.match(/replacement transaction underpriced|transaction gas price.*too low/i)) $e32f9441afb0a406$var$logger.throwError(\"replacement fee too low\", (0, $d1hml.Logger).errors.REPLACEMENT_UNDERPRICED, {\n error: error,\n method: method,\n transaction: transaction\n });\n // \"replacement transaction underpriced\"\n if (message.match(/only replay-protected/i)) $e32f9441afb0a406$var$logger.throwError(\"legacy pre-eip-155 transactions not supported\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n error: error,\n method: method,\n transaction: transaction\n });\n if ($e32f9441afb0a406$var$errorGas.indexOf(method) >= 0 && message.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)) $e32f9441afb0a406$var$logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", (0, $d1hml.Logger).errors.UNPREDICTABLE_GAS_LIMIT, {\n error: error,\n method: method,\n transaction: transaction\n });\n throw error;\n}\nfunction $e32f9441afb0a406$var$timer(timeout) {\n return new Promise(function(resolve) {\n setTimeout(resolve, timeout);\n });\n}\nfunction $e32f9441afb0a406$var$getResult(payload) {\n if (payload.error) {\n // @TODO: not any\n const error = new Error(payload.error.message);\n error.code = payload.error.code;\n error.data = payload.error.data;\n throw error;\n }\n return payload.result;\n}\nfunction $e32f9441afb0a406$var$getLowerCase(value) {\n if (value) return value.toLowerCase();\n return value;\n}\nconst $e32f9441afb0a406$var$_constructorGuard = {};\nclass $e32f9441afb0a406$export$5f7b5fca3508545a extends (0, $j7x7T.Signer) {\n constructor(constructorGuard, provider, addressOrIndex){\n super();\n if (constructorGuard !== $e32f9441afb0a406$var$_constructorGuard) throw new Error(\"do not call the JsonRpcSigner constructor directly; use provider.getSigner\");\n (0, $e72ut.defineReadOnly)(this, \"provider\", provider);\n if (addressOrIndex == null) addressOrIndex = 0;\n if (typeof addressOrIndex === \"string\") {\n (0, $e72ut.defineReadOnly)(this, \"_address\", this.provider.formatter.address(addressOrIndex));\n (0, $e72ut.defineReadOnly)(this, \"_index\", null);\n } else if (typeof addressOrIndex === \"number\") {\n (0, $e72ut.defineReadOnly)(this, \"_index\", addressOrIndex);\n (0, $e72ut.defineReadOnly)(this, \"_address\", null);\n } else $e32f9441afb0a406$var$logger.throwArgumentError(\"invalid address or index\", \"addressOrIndex\", addressOrIndex);\n }\n connect(provider) {\n return $e32f9441afb0a406$var$logger.throwError(\"cannot alter JSON-RPC Signer connection\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"connect\"\n });\n }\n connectUnchecked() {\n return new $e32f9441afb0a406$var$UncheckedJsonRpcSigner($e32f9441afb0a406$var$_constructorGuard, this.provider, this._address || this._index);\n }\n getAddress() {\n if (this._address) return Promise.resolve(this._address);\n return this.provider.send(\"eth_accounts\", []).then((accounts)=>{\n if (accounts.length <= this._index) $e32f9441afb0a406$var$logger.throwError(\"unknown account #\" + this._index, (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"getAddress\"\n });\n return this.provider.formatter.address(accounts[this._index]);\n });\n }\n sendUncheckedTransaction(transaction) {\n transaction = (0, $e72ut.shallowCopy)(transaction);\n const fromAddress = this.getAddress().then((address)=>{\n if (address) address = address.toLowerCase();\n return address;\n });\n // The JSON-RPC for eth_sendTransaction uses 90000 gas; if the user\n // wishes to use this, it is easy to specify explicitly, otherwise\n // we look it up for them.\n if (transaction.gasLimit == null) {\n const estimate = (0, $e72ut.shallowCopy)(transaction);\n estimate.from = fromAddress;\n transaction.gasLimit = this.provider.estimateGas(estimate);\n }\n if (transaction.to != null) transaction.to = Promise.resolve(transaction.to).then((to)=>$e32f9441afb0a406$var$__awaiter(this, void 0, void 0, function*() {\n if (to == null) return null;\n const address = yield this.provider.resolveName(to);\n if (address == null) $e32f9441afb0a406$var$logger.throwArgumentError(\"provided ENS name resolves to null\", \"tx.to\", to);\n return address;\n }));\n return (0, $e72ut.resolveProperties)({\n tx: (0, $e72ut.resolveProperties)(transaction),\n sender: fromAddress\n }).then(({ tx: tx , sender: sender })=>{\n if (tx.from != null) {\n if (tx.from.toLowerCase() !== sender) $e32f9441afb0a406$var$logger.throwArgumentError(\"from address mismatch\", \"transaction\", transaction);\n } else tx.from = sender;\n const hexTx = this.provider.constructor.hexlifyTransaction(tx, {\n from: true\n });\n return this.provider.send(\"eth_sendTransaction\", [\n hexTx\n ]).then((hash)=>{\n return hash;\n }, (error)=>{\n if (typeof error.message === \"string\" && error.message.match(/user denied/i)) $e32f9441afb0a406$var$logger.throwError(\"user rejected transaction\", (0, $d1hml.Logger).errors.ACTION_REJECTED, {\n action: \"sendTransaction\",\n transaction: tx\n });\n return $e32f9441afb0a406$var$checkError(\"sendTransaction\", error, hexTx);\n });\n });\n }\n signTransaction(transaction) {\n return $e32f9441afb0a406$var$logger.throwError(\"signing transactions is unsupported\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"signTransaction\"\n });\n }\n sendTransaction(transaction) {\n return $e32f9441afb0a406$var$__awaiter(this, void 0, void 0, function*() {\n // This cannot be mined any earlier than any recent block\n const blockNumber = yield this.provider._getInternalBlockNumber(100 + 2 * this.provider.pollingInterval);\n // Send the transaction\n const hash = yield this.sendUncheckedTransaction(transaction);\n try {\n // Unfortunately, JSON-RPC only provides and opaque transaction hash\n // for a response, and we need the actual transaction, so we poll\n // for it; it should show up very quickly\n return yield (0, $6BV0e.poll)(()=>$e32f9441afb0a406$var$__awaiter(this, void 0, void 0, function*() {\n const tx = yield this.provider.getTransaction(hash);\n if (tx === null) return undefined;\n return this.provider._wrapTransaction(tx, hash, blockNumber);\n }), {\n oncePoll: this.provider\n });\n } catch (error) {\n error.transactionHash = hash;\n throw error;\n }\n });\n }\n signMessage(message) {\n return $e32f9441afb0a406$var$__awaiter(this, void 0, void 0, function*() {\n const data = typeof message === \"string\" ? (0, $fkVsY.toUtf8Bytes)(message) : message;\n const address = yield this.getAddress();\n try {\n return yield this.provider.send(\"personal_sign\", [\n (0, $aBzgs.hexlify)(data),\n address.toLowerCase()\n ]);\n } catch (error) {\n if (typeof error.message === \"string\" && error.message.match(/user denied/i)) $e32f9441afb0a406$var$logger.throwError(\"user rejected signing\", (0, $d1hml.Logger).errors.ACTION_REJECTED, {\n action: \"signMessage\",\n from: address,\n messageData: message\n });\n throw error;\n }\n });\n }\n _legacySignMessage(message) {\n return $e32f9441afb0a406$var$__awaiter(this, void 0, void 0, function*() {\n const data = typeof message === \"string\" ? (0, $fkVsY.toUtf8Bytes)(message) : message;\n const address = yield this.getAddress();\n try {\n // https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign\n return yield this.provider.send(\"eth_sign\", [\n address.toLowerCase(),\n (0, $aBzgs.hexlify)(data)\n ]);\n } catch (error) {\n if (typeof error.message === \"string\" && error.message.match(/user denied/i)) $e32f9441afb0a406$var$logger.throwError(\"user rejected signing\", (0, $d1hml.Logger).errors.ACTION_REJECTED, {\n action: \"_legacySignMessage\",\n from: address,\n messageData: message\n });\n throw error;\n }\n });\n }\n _signTypedData(domain, types, value) {\n return $e32f9441afb0a406$var$__awaiter(this, void 0, void 0, function*() {\n // Populate any ENS names (in-place)\n const populated = yield (0, $a2n8k.TypedDataEncoder).resolveNames(domain, types, value, (name)=>{\n return this.provider.resolveName(name);\n });\n const address = yield this.getAddress();\n try {\n return yield this.provider.send(\"eth_signTypedData_v4\", [\n address.toLowerCase(),\n JSON.stringify((0, $a2n8k.TypedDataEncoder).getPayload(populated.domain, types, populated.value))\n ]);\n } catch (error) {\n if (typeof error.message === \"string\" && error.message.match(/user denied/i)) $e32f9441afb0a406$var$logger.throwError(\"user rejected signing\", (0, $d1hml.Logger).errors.ACTION_REJECTED, {\n action: \"_signTypedData\",\n from: address,\n messageData: {\n domain: populated.domain,\n types: types,\n value: populated.value\n }\n });\n throw error;\n }\n });\n }\n unlock(password) {\n return $e32f9441afb0a406$var$__awaiter(this, void 0, void 0, function*() {\n const provider = this.provider;\n const address = yield this.getAddress();\n return provider.send(\"personal_unlockAccount\", [\n address.toLowerCase(),\n password,\n null\n ]);\n });\n }\n}\nclass $e32f9441afb0a406$var$UncheckedJsonRpcSigner extends $e32f9441afb0a406$export$5f7b5fca3508545a {\n sendTransaction(transaction) {\n return this.sendUncheckedTransaction(transaction).then((hash)=>{\n return {\n hash: hash,\n nonce: null,\n gasLimit: null,\n gasPrice: null,\n data: null,\n value: null,\n chainId: null,\n confirmations: 0,\n from: null,\n wait: (confirmations)=>{\n return this.provider.waitForTransaction(hash, confirmations);\n }\n };\n });\n }\n}\nconst $e32f9441afb0a406$var$allowedTransactionKeys = {\n chainId: true,\n data: true,\n gasLimit: true,\n gasPrice: true,\n nonce: true,\n to: true,\n value: true,\n type: true,\n accessList: true,\n maxFeePerGas: true,\n maxPriorityFeePerGas: true\n};\nclass $e32f9441afb0a406$export$da28308012bf6748 extends (0, $43e733c7f2a529c1$exports.BaseProvider) {\n constructor(url, network){\n let networkOrReady = network;\n // The network is unknown, query the JSON-RPC for it\n if (networkOrReady == null) networkOrReady = new Promise((resolve, reject)=>{\n setTimeout(()=>{\n this.detectNetwork().then((network)=>{\n resolve(network);\n }, (error)=>{\n reject(error);\n });\n }, 0);\n });\n super(networkOrReady);\n // Default URL\n if (!url) url = (0, $e72ut.getStatic)(this.constructor, \"defaultUrl\")();\n if (typeof url === \"string\") (0, $e72ut.defineReadOnly)(this, \"connection\", Object.freeze({\n url: url\n }));\n else (0, $e72ut.defineReadOnly)(this, \"connection\", Object.freeze((0, $e72ut.shallowCopy)(url)));\n this._nextId = 42;\n }\n get _cache() {\n if (this._eventLoopCache == null) this._eventLoopCache = {};\n return this._eventLoopCache;\n }\n static defaultUrl() {\n return \"http://localhost:8545\";\n }\n detectNetwork() {\n if (!this._cache[\"detectNetwork\"]) {\n this._cache[\"detectNetwork\"] = this._uncachedDetectNetwork();\n // Clear this cache at the beginning of the next event loop\n setTimeout(()=>{\n this._cache[\"detectNetwork\"] = null;\n }, 0);\n }\n return this._cache[\"detectNetwork\"];\n }\n _uncachedDetectNetwork() {\n return $e32f9441afb0a406$var$__awaiter(this, void 0, void 0, function*() {\n yield $e32f9441afb0a406$var$timer(0);\n let chainId = null;\n try {\n chainId = yield this.send(\"eth_chainId\", []);\n } catch (error) {\n try {\n chainId = yield this.send(\"net_version\", []);\n } catch (error) {}\n }\n if (chainId != null) {\n const getNetwork = (0, $e72ut.getStatic)(this.constructor, \"getNetwork\");\n try {\n return getNetwork((0, $1chjt.BigNumber).from(chainId).toNumber());\n } catch (error) {\n return $e32f9441afb0a406$var$logger.throwError(\"could not detect network\", (0, $d1hml.Logger).errors.NETWORK_ERROR, {\n chainId: chainId,\n event: \"invalidNetwork\",\n serverError: error\n });\n }\n }\n return $e32f9441afb0a406$var$logger.throwError(\"could not detect network\", (0, $d1hml.Logger).errors.NETWORK_ERROR, {\n event: \"noNetwork\"\n });\n });\n }\n getSigner(addressOrIndex) {\n return new $e32f9441afb0a406$export$5f7b5fca3508545a($e32f9441afb0a406$var$_constructorGuard, this, addressOrIndex);\n }\n getUncheckedSigner(addressOrIndex) {\n return this.getSigner(addressOrIndex).connectUnchecked();\n }\n listAccounts() {\n return this.send(\"eth_accounts\", []).then((accounts)=>{\n return accounts.map((a)=>this.formatter.address(a));\n });\n }\n send(method, params) {\n const request = {\n method: method,\n params: params,\n id: this._nextId++,\n jsonrpc: \"2.0\"\n };\n this.emit(\"debug\", {\n action: \"request\",\n request: (0, $e72ut.deepCopy)(request),\n provider: this\n });\n // We can expand this in the future to any call, but for now these\n // are the biggest wins and do not require any serializing parameters.\n const cache = [\n \"eth_chainId\",\n \"eth_blockNumber\"\n ].indexOf(method) >= 0;\n if (cache && this._cache[method]) return this._cache[method];\n const result = (0, $6BV0e.fetchJson)(this.connection, JSON.stringify(request), $e32f9441afb0a406$var$getResult).then((result)=>{\n this.emit(\"debug\", {\n action: \"response\",\n request: request,\n response: result,\n provider: this\n });\n return result;\n }, (error)=>{\n this.emit(\"debug\", {\n action: \"response\",\n error: error,\n request: request,\n provider: this\n });\n throw error;\n });\n // Cache the fetch, but clear it on the next event loop\n if (cache) {\n this._cache[method] = result;\n setTimeout(()=>{\n this._cache[method] = null;\n }, 0);\n }\n return result;\n }\n prepareRequest(method, params) {\n switch(method){\n case \"getBlockNumber\":\n return [\n \"eth_blockNumber\",\n []\n ];\n case \"getGasPrice\":\n return [\n \"eth_gasPrice\",\n []\n ];\n case \"getBalance\":\n return [\n \"eth_getBalance\",\n [\n $e32f9441afb0a406$var$getLowerCase(params.address),\n params.blockTag\n ]\n ];\n case \"getTransactionCount\":\n return [\n \"eth_getTransactionCount\",\n [\n $e32f9441afb0a406$var$getLowerCase(params.address),\n params.blockTag\n ]\n ];\n case \"getCode\":\n return [\n \"eth_getCode\",\n [\n $e32f9441afb0a406$var$getLowerCase(params.address),\n params.blockTag\n ]\n ];\n case \"getStorageAt\":\n return [\n \"eth_getStorageAt\",\n [\n $e32f9441afb0a406$var$getLowerCase(params.address),\n (0, $aBzgs.hexZeroPad)(params.position, 32),\n params.blockTag\n ]\n ];\n case \"sendTransaction\":\n return [\n \"eth_sendRawTransaction\",\n [\n params.signedTransaction\n ]\n ];\n case \"getBlock\":\n if (params.blockTag) return [\n \"eth_getBlockByNumber\",\n [\n params.blockTag,\n !!params.includeTransactions\n ]\n ];\n else if (params.blockHash) return [\n \"eth_getBlockByHash\",\n [\n params.blockHash,\n !!params.includeTransactions\n ]\n ];\n return null;\n case \"getTransaction\":\n return [\n \"eth_getTransactionByHash\",\n [\n params.transactionHash\n ]\n ];\n case \"getTransactionReceipt\":\n return [\n \"eth_getTransactionReceipt\",\n [\n params.transactionHash\n ]\n ];\n case \"call\":\n {\n const hexlifyTransaction = (0, $e72ut.getStatic)(this.constructor, \"hexlifyTransaction\");\n return [\n \"eth_call\",\n [\n hexlifyTransaction(params.transaction, {\n from: true\n }),\n params.blockTag\n ]\n ];\n }\n case \"estimateGas\":\n {\n const hexlifyTransaction = (0, $e72ut.getStatic)(this.constructor, \"hexlifyTransaction\");\n return [\n \"eth_estimateGas\",\n [\n hexlifyTransaction(params.transaction, {\n from: true\n })\n ]\n ];\n }\n case \"getLogs\":\n if (params.filter && params.filter.address != null) params.filter.address = $e32f9441afb0a406$var$getLowerCase(params.filter.address);\n return [\n \"eth_getLogs\",\n [\n params.filter\n ]\n ];\n default:\n break;\n }\n return null;\n }\n perform(method, params) {\n return $e32f9441afb0a406$var$__awaiter(this, void 0, void 0, function*() {\n // Legacy networks do not like the type field being passed along (which\n // is fair), so we delete type if it is 0 and a non-EIP-1559 network\n if (method === \"call\" || method === \"estimateGas\") {\n const tx = params.transaction;\n if (tx && tx.type != null && (0, $1chjt.BigNumber).from(tx.type).isZero()) // If there are no EIP-1559 properties, it might be non-EIP-1559\n {\n if (tx.maxFeePerGas == null && tx.maxPriorityFeePerGas == null) {\n const feeData = yield this.getFeeData();\n if (feeData.maxFeePerGas == null && feeData.maxPriorityFeePerGas == null) {\n // Network doesn't know about EIP-1559 (and hence type)\n params = (0, $e72ut.shallowCopy)(params);\n params.transaction = (0, $e72ut.shallowCopy)(tx);\n delete params.transaction.type;\n }\n }\n }\n }\n const args = this.prepareRequest(method, params);\n if (args == null) $e32f9441afb0a406$var$logger.throwError(method + \" not implemented\", (0, $d1hml.Logger).errors.NOT_IMPLEMENTED, {\n operation: method\n });\n try {\n return yield this.send(args[0], args[1]);\n } catch (error) {\n return $e32f9441afb0a406$var$checkError(method, error, params);\n }\n });\n }\n _startEvent(event) {\n if (event.tag === \"pending\") this._startPending();\n super._startEvent(event);\n }\n _startPending() {\n if (this._pendingFilter != null) return;\n const self = this;\n const pendingFilter = this.send(\"eth_newPendingTransactionFilter\", []);\n this._pendingFilter = pendingFilter;\n pendingFilter.then(function(filterId) {\n function poll() {\n self.send(\"eth_getFilterChanges\", [\n filterId\n ]).then(function(hashes) {\n if (self._pendingFilter != pendingFilter) return null;\n let seq = Promise.resolve();\n hashes.forEach(function(hash) {\n // @TODO: This should be garbage collected at some point... How? When?\n self._emitted[\"t:\" + hash.toLowerCase()] = \"pending\";\n seq = seq.then(function() {\n return self.getTransaction(hash).then(function(tx) {\n self.emit(\"pending\", tx);\n return null;\n });\n });\n });\n return seq.then(function() {\n return $e32f9441afb0a406$var$timer(1000);\n });\n }).then(function() {\n if (self._pendingFilter != pendingFilter) {\n self.send(\"eth_uninstallFilter\", [\n filterId\n ]);\n return;\n }\n setTimeout(function() {\n poll();\n }, 0);\n return null;\n }).catch((error)=>{});\n }\n poll();\n return filterId;\n }).catch((error)=>{});\n }\n _stopEvent(event) {\n if (event.tag === \"pending\" && this.listenerCount(\"pending\") === 0) this._pendingFilter = null;\n super._stopEvent(event);\n }\n // Convert an ethers.js transaction into a JSON-RPC transaction\n // - gasLimit => gas\n // - All values hexlified\n // - All numeric values zero-striped\n // - All addresses are lowercased\n // NOTE: This allows a TransactionRequest, but all values should be resolved\n // before this is called\n // @TODO: This will likely be removed in future versions and prepareRequest\n // will be the preferred method for this.\n static hexlifyTransaction(transaction, allowExtra) {\n // Check only allowed properties are given\n const allowed = (0, $e72ut.shallowCopy)($e32f9441afb0a406$var$allowedTransactionKeys);\n if (allowExtra) {\n for(const key in allowExtra)if (allowExtra[key]) allowed[key] = true;\n }\n (0, $e72ut.checkProperties)(transaction, allowed);\n const result = {};\n // JSON-RPC now requires numeric values to be \"quantity\" values\n [\n \"chainId\",\n \"gasLimit\",\n \"gasPrice\",\n \"type\",\n \"maxFeePerGas\",\n \"maxPriorityFeePerGas\",\n \"nonce\",\n \"value\"\n ].forEach(function(key) {\n if (transaction[key] == null) return;\n const value = (0, $aBzgs.hexValue)((0, $1chjt.BigNumber).from(transaction[key]));\n if (key === \"gasLimit\") key = \"gas\";\n result[key] = value;\n });\n [\n \"from\",\n \"to\",\n \"data\"\n ].forEach(function(key) {\n if (transaction[key] == null) return;\n result[key] = (0, $aBzgs.hexlify)(transaction[key]);\n });\n if (transaction.accessList) result[\"accessList\"] = (0, $TyNFl.accessListify)(transaction.accessList);\n return result;\n }\n}\n\n\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\n\"use strict\";\nlet $c20588e763a5ccc3$export$3909fb301d3dc8c9 = null;\ntry {\n $c20588e763a5ccc3$export$3909fb301d3dc8c9 = WebSocket;\n if ($c20588e763a5ccc3$export$3909fb301d3dc8c9 == null) throw new Error(\"inject please\");\n} catch (error) {\n const logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\n $c20588e763a5ccc3$export$3909fb301d3dc8c9 = function() {\n logger.throwError(\"WebSockets not supported in this environment\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"new WebSocket()\"\n });\n };\n}\n\n\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\n\"use strict\";\nvar $f2ba8b3ea7dcf3ca$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $f2ba8b3ea7dcf3ca$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\n/**\n * Notes:\n *\n * This provider differs a bit from the polling providers. One main\n * difference is how it handles consistency. The polling providers\n * will stall responses to ensure a consistent state, while this\n * WebSocket provider assumes the connected backend will manage this.\n *\n * For example, if a polling provider emits an event which indicates\n * the event occurred in blockhash XXX, a call to fetch that block by\n * its hash XXX, if not present will retry until it is present. This\n * can occur when querying a pool of nodes that are mildly out of sync\n * with each other.\n */ let $f2ba8b3ea7dcf3ca$var$NextId = 1;\nclass $f2ba8b3ea7dcf3ca$export$bfafe629242f30bd extends (0, $e32f9441afb0a406$exports.JsonRpcProvider) {\n constructor(url, network){\n // This will be added in the future; please open an issue to expedite\n if (network === \"any\") $f2ba8b3ea7dcf3ca$var$logger.throwError(\"WebSocketProvider does not support 'any' network yet\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"network:any\"\n });\n if (typeof url === \"string\") super(url, network);\n else super(\"_websocket\", network);\n this._pollingInterval = -1;\n this._wsReady = false;\n if (typeof url === \"string\") (0, $e72ut.defineReadOnly)(this, \"_websocket\", new (0, $c20588e763a5ccc3$export$3909fb301d3dc8c9)(this.connection.url));\n else (0, $e72ut.defineReadOnly)(this, \"_websocket\", url);\n (0, $e72ut.defineReadOnly)(this, \"_requests\", {});\n (0, $e72ut.defineReadOnly)(this, \"_subs\", {});\n (0, $e72ut.defineReadOnly)(this, \"_subIds\", {});\n (0, $e72ut.defineReadOnly)(this, \"_detectNetwork\", super.detectNetwork());\n // Stall sending requests until the socket is open...\n this.websocket.onopen = ()=>{\n this._wsReady = true;\n Object.keys(this._requests).forEach((id)=>{\n this.websocket.send(this._requests[id].payload);\n });\n };\n this.websocket.onmessage = (messageEvent)=>{\n const data = messageEvent.data;\n const result = JSON.parse(data);\n if (result.id != null) {\n const id = String(result.id);\n const request = this._requests[id];\n delete this._requests[id];\n if (result.result !== undefined) {\n request.callback(null, result.result);\n this.emit(\"debug\", {\n action: \"response\",\n request: JSON.parse(request.payload),\n response: result.result,\n provider: this\n });\n } else {\n let error = null;\n if (result.error) {\n error = new Error(result.error.message || \"unknown error\");\n (0, $e72ut.defineReadOnly)(error, \"code\", result.error.code || null);\n (0, $e72ut.defineReadOnly)(error, \"response\", data);\n } else error = new Error(\"unknown error\");\n request.callback(error, undefined);\n this.emit(\"debug\", {\n action: \"response\",\n error: error,\n request: JSON.parse(request.payload),\n provider: this\n });\n }\n } else if (result.method === \"eth_subscription\") {\n // Subscription...\n const sub = this._subs[result.params.subscription];\n if (sub) //this.emit.apply(this, );\n sub.processFunc(result.params.result);\n } else console.warn(\"this should not happen\");\n };\n // This Provider does not actually poll, but we want to trigger\n // poll events for things that depend on them (like stalling for\n // block and transaction lookups)\n const fauxPoll = setInterval(()=>{\n this.emit(\"poll\");\n }, 1000);\n if (fauxPoll.unref) fauxPoll.unref();\n }\n // Cannot narrow the type of _websocket, as that is not backwards compatible\n // so we add a getter and let the WebSocket be a public API.\n get websocket() {\n return this._websocket;\n }\n detectNetwork() {\n return this._detectNetwork;\n }\n get pollingInterval() {\n return 0;\n }\n resetEventsBlock(blockNumber) {\n $f2ba8b3ea7dcf3ca$var$logger.throwError(\"cannot reset events block on WebSocketProvider\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"resetEventBlock\"\n });\n }\n set pollingInterval(value) {\n $f2ba8b3ea7dcf3ca$var$logger.throwError(\"cannot set polling interval on WebSocketProvider\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"setPollingInterval\"\n });\n }\n poll() {\n return $f2ba8b3ea7dcf3ca$var$__awaiter(this, void 0, void 0, function*() {\n return null;\n });\n }\n set polling(value) {\n if (!value) return;\n $f2ba8b3ea7dcf3ca$var$logger.throwError(\"cannot set polling on WebSocketProvider\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"setPolling\"\n });\n }\n send(method, params) {\n const rid = $f2ba8b3ea7dcf3ca$var$NextId++;\n return new Promise((resolve, reject)=>{\n function callback(error, result) {\n if (error) return reject(error);\n return resolve(result);\n }\n const payload = JSON.stringify({\n method: method,\n params: params,\n id: rid,\n jsonrpc: \"2.0\"\n });\n this.emit(\"debug\", {\n action: \"request\",\n request: JSON.parse(payload),\n provider: this\n });\n this._requests[String(rid)] = {\n callback: callback,\n payload: payload\n };\n if (this._wsReady) this.websocket.send(payload);\n });\n }\n static defaultUrl() {\n return \"ws://localhost:8546\";\n }\n _subscribe(tag, param, processFunc) {\n return $f2ba8b3ea7dcf3ca$var$__awaiter(this, void 0, void 0, function*() {\n let subIdPromise = this._subIds[tag];\n if (subIdPromise == null) {\n subIdPromise = Promise.all(param).then((param)=>{\n return this.send(\"eth_subscribe\", param);\n });\n this._subIds[tag] = subIdPromise;\n }\n const subId = yield subIdPromise;\n this._subs[subId] = {\n tag: tag,\n processFunc: processFunc\n };\n });\n }\n _startEvent(event) {\n switch(event.type){\n case \"block\":\n this._subscribe(\"block\", [\n \"newHeads\"\n ], (result)=>{\n const blockNumber = (0, $1chjt.BigNumber).from(result.number).toNumber();\n this._emitted.block = blockNumber;\n this.emit(\"block\", blockNumber);\n });\n break;\n case \"pending\":\n this._subscribe(\"pending\", [\n \"newPendingTransactions\"\n ], (result)=>{\n this.emit(\"pending\", result);\n });\n break;\n case \"filter\":\n this._subscribe(event.tag, [\n \"logs\",\n this._getFilter(event.filter)\n ], (result)=>{\n if (result.removed == null) result.removed = false;\n this.emit(event.filter, this.formatter.filterLog(result));\n });\n break;\n case \"tx\":\n {\n const emitReceipt = (event)=>{\n const hash = event.hash;\n this.getTransactionReceipt(hash).then((receipt)=>{\n if (!receipt) return;\n this.emit(hash, receipt);\n });\n };\n // In case it is already mined\n emitReceipt(event);\n // To keep things simple, we start up a single newHeads subscription\n // to keep an eye out for transactions we are watching for.\n // Starting a subscription for an event (i.e. \"tx\") that is already\n // running is (basically) a nop.\n this._subscribe(\"tx\", [\n \"newHeads\"\n ], (result)=>{\n this._events.filter((e)=>e.type === \"tx\").forEach(emitReceipt);\n });\n break;\n }\n // Nothing is needed\n case \"debug\":\n case \"poll\":\n case \"willPoll\":\n case \"didPoll\":\n case \"error\":\n break;\n default:\n console.log(\"unhandled:\", event);\n break;\n }\n }\n _stopEvent(event) {\n let tag = event.tag;\n if (event.type === \"tx\") {\n // There are remaining transaction event listeners\n if (this._events.filter((e)=>e.type === \"tx\").length) return;\n tag = \"tx\";\n } else if (this.listenerCount(event.event)) // There are remaining event listeners\n return;\n const subId = this._subIds[tag];\n if (!subId) return;\n delete this._subIds[tag];\n subId.then((subId)=>{\n if (!this._subs[subId]) return;\n delete this._subs[subId];\n this.send(\"eth_unsubscribe\", [\n subId\n ]);\n });\n }\n destroy() {\n return $f2ba8b3ea7dcf3ca$var$__awaiter(this, void 0, void 0, function*() {\n // Wait until we have connected before trying to disconnect\n if (this.websocket.readyState === (0, $c20588e763a5ccc3$export$3909fb301d3dc8c9).CONNECTING) yield new Promise((resolve)=>{\n this.websocket.onopen = function() {\n resolve(true);\n };\n this.websocket.onerror = function() {\n resolve(false);\n };\n });\n // Hangup\n // See: https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent#Status_codes\n this.websocket.close(1000);\n });\n }\n}\n\n\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nvar $8044ebfe209f61e4$exports = {};\n\n$parcel$export($8044ebfe209f61e4$exports, \"StaticJsonRpcProvider\", () => $8044ebfe209f61e4$export$b3d647c1c29df44d);\n$parcel$export($8044ebfe209f61e4$exports, \"UrlJsonRpcProvider\", () => $8044ebfe209f61e4$export$664128d6239ccf96);\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\n\n\"use strict\";\nvar $8044ebfe209f61e4$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $8044ebfe209f61e4$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\nclass $8044ebfe209f61e4$export$b3d647c1c29df44d extends (0, $e32f9441afb0a406$exports.JsonRpcProvider) {\n detectNetwork() {\n const _super = Object.create(null, {\n detectNetwork: {\n get: ()=>super.detectNetwork\n }\n });\n return $8044ebfe209f61e4$var$__awaiter(this, void 0, void 0, function*() {\n let network = this.network;\n if (network == null) {\n network = yield _super.detectNetwork.call(this);\n if (!network) $8044ebfe209f61e4$var$logger.throwError(\"no network detected\", (0, $d1hml.Logger).errors.UNKNOWN_ERROR, {});\n // If still not set, set it\n if (this._network == null) {\n // A static network does not support \"any\"\n (0, $e72ut.defineReadOnly)(this, \"_network\", network);\n this.emit(\"network\", network, null);\n }\n }\n return network;\n });\n }\n}\nclass $8044ebfe209f61e4$export$664128d6239ccf96 extends $8044ebfe209f61e4$export$b3d647c1c29df44d {\n constructor(network, apiKey){\n $8044ebfe209f61e4$var$logger.checkAbstract(new.target, $8044ebfe209f61e4$export$664128d6239ccf96);\n // Normalize the Network and API Key\n network = (0, $e72ut.getStatic)(new.target, \"getNetwork\")(network);\n apiKey = (0, $e72ut.getStatic)(new.target, \"getApiKey\")(apiKey);\n const connection = (0, $e72ut.getStatic)(new.target, \"getUrl\")(network, apiKey);\n super(connection, network);\n if (typeof apiKey === \"string\") (0, $e72ut.defineReadOnly)(this, \"apiKey\", apiKey);\n else if (apiKey != null) Object.keys(apiKey).forEach((key)=>{\n (0, $e72ut.defineReadOnly)(this, key, apiKey[key]);\n });\n }\n _startPending() {\n $8044ebfe209f61e4$var$logger.warn(\"WARNING: API provider does not support pending filters\");\n }\n isCommunityResource() {\n return false;\n }\n getSigner(address) {\n return $8044ebfe209f61e4$var$logger.throwError(\"API provider does not support signing\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"getSigner\"\n });\n }\n listAccounts() {\n return Promise.resolve([]);\n }\n // Return a defaultApiKey if null, otherwise validate the API key\n static getApiKey(apiKey) {\n return apiKey;\n }\n // Returns the url or connection for the given network and API key. The\n // API key will have been sanitized by the getApiKey first, so any validation\n // or transformations can be done there.\n static getUrl(network, apiKey) {\n return $8044ebfe209f61e4$var$logger.throwError(\"not implemented; sub-classes must override getUrl\", (0, $d1hml.Logger).errors.NOT_IMPLEMENTED, {\n operation: \"getUrl\"\n });\n }\n}\n\n\n\"use strict\";\nconst $e94c62bb842b5925$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\n// This key was provided to ethers.js by Alchemy to be used by the\n// default provider, but it is recommended that for your own\n// production environments, that you acquire your own API key at:\n// https://dashboard.alchemyapi.io\nconst $e94c62bb842b5925$var$defaultApiKey = \"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\";\nclass $e94c62bb842b5925$export$f6c13301c7b76371 extends (0, $f2ba8b3ea7dcf3ca$exports.WebSocketProvider) {\n constructor(network, apiKey){\n const provider = new $e94c62bb842b5925$export$999cc40da3fbc6f(network, apiKey);\n const url = provider.connection.url.replace(/^http/i, \"ws\").replace(\".alchemyapi.\", \".ws.alchemyapi.\");\n super(url, provider.network);\n (0, $e72ut.defineReadOnly)(this, \"apiKey\", provider.apiKey);\n }\n isCommunityResource() {\n return this.apiKey === $e94c62bb842b5925$var$defaultApiKey;\n }\n}\nclass $e94c62bb842b5925$export$999cc40da3fbc6f extends (0, $8044ebfe209f61e4$exports.UrlJsonRpcProvider) {\n static getWebSocketProvider(network, apiKey) {\n return new $e94c62bb842b5925$export$f6c13301c7b76371(network, apiKey);\n }\n static getApiKey(apiKey) {\n if (apiKey == null) return $e94c62bb842b5925$var$defaultApiKey;\n if (apiKey && typeof apiKey !== \"string\") $e94c62bb842b5925$var$logger.throwArgumentError(\"invalid apiKey\", \"apiKey\", apiKey);\n return apiKey;\n }\n static getUrl(network, apiKey) {\n let host = null;\n switch(network.name){\n case \"homestead\":\n host = \"eth-mainnet.alchemyapi.io/v2/\";\n break;\n case \"goerli\":\n host = \"eth-goerli.g.alchemy.com/v2/\";\n break;\n case \"matic\":\n host = \"polygon-mainnet.g.alchemy.com/v2/\";\n break;\n case \"maticmum\":\n host = \"polygon-mumbai.g.alchemy.com/v2/\";\n break;\n case \"arbitrum\":\n host = \"arb-mainnet.g.alchemy.com/v2/\";\n break;\n case \"arbitrum-goerli\":\n host = \"arb-goerli.g.alchemy.com/v2/\";\n break;\n case \"optimism\":\n host = \"opt-mainnet.g.alchemy.com/v2/\";\n break;\n case \"optimism-goerli\":\n host = \"opt-goerli.g.alchemy.com/v2/\";\n break;\n default:\n $e94c62bb842b5925$var$logger.throwArgumentError(\"unsupported network\", \"network\", arguments[0]);\n }\n return {\n allowGzip: true,\n url: \"https://\" + host + apiKey,\n throttleCallback: (attempt, url)=>{\n if (apiKey === $e94c62bb842b5925$var$defaultApiKey) (0, $dc6c759982861e14$export$4c41bd49e82e82ab)();\n return Promise.resolve(true);\n }\n };\n }\n isCommunityResource() {\n return this.apiKey === $e94c62bb842b5925$var$defaultApiKey;\n }\n}\n\n\n\n\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\nconst $efd7dc521b26566c$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\nconst $efd7dc521b26566c$var$defaultApiKey = \"9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972\";\nfunction $efd7dc521b26566c$var$getHost(name) {\n switch(name){\n case \"homestead\":\n return \"rpc.ankr.com/eth/\";\n case \"ropsten\":\n return \"rpc.ankr.com/eth_ropsten/\";\n case \"rinkeby\":\n return \"rpc.ankr.com/eth_rinkeby/\";\n case \"goerli\":\n return \"rpc.ankr.com/eth_goerli/\";\n case \"matic\":\n return \"rpc.ankr.com/polygon/\";\n case \"arbitrum\":\n return \"rpc.ankr.com/arbitrum/\";\n }\n return $efd7dc521b26566c$var$logger.throwArgumentError(\"unsupported network\", \"name\", name);\n}\nclass $efd7dc521b26566c$export$72783b2aefa72a45 extends (0, $8044ebfe209f61e4$exports.UrlJsonRpcProvider) {\n isCommunityResource() {\n return this.apiKey === $efd7dc521b26566c$var$defaultApiKey;\n }\n static getApiKey(apiKey) {\n if (apiKey == null) return $efd7dc521b26566c$var$defaultApiKey;\n return apiKey;\n }\n static getUrl(network, apiKey) {\n if (apiKey == null) apiKey = $efd7dc521b26566c$var$defaultApiKey;\n const connection = {\n allowGzip: true,\n url: \"https://\" + $efd7dc521b26566c$var$getHost(network.name) + apiKey,\n throttleCallback: (attempt, url)=>{\n if (apiKey.apiKey === $efd7dc521b26566c$var$defaultApiKey) (0, $dc6c759982861e14$export$4c41bd49e82e82ab)();\n return Promise.resolve(true);\n }\n };\n if (apiKey.projectSecret != null) {\n connection.user = \"\";\n connection.password = apiKey.projectSecret;\n }\n return connection;\n }\n}\n\n\nvar $cdd214e3d1599302$exports = {};\n\n$parcel$export($cdd214e3d1599302$exports, \"CloudflareProvider\", () => $cdd214e3d1599302$export$7113381f8f264fc0);\n\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\n\"use strict\";\nvar $cdd214e3d1599302$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $cdd214e3d1599302$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\nclass $cdd214e3d1599302$export$7113381f8f264fc0 extends (0, $8044ebfe209f61e4$exports.UrlJsonRpcProvider) {\n static getApiKey(apiKey) {\n if (apiKey != null) $cdd214e3d1599302$var$logger.throwArgumentError(\"apiKey not supported for cloudflare\", \"apiKey\", apiKey);\n return null;\n }\n static getUrl(network, apiKey) {\n let host = null;\n switch(network.name){\n case \"homestead\":\n host = \"https://cloudflare-eth.com/\";\n break;\n default:\n $cdd214e3d1599302$var$logger.throwArgumentError(\"unsupported network\", \"network\", arguments[0]);\n }\n return host;\n }\n perform(method, params) {\n const _super = Object.create(null, {\n perform: {\n get: ()=>super.perform\n }\n });\n return $cdd214e3d1599302$var$__awaiter(this, void 0, void 0, function*() {\n // The Cloudflare provider does not support eth_blockNumber,\n // so we get the latest block and pull it from that\n if (method === \"getBlockNumber\") {\n const block = yield _super.perform.call(this, \"getBlock\", {\n blockTag: \"latest\"\n });\n return block.number;\n }\n return _super.perform.call(this, method, params);\n });\n }\n}\n\n\nvar $d7687248e25a81ef$exports = {};\n\n$parcel$export($d7687248e25a81ef$exports, \"EtherscanProvider\", () => $d7687248e25a81ef$export$dd1d942a536c7912);\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $TyNFl = parcelRequire(\"TyNFl\");\n\nvar $6BV0e = parcelRequire(\"6BV0e\");\n\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\n\n\"use strict\";\nvar $d7687248e25a81ef$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $d7687248e25a81ef$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\n// The transaction has already been sanitized by the calls in Provider\nfunction $d7687248e25a81ef$var$getTransactionPostData(transaction) {\n const result = {};\n for(let key in transaction){\n if (transaction[key] == null) continue;\n let value = transaction[key];\n if (key === \"type\" && value === 0) continue;\n // Quantity-types require no leading zero, unless 0\n if (({\n type: true,\n gasLimit: true,\n gasPrice: true,\n maxFeePerGs: true,\n maxPriorityFeePerGas: true,\n nonce: true,\n value: true\n })[key]) value = (0, $aBzgs.hexValue)((0, $aBzgs.hexlify)(value));\n else if (key === \"accessList\") value = \"[\" + (0, $TyNFl.accessListify)(value).map((set)=>{\n return `{address:\"${set.address}\",storageKeys:[\"${set.storageKeys.join('\",\"')}\"]}`;\n }).join(\",\") + \"]\";\n else value = (0, $aBzgs.hexlify)(value);\n result[key] = value;\n }\n return result;\n}\nfunction $d7687248e25a81ef$var$getResult(result) {\n // getLogs, getHistory have weird success responses\n if (result.status == 0 && (result.message === \"No records found\" || result.message === \"No transactions found\")) return result.result;\n if (result.status != 1 || typeof result.message !== \"string\" || !result.message.match(/^OK/)) {\n const error = new Error(\"invalid response\");\n error.result = JSON.stringify(result);\n if ((result.result || \"\").toLowerCase().indexOf(\"rate limit\") >= 0) error.throttleRetry = true;\n throw error;\n }\n return result.result;\n}\nfunction $d7687248e25a81ef$var$getJsonResult(result) {\n // This response indicates we are being throttled\n if (result && result.status == 0 && result.message == \"NOTOK\" && (result.result || \"\").toLowerCase().indexOf(\"rate limit\") >= 0) {\n const error = new Error(\"throttled response\");\n error.result = JSON.stringify(result);\n error.throttleRetry = true;\n throw error;\n }\n if (result.jsonrpc != \"2.0\") {\n // @TODO: not any\n const error = new Error(\"invalid response\");\n error.result = JSON.stringify(result);\n throw error;\n }\n if (result.error) {\n // @TODO: not any\n const error = new Error(result.error.message || \"unknown error\");\n if (result.error.code) error.code = result.error.code;\n if (result.error.data) error.data = result.error.data;\n throw error;\n }\n return result.result;\n}\n// The blockTag was normalized as a string by the Provider pre-perform operations\nfunction $d7687248e25a81ef$var$checkLogTag(blockTag) {\n if (blockTag === \"pending\") throw new Error(\"pending not supported\");\n if (blockTag === \"latest\") return blockTag;\n return parseInt(blockTag.substring(2), 16);\n}\nfunction $d7687248e25a81ef$var$checkError(method, error, transaction) {\n // Undo the \"convenience\" some nodes are attempting to prevent backwards\n // incompatibility; maybe for v6 consider forwarding reverts as errors\n if (method === \"call\" && error.code === (0, $d1hml.Logger).errors.SERVER_ERROR) {\n const e = error.error;\n // Etherscan keeps changing their string\n if (e && (e.message.match(/reverted/i) || e.message.match(/VM execution error/i))) {\n // Etherscan prefixes the data like \"Reverted 0x1234\"\n let data = e.data;\n if (data) data = \"0x\" + data.replace(/^.*0x/i, \"\");\n if ((0, $aBzgs.isHexString)(data)) return data;\n $d7687248e25a81ef$var$logger.throwError(\"missing revert data in call exception\", (0, $d1hml.Logger).errors.CALL_EXCEPTION, {\n error: error,\n data: \"0x\"\n });\n }\n }\n // Get the message from any nested error structure\n let message = error.message;\n if (error.code === (0, $d1hml.Logger).errors.SERVER_ERROR) {\n if (error.error && typeof error.error.message === \"string\") message = error.error.message;\n else if (typeof error.body === \"string\") message = error.body;\n else if (typeof error.responseText === \"string\") message = error.responseText;\n }\n message = (message || \"\").toLowerCase();\n // \"Insufficient funds. The account you tried to send transaction from does not have enough funds. Required 21464000000000 and got: 0\"\n if (message.match(/insufficient funds/)) $d7687248e25a81ef$var$logger.throwError(\"insufficient funds for intrinsic transaction cost\", (0, $d1hml.Logger).errors.INSUFFICIENT_FUNDS, {\n error: error,\n method: method,\n transaction: transaction\n });\n // \"Transaction with the same hash was already imported.\"\n if (message.match(/same hash was already imported|transaction nonce is too low|nonce too low/)) $d7687248e25a81ef$var$logger.throwError(\"nonce has already been used\", (0, $d1hml.Logger).errors.NONCE_EXPIRED, {\n error: error,\n method: method,\n transaction: transaction\n });\n // \"Transaction gas price is too low. There is another transaction with same nonce in the queue. Try increasing the gas price or incrementing the nonce.\"\n if (message.match(/another transaction with same nonce/)) $d7687248e25a81ef$var$logger.throwError(\"replacement fee too low\", (0, $d1hml.Logger).errors.REPLACEMENT_UNDERPRICED, {\n error: error,\n method: method,\n transaction: transaction\n });\n if (message.match(/execution failed due to an exception|execution reverted/)) $d7687248e25a81ef$var$logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", (0, $d1hml.Logger).errors.UNPREDICTABLE_GAS_LIMIT, {\n error: error,\n method: method,\n transaction: transaction\n });\n throw error;\n}\nclass $d7687248e25a81ef$export$dd1d942a536c7912 extends (0, $43e733c7f2a529c1$exports.BaseProvider) {\n constructor(network, apiKey){\n super(network);\n (0, $e72ut.defineReadOnly)(this, \"baseUrl\", this.getBaseUrl());\n (0, $e72ut.defineReadOnly)(this, \"apiKey\", apiKey || null);\n }\n getBaseUrl() {\n switch(this.network ? this.network.name : \"invalid\"){\n case \"homestead\":\n return \"https://api.etherscan.io\";\n case \"goerli\":\n return \"https://api-goerli.etherscan.io\";\n case \"sepolia\":\n return \"https://api-sepolia.etherscan.io\";\n case \"matic\":\n return \"https://api.polygonscan.com\";\n case \"maticmum\":\n return \"https://api-testnet.polygonscan.com\";\n case \"arbitrum\":\n return \"https://api.arbiscan.io\";\n case \"arbitrum-goerli\":\n return \"https://api-goerli.arbiscan.io\";\n case \"optimism\":\n return \"https://api-optimistic.etherscan.io\";\n case \"optimism-goerli\":\n return \"https://api-goerli-optimistic.etherscan.io\";\n default:\n }\n return $d7687248e25a81ef$var$logger.throwArgumentError(\"unsupported network\", \"network\", this.network.name);\n }\n getUrl(module, params) {\n const query = Object.keys(params).reduce((accum, key)=>{\n const value = params[key];\n if (value != null) accum += `&${key}=${value}`;\n return accum;\n }, \"\");\n const apiKey = this.apiKey ? `&apikey=${this.apiKey}` : \"\";\n return `${this.baseUrl}/api?module=${module}${query}${apiKey}`;\n }\n getPostUrl() {\n return `${this.baseUrl}/api`;\n }\n getPostData(module, params) {\n params.module = module;\n params.apikey = this.apiKey;\n return params;\n }\n fetch(module, params, post) {\n return $d7687248e25a81ef$var$__awaiter(this, void 0, void 0, function*() {\n const url = post ? this.getPostUrl() : this.getUrl(module, params);\n const payload = post ? this.getPostData(module, params) : null;\n const procFunc = module === \"proxy\" ? $d7687248e25a81ef$var$getJsonResult : $d7687248e25a81ef$var$getResult;\n this.emit(\"debug\", {\n action: \"request\",\n request: url,\n provider: this\n });\n const connection = {\n url: url,\n throttleSlotInterval: 1000,\n throttleCallback: (attempt, url)=>{\n if (this.isCommunityResource()) (0, $dc6c759982861e14$export$4c41bd49e82e82ab)();\n return Promise.resolve(true);\n }\n };\n let payloadStr = null;\n if (payload) {\n connection.headers = {\n \"content-type\": \"application/x-www-form-urlencoded; charset=UTF-8\"\n };\n payloadStr = Object.keys(payload).map((key)=>{\n return `${key}=${payload[key]}`;\n }).join(\"&\");\n }\n const result = yield (0, $6BV0e.fetchJson)(connection, payloadStr, procFunc || $d7687248e25a81ef$var$getJsonResult);\n this.emit(\"debug\", {\n action: \"response\",\n request: url,\n response: (0, $e72ut.deepCopy)(result),\n provider: this\n });\n return result;\n });\n }\n detectNetwork() {\n return $d7687248e25a81ef$var$__awaiter(this, void 0, void 0, function*() {\n return this.network;\n });\n }\n perform(method, params) {\n const _super = Object.create(null, {\n perform: {\n get: ()=>super.perform\n }\n });\n return $d7687248e25a81ef$var$__awaiter(this, void 0, void 0, function*() {\n switch(method){\n case \"getBlockNumber\":\n return this.fetch(\"proxy\", {\n action: \"eth_blockNumber\"\n });\n case \"getGasPrice\":\n return this.fetch(\"proxy\", {\n action: \"eth_gasPrice\"\n });\n case \"getBalance\":\n // Returns base-10 result\n return this.fetch(\"account\", {\n action: \"balance\",\n address: params.address,\n tag: params.blockTag\n });\n case \"getTransactionCount\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionCount\",\n address: params.address,\n tag: params.blockTag\n });\n case \"getCode\":\n return this.fetch(\"proxy\", {\n action: \"eth_getCode\",\n address: params.address,\n tag: params.blockTag\n });\n case \"getStorageAt\":\n return this.fetch(\"proxy\", {\n action: \"eth_getStorageAt\",\n address: params.address,\n position: params.position,\n tag: params.blockTag\n });\n case \"sendTransaction\":\n return this.fetch(\"proxy\", {\n action: \"eth_sendRawTransaction\",\n hex: params.signedTransaction\n }, true).catch((error)=>{\n return $d7687248e25a81ef$var$checkError(\"sendTransaction\", error, params.signedTransaction);\n });\n case \"getBlock\":\n if (params.blockTag) return this.fetch(\"proxy\", {\n action: \"eth_getBlockByNumber\",\n tag: params.blockTag,\n boolean: params.includeTransactions ? \"true\" : \"false\"\n });\n throw new Error(\"getBlock by blockHash not implemented\");\n case \"getTransaction\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionByHash\",\n txhash: params.transactionHash\n });\n case \"getTransactionReceipt\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionReceipt\",\n txhash: params.transactionHash\n });\n case \"call\":\n {\n if (params.blockTag !== \"latest\") throw new Error(\"EtherscanProvider does not support blockTag for call\");\n const postData = $d7687248e25a81ef$var$getTransactionPostData(params.transaction);\n postData.module = \"proxy\";\n postData.action = \"eth_call\";\n try {\n return yield this.fetch(\"proxy\", postData, true);\n } catch (error) {\n return $d7687248e25a81ef$var$checkError(\"call\", error, params.transaction);\n }\n }\n case \"estimateGas\":\n {\n const postData = $d7687248e25a81ef$var$getTransactionPostData(params.transaction);\n postData.module = \"proxy\";\n postData.action = \"eth_estimateGas\";\n try {\n return yield this.fetch(\"proxy\", postData, true);\n } catch (error) {\n return $d7687248e25a81ef$var$checkError(\"estimateGas\", error, params.transaction);\n }\n }\n case \"getLogs\":\n {\n const args = {\n action: \"getLogs\"\n };\n if (params.filter.fromBlock) args.fromBlock = $d7687248e25a81ef$var$checkLogTag(params.filter.fromBlock);\n if (params.filter.toBlock) args.toBlock = $d7687248e25a81ef$var$checkLogTag(params.filter.toBlock);\n if (params.filter.address) args.address = params.filter.address;\n // @TODO: We can handle slightly more complicated logs using the logs API\n if (params.filter.topics && params.filter.topics.length > 0) {\n if (params.filter.topics.length > 1) $d7687248e25a81ef$var$logger.throwError(\"unsupported topic count\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n topics: params.filter.topics\n });\n if (params.filter.topics.length === 1) {\n const topic0 = params.filter.topics[0];\n if (typeof topic0 !== \"string\" || topic0.length !== 66) $d7687248e25a81ef$var$logger.throwError(\"unsupported topic format\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n topic0: topic0\n });\n args.topic0 = topic0;\n }\n }\n const logs = yield this.fetch(\"logs\", args);\n // Cache txHash => blockHash\n let blocks = {};\n // Add any missing blockHash to the logs\n for(let i = 0; i < logs.length; i++){\n const log = logs[i];\n if (log.blockHash != null) continue;\n if (blocks[log.blockNumber] == null) {\n const block = yield this.getBlock(log.blockNumber);\n if (block) blocks[log.blockNumber] = block.hash;\n }\n log.blockHash = blocks[log.blockNumber];\n }\n return logs;\n }\n case \"getEtherPrice\":\n if (this.network.name !== \"homestead\") return 0.0;\n return parseFloat((yield this.fetch(\"stats\", {\n action: \"ethprice\"\n })).ethusd);\n default:\n break;\n }\n return _super.perform.call(this, method, params);\n });\n }\n // Note: The `page` page parameter only allows pagination within the\n // 10,000 window available without a page and offset parameter\n // Error: Result window is too large, PageNo x Offset size must\n // be less than or equal to 10000\n getHistory(addressOrName, startBlock, endBlock) {\n return $d7687248e25a81ef$var$__awaiter(this, void 0, void 0, function*() {\n const params = {\n action: \"txlist\",\n address: yield this.resolveName(addressOrName),\n startblock: startBlock == null ? 0 : startBlock,\n endblock: endBlock == null ? 99999999 : endBlock,\n sort: \"asc\"\n };\n const result = yield this.fetch(\"account\", params);\n return result.map((tx)=>{\n [\n \"contractAddress\",\n \"to\"\n ].forEach(function(key) {\n if (tx[key] == \"\") delete tx[key];\n });\n if (tx.creates == null && tx.contractAddress != null) tx.creates = tx.contractAddress;\n const item = this.formatter.transactionResponse(tx);\n if (tx.timeStamp) item.timestamp = parseInt(tx.timeStamp);\n return item;\n });\n });\n }\n isCommunityResource() {\n return this.apiKey == null;\n }\n}\n\n\nvar $14eaab77c6d2e466$exports = {};\n\n$parcel$export($14eaab77c6d2e466$exports, \"FallbackProvider\", () => $14eaab77c6d2e466$export$cb1d0beacb55feb7);\n\nvar $b6M4l = parcelRequire(\"b6M4l\");\n\nvar $1chjt = parcelRequire(\"1chjt\");\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $iW3ip = parcelRequire(\"iW3ip\");\n\nvar $6BV0e = parcelRequire(\"6BV0e\");\n\n\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\n\"use strict\";\nvar $14eaab77c6d2e466$var$__awaiter = undefined && undefined.__awaiter || function(thisArg, _arguments, P, generator) {\n function adopt(value) {\n return value instanceof P ? value : new P(function(resolve) {\n resolve(value);\n });\n }\n return new (P || (P = Promise))(function(resolve, reject) {\n function fulfilled(value) {\n try {\n step(generator.next(value));\n } catch (e) {\n reject(e);\n }\n }\n function rejected(value) {\n try {\n step(generator[\"throw\"](value));\n } catch (e) {\n reject(e);\n }\n }\n function step(result) {\n result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected);\n }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nconst $14eaab77c6d2e466$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\nfunction $14eaab77c6d2e466$var$now() {\n return new Date().getTime();\n}\n// Returns to network as long as all agree, or null if any is null.\n// Throws an error if any two networks do not match.\nfunction $14eaab77c6d2e466$var$checkNetworks(networks) {\n let result = null;\n for(let i = 0; i < networks.length; i++){\n const network = networks[i];\n // Null! We do not know our network; bail.\n if (network == null) return null;\n if (result) // Make sure the network matches the previous networks\n {\n if (!(result.name === network.name && result.chainId === network.chainId && (result.ensAddress === network.ensAddress || result.ensAddress == null && network.ensAddress == null))) $14eaab77c6d2e466$var$logger.throwArgumentError(\"provider mismatch\", \"networks\", networks);\n } else result = network;\n }\n return result;\n}\nfunction $14eaab77c6d2e466$var$median(values, maxDelta) {\n values = values.slice().sort();\n const middle = Math.floor(values.length / 2);\n // Odd length; take the middle\n if (values.length % 2) return values[middle];\n // Even length; take the average of the two middle\n const a = values[middle - 1], b = values[middle];\n if (maxDelta != null && Math.abs(a - b) > maxDelta) return null;\n return (a + b) / 2;\n}\nfunction $14eaab77c6d2e466$var$serialize(value) {\n if (value === null) return \"null\";\n else if (typeof value === \"number\" || typeof value === \"boolean\") return JSON.stringify(value);\n else if (typeof value === \"string\") return value;\n else if ((0, $1chjt.BigNumber).isBigNumber(value)) return value.toString();\n else if (Array.isArray(value)) return JSON.stringify(value.map((i)=>$14eaab77c6d2e466$var$serialize(i)));\n else if (typeof value === \"object\") {\n const keys = Object.keys(value);\n keys.sort();\n return \"{\" + keys.map((key)=>{\n let v = value[key];\n if (typeof v === \"function\") v = \"[function]\";\n else v = $14eaab77c6d2e466$var$serialize(v);\n return JSON.stringify(key) + \":\" + v;\n }).join(\",\") + \"}\";\n }\n throw new Error(\"unknown value type: \" + typeof value);\n}\n// Next request ID to use for emitting debug info\nlet $14eaab77c6d2e466$var$nextRid = 1;\nfunction $14eaab77c6d2e466$var$stall(duration) {\n let cancel = null;\n let timer = null;\n let promise = new Promise((resolve)=>{\n cancel = function() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n resolve();\n };\n timer = setTimeout(cancel, duration);\n });\n const wait = (func)=>{\n promise = promise.then(func);\n return promise;\n };\n function getPromise() {\n return promise;\n }\n return {\n cancel: cancel,\n getPromise: getPromise,\n wait: wait\n };\n}\nconst $14eaab77c6d2e466$var$ForwardErrors = [\n (0, $d1hml.Logger).errors.CALL_EXCEPTION,\n (0, $d1hml.Logger).errors.INSUFFICIENT_FUNDS,\n (0, $d1hml.Logger).errors.NONCE_EXPIRED,\n (0, $d1hml.Logger).errors.REPLACEMENT_UNDERPRICED,\n (0, $d1hml.Logger).errors.UNPREDICTABLE_GAS_LIMIT\n];\nconst $14eaab77c6d2e466$var$ForwardProperties = [\n \"address\",\n \"args\",\n \"errorArgs\",\n \"errorSignature\",\n \"method\",\n \"transaction\"\n];\nfunction $14eaab77c6d2e466$var$exposeDebugConfig(config, now) {\n const result = {\n weight: config.weight\n };\n Object.defineProperty(result, \"provider\", {\n get: ()=>config.provider\n });\n if (config.start) result.start = config.start;\n if (now) result.duration = now - config.start;\n if (config.done) {\n if (config.error) result.error = config.error;\n else result.result = config.result || null;\n }\n return result;\n}\nfunction $14eaab77c6d2e466$var$normalizedTally(normalize, quorum) {\n return function(configs) {\n // Count the votes for each result\n const tally = {};\n configs.forEach((c)=>{\n const value = normalize(c.result);\n if (!tally[value]) tally[value] = {\n count: 0,\n result: c.result\n };\n tally[value].count++;\n });\n // Check for a quorum on any given result\n const keys = Object.keys(tally);\n for(let i = 0; i < keys.length; i++){\n const check = tally[keys[i]];\n if (check.count >= quorum) return check.result;\n }\n // No quroum\n return undefined;\n };\n}\nfunction $14eaab77c6d2e466$var$getProcessFunc(provider, method, params) {\n let normalize = $14eaab77c6d2e466$var$serialize;\n switch(method){\n case \"getBlockNumber\":\n // Return the median value, unless there is (median + 1) is also\n // present, in which case that is probably true and the median\n // is going to be stale soon. In the event of a malicious node,\n // the lie will be true soon enough.\n return function(configs) {\n const values = configs.map((c)=>c.result);\n // Get the median block number\n let blockNumber = $14eaab77c6d2e466$var$median(configs.map((c)=>c.result), 2);\n if (blockNumber == null) return undefined;\n blockNumber = Math.ceil(blockNumber);\n // If the next block height is present, its prolly safe to use\n if (values.indexOf(blockNumber + 1) >= 0) blockNumber++;\n // Don't ever roll back the blockNumber\n if (blockNumber >= provider._highestBlockNumber) provider._highestBlockNumber = blockNumber;\n return provider._highestBlockNumber;\n };\n case \"getGasPrice\":\n // Return the middle (round index up) value, similar to median\n // but do not average even entries and choose the higher.\n // Malicious actors must compromise 50% of the nodes to lie.\n return function(configs) {\n const values = configs.map((c)=>c.result);\n values.sort();\n return values[Math.floor(values.length / 2)];\n };\n case \"getEtherPrice\":\n // Returns the median price. Malicious actors must compromise at\n // least 50% of the nodes to lie (in a meaningful way).\n return function(configs) {\n return $14eaab77c6d2e466$var$median(configs.map((c)=>c.result));\n };\n // No additional normalizing required; serialize is enough\n case \"getBalance\":\n case \"getTransactionCount\":\n case \"getCode\":\n case \"getStorageAt\":\n case \"call\":\n case \"estimateGas\":\n case \"getLogs\":\n break;\n // We drop the confirmations from transactions as it is approximate\n case \"getTransaction\":\n case \"getTransactionReceipt\":\n normalize = function(tx) {\n if (tx == null) return null;\n tx = (0, $e72ut.shallowCopy)(tx);\n tx.confirmations = -1;\n return $14eaab77c6d2e466$var$serialize(tx);\n };\n break;\n // We drop the confirmations from transactions as it is approximate\n case \"getBlock\":\n // We drop the confirmations from transactions as it is approximate\n if (params.includeTransactions) normalize = function(block) {\n if (block == null) return null;\n block = (0, $e72ut.shallowCopy)(block);\n block.transactions = block.transactions.map((tx)=>{\n tx = (0, $e72ut.shallowCopy)(tx);\n tx.confirmations = -1;\n return tx;\n });\n return $14eaab77c6d2e466$var$serialize(block);\n };\n else normalize = function(block) {\n if (block == null) return null;\n return $14eaab77c6d2e466$var$serialize(block);\n };\n break;\n default:\n throw new Error(\"unknown method: \" + method);\n }\n // Return the result if and only if the expected quorum is\n // satisfied and agreed upon for the final result.\n return $14eaab77c6d2e466$var$normalizedTally(normalize, provider.quorum);\n}\n// If we are doing a blockTag query, we need to make sure the backend is\n// caught up to the FallbackProvider, before sending a request to it.\nfunction $14eaab77c6d2e466$var$waitForSync(config, blockNumber) {\n return $14eaab77c6d2e466$var$__awaiter(this, void 0, void 0, function*() {\n const provider = config.provider;\n if (provider.blockNumber != null && provider.blockNumber >= blockNumber || blockNumber === -1) return provider;\n return (0, $6BV0e.poll)(()=>{\n return new Promise((resolve, reject)=>{\n setTimeout(function() {\n // We are synced\n if (provider.blockNumber >= blockNumber) return resolve(provider);\n // We're done; just quit\n if (config.cancelled) return resolve(null);\n // Try again, next block\n return resolve(undefined);\n }, 0);\n });\n }, {\n oncePoll: provider\n });\n });\n}\nfunction $14eaab77c6d2e466$var$getRunner(config, currentBlockNumber, method, params) {\n return $14eaab77c6d2e466$var$__awaiter(this, void 0, void 0, function*() {\n let provider = config.provider;\n switch(method){\n case \"getBlockNumber\":\n case \"getGasPrice\":\n return provider[method]();\n case \"getEtherPrice\":\n if (provider.getEtherPrice) return provider.getEtherPrice();\n break;\n case \"getBalance\":\n case \"getTransactionCount\":\n case \"getCode\":\n if (params.blockTag && (0, $aBzgs.isHexString)(params.blockTag)) provider = yield $14eaab77c6d2e466$var$waitForSync(config, currentBlockNumber);\n return provider[method](params.address, params.blockTag || \"latest\");\n case \"getStorageAt\":\n if (params.blockTag && (0, $aBzgs.isHexString)(params.blockTag)) provider = yield $14eaab77c6d2e466$var$waitForSync(config, currentBlockNumber);\n return provider.getStorageAt(params.address, params.position, params.blockTag || \"latest\");\n case \"getBlock\":\n if (params.blockTag && (0, $aBzgs.isHexString)(params.blockTag)) provider = yield $14eaab77c6d2e466$var$waitForSync(config, currentBlockNumber);\n return provider[params.includeTransactions ? \"getBlockWithTransactions\" : \"getBlock\"](params.blockTag || params.blockHash);\n case \"call\":\n case \"estimateGas\":\n if (params.blockTag && (0, $aBzgs.isHexString)(params.blockTag)) provider = yield $14eaab77c6d2e466$var$waitForSync(config, currentBlockNumber);\n if (method === \"call\" && params.blockTag) return provider[method](params.transaction, params.blockTag);\n return provider[method](params.transaction);\n case \"getTransaction\":\n case \"getTransactionReceipt\":\n return provider[method](params.transactionHash);\n case \"getLogs\":\n {\n let filter = params.filter;\n if (filter.fromBlock && (0, $aBzgs.isHexString)(filter.fromBlock) || filter.toBlock && (0, $aBzgs.isHexString)(filter.toBlock)) provider = yield $14eaab77c6d2e466$var$waitForSync(config, currentBlockNumber);\n return provider.getLogs(filter);\n }\n }\n return $14eaab77c6d2e466$var$logger.throwError(\"unknown method error\", (0, $d1hml.Logger).errors.UNKNOWN_ERROR, {\n method: method,\n params: params\n });\n });\n}\nclass $14eaab77c6d2e466$export$cb1d0beacb55feb7 extends (0, $43e733c7f2a529c1$exports.BaseProvider) {\n constructor(providers, quorum){\n if (providers.length === 0) $14eaab77c6d2e466$var$logger.throwArgumentError(\"missing providers\", \"providers\", providers);\n const providerConfigs = providers.map((configOrProvider, index)=>{\n if ((0, $b6M4l.Provider).isProvider(configOrProvider)) {\n const stallTimeout = (0, $dc6c759982861e14$export$d93d5f61c2498b6)(configOrProvider) ? 2000 : 750;\n const priority = 1;\n return Object.freeze({\n provider: configOrProvider,\n weight: 1,\n stallTimeout: stallTimeout,\n priority: priority\n });\n }\n const config = (0, $e72ut.shallowCopy)(configOrProvider);\n if (config.priority == null) config.priority = 1;\n if (config.stallTimeout == null) config.stallTimeout = (0, $dc6c759982861e14$export$d93d5f61c2498b6)(configOrProvider) ? 2000 : 750;\n if (config.weight == null) config.weight = 1;\n const weight = config.weight;\n if (weight % 1 || weight > 512 || weight < 1) $14eaab77c6d2e466$var$logger.throwArgumentError(\"invalid weight; must be integer in [1, 512]\", `providers[${index}].weight`, weight);\n return Object.freeze(config);\n });\n const total = providerConfigs.reduce((accum, c)=>accum + c.weight, 0);\n if (quorum == null) quorum = total / 2;\n else if (quorum > total) $14eaab77c6d2e466$var$logger.throwArgumentError(\"quorum will always fail; larger than total weight\", \"quorum\", quorum);\n // Are all providers' networks are known\n let networkOrReady = $14eaab77c6d2e466$var$checkNetworks(providerConfigs.map((c)=>c.provider.network));\n // Not all networks are known; we must stall\n if (networkOrReady == null) networkOrReady = new Promise((resolve, reject)=>{\n setTimeout(()=>{\n this.detectNetwork().then(resolve, reject);\n }, 0);\n });\n super(networkOrReady);\n // Preserve a copy, so we do not get mutated\n (0, $e72ut.defineReadOnly)(this, \"providerConfigs\", Object.freeze(providerConfigs));\n (0, $e72ut.defineReadOnly)(this, \"quorum\", quorum);\n this._highestBlockNumber = -1;\n }\n detectNetwork() {\n return $14eaab77c6d2e466$var$__awaiter(this, void 0, void 0, function*() {\n const networks = yield Promise.all(this.providerConfigs.map((c)=>c.provider.getNetwork()));\n return $14eaab77c6d2e466$var$checkNetworks(networks);\n });\n }\n perform(method, params) {\n return $14eaab77c6d2e466$var$__awaiter(this, void 0, void 0, function*() {\n // Sending transactions is special; always broadcast it to all backends\n if (method === \"sendTransaction\") {\n const results = yield Promise.all(this.providerConfigs.map((c)=>{\n return c.provider.sendTransaction(params.signedTransaction).then((result)=>{\n return result.hash;\n }, (error)=>{\n return error;\n });\n }));\n // Any success is good enough (other errors are likely \"already seen\" errors\n for(let i = 0; i < results.length; i++){\n const result = results[i];\n if (typeof result === \"string\") return result;\n }\n // They were all an error; pick the first error\n throw results[0];\n }\n // We need to make sure we are in sync with our backends, so we need\n // to know this before we can make a lot of calls\n if (this._highestBlockNumber === -1 && method !== \"getBlockNumber\") yield this.getBlockNumber();\n const processFunc = $14eaab77c6d2e466$var$getProcessFunc(this, method, params);\n // Shuffle the providers and then sort them by their priority; we\n // shallowCopy them since we will store the result in them too\n const configs = (0, $iW3ip.shuffled)(this.providerConfigs.map((0, $e72ut.shallowCopy)));\n configs.sort((a, b)=>a.priority - b.priority);\n const currentBlockNumber = this._highestBlockNumber;\n let i = 0;\n let first = true;\n while(true){\n const t0 = $14eaab77c6d2e466$var$now();\n // Compute the inflight weight (exclude anything past)\n let inflightWeight = configs.filter((c)=>c.runner && t0 - c.start < c.stallTimeout).reduce((accum, c)=>accum + c.weight, 0);\n // Start running enough to meet quorum\n while(inflightWeight < this.quorum && i < configs.length){\n const config = configs[i++];\n const rid = $14eaab77c6d2e466$var$nextRid++;\n config.start = $14eaab77c6d2e466$var$now();\n config.staller = $14eaab77c6d2e466$var$stall(config.stallTimeout);\n config.staller.wait(()=>{\n config.staller = null;\n });\n config.runner = $14eaab77c6d2e466$var$getRunner(config, currentBlockNumber, method, params).then((result)=>{\n config.done = true;\n config.result = result;\n if (this.listenerCount(\"debug\")) this.emit(\"debug\", {\n action: \"request\",\n rid: rid,\n backend: $14eaab77c6d2e466$var$exposeDebugConfig(config, $14eaab77c6d2e466$var$now()),\n request: {\n method: method,\n params: (0, $e72ut.deepCopy)(params)\n },\n provider: this\n });\n }, (error)=>{\n config.done = true;\n config.error = error;\n if (this.listenerCount(\"debug\")) this.emit(\"debug\", {\n action: \"request\",\n rid: rid,\n backend: $14eaab77c6d2e466$var$exposeDebugConfig(config, $14eaab77c6d2e466$var$now()),\n request: {\n method: method,\n params: (0, $e72ut.deepCopy)(params)\n },\n provider: this\n });\n });\n if (this.listenerCount(\"debug\")) this.emit(\"debug\", {\n action: \"request\",\n rid: rid,\n backend: $14eaab77c6d2e466$var$exposeDebugConfig(config, null),\n request: {\n method: method,\n params: (0, $e72ut.deepCopy)(params)\n },\n provider: this\n });\n inflightWeight += config.weight;\n }\n // Wait for anything meaningful to finish or stall out\n const waiting = [];\n configs.forEach((c)=>{\n if (c.done || !c.runner) return;\n waiting.push(c.runner);\n if (c.staller) waiting.push(c.staller.getPromise());\n });\n if (waiting.length) yield Promise.race(waiting);\n // Check the quorum and process the results; the process function\n // may additionally decide the quorum is not met\n const results = configs.filter((c)=>c.done && c.error == null);\n if (results.length >= this.quorum) {\n const result = processFunc(results);\n if (result !== undefined) {\n // Shut down any stallers\n configs.forEach((c)=>{\n if (c.staller) c.staller.cancel();\n c.cancelled = true;\n });\n return result;\n }\n if (!first) yield $14eaab77c6d2e466$var$stall(100).getPromise();\n first = false;\n }\n // No result, check for errors that should be forwarded\n const errors = configs.reduce((accum, c)=>{\n if (!c.done || c.error == null) return accum;\n const code = c.error.code;\n if ($14eaab77c6d2e466$var$ForwardErrors.indexOf(code) >= 0) {\n if (!accum[code]) accum[code] = {\n error: c.error,\n weight: 0\n };\n accum[code].weight += c.weight;\n }\n return accum;\n }, {});\n Object.keys(errors).forEach((errorCode)=>{\n const tally = errors[errorCode];\n if (tally.weight < this.quorum) return;\n // Shut down any stallers\n configs.forEach((c)=>{\n if (c.staller) c.staller.cancel();\n c.cancelled = true;\n });\n const e = tally.error;\n const props = {};\n $14eaab77c6d2e466$var$ForwardProperties.forEach((name)=>{\n if (e[name] == null) return;\n props[name] = e[name];\n });\n $14eaab77c6d2e466$var$logger.throwError(e.reason || e.message, errorCode, props);\n });\n // All configs have run to completion; we will never get more data\n if (configs.filter((c)=>!c.done).length === 0) break;\n }\n // Shut down any stallers; shouldn't be any\n configs.forEach((c)=>{\n if (c.staller) c.staller.cancel();\n c.cancelled = true;\n });\n return $14eaab77c6d2e466$var$logger.throwError(\"failed to meet quorum\", (0, $d1hml.Logger).errors.SERVER_ERROR, {\n method: method,\n params: params,\n //results: configs.map((c) => c.result),\n //errors: configs.map((c) => c.error),\n results: configs.map((c)=>$14eaab77c6d2e466$var$exposeDebugConfig(c)),\n provider: this\n });\n });\n }\n}\n\n\n\"use strict\";\nconst $9b4b4c9da3406148$export$fbe151f90a1ece01 = null;\n\n\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\n\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\n\n\"use strict\";\nconst $1be1b51d2ba5e5c5$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\nconst $1be1b51d2ba5e5c5$var$defaultProjectId = \"84842078b09946638c03157f83405213\";\nclass $1be1b51d2ba5e5c5$export$dd168a807d60da4f extends (0, $f2ba8b3ea7dcf3ca$exports.WebSocketProvider) {\n constructor(network, apiKey){\n const provider = new $1be1b51d2ba5e5c5$export$60ff1a559b5c6ebd(network, apiKey);\n const connection = provider.connection;\n if (connection.password) $1be1b51d2ba5e5c5$var$logger.throwError(\"INFURA WebSocket project secrets unsupported\", (0, $d1hml.Logger).errors.UNSUPPORTED_OPERATION, {\n operation: \"InfuraProvider.getWebSocketProvider()\"\n });\n const url = connection.url.replace(/^http/i, \"ws\").replace(\"/v3/\", \"/ws/v3/\");\n super(url, network);\n (0, $e72ut.defineReadOnly)(this, \"apiKey\", provider.projectId);\n (0, $e72ut.defineReadOnly)(this, \"projectId\", provider.projectId);\n (0, $e72ut.defineReadOnly)(this, \"projectSecret\", provider.projectSecret);\n }\n isCommunityResource() {\n return this.projectId === $1be1b51d2ba5e5c5$var$defaultProjectId;\n }\n}\nclass $1be1b51d2ba5e5c5$export$60ff1a559b5c6ebd extends (0, $8044ebfe209f61e4$exports.UrlJsonRpcProvider) {\n static getWebSocketProvider(network, apiKey) {\n return new $1be1b51d2ba5e5c5$export$dd168a807d60da4f(network, apiKey);\n }\n static getApiKey(apiKey) {\n const apiKeyObj = {\n apiKey: $1be1b51d2ba5e5c5$var$defaultProjectId,\n projectId: $1be1b51d2ba5e5c5$var$defaultProjectId,\n projectSecret: null\n };\n if (apiKey == null) return apiKeyObj;\n if (typeof apiKey === \"string\") apiKeyObj.projectId = apiKey;\n else if (apiKey.projectSecret != null) {\n $1be1b51d2ba5e5c5$var$logger.assertArgument(typeof apiKey.projectId === \"string\", \"projectSecret requires a projectId\", \"projectId\", apiKey.projectId);\n $1be1b51d2ba5e5c5$var$logger.assertArgument(typeof apiKey.projectSecret === \"string\", \"invalid projectSecret\", \"projectSecret\", \"[REDACTED]\");\n apiKeyObj.projectId = apiKey.projectId;\n apiKeyObj.projectSecret = apiKey.projectSecret;\n } else if (apiKey.projectId) apiKeyObj.projectId = apiKey.projectId;\n apiKeyObj.apiKey = apiKeyObj.projectId;\n return apiKeyObj;\n }\n static getUrl(network, apiKey) {\n let host = null;\n switch(network ? network.name : \"unknown\"){\n case \"homestead\":\n host = \"mainnet.infura.io\";\n break;\n case \"goerli\":\n host = \"goerli.infura.io\";\n break;\n case \"sepolia\":\n host = \"sepolia.infura.io\";\n break;\n case \"matic\":\n host = \"polygon-mainnet.infura.io\";\n break;\n case \"maticmum\":\n host = \"polygon-mumbai.infura.io\";\n break;\n case \"optimism\":\n host = \"optimism-mainnet.infura.io\";\n break;\n case \"optimism-goerli\":\n host = \"optimism-goerli.infura.io\";\n break;\n case \"arbitrum\":\n host = \"arbitrum-mainnet.infura.io\";\n break;\n case \"arbitrum-goerli\":\n host = \"arbitrum-goerli.infura.io\";\n break;\n default:\n $1be1b51d2ba5e5c5$var$logger.throwError(\"unsupported network\", (0, $d1hml.Logger).errors.INVALID_ARGUMENT, {\n argument: \"network\",\n value: network\n });\n }\n const connection = {\n allowGzip: true,\n url: \"https://\" + host + \"/v3/\" + apiKey.projectId,\n throttleCallback: (attempt, url)=>{\n if (apiKey.projectId === $1be1b51d2ba5e5c5$var$defaultProjectId) (0, $dc6c759982861e14$export$4c41bd49e82e82ab)();\n return Promise.resolve(true);\n }\n };\n if (apiKey.projectSecret != null) {\n connection.user = \"\";\n connection.password = apiKey.projectSecret;\n }\n return connection;\n }\n isCommunityResource() {\n return this.projectId === $1be1b51d2ba5e5c5$var$defaultProjectId;\n }\n}\n\n\n\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $6BV0e = parcelRequire(\"6BV0e\");\n\nclass $a926fa2c67f65d9a$export$5a16092bf20edf97 extends (0, $e32f9441afb0a406$exports.JsonRpcProvider) {\n send(method, params) {\n const request = {\n method: method,\n params: params,\n id: this._nextId++,\n jsonrpc: \"2.0\"\n };\n if (this._pendingBatch == null) this._pendingBatch = [];\n const inflightRequest = {\n request: request,\n resolve: null,\n reject: null\n };\n const promise = new Promise((resolve, reject)=>{\n inflightRequest.resolve = resolve;\n inflightRequest.reject = reject;\n });\n this._pendingBatch.push(inflightRequest);\n if (!this._pendingBatchAggregator) // Schedule batch for next event loop + short duration\n this._pendingBatchAggregator = setTimeout(()=>{\n // Get teh current batch and clear it, so new requests\n // go into the next batch\n const batch = this._pendingBatch;\n this._pendingBatch = null;\n this._pendingBatchAggregator = null;\n // Get the request as an array of requests\n const request = batch.map((inflight)=>inflight.request);\n this.emit(\"debug\", {\n action: \"requestBatch\",\n request: (0, $e72ut.deepCopy)(request),\n provider: this\n });\n return (0, $6BV0e.fetchJson)(this.connection, JSON.stringify(request)).then((result)=>{\n this.emit(\"debug\", {\n action: \"response\",\n request: request,\n response: result,\n provider: this\n });\n // For each result, feed it to the correct Promise, depending\n // on whether it was a success or error\n batch.forEach((inflightRequest, index)=>{\n const payload = result[index];\n if (payload.error) {\n const error = new Error(payload.error.message);\n error.code = payload.error.code;\n error.data = payload.error.data;\n inflightRequest.reject(error);\n } else inflightRequest.resolve(payload.result);\n });\n }, (error)=>{\n this.emit(\"debug\", {\n action: \"response\",\n error: error,\n request: request,\n provider: this\n });\n batch.forEach((inflightRequest)=>{\n inflightRequest.reject(error);\n });\n });\n }, 10);\n return promise;\n }\n}\n\n\n/* istanbul ignore file */ \n\nvar $d1hml = parcelRequire(\"d1hml\");\n\n\"use strict\";\nconst $dcb00489ffa41a84$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\n// Special API key provided by Nodesmith for ethers.js\nconst $dcb00489ffa41a84$var$defaultApiKey = \"ETHERS_JS_SHARED\";\nclass $dcb00489ffa41a84$export$8235cbce3ce273bd extends (0, $8044ebfe209f61e4$exports.UrlJsonRpcProvider) {\n static getApiKey(apiKey) {\n if (apiKey && typeof apiKey !== \"string\") $dcb00489ffa41a84$var$logger.throwArgumentError(\"invalid apiKey\", \"apiKey\", apiKey);\n return apiKey || $dcb00489ffa41a84$var$defaultApiKey;\n }\n static getUrl(network, apiKey) {\n $dcb00489ffa41a84$var$logger.warn(\"NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.\");\n let host = null;\n switch(network.name){\n case \"homestead\":\n host = \"https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc\";\n break;\n case \"ropsten\":\n host = \"https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc\";\n break;\n case \"rinkeby\":\n host = \"https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc\";\n break;\n case \"goerli\":\n host = \"https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc\";\n break;\n case \"kovan\":\n host = \"https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc\";\n break;\n default:\n $dcb00489ffa41a84$var$logger.throwArgumentError(\"unsupported network\", \"network\", arguments[0]);\n }\n return host + \"?apiKey=\" + apiKey;\n }\n}\n\n\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\n\n\"use strict\";\nconst $fbe10c5df3b2b203$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\nconst $fbe10c5df3b2b203$var$defaultApplicationId = \"62e1ad51b37b8e00394bda3b\";\nclass $fbe10c5df3b2b203$export$58bb47e42f6b092e extends (0, $8044ebfe209f61e4$exports.UrlJsonRpcProvider) {\n static getApiKey(apiKey) {\n const apiKeyObj = {\n applicationId: null,\n loadBalancer: true,\n applicationSecretKey: null\n };\n // Parse applicationId and applicationSecretKey\n if (apiKey == null) apiKeyObj.applicationId = $fbe10c5df3b2b203$var$defaultApplicationId;\n else if (typeof apiKey === \"string\") apiKeyObj.applicationId = apiKey;\n else if (apiKey.applicationSecretKey != null) {\n apiKeyObj.applicationId = apiKey.applicationId;\n apiKeyObj.applicationSecretKey = apiKey.applicationSecretKey;\n } else if (apiKey.applicationId) apiKeyObj.applicationId = apiKey.applicationId;\n else $fbe10c5df3b2b203$var$logger.throwArgumentError(\"unsupported PocketProvider apiKey\", \"apiKey\", apiKey);\n return apiKeyObj;\n }\n static getUrl(network, apiKey) {\n let host = null;\n switch(network ? network.name : \"unknown\"){\n case \"goerli\":\n host = \"eth-goerli.gateway.pokt.network\";\n break;\n case \"homestead\":\n host = \"eth-mainnet.gateway.pokt.network\";\n break;\n case \"kovan\":\n host = \"poa-kovan.gateway.pokt.network\";\n break;\n case \"matic\":\n host = \"poly-mainnet.gateway.pokt.network\";\n break;\n case \"maticmum\":\n host = \"polygon-mumbai-rpc.gateway.pokt.network\";\n break;\n case \"rinkeby\":\n host = \"eth-rinkeby.gateway.pokt.network\";\n break;\n case \"ropsten\":\n host = \"eth-ropsten.gateway.pokt.network\";\n break;\n default:\n $fbe10c5df3b2b203$var$logger.throwError(\"unsupported network\", (0, $d1hml.Logger).errors.INVALID_ARGUMENT, {\n argument: \"network\",\n value: network\n });\n }\n const url = `https:/\\/${host}/v1/lb/${apiKey.applicationId}`;\n const connection = {\n headers: {},\n url: url\n };\n if (apiKey.applicationSecretKey != null) {\n connection.user = \"\";\n connection.password = apiKey.applicationSecretKey;\n }\n return connection;\n }\n isCommunityResource() {\n return this.applicationId === $fbe10c5df3b2b203$var$defaultApplicationId;\n }\n}\n\n\n\n\nvar $e72ut = parcelRequire(\"e72ut\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\n\n\"use strict\";\nconst $c7f9e560d629e6df$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\nlet $c7f9e560d629e6df$var$_nextId = 1;\nfunction $c7f9e560d629e6df$var$buildWeb3LegacyFetcher(provider, sendFunc) {\n const fetcher = \"Web3LegacyFetcher\";\n return function(method, params) {\n const request = {\n method: method,\n params: params,\n id: $c7f9e560d629e6df$var$_nextId++,\n jsonrpc: \"2.0\"\n };\n return new Promise((resolve, reject)=>{\n this.emit(\"debug\", {\n action: \"request\",\n fetcher: fetcher,\n request: (0, $e72ut.deepCopy)(request),\n provider: this\n });\n sendFunc(request, (error, response)=>{\n if (error) {\n this.emit(\"debug\", {\n action: \"response\",\n fetcher: fetcher,\n error: error,\n request: request,\n provider: this\n });\n return reject(error);\n }\n this.emit(\"debug\", {\n action: \"response\",\n fetcher: fetcher,\n request: request,\n response: response,\n provider: this\n });\n if (response.error) {\n const error = new Error(response.error.message);\n error.code = response.error.code;\n error.data = response.error.data;\n return reject(error);\n }\n resolve(response.result);\n });\n });\n };\n}\nfunction $c7f9e560d629e6df$var$buildEip1193Fetcher(provider) {\n return function(method, params) {\n if (params == null) params = [];\n const request = {\n method: method,\n params: params\n };\n this.emit(\"debug\", {\n action: \"request\",\n fetcher: \"Eip1193Fetcher\",\n request: (0, $e72ut.deepCopy)(request),\n provider: this\n });\n return provider.request(request).then((response)=>{\n this.emit(\"debug\", {\n action: \"response\",\n fetcher: \"Eip1193Fetcher\",\n request: request,\n response: response,\n provider: this\n });\n return response;\n }, (error)=>{\n this.emit(\"debug\", {\n action: \"response\",\n fetcher: \"Eip1193Fetcher\",\n request: request,\n error: error,\n provider: this\n });\n throw error;\n });\n };\n}\nclass $c7f9e560d629e6df$export$d05096c9fd9d936d extends (0, $e32f9441afb0a406$exports.JsonRpcProvider) {\n constructor(provider, network){\n if (provider == null) $c7f9e560d629e6df$var$logger.throwArgumentError(\"missing provider\", \"provider\", provider);\n let path = null;\n let jsonRpcFetchFunc = null;\n let subprovider = null;\n if (typeof provider === \"function\") {\n path = \"unknown:\";\n jsonRpcFetchFunc = provider;\n } else {\n path = provider.host || provider.path || \"\";\n if (!path && provider.isMetaMask) path = \"metamask\";\n subprovider = provider;\n if (provider.request) {\n if (path === \"\") path = \"eip-1193:\";\n jsonRpcFetchFunc = $c7f9e560d629e6df$var$buildEip1193Fetcher(provider);\n } else if (provider.sendAsync) jsonRpcFetchFunc = $c7f9e560d629e6df$var$buildWeb3LegacyFetcher(provider, provider.sendAsync.bind(provider));\n else if (provider.send) jsonRpcFetchFunc = $c7f9e560d629e6df$var$buildWeb3LegacyFetcher(provider, provider.send.bind(provider));\n else $c7f9e560d629e6df$var$logger.throwArgumentError(\"unsupported provider\", \"provider\", provider);\n if (!path) path = \"unknown:\";\n }\n super(path, network);\n (0, $e72ut.defineReadOnly)(this, \"jsonRpcFetchFunc\", jsonRpcFetchFunc);\n (0, $e72ut.defineReadOnly)(this, \"provider\", subprovider);\n }\n send(method, params) {\n return this.jsonRpcFetchFunc(method, params);\n }\n}\n\n\n\n\n\nvar $d1hml = parcelRequire(\"d1hml\");\n\n\"use strict\";\nconst $859153647bbc688f$var$logger = new (0, $d1hml.Logger)((0, $fd8f67b80e142427$export$83d89fbfd8236492));\n////////////////////////\n// Helper Functions\nfunction $859153647bbc688f$export$4f77a1d3c1ac6642(network, options) {\n if (network == null) network = \"homestead\";\n // If passed a URL, figure out the right type of provider based on the scheme\n if (typeof network === \"string\") {\n // @TODO: Add support for IpcProvider; maybe if it ends in \".ipc\"?\n // Handle http and ws (and their secure variants)\n const match = network.match(/^(ws|http)s?:/i);\n if (match) switch(match[1].toLowerCase()){\n case \"http\":\n case \"https\":\n return new (0, $e32f9441afb0a406$exports.JsonRpcProvider)(network);\n case \"ws\":\n case \"wss\":\n return new (0, $f2ba8b3ea7dcf3ca$exports.WebSocketProvider)(network);\n default:\n $859153647bbc688f$var$logger.throwArgumentError(\"unsupported URL scheme\", \"network\", network);\n }\n }\n const n = (0, $17c84d4c9be9446e$export$7de4970ebfd8206d)(network);\n if (!n || !n._defaultProvider) $859153647bbc688f$var$logger.throwError(\"unsupported getDefaultProvider network\", (0, $d1hml.Logger).errors.NETWORK_ERROR, {\n operation: \"getDefaultProvider\",\n network: network\n });\n return n._defaultProvider({\n FallbackProvider: $14eaab77c6d2e466$exports.FallbackProvider,\n AlchemyProvider: $e94c62bb842b5925$export$999cc40da3fbc6f,\n AnkrProvider: $efd7dc521b26566c$export$72783b2aefa72a45,\n CloudflareProvider: $cdd214e3d1599302$exports.CloudflareProvider,\n EtherscanProvider: $d7687248e25a81ef$exports.EtherscanProvider,\n InfuraProvider: $1be1b51d2ba5e5c5$export$60ff1a559b5c6ebd,\n JsonRpcProvider: $e32f9441afb0a406$exports.JsonRpcProvider,\n NodesmithProvider: $dcb00489ffa41a84$export$8235cbce3ce273bd,\n PocketProvider: $fbe10c5df3b2b203$export$58bb47e42f6b092e,\n Web3Provider: $c7f9e560d629e6df$export$d05096c9fd9d936d,\n IpcProvider: $9b4b4c9da3406148$export$fbe151f90a1ece01\n }, options);\n}\n\n\n\nvar $2hNTt = parcelRequire(\"2hNTt\");\nvar $hiOO1 = parcelRequire(\"hiOO1\");\n\nvar $1f1He = parcelRequire(\"1f1He\");\n\nvar $d1hml = parcelRequire(\"d1hml\");\nconst $9f7bf65ddafc81a6$export$83d89fbfd8236492 = \"ethers/5.7.2\";\n\n\n\"use strict\";\nconst $6c57cc56acea9c6c$export$af88d00dbe7f521 = new (0, $d1hml.Logger)((0, $9f7bf65ddafc81a6$export$83d89fbfd8236492));\n\n\nvar $j7x7T = parcelRequire(\"j7x7T\");\nvar $5utYt = parcelRequire(\"5utYt\");\nvar $fP04X = parcelRequire(\"fP04X\");\nvar $1chjt = parcelRequire(\"1chjt\");\nvar $gi65P = parcelRequire(\"gi65P\");\nvar $d1hml = parcelRequire(\"d1hml\");\nvar $1f1He = parcelRequire(\"1f1He\");\nvar $hiOO1 = parcelRequire(\"hiOO1\");\nvar $2hNTt = parcelRequire(\"2hNTt\");\n\"use strict\";\ntry {\n const anyGlobal = window;\n if (anyGlobal._ethers == null) anyGlobal._ethers = $6c57cc56acea9c6c$exports;\n} catch (error) {}\n\n\nvar $1c38d8340004597f$exports = {};\n\"use strict\";\nvar $1c38d8340004597f$var$__createBinding = $1c38d8340004597f$exports && $1c38d8340004597f$exports.__createBinding || (Object.create ? function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, {\n enumerable: true,\n get: function() {\n return m[k];\n }\n });\n} : function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\nvar $1c38d8340004597f$var$__setModuleDefault = $1c38d8340004597f$exports && $1c38d8340004597f$exports.__setModuleDefault || (Object.create ? function(o, v) {\n Object.defineProperty(o, \"default\", {\n enumerable: true,\n value: v\n });\n} : function(o, v) {\n o[\"default\"] = v;\n});\nvar $1c38d8340004597f$var$__importStar = $1c38d8340004597f$exports && $1c38d8340004597f$exports.__importStar || function(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) {\n for(var k in mod)if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) $1c38d8340004597f$var$__createBinding(result, mod, k);\n }\n $1c38d8340004597f$var$__setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty($1c38d8340004597f$exports, \"__esModule\", {\n value: true\n});\n$1c38d8340004597f$exports.formatBytes32String = $1c38d8340004597f$exports.Utf8ErrorFuncs = $1c38d8340004597f$exports.toUtf8String = $1c38d8340004597f$exports.toUtf8CodePoints = $1c38d8340004597f$exports.toUtf8Bytes = $1c38d8340004597f$exports._toEscapedUtf8String = $1c38d8340004597f$exports.nameprep = $1c38d8340004597f$exports.hexDataSlice = $1c38d8340004597f$exports.hexDataLength = $1c38d8340004597f$exports.hexZeroPad = $1c38d8340004597f$exports.hexValue = $1c38d8340004597f$exports.hexStripZeros = $1c38d8340004597f$exports.hexConcat = $1c38d8340004597f$exports.isHexString = $1c38d8340004597f$exports.hexlify = $1c38d8340004597f$exports.base64 = $1c38d8340004597f$exports.base58 = $1c38d8340004597f$exports.TransactionDescription = $1c38d8340004597f$exports.LogDescription = $1c38d8340004597f$exports.Interface = $1c38d8340004597f$exports.SigningKey = $1c38d8340004597f$exports.HDNode = $1c38d8340004597f$exports.defaultPath = $1c38d8340004597f$exports.isBytesLike = $1c38d8340004597f$exports.isBytes = $1c38d8340004597f$exports.zeroPad = $1c38d8340004597f$exports.stripZeros = $1c38d8340004597f$exports.concat = $1c38d8340004597f$exports.arrayify = $1c38d8340004597f$exports.shallowCopy = $1c38d8340004597f$exports.resolveProperties = $1c38d8340004597f$exports.getStatic = $1c38d8340004597f$exports.defineReadOnly = $1c38d8340004597f$exports.deepCopy = $1c38d8340004597f$exports.checkProperties = $1c38d8340004597f$exports.poll = $1c38d8340004597f$exports.fetchJson = $1c38d8340004597f$exports._fetchData = $1c38d8340004597f$exports.RLP = $1c38d8340004597f$exports.Logger = $1c38d8340004597f$exports.checkResultErrors = $1c38d8340004597f$exports.FormatTypes = $1c38d8340004597f$exports.ParamType = $1c38d8340004597f$exports.FunctionFragment = $1c38d8340004597f$exports.EventFragment = $1c38d8340004597f$exports.ErrorFragment = $1c38d8340004597f$exports.ConstructorFragment = $1c38d8340004597f$exports.Fragment = $1c38d8340004597f$exports.defaultAbiCoder = $1c38d8340004597f$exports.AbiCoder = void 0;\n$1c38d8340004597f$exports.Indexed = $1c38d8340004597f$exports.Utf8ErrorReason = $1c38d8340004597f$exports.UnicodeNormalizationForm = $1c38d8340004597f$exports.SupportedAlgorithm = $1c38d8340004597f$exports.mnemonicToSeed = $1c38d8340004597f$exports.isValidMnemonic = $1c38d8340004597f$exports.entropyToMnemonic = $1c38d8340004597f$exports.mnemonicToEntropy = $1c38d8340004597f$exports.getAccountPath = $1c38d8340004597f$exports.verifyTypedData = $1c38d8340004597f$exports.verifyMessage = $1c38d8340004597f$exports.recoverPublicKey = $1c38d8340004597f$exports.computePublicKey = $1c38d8340004597f$exports.recoverAddress = $1c38d8340004597f$exports.computeAddress = $1c38d8340004597f$exports.getJsonWalletAddress = $1c38d8340004597f$exports.TransactionTypes = $1c38d8340004597f$exports.serializeTransaction = $1c38d8340004597f$exports.parseTransaction = $1c38d8340004597f$exports.accessListify = $1c38d8340004597f$exports.joinSignature = $1c38d8340004597f$exports.splitSignature = $1c38d8340004597f$exports.soliditySha256 = $1c38d8340004597f$exports.solidityKeccak256 = $1c38d8340004597f$exports.solidityPack = $1c38d8340004597f$exports.shuffled = $1c38d8340004597f$exports.randomBytes = $1c38d8340004597f$exports.sha512 = $1c38d8340004597f$exports.sha256 = $1c38d8340004597f$exports.ripemd160 = $1c38d8340004597f$exports.keccak256 = $1c38d8340004597f$exports.computeHmac = $1c38d8340004597f$exports.commify = $1c38d8340004597f$exports.parseUnits = $1c38d8340004597f$exports.formatUnits = $1c38d8340004597f$exports.parseEther = $1c38d8340004597f$exports.formatEther = $1c38d8340004597f$exports.isAddress = $1c38d8340004597f$exports.getCreate2Address = $1c38d8340004597f$exports.getContractAddress = $1c38d8340004597f$exports.getIcapAddress = $1c38d8340004597f$exports.getAddress = $1c38d8340004597f$exports._TypedDataEncoder = $1c38d8340004597f$exports.id = $1c38d8340004597f$exports.isValidName = $1c38d8340004597f$exports.namehash = $1c38d8340004597f$exports.hashMessage = $1c38d8340004597f$exports.dnsEncode = $1c38d8340004597f$exports.parseBytes32String = void 0;\n\nvar $45kY3 = parcelRequire(\"45kY3\");\nvar $3Mwuv = parcelRequire(\"3Mwuv\");\nvar $bB9qw = parcelRequire(\"bB9qw\");\nvar $kzlBy = parcelRequire(\"kzlBy\");\nObject.defineProperty($1c38d8340004597f$exports, \"AbiCoder\", {\n enumerable: true,\n get: function() {\n return $45kY3.AbiCoder;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"checkResultErrors\", {\n enumerable: true,\n get: function() {\n return $3Mwuv.checkResultErrors;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"ConstructorFragment\", {\n enumerable: true,\n get: function() {\n return $bB9qw.ConstructorFragment;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"defaultAbiCoder\", {\n enumerable: true,\n get: function() {\n return $45kY3.defaultAbiCoder;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"ErrorFragment\", {\n enumerable: true,\n get: function() {\n return $bB9qw.ErrorFragment;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"EventFragment\", {\n enumerable: true,\n get: function() {\n return $bB9qw.EventFragment;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"FormatTypes\", {\n enumerable: true,\n get: function() {\n return $bB9qw.FormatTypes;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"Fragment\", {\n enumerable: true,\n get: function() {\n return $bB9qw.Fragment;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"FunctionFragment\", {\n enumerable: true,\n get: function() {\n return $bB9qw.FunctionFragment;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"Indexed\", {\n enumerable: true,\n get: function() {\n return $kzlBy.Indexed;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"Interface\", {\n enumerable: true,\n get: function() {\n return $kzlBy.Interface;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"LogDescription\", {\n enumerable: true,\n get: function() {\n return $kzlBy.LogDescription;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"ParamType\", {\n enumerable: true,\n get: function() {\n return $bB9qw.ParamType;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"TransactionDescription\", {\n enumerable: true,\n get: function() {\n return $kzlBy.TransactionDescription;\n }\n});\n\nvar $bVwUc = parcelRequire(\"bVwUc\");\nObject.defineProperty($1c38d8340004597f$exports, \"getAddress\", {\n enumerable: true,\n get: function() {\n return $bVwUc.getAddress;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"getCreate2Address\", {\n enumerable: true,\n get: function() {\n return $bVwUc.getCreate2Address;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"getContractAddress\", {\n enumerable: true,\n get: function() {\n return $bVwUc.getContractAddress;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"getIcapAddress\", {\n enumerable: true,\n get: function() {\n return $bVwUc.getIcapAddress;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"isAddress\", {\n enumerable: true,\n get: function() {\n return $bVwUc.isAddress;\n }\n});\n\nvar $1c38d8340004597f$var$base64 = $1c38d8340004597f$var$__importStar((parcelRequire(\"eGcmO\")));\n$1c38d8340004597f$exports.base64 = $1c38d8340004597f$var$base64;\n\nvar $5tyfw = parcelRequire(\"5tyfw\");\nObject.defineProperty($1c38d8340004597f$exports, \"base58\", {\n enumerable: true,\n get: function() {\n return $5tyfw.Base58;\n }\n});\n\nvar $aBzgs = parcelRequire(\"aBzgs\");\nObject.defineProperty($1c38d8340004597f$exports, \"arrayify\", {\n enumerable: true,\n get: function() {\n return $aBzgs.arrayify;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"concat\", {\n enumerable: true,\n get: function() {\n return $aBzgs.concat;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"hexConcat\", {\n enumerable: true,\n get: function() {\n return $aBzgs.hexConcat;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"hexDataSlice\", {\n enumerable: true,\n get: function() {\n return $aBzgs.hexDataSlice;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"hexDataLength\", {\n enumerable: true,\n get: function() {\n return $aBzgs.hexDataLength;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"hexlify\", {\n enumerable: true,\n get: function() {\n return $aBzgs.hexlify;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"hexStripZeros\", {\n enumerable: true,\n get: function() {\n return $aBzgs.hexStripZeros;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"hexValue\", {\n enumerable: true,\n get: function() {\n return $aBzgs.hexValue;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"hexZeroPad\", {\n enumerable: true,\n get: function() {\n return $aBzgs.hexZeroPad;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"isBytes\", {\n enumerable: true,\n get: function() {\n return $aBzgs.isBytes;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"isBytesLike\", {\n enumerable: true,\n get: function() {\n return $aBzgs.isBytesLike;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"isHexString\", {\n enumerable: true,\n get: function() {\n return $aBzgs.isHexString;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"joinSignature\", {\n enumerable: true,\n get: function() {\n return $aBzgs.joinSignature;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"zeroPad\", {\n enumerable: true,\n get: function() {\n return $aBzgs.zeroPad;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"splitSignature\", {\n enumerable: true,\n get: function() {\n return $aBzgs.splitSignature;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"stripZeros\", {\n enumerable: true,\n get: function() {\n return $aBzgs.stripZeros;\n }\n});\n\nvar $a2n8k = parcelRequire(\"a2n8k\");\nvar $8s7ds = parcelRequire(\"8s7ds\");\nvar $iz1PA = parcelRequire(\"iz1PA\");\nvar $aIo2D = parcelRequire(\"aIo2D\");\nObject.defineProperty($1c38d8340004597f$exports, \"_TypedDataEncoder\", {\n enumerable: true,\n get: function() {\n return $a2n8k.TypedDataEncoder;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"dnsEncode\", {\n enumerable: true,\n get: function() {\n return $8s7ds.dnsEncode;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"hashMessage\", {\n enumerable: true,\n get: function() {\n return $iz1PA.hashMessage;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"id\", {\n enumerable: true,\n get: function() {\n return $aIo2D.id;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"isValidName\", {\n enumerable: true,\n get: function() {\n return $8s7ds.isValidName;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"namehash\", {\n enumerable: true,\n get: function() {\n return $8s7ds.namehash;\n }\n});\n\nvar $iyMjQ = parcelRequire(\"iyMjQ\");\nObject.defineProperty($1c38d8340004597f$exports, \"defaultPath\", {\n enumerable: true,\n get: function() {\n return $iyMjQ.defaultPath;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"entropyToMnemonic\", {\n enumerable: true,\n get: function() {\n return $iyMjQ.entropyToMnemonic;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"getAccountPath\", {\n enumerable: true,\n get: function() {\n return $iyMjQ.getAccountPath;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"HDNode\", {\n enumerable: true,\n get: function() {\n return $iyMjQ.HDNode;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"isValidMnemonic\", {\n enumerable: true,\n get: function() {\n return $iyMjQ.isValidMnemonic;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"mnemonicToEntropy\", {\n enumerable: true,\n get: function() {\n return $iyMjQ.mnemonicToEntropy;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"mnemonicToSeed\", {\n enumerable: true,\n get: function() {\n return $iyMjQ.mnemonicToSeed;\n }\n});\n\nvar $jpzbw = parcelRequire(\"jpzbw\");\nObject.defineProperty($1c38d8340004597f$exports, \"getJsonWalletAddress\", {\n enumerable: true,\n get: function() {\n return $jpzbw.getJsonWalletAddress;\n }\n});\n\nvar $2yhyU = parcelRequire(\"2yhyU\");\nObject.defineProperty($1c38d8340004597f$exports, \"keccak256\", {\n enumerable: true,\n get: function() {\n return $2yhyU.keccak256;\n }\n});\n\nvar $d1hml = parcelRequire(\"d1hml\");\nObject.defineProperty($1c38d8340004597f$exports, \"Logger\", {\n enumerable: true,\n get: function() {\n return $d1hml.Logger;\n }\n});\n\nvar $g67nD = parcelRequire(\"g67nD\");\nvar $iLptM = parcelRequire(\"iLptM\");\nObject.defineProperty($1c38d8340004597f$exports, \"computeHmac\", {\n enumerable: true,\n get: function() {\n return $g67nD.computeHmac;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"ripemd160\", {\n enumerable: true,\n get: function() {\n return $g67nD.ripemd160;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"sha256\", {\n enumerable: true,\n get: function() {\n return $g67nD.sha256;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"sha512\", {\n enumerable: true,\n get: function() {\n return $g67nD.sha512;\n }\n});\n\nvar $iYAoV = parcelRequire(\"iYAoV\");\nObject.defineProperty($1c38d8340004597f$exports, \"solidityKeccak256\", {\n enumerable: true,\n get: function() {\n return $iYAoV.keccak256;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"solidityPack\", {\n enumerable: true,\n get: function() {\n return $iYAoV.pack;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"soliditySha256\", {\n enumerable: true,\n get: function() {\n return $iYAoV.sha256;\n }\n});\n\nvar $hWtVn = parcelRequire(\"hWtVn\");\nvar $iW3ip = parcelRequire(\"iW3ip\");\nObject.defineProperty($1c38d8340004597f$exports, \"randomBytes\", {\n enumerable: true,\n get: function() {\n return $hWtVn.randomBytes;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"shuffled\", {\n enumerable: true,\n get: function() {\n return $iW3ip.shuffled;\n }\n});\n\nvar $e72ut = parcelRequire(\"e72ut\");\nObject.defineProperty($1c38d8340004597f$exports, \"checkProperties\", {\n enumerable: true,\n get: function() {\n return $e72ut.checkProperties;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"deepCopy\", {\n enumerable: true,\n get: function() {\n return $e72ut.deepCopy;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"defineReadOnly\", {\n enumerable: true,\n get: function() {\n return $e72ut.defineReadOnly;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"getStatic\", {\n enumerable: true,\n get: function() {\n return $e72ut.getStatic;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"resolveProperties\", {\n enumerable: true,\n get: function() {\n return $e72ut.resolveProperties;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"shallowCopy\", {\n enumerable: true,\n get: function() {\n return $e72ut.shallowCopy;\n }\n});\n\nvar $1c38d8340004597f$var$RLP = $1c38d8340004597f$var$__importStar((parcelRequire(\"9BTKH\")));\n$1c38d8340004597f$exports.RLP = $1c38d8340004597f$var$RLP;\n\nvar $lWFPp = parcelRequire(\"lWFPp\");\nObject.defineProperty($1c38d8340004597f$exports, \"computePublicKey\", {\n enumerable: true,\n get: function() {\n return $lWFPp.computePublicKey;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"recoverPublicKey\", {\n enumerable: true,\n get: function() {\n return $lWFPp.recoverPublicKey;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"SigningKey\", {\n enumerable: true,\n get: function() {\n return $lWFPp.SigningKey;\n }\n});\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\nvar $jaF8b = parcelRequire(\"jaF8b\");\nvar $dvY5r = parcelRequire(\"dvY5r\");\nObject.defineProperty($1c38d8340004597f$exports, \"formatBytes32String\", {\n enumerable: true,\n get: function() {\n return $jaF8b.formatBytes32String;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"nameprep\", {\n enumerable: true,\n get: function() {\n return $dvY5r.nameprep;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"parseBytes32String\", {\n enumerable: true,\n get: function() {\n return $jaF8b.parseBytes32String;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"_toEscapedUtf8String\", {\n enumerable: true,\n get: function() {\n return $fkVsY._toEscapedUtf8String;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"toUtf8Bytes\", {\n enumerable: true,\n get: function() {\n return $fkVsY.toUtf8Bytes;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"toUtf8CodePoints\", {\n enumerable: true,\n get: function() {\n return $fkVsY.toUtf8CodePoints;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"toUtf8String\", {\n enumerable: true,\n get: function() {\n return $fkVsY.toUtf8String;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"Utf8ErrorFuncs\", {\n enumerable: true,\n get: function() {\n return $fkVsY.Utf8ErrorFuncs;\n }\n});\n\nvar $TyNFl = parcelRequire(\"TyNFl\");\nObject.defineProperty($1c38d8340004597f$exports, \"accessListify\", {\n enumerable: true,\n get: function() {\n return $TyNFl.accessListify;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"computeAddress\", {\n enumerable: true,\n get: function() {\n return $TyNFl.computeAddress;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"parseTransaction\", {\n enumerable: true,\n get: function() {\n return $TyNFl.parse;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"recoverAddress\", {\n enumerable: true,\n get: function() {\n return $TyNFl.recoverAddress;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"serializeTransaction\", {\n enumerable: true,\n get: function() {\n return $TyNFl.serialize;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"TransactionTypes\", {\n enumerable: true,\n get: function() {\n return $TyNFl.TransactionTypes;\n }\n});\n\nvar $gvpJp = parcelRequire(\"gvpJp\");\nObject.defineProperty($1c38d8340004597f$exports, \"commify\", {\n enumerable: true,\n get: function() {\n return $gvpJp.commify;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"formatEther\", {\n enumerable: true,\n get: function() {\n return $gvpJp.formatEther;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"parseEther\", {\n enumerable: true,\n get: function() {\n return $gvpJp.parseEther;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"formatUnits\", {\n enumerable: true,\n get: function() {\n return $gvpJp.formatUnits;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"parseUnits\", {\n enumerable: true,\n get: function() {\n return $gvpJp.parseUnits;\n }\n});\n\nvar $5utYt = parcelRequire(\"5utYt\");\nObject.defineProperty($1c38d8340004597f$exports, \"verifyMessage\", {\n enumerable: true,\n get: function() {\n return $5utYt.verifyMessage;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"verifyTypedData\", {\n enumerable: true,\n get: function() {\n return $5utYt.verifyTypedData;\n }\n});\n\nvar $6BV0e = parcelRequire(\"6BV0e\");\nObject.defineProperty($1c38d8340004597f$exports, \"_fetchData\", {\n enumerable: true,\n get: function() {\n return $6BV0e._fetchData;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"fetchJson\", {\n enumerable: true,\n get: function() {\n return $6BV0e.fetchJson;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"poll\", {\n enumerable: true,\n get: function() {\n return $6BV0e.poll;\n }\n});\n\nvar $g67nD = parcelRequire(\"g67nD\");\nvar $iLptM = parcelRequire(\"iLptM\");\nObject.defineProperty($1c38d8340004597f$exports, \"SupportedAlgorithm\", {\n enumerable: true,\n get: function() {\n return $iLptM.SupportedAlgorithm;\n }\n});\n\nvar $fkVsY = parcelRequire(\"fkVsY\");\nvar $jaF8b = parcelRequire(\"jaF8b\");\nvar $dvY5r = parcelRequire(\"dvY5r\");\nObject.defineProperty($1c38d8340004597f$exports, \"UnicodeNormalizationForm\", {\n enumerable: true,\n get: function() {\n return $fkVsY.UnicodeNormalizationForm;\n }\n});\nObject.defineProperty($1c38d8340004597f$exports, \"Utf8ErrorReason\", {\n enumerable: true,\n get: function() {\n return $fkVsY.Utf8ErrorReason;\n }\n});\n\n\n(function() {\n \"use strict\";\n function noop() {}\n function run(fn) {\n return fn();\n }\n function blank_object() {\n return Object.create(null);\n }\n function run_all(fns) {\n fns.forEach(run);\n }\n function is_function(thing) {\n return typeof thing === \"function\";\n }\n function not_equal(a, b) {\n return a != a ? b == b : a !== b;\n }\n function is_empty(obj) {\n return Object.keys(obj).length === 0;\n }\n function append(target, node) {\n target.appendChild(node);\n }\n function insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n }\n function detach(node) {\n node.parentNode.removeChild(node);\n }\n function svg_element(name) {\n return document.createElementNS(\"http://www.w3.org/2000/svg\", name);\n }\n function attr(node, attribute, value) {\n if (value == null) node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value) node.setAttribute(attribute, value);\n }\n function children(element) {\n return Array.from(element.childNodes);\n }\n function attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes)result[attribute.name] = attribute.value;\n return result;\n }\n let current_component;\n function set_current_component(component) {\n current_component = component;\n }\n const dirty_components = [];\n const binding_callbacks = [];\n const render_callbacks = [];\n const flush_callbacks = [];\n const resolved_promise = Promise.resolve();\n let update_scheduled = false;\n function schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n }\n function add_render_callback(fn) {\n render_callbacks.push(fn);\n }\n // flush() calls callbacks in this order:\n // 1. All beforeUpdate callbacks, in order: parents before children\n // 2. All bind:this callbacks, in reverse order: children before parents.\n // 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n // for afterUpdates called during the initial onMount, which are called in\n // reverse order: children before parents.\n // Since callbacks might update component values, which could trigger another\n // call to flush(), the following steps guard against this:\n // 1. During beforeUpdate, any updated components will be added to the\n // dirty_components array and will cause a reentrant call to flush(). Because\n // the flush index is kept outside the function, the reentrant call will pick\n // up where the earlier call left off and go through all dirty components. The\n // current_component value is saved and restored so that the reentrant call will\n // not interfere with the \"parent\" flush() call.\n // 2. bind:this callbacks cannot trigger new flush() calls.\n // 3. During afterUpdate, any updated components will NOT have their afterUpdate\n // callback called a second time; the seen_callbacks set, outside the flush()\n // function, guarantees this behavior.\n const seen_callbacks = new Set();\n let flushidx = 0; // Do *not* move this inside the flush() function\n function flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while(flushidx < dirty_components.length){\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while(binding_callbacks.length)binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for(let i = 0; i < render_callbacks.length; i += 1){\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n }while (dirty_components.length);\n while(flush_callbacks.length)flush_callbacks.pop()();\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n }\n function update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [\n -1\n ];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n }\n const outroing = new Set();\n function transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n }\n function mount_component(component, target, anchor, customElement) {\n const { fragment: fragment , on_mount: on_mount , on_destroy: on_destroy , after_update: after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) // onMount happens before the initial afterUpdate\n add_render_callback(()=>{\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) on_destroy.push(...new_on_destroy);\n else // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n component.$$.on_mount = [];\n });\n after_update.forEach(add_render_callback);\n }\n function destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n }\n function make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[i / 31 | 0] |= 1 << i % 31;\n }\n function init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [\n -1\n ]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n props: // state\n props,\n update: noop,\n not_equal: not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty: dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance ? instance(component, options.props || {}, (i, ret, ...rest)=>{\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i]) $$.bound[i](value);\n if (ready) make_dirty(component, i);\n }\n return ret;\n }) : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n } else // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n if (options.intro) transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n }\n let SvelteElement;\n if (typeof HTMLElement === \"function\") SvelteElement = class extends HTMLElement {\n constructor(){\n super();\n this.attachShadow({\n mode: \"open\"\n });\n }\n connectedCallback() {\n const { on_mount: on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for(const key in this.$$.slotted)// @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []);\n callbacks.push(callback);\n return ()=>{\n const index = callbacks.indexOf(callback);\n if (index !== -1) callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n const version$1 = \"logger/5.5.0\";\n let _permanentCensorErrors = false;\n let _censorErrors = false;\n const LogLevels = {\n debug: 1,\n \"default\": 2,\n info: 2,\n warning: 3,\n error: 4,\n off: 5\n };\n let _logLevel = LogLevels[\"default\"];\n let _globalLogger = null;\n function _checkNormalize() {\n try {\n const missing = [];\n // Make sure all forms of normalization are supported\n [\n \"NFD\",\n \"NFC\",\n \"NFKD\",\n \"NFKC\"\n ].forEach((form)=>{\n try {\n if (\"test\".normalize(form) !== \"test\") throw new Error(\"bad normalize\");\n } catch (error) {\n missing.push(form);\n }\n });\n if (missing.length) throw new Error(\"missing \" + missing.join(\", \"));\n if (String.fromCharCode(0xe9).normalize(\"NFD\") !== String.fromCharCode(0x65, 0x0301)) throw new Error(\"broken implementation\");\n } catch (error) {\n return error.message;\n }\n return null;\n }\n const _normalizeError = _checkNormalize();\n var LogLevel;\n (function(LogLevel) {\n LogLevel[\"DEBUG\"] = \"DEBUG\";\n LogLevel[\"INFO\"] = \"INFO\";\n LogLevel[\"WARNING\"] = \"WARNING\";\n LogLevel[\"ERROR\"] = \"ERROR\";\n LogLevel[\"OFF\"] = \"OFF\";\n })(LogLevel || (LogLevel = {}));\n var ErrorCode;\n (function(ErrorCode) {\n ///////////////////\n // Generic Errors\n // Unknown Error\n ErrorCode[\"UNKNOWN_ERROR\"] = \"UNKNOWN_ERROR\";\n // Not Implemented\n ErrorCode[\"NOT_IMPLEMENTED\"] = \"NOT_IMPLEMENTED\";\n // Unsupported Operation\n // - operation\n ErrorCode[\"UNSUPPORTED_OPERATION\"] = \"UNSUPPORTED_OPERATION\";\n // Network Error (i.e. Ethereum Network, such as an invalid chain ID)\n // - event (\"noNetwork\" is not re-thrown in provider.ready; otherwise thrown)\n ErrorCode[\"NETWORK_ERROR\"] = \"NETWORK_ERROR\";\n // Some sort of bad response from the server\n ErrorCode[\"SERVER_ERROR\"] = \"SERVER_ERROR\";\n // Timeout\n ErrorCode[\"TIMEOUT\"] = \"TIMEOUT\";\n ///////////////////\n // Operational Errors\n // Buffer Overrun\n ErrorCode[\"BUFFER_OVERRUN\"] = \"BUFFER_OVERRUN\";\n // Numeric Fault\n // - operation: the operation being executed\n // - fault: the reason this faulted\n ErrorCode[\"NUMERIC_FAULT\"] = \"NUMERIC_FAULT\";\n ///////////////////\n // Argument Errors\n // Missing new operator to an object\n // - name: The name of the class\n ErrorCode[\"MISSING_NEW\"] = \"MISSING_NEW\";\n // Invalid argument (e.g. value is incompatible with type) to a function:\n // - argument: The argument name that was invalid\n // - value: The value of the argument\n ErrorCode[\"INVALID_ARGUMENT\"] = \"INVALID_ARGUMENT\";\n // Missing argument to a function:\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n ErrorCode[\"MISSING_ARGUMENT\"] = \"MISSING_ARGUMENT\";\n // Too many arguments\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n ErrorCode[\"UNEXPECTED_ARGUMENT\"] = \"UNEXPECTED_ARGUMENT\";\n ///////////////////\n // Blockchain Errors\n // Call exception\n // - transaction: the transaction\n // - address?: the contract address\n // - args?: The arguments passed into the function\n // - method?: The Solidity method signature\n // - errorSignature?: The EIP848 error signature\n // - errorArgs?: The EIP848 error parameters\n // - reason: The reason (only for EIP848 \"Error(string)\")\n ErrorCode[\"CALL_EXCEPTION\"] = \"CALL_EXCEPTION\";\n // Insufficient funds (< value + gasLimit * gasPrice)\n // - transaction: the transaction attempted\n ErrorCode[\"INSUFFICIENT_FUNDS\"] = \"INSUFFICIENT_FUNDS\";\n // Nonce has already been used\n // - transaction: the transaction attempted\n ErrorCode[\"NONCE_EXPIRED\"] = \"NONCE_EXPIRED\";\n // The replacement fee for the transaction is too low\n // - transaction: the transaction attempted\n ErrorCode[\"REPLACEMENT_UNDERPRICED\"] = \"REPLACEMENT_UNDERPRICED\";\n // The gas limit could not be estimated\n // - transaction: the transaction passed to estimateGas\n ErrorCode[\"UNPREDICTABLE_GAS_LIMIT\"] = \"UNPREDICTABLE_GAS_LIMIT\";\n // The transaction was replaced by one with a higher gas price\n // - reason: \"cancelled\", \"replaced\" or \"repriced\"\n // - cancelled: true if reason == \"cancelled\" or reason == \"replaced\")\n // - hash: original transaction hash\n // - replacement: the full TransactionsResponse for the replacement\n // - receipt: the receipt of the replacement\n ErrorCode[\"TRANSACTION_REPLACED\"] = \"TRANSACTION_REPLACED\";\n })(ErrorCode || (ErrorCode = {}));\n const HEX = \"0123456789abcdef\";\n class Logger {\n constructor(version){\n Object.defineProperty(this, \"version\", {\n enumerable: true,\n value: version,\n writable: false\n });\n }\n _log(logLevel, args) {\n const level = logLevel.toLowerCase();\n if (LogLevels[level] == null) this.throwArgumentError(\"invalid log level name\", \"logLevel\", logLevel);\n if (_logLevel > LogLevels[level]) return;\n console.log.apply(console, args);\n }\n debug(...args) {\n this._log(Logger.levels.DEBUG, args);\n }\n info(...args) {\n this._log(Logger.levels.INFO, args);\n }\n warn(...args) {\n this._log(Logger.levels.WARNING, args);\n }\n makeError(message, code, params) {\n // Errors are being censored\n if (_censorErrors) return this.makeError(\"censored error\", code, {});\n if (!code) code = Logger.errors.UNKNOWN_ERROR;\n if (!params) params = {};\n const messageDetails = [];\n Object.keys(params).forEach((key)=>{\n const value = params[key];\n try {\n if (value instanceof Uint8Array) {\n let hex = \"\";\n for(let i = 0; i < value.length; i++){\n hex += HEX[value[i] >> 4];\n hex += HEX[value[i] & 0x0f];\n }\n messageDetails.push(key + \"=Uint8Array(0x\" + hex + \")\");\n } else messageDetails.push(key + \"=\" + JSON.stringify(value));\n } catch (error) {\n messageDetails.push(key + \"=\" + JSON.stringify(params[key].toString()));\n }\n });\n messageDetails.push(`code=${code}`);\n messageDetails.push(`version=${this.version}`);\n const reason = message;\n if (messageDetails.length) message += \" (\" + messageDetails.join(\", \") + \")\";\n // @TODO: Any??\n const error = new Error(message);\n error.reason = reason;\n error.code = code;\n Object.keys(params).forEach(function(key) {\n error[key] = params[key];\n });\n return error;\n }\n throwError(message, code, params) {\n throw this.makeError(message, code, params);\n }\n throwArgumentError(message, name, value) {\n return this.throwError(message, Logger.errors.INVALID_ARGUMENT, {\n argument: name,\n value: value\n });\n }\n assert(condition, message, code, params) {\n if (!!condition) return;\n this.throwError(message, code, params);\n }\n assertArgument(condition, message, name, value) {\n if (!!condition) return;\n this.throwArgumentError(message, name, value);\n }\n checkNormalize(message) {\n if (_normalizeError) this.throwError(\"platform missing String.prototype.normalize\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"String.prototype.normalize\",\n form: _normalizeError\n });\n }\n checkSafeUint53(value, message) {\n if (typeof value !== \"number\") return;\n if (message == null) message = \"value not safe\";\n if (value < 0 || value >= 0x1fffffffffffff) this.throwError(message, Logger.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"out-of-safe-range\",\n value: value\n });\n if (value % 1) this.throwError(message, Logger.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"non-integer\",\n value: value\n });\n }\n checkArgumentCount(count, expectedCount, message) {\n if (message) message = \": \" + message;\n else message = \"\";\n if (count < expectedCount) this.throwError(\"missing argument\" + message, Logger.errors.MISSING_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n if (count > expectedCount) this.throwError(\"too many arguments\" + message, Logger.errors.UNEXPECTED_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n }\n checkNew(target, kind) {\n if (target === Object || target == null) this.throwError(\"missing new\", Logger.errors.MISSING_NEW, {\n name: kind.name\n });\n }\n checkAbstract(target, kind) {\n if (target === kind) this.throwError(\"cannot instantiate abstract class \" + JSON.stringify(kind.name) + \" directly; use a sub-class\", Logger.errors.UNSUPPORTED_OPERATION, {\n name: target.name,\n operation: \"new\"\n });\n else if (target === Object || target == null) this.throwError(\"missing new\", Logger.errors.MISSING_NEW, {\n name: kind.name\n });\n }\n static globalLogger() {\n if (!_globalLogger) _globalLogger = new Logger(version$1);\n return _globalLogger;\n }\n static setCensorship(censorship, permanent) {\n if (!censorship && permanent) this.globalLogger().throwError(\"cannot permanently disable censorship\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n if (_permanentCensorErrors) {\n if (!censorship) return;\n this.globalLogger().throwError(\"error censorship permanent\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n }\n _censorErrors = !!censorship;\n _permanentCensorErrors = !!permanent;\n }\n static setLogLevel(logLevel) {\n const level = LogLevels[logLevel.toLowerCase()];\n if (level == null) {\n Logger.globalLogger().warn(\"invalid log level - \" + logLevel);\n return;\n }\n _logLevel = level;\n }\n static from(version) {\n return new Logger(version);\n }\n }\n Logger.errors = ErrorCode;\n Logger.levels = LogLevel;\n const version = \"bytes/5.5.0\";\n const logger = new Logger(version);\n ///////////////////////////////\n function isHexable(value) {\n return !!value.toHexString;\n }\n function addSlice(array) {\n if (array.slice) return array;\n array.slice = function() {\n const args = Array.prototype.slice.call(arguments);\n return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args)));\n };\n return array;\n }\n function isInteger(value) {\n return typeof value === \"number\" && value == value && value % 1 === 0;\n }\n function isBytes(value) {\n if (value == null) return false;\n if (value.constructor === Uint8Array) return true;\n if (typeof value === \"string\") return false;\n if (!isInteger(value.length) || value.length < 0) return false;\n for(let i = 0; i < value.length; i++){\n const v = value[i];\n if (!isInteger(v) || v < 0 || v >= 256) return false;\n }\n return true;\n }\n function arrayify(value, options) {\n if (!options) options = {};\n if (typeof value === \"number\") {\n logger.checkSafeUint53(value, \"invalid arrayify value\");\n const result = [];\n while(value){\n result.unshift(value & 0xff);\n value = parseInt(String(value / 256));\n }\n if (result.length === 0) result.push(0);\n return addSlice(new Uint8Array(result));\n }\n if (options.allowMissingPrefix && typeof value === \"string\" && value.substring(0, 2) !== \"0x\") value = \"0x\" + value;\n if (isHexable(value)) value = value.toHexString();\n if (isHexString(value)) {\n let hex = value.substring(2);\n if (hex.length % 2) {\n if (options.hexPad === \"left\") hex = \"0x0\" + hex.substring(2);\n else if (options.hexPad === \"right\") hex += \"0\";\n else logger.throwArgumentError(\"hex data is odd-length\", \"value\", value);\n }\n const result = [];\n for(let i = 0; i < hex.length; i += 2)result.push(parseInt(hex.substring(i, i + 2), 16));\n return addSlice(new Uint8Array(result));\n }\n if (isBytes(value)) return addSlice(new Uint8Array(value));\n return logger.throwArgumentError(\"invalid arrayify value\", \"value\", value);\n }\n function isHexString(value, length) {\n if (typeof value !== \"string\" || !value.match(/^0x[0-9A-Fa-f]*$/)) return false;\n if (length && value.length !== 2 + 2 * length) return false;\n return true;\n }\n function createCommonjsModule(fn, module) {\n return module = {\n exports: {}\n }, fn(module, module.exports), module.exports;\n }\n var tinycolor = createCommonjsModule(function(module) {\n // TinyColor v1.4.2\n // https://github.com/bgrins/TinyColor\n // Brian Grinstead, MIT License\n (function(Math1) {\n var trimLeft = /^\\s+/, trimRight = /\\s+$/, tinyCounter = 0, mathRound = Math1.round, mathMin = Math1.min, mathMax = Math1.max, mathRandom = Math1.random;\n function tinycolor(color, opts) {\n color = color ? color : \"\";\n opts = opts || {};\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) return color;\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) return new tinycolor(color, opts);\n var rgb = inputToRGB(color);\n this._originalInput = color, this._r = rgb.r, this._g = rgb.g, this._b = rgb.b, this._a = rgb.a, this._roundA = mathRound(100 * this._a) / 100, this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) this._r = mathRound(this._r);\n if (this._g < 1) this._g = mathRound(this._g);\n if (this._b < 1) this._b = mathRound(this._b);\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n }\n tinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r / 255;\n GsRGB = rgb.g / 255;\n BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) R = RsRGB / 12.92;\n else R = Math1.pow((RsRGB + 0.055) / 1.055, 2.4);\n if (GsRGB <= 0.03928) G = GsRGB / 12.92;\n else G = Math1.pow((GsRGB + 0.055) / 1.055, 2.4);\n if (BsRGB <= 0.03928) B = BsRGB / 12.92;\n else B = Math1.pow((BsRGB + 0.055) / 1.055, 2.4);\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100 * this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v,\n a: this._a\n };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return this._a == 1 ? \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" : \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \" + this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return {\n h: hsl.h * 360,\n s: hsl.s,\n l: hsl.l,\n a: this._a\n };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return this._a == 1 ? \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" : \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \" + this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return \"#\" + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return \"#\" + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return {\n r: mathRound(this._r),\n g: mathRound(this._g),\n b: mathRound(this._b),\n a: this._a\n };\n },\n toRgbString: function() {\n return this._a == 1 ? \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" : \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return {\n r: mathRound(bound01(this._r, 255) * 100) + \"%\",\n g: mathRound(bound01(this._g, 255) * 100) + \"%\",\n b: mathRound(bound01(this._b, 255) * 100) + \"%\",\n a: this._a\n };\n },\n toPercentageRgbString: function() {\n return this._a == 1 ? \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" : \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) return \"transparent\";\n if (this._a < 1) return false;\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = \"#\" + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = \"#\" + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n return \"progid:DXImageTransform.Microsoft.gradient(\" + gradientType + \"startColorstr=\" + hex8String + \",endColorstr=\" + secondHex8String + \")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) return this.toName();\n return this.toRgbString();\n }\n if (format === \"rgb\") formattedString = this.toRgbString();\n if (format === \"prgb\") formattedString = this.toPercentageRgbString();\n if (format === \"hex\" || format === \"hex6\") formattedString = this.toHexString();\n if (format === \"hex3\") formattedString = this.toHexString(true);\n if (format === \"hex4\") formattedString = this.toHex8String(true);\n if (format === \"hex8\") formattedString = this.toHex8String();\n if (format === \"name\") formattedString = this.toName();\n if (format === \"hsl\") formattedString = this.toHslString();\n if (format === \"hsv\") formattedString = this.toHsvString();\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [\n this\n ].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n _applyCombination: function(fn, args) {\n return fn.apply(null, [\n this\n ].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n };\n // If input is an object, force 1 into \"1.0\" to handle ratios properly\n // String input requires \"1.0\" as input, so 1 will be treated as 1\n tinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for(var i in color)if (color.hasOwnProperty(i)) {\n if (i === \"a\") newColor[i] = color[i];\n else newColor[i] = convertToPercentage(color[i]);\n }\n color = newColor;\n }\n return tinycolor(color, opts);\n };\n // Given a string or object, convert that input to RGB\n // Possible string inputs:\n //\n // \"red\"\n // \"#f00\" or \"f00\"\n // \"#ff0000\" or \"ff0000\"\n // \"#ff000000\" or \"ff000000\"\n // \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n // \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n // \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n // \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n // \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n // \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n // \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n //\n function inputToRGB(color) {\n var rgb = {\n r: 0,\n g: 0,\n b: 0\n };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color == \"string\") color = stringInputToObject(color);\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n } else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n if (color.hasOwnProperty(\"a\")) a = color.a;\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n }\n // Conversion Functions\n // --------------------\n // `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n // \n // `rgbToRgb`\n // Handle bounds / percentage checking to conform to CSS color spec\n // \n // *Assumes:* r, g, b in [0, 255] or [0, 1]\n // *Returns:* { r, g, b } in [0, 255]\n function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n }\n // `rgbToHsl`\n // Converts an RGB color value to HSL.\n // *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n // *Returns:* { h, s, l } in [0,1]\n function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n if (max == min) h = s = 0; // achromatic\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max){\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n l: l\n };\n }\n // `hslToRgb`\n // Converts an HSL color value to RGB.\n // *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n // *Returns:* { r, g, b } in the set [0, 255]\n function hslToRgb(h, s, l) {\n var r, g, b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n function hue2rgb(p, q, t) {\n if (t < 0) t += 1;\n if (t > 1) t -= 1;\n if (t < 1 / 6) return p + (q - p) * 6 * t;\n if (t < 0.5) return q;\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\n return p;\n }\n if (s === 0) r = g = b = l; // achromatic\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n }\n // `rgbToHsv`\n // Converts an RGB color value to HSV\n // *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n // *Returns:* { h, s, v } in [0,1]\n function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n if (max == min) h = 0; // achromatic\n else {\n switch(max){\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n }\n h /= 6;\n }\n return {\n h: h,\n s: s,\n v: v\n };\n }\n // `hsvToRgb`\n // Converts an HSV color value to RGB.\n // *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n // *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math1.floor(h), f = h - i, p = v * (1 - s), q = v * (1 - f * s), t = v * (1 - (1 - f) * s), mod = i % 6, r = [\n v,\n q,\n p,\n p,\n t,\n v\n ][mod], g = [\n t,\n v,\n v,\n q,\n p,\n p\n ][mod], b = [\n p,\n p,\n t,\n v,\n v,\n q\n ][mod];\n return {\n r: r * 255,\n g: g * 255,\n b: b * 255\n };\n }\n // `rgbToHex`\n // Converts an RGB color to hex\n // Assumes r, g, and b are contained in the set [0, 255]\n // Returns a 3 or 6 character hex\n function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n return hex.join(\"\");\n }\n // `rgbaToHex`\n // Converts an RGBA color plus alpha transparency to hex\n // Assumes r, g, b are contained in the set [0, 255] and\n // a in [0, 1]. Returns a 4 or 8 character rgba hex\n function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n return hex.join(\"\");\n }\n // `rgbaToArgbHex`\n // Converts an RGBA color to an ARGB Hex8 string\n // Rarely used, but required for \"toFilter()\"\n function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n return hex.join(\"\");\n }\n // `equals`\n // Can be called with any tinycolor input\n tinycolor.equals = function(color1, color2) {\n if (!color1 || !color2) return false;\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n };\n tinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n };\n // Modification Functions\n // ----------------------\n // Thanks to less.js for some of the basics here\n // \n function desaturate(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n }\n function saturate(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n }\n function greyscale(color) {\n return tinycolor(color).desaturate(100);\n }\n function lighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n }\n function brighten(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * -(amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * -(amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * -(amount / 100))));\n return tinycolor(rgb);\n }\n function darken(color, amount) {\n amount = amount === 0 ? 0 : amount || 10;\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n }\n // Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n // Values outside of this range will be wrapped into this range.\n function spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n }\n // Combination Functions\n // ---------------------\n // Thanks to jQuery xColor for some of the ideas behind these\n // \n function complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n }\n function triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({\n h: (h + 120) % 360,\n s: hsl.s,\n l: hsl.l\n }),\n tinycolor({\n h: (h + 240) % 360,\n s: hsl.s,\n l: hsl.l\n })\n ];\n }\n function tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({\n h: (h + 90) % 360,\n s: hsl.s,\n l: hsl.l\n }),\n tinycolor({\n h: (h + 180) % 360,\n s: hsl.s,\n l: hsl.l\n }),\n tinycolor({\n h: (h + 270) % 360,\n s: hsl.s,\n l: hsl.l\n })\n ];\n }\n function splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({\n h: (h + 72) % 360,\n s: hsl.s,\n l: hsl.l\n }),\n tinycolor({\n h: (h + 216) % 360,\n s: hsl.s,\n l: hsl.l\n })\n ];\n }\n function analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [\n tinycolor(color)\n ];\n for(hsl.h = (hsl.h - (part * results >> 1) + 720) % 360; --results;){\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n }\n function monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n while(results--){\n ret.push(tinycolor({\n h: h,\n s: s,\n v: v\n }));\n v = (v + modification) % 1;\n }\n return ret;\n }\n // Utility Functions\n // ---------------------\n tinycolor.mix = function(color1, color2, amount) {\n amount = amount === 0 ? 0 : amount || 50;\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a\n };\n return tinycolor(rgba);\n };\n // Readability Functions\n // ---------------------\n // false\n // tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\n tinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n out = false;\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch(wcag2Parms.level + wcag2Parms.size){\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n };\n // `mostReadable`\n // Given a base color and a list of possible foreground or background\n // colors for that base, returns the most readable color.\n // Optionally returns Black or White if the most readable color is unreadable.\n // *Example*\n // tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n // tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n // tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n // tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\n tinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors;\n level = args.level;\n size = args.size;\n for(var i = 0; i < colorList.length; i++){\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n if (tinycolor.isReadable(baseColor, bestColor, {\n \"level\": level,\n \"size\": size\n }) || !includeFallbackColors) return bestColor;\n else {\n args.includeFallbackColors = false;\n return tinycolor.mostReadable(baseColor, [\n \"#fff\",\n \"#000\"\n ], args);\n }\n };\n // Big List of Colors\n // ------------------\n // \n var names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n };\n // Make it easy to access colors via `hexNames[hex]`\n var hexNames = tinycolor.hexNames = flip(names);\n // Utilities\n // ---------\n // `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\n function flip(o) {\n var flipped = {};\n for(var i in o)if (o.hasOwnProperty(i)) flipped[o[i]] = i;\n return flipped;\n }\n // Return a valid alpha value [0,1] with all invalid values being set to 1\n function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) a = 1;\n return a;\n }\n // Take input from [0, n] and return it as [0, 1]\n function bound01(n, max) {\n if (isOnePointZero(n)) n = \"100%\";\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (processPercent) n = parseInt(n * max, 10) / 100;\n // Handle floating point rounding errors\n if (Math1.abs(n - max) < 0.000001) return 1;\n // Convert into [0, 1] range if it isn't already\n return n % max / parseFloat(max);\n }\n // Force a number between 0 and 1\n function clamp01(val) {\n return mathMin(1, mathMax(0, val));\n }\n // Parse a base-16 hex value into a base-10 integer\n function parseIntFromHex(val) {\n return parseInt(val, 16);\n }\n // Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n // \n function isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf(\".\") != -1 && parseFloat(n) === 1;\n }\n // Check to see if string passed in is a percentage\n function isPercentage(n) {\n return typeof n === \"string\" && n.indexOf(\"%\") != -1;\n }\n // Force a hex value to have 2 characters\n function pad2(c) {\n return c.length == 1 ? \"0\" + c : \"\" + c;\n }\n // Replace a decimal with it's percentage value\n function convertToPercentage(n) {\n if (n <= 1) n = n * 100 + \"%\";\n return n;\n }\n // Converts a decimal to a hex value\n function convertDecimalToHex(d) {\n return Math1.round(parseFloat(d) * 255).toString(16);\n }\n // Converts a hex value to a decimal\n function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n }\n var matchers = function() {\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n }();\n // `isValidCSSUnit`\n // Take in a single string / number and check to see if it looks like a CSS unit\n // (see `matchers` above for definition).\n function isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n }\n // `stringInputToObject`\n // Permissive string parsing. Take in a number of formats, and output an object\n // based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n function stringInputToObject(color) {\n color = color.replace(trimLeft, \"\").replace(trimRight, \"\").toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n } else if (color == \"transparent\") return {\n r: 0,\n g: 0,\n b: 0,\n a: 0,\n format: \"name\"\n };\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if (match = matchers.rgb.exec(color)) return {\n r: match[1],\n g: match[2],\n b: match[3]\n };\n if (match = matchers.rgba.exec(color)) return {\n r: match[1],\n g: match[2],\n b: match[3],\n a: match[4]\n };\n if (match = matchers.hsl.exec(color)) return {\n h: match[1],\n s: match[2],\n l: match[3]\n };\n if (match = matchers.hsla.exec(color)) return {\n h: match[1],\n s: match[2],\n l: match[3],\n a: match[4]\n };\n if (match = matchers.hsv.exec(color)) return {\n h: match[1],\n s: match[2],\n v: match[3]\n };\n if (match = matchers.hsva.exec(color)) return {\n h: match[1],\n s: match[2],\n v: match[3],\n a: match[4]\n };\n if (match = matchers.hex8.exec(color)) return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n if (match = matchers.hex6.exec(color)) return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n if (match = matchers.hex4.exec(color)) return {\n r: parseIntFromHex(match[1] + \"\" + match[1]),\n g: parseIntFromHex(match[2] + \"\" + match[2]),\n b: parseIntFromHex(match[3] + \"\" + match[3]),\n a: convertHexToDecimal(match[4] + \"\" + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n if (match = matchers.hex3.exec(color)) return {\n r: parseIntFromHex(match[1] + \"\" + match[1]),\n g: parseIntFromHex(match[2] + \"\" + match[2]),\n b: parseIntFromHex(match[3] + \"\" + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n return false;\n }\n function validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\n \"level\": \"AA\",\n \"size\": \"small\"\n };\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") level = \"AA\";\n if (size !== \"small\" && size !== \"large\") size = \"small\";\n return {\n \"level\": level,\n \"size\": size\n };\n }\n // Node: Export function\n if (module.exports) module.exports = tinycolor;\n else window.tinycolor = tinycolor;\n })(Math);\n });\n tinycolor.fromRatio;\n tinycolor.equals;\n tinycolor.random;\n tinycolor.mix;\n tinycolor.readability;\n tinycolor.isReadable;\n tinycolor.mostReadable;\n tinycolor.names;\n tinycolor.hexNames;\n var linear = function(p) {\n return p;\n };\n var cubicInOut = function(p) {\n var m = p - 1, t = p * 2;\n if (t < 1) return p * t * t;\n return 1 + m * m * m * 4;\n };\n var cubicIn = function(p) {\n return p * p * p;\n };\n var quintIn = function(p) {\n return p * p * p * p * p;\n };\n var bscale = function(byte, max) {\n return Math.round(byte / 255 * max);\n };\n // Util for keeping hue range in 0-360 positive\n var clampHue = function(h) {\n if (h >= 0) return h % 360.0;\n else return 360 + h % 360;\n };\n // scale byte in range min and max\n var bScaleRange = function(byte, min, max) {\n return bscale(byte, max - min) + min;\n };\n var lerpHueFn = function(optionNum, direction) {\n var option = optionNum % 4;\n var multiplier = direction ? 1 : -1;\n switch(option){\n case 0:\n return function(hue, pct) {\n var endHue = hue + multiplier * 10;\n return clampHue(linear(1.0 - pct) * hue + linear(pct) * endHue);\n };\n case 1:\n return function(hue, pct) {\n var endHue = hue + multiplier * 30;\n return clampHue(linear(1.0 - pct) * hue + linear(pct) * endHue);\n };\n case 2:\n return function(hue, pct) {\n var endHue = hue + multiplier * 50;\n var lerpPercent = cubicInOut(pct);\n return clampHue(linear(1.0 - lerpPercent) * hue + lerpPercent * endHue);\n };\n case 3:\n default:\n return function(hue, pct) {\n var endHue = hue + multiplier * 60 * bscale(optionNum, 1.0) + 30;\n var lerpPercent = cubicInOut(pct);\n return clampHue((1.0 - lerpPercent) * hue + lerpPercent * endHue);\n };\n }\n };\n var lerpLightnessFn = function(optionNum) {\n switch(optionNum){\n case 0:\n return function(start, end, pct) {\n var lerpPercent = quintIn(pct);\n return (1.0 - lerpPercent) * start + lerpPercent * end;\n };\n case 1:\n default:\n return function(start, end, pct) {\n var lerpPercent = cubicIn(pct);\n return (1.0 - lerpPercent) * start + lerpPercent * end;\n };\n }\n };\n var lerpSaturationFn = function(optionNum) {\n switch(optionNum){\n case 0:\n return function(start, end, pct) {\n var lerpPercent = quintIn(pct);\n return (1.0 - lerpPercent) * start + lerpPercent * end;\n };\n case 1:\n default:\n return function(start, end, pct) {\n var lerpPercent = linear(pct);\n return (1.0 - lerpPercent) * start + lerpPercent * end;\n };\n }\n };\n var gradientForAddress = function(address) {\n var bytes = arrayify(address).reverse();\n var hueShiftFn = lerpHueFn(bytes[3], bytes[6] % 2);\n var startHue = bscale(bytes[12], 360);\n var startLightness = bScaleRange(bytes[2], 32, 69.5);\n var endLightness = (97 + bScaleRange(bytes[8], 72, 97)) / 2;\n var startSaturation = bScaleRange(bytes[7], 81, 97);\n var endSaturation = Math.min(startSaturation - 10, bScaleRange(bytes[10], 70, 92));\n var lightnessShiftFn = lerpLightnessFn(bytes[5] % 2);\n var saturationShiftFn = lerpSaturationFn(bytes[3] % 2);\n var inputs = [\n {\n h: hueShiftFn(startHue, 0),\n s: saturationShiftFn(startSaturation, endSaturation, 1),\n l: lightnessShiftFn(startLightness, endLightness, 1)\n },\n {\n h: hueShiftFn(startHue, 0.1),\n s: saturationShiftFn(startSaturation, endSaturation, 0.9),\n l: lightnessShiftFn(startLightness, endLightness, 0.9)\n },\n {\n h: hueShiftFn(startHue, 0.7),\n s: saturationShiftFn(startSaturation, endSaturation, 0.7),\n l: lightnessShiftFn(startLightness, endLightness, 0.7)\n },\n {\n h: hueShiftFn(startHue, 0.9),\n s: saturationShiftFn(startSaturation, endSaturation, 0.2),\n l: lightnessShiftFn(startLightness, endLightness, 0.2)\n },\n {\n h: hueShiftFn(startHue, 1),\n s: saturationShiftFn(startSaturation, endSaturation, 0),\n l: startLightness\n }\n ];\n //return inputs;\n return inputs.map(function(c) {\n return tinycolor(c);\n }).map(function(tc) {\n return tc.toHslString();\n });\n };\n /* src/Zorb.svelte generated by Svelte v3.44.3 */ function create_fragment(ctx) {\n let svg;\n let title;\n let slot;\n let defs;\n let radialGradient;\n let stop0;\n let stop0_stop_color_value;\n let stop1;\n let stop1_stop_color_value;\n let stop2;\n let stop2_stop_color_value;\n let stop3;\n let stop3_stop_color_value;\n let stop4;\n let stop4_stop_color_value;\n let g;\n let path0;\n let path1;\n return {\n c () {\n svg = svg_element(\"svg\");\n title = svg_element(\"title\");\n slot = svg_element(\"slot\");\n defs = svg_element(\"defs\");\n radialGradient = svg_element(\"radialGradient\");\n stop0 = svg_element(\"stop\");\n stop1 = svg_element(\"stop\");\n stop2 = svg_element(\"stop\");\n stop3 = svg_element(\"stop\");\n stop4 = svg_element(\"stop\");\n g = svg_element(\"g\");\n path0 = svg_element(\"path\");\n path1 = svg_element(\"path\");\n this.c = noop;\n attr(stop0, \"offset\", \"15.62%\");\n attr(stop0, \"stop-color\", stop0_stop_color_value = /*gradientInfo*/ ctx[1][0]);\n attr(stop1, \"offset\", \"39.58%\");\n attr(stop1, \"stop-color\", stop1_stop_color_value = /*gradientInfo*/ ctx[1][1]);\n attr(stop2, \"offset\", \"72.92%\");\n attr(stop2, \"stop-color\", stop2_stop_color_value = /*gradientInfo*/ ctx[1][2]);\n attr(stop3, \"offset\", \"90.63%\");\n attr(stop3, \"stop-color\", stop3_stop_color_value = /*gradientInfo*/ ctx[1][3]);\n attr(stop4, \"offset\", \"100%\");\n attr(stop4, \"stop-color\", stop4_stop_color_value = /*gradientInfo*/ ctx[1][4]);\n attr(radialGradient, \"id\", \"gzr\");\n attr(radialGradient, \"gradientTransform\", \"translate(66.4578 24.3575) scale(75.2908)\");\n attr(radialGradient, \"gradientUnits\", \"userSpaceOnUse\");\n attr(radialGradient, \"r\", \"1\");\n attr(radialGradient, \"cx\", \"0\");\n attr(radialGradient, \"cy\", \"0%\");\n attr(path0, \"d\", \"M100 50C100 22.3858 77.6142 0 50 0C22.3858 0 0 22.3858 0 50C0 77.6142 22.3858 100 50 100C77.6142 100 100 77.6142 100 50Z\");\n attr(path0, \"fill\", `url(#gzr)`);\n attr(path1, \"stroke\", \"rgba(0,0,0,0.075)\");\n attr(path1, \"fill\", \"transparent\");\n attr(path1, \"stroke-width\", \"1\");\n attr(path1, \"d\", \"M50,0.5c27.3,0,49.5,22.2,49.5,49.5S77.3,99.5,50,99.5S0.5,77.3,0.5,50S22.7,0.5,50,0.5z\");\n attr(g, \"transform\", \"translate(5,5)\");\n attr(svg, \"width\", /*size*/ ctx[0]);\n attr(svg, \"height\", /*size*/ ctx[0]);\n attr(svg, \"xmlns\", \"http://www.w3.org/2000/svg\");\n attr(svg, \"viewBox\", \"0 0 110 110\");\n },\n m (target, anchor) {\n insert(target, svg, anchor);\n append(svg, title);\n append(title, slot);\n append(svg, defs);\n append(defs, radialGradient);\n append(radialGradient, stop0);\n append(radialGradient, stop1);\n append(radialGradient, stop2);\n append(radialGradient, stop3);\n append(radialGradient, stop4);\n append(svg, g);\n append(g, path0);\n append(g, path1);\n },\n p (ctx, [dirty]) {\n if (dirty & /*gradientInfo*/ 2 && stop0_stop_color_value !== (stop0_stop_color_value = /*gradientInfo*/ ctx[1][0])) attr(stop0, \"stop-color\", stop0_stop_color_value);\n if (dirty & /*gradientInfo*/ 2 && stop1_stop_color_value !== (stop1_stop_color_value = /*gradientInfo*/ ctx[1][1])) attr(stop1, \"stop-color\", stop1_stop_color_value);\n if (dirty & /*gradientInfo*/ 2 && stop2_stop_color_value !== (stop2_stop_color_value = /*gradientInfo*/ ctx[1][2])) attr(stop2, \"stop-color\", stop2_stop_color_value);\n if (dirty & /*gradientInfo*/ 2 && stop3_stop_color_value !== (stop3_stop_color_value = /*gradientInfo*/ ctx[1][3])) attr(stop3, \"stop-color\", stop3_stop_color_value);\n if (dirty & /*gradientInfo*/ 2 && stop4_stop_color_value !== (stop4_stop_color_value = /*gradientInfo*/ ctx[1][4])) attr(stop4, \"stop-color\", stop4_stop_color_value);\n if (dirty & /*size*/ 1) attr(svg, \"width\", /*size*/ ctx[0]);\n if (dirty & /*size*/ 1) attr(svg, \"height\", /*size*/ ctx[0]);\n },\n i: noop,\n o: noop,\n d (detaching) {\n if (detaching) detach(svg);\n }\n };\n }\n function instance($$self, $$props, $$invalidate) {\n let gradientInfo;\n let { size: size = \"100%\" } = $$props;\n let { address: address } = $$props;\n $$self.$$set = ($$props)=>{\n if (\"size\" in $$props) $$invalidate(0, size = $$props.size);\n if (\"address\" in $$props) $$invalidate(2, address = $$props.address);\n };\n $$self.$$.update = ()=>{\n if ($$self.$$.dirty & /*address*/ 4) $$invalidate(1, gradientInfo = gradientForAddress(address || \"0x0000000000000000000000000000000000000000\"));\n };\n return [\n size,\n gradientInfo,\n address\n ];\n }\n class Zorb extends SvelteElement {\n constructor(options){\n super();\n init(this, {\n target: this.shadowRoot,\n props: attribute_to_object(this.attributes),\n customElement: true\n }, instance, create_fragment, not_equal, {\n size: 0,\n address: 2\n }, null);\n if (options) {\n if (options.target) insert(options.target, this, options.anchor);\n if (options.props) {\n this.$set(options.props);\n flush();\n }\n }\n }\n static get observedAttributes() {\n return [\n \"size\",\n \"address\"\n ];\n }\n get size() {\n return this.$$.ctx[0];\n }\n set size(size) {\n this.$$set({\n size: size\n });\n flush();\n }\n get address() {\n return this.$$.ctx[2];\n }\n set address(address) {\n this.$$set({\n address: address\n });\n flush();\n }\n }\n customElements.define(\"zora-zorb\", Zorb);\n})();\n\n\n\nconst $8fa3fc59f4eb3417$var$defaultL2Addresses = {\n multiSendAddress: \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n safeMasterCopyAddress: \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n safeProxyFactoryAddress: \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n multiSendCallOnlyAddress: \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n fallbackHandlerAddress: \"0x1AC114C2099aFAf5261731655Dc6c306bFcd4Dbd\",\n createCallAddress: \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n signMessageLibAddress: \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\"\n};\nconst $8fa3fc59f4eb3417$var$baseL2Addresses = {\n multiSendAddress: \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n safeMasterCopyAddress: \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n safeProxyFactoryAddress: \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n multiSendCallOnlyAddress: \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n fallbackHandlerAddress: \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n createCallAddress: \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n signMessageLibAddress: \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\"\n};\n// sepolia is the same as base.\nconst $8fa3fc59f4eb3417$var$sepoliaAddresses = $8fa3fc59f4eb3417$var$baseL2Addresses;\nconst $8fa3fc59f4eb3417$export$94a92e5769c4863a = {\n // ZORA goerli\n [999]: $8fa3fc59f4eb3417$var$defaultL2Addresses,\n // ZORA sepolia testnet\n [999999999]: $8fa3fc59f4eb3417$var$defaultL2Addresses,\n // ZORA mainnet\n [7777777]: $8fa3fc59f4eb3417$var$defaultL2Addresses,\n // base goerli\n [84531]: $8fa3fc59f4eb3417$var$baseL2Addresses,\n // base mainnet\n [8453]: $8fa3fc59f4eb3417$var$baseL2Addresses,\n // pgn sepolia\n [58008]: $8fa3fc59f4eb3417$var$defaultL2Addresses,\n // pgn mainnet\n [424]: $8fa3fc59f4eb3417$var$defaultL2Addresses,\n // sepolia testnet\n [11155111]: $8fa3fc59f4eb3417$var$sepoliaAddresses\n};\n\n\nfunction $f43313d21d3fd8e2$var$log(text) {\n console.log(text);\n (0, (/*@__PURE__*/$parcel$interopDefault($e46560f007b189d3$exports)))({\n text: text\n }).showToast();\n const log = document.querySelector(\"#log\");\n if (!log) return;\n log.innerHTML += `
  • ${text}
  • `;\n}\nasync function $f43313d21d3fd8e2$var$getSigner() {\n await window.ethereum.enable();\n return new (0, $6c57cc56acea9c6c$exports).providers.Web3Provider(window.ethereum).getSigner();\n}\nasync function $f43313d21d3fd8e2$var$getSafeSDK(safeAddress) {\n const signer = await $f43313d21d3fd8e2$var$getSigner();\n const ethAdapter = new (0, $cff202aae1decb38$exports.EthersAdapter)({\n ethers: $6c57cc56acea9c6c$exports,\n signerOrProvider: signer\n });\n $f43313d21d3fd8e2$var$log(`ChainId: ${await ethAdapter.getChainId()}`);\n const safeSdk = await (0, (/*@__PURE__*/$parcel$interopDefault($cff202aae1decb38$exports))).create({\n ethAdapter: ethAdapter,\n safeAddress: safeAddress,\n contractNetworks: $8fa3fc59f4eb3417$export$94a92e5769c4863a\n });\n const safeSdk2 = await safeSdk.connect({\n ethAdapter: new (0, $cff202aae1decb38$exports.EthersAdapter)({\n ethers: $6c57cc56acea9c6c$exports,\n signerOrProvider: signer\n }),\n safeAddress: safeAddress,\n contractNetworks: $8fa3fc59f4eb3417$export$94a92e5769c4863a\n });\n return {\n safeSdk: safeSdk,\n safeSdk2: safeSdk2,\n signer: signer\n };\n}\nasync function $f43313d21d3fd8e2$var$runit(operation, safeAddress, transaction) {\n try {\n const { safeSdk: safeSdk , safeSdk2: safeSdk2 } = await $f43313d21d3fd8e2$var$getSafeSDK(safeAddress);\n $f43313d21d3fd8e2$var$log(`creating txn for ${safeAddress.toString()}`);\n const txn = await safeSdk.createTransaction({\n safeTransactionData: transaction\n });\n if (operation === \"execute\") {\n const execute = await safeSdk2.executeTransaction(txn);\n $f43313d21d3fd8e2$var$log(`publishing approval tx ${execute.hash}`);\n await execute.transactionResponse?.wait();\n $f43313d21d3fd8e2$var$log(\"executed\");\n }\n if (operation === \"sign\") {\n const txHash = await safeSdk2.getTransactionHash(txn);\n $f43313d21d3fd8e2$var$log(`has safe tx hash ${txHash}`);\n const approveTxResponse = await safeSdk2.approveTransactionHash(txHash);\n $f43313d21d3fd8e2$var$log(`publishing approval tx ${approveTxResponse.hash}`);\n await approveTxResponse.transactionResponse?.wait();\n $f43313d21d3fd8e2$var$log(\"transaction has been confirmed\");\n }\n } catch (err) {\n $f43313d21d3fd8e2$var$log(err.toString());\n }\n}\nasync function $f43313d21d3fd8e2$var$create(threshold, signers) {\n try {\n const signer = new (0, $6c57cc56acea9c6c$exports).providers.Web3Provider(window.ethereum).getSigner();\n const ethAdapter = new (0, $cff202aae1decb38$exports.EthersAdapter)({\n ethers: $6c57cc56acea9c6c$exports,\n signerOrProvider: signer\n });\n const adapter = await (0, $cff202aae1decb38$exports.SafeFactory).create({\n ethAdapter: ethAdapter,\n contractNetworks: $8fa3fc59f4eb3417$export$94a92e5769c4863a\n });\n const sdk = await adapter.deploySafe({\n safeAccountConfig: {\n owners: signers,\n threshold: parseInt(threshold, 10)\n }\n });\n $f43313d21d3fd8e2$var$log(`deployed new safe: ${await sdk.getAddress()}`);\n } catch (err) {\n $f43313d21d3fd8e2$var$log(err.toString());\n throw err;\n }\n}\nasync function $f43313d21d3fd8e2$var$getSafeData(safeAddress) {\n try {\n const { safeSdk: safeSdk , signer: signer } = await $f43313d21d3fd8e2$var$getSafeSDK(safeAddress);\n const owners = await safeSdk.getOwners();\n const threshold = await safeSdk.getThreshold();\n const chainId = await signer.getChainId();\n return {\n owners: owners,\n threshold: threshold,\n chainId: chainId\n };\n } catch (err) {\n $f43313d21d3fd8e2$var$log(err.toString());\n throw err;\n }\n}\nasync function $f43313d21d3fd8e2$var$getSafeTxnApprovals(safeAddress, txnData) {\n const { safeSdk: safeSdk , safeSdk2: safeSdk2 } = await $f43313d21d3fd8e2$var$getSafeSDK(safeAddress);\n const txn = await safeSdk.createTransaction({\n safeTransactionData: txnData\n });\n const hash = await safeSdk2.getTransactionHash(txn);\n return await safeSdk2.getOwnersWhoApprovedTx(hash);\n}\nfunction $f43313d21d3fd8e2$var$formDataAsDict(form) {\n const data = {};\n const formData = new FormData(form);\n for (const pair of formData.entries())data[pair[0]] = pair[1];\n return data;\n}\ndocument.addEventListener(\"DOMContentLoaded\", ()=>{\n window.ethereum.on(\"chainChanged\", (networkId)=>{\n document.querySelector(\"#network-id\").innerHTML = parseInt(networkId, 16).toString();\n });\n window.ethereum.on(\"accountsChanged\", (accounts)=>{\n $f43313d21d3fd8e2$var$log(`Switched account to ${accounts[0]}`);\n document.querySelector(\"#user-account\").innerHTML = accounts[0];\n });\n window.ethereum.on(\"connect\", async (connectInfo)=>{\n const accounts = await window.ethereum.send(\"eth_requestAccounts\");\n const firstAccount = accounts.result[0];\n document.querySelector(\"#user-account\").innerHTML = firstAccount;\n document.querySelector(\"#connect-section\").style.display = \"none\";\n const network = parseInt(connectInfo.chainId, 16).toString();\n document.querySelector(\"#network-id\").innerHTML = network;\n $f43313d21d3fd8e2$var$log(`Switched connected to ${network} with ${firstAccount}`);\n });\n});\nfunction $f43313d21d3fd8e2$var$setInput(name, value) {\n if (value === null) value = \"\";\n const safeAddress = document.querySelector(`input[name=${name}]`);\n safeAddress.value = value;\n}\nconst $f43313d21d3fd8e2$var$getNetwork = async ()=>(await (await $f43313d21d3fd8e2$var$getSigner()).getChainId()).toString();\nfunction $f43313d21d3fd8e2$var$app() {\n const signForm = document.querySelector(\"#sign\");\n async function getSafeInfo() {\n const data = $f43313d21d3fd8e2$var$formDataAsDict(signForm);\n const safeData = await $f43313d21d3fd8e2$var$getSafeData(data[\"safeAddress\"]);\n document.querySelector(\"#safe-result\").innerHTML = JSON.stringify(safeData, null, 2);\n }\n document.addEventListener(\"DOMContentLoaded\", async ()=>{\n const params = new URLSearchParams(window.location.search);\n if (params.get(\"network\")) {\n let network = params.get(\"network\");\n if (network.startsWith(\"0x\")) network = parseInt(network, 16).toString();\n const currentNetwork = await $f43313d21d3fd8e2$var$getNetwork();\n console.log({\n currentNetwork: currentNetwork,\n network: network\n });\n if (currentNetwork !== network) {\n console.log(\"changing network\");\n await window.ethereum.request({\n method: \"wallet_switchEthereumChain\",\n params: [\n {\n chainId: `0x${parseInt(network, 10).toString(16)}`\n }\n ]\n });\n }\n }\n if (params.get(\"safe\")) {\n console.log(\"has safe!\");\n console.log(params.get(\"safe\"));\n $f43313d21d3fd8e2$var$setInput(\"safeAddress\", params.get(\"safe\"));\n $f43313d21d3fd8e2$var$setInput(\"to\", params.get(\"to\"));\n $f43313d21d3fd8e2$var$setInput(\"value\", params.get(\"value\"));\n $f43313d21d3fd8e2$var$setInput(\"data\", params.get(\"data\"));\n getSafeInfo();\n document.querySelector(\"summary.have-safe\").parentElement.setAttribute(\"open\", \"1\");\n }\n });\n if (signForm) {\n document.querySelector(\"#connect\")?.addEventListener(\"click\", async (evt)=>{\n evt.preventDefault();\n window.ethereum.send(\"eth_requestAccounts\");\n });\n document.querySelector(\"button.share-txn\")?.addEventListener(\"click\", async (evt)=>{\n evt.preventDefault();\n const params = new URLSearchParams();\n const data = $f43313d21d3fd8e2$var$formDataAsDict(signForm);\n params.set(\"safe\", data[\"safeAddress\"]);\n params.set(\"to\", data[\"to\"]);\n params.set(\"data\", data[\"data\"]);\n params.set(\"value\", data[\"value\"]);\n params.set(\"network\", await $f43313d21d3fd8e2$var$getNetwork());\n let location = window.location.href;\n if (location.indexOf(\"?\") !== -1) location = location.substring(0, location.indexOf(\"?\"));\n const url = `${location}?${params.toString()}`;\n navigator.clipboard.writeText(url);\n });\n document.querySelector(\"#safe-info\")?.addEventListener(\"click\", async (evt)=>{\n evt.preventDefault();\n getSafeInfo();\n });\n signForm.addEventListener(\"submit\", (evt)=>{\n evt.preventDefault();\n const data = $f43313d21d3fd8e2$var$formDataAsDict(signForm);\n try {\n const txn = {\n to: data[\"to\"],\n value: (0, $1c38d8340004597f$exports.parseEther)(data[\"value\"] || \"0\").toString(),\n data: data[\"data\"] || \"0x\"\n };\n console.log({\n txn: txn\n });\n $f43313d21d3fd8e2$var$runit(data[\"operation\"], data[\"safeAddress\"], txn);\n } catch (e) {\n $f43313d21d3fd8e2$var$log(e);\n alert(e.toString());\n return;\n }\n });\n signForm.addEventListener(\"change\", async ()=>{\n const data = $f43313d21d3fd8e2$var$formDataAsDict(signForm);\n if (data.safeAddress && data.to && data.value && data.data) {\n const txn = {\n to: data[\"to\"],\n value: (0, $1c38d8340004597f$exports.parseEther)(data[\"value\"] || \"0\").toString(),\n data: data[\"data\"] || \"0x\"\n };\n console.log({\n txn: txn,\n data: data\n });\n const approvals = await $f43313d21d3fd8e2$var$getSafeTxnApprovals(data[\"safeAddress\"], txn);\n const approvalsHtml = document.querySelector(\"#txn-approvals\");\n approvalsHtml.innerHTML = `${approvals.length} approvals for this txn [${approvals.join(\", \")}]`;\n }\n });\n }\n const executeForm = document.querySelector(\"#create\");\n if (executeForm) executeForm.addEventListener(\"submit\", (evt)=>{\n evt.preventDefault();\n const data = $f43313d21d3fd8e2$var$formDataAsDict(executeForm);\n // do execute\n try {\n $f43313d21d3fd8e2$var$create(data[\"threshold\"], data[\"signers\"].split(\"\\n\"));\n } catch (e) {\n $f43313d21d3fd8e2$var$log(e.toString());\n console.error(e);\n }\n });\n}\n$f43313d21d3fd8e2$var$app();\n\n\n//# sourceMappingURL=index.ea486f1f.js.map\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils_1 = require(\"../../../../adapters/ethers/utils\");\nclass CreateCallEthersContract {\n constructor(contract) {\n this.contract = contract;\n this.encode = (methodName, params) => {\n return this.contract.interface.encodeFunctionData(methodName, params);\n };\n }\n getAddress() {\n return this.contract.address;\n }\n async performCreate2(value, deploymentData, salt, options) {\n if (options && !options.gasLimit) {\n options.gasLimit = await this.estimateGas('performCreate2', [value, deploymentData, salt], {\n ...options\n });\n }\n const txResponse = await this.contract.performCreate2(value, deploymentData, salt, options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async performCreate(value, deploymentData, options) {\n if (options && !options.gasLimit) {\n options.gasLimit = await this.estimateGas('performCreate', [value, deploymentData], {\n ...options\n });\n }\n const txResponse = await this.contract.performCreate(value, deploymentData, options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.estimateGas[methodName](...params, options)).toString();\n }\n}\nexports.default = CreateCallEthersContract;\n//# sourceMappingURL=CreateCallEthersContract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSignerCompatible = exports.isTypedDataSigner = exports.toTxResult = exports.sameString = void 0;\nconst abstract_signer_1 = require(\"@ethersproject/abstract-signer\");\nfunction sameString(str1, str2) {\n return str1.toLowerCase() === str2.toLowerCase();\n}\nexports.sameString = sameString;\nfunction toTxResult(transactionResponse, options) {\n return {\n hash: transactionResponse.hash,\n options,\n transactionResponse\n };\n}\nexports.toTxResult = toTxResult;\nfunction isTypedDataSigner(signer) {\n return signer._signTypedData !== undefined;\n}\nexports.isTypedDataSigner = isTypedDataSigner;\n/**\n * Check if the signerOrProvider is compatible with `Signer`\n * @param signerOrProvider - Signer or provider\n * @returns true if the parameter is compatible with `Signer`\n */\nfunction isSignerCompatible(signerOrProvider) {\n const candidate = signerOrProvider;\n return ((typeof candidate.signMessage === 'function' &&\n typeof candidate.signTransaction === 'function' &&\n candidate._isSigner) ||\n candidate instanceof abstract_signer_1.Signer);\n}\nexports.isSignerCompatible = isSignerCompatible;\n//# sourceMappingURL=index.js.map",null,"\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { defineReadOnly, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nconst allowedTransactionKeys = [\n \"accessList\", \"ccipReadEnabled\", \"chainId\", \"customData\", \"data\", \"from\", \"gasLimit\", \"gasPrice\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"nonce\", \"to\", \"type\", \"value\"\n];\nconst forwardErrors = [\n Logger.errors.INSUFFICIENT_FUNDS,\n Logger.errors.NONCE_EXPIRED,\n Logger.errors.REPLACEMENT_UNDERPRICED,\n];\n;\n;\nexport class Signer {\n ///////////////////\n // Sub-classes MUST call super\n constructor() {\n logger.checkAbstract(new.target, Signer);\n defineReadOnly(this, \"_isSigner\", true);\n }\n ///////////////////\n // Sub-classes MAY override these\n getBalance(blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"getBalance\");\n return yield this.provider.getBalance(this.getAddress(), blockTag);\n });\n }\n getTransactionCount(blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"getTransactionCount\");\n return yield this.provider.getTransactionCount(this.getAddress(), blockTag);\n });\n }\n // Populates \"from\" if unspecified, and estimates the gas for the transaction\n estimateGas(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"estimateGas\");\n const tx = yield resolveProperties(this.checkTransaction(transaction));\n return yield this.provider.estimateGas(tx);\n });\n }\n // Populates \"from\" if unspecified, and calls with the transaction\n call(transaction, blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"call\");\n const tx = yield resolveProperties(this.checkTransaction(transaction));\n return yield this.provider.call(tx, blockTag);\n });\n }\n // Populates all fields in a transaction, signs it and sends it to the network\n sendTransaction(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"sendTransaction\");\n const tx = yield this.populateTransaction(transaction);\n const signedTx = yield this.signTransaction(tx);\n return yield this.provider.sendTransaction(signedTx);\n });\n }\n getChainId() {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"getChainId\");\n const network = yield this.provider.getNetwork();\n return network.chainId;\n });\n }\n getGasPrice() {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"getGasPrice\");\n return yield this.provider.getGasPrice();\n });\n }\n getFeeData() {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"getFeeData\");\n return yield this.provider.getFeeData();\n });\n }\n resolveName(name) {\n return __awaiter(this, void 0, void 0, function* () {\n this._checkProvider(\"resolveName\");\n return yield this.provider.resolveName(name);\n });\n }\n // Checks a transaction does not contain invalid keys and if\n // no \"from\" is provided, populates it.\n // - does NOT require a provider\n // - adds \"from\" is not present\n // - returns a COPY (safe to mutate the result)\n // By default called from: (overriding these prevents it)\n // - call\n // - estimateGas\n // - populateTransaction (and therefor sendTransaction)\n checkTransaction(transaction) {\n for (const key in transaction) {\n if (allowedTransactionKeys.indexOf(key) === -1) {\n logger.throwArgumentError(\"invalid transaction key: \" + key, \"transaction\", transaction);\n }\n }\n const tx = shallowCopy(transaction);\n if (tx.from == null) {\n tx.from = this.getAddress();\n }\n else {\n // Make sure any provided address matches this signer\n tx.from = Promise.all([\n Promise.resolve(tx.from),\n this.getAddress()\n ]).then((result) => {\n if (result[0].toLowerCase() !== result[1].toLowerCase()) {\n logger.throwArgumentError(\"from address mismatch\", \"transaction\", transaction);\n }\n return result[0];\n });\n }\n return tx;\n }\n // Populates ALL keys for a transaction and checks that \"from\" matches\n // this Signer. Should be used by sendTransaction but NOT by signTransaction.\n // By default called from: (overriding these prevents it)\n // - sendTransaction\n //\n // Notes:\n // - We allow gasPrice for EIP-1559 as long as it matches maxFeePerGas\n populateTransaction(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n const tx = yield resolveProperties(this.checkTransaction(transaction));\n if (tx.to != null) {\n tx.to = Promise.resolve(tx.to).then((to) => __awaiter(this, void 0, void 0, function* () {\n if (to == null) {\n return null;\n }\n const address = yield this.resolveName(to);\n if (address == null) {\n logger.throwArgumentError(\"provided ENS name resolves to null\", \"tx.to\", to);\n }\n return address;\n }));\n // Prevent this error from causing an UnhandledPromiseException\n tx.to.catch((error) => { });\n }\n // Do not allow mixing pre-eip-1559 and eip-1559 properties\n const hasEip1559 = (tx.maxFeePerGas != null || tx.maxPriorityFeePerGas != null);\n if (tx.gasPrice != null && (tx.type === 2 || hasEip1559)) {\n logger.throwArgumentError(\"eip-1559 transaction do not support gasPrice\", \"transaction\", transaction);\n }\n else if ((tx.type === 0 || tx.type === 1) && hasEip1559) {\n logger.throwArgumentError(\"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas\", \"transaction\", transaction);\n }\n if ((tx.type === 2 || tx.type == null) && (tx.maxFeePerGas != null && tx.maxPriorityFeePerGas != null)) {\n // Fully-formed EIP-1559 transaction (skip getFeeData)\n tx.type = 2;\n }\n else if (tx.type === 0 || tx.type === 1) {\n // Explicit Legacy or EIP-2930 transaction\n // Populate missing gasPrice\n if (tx.gasPrice == null) {\n tx.gasPrice = this.getGasPrice();\n }\n }\n else {\n // We need to get fee data to determine things\n const feeData = yield this.getFeeData();\n if (tx.type == null) {\n // We need to auto-detect the intended type of this transaction...\n if (feeData.maxFeePerGas != null && feeData.maxPriorityFeePerGas != null) {\n // The network supports EIP-1559!\n // Upgrade transaction from null to eip-1559\n tx.type = 2;\n if (tx.gasPrice != null) {\n // Using legacy gasPrice property on an eip-1559 network,\n // so use gasPrice as both fee properties\n const gasPrice = tx.gasPrice;\n delete tx.gasPrice;\n tx.maxFeePerGas = gasPrice;\n tx.maxPriorityFeePerGas = gasPrice;\n }\n else {\n // Populate missing fee data\n if (tx.maxFeePerGas == null) {\n tx.maxFeePerGas = feeData.maxFeePerGas;\n }\n if (tx.maxPriorityFeePerGas == null) {\n tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas;\n }\n }\n }\n else if (feeData.gasPrice != null) {\n // Network doesn't support EIP-1559...\n // ...but they are trying to use EIP-1559 properties\n if (hasEip1559) {\n logger.throwError(\"network does not support EIP-1559\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"populateTransaction\"\n });\n }\n // Populate missing fee data\n if (tx.gasPrice == null) {\n tx.gasPrice = feeData.gasPrice;\n }\n // Explicitly set untyped transaction to legacy\n tx.type = 0;\n }\n else {\n // getFeeData has failed us.\n logger.throwError(\"failed to get consistent fee data\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"signer.getFeeData\"\n });\n }\n }\n else if (tx.type === 2) {\n // Explicitly using EIP-1559\n // Populate missing fee data\n if (tx.maxFeePerGas == null) {\n tx.maxFeePerGas = feeData.maxFeePerGas;\n }\n if (tx.maxPriorityFeePerGas == null) {\n tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas;\n }\n }\n }\n if (tx.nonce == null) {\n tx.nonce = this.getTransactionCount(\"pending\");\n }\n if (tx.gasLimit == null) {\n tx.gasLimit = this.estimateGas(tx).catch((error) => {\n if (forwardErrors.indexOf(error.code) >= 0) {\n throw error;\n }\n return logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n error: error,\n tx: tx\n });\n });\n }\n if (tx.chainId == null) {\n tx.chainId = this.getChainId();\n }\n else {\n tx.chainId = Promise.all([\n Promise.resolve(tx.chainId),\n this.getChainId()\n ]).then((results) => {\n if (results[1] !== 0 && results[0] !== results[1]) {\n logger.throwArgumentError(\"chainId address mismatch\", \"transaction\", transaction);\n }\n return results[0];\n });\n }\n return yield resolveProperties(tx);\n });\n }\n ///////////////////\n // Sub-classes SHOULD leave these alone\n _checkProvider(operation) {\n if (!this.provider) {\n logger.throwError(\"missing provider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: (operation || \"_checkProvider\")\n });\n }\n }\n static isSigner(value) {\n return !!(value && value._isSigner);\n }\n}\nexport class VoidSigner extends Signer {\n constructor(address, provider) {\n super();\n defineReadOnly(this, \"address\", address);\n defineReadOnly(this, \"provider\", provider || null);\n }\n getAddress() {\n return Promise.resolve(this.address);\n }\n _fail(message, operation) {\n return Promise.resolve().then(() => {\n logger.throwError(message, Logger.errors.UNSUPPORTED_OPERATION, { operation: operation });\n });\n }\n signMessage(message) {\n return this._fail(\"VoidSigner cannot sign messages\", \"signMessage\");\n }\n signTransaction(transaction) {\n return this._fail(\"VoidSigner cannot sign transactions\", \"signTransaction\");\n }\n _signTypedData(domain, types, value) {\n return this._fail(\"VoidSigner cannot sign typed data\", \"signTypedData\");\n }\n connect(provider) {\n return new VoidSigner(this.address, provider);\n }\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { BlockTag, FeeData, Provider, TransactionRequest, TransactionResponse } from \"@ethersproject/abstract-provider\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { Bytes, BytesLike } from \"@ethersproject/bytes\";\nimport { Deferrable, defineReadOnly, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nconst allowedTransactionKeys: Array = [\n \"accessList\", \"ccipReadEnabled\", \"chainId\", \"customData\", \"data\", \"from\", \"gasLimit\", \"gasPrice\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"nonce\", \"to\", \"type\", \"value\"\n];\n\nconst forwardErrors = [\n Logger.errors.INSUFFICIENT_FUNDS,\n Logger.errors.NONCE_EXPIRED,\n Logger.errors.REPLACEMENT_UNDERPRICED,\n];\n\n// EIP-712 Typed Data\n// See: https://eips.ethereum.org/EIPS/eip-712\n\nexport interface TypedDataDomain {\n name?: string;\n version?: string;\n chainId?: BigNumberish;\n verifyingContract?: string;\n salt?: BytesLike;\n};\n\nexport interface TypedDataField {\n name: string;\n type: string;\n};\n\n// Sub-classes of Signer may optionally extend this interface to indicate\n// they have a private key available synchronously\nexport interface ExternallyOwnedAccount {\n readonly address: string;\n readonly privateKey: string;\n}\n\n// Sub-Class Notes:\n// - A Signer MUST always make sure, that if present, the \"from\" field\n// matches the Signer, before sending or signing a transaction\n// - A Signer SHOULD always wrap private information (such as a private\n// key or mnemonic) in a function, so that console.log does not leak\n// the data\n\n// @TODO: This is a temporary measure to preserve backwards compatibility\n// In v6, the method on TypedDataSigner will be added to Signer\nexport interface TypedDataSigner {\n _signTypedData(domain: TypedDataDomain, types: Record>, value: Record): Promise;\n}\n\nexport abstract class Signer {\n readonly provider?: Provider;\n\n ///////////////////\n // Sub-classes MUST implement these\n\n // Returns the checksum address\n abstract getAddress(): Promise\n\n // Returns the signed prefixed-message. This MUST treat:\n // - Bytes as a binary message\n // - string as a UTF8-message\n // i.e. \"0x1234\" is a SIX (6) byte string, NOT 2 bytes of data\n abstract signMessage(message: Bytes | string): Promise;\n\n // Signs a transaction and returns the fully serialized, signed transaction.\n // The EXACT transaction MUST be signed, and NO additional properties to be added.\n // - This MAY throw if signing transactions is not supports, but if\n // it does, sentTransaction MUST be overridden.\n abstract signTransaction(transaction: Deferrable): Promise;\n\n // Returns a new instance of the Signer, connected to provider.\n // This MAY throw if changing providers is not supported.\n abstract connect(provider: Provider): Signer;\n\n readonly _isSigner: boolean;\n\n\n ///////////////////\n // Sub-classes MUST call super\n constructor() {\n logger.checkAbstract(new.target, Signer);\n defineReadOnly(this, \"_isSigner\", true);\n }\n\n\n ///////////////////\n // Sub-classes MAY override these\n\n async getBalance(blockTag?: BlockTag): Promise {\n this._checkProvider(\"getBalance\");\n return await this.provider.getBalance(this.getAddress(), blockTag);\n }\n\n async getTransactionCount(blockTag?: BlockTag): Promise {\n this._checkProvider(\"getTransactionCount\");\n return await this.provider.getTransactionCount(this.getAddress(), blockTag);\n }\n\n // Populates \"from\" if unspecified, and estimates the gas for the transaction\n async estimateGas(transaction: Deferrable): Promise {\n this._checkProvider(\"estimateGas\");\n const tx = await resolveProperties(this.checkTransaction(transaction));\n return await this.provider.estimateGas(tx);\n }\n\n // Populates \"from\" if unspecified, and calls with the transaction\n async call(transaction: Deferrable, blockTag?: BlockTag): Promise {\n this._checkProvider(\"call\");\n const tx = await resolveProperties(this.checkTransaction(transaction));\n return await this.provider.call(tx, blockTag);\n }\n\n // Populates all fields in a transaction, signs it and sends it to the network\n async sendTransaction(transaction: Deferrable): Promise {\n this._checkProvider(\"sendTransaction\");\n const tx = await this.populateTransaction(transaction);\n const signedTx = await this.signTransaction(tx);\n return await this.provider.sendTransaction(signedTx);\n }\n\n async getChainId(): Promise {\n this._checkProvider(\"getChainId\");\n const network = await this.provider.getNetwork();\n return network.chainId;\n }\n\n async getGasPrice(): Promise {\n this._checkProvider(\"getGasPrice\");\n return await this.provider.getGasPrice();\n }\n\n async getFeeData(): Promise {\n this._checkProvider(\"getFeeData\");\n return await this.provider.getFeeData();\n }\n\n\n async resolveName(name: string): Promise {\n this._checkProvider(\"resolveName\");\n return await this.provider.resolveName(name);\n }\n\n\n\n // Checks a transaction does not contain invalid keys and if\n // no \"from\" is provided, populates it.\n // - does NOT require a provider\n // - adds \"from\" is not present\n // - returns a COPY (safe to mutate the result)\n // By default called from: (overriding these prevents it)\n // - call\n // - estimateGas\n // - populateTransaction (and therefor sendTransaction)\n checkTransaction(transaction: Deferrable): Deferrable {\n for (const key in transaction) {\n if (allowedTransactionKeys.indexOf(key) === -1) {\n logger.throwArgumentError(\"invalid transaction key: \" + key, \"transaction\", transaction);\n }\n }\n\n const tx = shallowCopy(transaction);\n\n if (tx.from == null) {\n tx.from = this.getAddress();\n\n } else {\n // Make sure any provided address matches this signer\n tx.from = Promise.all([\n Promise.resolve(tx.from),\n this.getAddress()\n ]).then((result) => {\n if (result[0].toLowerCase() !== result[1].toLowerCase()) {\n logger.throwArgumentError(\"from address mismatch\", \"transaction\", transaction);\n }\n return result[0];\n });\n }\n\n return tx;\n }\n\n // Populates ALL keys for a transaction and checks that \"from\" matches\n // this Signer. Should be used by sendTransaction but NOT by signTransaction.\n // By default called from: (overriding these prevents it)\n // - sendTransaction\n //\n // Notes:\n // - We allow gasPrice for EIP-1559 as long as it matches maxFeePerGas\n async populateTransaction(transaction: Deferrable): Promise {\n\n const tx: Deferrable = await resolveProperties(this.checkTransaction(transaction))\n\n if (tx.to != null) {\n tx.to = Promise.resolve(tx.to).then(async (to) => {\n if (to == null) { return null; }\n const address = await this.resolveName(to);\n if (address == null) {\n logger.throwArgumentError(\"provided ENS name resolves to null\", \"tx.to\", to);\n }\n return address;\n });\n\n // Prevent this error from causing an UnhandledPromiseException\n tx.to.catch((error) => { });\n }\n\n // Do not allow mixing pre-eip-1559 and eip-1559 properties\n const hasEip1559 = (tx.maxFeePerGas != null || tx.maxPriorityFeePerGas != null);\n if (tx.gasPrice != null && (tx.type === 2 || hasEip1559)) {\n logger.throwArgumentError(\"eip-1559 transaction do not support gasPrice\", \"transaction\", transaction);\n } else if ((tx.type === 0 || tx.type === 1) && hasEip1559) {\n logger.throwArgumentError(\"pre-eip-1559 transaction do not support maxFeePerGas/maxPriorityFeePerGas\", \"transaction\", transaction);\n }\n\n if ((tx.type === 2 || tx.type == null) && (tx.maxFeePerGas != null && tx.maxPriorityFeePerGas != null)) {\n // Fully-formed EIP-1559 transaction (skip getFeeData)\n tx.type = 2;\n\n } else if (tx.type === 0 || tx.type === 1) {\n // Explicit Legacy or EIP-2930 transaction\n\n // Populate missing gasPrice\n if (tx.gasPrice == null) { tx.gasPrice = this.getGasPrice(); }\n\n } else {\n\n // We need to get fee data to determine things\n const feeData = await this.getFeeData();\n\n if (tx.type == null) {\n // We need to auto-detect the intended type of this transaction...\n\n if (feeData.maxFeePerGas != null && feeData.maxPriorityFeePerGas != null) {\n // The network supports EIP-1559!\n\n // Upgrade transaction from null to eip-1559\n tx.type = 2;\n\n if (tx.gasPrice != null) {\n // Using legacy gasPrice property on an eip-1559 network,\n // so use gasPrice as both fee properties\n const gasPrice = tx.gasPrice;\n delete tx.gasPrice;\n tx.maxFeePerGas = gasPrice;\n tx.maxPriorityFeePerGas = gasPrice;\n\n } else {\n // Populate missing fee data\n if (tx.maxFeePerGas == null) { tx.maxFeePerGas = feeData.maxFeePerGas; }\n if (tx.maxPriorityFeePerGas == null) { tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas; }\n }\n\n } else if (feeData.gasPrice != null) {\n // Network doesn't support EIP-1559...\n\n // ...but they are trying to use EIP-1559 properties\n if (hasEip1559) {\n logger.throwError(\"network does not support EIP-1559\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"populateTransaction\"\n });\n }\n\n // Populate missing fee data\n if (tx.gasPrice == null) { tx.gasPrice = feeData.gasPrice; }\n\n // Explicitly set untyped transaction to legacy\n tx.type = 0;\n\n } else {\n // getFeeData has failed us.\n logger.throwError(\"failed to get consistent fee data\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"signer.getFeeData\"\n });\n }\n\n } else if (tx.type === 2) {\n // Explicitly using EIP-1559\n\n // Populate missing fee data\n if (tx.maxFeePerGas == null) { tx.maxFeePerGas = feeData.maxFeePerGas; }\n if (tx.maxPriorityFeePerGas == null) { tx.maxPriorityFeePerGas = feeData.maxPriorityFeePerGas; }\n }\n }\n\n if (tx.nonce == null) { tx.nonce = this.getTransactionCount(\"pending\"); }\n\n if (tx.gasLimit == null) {\n tx.gasLimit = this.estimateGas(tx).catch((error) => {\n if (forwardErrors.indexOf(error.code) >= 0) {\n throw error;\n }\n\n return logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n error: error,\n tx: tx\n });\n });\n }\n\n if (tx.chainId == null) {\n tx.chainId = this.getChainId();\n } else {\n tx.chainId = Promise.all([\n Promise.resolve(tx.chainId),\n this.getChainId()\n ]).then((results) => {\n if (results[1] !== 0 && results[0] !== results[1]) {\n logger.throwArgumentError(\"chainId address mismatch\", \"transaction\", transaction);\n }\n return results[0];\n });\n }\n\n return await resolveProperties(tx);\n }\n\n\n ///////////////////\n // Sub-classes SHOULD leave these alone\n\n _checkProvider(operation?: string): void {\n if (!this.provider) { logger.throwError(\"missing provider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: (operation || \"_checkProvider\") });\n }\n }\n\n static isSigner(value: any): value is Signer {\n return !!(value && value._isSigner);\n }\n}\n\nexport class VoidSigner extends Signer implements TypedDataSigner {\n readonly address: string;\n\n constructor(address: string, provider?: Provider) {\n super();\n defineReadOnly(this, \"address\", address);\n defineReadOnly(this, \"provider\", provider || null);\n }\n\n getAddress(): Promise {\n return Promise.resolve(this.address);\n }\n\n _fail(message: string, operation: string): Promise {\n return Promise.resolve().then(() => {\n logger.throwError(message, Logger.errors.UNSUPPORTED_OPERATION, { operation: operation });\n });\n }\n\n signMessage(message: Bytes | string): Promise {\n return this._fail(\"VoidSigner cannot sign messages\", \"signMessage\");\n }\n\n signTransaction(transaction: Deferrable): Promise {\n return this._fail(\"VoidSigner cannot sign transactions\", \"signTransaction\");\n }\n\n _signTypedData(domain: TypedDataDomain, types: Record>, value: Record): Promise {\n return this._fail(\"VoidSigner cannot sign typed data\", \"signTypedData\");\n }\n\n connect(provider: Provider): VoidSigner {\n return new VoidSigner(this.address, provider);\n }\n}\n\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nexport function defineReadOnly(object, name, value) {\n Object.defineProperty(object, name, {\n enumerable: true,\n value: value,\n writable: false,\n });\n}\n// Crawl up the constructor chain to find a static method\nexport function getStatic(ctor, key) {\n for (let i = 0; i < 32; i++) {\n if (ctor[key]) {\n return ctor[key];\n }\n if (!ctor.prototype || typeof (ctor.prototype) !== \"object\") {\n break;\n }\n ctor = Object.getPrototypeOf(ctor.prototype).constructor;\n }\n return null;\n}\nexport function resolveProperties(object) {\n return __awaiter(this, void 0, void 0, function* () {\n const promises = Object.keys(object).map((key) => {\n const value = object[key];\n return Promise.resolve(value).then((v) => ({ key: key, value: v }));\n });\n const results = yield Promise.all(promises);\n return results.reduce((accum, result) => {\n accum[(result.key)] = result.value;\n return accum;\n }, {});\n });\n}\nexport function checkProperties(object, properties) {\n if (!object || typeof (object) !== \"object\") {\n logger.throwArgumentError(\"invalid object\", \"object\", object);\n }\n Object.keys(object).forEach((key) => {\n if (!properties[key]) {\n logger.throwArgumentError(\"invalid object key - \" + key, \"transaction:\" + key, object);\n }\n });\n}\nexport function shallowCopy(object) {\n const result = {};\n for (const key in object) {\n result[key] = object[key];\n }\n return result;\n}\nconst opaque = { bigint: true, boolean: true, \"function\": true, number: true, string: true };\nfunction _isFrozen(object) {\n // Opaque objects are not mutable, so safe to copy by assignment\n if (object === undefined || object === null || opaque[typeof (object)]) {\n return true;\n }\n if (Array.isArray(object) || typeof (object) === \"object\") {\n if (!Object.isFrozen(object)) {\n return false;\n }\n const keys = Object.keys(object);\n for (let i = 0; i < keys.length; i++) {\n let value = null;\n try {\n value = object[keys[i]];\n }\n catch (error) {\n // If accessing a value triggers an error, it is a getter\n // designed to do so (e.g. Result) and is therefore \"frozen\"\n continue;\n }\n if (!_isFrozen(value)) {\n return false;\n }\n }\n return true;\n }\n return logger.throwArgumentError(`Cannot deepCopy ${typeof (object)}`, \"object\", object);\n}\n// Returns a new copy of object, such that no properties may be replaced.\n// New properties may be added only to objects.\nfunction _deepCopy(object) {\n if (_isFrozen(object)) {\n return object;\n }\n // Arrays are mutable, so we need to create a copy\n if (Array.isArray(object)) {\n return Object.freeze(object.map((item) => deepCopy(item)));\n }\n if (typeof (object) === \"object\") {\n const result = {};\n for (const key in object) {\n const value = object[key];\n if (value === undefined) {\n continue;\n }\n defineReadOnly(result, key, deepCopy(value));\n }\n return result;\n }\n return logger.throwArgumentError(`Cannot deepCopy ${typeof (object)}`, \"object\", object);\n}\nexport function deepCopy(object) {\n return _deepCopy(object);\n}\nexport class Description {\n constructor(info) {\n for (const key in info) {\n this[key] = deepCopy(info[key]);\n }\n }\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nexport function defineReadOnly(object: T, name: K, value: T[K]): void {\n Object.defineProperty(object, name, {\n enumerable: true,\n value: value,\n writable: false,\n });\n}\n\n// Crawl up the constructor chain to find a static method\nexport function getStatic(ctor: any, key: string): T {\n for (let i = 0; i < 32; i++) {\n if (ctor[key]) { return ctor[key]; }\n if (!ctor.prototype || typeof(ctor.prototype) !== \"object\") { break; }\n ctor = Object.getPrototypeOf(ctor.prototype).constructor;\n }\n return null;\n}\n\nexport type Deferrable = {\n [ K in keyof T ]: T[K] | Promise;\n}\n\n\ntype Result = { key: string, value: any};\n\nexport async function resolveProperties(object: Readonly>): Promise {\n const promises: Array> = Object.keys(object).map((key) => {\n const value = object[>key];\n return Promise.resolve(value).then((v) => ({ key: key, value: v }));\n });\n\n const results = await Promise.all(promises);\n\n return results.reduce((accum, result) => {\n accum[(result.key)] = result.value;\n return accum;\n }, { });\n}\n\nexport function checkProperties(object: any, properties: { [ name: string ]: boolean }): void {\n if (!object || typeof(object) !== \"object\") {\n logger.throwArgumentError(\"invalid object\", \"object\", object);\n }\n\n Object.keys(object).forEach((key) => {\n if (!properties[key]) {\n logger.throwArgumentError(\"invalid object key - \" + key, \"transaction:\" + key, object);\n }\n });\n}\n\nexport function shallowCopy(object: T): T {\n const result: any = {};\n for (const key in object) { result[key] = object[key]; }\n return result;\n}\n\nconst opaque: { [key: string]: boolean } = { bigint: true, boolean: true, \"function\": true, number: true, string: true };\n\nfunction _isFrozen(object: any): boolean {\n\n // Opaque objects are not mutable, so safe to copy by assignment\n if (object === undefined || object === null || opaque[typeof(object)]) { return true; }\n\n if (Array.isArray(object) || typeof(object) === \"object\") {\n if (!Object.isFrozen(object)) { return false; }\n\n const keys = Object.keys(object);\n for (let i = 0; i < keys.length; i++) {\n let value: any = null;\n try {\n value = object[keys[i]];\n } catch (error) {\n // If accessing a value triggers an error, it is a getter\n // designed to do so (e.g. Result) and is therefore \"frozen\"\n continue;\n }\n\n if (!_isFrozen(value)) { return false; }\n }\n\n return true;\n }\n\n return logger.throwArgumentError(`Cannot deepCopy ${ typeof(object) }`, \"object\", object);\n}\n\n// Returns a new copy of object, such that no properties may be replaced.\n// New properties may be added only to objects.\nfunction _deepCopy(object: any): any {\n\n if (_isFrozen(object)) { return object; }\n\n // Arrays are mutable, so we need to create a copy\n if (Array.isArray(object)) {\n return Object.freeze(object.map((item) => deepCopy(item)));\n }\n\n if (typeof(object) === \"object\") {\n const result: { [ key: string ]: any } = {};\n for (const key in object) {\n const value = object[key];\n if (value === undefined) { continue; }\n defineReadOnly(result, key, deepCopy(value));\n }\n\n return result;\n }\n\n return logger.throwArgumentError(`Cannot deepCopy ${ typeof(object) }`, \"object\", object);\n}\n\nexport function deepCopy(object: T): T {\n return _deepCopy(object);\n}\n\nexport class Description {\n constructor(info: { [ K in keyof T ]: T[K] }) {\n for (const key in info) {\n (this)[key] = deepCopy(info[key]);\n }\n }\n}\n","\"use strict\";\nlet _permanentCensorErrors = false;\nlet _censorErrors = false;\nconst LogLevels = { debug: 1, \"default\": 2, info: 2, warning: 3, error: 4, off: 5 };\nlet _logLevel = LogLevels[\"default\"];\nimport { version } from \"./_version\";\nlet _globalLogger = null;\nfunction _checkNormalize() {\n try {\n const missing = [];\n // Make sure all forms of normalization are supported\n [\"NFD\", \"NFC\", \"NFKD\", \"NFKC\"].forEach((form) => {\n try {\n if (\"test\".normalize(form) !== \"test\") {\n throw new Error(\"bad normalize\");\n }\n ;\n }\n catch (error) {\n missing.push(form);\n }\n });\n if (missing.length) {\n throw new Error(\"missing \" + missing.join(\", \"));\n }\n if (String.fromCharCode(0xe9).normalize(\"NFD\") !== String.fromCharCode(0x65, 0x0301)) {\n throw new Error(\"broken implementation\");\n }\n }\n catch (error) {\n return error.message;\n }\n return null;\n}\nconst _normalizeError = _checkNormalize();\nexport var LogLevel;\n(function (LogLevel) {\n LogLevel[\"DEBUG\"] = \"DEBUG\";\n LogLevel[\"INFO\"] = \"INFO\";\n LogLevel[\"WARNING\"] = \"WARNING\";\n LogLevel[\"ERROR\"] = \"ERROR\";\n LogLevel[\"OFF\"] = \"OFF\";\n})(LogLevel || (LogLevel = {}));\nexport var ErrorCode;\n(function (ErrorCode) {\n ///////////////////\n // Generic Errors\n // Unknown Error\n ErrorCode[\"UNKNOWN_ERROR\"] = \"UNKNOWN_ERROR\";\n // Not Implemented\n ErrorCode[\"NOT_IMPLEMENTED\"] = \"NOT_IMPLEMENTED\";\n // Unsupported Operation\n // - operation\n ErrorCode[\"UNSUPPORTED_OPERATION\"] = \"UNSUPPORTED_OPERATION\";\n // Network Error (i.e. Ethereum Network, such as an invalid chain ID)\n // - event (\"noNetwork\" is not re-thrown in provider.ready; otherwise thrown)\n ErrorCode[\"NETWORK_ERROR\"] = \"NETWORK_ERROR\";\n // Some sort of bad response from the server\n ErrorCode[\"SERVER_ERROR\"] = \"SERVER_ERROR\";\n // Timeout\n ErrorCode[\"TIMEOUT\"] = \"TIMEOUT\";\n ///////////////////\n // Operational Errors\n // Buffer Overrun\n ErrorCode[\"BUFFER_OVERRUN\"] = \"BUFFER_OVERRUN\";\n // Numeric Fault\n // - operation: the operation being executed\n // - fault: the reason this faulted\n ErrorCode[\"NUMERIC_FAULT\"] = \"NUMERIC_FAULT\";\n ///////////////////\n // Argument Errors\n // Missing new operator to an object\n // - name: The name of the class\n ErrorCode[\"MISSING_NEW\"] = \"MISSING_NEW\";\n // Invalid argument (e.g. value is incompatible with type) to a function:\n // - argument: The argument name that was invalid\n // - value: The value of the argument\n ErrorCode[\"INVALID_ARGUMENT\"] = \"INVALID_ARGUMENT\";\n // Missing argument to a function:\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n ErrorCode[\"MISSING_ARGUMENT\"] = \"MISSING_ARGUMENT\";\n // Too many arguments\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n ErrorCode[\"UNEXPECTED_ARGUMENT\"] = \"UNEXPECTED_ARGUMENT\";\n ///////////////////\n // Blockchain Errors\n // Call exception\n // - transaction: the transaction\n // - address?: the contract address\n // - args?: The arguments passed into the function\n // - method?: The Solidity method signature\n // - errorSignature?: The EIP848 error signature\n // - errorArgs?: The EIP848 error parameters\n // - reason: The reason (only for EIP848 \"Error(string)\")\n ErrorCode[\"CALL_EXCEPTION\"] = \"CALL_EXCEPTION\";\n // Insufficient funds (< value + gasLimit * gasPrice)\n // - transaction: the transaction attempted\n ErrorCode[\"INSUFFICIENT_FUNDS\"] = \"INSUFFICIENT_FUNDS\";\n // Nonce has already been used\n // - transaction: the transaction attempted\n ErrorCode[\"NONCE_EXPIRED\"] = \"NONCE_EXPIRED\";\n // The replacement fee for the transaction is too low\n // - transaction: the transaction attempted\n ErrorCode[\"REPLACEMENT_UNDERPRICED\"] = \"REPLACEMENT_UNDERPRICED\";\n // The gas limit could not be estimated\n // - transaction: the transaction passed to estimateGas\n ErrorCode[\"UNPREDICTABLE_GAS_LIMIT\"] = \"UNPREDICTABLE_GAS_LIMIT\";\n // The transaction was replaced by one with a higher gas price\n // - reason: \"cancelled\", \"replaced\" or \"repriced\"\n // - cancelled: true if reason == \"cancelled\" or reason == \"replaced\")\n // - hash: original transaction hash\n // - replacement: the full TransactionsResponse for the replacement\n // - receipt: the receipt of the replacement\n ErrorCode[\"TRANSACTION_REPLACED\"] = \"TRANSACTION_REPLACED\";\n ///////////////////\n // Interaction Errors\n // The user rejected the action, such as signing a message or sending\n // a transaction\n ErrorCode[\"ACTION_REJECTED\"] = \"ACTION_REJECTED\";\n})(ErrorCode || (ErrorCode = {}));\n;\nconst HEX = \"0123456789abcdef\";\nexport class Logger {\n constructor(version) {\n Object.defineProperty(this, \"version\", {\n enumerable: true,\n value: version,\n writable: false\n });\n }\n _log(logLevel, args) {\n const level = logLevel.toLowerCase();\n if (LogLevels[level] == null) {\n this.throwArgumentError(\"invalid log level name\", \"logLevel\", logLevel);\n }\n if (_logLevel > LogLevels[level]) {\n return;\n }\n console.log.apply(console, args);\n }\n debug(...args) {\n this._log(Logger.levels.DEBUG, args);\n }\n info(...args) {\n this._log(Logger.levels.INFO, args);\n }\n warn(...args) {\n this._log(Logger.levels.WARNING, args);\n }\n makeError(message, code, params) {\n // Errors are being censored\n if (_censorErrors) {\n return this.makeError(\"censored error\", code, {});\n }\n if (!code) {\n code = Logger.errors.UNKNOWN_ERROR;\n }\n if (!params) {\n params = {};\n }\n const messageDetails = [];\n Object.keys(params).forEach((key) => {\n const value = params[key];\n try {\n if (value instanceof Uint8Array) {\n let hex = \"\";\n for (let i = 0; i < value.length; i++) {\n hex += HEX[value[i] >> 4];\n hex += HEX[value[i] & 0x0f];\n }\n messageDetails.push(key + \"=Uint8Array(0x\" + hex + \")\");\n }\n else {\n messageDetails.push(key + \"=\" + JSON.stringify(value));\n }\n }\n catch (error) {\n messageDetails.push(key + \"=\" + JSON.stringify(params[key].toString()));\n }\n });\n messageDetails.push(`code=${code}`);\n messageDetails.push(`version=${this.version}`);\n const reason = message;\n let url = \"\";\n switch (code) {\n case ErrorCode.NUMERIC_FAULT: {\n url = \"NUMERIC_FAULT\";\n const fault = message;\n switch (fault) {\n case \"overflow\":\n case \"underflow\":\n case \"division-by-zero\":\n url += \"-\" + fault;\n break;\n case \"negative-power\":\n case \"negative-width\":\n url += \"-unsupported\";\n break;\n case \"unbound-bitwise-result\":\n url += \"-unbound-result\";\n break;\n }\n break;\n }\n case ErrorCode.CALL_EXCEPTION:\n case ErrorCode.INSUFFICIENT_FUNDS:\n case ErrorCode.MISSING_NEW:\n case ErrorCode.NONCE_EXPIRED:\n case ErrorCode.REPLACEMENT_UNDERPRICED:\n case ErrorCode.TRANSACTION_REPLACED:\n case ErrorCode.UNPREDICTABLE_GAS_LIMIT:\n url = code;\n break;\n }\n if (url) {\n message += \" [ See: https:/\\/links.ethers.org/v5-errors-\" + url + \" ]\";\n }\n if (messageDetails.length) {\n message += \" (\" + messageDetails.join(\", \") + \")\";\n }\n // @TODO: Any??\n const error = new Error(message);\n error.reason = reason;\n error.code = code;\n Object.keys(params).forEach(function (key) {\n error[key] = params[key];\n });\n return error;\n }\n throwError(message, code, params) {\n throw this.makeError(message, code, params);\n }\n throwArgumentError(message, name, value) {\n return this.throwError(message, Logger.errors.INVALID_ARGUMENT, {\n argument: name,\n value: value\n });\n }\n assert(condition, message, code, params) {\n if (!!condition) {\n return;\n }\n this.throwError(message, code, params);\n }\n assertArgument(condition, message, name, value) {\n if (!!condition) {\n return;\n }\n this.throwArgumentError(message, name, value);\n }\n checkNormalize(message) {\n if (message == null) {\n message = \"platform missing String.prototype.normalize\";\n }\n if (_normalizeError) {\n this.throwError(\"platform missing String.prototype.normalize\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"String.prototype.normalize\", form: _normalizeError\n });\n }\n }\n checkSafeUint53(value, message) {\n if (typeof (value) !== \"number\") {\n return;\n }\n if (message == null) {\n message = \"value not safe\";\n }\n if (value < 0 || value >= 0x1fffffffffffff) {\n this.throwError(message, Logger.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"out-of-safe-range\",\n value: value\n });\n }\n if (value % 1) {\n this.throwError(message, Logger.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"non-integer\",\n value: value\n });\n }\n }\n checkArgumentCount(count, expectedCount, message) {\n if (message) {\n message = \": \" + message;\n }\n else {\n message = \"\";\n }\n if (count < expectedCount) {\n this.throwError(\"missing argument\" + message, Logger.errors.MISSING_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n }\n if (count > expectedCount) {\n this.throwError(\"too many arguments\" + message, Logger.errors.UNEXPECTED_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n }\n }\n checkNew(target, kind) {\n if (target === Object || target == null) {\n this.throwError(\"missing new\", Logger.errors.MISSING_NEW, { name: kind.name });\n }\n }\n checkAbstract(target, kind) {\n if (target === kind) {\n this.throwError(\"cannot instantiate abstract class \" + JSON.stringify(kind.name) + \" directly; use a sub-class\", Logger.errors.UNSUPPORTED_OPERATION, { name: target.name, operation: \"new\" });\n }\n else if (target === Object || target == null) {\n this.throwError(\"missing new\", Logger.errors.MISSING_NEW, { name: kind.name });\n }\n }\n static globalLogger() {\n if (!_globalLogger) {\n _globalLogger = new Logger(version);\n }\n return _globalLogger;\n }\n static setCensorship(censorship, permanent) {\n if (!censorship && permanent) {\n this.globalLogger().throwError(\"cannot permanently disable censorship\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n }\n if (_permanentCensorErrors) {\n if (!censorship) {\n return;\n }\n this.globalLogger().throwError(\"error censorship permanent\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n }\n _censorErrors = !!censorship;\n _permanentCensorErrors = !!permanent;\n }\n static setLogLevel(logLevel) {\n const level = LogLevels[logLevel.toLowerCase()];\n if (level == null) {\n Logger.globalLogger().warn(\"invalid log level - \" + logLevel);\n return;\n }\n _logLevel = level;\n }\n static from(version) {\n return new Logger(version);\n }\n}\nLogger.errors = ErrorCode;\nLogger.levels = LogLevel;\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nlet _permanentCensorErrors = false;\nlet _censorErrors = false;\n\nconst LogLevels: { [ name: string ]: number } = { debug: 1, \"default\": 2, info: 2, warning: 3, error: 4, off: 5 };\nlet _logLevel = LogLevels[\"default\"];\n\nimport { version } from \"./_version\";\n\nlet _globalLogger: Logger = null;\n\nfunction _checkNormalize(): string {\n try {\n const missing: Array = [ ];\n\n // Make sure all forms of normalization are supported\n [\"NFD\", \"NFC\", \"NFKD\", \"NFKC\"].forEach((form) => {\n try {\n if (\"test\".normalize(form) !== \"test\") {\n throw new Error(\"bad normalize\");\n };\n } catch(error) {\n missing.push(form);\n }\n });\n\n if (missing.length) {\n throw new Error(\"missing \" + missing.join(\", \"));\n }\n\n if (String.fromCharCode(0xe9).normalize(\"NFD\") !== String.fromCharCode(0x65, 0x0301)) {\n throw new Error(\"broken implementation\")\n }\n } catch (error) {\n return error.message;\n }\n\n return null;\n}\n\nconst _normalizeError = _checkNormalize();\n\nexport enum LogLevel {\n DEBUG = \"DEBUG\",\n INFO = \"INFO\",\n WARNING = \"WARNING\",\n ERROR = \"ERROR\",\n OFF = \"OFF\"\n}\n\n\nexport enum ErrorCode {\n\n ///////////////////\n // Generic Errors\n\n // Unknown Error\n UNKNOWN_ERROR = \"UNKNOWN_ERROR\",\n\n // Not Implemented\n NOT_IMPLEMENTED = \"NOT_IMPLEMENTED\",\n\n // Unsupported Operation\n // - operation\n UNSUPPORTED_OPERATION = \"UNSUPPORTED_OPERATION\",\n\n // Network Error (i.e. Ethereum Network, such as an invalid chain ID)\n // - event (\"noNetwork\" is not re-thrown in provider.ready; otherwise thrown)\n NETWORK_ERROR = \"NETWORK_ERROR\",\n\n // Some sort of bad response from the server\n SERVER_ERROR = \"SERVER_ERROR\",\n\n // Timeout\n TIMEOUT = \"TIMEOUT\",\n\n ///////////////////\n // Operational Errors\n\n // Buffer Overrun\n BUFFER_OVERRUN = \"BUFFER_OVERRUN\",\n\n // Numeric Fault\n // - operation: the operation being executed\n // - fault: the reason this faulted\n NUMERIC_FAULT = \"NUMERIC_FAULT\",\n\n\n ///////////////////\n // Argument Errors\n\n // Missing new operator to an object\n // - name: The name of the class\n MISSING_NEW = \"MISSING_NEW\",\n\n // Invalid argument (e.g. value is incompatible with type) to a function:\n // - argument: The argument name that was invalid\n // - value: The value of the argument\n INVALID_ARGUMENT = \"INVALID_ARGUMENT\",\n\n // Missing argument to a function:\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n MISSING_ARGUMENT = \"MISSING_ARGUMENT\",\n\n // Too many arguments\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n UNEXPECTED_ARGUMENT = \"UNEXPECTED_ARGUMENT\",\n\n\n ///////////////////\n // Blockchain Errors\n\n // Call exception\n // - transaction: the transaction\n // - address?: the contract address\n // - args?: The arguments passed into the function\n // - method?: The Solidity method signature\n // - errorSignature?: The EIP848 error signature\n // - errorArgs?: The EIP848 error parameters\n // - reason: The reason (only for EIP848 \"Error(string)\")\n CALL_EXCEPTION = \"CALL_EXCEPTION\",\n\n // Insufficient funds (< value + gasLimit * gasPrice)\n // - transaction: the transaction attempted\n INSUFFICIENT_FUNDS = \"INSUFFICIENT_FUNDS\",\n\n // Nonce has already been used\n // - transaction: the transaction attempted\n NONCE_EXPIRED = \"NONCE_EXPIRED\",\n\n // The replacement fee for the transaction is too low\n // - transaction: the transaction attempted\n REPLACEMENT_UNDERPRICED = \"REPLACEMENT_UNDERPRICED\",\n\n // The gas limit could not be estimated\n // - transaction: the transaction passed to estimateGas\n UNPREDICTABLE_GAS_LIMIT = \"UNPREDICTABLE_GAS_LIMIT\",\n\n // The transaction was replaced by one with a higher gas price\n // - reason: \"cancelled\", \"replaced\" or \"repriced\"\n // - cancelled: true if reason == \"cancelled\" or reason == \"replaced\")\n // - hash: original transaction hash\n // - replacement: the full TransactionsResponse for the replacement\n // - receipt: the receipt of the replacement\n TRANSACTION_REPLACED = \"TRANSACTION_REPLACED\",\n\n\n ///////////////////\n // Interaction Errors\n\n // The user rejected the action, such as signing a message or sending\n // a transaction\n ACTION_REJECTED = \"ACTION_REJECTED\",\n};\n\nconst HEX = \"0123456789abcdef\";\n\nexport class Logger {\n readonly version: string;\n\n static errors = ErrorCode;\n\n static levels = LogLevel;\n\n constructor(version: string) {\n Object.defineProperty(this, \"version\", {\n enumerable: true,\n value: version,\n writable: false\n });\n }\n\n _log(logLevel: LogLevel, args: Array): void {\n const level = logLevel.toLowerCase();\n if (LogLevels[level] == null) {\n this.throwArgumentError(\"invalid log level name\", \"logLevel\", logLevel);\n }\n if (_logLevel > LogLevels[level]) { return; }\n console.log.apply(console, args);\n }\n\n debug(...args: Array): void {\n this._log(Logger.levels.DEBUG, args);\n }\n\n info(...args: Array): void {\n this._log(Logger.levels.INFO, args);\n }\n\n warn(...args: Array): void {\n this._log(Logger.levels.WARNING, args);\n }\n\n makeError(message: string, code?: ErrorCode, params?: any): Error {\n // Errors are being censored\n if (_censorErrors) {\n return this.makeError(\"censored error\", code, { });\n }\n\n if (!code) { code = Logger.errors.UNKNOWN_ERROR; }\n if (!params) { params = {}; }\n\n const messageDetails: Array = [];\n Object.keys(params).forEach((key) => {\n const value = params[key];\n try {\n if (value instanceof Uint8Array) {\n let hex = \"\";\n for (let i = 0; i < value.length; i++) {\n hex += HEX[value[i] >> 4];\n hex += HEX[value[i] & 0x0f];\n }\n messageDetails.push(key + \"=Uint8Array(0x\" + hex + \")\");\n } else {\n messageDetails.push(key + \"=\" + JSON.stringify(value));\n }\n } catch (error) {\n messageDetails.push(key + \"=\" + JSON.stringify(params[key].toString()));\n }\n });\n messageDetails.push(`code=${ code }`);\n messageDetails.push(`version=${ this.version }`);\n\n const reason = message;\n\n let url = \"\";\n\n switch (code) {\n case ErrorCode.NUMERIC_FAULT: {\n url = \"NUMERIC_FAULT\";\n const fault = message;\n\n switch (fault) {\n case \"overflow\": case \"underflow\": case \"division-by-zero\":\n url += \"-\" + fault;\n break;\n case \"negative-power\": case \"negative-width\":\n url += \"-unsupported\";\n break;\n case \"unbound-bitwise-result\":\n url += \"-unbound-result\";\n break;\n }\n break;\n }\n case ErrorCode.CALL_EXCEPTION:\n case ErrorCode.INSUFFICIENT_FUNDS:\n case ErrorCode.MISSING_NEW:\n case ErrorCode.NONCE_EXPIRED:\n case ErrorCode.REPLACEMENT_UNDERPRICED:\n case ErrorCode.TRANSACTION_REPLACED:\n case ErrorCode.UNPREDICTABLE_GAS_LIMIT:\n url = code;\n break;\n }\n\n if (url) {\n message += \" [ See: https:/\\/links.ethers.org/v5-errors-\" + url + \" ]\";\n }\n\n if (messageDetails.length) {\n message += \" (\" + messageDetails.join(\", \") + \")\";\n }\n\n // @TODO: Any??\n const error: any = new Error(message);\n error.reason = reason;\n error.code = code\n\n Object.keys(params).forEach(function(key) {\n error[key] = params[key];\n });\n\n return error;\n }\n\n throwError(message: string, code?: ErrorCode, params?: any): never {\n throw this.makeError(message, code, params);\n }\n\n throwArgumentError(message: string, name: string, value: any): never {\n return this.throwError(message, Logger.errors.INVALID_ARGUMENT, {\n argument: name,\n value: value\n });\n }\n\n assert(condition: any, message: string, code?: ErrorCode, params?: any): void {\n if (!!condition) { return; }\n this.throwError(message, code, params);\n }\n\n assertArgument(condition: any, message: string, name: string, value: any): void {\n if (!!condition) { return; }\n this.throwArgumentError(message, name, value);\n }\n\n checkNormalize(message?: string): void {\n if (message == null) { message = \"platform missing String.prototype.normalize\"; }\n if (_normalizeError) {\n this.throwError(\"platform missing String.prototype.normalize\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"String.prototype.normalize\", form: _normalizeError\n });\n }\n }\n\n checkSafeUint53(value: number, message?: string): void {\n if (typeof(value) !== \"number\") { return; }\n\n if (message == null) { message = \"value not safe\"; }\n\n if (value < 0 || value >= 0x1fffffffffffff) {\n this.throwError(message, Logger.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"out-of-safe-range\",\n value: value\n });\n }\n\n if (value % 1) {\n this.throwError(message, Logger.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"non-integer\",\n value: value\n });\n }\n }\n\n checkArgumentCount(count: number, expectedCount: number, message?: string): void {\n if (message) {\n message = \": \" + message;\n } else {\n message = \"\";\n }\n\n if (count < expectedCount) {\n this.throwError(\"missing argument\" + message, Logger.errors.MISSING_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n }\n\n if (count > expectedCount) {\n this.throwError(\"too many arguments\" + message, Logger.errors.UNEXPECTED_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n }\n }\n\n checkNew(target: any, kind: any): void {\n if (target === Object || target == null) {\n this.throwError(\"missing new\", Logger.errors.MISSING_NEW, { name: kind.name });\n }\n }\n\n checkAbstract(target: any, kind: any): void {\n if (target === kind) {\n this.throwError(\n \"cannot instantiate abstract class \" + JSON.stringify(kind.name) + \" directly; use a sub-class\",\n Logger.errors.UNSUPPORTED_OPERATION,\n { name: target.name, operation: \"new\" }\n );\n } else if (target === Object || target == null) {\n this.throwError(\"missing new\", Logger.errors.MISSING_NEW, { name: kind.name });\n }\n }\n\n static globalLogger(): Logger {\n if (!_globalLogger) { _globalLogger = new Logger(version); }\n return _globalLogger;\n }\n\n static setCensorship(censorship: boolean, permanent?: boolean): void {\n if (!censorship && permanent) {\n this.globalLogger().throwError(\"cannot permanently disable censorship\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n }\n\n if (_permanentCensorErrors) {\n if (!censorship) { return; }\n this.globalLogger().throwError(\"error censorship permanent\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n }\n\n _censorErrors = !!censorship;\n _permanentCensorErrors = !!permanent;\n }\n\n static setLogLevel(logLevel: LogLevel): void {\n const level = LogLevels[logLevel.toLowerCase()];\n if (level == null) {\n Logger.globalLogger().warn(\"invalid log level - \" + logLevel);\n return;\n }\n _logLevel = level;\n }\n\n static from(version: string): Logger {\n return new Logger(version);\n }\n}\n","export const version = \"logger/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"logger/5.7.0\";\n","export const version = \"properties/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"properties/5.7.0\";\n","export const version = \"abstract-signer/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"abstract-signer/5.7.0\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils_1 = require(\"../../../../adapters/ethers/utils\");\nclass GnosisSafeContractEthers {\n constructor(contract) {\n this.contract = contract;\n this.encode = (methodName, params) => {\n return this.contract.interface.encodeFunctionData(methodName, params);\n };\n }\n async getVersion() {\n return (await this.contract.VERSION());\n }\n getAddress() {\n return this.contract.address;\n }\n async getNonce() {\n return (await this.contract.nonce()).toNumber();\n }\n async getThreshold() {\n return (await this.contract.getThreshold()).toNumber();\n }\n async getOwners() {\n return this.contract.getOwners();\n }\n async isOwner(address) {\n return this.contract.isOwner(address);\n }\n async getTransactionHash(safeTransactionData) {\n return this.contract.getTransactionHash(safeTransactionData.to, safeTransactionData.value, safeTransactionData.data, safeTransactionData.operation, safeTransactionData.safeTxGas, safeTransactionData.baseGas, safeTransactionData.gasPrice, safeTransactionData.gasToken, safeTransactionData.refundReceiver, safeTransactionData.nonce);\n }\n async approvedHashes(ownerAddress, hash) {\n return this.contract.approvedHashes(ownerAddress, hash);\n }\n async approveHash(hash, options) {\n if (options && !options.gasLimit) {\n options.gasLimit = await this.estimateGas('approveHash', [hash], { ...options });\n }\n const txResponse = await this.contract.approveHash(hash, options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async isValidTransaction(safeTransaction, options) {\n let isTxValid = false;\n try {\n if (options && !options.gasLimit) {\n options.gasLimit = await this.estimateGas('execTransaction', [\n safeTransaction.data.to,\n safeTransaction.data.value,\n safeTransaction.data.data,\n safeTransaction.data.operation,\n safeTransaction.data.safeTxGas,\n safeTransaction.data.baseGas,\n safeTransaction.data.gasPrice,\n safeTransaction.data.gasToken,\n safeTransaction.data.refundReceiver,\n safeTransaction.encodedSignatures()\n ], {\n ...options\n });\n }\n isTxValid = await this.contract.callStatic.execTransaction(safeTransaction.data.to, safeTransaction.data.value, safeTransaction.data.data, safeTransaction.data.operation, safeTransaction.data.safeTxGas, safeTransaction.data.baseGas, safeTransaction.data.gasPrice, safeTransaction.data.gasToken, safeTransaction.data.refundReceiver, safeTransaction.encodedSignatures(), options);\n }\n catch { }\n return isTxValid;\n }\n async execTransaction(safeTransaction, options) {\n if (options && !options.gasLimit) {\n options.gasLimit = await this.estimateGas('execTransaction', [\n safeTransaction.data.to,\n safeTransaction.data.value,\n safeTransaction.data.data,\n safeTransaction.data.operation,\n safeTransaction.data.safeTxGas,\n safeTransaction.data.baseGas,\n safeTransaction.data.gasPrice,\n safeTransaction.data.gasToken,\n safeTransaction.data.refundReceiver,\n safeTransaction.encodedSignatures()\n ], {\n ...options\n });\n }\n const txResponse = await this.contract.execTransaction(safeTransaction.data.to, safeTransaction.data.value, safeTransaction.data.data, safeTransaction.data.operation, safeTransaction.data.safeTxGas, safeTransaction.data.baseGas, safeTransaction.data.gasPrice, safeTransaction.data.gasToken, safeTransaction.data.refundReceiver, safeTransaction.encodedSignatures(), options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.estimateGas[methodName](...params, options)).toString();\n }\n}\nexports.default = GnosisSafeContractEthers;\n//# sourceMappingURL=GnosisSafeContractEthers.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst bignumber_1 = require(\"@ethersproject/bignumber\");\nclass GnosisSafeProxyFactoryEthersContract {\n constructor(contract) {\n this.contract = contract;\n }\n getAddress() {\n return this.contract.address;\n }\n async proxyCreationCode() {\n return this.contract.proxyCreationCode();\n }\n async createProxy({ safeMasterCopyAddress, initializer, saltNonce, options, callback }) {\n if (bignumber_1.BigNumber.from(saltNonce).lt(0))\n throw new Error('saltNonce must be greater than or equal to 0');\n if (options && !options.gasLimit) {\n options.gasLimit = await this.estimateGas('createProxyWithNonce', [safeMasterCopyAddress, initializer, saltNonce], {\n ...options\n });\n }\n const proxyAddress = this.contract\n .createProxyWithNonce(safeMasterCopyAddress, initializer, saltNonce, options)\n .then(async (txResponse) => {\n var _a;\n if (callback) {\n callback(txResponse.hash);\n }\n const txReceipt = await txResponse.wait();\n const proxyCreationEvent = (_a = txReceipt === null || txReceipt === void 0 ? void 0 : txReceipt.events) === null || _a === void 0 ? void 0 : _a.find(({ event }) => event === 'ProxyCreation');\n if (!proxyCreationEvent || !proxyCreationEvent.args) {\n throw new Error('SafeProxy was not deployed correctly');\n }\n const proxyAddress = proxyCreationEvent.args[0];\n return proxyAddress;\n });\n return proxyAddress;\n }\n encode(methodName, params) {\n return this.contract.interface.encodeFunctionData(methodName, params);\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.estimateGas[methodName](...params, options)).toString();\n }\n}\nexports.default = GnosisSafeProxyFactoryEthersContract;\n//# sourceMappingURL=GnosisSafeProxyFactoryEthersContract.js.map",null,"\"use strict\";\n/**\n * BigNumber\n *\n * A wrapper around the BN.js object. We use the BN.js library\n * because it is used by elliptic, so it is required regardless.\n *\n */\nimport _BN from \"bn.js\";\nvar BN = _BN.BN;\nimport { hexlify, isBytes, isHexString } from \"@ethersproject/bytes\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nconst _constructorGuard = {};\nconst MAX_SAFE = 0x1fffffffffffff;\nexport function isBigNumberish(value) {\n return (value != null) && (BigNumber.isBigNumber(value) ||\n (typeof (value) === \"number\" && (value % 1) === 0) ||\n (typeof (value) === \"string\" && !!value.match(/^-?[0-9]+$/)) ||\n isHexString(value) ||\n (typeof (value) === \"bigint\") ||\n isBytes(value));\n}\n// Only warn about passing 10 into radix once\nlet _warnedToStringRadix = false;\nexport class BigNumber {\n constructor(constructorGuard, hex) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"cannot call constructor directly; use BigNumber.from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new (BigNumber)\"\n });\n }\n this._hex = hex;\n this._isBigNumber = true;\n Object.freeze(this);\n }\n fromTwos(value) {\n return toBigNumber(toBN(this).fromTwos(value));\n }\n toTwos(value) {\n return toBigNumber(toBN(this).toTwos(value));\n }\n abs() {\n if (this._hex[0] === \"-\") {\n return BigNumber.from(this._hex.substring(1));\n }\n return this;\n }\n add(other) {\n return toBigNumber(toBN(this).add(toBN(other)));\n }\n sub(other) {\n return toBigNumber(toBN(this).sub(toBN(other)));\n }\n div(other) {\n const o = BigNumber.from(other);\n if (o.isZero()) {\n throwFault(\"division-by-zero\", \"div\");\n }\n return toBigNumber(toBN(this).div(toBN(other)));\n }\n mul(other) {\n return toBigNumber(toBN(this).mul(toBN(other)));\n }\n mod(other) {\n const value = toBN(other);\n if (value.isNeg()) {\n throwFault(\"division-by-zero\", \"mod\");\n }\n return toBigNumber(toBN(this).umod(value));\n }\n pow(other) {\n const value = toBN(other);\n if (value.isNeg()) {\n throwFault(\"negative-power\", \"pow\");\n }\n return toBigNumber(toBN(this).pow(value));\n }\n and(other) {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"unbound-bitwise-result\", \"and\");\n }\n return toBigNumber(toBN(this).and(value));\n }\n or(other) {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"unbound-bitwise-result\", \"or\");\n }\n return toBigNumber(toBN(this).or(value));\n }\n xor(other) {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"unbound-bitwise-result\", \"xor\");\n }\n return toBigNumber(toBN(this).xor(value));\n }\n mask(value) {\n if (this.isNegative() || value < 0) {\n throwFault(\"negative-width\", \"mask\");\n }\n return toBigNumber(toBN(this).maskn(value));\n }\n shl(value) {\n if (this.isNegative() || value < 0) {\n throwFault(\"negative-width\", \"shl\");\n }\n return toBigNumber(toBN(this).shln(value));\n }\n shr(value) {\n if (this.isNegative() || value < 0) {\n throwFault(\"negative-width\", \"shr\");\n }\n return toBigNumber(toBN(this).shrn(value));\n }\n eq(other) {\n return toBN(this).eq(toBN(other));\n }\n lt(other) {\n return toBN(this).lt(toBN(other));\n }\n lte(other) {\n return toBN(this).lte(toBN(other));\n }\n gt(other) {\n return toBN(this).gt(toBN(other));\n }\n gte(other) {\n return toBN(this).gte(toBN(other));\n }\n isNegative() {\n return (this._hex[0] === \"-\");\n }\n isZero() {\n return toBN(this).isZero();\n }\n toNumber() {\n try {\n return toBN(this).toNumber();\n }\n catch (error) {\n throwFault(\"overflow\", \"toNumber\", this.toString());\n }\n return null;\n }\n toBigInt() {\n try {\n return BigInt(this.toString());\n }\n catch (e) { }\n return logger.throwError(\"this platform does not support BigInt\", Logger.errors.UNSUPPORTED_OPERATION, {\n value: this.toString()\n });\n }\n toString() {\n // Lots of people expect this, which we do not support, so check (See: #889)\n if (arguments.length > 0) {\n if (arguments[0] === 10) {\n if (!_warnedToStringRadix) {\n _warnedToStringRadix = true;\n logger.warn(\"BigNumber.toString does not accept any parameters; base-10 is assumed\");\n }\n }\n else if (arguments[0] === 16) {\n logger.throwError(\"BigNumber.toString does not accept any parameters; use bigNumber.toHexString()\", Logger.errors.UNEXPECTED_ARGUMENT, {});\n }\n else {\n logger.throwError(\"BigNumber.toString does not accept parameters\", Logger.errors.UNEXPECTED_ARGUMENT, {});\n }\n }\n return toBN(this).toString(10);\n }\n toHexString() {\n return this._hex;\n }\n toJSON(key) {\n return { type: \"BigNumber\", hex: this.toHexString() };\n }\n static from(value) {\n if (value instanceof BigNumber) {\n return value;\n }\n if (typeof (value) === \"string\") {\n if (value.match(/^-?0x[0-9a-f]+$/i)) {\n return new BigNumber(_constructorGuard, toHex(value));\n }\n if (value.match(/^-?[0-9]+$/)) {\n return new BigNumber(_constructorGuard, toHex(new BN(value)));\n }\n return logger.throwArgumentError(\"invalid BigNumber string\", \"value\", value);\n }\n if (typeof (value) === \"number\") {\n if (value % 1) {\n throwFault(\"underflow\", \"BigNumber.from\", value);\n }\n if (value >= MAX_SAFE || value <= -MAX_SAFE) {\n throwFault(\"overflow\", \"BigNumber.from\", value);\n }\n return BigNumber.from(String(value));\n }\n const anyValue = value;\n if (typeof (anyValue) === \"bigint\") {\n return BigNumber.from(anyValue.toString());\n }\n if (isBytes(anyValue)) {\n return BigNumber.from(hexlify(anyValue));\n }\n if (anyValue) {\n // Hexable interface (takes priority)\n if (anyValue.toHexString) {\n const hex = anyValue.toHexString();\n if (typeof (hex) === \"string\") {\n return BigNumber.from(hex);\n }\n }\n else {\n // For now, handle legacy JSON-ified values (goes away in v6)\n let hex = anyValue._hex;\n // New-form JSON\n if (hex == null && anyValue.type === \"BigNumber\") {\n hex = anyValue.hex;\n }\n if (typeof (hex) === \"string\") {\n if (isHexString(hex) || (hex[0] === \"-\" && isHexString(hex.substring(1)))) {\n return BigNumber.from(hex);\n }\n }\n }\n }\n return logger.throwArgumentError(\"invalid BigNumber value\", \"value\", value);\n }\n static isBigNumber(value) {\n return !!(value && value._isBigNumber);\n }\n}\n// Normalize the hex string\nfunction toHex(value) {\n // For BN, call on the hex string\n if (typeof (value) !== \"string\") {\n return toHex(value.toString(16));\n }\n // If negative, prepend the negative sign to the normalized positive value\n if (value[0] === \"-\") {\n // Strip off the negative sign\n value = value.substring(1);\n // Cannot have multiple negative signs (e.g. \"--0x04\")\n if (value[0] === \"-\") {\n logger.throwArgumentError(\"invalid hex\", \"value\", value);\n }\n // Call toHex on the positive component\n value = toHex(value);\n // Do not allow \"-0x00\"\n if (value === \"0x00\") {\n return value;\n }\n // Negate the value\n return \"-\" + value;\n }\n // Add a \"0x\" prefix if missing\n if (value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n // Normalize zero\n if (value === \"0x\") {\n return \"0x00\";\n }\n // Make the string even length\n if (value.length % 2) {\n value = \"0x0\" + value.substring(2);\n }\n // Trim to smallest even-length string\n while (value.length > 4 && value.substring(0, 4) === \"0x00\") {\n value = \"0x\" + value.substring(4);\n }\n return value;\n}\nfunction toBigNumber(value) {\n return BigNumber.from(toHex(value));\n}\nfunction toBN(value) {\n const hex = BigNumber.from(value).toHexString();\n if (hex[0] === \"-\") {\n return (new BN(\"-\" + hex.substring(3), 16));\n }\n return new BN(hex.substring(2), 16);\n}\nfunction throwFault(fault, operation, value) {\n const params = { fault: fault, operation: operation };\n if (value != null) {\n params.value = value;\n }\n return logger.throwError(fault, Logger.errors.NUMERIC_FAULT, params);\n}\n// value should have no prefix\nexport function _base36To16(value) {\n return (new BN(value, 36)).toString(16);\n}\n// value should have no prefix\nexport function _base16To36(value) {\n return (new BN(value, 16)).toString(36);\n}\n//# sourceMappingURL=bignumber.js.map","\"use strict\";\n\n/**\n * BigNumber\n *\n * A wrapper around the BN.js object. We use the BN.js library\n * because it is used by elliptic, so it is required regardless.\n *\n */\n\nimport _BN from \"bn.js\";\nimport BN = _BN.BN;\n\nimport { Bytes, Hexable, hexlify, isBytes, isHexString } from \"@ethersproject/bytes\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nconst _constructorGuard = { };\n\nconst MAX_SAFE = 0x1fffffffffffff;\n\n\nexport type BigNumberish = BigNumber | Bytes | bigint | string | number;\n\nexport function isBigNumberish(value: any): value is BigNumberish {\n return (value != null) && (\n BigNumber.isBigNumber(value) ||\n (typeof(value) === \"number\" && (value % 1) === 0) ||\n (typeof(value) === \"string\" && !!value.match(/^-?[0-9]+$/)) ||\n isHexString(value) ||\n (typeof(value) === \"bigint\") ||\n isBytes(value)\n );\n}\n\n// Only warn about passing 10 into radix once\nlet _warnedToStringRadix = false;\n\nexport class BigNumber implements Hexable {\n readonly _hex: string;\n readonly _isBigNumber: boolean;\n\n constructor(constructorGuard: any, hex: string) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"cannot call constructor directly; use BigNumber.from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new (BigNumber)\"\n });\n }\n\n this._hex = hex;\n this._isBigNumber = true;\n\n Object.freeze(this);\n }\n\n fromTwos(value: number): BigNumber {\n return toBigNumber(toBN(this).fromTwos(value));\n }\n\n toTwos(value: number): BigNumber {\n return toBigNumber(toBN(this).toTwos(value));\n }\n\n abs(): BigNumber {\n if (this._hex[0] === \"-\") {\n return BigNumber.from(this._hex.substring(1));\n }\n return this;\n }\n\n add(other: BigNumberish): BigNumber {\n return toBigNumber(toBN(this).add(toBN(other)));\n }\n\n sub(other: BigNumberish): BigNumber {\n return toBigNumber(toBN(this).sub(toBN(other)));\n }\n\n div(other: BigNumberish): BigNumber {\n const o = BigNumber.from(other);\n if (o.isZero()) {\n throwFault(\"division-by-zero\", \"div\");\n }\n return toBigNumber(toBN(this).div(toBN(other)));\n }\n\n mul(other: BigNumberish): BigNumber {\n return toBigNumber(toBN(this).mul(toBN(other)));\n }\n\n mod(other: BigNumberish): BigNumber {\n const value = toBN(other);\n if (value.isNeg()) {\n throwFault(\"division-by-zero\", \"mod\");\n }\n return toBigNumber(toBN(this).umod(value));\n }\n\n pow(other: BigNumberish): BigNumber {\n const value = toBN(other);\n if (value.isNeg()) {\n throwFault(\"negative-power\", \"pow\");\n }\n return toBigNumber(toBN(this).pow(value));\n }\n\n and(other: BigNumberish): BigNumber {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"unbound-bitwise-result\", \"and\");\n }\n return toBigNumber(toBN(this).and(value));\n }\n\n or(other: BigNumberish): BigNumber {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"unbound-bitwise-result\", \"or\");\n }\n return toBigNumber(toBN(this).or(value));\n }\n\n xor(other: BigNumberish): BigNumber {\n const value = toBN(other);\n if (this.isNegative() || value.isNeg()) {\n throwFault(\"unbound-bitwise-result\", \"xor\");\n }\n return toBigNumber(toBN(this).xor(value));\n }\n\n mask(value: number): BigNumber {\n if (this.isNegative() || value < 0) {\n throwFault(\"negative-width\", \"mask\");\n }\n return toBigNumber(toBN(this).maskn(value));\n }\n\n shl(value: number): BigNumber {\n if (this.isNegative() || value < 0) {\n throwFault(\"negative-width\", \"shl\");\n }\n return toBigNumber(toBN(this).shln(value));\n }\n\n shr(value: number): BigNumber {\n if (this.isNegative() || value < 0) {\n throwFault(\"negative-width\", \"shr\");\n }\n return toBigNumber(toBN(this).shrn(value));\n }\n\n eq(other: BigNumberish): boolean {\n return toBN(this).eq(toBN(other));\n }\n\n lt(other: BigNumberish): boolean {\n return toBN(this).lt(toBN(other));\n }\n\n lte(other: BigNumberish): boolean {\n return toBN(this).lte(toBN(other));\n }\n\n gt(other: BigNumberish): boolean {\n return toBN(this).gt(toBN(other));\n }\n\n gte(other: BigNumberish): boolean {\n return toBN(this).gte(toBN(other));\n }\n\n isNegative(): boolean {\n return (this._hex[0] === \"-\");\n }\n\n isZero(): boolean {\n return toBN(this).isZero();\n }\n\n toNumber(): number {\n try {\n return toBN(this).toNumber();\n } catch (error) {\n throwFault(\"overflow\", \"toNumber\", this.toString());\n }\n return null;\n }\n\n toBigInt(): bigint {\n try {\n return BigInt(this.toString());\n } catch (e) { }\n\n return logger.throwError(\"this platform does not support BigInt\", Logger.errors.UNSUPPORTED_OPERATION, {\n value: this.toString()\n });\n }\n\n toString(): string {\n // Lots of people expect this, which we do not support, so check (See: #889)\n if (arguments.length > 0) {\n if (arguments[0] === 10) {\n if (!_warnedToStringRadix) {\n _warnedToStringRadix = true;\n logger.warn(\"BigNumber.toString does not accept any parameters; base-10 is assumed\");\n }\n } else if (arguments[0] === 16) {\n logger.throwError(\"BigNumber.toString does not accept any parameters; use bigNumber.toHexString()\", Logger.errors.UNEXPECTED_ARGUMENT, { });\n } else {\n logger.throwError(\"BigNumber.toString does not accept parameters\", Logger.errors.UNEXPECTED_ARGUMENT, { });\n }\n }\n return toBN(this).toString(10);\n }\n\n toHexString(): string {\n return this._hex;\n }\n\n toJSON(key?: string): any {\n return { type: \"BigNumber\", hex: this.toHexString() };\n }\n\n static from(value: any): BigNumber {\n if (value instanceof BigNumber) { return value; }\n\n if (typeof(value) === \"string\") {\n if (value.match(/^-?0x[0-9a-f]+$/i)) {\n return new BigNumber(_constructorGuard, toHex(value));\n }\n\n if (value.match(/^-?[0-9]+$/)) {\n return new BigNumber(_constructorGuard, toHex(new BN(value)));\n }\n\n return logger.throwArgumentError(\"invalid BigNumber string\", \"value\", value);\n }\n\n if (typeof(value) === \"number\") {\n if (value % 1) {\n throwFault(\"underflow\", \"BigNumber.from\", value);\n }\n\n if (value >= MAX_SAFE || value <= -MAX_SAFE) {\n throwFault(\"overflow\", \"BigNumber.from\", value);\n }\n\n return BigNumber.from(String(value));\n }\n\n const anyValue = value;\n\n if (typeof(anyValue) === \"bigint\") {\n return BigNumber.from(anyValue.toString());\n }\n\n if (isBytes(anyValue)) {\n return BigNumber.from(hexlify(anyValue));\n }\n\n if (anyValue) {\n\n // Hexable interface (takes priority)\n if (anyValue.toHexString) {\n const hex = anyValue.toHexString();\n if (typeof(hex) === \"string\") {\n return BigNumber.from(hex);\n }\n\n } else {\n // For now, handle legacy JSON-ified values (goes away in v6)\n let hex = anyValue._hex;\n\n // New-form JSON\n if (hex == null && anyValue.type === \"BigNumber\") {\n hex = anyValue.hex;\n }\n\n if (typeof(hex) === \"string\") {\n if (isHexString(hex) || (hex[0] === \"-\" && isHexString(hex.substring(1)))) {\n return BigNumber.from(hex);\n }\n }\n }\n }\n\n return logger.throwArgumentError(\"invalid BigNumber value\", \"value\", value);\n }\n\n static isBigNumber(value: any): value is BigNumber {\n return !!(value && value._isBigNumber);\n }\n}\n\n// Normalize the hex string\nfunction toHex(value: string | BN): string {\n\n // For BN, call on the hex string\n if (typeof(value) !== \"string\") {\n return toHex(value.toString(16));\n }\n\n // If negative, prepend the negative sign to the normalized positive value\n if (value[0] === \"-\") {\n // Strip off the negative sign\n value = value.substring(1);\n\n // Cannot have multiple negative signs (e.g. \"--0x04\")\n if (value[0] === \"-\") { logger.throwArgumentError(\"invalid hex\", \"value\", value); }\n\n // Call toHex on the positive component\n value = toHex(value);\n\n // Do not allow \"-0x00\"\n if (value === \"0x00\") { return value; }\n\n // Negate the value\n return \"-\" + value;\n }\n\n // Add a \"0x\" prefix if missing\n if (value.substring(0, 2) !== \"0x\") { value = \"0x\" + value; }\n\n // Normalize zero\n if (value === \"0x\") { return \"0x00\"; }\n\n // Make the string even length\n if (value.length % 2) { value = \"0x0\" + value.substring(2); }\n\n // Trim to smallest even-length string\n while (value.length > 4 && value.substring(0, 4) === \"0x00\") {\n value = \"0x\" + value.substring(4);\n }\n\n return value;\n}\n\nfunction toBigNumber(value: BN): BigNumber {\n return BigNumber.from(toHex(value));\n}\n\nfunction toBN(value: BigNumberish): BN {\n const hex = BigNumber.from(value).toHexString();\n if (hex[0] === \"-\") {\n return (new BN(\"-\" + hex.substring(3), 16));\n }\n return new BN(hex.substring(2), 16);\n}\n\nfunction throwFault(fault: string, operation: string, value?: any): never {\n const params: any = { fault: fault, operation: operation };\n if (value != null) { params.value = value; }\n\n return logger.throwError(fault, Logger.errors.NUMERIC_FAULT, params);\n}\n\n// value should have no prefix\nexport function _base36To16(value: string): string {\n return (new BN(value, 36)).toString(16);\n}\n\n// value should have no prefix\nexport function _base16To36(value: string): string {\n return (new BN(value, 16)).toString(36);\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [number & 0x3ffffff];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [0];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this._strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // '0' - '9'\n if (c >= 48 && c <= 57) {\n return c - 48;\n // 'A' - 'F'\n } else if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n } else {\n assert(false, 'Invalid character in ' + string);\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this._strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var b = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n b = c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n b = c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n b = c;\n }\n assert(c >= 0 && b < mul, 'Invalid character');\n r += b;\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [0];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this._strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n function move (dest, src) {\n dest.words = src.words;\n dest.length = src.length;\n dest.negative = src.negative;\n dest.red = src.red;\n }\n\n BN.prototype._move = function _move (dest) {\n move(dest, this);\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype._strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n // Check Symbol.for because not everywhere where Symbol defined\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol#Browser_compatibility\n if (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function') {\n try {\n BN.prototype[Symbol.for('nodejs.util.inspect.custom')] = inspect;\n } catch (e) {\n BN.prototype.inspect = inspect;\n }\n } else {\n BN.prototype.inspect = inspect;\n }\n\n function inspect () {\n return (this.red ? '';\n }\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modrn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16, 2);\n };\n\n if (Buffer) {\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n return this.toArrayLike(Buffer, endian, length);\n };\n }\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n var allocate = function allocate (ArrayType, size) {\n if (ArrayType.allocUnsafe) {\n return ArrayType.allocUnsafe(size);\n }\n return new ArrayType(size);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n this._strip();\n\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n var res = allocate(ArrayType, reqLength);\n var postfix = endian === 'le' ? 'LE' : 'BE';\n this['_toArrayLike' + postfix](res, byteLength);\n return res;\n };\n\n BN.prototype._toArrayLikeLE = function _toArrayLikeLE (res, byteLength) {\n var position = 0;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position++] = word & 0xff;\n if (position < res.length) {\n res[position++] = (word >> 8) & 0xff;\n }\n if (position < res.length) {\n res[position++] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position < res.length) {\n res[position++] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position < res.length) {\n res[position++] = carry;\n\n while (position < res.length) {\n res[position++] = 0;\n }\n }\n };\n\n BN.prototype._toArrayLikeBE = function _toArrayLikeBE (res, byteLength) {\n var position = res.length - 1;\n var carry = 0;\n\n for (var i = 0, shift = 0; i < this.length; i++) {\n var word = (this.words[i] << shift) | carry;\n\n res[position--] = word & 0xff;\n if (position >= 0) {\n res[position--] = (word >> 8) & 0xff;\n }\n if (position >= 0) {\n res[position--] = (word >> 16) & 0xff;\n }\n\n if (shift === 6) {\n if (position >= 0) {\n res[position--] = (word >> 24) & 0xff;\n }\n carry = 0;\n shift = 0;\n } else {\n carry = word >>> 24;\n shift += 2;\n }\n }\n\n if (position >= 0) {\n res[position--] = carry;\n\n while (position >= 0) {\n res[position--] = 0;\n }\n }\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] >>> wbit) & 0x01;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this._strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this._strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this._strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this._strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this._strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this._strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out._strip();\n }\n\n function jumboMulTo (self, num, out) {\n // Temporary disable, see https://github.com/indutny/bn.js/issues/211\n // var fftm = new FFTM();\n // return fftm.mulp(self, num, out);\n return bigMulTo(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out._strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this._strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this._strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) <= num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this._strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this._strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this._strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q._strip();\n }\n a._strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modrn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || (r2 === 1 && cmp === 0)) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modrn = function modrn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return isNegNum ? -acc : acc;\n };\n\n // WARNING: DEPRECATED\n BN.prototype.modn = function modn (num) {\n return this.modrn(num);\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n var isNegNum = num < 0;\n if (isNegNum) num = -num;\n\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n this._strip();\n return isNegNum ? this.ineg() : this;\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this._strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is a BN v4 instance\n r.strip();\n } else {\n // r is a BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n\n move(a, a.umod(this.m)._forceRed(this));\n return a;\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","\"use strict\";","\"use strict\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n///////////////////////////////\nfunction isHexable(value) {\n return !!(value.toHexString);\n}\nfunction addSlice(array) {\n if (array.slice) {\n return array;\n }\n array.slice = function () {\n const args = Array.prototype.slice.call(arguments);\n return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args)));\n };\n return array;\n}\nexport function isBytesLike(value) {\n return ((isHexString(value) && !(value.length % 2)) || isBytes(value));\n}\nfunction isInteger(value) {\n return (typeof (value) === \"number\" && value == value && (value % 1) === 0);\n}\nexport function isBytes(value) {\n if (value == null) {\n return false;\n }\n if (value.constructor === Uint8Array) {\n return true;\n }\n if (typeof (value) === \"string\") {\n return false;\n }\n if (!isInteger(value.length) || value.length < 0) {\n return false;\n }\n for (let i = 0; i < value.length; i++) {\n const v = value[i];\n if (!isInteger(v) || v < 0 || v >= 256) {\n return false;\n }\n }\n return true;\n}\nexport function arrayify(value, options) {\n if (!options) {\n options = {};\n }\n if (typeof (value) === \"number\") {\n logger.checkSafeUint53(value, \"invalid arrayify value\");\n const result = [];\n while (value) {\n result.unshift(value & 0xff);\n value = parseInt(String(value / 256));\n }\n if (result.length === 0) {\n result.push(0);\n }\n return addSlice(new Uint8Array(result));\n }\n if (options.allowMissingPrefix && typeof (value) === \"string\" && value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n if (isHexable(value)) {\n value = value.toHexString();\n }\n if (isHexString(value)) {\n let hex = value.substring(2);\n if (hex.length % 2) {\n if (options.hexPad === \"left\") {\n hex = \"0\" + hex;\n }\n else if (options.hexPad === \"right\") {\n hex += \"0\";\n }\n else {\n logger.throwArgumentError(\"hex data is odd-length\", \"value\", value);\n }\n }\n const result = [];\n for (let i = 0; i < hex.length; i += 2) {\n result.push(parseInt(hex.substring(i, i + 2), 16));\n }\n return addSlice(new Uint8Array(result));\n }\n if (isBytes(value)) {\n return addSlice(new Uint8Array(value));\n }\n return logger.throwArgumentError(\"invalid arrayify value\", \"value\", value);\n}\nexport function concat(items) {\n const objects = items.map(item => arrayify(item));\n const length = objects.reduce((accum, item) => (accum + item.length), 0);\n const result = new Uint8Array(length);\n objects.reduce((offset, object) => {\n result.set(object, offset);\n return offset + object.length;\n }, 0);\n return addSlice(result);\n}\nexport function stripZeros(value) {\n let result = arrayify(value);\n if (result.length === 0) {\n return result;\n }\n // Find the first non-zero entry\n let start = 0;\n while (start < result.length && result[start] === 0) {\n start++;\n }\n // If we started with zeros, strip them\n if (start) {\n result = result.slice(start);\n }\n return result;\n}\nexport function zeroPad(value, length) {\n value = arrayify(value);\n if (value.length > length) {\n logger.throwArgumentError(\"value out of range\", \"value\", arguments[0]);\n }\n const result = new Uint8Array(length);\n result.set(value, length - value.length);\n return addSlice(result);\n}\nexport function isHexString(value, length) {\n if (typeof (value) !== \"string\" || !value.match(/^0x[0-9A-Fa-f]*$/)) {\n return false;\n }\n if (length && value.length !== 2 + 2 * length) {\n return false;\n }\n return true;\n}\nconst HexCharacters = \"0123456789abcdef\";\nexport function hexlify(value, options) {\n if (!options) {\n options = {};\n }\n if (typeof (value) === \"number\") {\n logger.checkSafeUint53(value, \"invalid hexlify value\");\n let hex = \"\";\n while (value) {\n hex = HexCharacters[value & 0xf] + hex;\n value = Math.floor(value / 16);\n }\n if (hex.length) {\n if (hex.length % 2) {\n hex = \"0\" + hex;\n }\n return \"0x\" + hex;\n }\n return \"0x00\";\n }\n if (typeof (value) === \"bigint\") {\n value = value.toString(16);\n if (value.length % 2) {\n return (\"0x0\" + value);\n }\n return \"0x\" + value;\n }\n if (options.allowMissingPrefix && typeof (value) === \"string\" && value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n if (isHexable(value)) {\n return value.toHexString();\n }\n if (isHexString(value)) {\n if (value.length % 2) {\n if (options.hexPad === \"left\") {\n value = \"0x0\" + value.substring(2);\n }\n else if (options.hexPad === \"right\") {\n value += \"0\";\n }\n else {\n logger.throwArgumentError(\"hex data is odd-length\", \"value\", value);\n }\n }\n return value.toLowerCase();\n }\n if (isBytes(value)) {\n let result = \"0x\";\n for (let i = 0; i < value.length; i++) {\n let v = value[i];\n result += HexCharacters[(v & 0xf0) >> 4] + HexCharacters[v & 0x0f];\n }\n return result;\n }\n return logger.throwArgumentError(\"invalid hexlify value\", \"value\", value);\n}\n/*\nfunction unoddify(value: BytesLike | Hexable | number): BytesLike | Hexable | number {\n if (typeof(value) === \"string\" && value.length % 2 && value.substring(0, 2) === \"0x\") {\n return \"0x0\" + value.substring(2);\n }\n return value;\n}\n*/\nexport function hexDataLength(data) {\n if (typeof (data) !== \"string\") {\n data = hexlify(data);\n }\n else if (!isHexString(data) || (data.length % 2)) {\n return null;\n }\n return (data.length - 2) / 2;\n}\nexport function hexDataSlice(data, offset, endOffset) {\n if (typeof (data) !== \"string\") {\n data = hexlify(data);\n }\n else if (!isHexString(data) || (data.length % 2)) {\n logger.throwArgumentError(\"invalid hexData\", \"value\", data);\n }\n offset = 2 + 2 * offset;\n if (endOffset != null) {\n return \"0x\" + data.substring(offset, 2 + 2 * endOffset);\n }\n return \"0x\" + data.substring(offset);\n}\nexport function hexConcat(items) {\n let result = \"0x\";\n items.forEach((item) => {\n result += hexlify(item).substring(2);\n });\n return result;\n}\nexport function hexValue(value) {\n const trimmed = hexStripZeros(hexlify(value, { hexPad: \"left\" }));\n if (trimmed === \"0x\") {\n return \"0x0\";\n }\n return trimmed;\n}\nexport function hexStripZeros(value) {\n if (typeof (value) !== \"string\") {\n value = hexlify(value);\n }\n if (!isHexString(value)) {\n logger.throwArgumentError(\"invalid hex string\", \"value\", value);\n }\n value = value.substring(2);\n let offset = 0;\n while (offset < value.length && value[offset] === \"0\") {\n offset++;\n }\n return \"0x\" + value.substring(offset);\n}\nexport function hexZeroPad(value, length) {\n if (typeof (value) !== \"string\") {\n value = hexlify(value);\n }\n else if (!isHexString(value)) {\n logger.throwArgumentError(\"invalid hex string\", \"value\", value);\n }\n if (value.length > 2 * length + 2) {\n logger.throwArgumentError(\"value out of range\", \"value\", arguments[1]);\n }\n while (value.length < 2 * length + 2) {\n value = \"0x0\" + value.substring(2);\n }\n return value;\n}\nexport function splitSignature(signature) {\n const result = {\n r: \"0x\",\n s: \"0x\",\n _vs: \"0x\",\n recoveryParam: 0,\n v: 0,\n yParityAndS: \"0x\",\n compact: \"0x\"\n };\n if (isBytesLike(signature)) {\n let bytes = arrayify(signature);\n // Get the r, s and v\n if (bytes.length === 64) {\n // EIP-2098; pull the v from the top bit of s and clear it\n result.v = 27 + (bytes[32] >> 7);\n bytes[32] &= 0x7f;\n result.r = hexlify(bytes.slice(0, 32));\n result.s = hexlify(bytes.slice(32, 64));\n }\n else if (bytes.length === 65) {\n result.r = hexlify(bytes.slice(0, 32));\n result.s = hexlify(bytes.slice(32, 64));\n result.v = bytes[64];\n }\n else {\n logger.throwArgumentError(\"invalid signature string\", \"signature\", signature);\n }\n // Allow a recid to be used as the v\n if (result.v < 27) {\n if (result.v === 0 || result.v === 1) {\n result.v += 27;\n }\n else {\n logger.throwArgumentError(\"signature invalid v byte\", \"signature\", signature);\n }\n }\n // Compute recoveryParam from v\n result.recoveryParam = 1 - (result.v % 2);\n // Compute _vs from recoveryParam and s\n if (result.recoveryParam) {\n bytes[32] |= 0x80;\n }\n result._vs = hexlify(bytes.slice(32, 64));\n }\n else {\n result.r = signature.r;\n result.s = signature.s;\n result.v = signature.v;\n result.recoveryParam = signature.recoveryParam;\n result._vs = signature._vs;\n // If the _vs is available, use it to populate missing s, v and recoveryParam\n // and verify non-missing s, v and recoveryParam\n if (result._vs != null) {\n const vs = zeroPad(arrayify(result._vs), 32);\n result._vs = hexlify(vs);\n // Set or check the recid\n const recoveryParam = ((vs[0] >= 128) ? 1 : 0);\n if (result.recoveryParam == null) {\n result.recoveryParam = recoveryParam;\n }\n else if (result.recoveryParam !== recoveryParam) {\n logger.throwArgumentError(\"signature recoveryParam mismatch _vs\", \"signature\", signature);\n }\n // Set or check the s\n vs[0] &= 0x7f;\n const s = hexlify(vs);\n if (result.s == null) {\n result.s = s;\n }\n else if (result.s !== s) {\n logger.throwArgumentError(\"signature v mismatch _vs\", \"signature\", signature);\n }\n }\n // Use recid and v to populate each other\n if (result.recoveryParam == null) {\n if (result.v == null) {\n logger.throwArgumentError(\"signature missing v and recoveryParam\", \"signature\", signature);\n }\n else if (result.v === 0 || result.v === 1) {\n result.recoveryParam = result.v;\n }\n else {\n result.recoveryParam = 1 - (result.v % 2);\n }\n }\n else {\n if (result.v == null) {\n result.v = 27 + result.recoveryParam;\n }\n else {\n const recId = (result.v === 0 || result.v === 1) ? result.v : (1 - (result.v % 2));\n if (result.recoveryParam !== recId) {\n logger.throwArgumentError(\"signature recoveryParam mismatch v\", \"signature\", signature);\n }\n }\n }\n if (result.r == null || !isHexString(result.r)) {\n logger.throwArgumentError(\"signature missing or invalid r\", \"signature\", signature);\n }\n else {\n result.r = hexZeroPad(result.r, 32);\n }\n if (result.s == null || !isHexString(result.s)) {\n logger.throwArgumentError(\"signature missing or invalid s\", \"signature\", signature);\n }\n else {\n result.s = hexZeroPad(result.s, 32);\n }\n const vs = arrayify(result.s);\n if (vs[0] >= 128) {\n logger.throwArgumentError(\"signature s out of range\", \"signature\", signature);\n }\n if (result.recoveryParam) {\n vs[0] |= 0x80;\n }\n const _vs = hexlify(vs);\n if (result._vs) {\n if (!isHexString(result._vs)) {\n logger.throwArgumentError(\"signature invalid _vs\", \"signature\", signature);\n }\n result._vs = hexZeroPad(result._vs, 32);\n }\n // Set or check the _vs\n if (result._vs == null) {\n result._vs = _vs;\n }\n else if (result._vs !== _vs) {\n logger.throwArgumentError(\"signature _vs mismatch v and s\", \"signature\", signature);\n }\n }\n result.yParityAndS = result._vs;\n result.compact = result.r + result.yParityAndS.substring(2);\n return result;\n}\nexport function joinSignature(signature) {\n signature = splitSignature(signature);\n return hexlify(concat([\n signature.r,\n signature.s,\n (signature.recoveryParam ? \"0x1c\" : \"0x1b\")\n ]));\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n///////////////////////////////\n// Exported Types\n\nexport type Bytes = ArrayLike;\n\nexport type BytesLike = Bytes | string;\n\nexport type DataOptions = {\n allowMissingPrefix?: boolean;\n hexPad?: \"left\" | \"right\" | null;\n};\n\nexport interface Hexable {\n toHexString(): string;\n}\n\n\n/*\nexport interface HexString {\n length: number;\n substring: (start: number, end?: number) => string;\n\n [index: number]: string;\n}\n*/\n\nexport type SignatureLike = {\n r: string;\n s?: string;\n _vs?: string,\n recoveryParam?: number;\n v?: number;\n} | BytesLike;\n\nexport interface Signature {\n r: string;\n\n s: string;\n _vs: string,\n\n recoveryParam: number;\n v: number;\n\n yParityAndS: string\n compact: string;\n}\n\n///////////////////////////////\n\n\nfunction isHexable(value: any): value is Hexable {\n return !!(value.toHexString);\n}\n\nfunction addSlice(array: Uint8Array): Uint8Array {\n if (array.slice) { return array; }\n\n array.slice = function() {\n const args = Array.prototype.slice.call(arguments);\n return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args)));\n }\n\n return array;\n}\n\nexport function isBytesLike(value: any): value is BytesLike {\n return ((isHexString(value) && !(value.length % 2)) || isBytes(value));\n}\n\nfunction isInteger(value: number) {\n return (typeof(value) === \"number\" && value == value && (value % 1) === 0);\n}\n\nexport function isBytes(value: any): value is Bytes {\n if (value == null) { return false; }\n\n if (value.constructor === Uint8Array) { return true; }\n if (typeof(value) === \"string\") { return false; }\n if (!isInteger(value.length) || value.length < 0) { return false; }\n\n for (let i = 0; i < value.length; i++) {\n const v = value[i];\n if (!isInteger(v) || v < 0 || v >= 256) { return false; }\n }\n return true;\n}\n\n\nexport function arrayify(value: BytesLike | Hexable | number, options?: DataOptions): Uint8Array {\n if (!options) { options = { }; }\n\n if (typeof(value) === \"number\") {\n logger.checkSafeUint53(value, \"invalid arrayify value\");\n\n const result = [];\n while (value) {\n result.unshift(value & 0xff);\n value = parseInt(String(value / 256));\n }\n if (result.length === 0) { result.push(0); }\n\n return addSlice(new Uint8Array(result));\n }\n\n if (options.allowMissingPrefix && typeof(value) === \"string\" && value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n\n if (isHexable(value)) { value = value.toHexString(); }\n\n if (isHexString(value)) {\n let hex = (value).substring(2);\n if (hex.length % 2) {\n if (options.hexPad === \"left\") {\n hex = \"0\" + hex;\n } else if (options.hexPad === \"right\") {\n hex += \"0\";\n } else {\n logger.throwArgumentError(\"hex data is odd-length\", \"value\", value);\n }\n }\n\n const result = [];\n for (let i = 0; i < hex.length; i += 2) {\n result.push(parseInt(hex.substring(i, i + 2), 16));\n }\n\n return addSlice(new Uint8Array(result));\n }\n\n if (isBytes(value)) {\n return addSlice(new Uint8Array(value));\n }\n\n return logger.throwArgumentError(\"invalid arrayify value\", \"value\", value);\n}\n\nexport function concat(items: ReadonlyArray): Uint8Array {\n const objects = items.map(item => arrayify(item));\n const length = objects.reduce((accum, item) => (accum + item.length), 0);\n\n const result = new Uint8Array(length);\n\n objects.reduce((offset, object) => {\n result.set(object, offset);\n return offset + object.length;\n }, 0);\n\n return addSlice(result);\n}\n\nexport function stripZeros(value: BytesLike): Uint8Array {\n let result: Uint8Array = arrayify(value);\n\n if (result.length === 0) { return result; }\n\n // Find the first non-zero entry\n let start = 0;\n while (start < result.length && result[start] === 0) { start++ }\n\n // If we started with zeros, strip them\n if (start) {\n result = result.slice(start);\n }\n\n return result;\n}\n\nexport function zeroPad(value: BytesLike, length: number): Uint8Array {\n value = arrayify(value);\n\n if (value.length > length) {\n logger.throwArgumentError(\"value out of range\", \"value\", arguments[0]);\n }\n\n const result = new Uint8Array(length);\n result.set(value, length - value.length);\n return addSlice(result);\n}\n\n\nexport function isHexString(value: any, length?: number): boolean {\n if (typeof(value) !== \"string\" || !value.match(/^0x[0-9A-Fa-f]*$/)) {\n return false\n }\n if (length && value.length !== 2 + 2 * length) { return false; }\n return true;\n}\n\nconst HexCharacters: string = \"0123456789abcdef\";\n\nexport function hexlify(value: BytesLike | Hexable | number | bigint, options?: DataOptions): string {\n if (!options) { options = { }; }\n\n if (typeof(value) === \"number\") {\n logger.checkSafeUint53(value, \"invalid hexlify value\");\n\n let hex = \"\";\n while (value) {\n hex = HexCharacters[value & 0xf] + hex;\n value = Math.floor(value / 16);\n }\n\n if (hex.length) {\n if (hex.length % 2) { hex = \"0\" + hex; }\n return \"0x\" + hex;\n }\n\n return \"0x00\";\n }\n\n if (typeof(value) === \"bigint\") {\n value = value.toString(16);\n if (value.length % 2) { return (\"0x0\" + value); }\n return \"0x\" + value;\n }\n\n if (options.allowMissingPrefix && typeof(value) === \"string\" && value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n\n if (isHexable(value)) { return value.toHexString(); }\n\n if (isHexString(value)) {\n if ((value).length % 2) {\n if (options.hexPad === \"left\") {\n value = \"0x0\" + (value).substring(2);\n } else if (options.hexPad === \"right\") {\n value += \"0\";\n } else {\n logger.throwArgumentError(\"hex data is odd-length\", \"value\", value);\n }\n }\n return (value).toLowerCase();\n }\n\n if (isBytes(value)) {\n let result = \"0x\";\n for (let i = 0; i < value.length; i++) {\n let v = value[i];\n result += HexCharacters[(v & 0xf0) >> 4] + HexCharacters[v & 0x0f];\n }\n return result;\n }\n\n return logger.throwArgumentError(\"invalid hexlify value\", \"value\", value);\n}\n\n/*\nfunction unoddify(value: BytesLike | Hexable | number): BytesLike | Hexable | number {\n if (typeof(value) === \"string\" && value.length % 2 && value.substring(0, 2) === \"0x\") {\n return \"0x0\" + value.substring(2);\n }\n return value;\n}\n*/\nexport function hexDataLength(data: BytesLike) {\n if (typeof(data) !== \"string\") {\n data = hexlify(data);\n } else if (!isHexString(data) || (data.length % 2)) {\n return null;\n }\n\n return (data.length - 2) / 2;\n}\n\nexport function hexDataSlice(data: BytesLike, offset: number, endOffset?: number): string {\n if (typeof(data) !== \"string\") {\n data = hexlify(data);\n } else if (!isHexString(data) || (data.length % 2)) {\n logger.throwArgumentError(\"invalid hexData\", \"value\", data );\n }\n\n offset = 2 + 2 * offset;\n\n if (endOffset != null) {\n return \"0x\" + data.substring(offset, 2 + 2 * endOffset);\n }\n\n return \"0x\" + data.substring(offset);\n}\n\nexport function hexConcat(items: ReadonlyArray): string {\n let result = \"0x\";\n items.forEach((item) => {\n result += hexlify(item).substring(2);\n });\n return result;\n}\n\nexport function hexValue(value: BytesLike | Hexable | number | bigint): string {\n const trimmed = hexStripZeros(hexlify(value, { hexPad: \"left\" }));\n if (trimmed === \"0x\") { return \"0x0\"; }\n return trimmed;\n}\n\nexport function hexStripZeros(value: BytesLike): string {\n if (typeof(value) !== \"string\") { value = hexlify(value); }\n\n if (!isHexString(value)) {\n logger.throwArgumentError(\"invalid hex string\", \"value\", value);\n }\n value = value.substring(2);\n let offset = 0;\n while (offset < value.length && value[offset] === \"0\") { offset++; }\n return \"0x\" + value.substring(offset);\n}\n\nexport function hexZeroPad(value: BytesLike, length: number): string {\n if (typeof(value) !== \"string\") {\n value = hexlify(value);\n } else if (!isHexString(value)) {\n logger.throwArgumentError(\"invalid hex string\", \"value\", value);\n }\n\n if (value.length > 2 * length + 2) {\n logger.throwArgumentError(\"value out of range\", \"value\", arguments[1]);\n }\n\n while (value.length < 2 * length + 2) {\n value = \"0x0\" + value.substring(2);\n }\n\n return value;\n}\n\nexport function splitSignature(signature: SignatureLike): Signature {\n\n const result = {\n r: \"0x\",\n s: \"0x\",\n _vs: \"0x\",\n recoveryParam: 0,\n v: 0,\n yParityAndS: \"0x\",\n compact: \"0x\"\n };\n\n if (isBytesLike(signature)) {\n let bytes: Uint8Array = arrayify(signature);\n\n // Get the r, s and v\n if (bytes.length === 64) {\n // EIP-2098; pull the v from the top bit of s and clear it\n result.v = 27 + (bytes[32] >> 7);\n bytes[32] &= 0x7f;\n\n result.r = hexlify(bytes.slice(0, 32));\n result.s = hexlify(bytes.slice(32, 64));\n\n } else if (bytes.length === 65) {\n result.r = hexlify(bytes.slice(0, 32));\n result.s = hexlify(bytes.slice(32, 64));\n result.v = bytes[64];\n } else {\n\n logger.throwArgumentError(\"invalid signature string\", \"signature\", signature);\n }\n\n\n // Allow a recid to be used as the v\n if (result.v < 27) {\n if (result.v === 0 || result.v === 1) {\n result.v += 27;\n } else {\n logger.throwArgumentError(\"signature invalid v byte\", \"signature\", signature);\n }\n }\n\n // Compute recoveryParam from v\n result.recoveryParam = 1 - (result.v % 2);\n\n // Compute _vs from recoveryParam and s\n if (result.recoveryParam) { bytes[32] |= 0x80; }\n result._vs = hexlify(bytes.slice(32, 64))\n\n } else {\n result.r = signature.r;\n result.s = signature.s;\n result.v = signature.v;\n result.recoveryParam = signature.recoveryParam;\n result._vs = signature._vs;\n\n // If the _vs is available, use it to populate missing s, v and recoveryParam\n // and verify non-missing s, v and recoveryParam\n if (result._vs != null) {\n const vs = zeroPad(arrayify(result._vs), 32);\n result._vs = hexlify(vs);\n\n // Set or check the recid\n const recoveryParam = ((vs[0] >= 128) ? 1: 0);\n if (result.recoveryParam == null) {\n result.recoveryParam = recoveryParam;\n } else if (result.recoveryParam !== recoveryParam) {\n logger.throwArgumentError(\"signature recoveryParam mismatch _vs\", \"signature\", signature);\n }\n\n // Set or check the s\n vs[0] &= 0x7f;\n const s = hexlify(vs);\n if (result.s == null) {\n result.s = s;\n } else if (result.s !== s) {\n logger.throwArgumentError(\"signature v mismatch _vs\", \"signature\", signature);\n }\n }\n\n // Use recid and v to populate each other\n if (result.recoveryParam == null) {\n if (result.v == null) {\n logger.throwArgumentError(\"signature missing v and recoveryParam\", \"signature\", signature);\n } else if (result.v === 0 || result.v === 1) {\n result.recoveryParam = result.v;\n } else {\n result.recoveryParam = 1 - (result.v % 2);\n }\n } else {\n if (result.v == null) {\n result.v = 27 + result.recoveryParam;\n } else {\n const recId = (result.v === 0 || result.v === 1) ? result.v :(1 - (result.v % 2));\n if (result.recoveryParam !== recId) {\n logger.throwArgumentError(\"signature recoveryParam mismatch v\", \"signature\", signature);\n }\n }\n }\n\n if (result.r == null || !isHexString(result.r)) {\n logger.throwArgumentError(\"signature missing or invalid r\", \"signature\", signature);\n } else {\n result.r = hexZeroPad(result.r, 32);\n }\n\n if (result.s == null || !isHexString(result.s)) {\n logger.throwArgumentError(\"signature missing or invalid s\", \"signature\", signature);\n } else {\n result.s = hexZeroPad(result.s, 32);\n }\n\n const vs = arrayify(result.s);\n if (vs[0] >= 128) {\n logger.throwArgumentError(\"signature s out of range\", \"signature\", signature);\n }\n if (result.recoveryParam) { vs[0] |= 0x80; }\n const _vs = hexlify(vs);\n\n if (result._vs) {\n if (!isHexString(result._vs)) {\n logger.throwArgumentError(\"signature invalid _vs\", \"signature\", signature);\n }\n result._vs = hexZeroPad(result._vs, 32);\n }\n\n // Set or check the _vs\n if (result._vs == null) {\n result._vs = _vs;\n } else if (result._vs !== _vs) {\n logger.throwArgumentError(\"signature _vs mismatch v and s\", \"signature\", signature);\n }\n }\n\n result.yParityAndS = result._vs;\n result.compact = result.r + result.yParityAndS.substring(2);\n\n return result;\n}\n\nexport function joinSignature(signature: SignatureLike): string {\n signature = splitSignature(signature);\n\n return hexlify(concat([\n signature.r,\n signature.s,\n (signature.recoveryParam ? \"0x1c\": \"0x1b\")\n ]));\n}\n\n","export const version = \"bytes/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"bytes/5.7.0\";\n","export const version = \"bignumber/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"bignumber/5.7.0\";\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass MultiSendEthersContract {\n constructor(contract) {\n this.contract = contract;\n this.encode = (methodName, params) => {\n return this.contract.interface.encodeFunctionData(methodName, params);\n };\n }\n getAddress() {\n return this.contract.address;\n }\n}\nexports.default = MultiSendEthersContract;\n//# sourceMappingURL=MultiSendEthersContract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass MultiSendCallOnlyEthersContract {\n constructor(contract) {\n this.contract = contract;\n this.encode = (methodName, params) => {\n return this.contract.interface.encodeFunctionData(methodName, params);\n };\n }\n getAddress() {\n return this.contract.address;\n }\n}\nexports.default = MultiSendCallOnlyEthersContract;\n//# sourceMappingURL=MultiSendCallOnlyEthersContract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils_1 = require(\"../../../../adapters/ethers/utils\");\nclass SignMessageLibEthersContract {\n constructor(contract) {\n this.contract = contract;\n this.encode = (methodName, params) => {\n return this.contract.interface.encodeFunctionData(methodName, params);\n };\n }\n getAddress() {\n return this.contract.address;\n }\n async signMessage(data, options) {\n if (options && !options.gasLimit) {\n options.gasLimit = await this.estimateGas('signMessage', [data], { ...options });\n }\n const txResponse = await this.contract.signMessage(data, options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async getMessageHash(message) {\n return this.contract.getMessageHash(message);\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.estimateGas[methodName](...params, options)).toString();\n }\n}\nexports.default = SignMessageLibEthersContract;\n//# sourceMappingURL=SignMessageLibEthersContract.js.map",null,"\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _EthersAdapter_ethers, _EthersAdapter_signer, _EthersAdapter_provider;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst bignumber_1 = require(\"@ethersproject/bignumber\");\nconst utils_1 = require(\"../../utils\");\nconst contractInstancesEthers_1 = require(\"./contracts/contractInstancesEthers\");\nconst utils_2 = require(\"./utils\");\nclass EthersAdapter {\n constructor({ ethers, signerOrProvider }) {\n _EthersAdapter_ethers.set(this, void 0);\n _EthersAdapter_signer.set(this, void 0);\n _EthersAdapter_provider.set(this, void 0);\n if (!ethers) {\n throw new Error('ethers property missing from options');\n }\n __classPrivateFieldSet(this, _EthersAdapter_ethers, ethers, \"f\");\n const isSigner = (0, utils_2.isSignerCompatible)(signerOrProvider);\n if (isSigner) {\n const signer = signerOrProvider;\n if (!signer.provider) {\n throw new Error('Signer must be connected to a provider');\n }\n __classPrivateFieldSet(this, _EthersAdapter_provider, signer.provider, \"f\");\n __classPrivateFieldSet(this, _EthersAdapter_signer, signer, \"f\");\n }\n else {\n __classPrivateFieldSet(this, _EthersAdapter_provider, signerOrProvider, \"f\");\n }\n }\n getProvider() {\n return __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\");\n }\n getSigner() {\n return __classPrivateFieldGet(this, _EthersAdapter_signer, \"f\");\n }\n isAddress(address) {\n return __classPrivateFieldGet(this, _EthersAdapter_ethers, \"f\").utils.isAddress(address);\n }\n async getEip3770Address(fullAddress) {\n const chainId = await this.getChainId();\n return (0, utils_1.validateEip3770Address)(fullAddress, chainId);\n }\n async getBalance(address, blockTag) {\n return bignumber_1.BigNumber.from(await __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\").getBalance(address, blockTag));\n }\n async getNonce(address, blockTag) {\n return __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\").getTransactionCount(address, blockTag);\n }\n async getChainId() {\n return (await __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\").getNetwork()).chainId;\n }\n getChecksummedAddress(address) {\n return __classPrivateFieldGet(this, _EthersAdapter_ethers, \"f\").utils.getAddress(address);\n }\n async getSafeContract({ safeVersion, singletonDeployment, customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid SafeProxy contract address');\n }\n const signerOrProvider = __classPrivateFieldGet(this, _EthersAdapter_signer, \"f\") || __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\");\n return (0, contractInstancesEthers_1.getSafeContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getSafeProxyFactoryContract({ safeVersion, singletonDeployment, customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid SafeProxyFactory contract address');\n }\n const signerOrProvider = __classPrivateFieldGet(this, _EthersAdapter_signer, \"f\") || __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\");\n return (0, contractInstancesEthers_1.getSafeProxyFactoryContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getMultiSendContract({ safeVersion, singletonDeployment, customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid MultiSend contract address');\n }\n const signerOrProvider = __classPrivateFieldGet(this, _EthersAdapter_signer, \"f\") || __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\");\n return (0, contractInstancesEthers_1.getMultiSendContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getMultiSendCallOnlyContract({ safeVersion, singletonDeployment, customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid MultiSendCallOnly contract address');\n }\n const signerOrProvider = __classPrivateFieldGet(this, _EthersAdapter_signer, \"f\") || __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\");\n return (0, contractInstancesEthers_1.getMultiSendCallOnlyContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getCompatibilityFallbackHandlerContract({ safeVersion, singletonDeployment, customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid CompatibilityFallbackHandler contract address');\n }\n const signerOrProvider = __classPrivateFieldGet(this, _EthersAdapter_signer, \"f\") || __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\");\n return (0, contractInstancesEthers_1.getCompatibilityFallbackHandlerContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getSignMessageLibContract({ safeVersion, singletonDeployment, customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid SignMessageLib contract address');\n }\n const signerOrProvider = __classPrivateFieldGet(this, _EthersAdapter_signer, \"f\") || __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\");\n return (0, contractInstancesEthers_1.getSignMessageLibContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getCreateCallContract({ safeVersion, singletonDeployment, customContractAddress }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid CreateCall contract address');\n }\n const signerOrProvider = __classPrivateFieldGet(this, _EthersAdapter_signer, \"f\") || __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\");\n return (0, contractInstancesEthers_1.getCreateCallContractInstance)(safeVersion, contractAddress, signerOrProvider);\n }\n async getContractCode(address, blockTag) {\n return __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\").getCode(address, blockTag);\n }\n async isContractDeployed(address, blockTag) {\n const contractCode = await __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\").getCode(address, blockTag);\n return contractCode !== '0x';\n }\n async getStorageAt(address, position) {\n const content = await __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\").getStorageAt(address, position);\n const decodedContent = this.decodeParameters(['address'], content);\n return decodedContent[0];\n }\n async getTransaction(transactionHash) {\n return __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\").getTransaction(transactionHash);\n }\n async getSignerAddress() {\n var _a;\n return (_a = __classPrivateFieldGet(this, _EthersAdapter_signer, \"f\")) === null || _a === void 0 ? void 0 : _a.getAddress();\n }\n signMessage(message) {\n if (!__classPrivateFieldGet(this, _EthersAdapter_signer, \"f\")) {\n throw new Error('EthAdapter must be initialized with a signer to use this method');\n }\n const messageArray = __classPrivateFieldGet(this, _EthersAdapter_ethers, \"f\").utils.arrayify(message);\n return __classPrivateFieldGet(this, _EthersAdapter_signer, \"f\").signMessage(messageArray);\n }\n async signTypedData(safeTransactionEIP712Args) {\n if (!__classPrivateFieldGet(this, _EthersAdapter_signer, \"f\")) {\n throw new Error('EthAdapter must be initialized with a signer to use this method');\n }\n if ((0, utils_2.isTypedDataSigner)(__classPrivateFieldGet(this, _EthersAdapter_signer, \"f\"))) {\n const typedData = (0, utils_1.generateTypedData)(safeTransactionEIP712Args);\n const signature = await __classPrivateFieldGet(this, _EthersAdapter_signer, \"f\")._signTypedData(typedData.domain, { SafeTx: typedData.types.SafeTx }, typedData.message);\n return signature;\n }\n throw new Error('The current signer does not implement EIP-712 to sign typed data');\n }\n async estimateGas(transaction) {\n return (await __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\").estimateGas(transaction)).toString();\n }\n call(transaction, blockTag) {\n return __classPrivateFieldGet(this, _EthersAdapter_provider, \"f\").call(transaction, blockTag);\n }\n encodeParameters(types, values) {\n return new (__classPrivateFieldGet(this, _EthersAdapter_ethers, \"f\").utils.AbiCoder)().encode(types, values);\n }\n decodeParameters(types, values) {\n return new (__classPrivateFieldGet(this, _EthersAdapter_ethers, \"f\").utils.AbiCoder)().decode(types, values);\n }\n}\n_EthersAdapter_ethers = new WeakMap(), _EthersAdapter_signer = new WeakMap(), _EthersAdapter_provider = new WeakMap();\nexports.default = EthersAdapter;\n//# sourceMappingURL=EthersAdapter.js.map",null,"\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./address\"), exports);\n__exportStar(require(\"./eip-3770\"), exports);\n__exportStar(require(\"./eip-712\"), exports);\n__exportStar(require(\"./safeVersions\"), exports);\n__exportStar(require(\"./signatures\"), exports);\n__exportStar(require(\"./transactions\"), exports);\n//# sourceMappingURL=index.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isRestrictedAddress = exports.isZeroAddress = exports.sameString = void 0;\nconst constants_1 = require(\"./constants\");\nfunction sameString(str1, str2) {\n return str1.toLowerCase() === str2.toLowerCase();\n}\nexports.sameString = sameString;\nfunction isZeroAddress(address) {\n return sameString(address, constants_1.ZERO_ADDRESS);\n}\nexports.isZeroAddress = isZeroAddress;\nfunction isSentinelAddress(address) {\n return sameString(address, constants_1.SENTINEL_ADDRESS);\n}\nfunction isRestrictedAddress(address) {\n return isZeroAddress(address) || isSentinelAddress(address);\n}\nexports.isRestrictedAddress = isRestrictedAddress;\n//# sourceMappingURL=address.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SENTINEL_ADDRESS = exports.EMPTY_DATA = exports.ZERO_ADDRESS = void 0;\nexports.ZERO_ADDRESS = `0x${'0'.repeat(40)}`;\nexports.EMPTY_DATA = '0x';\nexports.SENTINEL_ADDRESS = '0x0000000000000000000000000000000000000001';\n//# sourceMappingURL=constants.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateEip3770Address = exports.validateEthereumAddress = exports.validateEip3770NetworkPrefix = exports.isValidEip3770NetworkPrefix = exports.getEip3770NetworkPrefixFromChainId = exports.parseEip3770Address = void 0;\nconst web3_utils_1 = require(\"web3-utils\");\nconst config_1 = require(\"./config\");\nfunction parseEip3770Address(fullAddress) {\n const parts = fullAddress.split(':');\n const address = parts.length > 1 ? parts[1] : parts[0];\n const prefix = parts.length > 1 ? parts[0] : '';\n return { prefix, address };\n}\nexports.parseEip3770Address = parseEip3770Address;\nfunction getEip3770NetworkPrefixFromChainId(chainId) {\n const network = config_1.networks.find((network) => chainId === network.chainId);\n if (!network) {\n throw new Error('No network prefix supported for the current chainId');\n }\n return network.shortName;\n}\nexports.getEip3770NetworkPrefixFromChainId = getEip3770NetworkPrefixFromChainId;\nfunction isValidEip3770NetworkPrefix(prefix) {\n return config_1.networks.some(({ shortName }) => shortName === prefix);\n}\nexports.isValidEip3770NetworkPrefix = isValidEip3770NetworkPrefix;\nfunction validateEip3770NetworkPrefix(prefix, currentChainId) {\n const isCurrentNetworkPrefix = prefix === getEip3770NetworkPrefixFromChainId(currentChainId);\n if (!isValidEip3770NetworkPrefix(prefix) || !isCurrentNetworkPrefix) {\n throw new Error('The network prefix must match the current network');\n }\n}\nexports.validateEip3770NetworkPrefix = validateEip3770NetworkPrefix;\nfunction validateEthereumAddress(address) {\n const isValidAddress = (0, web3_utils_1.isHexStrict)(address) && (0, web3_utils_1.isAddress)(address);\n if (!isValidAddress) {\n throw new Error(`Invalid Ethereum address ${address}`);\n }\n}\nexports.validateEthereumAddress = validateEthereumAddress;\nfunction validateEip3770Address(fullAddress, currentChainId) {\n const { address, prefix } = parseEip3770Address(fullAddress);\n validateEthereumAddress(address);\n if (prefix) {\n validateEip3770NetworkPrefix(prefix, currentChainId);\n }\n return { address, prefix };\n}\nexports.validateEip3770Address = validateEip3770Address;\n//# sourceMappingURL=index.js.map",null,"/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n */\n/**\n * @file utils.js\n * @author Marek Kotewicz \n * @author Fabian Vogelsteller \n * @date 2017\n */\nvar ethjsUnit = require('ethjs-unit');\nvar utils = require('./utils.js');\nvar soliditySha3 = require('./soliditySha3.js');\nvar randombytes = require('randombytes');\nvar BN = require('bn.js');\n/**\n * Fires an error in an event emitter and callback and returns the eventemitter\n *\n * @method _fireError\n * @param {Object} error a string, a error, or an object with {message, data}\n * @param {Object} emitter\n * @param {Function} reject\n * @param {Function} callback\n * @param {any} optionalData\n * @return {Object} the emitter\n */\nvar _fireError = function (error, emitter, reject, callback, optionalData) {\n /*jshint maxcomplexity: 10 */\n // add data if given\n if (!!error && typeof error === 'object' && !(error instanceof Error) && error.data) {\n if (!!error.data && typeof error.data === 'object' || Array.isArray(error.data)) {\n error.data = JSON.stringify(error.data, null, 2);\n }\n error = error.message + \"\\n\" + error.data;\n }\n if (typeof error === 'string') {\n error = new Error(error);\n }\n if (typeof callback === 'function') {\n callback(error, optionalData);\n }\n if (typeof reject === 'function') {\n // suppress uncatched error if an error listener is present\n // OR suppress uncatched error if an callback listener is present\n if (emitter &&\n (typeof emitter.listeners === 'function' &&\n emitter.listeners('error').length) || typeof callback === 'function') {\n emitter.catch(function () { });\n }\n // reject later, to be able to return emitter\n setTimeout(function () {\n reject(error);\n }, 1);\n }\n if (emitter && typeof emitter.emit === 'function') {\n // emit later, to be able to return emitter\n setTimeout(function () {\n emitter.emit('error', error, optionalData);\n emitter.removeAllListeners();\n }, 1);\n }\n return emitter;\n};\n/**\n * Should be used to create full function/event name from json abi\n *\n * @method _jsonInterfaceMethodToString\n * @param {Object} json\n * @return {String} full function/event name\n */\nvar _jsonInterfaceMethodToString = function (json) {\n if (!!json && typeof json === 'object' && json.name && json.name.indexOf('(') !== -1) {\n return json.name;\n }\n return json.name + '(' + _flattenTypes(false, json.inputs).join(',') + ')';\n};\n/**\n * Should be used to flatten json abi inputs/outputs into an array of type-representing-strings\n *\n * @method _flattenTypes\n * @param {bool} includeTuple\n * @param {Object} puts\n * @return {Array} parameters as strings\n */\nvar _flattenTypes = function (includeTuple, puts) {\n // console.log(\"entered _flattenTypes. inputs/outputs: \" + puts)\n var types = [];\n puts.forEach(function (param) {\n if (typeof param.components === 'object') {\n if (param.type.substring(0, 5) !== 'tuple') {\n throw new Error('components found but type is not tuple; report on GitHub');\n }\n var suffix = '';\n var arrayBracket = param.type.indexOf('[');\n if (arrayBracket >= 0) {\n suffix = param.type.substring(arrayBracket);\n }\n var result = _flattenTypes(includeTuple, param.components);\n // console.log(\"result should have things: \" + result)\n if (Array.isArray(result) && includeTuple) {\n // console.log(\"include tuple word, and its an array. joining...: \" + result.types)\n types.push('tuple(' + result.join(',') + ')' + suffix);\n }\n else if (!includeTuple) {\n // console.log(\"don't include tuple, but its an array. joining...: \" + result)\n types.push('(' + result.join(',') + ')' + suffix);\n }\n else {\n // console.log(\"its a single type within a tuple: \" + result.types)\n types.push('(' + result + ')');\n }\n }\n else {\n // console.log(\"its a type and not directly in a tuple: \" + param.type)\n types.push(param.type);\n }\n });\n return types;\n};\n/**\n * Returns a random hex string by the given bytes size\n *\n * @param {Number} size\n * @returns {string}\n */\nvar randomHex = function (size) {\n return '0x' + randombytes(size).toString('hex');\n};\n/**\n * Should be called to get ascii from it's hex representation\n *\n * @method hexToAscii\n * @param {String} hex\n * @returns {String} ascii string representation of hex value\n */\nvar hexToAscii = function (hex) {\n if (!utils.isHexStrict(hex))\n throw new Error('The parameter must be a valid HEX string.');\n var str = \"\";\n var i = 0, l = hex.length;\n if (hex.substring(0, 2) === '0x') {\n i = 2;\n }\n for (; i < l; i += 2) {\n var code = parseInt(hex.slice(i, i + 2), 16);\n str += String.fromCharCode(code);\n }\n return str;\n};\n/**\n * Should be called to get hex representation (prefixed by 0x) of ascii string\n *\n * @method asciiToHex\n * @param {String} str\n * @returns {String} hex representation of input string\n */\nvar asciiToHex = function (str) {\n if (!str)\n return \"0x00\";\n var hex = \"\";\n for (var i = 0; i < str.length; i++) {\n var code = str.charCodeAt(i);\n var n = code.toString(16);\n hex += n.length < 2 ? '0' + n : n;\n }\n return \"0x\" + hex;\n};\n/**\n * Returns value of unit in Wei\n *\n * @method getUnitValue\n * @param {String} unit the unit to convert to, default ether\n * @returns {BN} value of the unit (in Wei)\n * @throws error if the unit is not correct:w\n */\nvar getUnitValue = function (unit) {\n unit = unit ? unit.toLowerCase() : 'ether';\n if (!ethjsUnit.unitMap[unit]) {\n throw new Error('This unit \"' + unit + '\" doesn\\'t exist, please use the one of the following units' + JSON.stringify(ethjsUnit.unitMap, null, 2));\n }\n return unit;\n};\n/**\n * Takes a number of wei and converts it to any other ether unit.\n *\n * Possible units are:\n * SI Short SI Full Effigy Other\n * - kwei femtoether babbage\n * - mwei picoether lovelace\n * - gwei nanoether shannon nano\n * - -- microether szabo micro\n * - -- milliether finney milli\n * - ether -- --\n * - kether -- grand\n * - mether\n * - gether\n * - tether\n *\n * @method fromWei\n * @param {Number|String} number can be a number, number string or a HEX of a decimal\n * @param {String} unit the unit to convert to, default ether\n * @return {String|Object} When given a BN object it returns one as well, otherwise a number\n */\nvar fromWei = function (number, unit) {\n unit = getUnitValue(unit);\n if (!utils.isBN(number) && !(typeof number === 'string')) {\n throw new Error('Please pass numbers as strings or BN objects to avoid precision errors.');\n }\n return utils.isBN(number) ? ethjsUnit.fromWei(number, unit) : ethjsUnit.fromWei(number, unit).toString(10);\n};\n/**\n * Takes a number of a unit and converts it to wei.\n *\n * Possible units are:\n * SI Short SI Full Effigy Other\n * - kwei femtoether babbage\n * - mwei picoether lovelace\n * - gwei nanoether shannon nano\n * - -- microether szabo micro\n * - -- microether szabo micro\n * - -- milliether finney milli\n * - ether -- --\n * - kether -- grand\n * - mether\n * - gether\n * - tether\n *\n * @method toWei\n * @param {Number|String|BN} number can be a number, number string or a HEX of a decimal\n * @param {String} unit the unit to convert from, default ether\n * @return {String|Object} When given a BN object it returns one as well, otherwise a number\n */\nvar toWei = function (number, unit) {\n unit = getUnitValue(unit);\n if (!utils.isBN(number) && !(typeof number === 'string')) {\n throw new Error('Please pass numbers as strings or BN objects to avoid precision errors.');\n }\n return utils.isBN(number) ? ethjsUnit.toWei(number, unit) : ethjsUnit.toWei(number, unit).toString(10);\n};\n/**\n * Converts to a checksum address\n *\n * @method toChecksumAddress\n * @param {String} address the given HEX address\n * @return {String}\n */\nvar toChecksumAddress = function (address) {\n if (typeof address === 'undefined')\n return '';\n if (!/^(0x)?[0-9a-f]{40}$/i.test(address))\n throw new Error('Given address \"' + address + '\" is not a valid Ethereum address.');\n address = address.toLowerCase().replace(/^0x/i, '');\n var addressHash = utils.sha3(address).replace(/^0x/i, '');\n var checksumAddress = '0x';\n for (var i = 0; i < address.length; i++) {\n // If ith character is 8 to f then make it uppercase\n if (parseInt(addressHash[i], 16) > 7) {\n checksumAddress += address[i].toUpperCase();\n }\n else {\n checksumAddress += address[i];\n }\n }\n return checksumAddress;\n};\n/**\n * Returns -1 if ab; 0 if a == b.\n * For more details on this type of function, see\n * developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort\n * Block tag `safe` and `block number` combination param is not supported\n * @method compareBlockNumbers\n *\n * @param {String|Number|BN} a\n *\n * @param {String|Number|BN} b\n *\n * @returns {Number} -1, 0, or 1\n */\nvar compareBlockNumbers = function (a, b) {\n // Increasing order: (genesis = earliest), safe, (finalized ~ latest), pending\n // safe vs block-num cant be compared as block number provided can be on left or right side of safe tag, until safe tag block number is extracted and compared\n if (a === b) {\n return 0;\n }\n else if ((\"genesis\" === a || \"earliest\" === a || 0 === a) && (\"genesis\" === b || \"earliest\" === b || 0 === b)) {\n return 0;\n }\n else if (\"genesis\" === a || \"earliest\" === a || a === 0) {\n // b !== a, thus a < b\n return -1;\n }\n else if (\"genesis\" === b || \"earliest\" === b || b === 0) {\n // b !== a, thus a > b\n return 1;\n }\n else if (a === \"latest\" || a === \"finalized\") {\n if (b === \"pending\") {\n return -1;\n }\n else {\n // b !== (\"pending\" OR \"latest\"), thus a > b\n return 1;\n }\n }\n else if (b === \"latest\" || b === \"finalized\") {\n if (a === \"pending\") {\n return 1;\n }\n else {\n // b !== (\"pending\" OR \"latest\"), thus a > b\n return -1;\n }\n }\n else if (a === \"pending\") {\n // b (== OR <) \"latest\", thus a > b\n return 1;\n }\n else if (b === \"pending\") {\n return -1;\n }\n else if (a === \"safe\" || b === \"safe\") {\n // either a or b is \"safe\" and the other one did not fall into any of the conditions above, so the other one is a number\n return undefined;\n }\n else {\n let bnA = new BN(a);\n let bnB = new BN(b);\n if (bnA.lt(bnB)) {\n return -1;\n }\n else if (bnA.eq(bnB)) {\n return 0;\n }\n else {\n return 1;\n }\n }\n};\nmodule.exports = {\n _fireError: _fireError,\n _jsonInterfaceMethodToString: _jsonInterfaceMethodToString,\n _flattenTypes: _flattenTypes,\n // extractDisplayName: extractDisplayName,\n // extractTypeName: extractTypeName,\n randomHex: randomHex,\n BN: utils.BN,\n isBN: utils.isBN,\n isBigNumber: utils.isBigNumber,\n isHex: utils.isHex,\n isHexStrict: utils.isHexStrict,\n sha3: utils.sha3,\n sha3Raw: utils.sha3Raw,\n keccak256: utils.sha3,\n soliditySha3: soliditySha3.soliditySha3,\n soliditySha3Raw: soliditySha3.soliditySha3Raw,\n encodePacked: soliditySha3.encodePacked,\n isAddress: utils.isAddress,\n checkAddressChecksum: utils.checkAddressChecksum,\n toChecksumAddress: toChecksumAddress,\n toHex: utils.toHex,\n toBN: utils.toBN,\n bytesToHex: utils.bytesToHex,\n hexToBytes: utils.hexToBytes,\n hexToNumberString: utils.hexToNumberString,\n hexToNumber: utils.hexToNumber,\n toDecimal: utils.hexToNumber,\n numberToHex: utils.numberToHex,\n fromDecimal: utils.numberToHex,\n hexToUtf8: utils.hexToUtf8,\n hexToString: utils.hexToUtf8,\n toUtf8: utils.hexToUtf8,\n stripHexPrefix: utils.stripHexPrefix,\n utf8ToHex: utils.utf8ToHex,\n stringToHex: utils.utf8ToHex,\n fromUtf8: utils.utf8ToHex,\n hexToAscii: hexToAscii,\n toAscii: hexToAscii,\n asciiToHex: asciiToHex,\n fromAscii: asciiToHex,\n unitMap: ethjsUnit.unitMap,\n toWei: toWei,\n fromWei: fromWei,\n padLeft: utils.leftPad,\n leftPad: utils.leftPad,\n padRight: utils.rightPad,\n rightPad: utils.rightPad,\n toTwosComplement: utils.toTwosComplement,\n isBloom: utils.isBloom,\n isUserEthereumAddressInBloom: utils.isUserEthereumAddressInBloom,\n isContractAddressInBloom: utils.isContractAddressInBloom,\n isTopic: utils.isTopic,\n isTopicInBloom: utils.isTopicInBloom,\n isInBloom: utils.isInBloom,\n compareBlockNumbers: compareBlockNumbers,\n toNumber: utils.toNumber\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar numberToBN = require('number-to-bn');\n\nvar zero = new BN(0);\nvar negative1 = new BN(-1);\n\n// complete ethereum unit map\nvar unitMap = {\n 'noether': '0', // eslint-disable-line\n 'wei': '1', // eslint-disable-line\n 'kwei': '1000', // eslint-disable-line\n 'Kwei': '1000', // eslint-disable-line\n 'babbage': '1000', // eslint-disable-line\n 'femtoether': '1000', // eslint-disable-line\n 'mwei': '1000000', // eslint-disable-line\n 'Mwei': '1000000', // eslint-disable-line\n 'lovelace': '1000000', // eslint-disable-line\n 'picoether': '1000000', // eslint-disable-line\n 'gwei': '1000000000', // eslint-disable-line\n 'Gwei': '1000000000', // eslint-disable-line\n 'shannon': '1000000000', // eslint-disable-line\n 'nanoether': '1000000000', // eslint-disable-line\n 'nano': '1000000000', // eslint-disable-line\n 'szabo': '1000000000000', // eslint-disable-line\n 'microether': '1000000000000', // eslint-disable-line\n 'micro': '1000000000000', // eslint-disable-line\n 'finney': '1000000000000000', // eslint-disable-line\n 'milliether': '1000000000000000', // eslint-disable-line\n 'milli': '1000000000000000', // eslint-disable-line\n 'ether': '1000000000000000000', // eslint-disable-line\n 'kether': '1000000000000000000000', // eslint-disable-line\n 'grand': '1000000000000000000000', // eslint-disable-line\n 'mether': '1000000000000000000000000', // eslint-disable-line\n 'gether': '1000000000000000000000000000', // eslint-disable-line\n 'tether': '1000000000000000000000000000000' };\n\n/**\n * Returns value of unit in Wei\n *\n * @method getValueOfUnit\n * @param {String} unit the unit to convert to, default ether\n * @returns {BigNumber} value of the unit (in Wei)\n * @throws error if the unit is not correct:w\n */\nfunction getValueOfUnit(unitInput) {\n var unit = unitInput ? unitInput.toLowerCase() : 'ether';\n var unitValue = unitMap[unit]; // eslint-disable-line\n\n if (typeof unitValue !== 'string') {\n throw new Error('[ethjs-unit] the unit provided ' + unitInput + ' doesn\\'t exists, please use the one of the following units ' + JSON.stringify(unitMap, null, 2));\n }\n\n return new BN(unitValue, 10);\n}\n\nfunction numberToString(arg) {\n if (typeof arg === 'string') {\n if (!arg.match(/^-?[0-9.]+$/)) {\n throw new Error('while converting number to string, invalid number value \\'' + arg + '\\', should be a number matching (^-?[0-9.]+).');\n }\n return arg;\n } else if (typeof arg === 'number') {\n return String(arg);\n } else if (typeof arg === 'object' && arg.toString && (arg.toTwos || arg.dividedToIntegerBy)) {\n if (arg.toPrecision) {\n return String(arg.toPrecision());\n } else {\n // eslint-disable-line\n return arg.toString(10);\n }\n }\n throw new Error('while converting number to string, invalid number value \\'' + arg + '\\' type ' + typeof arg + '.');\n}\n\nfunction fromWei(weiInput, unit, optionsInput) {\n var wei = numberToBN(weiInput); // eslint-disable-line\n var negative = wei.lt(zero); // eslint-disable-line\n var base = getValueOfUnit(unit);\n var baseLength = unitMap[unit].length - 1 || 1;\n var options = optionsInput || {};\n\n if (negative) {\n wei = wei.mul(negative1);\n }\n\n var fraction = wei.mod(base).toString(10); // eslint-disable-line\n\n while (fraction.length < baseLength) {\n fraction = '0' + fraction;\n }\n\n if (!options.pad) {\n fraction = fraction.match(/^([0-9]*[1-9]|0)(0*)/)[1];\n }\n\n var whole = wei.div(base).toString(10); // eslint-disable-line\n\n if (options.commify) {\n whole = whole.replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n }\n\n var value = '' + whole + (fraction == '0' ? '' : '.' + fraction); // eslint-disable-line\n\n if (negative) {\n value = '-' + value;\n }\n\n return value;\n}\n\nfunction toWei(etherInput, unit) {\n var ether = numberToString(etherInput); // eslint-disable-line\n var base = getValueOfUnit(unit);\n var baseLength = unitMap[unit].length - 1 || 1;\n\n // Is it negative?\n var negative = ether.substring(0, 1) === '-'; // eslint-disable-line\n if (negative) {\n ether = ether.substring(1);\n }\n\n if (ether === '.') {\n throw new Error('[ethjs-unit] while converting number ' + etherInput + ' to wei, invalid value');\n }\n\n // Split it into a whole and fractional part\n var comps = ether.split('.'); // eslint-disable-line\n if (comps.length > 2) {\n throw new Error('[ethjs-unit] while converting number ' + etherInput + ' to wei, too many decimal points');\n }\n\n var whole = comps[0],\n fraction = comps[1]; // eslint-disable-line\n\n if (!whole) {\n whole = '0';\n }\n if (!fraction) {\n fraction = '0';\n }\n if (fraction.length > baseLength) {\n throw new Error('[ethjs-unit] while converting number ' + etherInput + ' to wei, too many decimal places');\n }\n\n while (fraction.length < baseLength) {\n fraction += '0';\n }\n\n whole = new BN(whole);\n fraction = new BN(fraction);\n var wei = whole.mul(base).add(fraction); // eslint-disable-line\n\n if (negative) {\n wei = wei.mul(negative1);\n }\n\n return new BN(wei.toString(10), 10);\n}\n\nmodule.exports = {\n unitMap: unitMap,\n numberToString: numberToString,\n getValueOfUnit: getValueOfUnit,\n fromWei: fromWei,\n toWei: toWei\n};","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buf' + 'fer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n r.strip();\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar customInspectSymbol =\n (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation\n ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation\n : null\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\nvar K_MAX_LENGTH = 0x7fffffff\nexports.kMaxLength = K_MAX_LENGTH\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Print warning and recommend using `buffer` v4.x which has an Object\n * implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * We report that the browser does not support typed arrays if the are not subclassable\n * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`\n * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support\n * for __proto__ and has a buggy typed array implementation.\n */\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport()\n\nif (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&\n typeof console.error === 'function') {\n console.error(\n 'This browser lacks typed array (Uint8Array) support which is required by ' +\n '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'\n )\n}\n\nfunction typedArraySupport () {\n // Can typed array instances can be augmented?\n try {\n var arr = new Uint8Array(1)\n var proto = { foo: function () { return 42 } }\n Object.setPrototypeOf(proto, Uint8Array.prototype)\n Object.setPrototypeOf(arr, proto)\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nObject.defineProperty(Buffer.prototype, 'parent', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.buffer\n }\n})\n\nObject.defineProperty(Buffer.prototype, 'offset', {\n enumerable: true,\n get: function () {\n if (!Buffer.isBuffer(this)) return undefined\n return this.byteOffset\n }\n})\n\nfunction createBuffer (length) {\n if (length > K_MAX_LENGTH) {\n throw new RangeError('The value \"' + length + '\" is invalid for option \"size\"')\n }\n // Return an augmented `Uint8Array` instance\n var buf = new Uint8Array(length)\n Object.setPrototypeOf(buf, Buffer.prototype)\n return buf\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new TypeError(\n 'The \"string\" argument must be of type string. Received type number'\n )\n }\n return allocUnsafe(arg)\n }\n return from(arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\nfunction from (value, encodingOrOffset, length) {\n if (typeof value === 'string') {\n return fromString(value, encodingOrOffset)\n }\n\n if (ArrayBuffer.isView(value)) {\n return fromArrayView(value)\n }\n\n if (value == null) {\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n }\n\n if (isInstance(value, ArrayBuffer) ||\n (value && isInstance(value.buffer, ArrayBuffer))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof SharedArrayBuffer !== 'undefined' &&\n (isInstance(value, SharedArrayBuffer) ||\n (value && isInstance(value.buffer, SharedArrayBuffer)))) {\n return fromArrayBuffer(value, encodingOrOffset, length)\n }\n\n if (typeof value === 'number') {\n throw new TypeError(\n 'The \"value\" argument must not be of type number. Received type number'\n )\n }\n\n var valueOf = value.valueOf && value.valueOf()\n if (valueOf != null && valueOf !== value) {\n return Buffer.from(valueOf, encodingOrOffset, length)\n }\n\n var b = fromObject(value)\n if (b) return b\n\n if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&\n typeof value[Symbol.toPrimitive] === 'function') {\n return Buffer.from(\n value[Symbol.toPrimitive]('string'), encodingOrOffset, length\n )\n }\n\n throw new TypeError(\n 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +\n 'or Array-like Object. Received type ' + (typeof value)\n )\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(value, encodingOrOffset, length)\n}\n\n// Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:\n// https://github.com/feross/buffer/pull/148\nObject.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)\nObject.setPrototypeOf(Buffer, Uint8Array)\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be of type number')\n } else if (size < 0) {\n throw new RangeError('The value \"' + size + '\" is invalid for option \"size\"')\n }\n}\n\nfunction alloc (size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpreted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(size).fill(fill, encoding)\n : createBuffer(size).fill(fill)\n }\n return createBuffer(size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(size, fill, encoding)\n}\n\nfunction allocUnsafe (size) {\n assertSize(size)\n return createBuffer(size < 0 ? 0 : checked(size) | 0)\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(size)\n}\n\nfunction fromString (string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n\n var length = byteLength(string, encoding) | 0\n var buf = createBuffer(length)\n\n var actual = buf.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual)\n }\n\n return buf\n}\n\nfunction fromArrayLike (array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n var buf = createBuffer(length)\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255\n }\n return buf\n}\n\nfunction fromArrayView (arrayView) {\n if (isInstance(arrayView, Uint8Array)) {\n var copy = new Uint8Array(arrayView)\n return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)\n }\n return fromArrayLike(arrayView)\n}\n\nfunction fromArrayBuffer (array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\"offset\" is outside of buffer bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\"length\" is outside of buffer bounds')\n }\n\n var buf\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array)\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset)\n } else {\n buf = new Uint8Array(array, byteOffset, length)\n }\n\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(buf, Buffer.prototype)\n\n return buf\n}\n\nfunction fromObject (obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n var buf = createBuffer(len)\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len)\n return buf\n }\n\n if (obj.length !== undefined) {\n if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {\n return createBuffer(0)\n }\n return fromArrayLike(obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(obj.data)\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return b != null && b._isBuffer === true &&\n b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false\n}\n\nBuffer.compare = function compare (a, b) {\n if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)\n if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError(\n 'The \"buf1\", \"buf2\" arguments must be one of type Buffer or Uint8Array'\n )\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!Array.isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (isInstance(buf, Uint8Array)) {\n if (pos + buf.length > buffer.length) {\n Buffer.from(buf).copy(buffer, pos)\n } else {\n Uint8Array.prototype.set.call(\n buffer,\n buf,\n pos\n )\n }\n } else if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n } else {\n buf.copy(buffer, pos)\n }\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n throw new TypeError(\n 'The \"string\" argument must be one of type string, Buffer, or ArrayBuffer. ' +\n 'Received type ' + typeof string\n )\n }\n\n var len = string.length\n var mustMatch = (arguments.length > 2 && arguments[2] === true)\n if (!mustMatch && len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) {\n return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8\n }\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coercion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)\n// to detect a Buffer instance. It's not possible to use `instanceof Buffer`\n// reliably in a browserify context because there could be multiple different\n// copies of the 'buffer' package in use. This method works even for Buffer\n// instances that were created from another copy of the `buffer` package.\n// See: https://github.com/feross/buffer/issues/154\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.toLocaleString = Buffer.prototype.toString\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()\n if (this.length > max) str += ' ... '\n return ''\n}\nif (customInspectSymbol) {\n Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (isInstance(target, Uint8Array)) {\n target = Buffer.from(target, target.offset, target.byteLength)\n }\n if (!Buffer.isBuffer(target)) {\n throw new TypeError(\n 'The \"target\" argument must be one of type Buffer or Uint8Array. ' +\n 'Received type ' + (typeof target)\n )\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (numberIsNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n var strLen = string.length\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (numberIsNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset >>> 0\n if (isFinite(length)) {\n length = length >>> 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n case 'latin1':\n case 'binary':\n return asciiWrite(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF)\n ? 4\n : (firstByte > 0xDF)\n ? 3\n : (firstByte > 0xBF)\n ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += hexSliceLookupTable[buf[i]]\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)\n for (var i = 0; i < bytes.length - 1; i += 2) {\n res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf = this.subarray(start, end)\n // Return an augmented `Uint8Array` instance\n Object.setPrototypeOf(newBuf, Buffer.prototype)\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUintLE =\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUintBE =\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUint8 =\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUint16LE =\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUint16BE =\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUint32LE =\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUint32BE =\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n offset = offset >>> 0\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUintLE =\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUintBE =\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n byteLength = byteLength >>> 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUint8 =\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeUint16LE =\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeUint16BE =\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeUint32LE =\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeUint32BE =\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n var limit = Math.pow(2, (8 * byteLength) - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n value = +value\n offset = offset >>> 0\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('Index out of range')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n\n if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {\n // Use built-in when available, missing from IE11\n this.copyWithin(targetStart, start, end)\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, end),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if ((encoding === 'utf8' && code < 128) ||\n encoding === 'latin1') {\n // Fast path: If `val` fits into a single byte, use that numeric value.\n val = code\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255\n } else if (typeof val === 'boolean') {\n val = Number(val)\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : Buffer.from(val, encoding)\n var len = bytes.length\n if (len === 0) {\n throw new TypeError('The value \"' + val +\n '\" is invalid for argument \"value\"')\n }\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node takes equal signs as end of the Base64 encoding\n str = str.split('=')[0]\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = str.trim().replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\n// ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass\n// the `instanceof` check but they should be treated as of that type.\n// See: https://github.com/feross/buffer/issues/166\nfunction isInstance (obj, type) {\n return obj instanceof type ||\n (obj != null && obj.constructor != null && obj.constructor.name != null &&\n obj.constructor.name === type.name)\n}\nfunction numberIsNaN (obj) {\n // For IE11 support\n return obj !== obj // eslint-disable-line no-self-compare\n}\n\n// Create lookup table for `toString('hex')`\n// See: https://github.com/feross/buffer/issues/219\nvar hexSliceLookupTable = (function () {\n var alphabet = '0123456789abcdef'\n var table = new Array(256)\n for (var i = 0; i < 16; ++i) {\n var i16 = i * 16\n for (var j = 0; j < 16; ++j) {\n table[i16 + j] = alphabet[i] + alphabet[j]\n }\n }\n return table\n})()\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'\nfor (var i = 0, len = code.length; i < len; ++i) {\n lookup[i] = code[i]\n revLookup[code.charCodeAt(i)] = i\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62\nrevLookup['_'.charCodeAt(0)] = 63\n\nfunction getLens (b64) {\n var len = b64.length\n\n if (len % 4 > 0) {\n throw new Error('Invalid string. Length must be a multiple of 4')\n }\n\n // Trim off extra bytes after placeholder bytes are found\n // See: https://github.com/beatgammit/base64-js/issues/42\n var validLen = b64.indexOf('=')\n if (validLen === -1) validLen = len\n\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\n return [validLen, placeHoldersLen]\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength (b64) {\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\n\nfunction fromByteArray (uint8) {\n var tmp\n var len = uint8.length\n var extraBytes = len % 3 // if we have 1 byte left, pad 2 bytes\n var parts = []\n var maxChunkLength = 16383 // must be multiple of 3\n\n // go through the array every three bytes, we'll deal with trailing stuff later\n for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n parts.push(encodeChunk(uint8, i, (i + maxChunkLength) > len2 ? len2 : (i + maxChunkLength)))\n }\n\n // pad the end with zeros, but make sure to not forget the extra bytes\n if (extraBytes === 1) {\n tmp = uint8[len - 1]\n parts.push(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */\nexports.read = function (buffer, offset, isLE, mLen, nBytes) {\n var e, m\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","var BN = require('bn.js');\nvar stripHexPrefix = require('strip-hex-prefix');\n\n/**\n * Returns a BN object, converts a number value to a BN\n * @param {String|Number|Object} `arg` input a string number, hex string number, number, BigNumber or BN object\n * @return {Object} `output` BN object of the number\n * @throws if the argument is not an array, object that isn't a bignumber, not a string number or number\n */\nmodule.exports = function numberToBN(arg) {\n if (typeof arg === 'string' || typeof arg === 'number') {\n var multiplier = new BN(1); // eslint-disable-line\n var formattedString = String(arg).toLowerCase().trim();\n var isHexPrefixed = formattedString.substr(0, 2) === '0x' || formattedString.substr(0, 3) === '-0x';\n var stringArg = stripHexPrefix(formattedString); // eslint-disable-line\n if (stringArg.substr(0, 1) === '-') {\n stringArg = stripHexPrefix(stringArg.slice(1));\n multiplier = new BN(-1, 10);\n }\n stringArg = stringArg === '' ? '0' : stringArg;\n\n if ((!stringArg.match(/^-?[0-9]+$/) && stringArg.match(/^[0-9A-Fa-f]+$/))\n || stringArg.match(/^[a-fA-F]+$/)\n || (isHexPrefixed === true && stringArg.match(/^[0-9A-Fa-f]+$/))) {\n return new BN(stringArg, 16).mul(multiplier);\n }\n\n if ((stringArg.match(/^-?[0-9]+$/) || stringArg === '') && isHexPrefixed === false) {\n return new BN(stringArg, 10).mul(multiplier);\n }\n } else if (typeof arg === 'object' && arg.toString && (!arg.pop && !arg.push)) {\n if (arg.toString(10).match(/^-?[0-9]+$/) && (arg.mul || arg.dividedToIntegerBy)) {\n return new BN(arg.toString(10), 10);\n }\n }\n\n throw new Error('[number-to-bn] while converting number ' + JSON.stringify(arg) + ' to BN.js instance, error: invalid number value. Value must be an integer, hex string, BN or BigNumber instance. Note, decimals are not supported.');\n}\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n Buffer = require('buf' + 'fer').Buffer;\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n }\n\n if (base === 16) {\n this._parseHex(number, start);\n } else {\n this._parseBase(number, base, start);\n }\n\n if (number[0] === '-') {\n this.negative = 1;\n }\n\n this.strip();\n\n if (endian !== 'le') return;\n\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex (str, start, end) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r <<= 4;\n\n // 'a' - 'f'\n if (c >= 49 && c <= 54) {\n r |= c - 49 + 0xa;\n\n // 'A' - 'F'\n } else if (c >= 17 && c <= 22) {\n r |= c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r |= c & 0xf;\n }\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n // Scan 24-bit chunks and add them to the number\n var off = 0;\n for (i = number.length - 6, j = 0; i >= start; i -= 6) {\n w = parseHex(number, i, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n // NOTE: `0x3fffff` is intentional here, 26bits max shift + 24bit hex limb\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n if (i + 6 !== start) {\n w = parseHex(number, start, i + 6);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] |= w >>> (26 - off) & 0x3fffff;\n }\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n r.strip();\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","var isHexPrefixed = require('is-hex-prefixed');\n\n/**\n * Removes '0x' from a given `String` is present\n * @param {String} str the string value\n * @return {String|Optional} a string by pass if necessary\n */\nmodule.exports = function stripHexPrefix(str) {\n if (typeof str !== 'string') {\n return str;\n }\n\n return isHexPrefixed(str) ? str.slice(2) : str;\n}\n","/**\n * Returns a `Boolean` on whether or not the a `String` starts with '0x'\n * @param {String} str the string input value\n * @return {Boolean} a boolean if it is or is not hex prefixed\n * @throws if the str input is not a string\n */\nmodule.exports = function isHexPrefixed(str) {\n if (typeof str !== 'string') {\n throw new Error(\"[is-hex-prefixed] value must be type 'string', is currently type \" + (typeof str) + \", while checking isHexPrefixed.\");\n }\n\n return str.slice(0, 2) === '0x';\n}\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n */\n/**\n * @file utils.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\nvar BN = require('bn.js');\nvar numberToBN = require('number-to-bn');\nvar utf8 = require('utf8');\nvar ethereumjsUtil = require('ethereumjs-util');\nvar ethereumBloomFilters = require('ethereum-bloom-filters');\n/**\n * Returns true if object is BN, otherwise false\n *\n * @method isBN\n * @param {Object} object\n * @return {Boolean}\n */\nvar isBN = function (object) {\n return BN.isBN(object);\n};\n/**\n * Returns true if object is BigNumber, otherwise false\n *\n * @method isBigNumber\n * @param {Object} object\n * @return {Boolean}\n */\nvar isBigNumber = function (object) {\n return object && object.constructor && object.constructor.name === 'BigNumber';\n};\n/**\n * Takes an input and transforms it into an BN\n *\n * @method toBN\n * @param {Number|String|BN} number, string, HEX string or BN\n * @return {BN} BN\n */\nvar toBN = function (number) {\n try {\n return numberToBN.apply(null, arguments);\n }\n catch (e) {\n throw new Error(e + ' Given value: \"' + number + '\"');\n }\n};\n/**\n * Takes and input transforms it into BN and if it is negative value, into two's complement\n *\n * @method toTwosComplement\n * @param {Number|String|BN} number\n * @return {String}\n */\nvar toTwosComplement = function (number) {\n return '0x' + toBN(number).toTwos(256).toString(16, 64);\n};\n/**\n * Checks if the given string is an address\n *\n * @method isAddress\n * @param {String} address the given HEX address\n * @return {Boolean}\n */\nvar isAddress = function (address) {\n // check if it has the basic requirements of an address\n if (!/^(0x)?[0-9a-f]{40}$/i.test(address)) {\n return false;\n // If it's ALL lowercase or ALL upppercase\n }\n else if (/^(0x|0X)?[0-9a-f]{40}$/.test(address) || /^(0x|0X)?[0-9A-F]{40}$/.test(address)) {\n return true;\n // Otherwise check each case\n }\n else {\n return checkAddressChecksum(address);\n }\n};\n/**\n * Checks if the given string is a checksummed address\n *\n * @method checkAddressChecksum\n * @param {String} address the given HEX address\n * @return {Boolean}\n */\nvar checkAddressChecksum = function (address) {\n // Check each case\n address = address.replace(/^0x/i, '');\n var addressHash = sha3(address.toLowerCase()).replace(/^0x/i, '');\n for (var i = 0; i < 40; i++) {\n // the nth letter should be uppercase if the nth digit of casemap is 1\n if ((parseInt(addressHash[i], 16) > 7 && address[i].toUpperCase() !== address[i]) || (parseInt(addressHash[i], 16) <= 7 && address[i].toLowerCase() !== address[i])) {\n return false;\n }\n }\n return true;\n};\n/**\n * Should be called to pad string to expected length\n *\n * @method leftPad\n * @param {String} string to be padded\n * @param {Number} chars that result string should have\n * @param {String} sign, by default 0\n * @returns {String} right aligned string\n */\nvar leftPad = function (string, chars, sign) {\n var hasPrefix = /^0x/i.test(string) || typeof string === 'number';\n string = string.toString(16).replace(/^0x/i, '');\n var padding = (chars - string.length + 1 >= 0) ? chars - string.length + 1 : 0;\n return (hasPrefix ? '0x' : '') + new Array(padding).join(sign ? sign : \"0\") + string;\n};\n/**\n * Should be called to pad string to expected length\n *\n * @method rightPad\n * @param {String} string to be padded\n * @param {Number} chars that result string should have\n * @param {String} sign, by default 0\n * @returns {String} right aligned string\n */\nvar rightPad = function (string, chars, sign) {\n var hasPrefix = /^0x/i.test(string) || typeof string === 'number';\n string = string.toString(16).replace(/^0x/i, '');\n var padding = (chars - string.length + 1 >= 0) ? chars - string.length + 1 : 0;\n return (hasPrefix ? '0x' : '') + string + (new Array(padding).join(sign ? sign : \"0\"));\n};\n/**\n * Should be called to get hex representation (prefixed by 0x) of utf8 string\n *\n * @method utf8ToHex\n * @param {String} str\n * @returns {String} hex representation of input string\n */\nvar utf8ToHex = function (str) {\n str = utf8.encode(str);\n var hex = \"\";\n // remove \\u0000 padding from either side\n str = str.replace(/^(?:\\u0000)*/, '');\n str = str.split(\"\").reverse().join(\"\");\n str = str.replace(/^(?:\\u0000)*/, '');\n str = str.split(\"\").reverse().join(\"\");\n for (var i = 0; i < str.length; i++) {\n var code = str.charCodeAt(i);\n // if (code !== 0) {\n var n = code.toString(16);\n hex += n.length < 2 ? '0' + n : n;\n // }\n }\n return \"0x\" + hex;\n};\n/**\n * Should be called to get utf8 from it's hex representation\n *\n * @method hexToUtf8\n * @param {String} hex\n * @returns {String} ascii string representation of hex value\n */\nvar hexToUtf8 = function (hex) {\n if (!isHexStrict(hex))\n throw new Error('The parameter \"' + hex + '\" must be a valid HEX string.');\n var str = \"\";\n var code = 0;\n hex = hex.replace(/^0x/i, '');\n // remove 00 padding from either side\n hex = hex.replace(/^(?:00)*/, '');\n hex = hex.split(\"\").reverse().join(\"\");\n hex = hex.replace(/^(?:00)*/, '');\n hex = hex.split(\"\").reverse().join(\"\");\n var l = hex.length;\n for (var i = 0; i < l; i += 2) {\n code = parseInt(hex.slice(i, i + 2), 16);\n // if (code !== 0) {\n str += String.fromCharCode(code);\n // }\n }\n return utf8.decode(str);\n};\n/**\n * Converts value to it's number representation.\n * However, if the value is larger than the maximum safe integer, returns the value as a string.\n *\n * @method hexToNumber\n * @param {String|Number|BN} value\n * @param {Boolean} bigIntOnOverflow - if true, return the hex value in case of overflow\n * @return {Number|String}\n */\nvar hexToNumber = function (value, bigIntOnOverflow = false) {\n if (!value) {\n return value;\n }\n if (typeof value === 'string' && !isHexStrict(value)) {\n throw new Error('Given value \"' + value + '\" is not a valid hex string.');\n }\n const n = toBN(value);\n if (bigIntOnOverflow && (n > Number.MAX_SAFE_INTEGER || n < Number.MIN_SAFE_INTEGER)) {\n return BigInt(n);\n }\n return n.toNumber();\n};\n/**\n * Converts value to it's decimal representation in string\n *\n * @method hexToNumberString\n * @param {String|Number|BN} value\n * @return {String}\n */\nvar hexToNumberString = function (value) {\n if (!value)\n return value;\n if (typeof value === 'string' && !isHexStrict(value)) {\n throw new Error('Given value \"' + value + '\" is not a valid hex string.');\n }\n return toBN(value).toString(10);\n};\n/**\n * Converts value to it's hex representation\n *\n * @method numberToHex\n * @param {String|Number|BN} value\n * @return {String}\n */\nvar numberToHex = function (value) {\n if ((value === null || value === undefined)) {\n return value;\n }\n if (!isFinite(value) && !isHexStrict(value)) {\n throw new Error('Given input \"' + value + '\" is not a number.');\n }\n var number = toBN(value);\n var result = number.toString(16);\n return number.lt(new BN(0)) ? '-0x' + result.slice(1) : '0x' + result;\n};\n/**\n * Convert a byte array to a hex string\n *\n * Note: Implementation from crypto-js\n *\n * @method bytesToHex\n * @param {Array} bytes\n * @return {String} the hex string\n */\nvar bytesToHex = function (bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n /* jshint ignore:start */\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n /* jshint ignore:end */\n }\n return '0x' + hex.join(\"\");\n};\n/**\n * Convert a hex string to a byte array\n *\n * Note: Implementation from crypto-js\n *\n * @method hexToBytes\n * @param {string} hex\n * @return {Array} the byte array\n */\nvar hexToBytes = function (hex) {\n hex = hex.toString(16);\n if (!isHexStrict(hex)) {\n throw new Error('Given value \"' + hex + '\" is not a valid hex string.');\n }\n hex = hex.replace(/^0x/i, '');\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.slice(c, c + 2), 16));\n return bytes;\n};\n/**\n * Auto converts any given value into it's hex representation.\n *\n * And even stringifys objects before.\n *\n * @method toHex\n * @param {String|Number|BN|Object|Buffer} value\n * @param {Boolean} returnType\n * @return {String}\n */\nvar toHex = function (value, returnType) {\n /*jshint maxcomplexity: false */\n if (isAddress(value)) {\n return returnType ? 'address' : '0x' + value.toLowerCase().replace(/^0x/i, '');\n }\n if (typeof value === 'boolean') {\n return returnType ? 'bool' : value ? '0x01' : '0x00';\n }\n if (Buffer.isBuffer(value)) {\n return '0x' + value.toString('hex');\n }\n if (typeof value === 'object' && !!value && !isBigNumber(value) && !isBN(value)) {\n return returnType ? 'string' : utf8ToHex(JSON.stringify(value));\n }\n // if its a negative number, pass it through numberToHex\n if (typeof value === 'string') {\n if (value.indexOf('-0x') === 0 || value.indexOf('-0X') === 0) {\n return returnType ? 'int256' : numberToHex(value);\n }\n else if (value.indexOf('0x') === 0 || value.indexOf('0X') === 0) {\n return returnType ? 'bytes' : value;\n }\n else if (!isFinite(value)) {\n return returnType ? 'string' : utf8ToHex(value);\n }\n }\n return returnType ? (value < 0 ? 'int256' : 'uint256') : numberToHex(value);\n};\n/**\n * Check if string is HEX, requires a 0x in front\n *\n * @method isHexStrict\n * @param {String} hex to be checked\n * @returns {Boolean}\n */\nvar isHexStrict = function (hex) {\n return ((typeof hex === 'string' || typeof hex === 'number') && /^(-)?0x[0-9a-f]*$/i.test(hex));\n};\n/**\n * Check if string is HEX\n *\n * @method isHex\n * @param {String} hex to be checked\n * @returns {Boolean}\n */\nvar isHex = function (hex) {\n return ((typeof hex === 'string' || typeof hex === 'number') && /^(-0x|0x)?[0-9a-f]*$/i.test(hex));\n};\n/**\n * Remove 0x prefix from string\n *\n * @method stripHexPrefix\n * @param {String} str to be checked\n * @returns {String}\n */\nvar stripHexPrefix = function (str) {\n if (str !== 0 && isHex(str))\n return str.replace(/^(-)?0x/i, '$1');\n return str;\n};\n/**\n * Returns true if given string is a valid Ethereum block header bloom.\n *\n * @method isBloom\n * @param {String} bloom encoded bloom filter\n * @return {Boolean}\n */\nvar isBloom = function (bloom) {\n return ethereumBloomFilters.isBloom(bloom);\n};\n/**\n * Returns true if the ethereum users address is part of the given bloom\n * note: false positives are possible.\n *\n * @method isUserEthereumAddressInBloom\n * @param {String} ethereumAddress encoded bloom filter\n * @param {String} bloom ethereum addresss\n * @return {Boolean}\n */\nvar isUserEthereumAddressInBloom = function (bloom, ethereumAddress) {\n return ethereumBloomFilters.isUserEthereumAddressInBloom(bloom, ethereumAddress);\n};\n/**\n * Returns true if the contract address is part of the given bloom\n * note: false positives are possible.\n *\n * @method isUserEthereumAddressInBloom\n * @param {String} bloom encoded bloom filter\n * @param {String} contractAddress contract addresss\n * @return {Boolean}\n */\nvar isContractAddressInBloom = function (bloom, contractAddress) {\n return ethereumBloomFilters.isContractAddressInBloom(bloom, contractAddress);\n};\n/**\n * Returns true if given string is a valid log topic.\n *\n * @method isTopic\n * @param {String} topic encoded topic\n * @return {Boolean}\n */\nvar isTopic = function (topic) {\n return ethereumBloomFilters.isTopic(topic);\n};\n/**\n * Returns true if the topic is part of the given bloom\n * note: false positives are possible.\n *\n * @method isTopicInBloom\n * @param {String} bloom encoded bloom filter\n * @param {String} topic encoded topic\n * @return {Boolean}\n */\nvar isTopicInBloom = function (bloom, topic) {\n return ethereumBloomFilters.isTopicInBloom(bloom, topic);\n};\n/**\n * Returns true if the value is part of the given bloom\n * note: false positives are possible.\n *\n * @method isInBloom\n * @param {String} bloom encoded bloom filter\n * @param {String | Uint8Array} topic encoded value\n * @return {Boolean}\n */\nvar isInBloom = function (bloom, topic) {\n return ethereumBloomFilters.isInBloom(bloom, topic);\n};\n/**\n * Hashes values to a sha3 hash using keccak 256\n *\n * To hash a HEX string the hex must have 0x in front.\n *\n * @method sha3\n * @return {String} the sha3 string\n */\nvar SHA3_NULL_S = '0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470';\nvar sha3 = function (value) {\n if (isBN(value)) {\n value = value.toString();\n }\n if (isHexStrict(value) && /^0x/i.test((value).toString())) {\n value = ethereumjsUtil.toBuffer(value);\n }\n else if (typeof value === 'string') {\n // Assume value is an arbitrary string\n value = Buffer.from(value, 'utf-8');\n }\n var returnValue = ethereumjsUtil.bufferToHex(ethereumjsUtil.keccak256(value));\n if (returnValue === SHA3_NULL_S) {\n return null;\n }\n else {\n return returnValue;\n }\n};\n// expose the under the hood keccak256\nsha3._Hash = ethereumjsUtil.keccak256;\n/**\n * @method sha3Raw\n *\n * @param value\n *\n * @returns {string}\n */\nvar sha3Raw = function (value) {\n value = sha3(value);\n if (value === null) {\n return SHA3_NULL_S;\n }\n return value;\n};\n/**\n * Auto converts any given value into it's hex representation,\n * then converts hex to number.\n *\n * @method toNumber\n * @param {String|Number|BN} value\n * @param {Boolean} bigIntOnOverflow - if true, return the hex value in case of overflow\n * @return {Number|String}\n */\nvar toNumber = function (value, bigIntOnOverflow = false) {\n return typeof value === 'number' ? value : hexToNumber(toHex(value), bigIntOnOverflow);\n};\n// 1.x currently accepts 0x... strings, bn.js after update doesn't. it would be a breaking change\nvar BNwrapped = function (value) {\n // check negative\n if (typeof value == \"string\" && value.includes(\"0x\")) {\n const [negative, hexValue] = value.toLocaleLowerCase().startsWith('-') ? [\"-\", value.slice(3)] : [\"\", value.slice(2)];\n return new BN(negative + hexValue, 16);\n }\n else {\n return new BN(value);\n }\n};\nObject.setPrototypeOf(BNwrapped, BN);\nObject.setPrototypeOf(BNwrapped.prototype, BN.prototype);\nmodule.exports = {\n BN: BNwrapped,\n isBN: isBN,\n isBigNumber: isBigNumber,\n toBN: toBN,\n isAddress: isAddress,\n isBloom: isBloom,\n isUserEthereumAddressInBloom: isUserEthereumAddressInBloom,\n isContractAddressInBloom: isContractAddressInBloom,\n isTopic: isTopic,\n isTopicInBloom: isTopicInBloom,\n isInBloom: isInBloom,\n checkAddressChecksum: checkAddressChecksum,\n utf8ToHex: utf8ToHex,\n hexToUtf8: hexToUtf8,\n hexToNumber: hexToNumber,\n hexToNumberString: hexToNumberString,\n numberToHex: numberToHex,\n toHex: toHex,\n hexToBytes: hexToBytes,\n bytesToHex: bytesToHex,\n isHex: isHex,\n isHexStrict: isHexStrict,\n stripHexPrefix: stripHexPrefix,\n leftPad: leftPad,\n rightPad: rightPad,\n toTwosComplement: toTwosComplement,\n sha3: sha3,\n sha3Raw: sha3Raw,\n toNumber: toNumber\n};\n","/*! https://mths.be/utf8js v3.0.0 by @mathias */\n;(function(root) {\n\n\tvar stringFromCharCode = String.fromCharCode;\n\n\t// Taken from https://mths.be/punycode\n\tfunction ucs2decode(string) {\n\t\tvar output = [];\n\t\tvar counter = 0;\n\t\tvar length = string.length;\n\t\tvar value;\n\t\tvar extra;\n\t\twhile (counter < length) {\n\t\t\tvalue = string.charCodeAt(counter++);\n\t\t\tif (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n\t\t\t\t// high surrogate, and there is a next character\n\t\t\t\textra = string.charCodeAt(counter++);\n\t\t\t\tif ((extra & 0xFC00) == 0xDC00) { // low surrogate\n\t\t\t\t\toutput.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n\t\t\t\t} else {\n\t\t\t\t\t// unmatched surrogate; only append this code unit, in case the next\n\t\t\t\t\t// code unit is the high surrogate of a surrogate pair\n\t\t\t\t\toutput.push(value);\n\t\t\t\t\tcounter--;\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\toutput.push(value);\n\t\t\t}\n\t\t}\n\t\treturn output;\n\t}\n\n\t// Taken from https://mths.be/punycode\n\tfunction ucs2encode(array) {\n\t\tvar length = array.length;\n\t\tvar index = -1;\n\t\tvar value;\n\t\tvar output = '';\n\t\twhile (++index < length) {\n\t\t\tvalue = array[index];\n\t\t\tif (value > 0xFFFF) {\n\t\t\t\tvalue -= 0x10000;\n\t\t\t\toutput += stringFromCharCode(value >>> 10 & 0x3FF | 0xD800);\n\t\t\t\tvalue = 0xDC00 | value & 0x3FF;\n\t\t\t}\n\t\t\toutput += stringFromCharCode(value);\n\t\t}\n\t\treturn output;\n\t}\n\n\tfunction checkScalarValue(codePoint) {\n\t\tif (codePoint >= 0xD800 && codePoint <= 0xDFFF) {\n\t\t\tthrow Error(\n\t\t\t\t'Lone surrogate U+' + codePoint.toString(16).toUpperCase() +\n\t\t\t\t' is not a scalar value'\n\t\t\t);\n\t\t}\n\t}\n\t/*--------------------------------------------------------------------------*/\n\n\tfunction createByte(codePoint, shift) {\n\t\treturn stringFromCharCode(((codePoint >> shift) & 0x3F) | 0x80);\n\t}\n\n\tfunction encodeCodePoint(codePoint) {\n\t\tif ((codePoint & 0xFFFFFF80) == 0) { // 1-byte sequence\n\t\t\treturn stringFromCharCode(codePoint);\n\t\t}\n\t\tvar symbol = '';\n\t\tif ((codePoint & 0xFFFFF800) == 0) { // 2-byte sequence\n\t\t\tsymbol = stringFromCharCode(((codePoint >> 6) & 0x1F) | 0xC0);\n\t\t}\n\t\telse if ((codePoint & 0xFFFF0000) == 0) { // 3-byte sequence\n\t\t\tcheckScalarValue(codePoint);\n\t\t\tsymbol = stringFromCharCode(((codePoint >> 12) & 0x0F) | 0xE0);\n\t\t\tsymbol += createByte(codePoint, 6);\n\t\t}\n\t\telse if ((codePoint & 0xFFE00000) == 0) { // 4-byte sequence\n\t\t\tsymbol = stringFromCharCode(((codePoint >> 18) & 0x07) | 0xF0);\n\t\t\tsymbol += createByte(codePoint, 12);\n\t\t\tsymbol += createByte(codePoint, 6);\n\t\t}\n\t\tsymbol += stringFromCharCode((codePoint & 0x3F) | 0x80);\n\t\treturn symbol;\n\t}\n\n\tfunction utf8encode(string) {\n\t\tvar codePoints = ucs2decode(string);\n\t\tvar length = codePoints.length;\n\t\tvar index = -1;\n\t\tvar codePoint;\n\t\tvar byteString = '';\n\t\twhile (++index < length) {\n\t\t\tcodePoint = codePoints[index];\n\t\t\tbyteString += encodeCodePoint(codePoint);\n\t\t}\n\t\treturn byteString;\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\tfunction readContinuationByte() {\n\t\tif (byteIndex >= byteCount) {\n\t\t\tthrow Error('Invalid byte index');\n\t\t}\n\n\t\tvar continuationByte = byteArray[byteIndex] & 0xFF;\n\t\tbyteIndex++;\n\n\t\tif ((continuationByte & 0xC0) == 0x80) {\n\t\t\treturn continuationByte & 0x3F;\n\t\t}\n\n\t\t// If we end up here, it’s not a continuation byte\n\t\tthrow Error('Invalid continuation byte');\n\t}\n\n\tfunction decodeSymbol() {\n\t\tvar byte1;\n\t\tvar byte2;\n\t\tvar byte3;\n\t\tvar byte4;\n\t\tvar codePoint;\n\n\t\tif (byteIndex > byteCount) {\n\t\t\tthrow Error('Invalid byte index');\n\t\t}\n\n\t\tif (byteIndex == byteCount) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Read first byte\n\t\tbyte1 = byteArray[byteIndex] & 0xFF;\n\t\tbyteIndex++;\n\n\t\t// 1-byte sequence (no continuation bytes)\n\t\tif ((byte1 & 0x80) == 0) {\n\t\t\treturn byte1;\n\t\t}\n\n\t\t// 2-byte sequence\n\t\tif ((byte1 & 0xE0) == 0xC0) {\n\t\t\tbyte2 = readContinuationByte();\n\t\t\tcodePoint = ((byte1 & 0x1F) << 6) | byte2;\n\t\t\tif (codePoint >= 0x80) {\n\t\t\t\treturn codePoint;\n\t\t\t} else {\n\t\t\t\tthrow Error('Invalid continuation byte');\n\t\t\t}\n\t\t}\n\n\t\t// 3-byte sequence (may include unpaired surrogates)\n\t\tif ((byte1 & 0xF0) == 0xE0) {\n\t\t\tbyte2 = readContinuationByte();\n\t\t\tbyte3 = readContinuationByte();\n\t\t\tcodePoint = ((byte1 & 0x0F) << 12) | (byte2 << 6) | byte3;\n\t\t\tif (codePoint >= 0x0800) {\n\t\t\t\tcheckScalarValue(codePoint);\n\t\t\t\treturn codePoint;\n\t\t\t} else {\n\t\t\t\tthrow Error('Invalid continuation byte');\n\t\t\t}\n\t\t}\n\n\t\t// 4-byte sequence\n\t\tif ((byte1 & 0xF8) == 0xF0) {\n\t\t\tbyte2 = readContinuationByte();\n\t\t\tbyte3 = readContinuationByte();\n\t\t\tbyte4 = readContinuationByte();\n\t\t\tcodePoint = ((byte1 & 0x07) << 0x12) | (byte2 << 0x0C) |\n\t\t\t\t(byte3 << 0x06) | byte4;\n\t\t\tif (codePoint >= 0x010000 && codePoint <= 0x10FFFF) {\n\t\t\t\treturn codePoint;\n\t\t\t}\n\t\t}\n\n\t\tthrow Error('Invalid UTF-8 detected');\n\t}\n\n\tvar byteArray;\n\tvar byteCount;\n\tvar byteIndex;\n\tfunction utf8decode(byteString) {\n\t\tbyteArray = ucs2decode(byteString);\n\t\tbyteCount = byteArray.length;\n\t\tbyteIndex = 0;\n\t\tvar codePoints = [];\n\t\tvar tmp;\n\t\twhile ((tmp = decodeSymbol()) !== false) {\n\t\t\tcodePoints.push(tmp);\n\t\t}\n\t\treturn ucs2encode(codePoints);\n\t}\n\n\t/*--------------------------------------------------------------------------*/\n\n\troot.version = '3.0.0';\n\troot.encode = utf8encode;\n\troot.decode = utf8decode;\n\n}(typeof exports === 'undefined' ? this.utf8 = {} : exports));\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isHexString = exports.getKeys = exports.fromAscii = exports.fromUtf8 = exports.toAscii = exports.arrayContainsArray = exports.getBinarySize = exports.padToEven = exports.stripHexPrefix = exports.isHexPrefixed = void 0;\n/**\n * Constants\n */\n__exportStar(require(\"./constants\"), exports);\n/**\n * Account class and helper functions\n */\n__exportStar(require(\"./account\"), exports);\n/**\n * Address type\n */\n__exportStar(require(\"./address\"), exports);\n/**\n * Hash functions\n */\n__exportStar(require(\"./hash\"), exports);\n/**\n * ECDSA signature\n */\n__exportStar(require(\"./signature\"), exports);\n/**\n * Utilities for manipulating Buffers, byte arrays, etc.\n */\n__exportStar(require(\"./bytes\"), exports);\n/**\n * Function for definining properties on an object\n */\n__exportStar(require(\"./object\"), exports);\n/**\n * External exports (BN, rlp)\n */\n__exportStar(require(\"./externals\"), exports);\n/**\n * Helpful TypeScript types\n */\n__exportStar(require(\"./types\"), exports);\n/**\n * Export ethjs-util methods\n */\nvar internal_1 = require(\"./internal\");\nObject.defineProperty(exports, \"isHexPrefixed\", { enumerable: true, get: function () { return internal_1.isHexPrefixed; } });\nObject.defineProperty(exports, \"stripHexPrefix\", { enumerable: true, get: function () { return internal_1.stripHexPrefix; } });\nObject.defineProperty(exports, \"padToEven\", { enumerable: true, get: function () { return internal_1.padToEven; } });\nObject.defineProperty(exports, \"getBinarySize\", { enumerable: true, get: function () { return internal_1.getBinarySize; } });\nObject.defineProperty(exports, \"arrayContainsArray\", { enumerable: true, get: function () { return internal_1.arrayContainsArray; } });\nObject.defineProperty(exports, \"toAscii\", { enumerable: true, get: function () { return internal_1.toAscii; } });\nObject.defineProperty(exports, \"fromUtf8\", { enumerable: true, get: function () { return internal_1.fromUtf8; } });\nObject.defineProperty(exports, \"fromAscii\", { enumerable: true, get: function () { return internal_1.fromAscii; } });\nObject.defineProperty(exports, \"getKeys\", { enumerable: true, get: function () { return internal_1.getKeys; } });\nObject.defineProperty(exports, \"isHexString\", { enumerable: true, get: function () { return internal_1.isHexString; } });\n//# sourceMappingURL=index.js.map","/**\n * Constants\n */\nexport * from './constants'\n\n/**\n * Account class and helper functions\n */\nexport * from './account'\n\n/**\n * Address type\n */\nexport * from './address'\n\n/**\n * Hash functions\n */\nexport * from './hash'\n\n/**\n * ECDSA signature\n */\nexport * from './signature'\n\n/**\n * Utilities for manipulating Buffers, byte arrays, etc.\n */\nexport * from './bytes'\n\n/**\n * Function for definining properties on an object\n */\nexport * from './object'\n\n/**\n * External exports (BN, rlp)\n */\nexport * from './externals'\n\n/**\n * Helpful TypeScript types\n */\nexport * from './types'\n\n/**\n * Export ethjs-util methods\n */\nexport {\n isHexPrefixed,\n stripHexPrefix,\n padToEven,\n getBinarySize,\n arrayContainsArray,\n toAscii,\n fromUtf8,\n fromAscii,\n getKeys,\n isHexString,\n} from './internal'\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.KECCAK256_RLP = exports.KECCAK256_RLP_S = exports.KECCAK256_RLP_ARRAY = exports.KECCAK256_RLP_ARRAY_S = exports.KECCAK256_NULL = exports.KECCAK256_NULL_S = exports.TWO_POW256 = exports.MAX_INTEGER = exports.MAX_UINT64 = void 0;\nvar buffer_1 = require(\"buffer\");\nvar externals_1 = require(\"./externals\");\n/**\n * 2^64-1\n */\nexports.MAX_UINT64 = new externals_1.BN('ffffffffffffffff', 16);\n/**\n * The max integer that the evm can handle (2^256-1)\n */\nexports.MAX_INTEGER = new externals_1.BN('ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 16);\n/**\n * 2^256\n */\nexports.TWO_POW256 = new externals_1.BN('10000000000000000000000000000000000000000000000000000000000000000', 16);\n/**\n * Keccak-256 hash of null\n */\nexports.KECCAK256_NULL_S = 'c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470';\n/**\n * Keccak-256 hash of null\n */\nexports.KECCAK256_NULL = buffer_1.Buffer.from(exports.KECCAK256_NULL_S, 'hex');\n/**\n * Keccak-256 of an RLP of an empty array\n */\nexports.KECCAK256_RLP_ARRAY_S = '1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347';\n/**\n * Keccak-256 of an RLP of an empty array\n */\nexports.KECCAK256_RLP_ARRAY = buffer_1.Buffer.from(exports.KECCAK256_RLP_ARRAY_S, 'hex');\n/**\n * Keccak-256 hash of the RLP of null\n */\nexports.KECCAK256_RLP_S = '56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421';\n/**\n * Keccak-256 hash of the RLP of null\n */\nexports.KECCAK256_RLP = buffer_1.Buffer.from(exports.KECCAK256_RLP_S, 'hex');\n//# sourceMappingURL=constants.js.map","import { Buffer } from 'buffer'\nimport { BN } from './externals'\n\n/**\n * 2^64-1\n */\nexport const MAX_UINT64 = new BN('ffffffffffffffff', 16)\n\n/**\n * The max integer that the evm can handle (2^256-1)\n */\nexport const MAX_INTEGER = new BN(\n 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff',\n 16\n)\n\n/**\n * 2^256\n */\nexport const TWO_POW256 = new BN(\n '10000000000000000000000000000000000000000000000000000000000000000',\n 16\n)\n\n/**\n * Keccak-256 hash of null\n */\nexport const KECCAK256_NULL_S = 'c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470'\n\n/**\n * Keccak-256 hash of null\n */\nexport const KECCAK256_NULL = Buffer.from(KECCAK256_NULL_S, 'hex')\n\n/**\n * Keccak-256 of an RLP of an empty array\n */\nexport const KECCAK256_RLP_ARRAY_S =\n '1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347'\n\n/**\n * Keccak-256 of an RLP of an empty array\n */\nexport const KECCAK256_RLP_ARRAY = Buffer.from(KECCAK256_RLP_ARRAY_S, 'hex')\n\n/**\n * Keccak-256 hash of the RLP of null\n */\nexport const KECCAK256_RLP_S = '56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421'\n\n/**\n * Keccak-256 hash of the RLP of null\n */\nexport const KECCAK256_RLP = Buffer.from(KECCAK256_RLP_S, 'hex')\n","\"use strict\";\n/**\n * Re-exports commonly used modules:\n * * Exports [`BN`](https://github.com/indutny/bn.js), [`rlp`](https://github.com/ethereumjs/rlp).\n * @packageDocumentation\n */\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.rlp = exports.BN = void 0;\nvar bn_js_1 = __importDefault(require(\"bn.js\"));\nexports.BN = bn_js_1.default;\nvar rlp = __importStar(require(\"rlp\"));\nexports.rlp = rlp;\n//# sourceMappingURL=externals.js.map","/**\n * Re-exports commonly used modules:\n * * Exports [`BN`](https://github.com/indutny/bn.js), [`rlp`](https://github.com/ethereumjs/rlp).\n * @packageDocumentation\n */\n\nimport BN from 'bn.js'\nimport * as rlp from 'rlp'\n\n/**\n * [`BN`](https://github.com/indutny/bn.js)\n */\nexport { BN }\n\n/**\n * [`rlp`](https://github.com/ethereumjs/rlp)\n */\nexport { rlp }\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getLength = exports.decode = exports.encode = void 0;\nvar bn_js_1 = __importDefault(require(\"bn.js\"));\n/**\n * RLP Encoding based on: https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP\n * This function takes in a data, convert it to buffer if not, and a length for recursion\n * @param input - will be converted to buffer\n * @returns returns buffer of encoded data\n **/\nfunction encode(input) {\n if (Array.isArray(input)) {\n var output = [];\n for (var i = 0; i < input.length; i++) {\n output.push(encode(input[i]));\n }\n var buf = Buffer.concat(output);\n return Buffer.concat([encodeLength(buf.length, 192), buf]);\n }\n else {\n var inputBuf = toBuffer(input);\n return inputBuf.length === 1 && inputBuf[0] < 128\n ? inputBuf\n : Buffer.concat([encodeLength(inputBuf.length, 128), inputBuf]);\n }\n}\nexports.encode = encode;\n/**\n * Parse integers. Check if there is no leading zeros\n * @param v The value to parse\n * @param base The base to parse the integer into\n */\nfunction safeParseInt(v, base) {\n if (v[0] === '0' && v[1] === '0') {\n throw new Error('invalid RLP: extra zeros');\n }\n return parseInt(v, base);\n}\nfunction encodeLength(len, offset) {\n if (len < 56) {\n return Buffer.from([len + offset]);\n }\n else {\n var hexLength = intToHex(len);\n var lLength = hexLength.length / 2;\n var firstByte = intToHex(offset + 55 + lLength);\n return Buffer.from(firstByte + hexLength, 'hex');\n }\n}\nfunction decode(input, stream) {\n if (stream === void 0) { stream = false; }\n if (!input || input.length === 0) {\n return Buffer.from([]);\n }\n var inputBuffer = toBuffer(input);\n var decoded = _decode(inputBuffer);\n if (stream) {\n return decoded;\n }\n if (decoded.remainder.length !== 0) {\n throw new Error('invalid remainder');\n }\n return decoded.data;\n}\nexports.decode = decode;\n/**\n * Get the length of the RLP input\n * @param input\n * @returns The length of the input or an empty Buffer if no input\n */\nfunction getLength(input) {\n if (!input || input.length === 0) {\n return Buffer.from([]);\n }\n var inputBuffer = toBuffer(input);\n var firstByte = inputBuffer[0];\n if (firstByte <= 0x7f) {\n return inputBuffer.length;\n }\n else if (firstByte <= 0xb7) {\n return firstByte - 0x7f;\n }\n else if (firstByte <= 0xbf) {\n return firstByte - 0xb6;\n }\n else if (firstByte <= 0xf7) {\n // a list between 0-55 bytes long\n return firstByte - 0xbf;\n }\n else {\n // a list over 55 bytes long\n var llength = firstByte - 0xf6;\n var length_1 = safeParseInt(inputBuffer.slice(1, llength).toString('hex'), 16);\n return llength + length_1;\n }\n}\nexports.getLength = getLength;\n/** Decode an input with RLP */\nfunction _decode(input) {\n var length, llength, data, innerRemainder, d;\n var decoded = [];\n var firstByte = input[0];\n if (firstByte <= 0x7f) {\n // a single byte whose value is in the [0x00, 0x7f] range, that byte is its own RLP encoding.\n return {\n data: input.slice(0, 1),\n remainder: input.slice(1),\n };\n }\n else if (firstByte <= 0xb7) {\n // string is 0-55 bytes long. A single byte with value 0x80 plus the length of the string followed by the string\n // The range of the first byte is [0x80, 0xb7]\n length = firstByte - 0x7f;\n // set 0x80 null to 0\n if (firstByte === 0x80) {\n data = Buffer.from([]);\n }\n else {\n data = input.slice(1, length);\n }\n if (length === 2 && data[0] < 0x80) {\n throw new Error('invalid rlp encoding: byte must be less 0x80');\n }\n return {\n data: data,\n remainder: input.slice(length),\n };\n }\n else if (firstByte <= 0xbf) {\n // string is greater than 55 bytes long. A single byte with the value (0xb7 plus the length of the length),\n // followed by the length, followed by the string\n llength = firstByte - 0xb6;\n if (input.length - 1 < llength) {\n throw new Error('invalid RLP: not enough bytes for string length');\n }\n length = safeParseInt(input.slice(1, llength).toString('hex'), 16);\n if (length <= 55) {\n throw new Error('invalid RLP: expected string length to be greater than 55');\n }\n data = input.slice(llength, length + llength);\n if (data.length < length) {\n throw new Error('invalid RLP: not enough bytes for string');\n }\n return {\n data: data,\n remainder: input.slice(length + llength),\n };\n }\n else if (firstByte <= 0xf7) {\n // a list between 0-55 bytes long\n length = firstByte - 0xbf;\n innerRemainder = input.slice(1, length);\n while (innerRemainder.length) {\n d = _decode(innerRemainder);\n decoded.push(d.data);\n innerRemainder = d.remainder;\n }\n return {\n data: decoded,\n remainder: input.slice(length),\n };\n }\n else {\n // a list over 55 bytes long\n llength = firstByte - 0xf6;\n length = safeParseInt(input.slice(1, llength).toString('hex'), 16);\n var totalLength = llength + length;\n if (totalLength > input.length) {\n throw new Error('invalid rlp: total length is larger than the data');\n }\n innerRemainder = input.slice(llength, totalLength);\n if (innerRemainder.length === 0) {\n throw new Error('invalid rlp, List has a invalid length');\n }\n while (innerRemainder.length) {\n d = _decode(innerRemainder);\n decoded.push(d.data);\n innerRemainder = d.remainder;\n }\n return {\n data: decoded,\n remainder: input.slice(totalLength),\n };\n }\n}\n/** Check if a string is prefixed by 0x */\nfunction isHexPrefixed(str) {\n return str.slice(0, 2) === '0x';\n}\n/** Removes 0x from a given String */\nfunction stripHexPrefix(str) {\n if (typeof str !== 'string') {\n return str;\n }\n return isHexPrefixed(str) ? str.slice(2) : str;\n}\n/** Transform an integer into its hexadecimal value */\nfunction intToHex(integer) {\n if (integer < 0) {\n throw new Error('Invalid integer as argument, must be unsigned!');\n }\n var hex = integer.toString(16);\n return hex.length % 2 ? \"0\" + hex : hex;\n}\n/** Pad a string to be even */\nfunction padToEven(a) {\n return a.length % 2 ? \"0\" + a : a;\n}\n/** Transform an integer into a Buffer */\nfunction intToBuffer(integer) {\n var hex = intToHex(integer);\n return Buffer.from(hex, 'hex');\n}\n/** Transform anything into a Buffer */\nfunction toBuffer(v) {\n if (!Buffer.isBuffer(v)) {\n if (typeof v === 'string') {\n if (isHexPrefixed(v)) {\n return Buffer.from(padToEven(stripHexPrefix(v)), 'hex');\n }\n else {\n return Buffer.from(v);\n }\n }\n else if (typeof v === 'number' || typeof v === 'bigint') {\n if (!v) {\n return Buffer.from([]);\n }\n else {\n return intToBuffer(v);\n }\n }\n else if (v === null || v === undefined) {\n return Buffer.from([]);\n }\n else if (v instanceof Uint8Array) {\n return Buffer.from(v);\n }\n else if (bn_js_1.default.isBN(v)) {\n // converts a BN to a Buffer\n return Buffer.from(v.toArray());\n }\n else {\n throw new Error('invalid type');\n }\n }\n return v;\n}\n//# sourceMappingURL=index.js.map","import BN from 'bn.js'\n\nimport { Decoded, Input, List } from './types'\n\n// Types exported outside of this package\nexport { Decoded, Input, List }\n\n/**\n * RLP Encoding based on: https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP\n * This function takes in a data, convert it to buffer if not, and a length for recursion\n * @param input - will be converted to buffer\n * @returns returns buffer of encoded data\n **/\nexport function encode(input: Input): Buffer {\n if (Array.isArray(input)) {\n const output: Buffer[] = []\n for (let i = 0; i < input.length; i++) {\n output.push(encode(input[i]))\n }\n const buf = Buffer.concat(output)\n return Buffer.concat([encodeLength(buf.length, 192), buf])\n } else {\n const inputBuf = toBuffer(input)\n return inputBuf.length === 1 && inputBuf[0] < 128\n ? inputBuf\n : Buffer.concat([encodeLength(inputBuf.length, 128), inputBuf])\n }\n}\n\n/**\n * Parse integers. Check if there is no leading zeros\n * @param v The value to parse\n * @param base The base to parse the integer into\n */\nfunction safeParseInt(v: string, base: number): number {\n if (v[0] === '0' && v[1] === '0') {\n throw new Error('invalid RLP: extra zeros')\n }\n\n return parseInt(v, base)\n}\n\nfunction encodeLength(len: number, offset: number): Buffer {\n if (len < 56) {\n return Buffer.from([len + offset])\n } else {\n const hexLength = intToHex(len)\n const lLength = hexLength.length / 2\n const firstByte = intToHex(offset + 55 + lLength)\n return Buffer.from(firstByte + hexLength, 'hex')\n }\n}\n\n/**\n * RLP Decoding based on: {@link https://github.com/ethereum/wiki/wiki/%5BEnglish%5D-RLP|RLP}\n * @param input - will be converted to buffer\n * @param stream - Is the input a stream (false by default)\n * @returns - returns decode Array of Buffers containg the original message\n **/\nexport function decode(input: Buffer, stream?: boolean): Buffer\nexport function decode(input: Buffer[], stream?: boolean): Buffer[]\nexport function decode(input: Input, stream?: boolean): Buffer[] | Buffer | Decoded\nexport function decode(input: Input, stream: boolean = false): Buffer[] | Buffer | Decoded {\n if (!input || (input as any).length === 0) {\n return Buffer.from([])\n }\n\n const inputBuffer = toBuffer(input)\n const decoded = _decode(inputBuffer)\n\n if (stream) {\n return decoded\n }\n if (decoded.remainder.length !== 0) {\n throw new Error('invalid remainder')\n }\n\n return decoded.data\n}\n\n/**\n * Get the length of the RLP input\n * @param input\n * @returns The length of the input or an empty Buffer if no input\n */\nexport function getLength(input: Input): Buffer | number {\n if (!input || (input as any).length === 0) {\n return Buffer.from([])\n }\n\n const inputBuffer = toBuffer(input)\n const firstByte = inputBuffer[0]\n\n if (firstByte <= 0x7f) {\n return inputBuffer.length\n } else if (firstByte <= 0xb7) {\n return firstByte - 0x7f\n } else if (firstByte <= 0xbf) {\n return firstByte - 0xb6\n } else if (firstByte <= 0xf7) {\n // a list between 0-55 bytes long\n return firstByte - 0xbf\n } else {\n // a list over 55 bytes long\n const llength = firstByte - 0xf6\n const length = safeParseInt(inputBuffer.slice(1, llength).toString('hex'), 16)\n return llength + length\n }\n}\n\n/** Decode an input with RLP */\nfunction _decode(input: Buffer): Decoded {\n let length, llength, data, innerRemainder, d\n const decoded = []\n const firstByte = input[0]\n\n if (firstByte <= 0x7f) {\n // a single byte whose value is in the [0x00, 0x7f] range, that byte is its own RLP encoding.\n return {\n data: input.slice(0, 1),\n remainder: input.slice(1),\n }\n } else if (firstByte <= 0xb7) {\n // string is 0-55 bytes long. A single byte with value 0x80 plus the length of the string followed by the string\n // The range of the first byte is [0x80, 0xb7]\n length = firstByte - 0x7f\n\n // set 0x80 null to 0\n if (firstByte === 0x80) {\n data = Buffer.from([])\n } else {\n data = input.slice(1, length)\n }\n\n if (length === 2 && data[0] < 0x80) {\n throw new Error('invalid rlp encoding: byte must be less 0x80')\n }\n\n return {\n data: data,\n remainder: input.slice(length),\n }\n } else if (firstByte <= 0xbf) {\n // string is greater than 55 bytes long. A single byte with the value (0xb7 plus the length of the length),\n // followed by the length, followed by the string\n llength = firstByte - 0xb6\n if (input.length - 1 < llength) {\n throw new Error('invalid RLP: not enough bytes for string length')\n }\n length = safeParseInt(input.slice(1, llength).toString('hex'), 16)\n if (length <= 55) {\n throw new Error('invalid RLP: expected string length to be greater than 55')\n }\n data = input.slice(llength, length + llength)\n if (data.length < length) {\n throw new Error('invalid RLP: not enough bytes for string')\n }\n\n return {\n data: data,\n remainder: input.slice(length + llength),\n }\n } else if (firstByte <= 0xf7) {\n // a list between 0-55 bytes long\n length = firstByte - 0xbf\n innerRemainder = input.slice(1, length)\n while (innerRemainder.length) {\n d = _decode(innerRemainder)\n decoded.push(d.data as Buffer)\n innerRemainder = d.remainder\n }\n\n return {\n data: decoded,\n remainder: input.slice(length),\n }\n } else {\n // a list over 55 bytes long\n llength = firstByte - 0xf6\n length = safeParseInt(input.slice(1, llength).toString('hex'), 16)\n const totalLength = llength + length\n if (totalLength > input.length) {\n throw new Error('invalid rlp: total length is larger than the data')\n }\n\n innerRemainder = input.slice(llength, totalLength)\n if (innerRemainder.length === 0) {\n throw new Error('invalid rlp, List has a invalid length')\n }\n\n while (innerRemainder.length) {\n d = _decode(innerRemainder)\n decoded.push(d.data as Buffer)\n innerRemainder = d.remainder\n }\n return {\n data: decoded,\n remainder: input.slice(totalLength),\n }\n }\n}\n\n/** Check if a string is prefixed by 0x */\nfunction isHexPrefixed(str: string): boolean {\n return str.slice(0, 2) === '0x'\n}\n\n/** Removes 0x from a given String */\nfunction stripHexPrefix(str: string): string {\n if (typeof str !== 'string') {\n return str\n }\n return isHexPrefixed(str) ? str.slice(2) : str\n}\n\n/** Transform an integer into its hexadecimal value */\nfunction intToHex(integer: number | bigint): string {\n if (integer < 0) {\n throw new Error('Invalid integer as argument, must be unsigned!')\n }\n const hex = integer.toString(16)\n return hex.length % 2 ? `0${hex}` : hex\n}\n\n/** Pad a string to be even */\nfunction padToEven(a: string): string {\n return a.length % 2 ? `0${a}` : a\n}\n\n/** Transform an integer into a Buffer */\nfunction intToBuffer(integer: number | bigint): Buffer {\n const hex = intToHex(integer)\n return Buffer.from(hex, 'hex')\n}\n\n/** Transform anything into a Buffer */\nfunction toBuffer(v: Input): Buffer {\n if (!Buffer.isBuffer(v)) {\n if (typeof v === 'string') {\n if (isHexPrefixed(v)) {\n return Buffer.from(padToEven(stripHexPrefix(v)), 'hex')\n } else {\n return Buffer.from(v)\n }\n } else if (typeof v === 'number' || typeof v === 'bigint') {\n if (!v) {\n return Buffer.from([])\n } else {\n return intToBuffer(v)\n }\n } else if (v === null || v === undefined) {\n return Buffer.from([])\n } else if (v instanceof Uint8Array) {\n return Buffer.from(v as any)\n } else if (BN.isBN(v)) {\n // converts a BN to a Buffer\n return Buffer.from(v.toArray())\n } else {\n throw new Error('invalid type')\n }\n }\n return v\n}\n","\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isZeroAddress = exports.zeroAddress = exports.importPublic = exports.privateToAddress = exports.privateToPublic = exports.publicToAddress = exports.pubToAddress = exports.isValidPublic = exports.isValidPrivate = exports.generateAddress2 = exports.generateAddress = exports.isValidChecksumAddress = exports.toChecksumAddress = exports.isValidAddress = exports.Account = void 0;\nvar assert_1 = __importDefault(require(\"assert\"));\nvar externals_1 = require(\"./externals\");\nvar secp256k1_1 = require(\"ethereum-cryptography/secp256k1\");\nvar internal_1 = require(\"./internal\");\nvar constants_1 = require(\"./constants\");\nvar bytes_1 = require(\"./bytes\");\nvar hash_1 = require(\"./hash\");\nvar helpers_1 = require(\"./helpers\");\nvar types_1 = require(\"./types\");\nvar Account = /** @class */ (function () {\n /**\n * This constructor assigns and validates the values.\n * Use the static factory methods to assist in creating an Account from varying data types.\n */\n function Account(nonce, balance, stateRoot, codeHash) {\n if (nonce === void 0) { nonce = new externals_1.BN(0); }\n if (balance === void 0) { balance = new externals_1.BN(0); }\n if (stateRoot === void 0) { stateRoot = constants_1.KECCAK256_RLP; }\n if (codeHash === void 0) { codeHash = constants_1.KECCAK256_NULL; }\n this.nonce = nonce;\n this.balance = balance;\n this.stateRoot = stateRoot;\n this.codeHash = codeHash;\n this._validate();\n }\n Account.fromAccountData = function (accountData) {\n var nonce = accountData.nonce, balance = accountData.balance, stateRoot = accountData.stateRoot, codeHash = accountData.codeHash;\n return new Account(nonce ? new externals_1.BN((0, bytes_1.toBuffer)(nonce)) : undefined, balance ? new externals_1.BN((0, bytes_1.toBuffer)(balance)) : undefined, stateRoot ? (0, bytes_1.toBuffer)(stateRoot) : undefined, codeHash ? (0, bytes_1.toBuffer)(codeHash) : undefined);\n };\n Account.fromRlpSerializedAccount = function (serialized) {\n var values = externals_1.rlp.decode(serialized);\n if (!Array.isArray(values)) {\n throw new Error('Invalid serialized account input. Must be array');\n }\n return this.fromValuesArray(values);\n };\n Account.fromValuesArray = function (values) {\n var _a = __read(values, 4), nonce = _a[0], balance = _a[1], stateRoot = _a[2], codeHash = _a[3];\n return new Account(new externals_1.BN(nonce), new externals_1.BN(balance), stateRoot, codeHash);\n };\n Account.prototype._validate = function () {\n if (this.nonce.lt(new externals_1.BN(0))) {\n throw new Error('nonce must be greater than zero');\n }\n if (this.balance.lt(new externals_1.BN(0))) {\n throw new Error('balance must be greater than zero');\n }\n if (this.stateRoot.length !== 32) {\n throw new Error('stateRoot must have a length of 32');\n }\n if (this.codeHash.length !== 32) {\n throw new Error('codeHash must have a length of 32');\n }\n };\n /**\n * Returns a Buffer Array of the raw Buffers for the account, in order.\n */\n Account.prototype.raw = function () {\n return [\n (0, types_1.bnToUnpaddedBuffer)(this.nonce),\n (0, types_1.bnToUnpaddedBuffer)(this.balance),\n this.stateRoot,\n this.codeHash,\n ];\n };\n /**\n * Returns the RLP serialization of the account as a `Buffer`.\n */\n Account.prototype.serialize = function () {\n return externals_1.rlp.encode(this.raw());\n };\n /**\n * Returns a `Boolean` determining if the account is a contract.\n */\n Account.prototype.isContract = function () {\n return !this.codeHash.equals(constants_1.KECCAK256_NULL);\n };\n /**\n * Returns a `Boolean` determining if the account is empty complying to the definition of\n * account emptiness in [EIP-161](https://eips.ethereum.org/EIPS/eip-161):\n * \"An account is considered empty when it has no code and zero nonce and zero balance.\"\n */\n Account.prototype.isEmpty = function () {\n return this.balance.isZero() && this.nonce.isZero() && this.codeHash.equals(constants_1.KECCAK256_NULL);\n };\n return Account;\n}());\nexports.Account = Account;\n/**\n * Checks if the address is a valid. Accepts checksummed addresses too.\n */\nvar isValidAddress = function (hexAddress) {\n try {\n (0, helpers_1.assertIsString)(hexAddress);\n }\n catch (e) {\n return false;\n }\n return /^0x[0-9a-fA-F]{40}$/.test(hexAddress);\n};\nexports.isValidAddress = isValidAddress;\n/**\n * Returns a checksummed address.\n *\n * If an eip1191ChainId is provided, the chainId will be included in the checksum calculation. This\n * has the effect of checksummed addresses for one chain having invalid checksums for others.\n * For more details see [EIP-1191](https://eips.ethereum.org/EIPS/eip-1191).\n *\n * WARNING: Checksums with and without the chainId will differ and the EIP-1191 checksum is not\n * backwards compatible to the original widely adopted checksum format standard introduced in\n * [EIP-55](https://eips.ethereum.org/EIPS/eip-55), so this will break in existing applications.\n * Usage of this EIP is therefore discouraged unless you have a very targeted use case.\n */\nvar toChecksumAddress = function (hexAddress, eip1191ChainId) {\n (0, helpers_1.assertIsHexString)(hexAddress);\n var address = (0, internal_1.stripHexPrefix)(hexAddress).toLowerCase();\n var prefix = '';\n if (eip1191ChainId) {\n var chainId = (0, types_1.toType)(eip1191ChainId, types_1.TypeOutput.BN);\n prefix = chainId.toString() + '0x';\n }\n var hash = (0, hash_1.keccakFromString)(prefix + address).toString('hex');\n var ret = '0x';\n for (var i = 0; i < address.length; i++) {\n if (parseInt(hash[i], 16) >= 8) {\n ret += address[i].toUpperCase();\n }\n else {\n ret += address[i];\n }\n }\n return ret;\n};\nexports.toChecksumAddress = toChecksumAddress;\n/**\n * Checks if the address is a valid checksummed address.\n *\n * See toChecksumAddress' documentation for details about the eip1191ChainId parameter.\n */\nvar isValidChecksumAddress = function (hexAddress, eip1191ChainId) {\n return (0, exports.isValidAddress)(hexAddress) && (0, exports.toChecksumAddress)(hexAddress, eip1191ChainId) === hexAddress;\n};\nexports.isValidChecksumAddress = isValidChecksumAddress;\n/**\n * Generates an address of a newly created contract.\n * @param from The address which is creating this new address\n * @param nonce The nonce of the from account\n */\nvar generateAddress = function (from, nonce) {\n (0, helpers_1.assertIsBuffer)(from);\n (0, helpers_1.assertIsBuffer)(nonce);\n var nonceBN = new externals_1.BN(nonce);\n if (nonceBN.isZero()) {\n // in RLP we want to encode null in the case of zero nonce\n // read the RLP documentation for an answer if you dare\n return (0, hash_1.rlphash)([from, null]).slice(-20);\n }\n // Only take the lower 160bits of the hash\n return (0, hash_1.rlphash)([from, Buffer.from(nonceBN.toArray())]).slice(-20);\n};\nexports.generateAddress = generateAddress;\n/**\n * Generates an address for a contract created using CREATE2.\n * @param from The address which is creating this new address\n * @param salt A salt\n * @param initCode The init code of the contract being created\n */\nvar generateAddress2 = function (from, salt, initCode) {\n (0, helpers_1.assertIsBuffer)(from);\n (0, helpers_1.assertIsBuffer)(salt);\n (0, helpers_1.assertIsBuffer)(initCode);\n (0, assert_1.default)(from.length === 20);\n (0, assert_1.default)(salt.length === 32);\n var address = (0, hash_1.keccak256)(Buffer.concat([Buffer.from('ff', 'hex'), from, salt, (0, hash_1.keccak256)(initCode)]));\n return address.slice(-20);\n};\nexports.generateAddress2 = generateAddress2;\n/**\n * Checks if the private key satisfies the rules of the curve secp256k1.\n */\nvar isValidPrivate = function (privateKey) {\n return (0, secp256k1_1.privateKeyVerify)(privateKey);\n};\nexports.isValidPrivate = isValidPrivate;\n/**\n * Checks if the public key satisfies the rules of the curve secp256k1\n * and the requirements of Ethereum.\n * @param publicKey The two points of an uncompressed key, unless sanitize is enabled\n * @param sanitize Accept public keys in other formats\n */\nvar isValidPublic = function (publicKey, sanitize) {\n if (sanitize === void 0) { sanitize = false; }\n (0, helpers_1.assertIsBuffer)(publicKey);\n if (publicKey.length === 64) {\n // Convert to SEC1 for secp256k1\n return (0, secp256k1_1.publicKeyVerify)(Buffer.concat([Buffer.from([4]), publicKey]));\n }\n if (!sanitize) {\n return false;\n }\n return (0, secp256k1_1.publicKeyVerify)(publicKey);\n};\nexports.isValidPublic = isValidPublic;\n/**\n * Returns the ethereum address of a given public key.\n * Accepts \"Ethereum public keys\" and SEC1 encoded keys.\n * @param pubKey The two points of an uncompressed key, unless sanitize is enabled\n * @param sanitize Accept public keys in other formats\n */\nvar pubToAddress = function (pubKey, sanitize) {\n if (sanitize === void 0) { sanitize = false; }\n (0, helpers_1.assertIsBuffer)(pubKey);\n if (sanitize && pubKey.length !== 64) {\n pubKey = Buffer.from((0, secp256k1_1.publicKeyConvert)(pubKey, false).slice(1));\n }\n (0, assert_1.default)(pubKey.length === 64);\n // Only take the lower 160bits of the hash\n return (0, hash_1.keccak)(pubKey).slice(-20);\n};\nexports.pubToAddress = pubToAddress;\nexports.publicToAddress = exports.pubToAddress;\n/**\n * Returns the ethereum public key of a given private key.\n * @param privateKey A private key must be 256 bits wide\n */\nvar privateToPublic = function (privateKey) {\n (0, helpers_1.assertIsBuffer)(privateKey);\n // skip the type flag and use the X, Y points\n return Buffer.from((0, secp256k1_1.publicKeyCreate)(privateKey, false)).slice(1);\n};\nexports.privateToPublic = privateToPublic;\n/**\n * Returns the ethereum address of a given private key.\n * @param privateKey A private key must be 256 bits wide\n */\nvar privateToAddress = function (privateKey) {\n return (0, exports.publicToAddress)((0, exports.privateToPublic)(privateKey));\n};\nexports.privateToAddress = privateToAddress;\n/**\n * Converts a public key to the Ethereum format.\n */\nvar importPublic = function (publicKey) {\n (0, helpers_1.assertIsBuffer)(publicKey);\n if (publicKey.length !== 64) {\n publicKey = Buffer.from((0, secp256k1_1.publicKeyConvert)(publicKey, false).slice(1));\n }\n return publicKey;\n};\nexports.importPublic = importPublic;\n/**\n * Returns the zero address.\n */\nvar zeroAddress = function () {\n var addressLength = 20;\n var addr = (0, bytes_1.zeros)(addressLength);\n return (0, bytes_1.bufferToHex)(addr);\n};\nexports.zeroAddress = zeroAddress;\n/**\n * Checks if a given address is the zero address.\n */\nvar isZeroAddress = function (hexAddress) {\n try {\n (0, helpers_1.assertIsString)(hexAddress);\n }\n catch (e) {\n return false;\n }\n var zeroAddr = (0, exports.zeroAddress)();\n return zeroAddr === hexAddress;\n};\nexports.isZeroAddress = isZeroAddress;\n//# sourceMappingURL=account.js.map","import assert from 'assert'\nimport { BN, rlp } from './externals'\nimport {\n privateKeyVerify,\n publicKeyCreate,\n publicKeyVerify,\n publicKeyConvert,\n} from 'ethereum-cryptography/secp256k1'\nimport { stripHexPrefix } from './internal'\nimport { KECCAK256_RLP, KECCAK256_NULL } from './constants'\nimport { zeros, bufferToHex, toBuffer } from './bytes'\nimport { keccak, keccak256, keccakFromString, rlphash } from './hash'\nimport { assertIsString, assertIsHexString, assertIsBuffer } from './helpers'\nimport { BNLike, BufferLike, bnToUnpaddedBuffer, toType, TypeOutput } from './types'\n\nexport interface AccountData {\n nonce?: BNLike\n balance?: BNLike\n stateRoot?: BufferLike\n codeHash?: BufferLike\n}\n\nexport class Account {\n nonce: BN\n balance: BN\n stateRoot: Buffer\n codeHash: Buffer\n\n static fromAccountData(accountData: AccountData) {\n const { nonce, balance, stateRoot, codeHash } = accountData\n\n return new Account(\n nonce ? new BN(toBuffer(nonce)) : undefined,\n balance ? new BN(toBuffer(balance)) : undefined,\n stateRoot ? toBuffer(stateRoot) : undefined,\n codeHash ? toBuffer(codeHash) : undefined\n )\n }\n\n public static fromRlpSerializedAccount(serialized: Buffer) {\n const values = rlp.decode(serialized)\n\n if (!Array.isArray(values)) {\n throw new Error('Invalid serialized account input. Must be array')\n }\n\n return this.fromValuesArray(values)\n }\n\n public static fromValuesArray(values: Buffer[]) {\n const [nonce, balance, stateRoot, codeHash] = values\n\n return new Account(new BN(nonce), new BN(balance), stateRoot, codeHash)\n }\n\n /**\n * This constructor assigns and validates the values.\n * Use the static factory methods to assist in creating an Account from varying data types.\n */\n constructor(\n nonce = new BN(0),\n balance = new BN(0),\n stateRoot = KECCAK256_RLP,\n codeHash = KECCAK256_NULL\n ) {\n this.nonce = nonce\n this.balance = balance\n this.stateRoot = stateRoot\n this.codeHash = codeHash\n\n this._validate()\n }\n\n private _validate() {\n if (this.nonce.lt(new BN(0))) {\n throw new Error('nonce must be greater than zero')\n }\n if (this.balance.lt(new BN(0))) {\n throw new Error('balance must be greater than zero')\n }\n if (this.stateRoot.length !== 32) {\n throw new Error('stateRoot must have a length of 32')\n }\n if (this.codeHash.length !== 32) {\n throw new Error('codeHash must have a length of 32')\n }\n }\n\n /**\n * Returns a Buffer Array of the raw Buffers for the account, in order.\n */\n raw(): Buffer[] {\n return [\n bnToUnpaddedBuffer(this.nonce),\n bnToUnpaddedBuffer(this.balance),\n this.stateRoot,\n this.codeHash,\n ]\n }\n\n /**\n * Returns the RLP serialization of the account as a `Buffer`.\n */\n serialize(): Buffer {\n return rlp.encode(this.raw())\n }\n\n /**\n * Returns a `Boolean` determining if the account is a contract.\n */\n isContract(): boolean {\n return !this.codeHash.equals(KECCAK256_NULL)\n }\n\n /**\n * Returns a `Boolean` determining if the account is empty complying to the definition of\n * account emptiness in [EIP-161](https://eips.ethereum.org/EIPS/eip-161):\n * \"An account is considered empty when it has no code and zero nonce and zero balance.\"\n */\n isEmpty(): boolean {\n return this.balance.isZero() && this.nonce.isZero() && this.codeHash.equals(KECCAK256_NULL)\n }\n}\n\n/**\n * Checks if the address is a valid. Accepts checksummed addresses too.\n */\nexport const isValidAddress = function (hexAddress: string): boolean {\n try {\n assertIsString(hexAddress)\n } catch (e: any) {\n return false\n }\n\n return /^0x[0-9a-fA-F]{40}$/.test(hexAddress)\n}\n\n/**\n * Returns a checksummed address.\n *\n * If an eip1191ChainId is provided, the chainId will be included in the checksum calculation. This\n * has the effect of checksummed addresses for one chain having invalid checksums for others.\n * For more details see [EIP-1191](https://eips.ethereum.org/EIPS/eip-1191).\n *\n * WARNING: Checksums with and without the chainId will differ and the EIP-1191 checksum is not\n * backwards compatible to the original widely adopted checksum format standard introduced in\n * [EIP-55](https://eips.ethereum.org/EIPS/eip-55), so this will break in existing applications.\n * Usage of this EIP is therefore discouraged unless you have a very targeted use case.\n */\nexport const toChecksumAddress = function (hexAddress: string, eip1191ChainId?: BNLike): string {\n assertIsHexString(hexAddress)\n const address = stripHexPrefix(hexAddress).toLowerCase()\n\n let prefix = ''\n if (eip1191ChainId) {\n const chainId = toType(eip1191ChainId, TypeOutput.BN)\n prefix = chainId.toString() + '0x'\n }\n\n const hash = keccakFromString(prefix + address).toString('hex')\n let ret = '0x'\n\n for (let i = 0; i < address.length; i++) {\n if (parseInt(hash[i], 16) >= 8) {\n ret += address[i].toUpperCase()\n } else {\n ret += address[i]\n }\n }\n\n return ret\n}\n\n/**\n * Checks if the address is a valid checksummed address.\n *\n * See toChecksumAddress' documentation for details about the eip1191ChainId parameter.\n */\nexport const isValidChecksumAddress = function (\n hexAddress: string,\n eip1191ChainId?: BNLike\n): boolean {\n return isValidAddress(hexAddress) && toChecksumAddress(hexAddress, eip1191ChainId) === hexAddress\n}\n\n/**\n * Generates an address of a newly created contract.\n * @param from The address which is creating this new address\n * @param nonce The nonce of the from account\n */\nexport const generateAddress = function (from: Buffer, nonce: Buffer): Buffer {\n assertIsBuffer(from)\n assertIsBuffer(nonce)\n const nonceBN = new BN(nonce)\n\n if (nonceBN.isZero()) {\n // in RLP we want to encode null in the case of zero nonce\n // read the RLP documentation for an answer if you dare\n return rlphash([from, null]).slice(-20)\n }\n\n // Only take the lower 160bits of the hash\n return rlphash([from, Buffer.from(nonceBN.toArray())]).slice(-20)\n}\n\n/**\n * Generates an address for a contract created using CREATE2.\n * @param from The address which is creating this new address\n * @param salt A salt\n * @param initCode The init code of the contract being created\n */\nexport const generateAddress2 = function (from: Buffer, salt: Buffer, initCode: Buffer): Buffer {\n assertIsBuffer(from)\n assertIsBuffer(salt)\n assertIsBuffer(initCode)\n\n assert(from.length === 20)\n assert(salt.length === 32)\n\n const address = keccak256(\n Buffer.concat([Buffer.from('ff', 'hex'), from, salt, keccak256(initCode)])\n )\n\n return address.slice(-20)\n}\n\n/**\n * Checks if the private key satisfies the rules of the curve secp256k1.\n */\nexport const isValidPrivate = function (privateKey: Buffer): boolean {\n return privateKeyVerify(privateKey)\n}\n\n/**\n * Checks if the public key satisfies the rules of the curve secp256k1\n * and the requirements of Ethereum.\n * @param publicKey The two points of an uncompressed key, unless sanitize is enabled\n * @param sanitize Accept public keys in other formats\n */\nexport const isValidPublic = function (publicKey: Buffer, sanitize: boolean = false): boolean {\n assertIsBuffer(publicKey)\n if (publicKey.length === 64) {\n // Convert to SEC1 for secp256k1\n return publicKeyVerify(Buffer.concat([Buffer.from([4]), publicKey]))\n }\n\n if (!sanitize) {\n return false\n }\n\n return publicKeyVerify(publicKey)\n}\n\n/**\n * Returns the ethereum address of a given public key.\n * Accepts \"Ethereum public keys\" and SEC1 encoded keys.\n * @param pubKey The two points of an uncompressed key, unless sanitize is enabled\n * @param sanitize Accept public keys in other formats\n */\nexport const pubToAddress = function (pubKey: Buffer, sanitize: boolean = false): Buffer {\n assertIsBuffer(pubKey)\n if (sanitize && pubKey.length !== 64) {\n pubKey = Buffer.from(publicKeyConvert(pubKey, false).slice(1))\n }\n assert(pubKey.length === 64)\n // Only take the lower 160bits of the hash\n return keccak(pubKey).slice(-20)\n}\nexport const publicToAddress = pubToAddress\n\n/**\n * Returns the ethereum public key of a given private key.\n * @param privateKey A private key must be 256 bits wide\n */\nexport const privateToPublic = function (privateKey: Buffer): Buffer {\n assertIsBuffer(privateKey)\n // skip the type flag and use the X, Y points\n return Buffer.from(publicKeyCreate(privateKey, false)).slice(1)\n}\n\n/**\n * Returns the ethereum address of a given private key.\n * @param privateKey A private key must be 256 bits wide\n */\nexport const privateToAddress = function (privateKey: Buffer): Buffer {\n return publicToAddress(privateToPublic(privateKey))\n}\n\n/**\n * Converts a public key to the Ethereum format.\n */\nexport const importPublic = function (publicKey: Buffer): Buffer {\n assertIsBuffer(publicKey)\n if (publicKey.length !== 64) {\n publicKey = Buffer.from(publicKeyConvert(publicKey, false).slice(1))\n }\n return publicKey\n}\n\n/**\n * Returns the zero address.\n */\nexport const zeroAddress = function (): string {\n const addressLength = 20\n const addr = zeros(addressLength)\n return bufferToHex(addr)\n}\n\n/**\n * Checks if a given address is the zero address.\n */\nexport const isZeroAddress = function (hexAddress: string): boolean {\n try {\n assertIsString(hexAddress)\n } catch (e: any) {\n return false\n }\n\n const zeroAddr = zeroAddress()\n return zeroAddr === hexAddress\n}\n","// Currently in sync with Node.js lib/assert.js\n// https://github.com/nodejs/node/commit/2a51ae424a513ec9a6aa3466baa0cc1d55dd4f3b\n// Originally from narwhal.js (http://narwhaljs.org)\n// Copyright (c) 2009 Thomas Robinson <280north.com>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the 'Software'), to\n// deal in the Software without restriction, including without limitation the\n// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or\n// sell copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN\n// ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n'use strict';\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('./internal/errors'),\n _require$codes = _require.codes,\n ERR_AMBIGUOUS_ARGUMENT = _require$codes.ERR_AMBIGUOUS_ARGUMENT,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_INVALID_ARG_VALUE = _require$codes.ERR_INVALID_ARG_VALUE,\n ERR_INVALID_RETURN_VALUE = _require$codes.ERR_INVALID_RETURN_VALUE,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS;\n\nvar AssertionError = require('./internal/assert/assertion_error');\n\nvar _require2 = require('util/'),\n inspect = _require2.inspect;\n\nvar _require$types = require('util/').types,\n isPromise = _require$types.isPromise,\n isRegExp = _require$types.isRegExp;\n\nvar objectAssign = Object.assign ? Object.assign : require('es6-object-assign').assign;\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar errorCache = new Map();\nvar isDeepEqual;\nvar isDeepStrictEqual;\nvar parseExpressionAt;\nvar findNodeAround;\nvar decoder;\n\nfunction lazyLoadComparison() {\n var comparison = require('./internal/util/comparisons');\n\n isDeepEqual = comparison.isDeepEqual;\n isDeepStrictEqual = comparison.isDeepStrictEqual;\n} // Escape control characters but not \\n and \\t to keep the line breaks and\n// indentation intact.\n// eslint-disable-next-line no-control-regex\n\n\nvar escapeSequencesRegExp = /[\\x00-\\x08\\x0b\\x0c\\x0e-\\x1f]/g;\nvar meta = [\"\\\\u0000\", \"\\\\u0001\", \"\\\\u0002\", \"\\\\u0003\", \"\\\\u0004\", \"\\\\u0005\", \"\\\\u0006\", \"\\\\u0007\", '\\\\b', '', '', \"\\\\u000b\", '\\\\f', '', \"\\\\u000e\", \"\\\\u000f\", \"\\\\u0010\", \"\\\\u0011\", \"\\\\u0012\", \"\\\\u0013\", \"\\\\u0014\", \"\\\\u0015\", \"\\\\u0016\", \"\\\\u0017\", \"\\\\u0018\", \"\\\\u0019\", \"\\\\u001a\", \"\\\\u001b\", \"\\\\u001c\", \"\\\\u001d\", \"\\\\u001e\", \"\\\\u001f\"];\n\nvar escapeFn = function escapeFn(str) {\n return meta[str.charCodeAt(0)];\n};\n\nvar warned = false; // The assert module provides functions that throw\n// AssertionError's when particular conditions are not met. The\n// assert module must conform to the following interface.\n\nvar assert = module.exports = ok;\nvar NO_EXCEPTION_SENTINEL = {}; // All of the following functions must throw an AssertionError\n// when a corresponding condition is not met, with a message that\n// may be undefined if not provided. All assertion methods provide\n// both the actual and expected values to the assertion error for\n// display purposes.\n\nfunction innerFail(obj) {\n if (obj.message instanceof Error) throw obj.message;\n throw new AssertionError(obj);\n}\n\nfunction fail(actual, expected, message, operator, stackStartFn) {\n var argsLen = arguments.length;\n var internalMessage;\n\n if (argsLen === 0) {\n internalMessage = 'Failed';\n } else if (argsLen === 1) {\n message = actual;\n actual = undefined;\n } else {\n if (warned === false) {\n warned = true;\n var warn = process.emitWarning ? process.emitWarning : console.warn.bind(console);\n warn('assert.fail() with more than one argument is deprecated. ' + 'Please use assert.strictEqual() instead or only pass a message.', 'DeprecationWarning', 'DEP0094');\n }\n\n if (argsLen === 2) operator = '!=';\n }\n\n if (message instanceof Error) throw message;\n var errArgs = {\n actual: actual,\n expected: expected,\n operator: operator === undefined ? 'fail' : operator,\n stackStartFn: stackStartFn || fail\n };\n\n if (message !== undefined) {\n errArgs.message = message;\n }\n\n var err = new AssertionError(errArgs);\n\n if (internalMessage) {\n err.message = internalMessage;\n err.generatedMessage = true;\n }\n\n throw err;\n}\n\nassert.fail = fail; // The AssertionError is defined in internal/error.\n\nassert.AssertionError = AssertionError;\n\nfunction innerOk(fn, argLen, value, message) {\n if (!value) {\n var generatedMessage = false;\n\n if (argLen === 0) {\n generatedMessage = true;\n message = 'No value argument passed to `assert.ok()`';\n } else if (message instanceof Error) {\n throw message;\n }\n\n var err = new AssertionError({\n actual: value,\n expected: true,\n message: message,\n operator: '==',\n stackStartFn: fn\n });\n err.generatedMessage = generatedMessage;\n throw err;\n }\n} // Pure assertion tests whether a value is truthy, as determined\n// by !!value.\n\n\nfunction ok() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n innerOk.apply(void 0, [ok, args.length].concat(args));\n}\n\nassert.ok = ok; // The equality assertion tests shallow, coercive equality with ==.\n\n/* eslint-disable no-restricted-properties */\n\nassert.equal = function equal(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual != expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '==',\n stackStartFn: equal\n });\n }\n}; // The non-equality assertion tests for whether two objects are not\n// equal with !=.\n\n\nassert.notEqual = function notEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n } // eslint-disable-next-line eqeqeq\n\n\n if (actual == expected) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: '!=',\n stackStartFn: notEqual\n });\n }\n}; // The equivalence assertion tests a deep equality relation.\n\n\nassert.deepEqual = function deepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepEqual',\n stackStartFn: deepEqual\n });\n }\n}; // The non-equivalence assertion tests for any deep inequality.\n\n\nassert.notDeepEqual = function notDeepEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepEqual',\n stackStartFn: notDeepEqual\n });\n }\n};\n/* eslint-enable */\n\n\nassert.deepStrictEqual = function deepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (!isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'deepStrictEqual',\n stackStartFn: deepStrictEqual\n });\n }\n};\n\nassert.notDeepStrictEqual = notDeepStrictEqual;\n\nfunction notDeepStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n\n if (isDeepStrictEqual(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notDeepStrictEqual',\n stackStartFn: notDeepStrictEqual\n });\n }\n}\n\nassert.strictEqual = function strictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (!objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'strictEqual',\n stackStartFn: strictEqual\n });\n }\n};\n\nassert.notStrictEqual = function notStrictEqual(actual, expected, message) {\n if (arguments.length < 2) {\n throw new ERR_MISSING_ARGS('actual', 'expected');\n }\n\n if (objectIs(actual, expected)) {\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: 'notStrictEqual',\n stackStartFn: notStrictEqual\n });\n }\n};\n\nvar Comparison = function Comparison(obj, keys, actual) {\n var _this = this;\n\n _classCallCheck(this, Comparison);\n\n keys.forEach(function (key) {\n if (key in obj) {\n if (actual !== undefined && typeof actual[key] === 'string' && isRegExp(obj[key]) && obj[key].test(actual[key])) {\n _this[key] = actual[key];\n } else {\n _this[key] = obj[key];\n }\n }\n });\n};\n\nfunction compareExceptionKey(actual, expected, key, message, keys, fn) {\n if (!(key in actual) || !isDeepStrictEqual(actual[key], expected[key])) {\n if (!message) {\n // Create placeholder objects to create a nice output.\n var a = new Comparison(actual, keys);\n var b = new Comparison(expected, keys, actual);\n var err = new AssertionError({\n actual: a,\n expected: b,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.actual = actual;\n err.expected = expected;\n err.operator = fn.name;\n throw err;\n }\n\n innerFail({\n actual: actual,\n expected: expected,\n message: message,\n operator: fn.name,\n stackStartFn: fn\n });\n }\n}\n\nfunction expectedException(actual, expected, msg, fn) {\n if (typeof expected !== 'function') {\n if (isRegExp(expected)) return expected.test(actual); // assert.doesNotThrow does not accept objects.\n\n if (arguments.length === 2) {\n throw new ERR_INVALID_ARG_TYPE('expected', ['Function', 'RegExp'], expected);\n } // Handle primitives properly.\n\n\n if (_typeof(actual) !== 'object' || actual === null) {\n var err = new AssertionError({\n actual: actual,\n expected: expected,\n message: msg,\n operator: 'deepStrictEqual',\n stackStartFn: fn\n });\n err.operator = fn.name;\n throw err;\n }\n\n var keys = Object.keys(expected); // Special handle errors to make sure the name and the message are compared\n // as well.\n\n if (expected instanceof Error) {\n keys.push('name', 'message');\n } else if (keys.length === 0) {\n throw new ERR_INVALID_ARG_VALUE('error', expected, 'may not be an empty object');\n }\n\n if (isDeepEqual === undefined) lazyLoadComparison();\n keys.forEach(function (key) {\n if (typeof actual[key] === 'string' && isRegExp(expected[key]) && expected[key].test(actual[key])) {\n return;\n }\n\n compareExceptionKey(actual, expected, key, msg, keys, fn);\n });\n return true;\n } // Guard instanceof against arrow functions as they don't have a prototype.\n\n\n if (expected.prototype !== undefined && actual instanceof expected) {\n return true;\n }\n\n if (Error.isPrototypeOf(expected)) {\n return false;\n }\n\n return expected.call({}, actual) === true;\n}\n\nfunction getActual(fn) {\n if (typeof fn !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('fn', 'Function', fn);\n }\n\n try {\n fn();\n } catch (e) {\n return e;\n }\n\n return NO_EXCEPTION_SENTINEL;\n}\n\nfunction checkIsPromise(obj) {\n // Accept native ES6 promises and promises that are implemented in a similar\n // way. Do not accept thenables that use a function as `obj` and that have no\n // `catch` handler.\n // TODO: thenables are checked up until they have the correct methods,\n // but according to documentation, the `then` method should receive\n // the `fulfill` and `reject` arguments as well or it may be never resolved.\n return isPromise(obj) || obj !== null && _typeof(obj) === 'object' && typeof obj.then === 'function' && typeof obj.catch === 'function';\n}\n\nfunction waitForActual(promiseFn) {\n return Promise.resolve().then(function () {\n var resultPromise;\n\n if (typeof promiseFn === 'function') {\n // Return a rejected promise if `promiseFn` throws synchronously.\n resultPromise = promiseFn(); // Fail in case no promise is returned.\n\n if (!checkIsPromise(resultPromise)) {\n throw new ERR_INVALID_RETURN_VALUE('instance of Promise', 'promiseFn', resultPromise);\n }\n } else if (checkIsPromise(promiseFn)) {\n resultPromise = promiseFn;\n } else {\n throw new ERR_INVALID_ARG_TYPE('promiseFn', ['Function', 'Promise'], promiseFn);\n }\n\n return Promise.resolve().then(function () {\n return resultPromise;\n }).then(function () {\n return NO_EXCEPTION_SENTINEL;\n }).catch(function (e) {\n return e;\n });\n });\n}\n\nfunction expectsError(stackStartFn, actual, error, message) {\n if (typeof error === 'string') {\n if (arguments.length === 4) {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (_typeof(actual) === 'object' && actual !== null) {\n if (actual.message === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error message \\\"\".concat(actual.message, \"\\\" is identical to the message.\"));\n }\n } else if (actual === error) {\n throw new ERR_AMBIGUOUS_ARGUMENT('error/message', \"The error \\\"\".concat(actual, \"\\\" is identical to the message.\"));\n }\n\n message = error;\n error = undefined;\n } else if (error != null && _typeof(error) !== 'object' && typeof error !== 'function') {\n throw new ERR_INVALID_ARG_TYPE('error', ['Object', 'Error', 'Function', 'RegExp'], error);\n }\n\n if (actual === NO_EXCEPTION_SENTINEL) {\n var details = '';\n\n if (error && error.name) {\n details += \" (\".concat(error.name, \")\");\n }\n\n details += message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'rejects' ? 'rejection' : 'exception';\n innerFail({\n actual: undefined,\n expected: error,\n operator: stackStartFn.name,\n message: \"Missing expected \".concat(fnType).concat(details),\n stackStartFn: stackStartFn\n });\n }\n\n if (error && !expectedException(actual, error, message, stackStartFn)) {\n throw actual;\n }\n}\n\nfunction expectsNoError(stackStartFn, actual, error, message) {\n if (actual === NO_EXCEPTION_SENTINEL) return;\n\n if (typeof error === 'string') {\n message = error;\n error = undefined;\n }\n\n if (!error || expectedException(actual, error)) {\n var details = message ? \": \".concat(message) : '.';\n var fnType = stackStartFn.name === 'doesNotReject' ? 'rejection' : 'exception';\n innerFail({\n actual: actual,\n expected: error,\n operator: stackStartFn.name,\n message: \"Got unwanted \".concat(fnType).concat(details, \"\\n\") + \"Actual message: \\\"\".concat(actual && actual.message, \"\\\"\"),\n stackStartFn: stackStartFn\n });\n }\n\n throw actual;\n}\n\nassert.throws = function throws(promiseFn) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n expectsError.apply(void 0, [throws, getActual(promiseFn)].concat(args));\n};\n\nassert.rejects = function rejects(promiseFn) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n\n return waitForActual(promiseFn).then(function (result) {\n return expectsError.apply(void 0, [rejects, result].concat(args));\n });\n};\n\nassert.doesNotThrow = function doesNotThrow(fn) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n expectsNoError.apply(void 0, [doesNotThrow, getActual(fn)].concat(args));\n};\n\nassert.doesNotReject = function doesNotReject(fn) {\n for (var _len5 = arguments.length, args = new Array(_len5 > 1 ? _len5 - 1 : 0), _key5 = 1; _key5 < _len5; _key5++) {\n args[_key5 - 1] = arguments[_key5];\n }\n\n return waitForActual(fn).then(function (result) {\n return expectsNoError.apply(void 0, [doesNotReject, result].concat(args));\n });\n};\n\nassert.ifError = function ifError(err) {\n if (err !== null && err !== undefined) {\n var message = 'ifError got unwanted exception: ';\n\n if (_typeof(err) === 'object' && typeof err.message === 'string') {\n if (err.message.length === 0 && err.constructor) {\n message += err.constructor.name;\n } else {\n message += err.message;\n }\n } else {\n message += inspect(err);\n }\n\n var newErr = new AssertionError({\n actual: err,\n expected: null,\n operator: 'ifError',\n message: message,\n stackStartFn: ifError\n }); // Make sure we actually have a stack trace!\n\n var origStack = err.stack;\n\n if (typeof origStack === 'string') {\n // This will remove any duplicated frames from the error frames taken\n // from within `ifError` and add the original error frames to the newly\n // created ones.\n var tmp2 = origStack.split('\\n');\n tmp2.shift(); // Filter all frames existing in err.stack.\n\n var tmp1 = newErr.stack.split('\\n');\n\n for (var i = 0; i < tmp2.length; i++) {\n // Find the first occurrence of the frame.\n var pos = tmp1.indexOf(tmp2[i]);\n\n if (pos !== -1) {\n // Only keep new frames.\n tmp1 = tmp1.slice(0, pos);\n break;\n }\n }\n\n newErr.stack = \"\".concat(tmp1.join('\\n'), \"\\n\").concat(tmp2.join('\\n'));\n }\n\n throw newErr;\n }\n}; // Expose a strict only variant of assert\n\n\nfunction strict() {\n for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) {\n args[_key6] = arguments[_key6];\n }\n\n innerOk.apply(void 0, [strict, args.length].concat(args));\n}\n\nassert.strict = objectAssign(strict, assert, {\n equal: assert.strictEqual,\n deepEqual: assert.deepStrictEqual,\n notEqual: assert.notStrictEqual,\n notDeepEqual: assert.notDeepStrictEqual\n});\nassert.strict.strict = assert.strict;","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","// Currently in sync with Node.js lib/internal/errors.js\n// https://github.com/nodejs/node/commit/3b044962c48fe313905877a96b5d0894a5404f6f\n\n/* eslint node-core/documented-errors: \"error\" */\n\n/* eslint node-core/alphabetize-errors: \"error\" */\n\n/* eslint node-core/prefer-util-format-errors: \"error\" */\n'use strict'; // The whole point behind this internal module is to allow Node.js to no\n// longer be forced to treat every error message change as a semver-major\n// change. The NodeError classes here all expose a `code` property whose\n// value statically and permanently identifies the error. While the error\n// message may change, the code should not.\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nvar codes = {}; // Lazy loaded\n\nvar assert;\nvar util;\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inherits(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n var _this;\n\n _classCallCheck(this, NodeError);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(NodeError).call(this, getMessage(arg1, arg2, arg3)));\n _this.code = code;\n return _this;\n }\n\n return NodeError;\n }(Base);\n\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_AMBIGUOUS_ARGUMENT', 'The \"%s\" argument is ambiguous. %s', TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n if (assert === undefined) assert = require('../assert');\n assert(typeof name === 'string', \"'name' must be a string\"); // determiner: 'must be' or 'must not be'\n\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } // TODO(BridgeAR): Improve the output by showing `null` and similar.\n\n\n msg += \". Received type \".concat(_typeof(actual));\n return msg;\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_VALUE', function (name, value) {\n var reason = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'is invalid';\n if (util === undefined) util = require('util/');\n var inspected = util.inspect(value);\n\n if (inspected.length > 128) {\n inspected = \"\".concat(inspected.slice(0, 128), \"...\");\n }\n\n return \"The argument '\".concat(name, \"' \").concat(reason, \". Received \").concat(inspected);\n}, TypeError, RangeError);\ncreateErrorType('ERR_INVALID_RETURN_VALUE', function (input, name, value) {\n var type;\n\n if (value && value.constructor && value.constructor.name) {\n type = \"instance of \".concat(value.constructor.name);\n } else {\n type = \"type \".concat(_typeof(value));\n }\n\n return \"Expected \".concat(input, \" to be returned from the \\\"\").concat(name, \"\\\"\") + \" function but got \".concat(type, \".\");\n}, TypeError);\ncreateErrorType('ERR_MISSING_ARGS', function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (assert === undefined) assert = require('../assert');\n assert(args.length > 0, 'At least one arg needs to be specified');\n var msg = 'The ';\n var len = args.length;\n args = args.map(function (a) {\n return \"\\\"\".concat(a, \"\\\"\");\n });\n\n switch (len) {\n case 1:\n msg += \"\".concat(args[0], \" argument\");\n break;\n\n case 2:\n msg += \"\".concat(args[0], \" and \").concat(args[1], \" arguments\");\n break;\n\n default:\n msg += args.slice(0, len - 1).join(', ');\n msg += \", and \".concat(args[len - 1], \" arguments\");\n break;\n }\n\n return \"\".concat(msg, \" must be specified\");\n}, TypeError);\nmodule.exports.codes = codes;","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nvar getOwnPropertyDescriptors = Object.getOwnPropertyDescriptors ||\n function getOwnPropertyDescriptors(obj) {\n var keys = Object.keys(obj);\n var descriptors = {};\n for (var i = 0; i < keys.length; i++) {\n descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]);\n }\n return descriptors;\n };\n\nvar formatRegExp = /%[sdj%]/g;\nexports.format = function(f) {\n if (!isString(f)) {\n var objects = [];\n for (var i = 0; i < arguments.length; i++) {\n objects.push(inspect(arguments[i]));\n }\n return objects.join(' ');\n }\n\n var i = 1;\n var args = arguments;\n var len = args.length;\n var str = String(f).replace(formatRegExp, function(x) {\n if (x === '%%') return '%';\n if (i >= len) return x;\n switch (x) {\n case '%s': return String(args[i++]);\n case '%d': return Number(args[i++]);\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n default:\n return x;\n }\n });\n for (var x = args[i]; i < len; x = args[++i]) {\n if (isNull(x) || !isObject(x)) {\n str += ' ' + x;\n } else {\n str += ' ' + inspect(x);\n }\n }\n return str;\n};\n\n\n// Mark that a method should not be used.\n// Returns a modified function which warns once by default.\n// If --no-deprecation is set, then it is a no-op.\nexports.deprecate = function(fn, msg) {\n if (typeof process !== 'undefined' && process.noDeprecation === true) {\n return fn;\n }\n\n // Allow for deprecating things in the process of starting up.\n if (typeof process === 'undefined') {\n return function() {\n return exports.deprecate(fn, msg).apply(this, arguments);\n };\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (process.throwDeprecation) {\n throw new Error(msg);\n } else if (process.traceDeprecation) {\n console.trace(msg);\n } else {\n console.error(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n};\n\n\nvar debugs = {};\nvar debugEnvRegex = /^$/;\n\nif (process.env.NODE_DEBUG) {\n var debugEnv = process.env.NODE_DEBUG;\n debugEnv = debugEnv.replace(/[|\\\\{}()[\\]^$+?.]/g, '\\\\$&')\n .replace(/\\*/g, '.*')\n .replace(/,/g, '$|^')\n .toUpperCase();\n debugEnvRegex = new RegExp('^' + debugEnv + '$', 'i');\n}\nexports.debuglog = function(set) {\n set = set.toUpperCase();\n if (!debugs[set]) {\n if (debugEnvRegex.test(set)) {\n var pid = process.pid;\n debugs[set] = function() {\n var msg = exports.format.apply(exports, arguments);\n console.error('%s %d: %s', set, pid, msg);\n };\n } else {\n debugs[set] = function() {};\n }\n }\n return debugs[set];\n};\n\n\n/**\n * Echos the value of a value. Trys to print the value out\n * in the best way possible given the different types.\n *\n * @param {Object} obj The object to print out.\n * @param {Object} opts Optional options object that alters the output.\n */\n/* legacy: obj, showHidden, depth, colors*/\nfunction inspect(obj, opts) {\n // default options\n var ctx = {\n seen: [],\n stylize: stylizeNoColor\n };\n // legacy...\n if (arguments.length >= 3) ctx.depth = arguments[2];\n if (arguments.length >= 4) ctx.colors = arguments[3];\n if (isBoolean(opts)) {\n // legacy...\n ctx.showHidden = opts;\n } else if (opts) {\n // got an \"options\" object\n exports._extend(ctx, opts);\n }\n // set default options\n if (isUndefined(ctx.showHidden)) ctx.showHidden = false;\n if (isUndefined(ctx.depth)) ctx.depth = 2;\n if (isUndefined(ctx.colors)) ctx.colors = false;\n if (isUndefined(ctx.customInspect)) ctx.customInspect = true;\n if (ctx.colors) ctx.stylize = stylizeWithColor;\n return formatValue(ctx, obj, ctx.depth);\n}\nexports.inspect = inspect;\n\n\n// http://en.wikipedia.org/wiki/ANSI_escape_code#graphics\ninspect.colors = {\n 'bold' : [1, 22],\n 'italic' : [3, 23],\n 'underline' : [4, 24],\n 'inverse' : [7, 27],\n 'white' : [37, 39],\n 'grey' : [90, 39],\n 'black' : [30, 39],\n 'blue' : [34, 39],\n 'cyan' : [36, 39],\n 'green' : [32, 39],\n 'magenta' : [35, 39],\n 'red' : [31, 39],\n 'yellow' : [33, 39]\n};\n\n// Don't use 'blue' not visible on cmd.exe\ninspect.styles = {\n 'special': 'cyan',\n 'number': 'yellow',\n 'boolean': 'yellow',\n 'undefined': 'grey',\n 'null': 'bold',\n 'string': 'green',\n 'date': 'magenta',\n // \"name\": intentionally not styling\n 'regexp': 'red'\n};\n\n\nfunction stylizeWithColor(str, styleType) {\n var style = inspect.styles[styleType];\n\n if (style) {\n return '\\u001b[' + inspect.colors[style][0] + 'm' + str +\n '\\u001b[' + inspect.colors[style][1] + 'm';\n } else {\n return str;\n }\n}\n\n\nfunction stylizeNoColor(str, styleType) {\n return str;\n}\n\n\nfunction arrayToHash(array) {\n var hash = {};\n\n array.forEach(function(val, idx) {\n hash[val] = true;\n });\n\n return hash;\n}\n\n\nfunction formatValue(ctx, value, recurseTimes) {\n // Provide a hook for user-specified inspect functions.\n // Check that value is an object with an inspect function on it\n if (ctx.customInspect &&\n value &&\n isFunction(value.inspect) &&\n // Filter out the util module, it's inspect function is special\n value.inspect !== exports.inspect &&\n // Also filter out any prototype objects using the circular check.\n !(value.constructor && value.constructor.prototype === value)) {\n var ret = value.inspect(recurseTimes, ctx);\n if (!isString(ret)) {\n ret = formatValue(ctx, ret, recurseTimes);\n }\n return ret;\n }\n\n // Primitive types cannot have properties\n var primitive = formatPrimitive(ctx, value);\n if (primitive) {\n return primitive;\n }\n\n // Look up the keys of the object.\n var keys = Object.keys(value);\n var visibleKeys = arrayToHash(keys);\n\n if (ctx.showHidden) {\n keys = Object.getOwnPropertyNames(value);\n }\n\n // IE doesn't make error fields non-enumerable\n // http://msdn.microsoft.com/en-us/library/ie/dww52sbt(v=vs.94).aspx\n if (isError(value)\n && (keys.indexOf('message') >= 0 || keys.indexOf('description') >= 0)) {\n return formatError(value);\n }\n\n // Some type of object without properties can be shortcutted.\n if (keys.length === 0) {\n if (isFunction(value)) {\n var name = value.name ? ': ' + value.name : '';\n return ctx.stylize('[Function' + name + ']', 'special');\n }\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n }\n if (isDate(value)) {\n return ctx.stylize(Date.prototype.toString.call(value), 'date');\n }\n if (isError(value)) {\n return formatError(value);\n }\n }\n\n var base = '', array = false, braces = ['{', '}'];\n\n // Make Array say that they are Array\n if (isArray(value)) {\n array = true;\n braces = ['[', ']'];\n }\n\n // Make functions say that they are functions\n if (isFunction(value)) {\n var n = value.name ? ': ' + value.name : '';\n base = ' [Function' + n + ']';\n }\n\n // Make RegExps say that they are RegExps\n if (isRegExp(value)) {\n base = ' ' + RegExp.prototype.toString.call(value);\n }\n\n // Make dates with properties first say the date\n if (isDate(value)) {\n base = ' ' + Date.prototype.toUTCString.call(value);\n }\n\n // Make error with message first say the error\n if (isError(value)) {\n base = ' ' + formatError(value);\n }\n\n if (keys.length === 0 && (!array || value.length == 0)) {\n return braces[0] + base + braces[1];\n }\n\n if (recurseTimes < 0) {\n if (isRegExp(value)) {\n return ctx.stylize(RegExp.prototype.toString.call(value), 'regexp');\n } else {\n return ctx.stylize('[Object]', 'special');\n }\n }\n\n ctx.seen.push(value);\n\n var output;\n if (array) {\n output = formatArray(ctx, value, recurseTimes, visibleKeys, keys);\n } else {\n output = keys.map(function(key) {\n return formatProperty(ctx, value, recurseTimes, visibleKeys, key, array);\n });\n }\n\n ctx.seen.pop();\n\n return reduceToSingleString(output, base, braces);\n}\n\n\nfunction formatPrimitive(ctx, value) {\n if (isUndefined(value))\n return ctx.stylize('undefined', 'undefined');\n if (isString(value)) {\n var simple = '\\'' + JSON.stringify(value).replace(/^\"|\"$/g, '')\n .replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"') + '\\'';\n return ctx.stylize(simple, 'string');\n }\n if (isNumber(value))\n return ctx.stylize('' + value, 'number');\n if (isBoolean(value))\n return ctx.stylize('' + value, 'boolean');\n // For some reason typeof null is \"object\", so special case here.\n if (isNull(value))\n return ctx.stylize('null', 'null');\n}\n\n\nfunction formatError(value) {\n return '[' + Error.prototype.toString.call(value) + ']';\n}\n\n\nfunction formatArray(ctx, value, recurseTimes, visibleKeys, keys) {\n var output = [];\n for (var i = 0, l = value.length; i < l; ++i) {\n if (hasOwnProperty(value, String(i))) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n String(i), true));\n } else {\n output.push('');\n }\n }\n keys.forEach(function(key) {\n if (!key.match(/^\\d+$/)) {\n output.push(formatProperty(ctx, value, recurseTimes, visibleKeys,\n key, true));\n }\n });\n return output;\n}\n\n\nfunction formatProperty(ctx, value, recurseTimes, visibleKeys, key, array) {\n var name, str, desc;\n desc = Object.getOwnPropertyDescriptor(value, key) || { value: value[key] };\n if (desc.get) {\n if (desc.set) {\n str = ctx.stylize('[Getter/Setter]', 'special');\n } else {\n str = ctx.stylize('[Getter]', 'special');\n }\n } else {\n if (desc.set) {\n str = ctx.stylize('[Setter]', 'special');\n }\n }\n if (!hasOwnProperty(visibleKeys, key)) {\n name = '[' + key + ']';\n }\n if (!str) {\n if (ctx.seen.indexOf(desc.value) < 0) {\n if (isNull(recurseTimes)) {\n str = formatValue(ctx, desc.value, null);\n } else {\n str = formatValue(ctx, desc.value, recurseTimes - 1);\n }\n if (str.indexOf('\\n') > -1) {\n if (array) {\n str = str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n').slice(2);\n } else {\n str = '\\n' + str.split('\\n').map(function(line) {\n return ' ' + line;\n }).join('\\n');\n }\n }\n } else {\n str = ctx.stylize('[Circular]', 'special');\n }\n }\n if (isUndefined(name)) {\n if (array && key.match(/^\\d+$/)) {\n return str;\n }\n name = JSON.stringify('' + key);\n if (name.match(/^\"([a-zA-Z_][a-zA-Z_0-9]*)\"$/)) {\n name = name.slice(1, -1);\n name = ctx.stylize(name, 'name');\n } else {\n name = name.replace(/'/g, \"\\\\'\")\n .replace(/\\\\\"/g, '\"')\n .replace(/(^\"|\"$)/g, \"'\");\n name = ctx.stylize(name, 'string');\n }\n }\n\n return name + ': ' + str;\n}\n\n\nfunction reduceToSingleString(output, base, braces) {\n var numLinesEst = 0;\n var length = output.reduce(function(prev, cur) {\n numLinesEst++;\n if (cur.indexOf('\\n') >= 0) numLinesEst++;\n return prev + cur.replace(/\\u001b\\[\\d\\d?m/g, '').length + 1;\n }, 0);\n\n if (length > 60) {\n return braces[0] +\n (base === '' ? '' : base + '\\n ') +\n ' ' +\n output.join(',\\n ') +\n ' ' +\n braces[1];\n }\n\n return braces[0] + base + ' ' + output.join(', ') + ' ' + braces[1];\n}\n\n\n// NOTE: These type checking functions intentionally don't use `instanceof`\n// because it is fragile and can be easily faked with `Object.create()`.\nexports.types = require('./support/types');\n\nfunction isArray(ar) {\n return Array.isArray(ar);\n}\nexports.isArray = isArray;\n\nfunction isBoolean(arg) {\n return typeof arg === 'boolean';\n}\nexports.isBoolean = isBoolean;\n\nfunction isNull(arg) {\n return arg === null;\n}\nexports.isNull = isNull;\n\nfunction isNullOrUndefined(arg) {\n return arg == null;\n}\nexports.isNullOrUndefined = isNullOrUndefined;\n\nfunction isNumber(arg) {\n return typeof arg === 'number';\n}\nexports.isNumber = isNumber;\n\nfunction isString(arg) {\n return typeof arg === 'string';\n}\nexports.isString = isString;\n\nfunction isSymbol(arg) {\n return typeof arg === 'symbol';\n}\nexports.isSymbol = isSymbol;\n\nfunction isUndefined(arg) {\n return arg === void 0;\n}\nexports.isUndefined = isUndefined;\n\nfunction isRegExp(re) {\n return isObject(re) && objectToString(re) === '[object RegExp]';\n}\nexports.isRegExp = isRegExp;\nexports.types.isRegExp = isRegExp;\n\nfunction isObject(arg) {\n return typeof arg === 'object' && arg !== null;\n}\nexports.isObject = isObject;\n\nfunction isDate(d) {\n return isObject(d) && objectToString(d) === '[object Date]';\n}\nexports.isDate = isDate;\nexports.types.isDate = isDate;\n\nfunction isError(e) {\n return isObject(e) &&\n (objectToString(e) === '[object Error]' || e instanceof Error);\n}\nexports.isError = isError;\nexports.types.isNativeError = isError;\n\nfunction isFunction(arg) {\n return typeof arg === 'function';\n}\nexports.isFunction = isFunction;\n\nfunction isPrimitive(arg) {\n return arg === null ||\n typeof arg === 'boolean' ||\n typeof arg === 'number' ||\n typeof arg === 'string' ||\n typeof arg === 'symbol' || // ES6 symbol\n typeof arg === 'undefined';\n}\nexports.isPrimitive = isPrimitive;\n\nexports.isBuffer = require('./support/isBuffer');\n\nfunction objectToString(o) {\n return Object.prototype.toString.call(o);\n}\n\n\nfunction pad(n) {\n return n < 10 ? '0' + n.toString(10) : n.toString(10);\n}\n\n\nvar months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep',\n 'Oct', 'Nov', 'Dec'];\n\n// 26 Feb 16:19:34\nfunction timestamp() {\n var d = new Date();\n var time = [pad(d.getHours()),\n pad(d.getMinutes()),\n pad(d.getSeconds())].join(':');\n return [d.getDate(), months[d.getMonth()], time].join(' ');\n}\n\n\n// log is just a thin wrapper to console.log that prepends a timestamp\nexports.log = function() {\n console.log('%s - %s', timestamp(), exports.format.apply(exports, arguments));\n};\n\n\n/**\n * Inherit the prototype methods from one constructor into another.\n *\n * The Function.prototype.inherits from lang.js rewritten as a standalone\n * function (not on Function.prototype). NOTE: If this file is to be loaded\n * during bootstrapping this function needs to be rewritten using some native\n * functions as prototype setup using normal JavaScript does not work as\n * expected during bootstrapping (see mirror.js in r114903).\n *\n * @param {function} ctor Constructor function which needs to inherit the\n * prototype.\n * @param {function} superCtor Constructor function to inherit prototype from.\n */\nexports.inherits = require('inherits');\n\nexports._extend = function(origin, add) {\n // Don't do anything if add isn't an object\n if (!add || !isObject(add)) return origin;\n\n var keys = Object.keys(add);\n var i = keys.length;\n while (i--) {\n origin[keys[i]] = add[keys[i]];\n }\n return origin;\n};\n\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nvar kCustomPromisifiedSymbol = typeof Symbol !== 'undefined' ? Symbol('util.promisify.custom') : undefined;\n\nexports.promisify = function promisify(original) {\n if (typeof original !== 'function')\n throw new TypeError('The \"original\" argument must be of type Function');\n\n if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) {\n var fn = original[kCustomPromisifiedSymbol];\n if (typeof fn !== 'function') {\n throw new TypeError('The \"util.promisify.custom\" argument must be of type Function');\n }\n Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return fn;\n }\n\n function fn() {\n var promiseResolve, promiseReject;\n var promise = new Promise(function (resolve, reject) {\n promiseResolve = resolve;\n promiseReject = reject;\n });\n\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n args.push(function (err, value) {\n if (err) {\n promiseReject(err);\n } else {\n promiseResolve(value);\n }\n });\n\n try {\n original.apply(this, args);\n } catch (err) {\n promiseReject(err);\n }\n\n return promise;\n }\n\n Object.setPrototypeOf(fn, Object.getPrototypeOf(original));\n\n if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, {\n value: fn, enumerable: false, writable: false, configurable: true\n });\n return Object.defineProperties(\n fn,\n getOwnPropertyDescriptors(original)\n );\n}\n\nexports.promisify.custom = kCustomPromisifiedSymbol\n\nfunction callbackifyOnRejected(reason, cb) {\n // `!reason` guard inspired by bluebird (Ref: https://goo.gl/t5IS6M).\n // Because `null` is a special error value in callbacks which means \"no error\n // occurred\", we error-wrap so the callback consumer can distinguish between\n // \"the promise rejected with null\" or \"the promise fulfilled with undefined\".\n if (!reason) {\n var newReason = new Error('Promise was rejected with a falsy value');\n newReason.reason = reason;\n reason = newReason;\n }\n return cb(reason);\n}\n\nfunction callbackify(original) {\n if (typeof original !== 'function') {\n throw new TypeError('The \"original\" argument must be of type Function');\n }\n\n // We DO NOT return the promise as it gives the user a false sense that\n // the promise is actually somehow related to the callback's execution\n // and that the callback throwing will reject the promise.\n function callbackified() {\n var args = [];\n for (var i = 0; i < arguments.length; i++) {\n args.push(arguments[i]);\n }\n\n var maybeCb = args.pop();\n if (typeof maybeCb !== 'function') {\n throw new TypeError('The last argument must be of type Function');\n }\n var self = this;\n var cb = function() {\n return maybeCb.apply(self, arguments);\n };\n // In true node style we process the callback on `nextTick` with all the\n // implications (stack, `uncaughtException`, `async_hooks`)\n original.apply(this, args)\n .then(function(ret) { process.nextTick(cb.bind(null, null, ret)) },\n function(rej) { process.nextTick(callbackifyOnRejected.bind(null, rej, cb)) });\n }\n\n Object.setPrototypeOf(callbackified, Object.getPrototypeOf(original));\n Object.defineProperties(callbackified,\n getOwnPropertyDescriptors(original));\n return callbackified;\n}\nexports.callbackify = callbackify;\n","// Currently in sync with Node.js lib/internal/util/types.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n\n'use strict';\n\nvar isArgumentsObject = require('is-arguments');\nvar isGeneratorFunction = require('is-generator-function');\nvar whichTypedArray = require('which-typed-array');\nvar isTypedArray = require('is-typed-array');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar BigIntSupported = typeof BigInt !== 'undefined';\nvar SymbolSupported = typeof Symbol !== 'undefined';\n\nvar ObjectToString = uncurryThis(Object.prototype.toString);\n\nvar numberValue = uncurryThis(Number.prototype.valueOf);\nvar stringValue = uncurryThis(String.prototype.valueOf);\nvar booleanValue = uncurryThis(Boolean.prototype.valueOf);\n\nif (BigIntSupported) {\n var bigIntValue = uncurryThis(BigInt.prototype.valueOf);\n}\n\nif (SymbolSupported) {\n var symbolValue = uncurryThis(Symbol.prototype.valueOf);\n}\n\nfunction checkBoxedPrimitive(value, prototypeValueOf) {\n if (typeof value !== 'object') {\n return false;\n }\n try {\n prototypeValueOf(value);\n return true;\n } catch(e) {\n return false;\n }\n}\n\nexports.isArgumentsObject = isArgumentsObject;\nexports.isGeneratorFunction = isGeneratorFunction;\nexports.isTypedArray = isTypedArray;\n\n// Taken from here and modified for better browser support\n// https://github.com/sindresorhus/p-is-promise/blob/cda35a513bda03f977ad5cde3a079d237e82d7ef/index.js\nfunction isPromise(input) {\n\treturn (\n\t\t(\n\t\t\ttypeof Promise !== 'undefined' &&\n\t\t\tinput instanceof Promise\n\t\t) ||\n\t\t(\n\t\t\tinput !== null &&\n\t\t\ttypeof input === 'object' &&\n\t\t\ttypeof input.then === 'function' &&\n\t\t\ttypeof input.catch === 'function'\n\t\t)\n\t);\n}\nexports.isPromise = isPromise;\n\nfunction isArrayBufferView(value) {\n if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {\n return ArrayBuffer.isView(value);\n }\n\n return (\n isTypedArray(value) ||\n isDataView(value)\n );\n}\nexports.isArrayBufferView = isArrayBufferView;\n\n\nfunction isUint8Array(value) {\n return whichTypedArray(value) === 'Uint8Array';\n}\nexports.isUint8Array = isUint8Array;\n\nfunction isUint8ClampedArray(value) {\n return whichTypedArray(value) === 'Uint8ClampedArray';\n}\nexports.isUint8ClampedArray = isUint8ClampedArray;\n\nfunction isUint16Array(value) {\n return whichTypedArray(value) === 'Uint16Array';\n}\nexports.isUint16Array = isUint16Array;\n\nfunction isUint32Array(value) {\n return whichTypedArray(value) === 'Uint32Array';\n}\nexports.isUint32Array = isUint32Array;\n\nfunction isInt8Array(value) {\n return whichTypedArray(value) === 'Int8Array';\n}\nexports.isInt8Array = isInt8Array;\n\nfunction isInt16Array(value) {\n return whichTypedArray(value) === 'Int16Array';\n}\nexports.isInt16Array = isInt16Array;\n\nfunction isInt32Array(value) {\n return whichTypedArray(value) === 'Int32Array';\n}\nexports.isInt32Array = isInt32Array;\n\nfunction isFloat32Array(value) {\n return whichTypedArray(value) === 'Float32Array';\n}\nexports.isFloat32Array = isFloat32Array;\n\nfunction isFloat64Array(value) {\n return whichTypedArray(value) === 'Float64Array';\n}\nexports.isFloat64Array = isFloat64Array;\n\nfunction isBigInt64Array(value) {\n return whichTypedArray(value) === 'BigInt64Array';\n}\nexports.isBigInt64Array = isBigInt64Array;\n\nfunction isBigUint64Array(value) {\n return whichTypedArray(value) === 'BigUint64Array';\n}\nexports.isBigUint64Array = isBigUint64Array;\n\nfunction isMapToString(value) {\n return ObjectToString(value) === '[object Map]';\n}\nisMapToString.working = (\n typeof Map !== 'undefined' &&\n isMapToString(new Map())\n);\n\nfunction isMap(value) {\n if (typeof Map === 'undefined') {\n return false;\n }\n\n return isMapToString.working\n ? isMapToString(value)\n : value instanceof Map;\n}\nexports.isMap = isMap;\n\nfunction isSetToString(value) {\n return ObjectToString(value) === '[object Set]';\n}\nisSetToString.working = (\n typeof Set !== 'undefined' &&\n isSetToString(new Set())\n);\nfunction isSet(value) {\n if (typeof Set === 'undefined') {\n return false;\n }\n\n return isSetToString.working\n ? isSetToString(value)\n : value instanceof Set;\n}\nexports.isSet = isSet;\n\nfunction isWeakMapToString(value) {\n return ObjectToString(value) === '[object WeakMap]';\n}\nisWeakMapToString.working = (\n typeof WeakMap !== 'undefined' &&\n isWeakMapToString(new WeakMap())\n);\nfunction isWeakMap(value) {\n if (typeof WeakMap === 'undefined') {\n return false;\n }\n\n return isWeakMapToString.working\n ? isWeakMapToString(value)\n : value instanceof WeakMap;\n}\nexports.isWeakMap = isWeakMap;\n\nfunction isWeakSetToString(value) {\n return ObjectToString(value) === '[object WeakSet]';\n}\nisWeakSetToString.working = (\n typeof WeakSet !== 'undefined' &&\n isWeakSetToString(new WeakSet())\n);\nfunction isWeakSet(value) {\n return isWeakSetToString(value);\n}\nexports.isWeakSet = isWeakSet;\n\nfunction isArrayBufferToString(value) {\n return ObjectToString(value) === '[object ArrayBuffer]';\n}\nisArrayBufferToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n isArrayBufferToString(new ArrayBuffer())\n);\nfunction isArrayBuffer(value) {\n if (typeof ArrayBuffer === 'undefined') {\n return false;\n }\n\n return isArrayBufferToString.working\n ? isArrayBufferToString(value)\n : value instanceof ArrayBuffer;\n}\nexports.isArrayBuffer = isArrayBuffer;\n\nfunction isDataViewToString(value) {\n return ObjectToString(value) === '[object DataView]';\n}\nisDataViewToString.working = (\n typeof ArrayBuffer !== 'undefined' &&\n typeof DataView !== 'undefined' &&\n isDataViewToString(new DataView(new ArrayBuffer(1), 0, 1))\n);\nfunction isDataView(value) {\n if (typeof DataView === 'undefined') {\n return false;\n }\n\n return isDataViewToString.working\n ? isDataViewToString(value)\n : value instanceof DataView;\n}\nexports.isDataView = isDataView;\n\n// Store a copy of SharedArrayBuffer in case it's deleted elsewhere\nvar SharedArrayBufferCopy = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : undefined;\nfunction isSharedArrayBufferToString(value) {\n return ObjectToString(value) === '[object SharedArrayBuffer]';\n}\nfunction isSharedArrayBuffer(value) {\n if (typeof SharedArrayBufferCopy === 'undefined') {\n return false;\n }\n\n if (typeof isSharedArrayBufferToString.working === 'undefined') {\n isSharedArrayBufferToString.working = isSharedArrayBufferToString(new SharedArrayBufferCopy());\n }\n\n return isSharedArrayBufferToString.working\n ? isSharedArrayBufferToString(value)\n : value instanceof SharedArrayBufferCopy;\n}\nexports.isSharedArrayBuffer = isSharedArrayBuffer;\n\nfunction isAsyncFunction(value) {\n return ObjectToString(value) === '[object AsyncFunction]';\n}\nexports.isAsyncFunction = isAsyncFunction;\n\nfunction isMapIterator(value) {\n return ObjectToString(value) === '[object Map Iterator]';\n}\nexports.isMapIterator = isMapIterator;\n\nfunction isSetIterator(value) {\n return ObjectToString(value) === '[object Set Iterator]';\n}\nexports.isSetIterator = isSetIterator;\n\nfunction isGeneratorObject(value) {\n return ObjectToString(value) === '[object Generator]';\n}\nexports.isGeneratorObject = isGeneratorObject;\n\nfunction isWebAssemblyCompiledModule(value) {\n return ObjectToString(value) === '[object WebAssembly.Module]';\n}\nexports.isWebAssemblyCompiledModule = isWebAssemblyCompiledModule;\n\nfunction isNumberObject(value) {\n return checkBoxedPrimitive(value, numberValue);\n}\nexports.isNumberObject = isNumberObject;\n\nfunction isStringObject(value) {\n return checkBoxedPrimitive(value, stringValue);\n}\nexports.isStringObject = isStringObject;\n\nfunction isBooleanObject(value) {\n return checkBoxedPrimitive(value, booleanValue);\n}\nexports.isBooleanObject = isBooleanObject;\n\nfunction isBigIntObject(value) {\n return BigIntSupported && checkBoxedPrimitive(value, bigIntValue);\n}\nexports.isBigIntObject = isBigIntObject;\n\nfunction isSymbolObject(value) {\n return SymbolSupported && checkBoxedPrimitive(value, symbolValue);\n}\nexports.isSymbolObject = isSymbolObject;\n\nfunction isBoxedPrimitive(value) {\n return (\n isNumberObject(value) ||\n isStringObject(value) ||\n isBooleanObject(value) ||\n isBigIntObject(value) ||\n isSymbolObject(value)\n );\n}\nexports.isBoxedPrimitive = isBoxedPrimitive;\n\nfunction isAnyArrayBuffer(value) {\n return typeof Uint8Array !== 'undefined' && (\n isArrayBuffer(value) ||\n isSharedArrayBuffer(value)\n );\n}\nexports.isAnyArrayBuffer = isAnyArrayBuffer;\n\n['isProxy', 'isExternal', 'isModuleNamespaceObject'].forEach(function(method) {\n Object.defineProperty(exports, method, {\n enumerable: false,\n value: function() {\n throw new Error(method + ' is not supported in userland');\n }\n });\n});\n","'use strict';\n\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\n\nvar isStandardArguments = function isArguments(value) {\n\tif (hasToStringTag && value && typeof value === 'object' && Symbol.toStringTag in value) {\n\t\treturn false;\n\t}\n\treturn $toString(value) === '[object Arguments]';\n};\n\nvar isLegacyArguments = function isArguments(value) {\n\tif (isStandardArguments(value)) {\n\t\treturn true;\n\t}\n\treturn value !== null &&\n\t\ttypeof value === 'object' &&\n\t\ttypeof value.length === 'number' &&\n\t\tvalue.length >= 0 &&\n\t\t$toString(value) !== '[object Array]' &&\n\t\t$toString(value.callee) === '[object Function]';\n};\n\nvar supportsStandardArguments = (function () {\n\treturn isStandardArguments(arguments);\n}());\n\nisStandardArguments.isLegacyArguments = isLegacyArguments; // for tests\n\nmodule.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments;\n","'use strict';\n\nvar hasSymbols = require('has-symbols/shams');\n\nmodule.exports = function hasToStringTagShams() {\n\treturn hasSymbols() && !!Symbol.toStringTag;\n};\n","'use strict';\n\n/* eslint complexity: [2, 18], max-statements: [2, 33] */\nmodule.exports = function hasSymbols() {\n\tif (typeof Symbol !== 'function' || typeof Object.getOwnPropertySymbols !== 'function') { return false; }\n\tif (typeof Symbol.iterator === 'symbol') { return true; }\n\n\tvar obj = {};\n\tvar sym = Symbol('test');\n\tvar symObj = Object(sym);\n\tif (typeof sym === 'string') { return false; }\n\n\tif (Object.prototype.toString.call(sym) !== '[object Symbol]') { return false; }\n\tif (Object.prototype.toString.call(symObj) !== '[object Symbol]') { return false; }\n\n\t// temp disabled per https://github.com/ljharb/object.assign/issues/17\n\t// if (sym instanceof Symbol) { return false; }\n\t// temp disabled per https://github.com/WebReflection/get-own-property-symbols/issues/4\n\t// if (!(symObj instanceof Symbol)) { return false; }\n\n\t// if (typeof Symbol.prototype.toString !== 'function') { return false; }\n\t// if (String(sym) !== Symbol.prototype.toString.call(sym)) { return false; }\n\n\tvar symVal = 42;\n\tobj[sym] = symVal;\n\tfor (sym in obj) { return false; } // eslint-disable-line no-restricted-syntax, no-unreachable-loop\n\tif (typeof Object.keys === 'function' && Object.keys(obj).length !== 0) { return false; }\n\n\tif (typeof Object.getOwnPropertyNames === 'function' && Object.getOwnPropertyNames(obj).length !== 0) { return false; }\n\n\tvar syms = Object.getOwnPropertySymbols(obj);\n\tif (syms.length !== 1 || syms[0] !== sym) { return false; }\n\n\tif (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { return false; }\n\n\tif (typeof Object.getOwnPropertyDescriptor === 'function') {\n\t\tvar descriptor = Object.getOwnPropertyDescriptor(obj, sym);\n\t\tif (descriptor.value !== symVal || descriptor.enumerable !== true) { return false; }\n\t}\n\n\treturn true;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar callBind = require('./');\n\nvar $indexOf = callBind(GetIntrinsic('String.prototype.indexOf'));\n\nmodule.exports = function callBoundIntrinsic(name, allowMissing) {\n\tvar intrinsic = GetIntrinsic(name, !!allowMissing);\n\tif (typeof intrinsic === 'function' && $indexOf(name, '.prototype.') > -1) {\n\t\treturn callBind(intrinsic);\n\t}\n\treturn intrinsic;\n};\n","'use strict';\n\nvar undefined;\n\nvar $SyntaxError = SyntaxError;\nvar $Function = Function;\nvar $TypeError = TypeError;\n\n// eslint-disable-next-line consistent-return\nvar getEvalledConstructor = function (expressionSyntax) {\n\ttry {\n\t\treturn $Function('\"use strict\"; return (' + expressionSyntax + ').constructor;')();\n\t} catch (e) {}\n};\n\nvar $gOPD = Object.getOwnPropertyDescriptor;\nif ($gOPD) {\n\ttry {\n\t\t$gOPD({}, '');\n\t} catch (e) {\n\t\t$gOPD = null; // this is IE 8, which has a broken gOPD\n\t}\n}\n\nvar throwTypeError = function () {\n\tthrow new $TypeError();\n};\nvar ThrowTypeError = $gOPD\n\t? (function () {\n\t\ttry {\n\t\t\t// eslint-disable-next-line no-unused-expressions, no-caller, no-restricted-properties\n\t\t\targuments.callee; // IE 8 does not throw here\n\t\t\treturn throwTypeError;\n\t\t} catch (calleeThrows) {\n\t\t\ttry {\n\t\t\t\t// IE 8 throws on Object.getOwnPropertyDescriptor(arguments, '')\n\t\t\t\treturn $gOPD(arguments, 'callee').get;\n\t\t\t} catch (gOPDthrows) {\n\t\t\t\treturn throwTypeError;\n\t\t\t}\n\t\t}\n\t}())\n\t: throwTypeError;\n\nvar hasSymbols = require('has-symbols')();\nvar hasProto = require('has-proto')();\n\nvar getProto = Object.getPrototypeOf || (\n\thasProto\n\t\t? function (x) { return x.__proto__; } // eslint-disable-line no-proto\n\t\t: null\n);\n\nvar needsEval = {};\n\nvar TypedArray = typeof Uint8Array === 'undefined' || !getProto ? undefined : getProto(Uint8Array);\n\nvar INTRINSICS = {\n\t'%AggregateError%': typeof AggregateError === 'undefined' ? undefined : AggregateError,\n\t'%Array%': Array,\n\t'%ArrayBuffer%': typeof ArrayBuffer === 'undefined' ? undefined : ArrayBuffer,\n\t'%ArrayIteratorPrototype%': hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined,\n\t'%AsyncFromSyncIteratorPrototype%': undefined,\n\t'%AsyncFunction%': needsEval,\n\t'%AsyncGenerator%': needsEval,\n\t'%AsyncGeneratorFunction%': needsEval,\n\t'%AsyncIteratorPrototype%': needsEval,\n\t'%Atomics%': typeof Atomics === 'undefined' ? undefined : Atomics,\n\t'%BigInt%': typeof BigInt === 'undefined' ? undefined : BigInt,\n\t'%BigInt64Array%': typeof BigInt64Array === 'undefined' ? undefined : BigInt64Array,\n\t'%BigUint64Array%': typeof BigUint64Array === 'undefined' ? undefined : BigUint64Array,\n\t'%Boolean%': Boolean,\n\t'%DataView%': typeof DataView === 'undefined' ? undefined : DataView,\n\t'%Date%': Date,\n\t'%decodeURI%': decodeURI,\n\t'%decodeURIComponent%': decodeURIComponent,\n\t'%encodeURI%': encodeURI,\n\t'%encodeURIComponent%': encodeURIComponent,\n\t'%Error%': Error,\n\t'%eval%': eval, // eslint-disable-line no-eval\n\t'%EvalError%': EvalError,\n\t'%Float32Array%': typeof Float32Array === 'undefined' ? undefined : Float32Array,\n\t'%Float64Array%': typeof Float64Array === 'undefined' ? undefined : Float64Array,\n\t'%FinalizationRegistry%': typeof FinalizationRegistry === 'undefined' ? undefined : FinalizationRegistry,\n\t'%Function%': $Function,\n\t'%GeneratorFunction%': needsEval,\n\t'%Int8Array%': typeof Int8Array === 'undefined' ? undefined : Int8Array,\n\t'%Int16Array%': typeof Int16Array === 'undefined' ? undefined : Int16Array,\n\t'%Int32Array%': typeof Int32Array === 'undefined' ? undefined : Int32Array,\n\t'%isFinite%': isFinite,\n\t'%isNaN%': isNaN,\n\t'%IteratorPrototype%': hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined,\n\t'%JSON%': typeof JSON === 'object' ? JSON : undefined,\n\t'%Map%': typeof Map === 'undefined' ? undefined : Map,\n\t'%MapIteratorPrototype%': typeof Map === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Map()[Symbol.iterator]()),\n\t'%Math%': Math,\n\t'%Number%': Number,\n\t'%Object%': Object,\n\t'%parseFloat%': parseFloat,\n\t'%parseInt%': parseInt,\n\t'%Promise%': typeof Promise === 'undefined' ? undefined : Promise,\n\t'%Proxy%': typeof Proxy === 'undefined' ? undefined : Proxy,\n\t'%RangeError%': RangeError,\n\t'%ReferenceError%': ReferenceError,\n\t'%Reflect%': typeof Reflect === 'undefined' ? undefined : Reflect,\n\t'%RegExp%': RegExp,\n\t'%Set%': typeof Set === 'undefined' ? undefined : Set,\n\t'%SetIteratorPrototype%': typeof Set === 'undefined' || !hasSymbols || !getProto ? undefined : getProto(new Set()[Symbol.iterator]()),\n\t'%SharedArrayBuffer%': typeof SharedArrayBuffer === 'undefined' ? undefined : SharedArrayBuffer,\n\t'%String%': String,\n\t'%StringIteratorPrototype%': hasSymbols && getProto ? getProto(''[Symbol.iterator]()) : undefined,\n\t'%Symbol%': hasSymbols ? Symbol : undefined,\n\t'%SyntaxError%': $SyntaxError,\n\t'%ThrowTypeError%': ThrowTypeError,\n\t'%TypedArray%': TypedArray,\n\t'%TypeError%': $TypeError,\n\t'%Uint8Array%': typeof Uint8Array === 'undefined' ? undefined : Uint8Array,\n\t'%Uint8ClampedArray%': typeof Uint8ClampedArray === 'undefined' ? undefined : Uint8ClampedArray,\n\t'%Uint16Array%': typeof Uint16Array === 'undefined' ? undefined : Uint16Array,\n\t'%Uint32Array%': typeof Uint32Array === 'undefined' ? undefined : Uint32Array,\n\t'%URIError%': URIError,\n\t'%WeakMap%': typeof WeakMap === 'undefined' ? undefined : WeakMap,\n\t'%WeakRef%': typeof WeakRef === 'undefined' ? undefined : WeakRef,\n\t'%WeakSet%': typeof WeakSet === 'undefined' ? undefined : WeakSet\n};\n\nif (getProto) {\n\ttry {\n\t\tnull.error; // eslint-disable-line no-unused-expressions\n\t} catch (e) {\n\t\t// https://github.com/tc39/proposal-shadowrealm/pull/384#issuecomment-1364264229\n\t\tvar errorProto = getProto(getProto(e));\n\t\tINTRINSICS['%Error.prototype%'] = errorProto;\n\t}\n}\n\nvar doEval = function doEval(name) {\n\tvar value;\n\tif (name === '%AsyncFunction%') {\n\t\tvalue = getEvalledConstructor('async function () {}');\n\t} else if (name === '%GeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('function* () {}');\n\t} else if (name === '%AsyncGeneratorFunction%') {\n\t\tvalue = getEvalledConstructor('async function* () {}');\n\t} else if (name === '%AsyncGenerator%') {\n\t\tvar fn = doEval('%AsyncGeneratorFunction%');\n\t\tif (fn) {\n\t\t\tvalue = fn.prototype;\n\t\t}\n\t} else if (name === '%AsyncIteratorPrototype%') {\n\t\tvar gen = doEval('%AsyncGenerator%');\n\t\tif (gen && getProto) {\n\t\t\tvalue = getProto(gen.prototype);\n\t\t}\n\t}\n\n\tINTRINSICS[name] = value;\n\n\treturn value;\n};\n\nvar LEGACY_ALIASES = {\n\t'%ArrayBufferPrototype%': ['ArrayBuffer', 'prototype'],\n\t'%ArrayPrototype%': ['Array', 'prototype'],\n\t'%ArrayProto_entries%': ['Array', 'prototype', 'entries'],\n\t'%ArrayProto_forEach%': ['Array', 'prototype', 'forEach'],\n\t'%ArrayProto_keys%': ['Array', 'prototype', 'keys'],\n\t'%ArrayProto_values%': ['Array', 'prototype', 'values'],\n\t'%AsyncFunctionPrototype%': ['AsyncFunction', 'prototype'],\n\t'%AsyncGenerator%': ['AsyncGeneratorFunction', 'prototype'],\n\t'%AsyncGeneratorPrototype%': ['AsyncGeneratorFunction', 'prototype', 'prototype'],\n\t'%BooleanPrototype%': ['Boolean', 'prototype'],\n\t'%DataViewPrototype%': ['DataView', 'prototype'],\n\t'%DatePrototype%': ['Date', 'prototype'],\n\t'%ErrorPrototype%': ['Error', 'prototype'],\n\t'%EvalErrorPrototype%': ['EvalError', 'prototype'],\n\t'%Float32ArrayPrototype%': ['Float32Array', 'prototype'],\n\t'%Float64ArrayPrototype%': ['Float64Array', 'prototype'],\n\t'%FunctionPrototype%': ['Function', 'prototype'],\n\t'%Generator%': ['GeneratorFunction', 'prototype'],\n\t'%GeneratorPrototype%': ['GeneratorFunction', 'prototype', 'prototype'],\n\t'%Int8ArrayPrototype%': ['Int8Array', 'prototype'],\n\t'%Int16ArrayPrototype%': ['Int16Array', 'prototype'],\n\t'%Int32ArrayPrototype%': ['Int32Array', 'prototype'],\n\t'%JSONParse%': ['JSON', 'parse'],\n\t'%JSONStringify%': ['JSON', 'stringify'],\n\t'%MapPrototype%': ['Map', 'prototype'],\n\t'%NumberPrototype%': ['Number', 'prototype'],\n\t'%ObjectPrototype%': ['Object', 'prototype'],\n\t'%ObjProto_toString%': ['Object', 'prototype', 'toString'],\n\t'%ObjProto_valueOf%': ['Object', 'prototype', 'valueOf'],\n\t'%PromisePrototype%': ['Promise', 'prototype'],\n\t'%PromiseProto_then%': ['Promise', 'prototype', 'then'],\n\t'%Promise_all%': ['Promise', 'all'],\n\t'%Promise_reject%': ['Promise', 'reject'],\n\t'%Promise_resolve%': ['Promise', 'resolve'],\n\t'%RangeErrorPrototype%': ['RangeError', 'prototype'],\n\t'%ReferenceErrorPrototype%': ['ReferenceError', 'prototype'],\n\t'%RegExpPrototype%': ['RegExp', 'prototype'],\n\t'%SetPrototype%': ['Set', 'prototype'],\n\t'%SharedArrayBufferPrototype%': ['SharedArrayBuffer', 'prototype'],\n\t'%StringPrototype%': ['String', 'prototype'],\n\t'%SymbolPrototype%': ['Symbol', 'prototype'],\n\t'%SyntaxErrorPrototype%': ['SyntaxError', 'prototype'],\n\t'%TypedArrayPrototype%': ['TypedArray', 'prototype'],\n\t'%TypeErrorPrototype%': ['TypeError', 'prototype'],\n\t'%Uint8ArrayPrototype%': ['Uint8Array', 'prototype'],\n\t'%Uint8ClampedArrayPrototype%': ['Uint8ClampedArray', 'prototype'],\n\t'%Uint16ArrayPrototype%': ['Uint16Array', 'prototype'],\n\t'%Uint32ArrayPrototype%': ['Uint32Array', 'prototype'],\n\t'%URIErrorPrototype%': ['URIError', 'prototype'],\n\t'%WeakMapPrototype%': ['WeakMap', 'prototype'],\n\t'%WeakSetPrototype%': ['WeakSet', 'prototype']\n};\n\nvar bind = require('function-bind');\nvar hasOwn = require('has');\nvar $concat = bind.call(Function.call, Array.prototype.concat);\nvar $spliceApply = bind.call(Function.apply, Array.prototype.splice);\nvar $replace = bind.call(Function.call, String.prototype.replace);\nvar $strSlice = bind.call(Function.call, String.prototype.slice);\nvar $exec = bind.call(Function.call, RegExp.prototype.exec);\n\n/* adapted from https://github.com/lodash/lodash/blob/4.17.15/dist/lodash.js#L6735-L6744 */\nvar rePropName = /[^%.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|%$))/g;\nvar reEscapeChar = /\\\\(\\\\)?/g; /** Used to match backslashes in property paths. */\nvar stringToPath = function stringToPath(string) {\n\tvar first = $strSlice(string, 0, 1);\n\tvar last = $strSlice(string, -1);\n\tif (first === '%' && last !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected closing `%`');\n\t} else if (last === '%' && first !== '%') {\n\t\tthrow new $SyntaxError('invalid intrinsic syntax, expected opening `%`');\n\t}\n\tvar result = [];\n\t$replace(string, rePropName, function (match, number, quote, subString) {\n\t\tresult[result.length] = quote ? $replace(subString, reEscapeChar, '$1') : number || match;\n\t});\n\treturn result;\n};\n/* end adaptation */\n\nvar getBaseIntrinsic = function getBaseIntrinsic(name, allowMissing) {\n\tvar intrinsicName = name;\n\tvar alias;\n\tif (hasOwn(LEGACY_ALIASES, intrinsicName)) {\n\t\talias = LEGACY_ALIASES[intrinsicName];\n\t\tintrinsicName = '%' + alias[0] + '%';\n\t}\n\n\tif (hasOwn(INTRINSICS, intrinsicName)) {\n\t\tvar value = INTRINSICS[intrinsicName];\n\t\tif (value === needsEval) {\n\t\t\tvalue = doEval(intrinsicName);\n\t\t}\n\t\tif (typeof value === 'undefined' && !allowMissing) {\n\t\t\tthrow new $TypeError('intrinsic ' + name + ' exists, but is not available. Please file an issue!');\n\t\t}\n\n\t\treturn {\n\t\t\talias: alias,\n\t\t\tname: intrinsicName,\n\t\t\tvalue: value\n\t\t};\n\t}\n\n\tthrow new $SyntaxError('intrinsic ' + name + ' does not exist!');\n};\n\nmodule.exports = function GetIntrinsic(name, allowMissing) {\n\tif (typeof name !== 'string' || name.length === 0) {\n\t\tthrow new $TypeError('intrinsic name must be a non-empty string');\n\t}\n\tif (arguments.length > 1 && typeof allowMissing !== 'boolean') {\n\t\tthrow new $TypeError('\"allowMissing\" argument must be a boolean');\n\t}\n\n\tif ($exec(/^%?[^%]*%?$/, name) === null) {\n\t\tthrow new $SyntaxError('`%` may not be present anywhere but at the beginning and end of the intrinsic name');\n\t}\n\tvar parts = stringToPath(name);\n\tvar intrinsicBaseName = parts.length > 0 ? parts[0] : '';\n\n\tvar intrinsic = getBaseIntrinsic('%' + intrinsicBaseName + '%', allowMissing);\n\tvar intrinsicRealName = intrinsic.name;\n\tvar value = intrinsic.value;\n\tvar skipFurtherCaching = false;\n\n\tvar alias = intrinsic.alias;\n\tif (alias) {\n\t\tintrinsicBaseName = alias[0];\n\t\t$spliceApply(parts, $concat([0, 1], alias));\n\t}\n\n\tfor (var i = 1, isOwn = true; i < parts.length; i += 1) {\n\t\tvar part = parts[i];\n\t\tvar first = $strSlice(part, 0, 1);\n\t\tvar last = $strSlice(part, -1);\n\t\tif (\n\t\t\t(\n\t\t\t\t(first === '\"' || first === \"'\" || first === '`')\n\t\t\t\t|| (last === '\"' || last === \"'\" || last === '`')\n\t\t\t)\n\t\t\t&& first !== last\n\t\t) {\n\t\t\tthrow new $SyntaxError('property names with quotes must have matching quotes');\n\t\t}\n\t\tif (part === 'constructor' || !isOwn) {\n\t\t\tskipFurtherCaching = true;\n\t\t}\n\n\t\tintrinsicBaseName += '.' + part;\n\t\tintrinsicRealName = '%' + intrinsicBaseName + '%';\n\n\t\tif (hasOwn(INTRINSICS, intrinsicRealName)) {\n\t\t\tvalue = INTRINSICS[intrinsicRealName];\n\t\t} else if (value != null) {\n\t\t\tif (!(part in value)) {\n\t\t\t\tif (!allowMissing) {\n\t\t\t\t\tthrow new $TypeError('base intrinsic for ' + name + ' exists, but the property is not available.');\n\t\t\t\t}\n\t\t\t\treturn void undefined;\n\t\t\t}\n\t\t\tif ($gOPD && (i + 1) >= parts.length) {\n\t\t\t\tvar desc = $gOPD(value, part);\n\t\t\t\tisOwn = !!desc;\n\n\t\t\t\t// By convention, when a data property is converted to an accessor\n\t\t\t\t// property to emulate a data property that does not suffer from\n\t\t\t\t// the override mistake, that accessor's getter is marked with\n\t\t\t\t// an `originalValue` property. Here, when we detect this, we\n\t\t\t\t// uphold the illusion by pretending to see that original data\n\t\t\t\t// property, i.e., returning the value rather than the getter\n\t\t\t\t// itself.\n\t\t\t\tif (isOwn && 'get' in desc && !('originalValue' in desc.get)) {\n\t\t\t\t\tvalue = desc.get;\n\t\t\t\t} else {\n\t\t\t\t\tvalue = value[part];\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tisOwn = hasOwn(value, part);\n\t\t\t\tvalue = value[part];\n\t\t\t}\n\n\t\t\tif (isOwn && !skipFurtherCaching) {\n\t\t\t\tINTRINSICS[intrinsicRealName] = value;\n\t\t\t}\n\t\t}\n\t}\n\treturn value;\n};\n","'use strict';\n\nvar origSymbol = typeof Symbol !== 'undefined' && Symbol;\nvar hasSymbolSham = require('./shams');\n\nmodule.exports = function hasNativeSymbols() {\n\tif (typeof origSymbol !== 'function') { return false; }\n\tif (typeof Symbol !== 'function') { return false; }\n\tif (typeof origSymbol('foo') !== 'symbol') { return false; }\n\tif (typeof Symbol('bar') !== 'symbol') { return false; }\n\n\treturn hasSymbolSham();\n};\n","'use strict';\n\nvar test = {\n\tfoo: {}\n};\n\nvar $Object = Object;\n\nmodule.exports = function hasProto() {\n\treturn { __proto__: test }.foo === test.foo && !({ __proto__: null } instanceof $Object);\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = Function.prototype.bind || implementation;\n","'use strict';\n\n/* eslint no-invalid-this: 1 */\n\nvar ERROR_MESSAGE = 'Function.prototype.bind called on incompatible ';\nvar slice = Array.prototype.slice;\nvar toStr = Object.prototype.toString;\nvar funcType = '[object Function]';\n\nmodule.exports = function bind(that) {\n var target = this;\n if (typeof target !== 'function' || toStr.call(target) !== funcType) {\n throw new TypeError(ERROR_MESSAGE + target);\n }\n var args = slice.call(arguments, 1);\n\n var bound;\n var binder = function () {\n if (this instanceof bound) {\n var result = target.apply(\n this,\n args.concat(slice.call(arguments))\n );\n if (Object(result) === result) {\n return result;\n }\n return this;\n } else {\n return target.apply(\n that,\n args.concat(slice.call(arguments))\n );\n }\n };\n\n var boundLength = Math.max(0, target.length - args.length);\n var boundArgs = [];\n for (var i = 0; i < boundLength; i++) {\n boundArgs.push('$' + i);\n }\n\n bound = Function('binder', 'return function (' + boundArgs.join(',') + '){ return binder.apply(this,arguments); }')(binder);\n\n if (target.prototype) {\n var Empty = function Empty() {};\n Empty.prototype = target.prototype;\n bound.prototype = new Empty();\n Empty.prototype = null;\n }\n\n return bound;\n};\n","'use strict';\n\nvar bind = require('function-bind');\n\nmodule.exports = bind.call(Function.call, Object.prototype.hasOwnProperty);\n","'use strict';\n\nvar bind = require('function-bind');\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $apply = GetIntrinsic('%Function.prototype.apply%');\nvar $call = GetIntrinsic('%Function.prototype.call%');\nvar $reflectApply = GetIntrinsic('%Reflect.apply%', true) || bind.call($call, $apply);\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\nvar $max = GetIntrinsic('%Math.max%');\n\nif ($defineProperty) {\n\ttry {\n\t\t$defineProperty({}, 'a', { value: 1 });\n\t} catch (e) {\n\t\t// IE 8 has a broken defineProperty\n\t\t$defineProperty = null;\n\t}\n}\n\nmodule.exports = function callBind(originalFunction) {\n\tvar func = $reflectApply(bind, $call, arguments);\n\tif ($gOPD && $defineProperty) {\n\t\tvar desc = $gOPD(func, 'length');\n\t\tif (desc.configurable) {\n\t\t\t// original length, plus the receiver, minus any additional arguments (after the receiver)\n\t\t\t$defineProperty(\n\t\t\t\tfunc,\n\t\t\t\t'length',\n\t\t\t\t{ value: 1 + $max(0, originalFunction.length - (arguments.length - 1)) }\n\t\t\t);\n\t\t}\n\t}\n\treturn func;\n};\n\nvar applyBind = function applyBind() {\n\treturn $reflectApply(bind, $apply, arguments);\n};\n\nif ($defineProperty) {\n\t$defineProperty(module.exports, 'apply', { value: applyBind });\n} else {\n\tmodule.exports.apply = applyBind;\n}\n","'use strict';\n\nvar toStr = Object.prototype.toString;\nvar fnToStr = Function.prototype.toString;\nvar isFnRegex = /^\\s*(?:function)?\\*/;\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar getProto = Object.getPrototypeOf;\nvar getGeneratorFunc = function () { // eslint-disable-line consistent-return\n\tif (!hasToStringTag) {\n\t\treturn false;\n\t}\n\ttry {\n\t\treturn Function('return function*() {}')();\n\t} catch (e) {\n\t}\n};\nvar GeneratorFunction;\n\nmodule.exports = function isGeneratorFunction(fn) {\n\tif (typeof fn !== 'function') {\n\t\treturn false;\n\t}\n\tif (isFnRegex.test(fnToStr.call(fn))) {\n\t\treturn true;\n\t}\n\tif (!hasToStringTag) {\n\t\tvar str = toStr.call(fn);\n\t\treturn str === '[object GeneratorFunction]';\n\t}\n\tif (!getProto) {\n\t\treturn false;\n\t}\n\tif (typeof GeneratorFunction === 'undefined') {\n\t\tvar generatorFunc = getGeneratorFunc();\n\t\tGeneratorFunction = generatorFunc ? getProto(generatorFunc) : false;\n\t}\n\treturn getProto(fn) === GeneratorFunction;\n};\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\nvar gOPD = require('gopd');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tif (typeof g[typedArray] === 'function') {\n\t\t\tvar arr = new g[typedArray]();\n\t\t\tif (Symbol.toStringTag in arr) {\n\t\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\t\tif (!descriptor) {\n\t\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t\t}\n\t\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t\t}\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar foundName = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!foundName) {\n\t\t\ttry {\n\t\t\t\tvar name = getter.call(value);\n\t\t\t\tif (name === typedArray) {\n\t\t\t\t\tfoundName = name;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\t\t}\n\t});\n\treturn foundName;\n};\n\nvar isTypedArray = require('is-typed-array');\n\nmodule.exports = function whichTypedArray(value) {\n\tif (!isTypedArray(value)) { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) { return $slice($toString(value), 8, -1); }\n\treturn tryTypedArrays(value);\n};\n","'use strict';\n\nvar isCallable = require('is-callable');\n\nvar toStr = Object.prototype.toString;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar forEachArray = function forEachArray(array, iterator, receiver) {\n for (var i = 0, len = array.length; i < len; i++) {\n if (hasOwnProperty.call(array, i)) {\n if (receiver == null) {\n iterator(array[i], i, array);\n } else {\n iterator.call(receiver, array[i], i, array);\n }\n }\n }\n};\n\nvar forEachString = function forEachString(string, iterator, receiver) {\n for (var i = 0, len = string.length; i < len; i++) {\n // no such thing as a sparse string.\n if (receiver == null) {\n iterator(string.charAt(i), i, string);\n } else {\n iterator.call(receiver, string.charAt(i), i, string);\n }\n }\n};\n\nvar forEachObject = function forEachObject(object, iterator, receiver) {\n for (var k in object) {\n if (hasOwnProperty.call(object, k)) {\n if (receiver == null) {\n iterator(object[k], k, object);\n } else {\n iterator.call(receiver, object[k], k, object);\n }\n }\n }\n};\n\nvar forEach = function forEach(list, iterator, thisArg) {\n if (!isCallable(iterator)) {\n throw new TypeError('iterator must be a function');\n }\n\n var receiver;\n if (arguments.length >= 3) {\n receiver = thisArg;\n }\n\n if (toStr.call(list) === '[object Array]') {\n forEachArray(list, iterator, receiver);\n } else if (typeof list === 'string') {\n forEachString(list, iterator, receiver);\n } else {\n forEachObject(list, iterator, receiver);\n }\n};\n\nmodule.exports = forEach;\n","'use strict';\n\nvar fnToStr = Function.prototype.toString;\nvar reflectApply = typeof Reflect === 'object' && Reflect !== null && Reflect.apply;\nvar badArrayLike;\nvar isCallableMarker;\nif (typeof reflectApply === 'function' && typeof Object.defineProperty === 'function') {\n\ttry {\n\t\tbadArrayLike = Object.defineProperty({}, 'length', {\n\t\t\tget: function () {\n\t\t\t\tthrow isCallableMarker;\n\t\t\t}\n\t\t});\n\t\tisCallableMarker = {};\n\t\t// eslint-disable-next-line no-throw-literal\n\t\treflectApply(function () { throw 42; }, null, badArrayLike);\n\t} catch (_) {\n\t\tif (_ !== isCallableMarker) {\n\t\t\treflectApply = null;\n\t\t}\n\t}\n} else {\n\treflectApply = null;\n}\n\nvar constructorRegex = /^\\s*class\\b/;\nvar isES6ClassFn = function isES6ClassFunction(value) {\n\ttry {\n\t\tvar fnStr = fnToStr.call(value);\n\t\treturn constructorRegex.test(fnStr);\n\t} catch (e) {\n\t\treturn false; // not a function\n\t}\n};\n\nvar tryFunctionObject = function tryFunctionToStr(value) {\n\ttry {\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tfnToStr.call(value);\n\t\treturn true;\n\t} catch (e) {\n\t\treturn false;\n\t}\n};\nvar toStr = Object.prototype.toString;\nvar objectClass = '[object Object]';\nvar fnClass = '[object Function]';\nvar genClass = '[object GeneratorFunction]';\nvar ddaClass = '[object HTMLAllCollection]'; // IE 11\nvar ddaClass2 = '[object HTML document.all class]';\nvar ddaClass3 = '[object HTMLCollection]'; // IE 9-10\nvar hasToStringTag = typeof Symbol === 'function' && !!Symbol.toStringTag; // better: use `has-tostringtag`\n\nvar isIE68 = !(0 in [,]); // eslint-disable-line no-sparse-arrays, comma-spacing\n\nvar isDDA = function isDocumentDotAll() { return false; };\nif (typeof document === 'object') {\n\t// Firefox 3 canonicalizes DDA to undefined when it's not accessed directly\n\tvar all = document.all;\n\tif (toStr.call(all) === toStr.call(document.all)) {\n\t\tisDDA = function isDocumentDotAll(value) {\n\t\t\t/* globals document: false */\n\t\t\t// in IE 6-8, typeof document.all is \"object\" and it's truthy\n\t\t\tif ((isIE68 || !value) && (typeof value === 'undefined' || typeof value === 'object')) {\n\t\t\t\ttry {\n\t\t\t\t\tvar str = toStr.call(value);\n\t\t\t\t\treturn (\n\t\t\t\t\t\tstr === ddaClass\n\t\t\t\t\t\t|| str === ddaClass2\n\t\t\t\t\t\t|| str === ddaClass3 // opera 12.16\n\t\t\t\t\t\t|| str === objectClass // IE 6-8\n\t\t\t\t\t) && value('') == null; // eslint-disable-line eqeqeq\n\t\t\t\t} catch (e) { /**/ }\n\t\t\t}\n\t\t\treturn false;\n\t\t};\n\t}\n}\n\nmodule.exports = reflectApply\n\t? function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\ttry {\n\t\t\treflectApply(value, null, badArrayLike);\n\t\t} catch (e) {\n\t\t\tif (e !== isCallableMarker) { return false; }\n\t\t}\n\t\treturn !isES6ClassFn(value) && tryFunctionObject(value);\n\t}\n\t: function isCallable(value) {\n\t\tif (isDDA(value)) { return true; }\n\t\tif (!value) { return false; }\n\t\tif (typeof value !== 'function' && typeof value !== 'object') { return false; }\n\t\tif (hasToStringTag) { return tryFunctionObject(value); }\n\t\tif (isES6ClassFn(value)) { return false; }\n\t\tvar strClass = toStr.call(value);\n\t\tif (strClass !== fnClass && strClass !== genClass && !(/^\\[object HTML/).test(strClass)) { return false; }\n\t\treturn tryFunctionObject(value);\n\t};\n","'use strict';\n\nvar possibleNames = [\n\t'BigInt64Array',\n\t'BigUint64Array',\n\t'Float32Array',\n\t'Float64Array',\n\t'Int16Array',\n\t'Int32Array',\n\t'Int8Array',\n\t'Uint16Array',\n\t'Uint32Array',\n\t'Uint8Array',\n\t'Uint8ClampedArray'\n];\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\n\nmodule.exports = function availableTypedArrays() {\n\tvar out = [];\n\tfor (var i = 0; i < possibleNames.length; i++) {\n\t\tif (typeof g[possibleNames[i]] === 'function') {\n\t\t\tout[out.length] = possibleNames[i];\n\t\t}\n\t}\n\treturn out;\n};\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $gOPD = GetIntrinsic('%Object.getOwnPropertyDescriptor%', true);\n\nif ($gOPD) {\n\ttry {\n\t\t$gOPD([], 'length');\n\t} catch (e) {\n\t\t// IE 8 has a broken gOPD\n\t\t$gOPD = null;\n\t}\n}\n\nmodule.exports = $gOPD;\n","'use strict';\n\nvar forEach = require('for-each');\nvar availableTypedArrays = require('available-typed-arrays');\nvar callBound = require('call-bind/callBound');\n\nvar $toString = callBound('Object.prototype.toString');\nvar hasToStringTag = require('has-tostringtag/shams')();\nvar gOPD = require('gopd');\n\nvar g = typeof globalThis === 'undefined' ? global : globalThis;\nvar typedArrays = availableTypedArrays();\n\nvar $indexOf = callBound('Array.prototype.indexOf', true) || function indexOf(array, value) {\n\tfor (var i = 0; i < array.length; i += 1) {\n\t\tif (array[i] === value) {\n\t\t\treturn i;\n\t\t}\n\t}\n\treturn -1;\n};\nvar $slice = callBound('String.prototype.slice');\nvar toStrTags = {};\nvar getPrototypeOf = Object.getPrototypeOf; // require('getprototypeof');\nif (hasToStringTag && gOPD && getPrototypeOf) {\n\tforEach(typedArrays, function (typedArray) {\n\t\tvar arr = new g[typedArray]();\n\t\tif (Symbol.toStringTag in arr) {\n\t\t\tvar proto = getPrototypeOf(arr);\n\t\t\tvar descriptor = gOPD(proto, Symbol.toStringTag);\n\t\t\tif (!descriptor) {\n\t\t\t\tvar superProto = getPrototypeOf(proto);\n\t\t\t\tdescriptor = gOPD(superProto, Symbol.toStringTag);\n\t\t\t}\n\t\t\ttoStrTags[typedArray] = descriptor.get;\n\t\t}\n\t});\n}\n\nvar tryTypedArrays = function tryAllTypedArrays(value) {\n\tvar anyTrue = false;\n\tforEach(toStrTags, function (getter, typedArray) {\n\t\tif (!anyTrue) {\n\t\t\ttry {\n\t\t\t\tanyTrue = getter.call(value) === typedArray;\n\t\t\t} catch (e) { /**/ }\n\t\t}\n\t});\n\treturn anyTrue;\n};\n\nmodule.exports = function isTypedArray(value) {\n\tif (!value || typeof value !== 'object') { return false; }\n\tif (!hasToStringTag || !(Symbol.toStringTag in value)) {\n\t\tvar tag = $slice($toString(value), 8, -1);\n\t\treturn $indexOf(typedArrays, tag) > -1;\n\t}\n\tif (!gOPD) { return false; }\n\treturn tryTypedArrays(value);\n};\n","module.exports = function isBuffer(arg) {\n return arg && typeof arg === 'object'\n && typeof arg.copy === 'function'\n && typeof arg.fill === 'function'\n && typeof arg.readUInt8 === 'function';\n}","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","// Currently in sync with Node.js lib/internal/assert/assertion_error.js\n// https://github.com/nodejs/node/commit/0817840f775032169ddd70c85ac059f18ffcc81c\n'use strict';\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _construct(Parent, args, Class) { if (isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar _require = require('util/'),\n inspect = _require.inspect;\n\nvar _require2 = require('../errors'),\n ERR_INVALID_ARG_TYPE = _require2.codes.ERR_INVALID_ARG_TYPE; // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat\n\n\nfunction repeat(str, count) {\n count = Math.floor(count);\n if (str.length == 0 || count == 0) return '';\n var maxCount = str.length * count;\n count = Math.floor(Math.log(count) / Math.log(2));\n\n while (count) {\n str += str;\n count--;\n }\n\n str += str.substring(0, maxCount - str.length);\n return str;\n}\n\nvar blue = '';\nvar green = '';\nvar red = '';\nvar white = '';\nvar kReadableOperator = {\n deepStrictEqual: 'Expected values to be strictly deep-equal:',\n strictEqual: 'Expected values to be strictly equal:',\n strictEqualObject: 'Expected \"actual\" to be reference-equal to \"expected\":',\n deepEqual: 'Expected values to be loosely deep-equal:',\n equal: 'Expected values to be loosely equal:',\n notDeepStrictEqual: 'Expected \"actual\" not to be strictly deep-equal to:',\n notStrictEqual: 'Expected \"actual\" to be strictly unequal to:',\n notStrictEqualObject: 'Expected \"actual\" not to be reference-equal to \"expected\":',\n notDeepEqual: 'Expected \"actual\" not to be loosely deep-equal to:',\n notEqual: 'Expected \"actual\" to be loosely unequal to:',\n notIdentical: 'Values identical but not reference-equal:'\n}; // Comparing short primitives should just show === / !== instead of using the\n// diff.\n\nvar kMaxShortLength = 10;\n\nfunction copyError(source) {\n var keys = Object.keys(source);\n var target = Object.create(Object.getPrototypeOf(source));\n keys.forEach(function (key) {\n target[key] = source[key];\n });\n Object.defineProperty(target, 'message', {\n value: source.message\n });\n return target;\n}\n\nfunction inspectValue(val) {\n // The util.inspect default values could be changed. This makes sure the\n // error messages contain the necessary information nevertheless.\n return inspect(val, {\n compact: false,\n customInspect: false,\n depth: 1000,\n maxArrayLength: Infinity,\n // Assert compares only enumerable properties (with a few exceptions).\n showHidden: false,\n // Having a long line as error is better than wrapping the line for\n // comparison for now.\n // TODO(BridgeAR): `breakLength` should be limited as soon as soon as we\n // have meta information about the inspected properties (i.e., know where\n // in what line the property starts and ends).\n breakLength: Infinity,\n // Assert does not detect proxies currently.\n showProxy: false,\n sorted: true,\n // Inspect getters as we also check them when comparing entries.\n getters: true\n });\n}\n\nfunction createErrDiff(actual, expected, operator) {\n var other = '';\n var res = '';\n var lastPos = 0;\n var end = '';\n var skipped = false;\n var actualInspected = inspectValue(actual);\n var actualLines = actualInspected.split('\\n');\n var expectedLines = inspectValue(expected).split('\\n');\n var i = 0;\n var indicator = ''; // In case both values are objects explicitly mark them as not reference equal\n // for the `strictEqual` operator.\n\n if (operator === 'strictEqual' && _typeof(actual) === 'object' && _typeof(expected) === 'object' && actual !== null && expected !== null) {\n operator = 'strictEqualObject';\n } // If \"actual\" and \"expected\" fit on a single line and they are not strictly\n // equal, check further special handling.\n\n\n if (actualLines.length === 1 && expectedLines.length === 1 && actualLines[0] !== expectedLines[0]) {\n var inputLength = actualLines[0].length + expectedLines[0].length; // If the character length of \"actual\" and \"expected\" together is less than\n // kMaxShortLength and if neither is an object and at least one of them is\n // not `zero`, use the strict equal comparison to visualize the output.\n\n if (inputLength <= kMaxShortLength) {\n if ((_typeof(actual) !== 'object' || actual === null) && (_typeof(expected) !== 'object' || expected === null) && (actual !== 0 || expected !== 0)) {\n // -0 === +0\n return \"\".concat(kReadableOperator[operator], \"\\n\\n\") + \"\".concat(actualLines[0], \" !== \").concat(expectedLines[0], \"\\n\");\n }\n } else if (operator !== 'strictEqualObject') {\n // If the stderr is a tty and the input length is lower than the current\n // columns per line, add a mismatch indicator below the output. If it is\n // not a tty, use a default value of 80 characters.\n var maxLength = process.stderr && process.stderr.isTTY ? process.stderr.columns : 80;\n\n if (inputLength < maxLength) {\n while (actualLines[0][i] === expectedLines[0][i]) {\n i++;\n } // Ignore the first characters.\n\n\n if (i > 2) {\n // Add position indicator for the first mismatch in case it is a\n // single line and the input length is less than the column length.\n indicator = \"\\n \".concat(repeat(' ', i), \"^\");\n i = 0;\n }\n }\n }\n } // Remove all ending lines that match (this optimizes the output for\n // readability by reducing the number of total changed lines).\n\n\n var a = actualLines[actualLines.length - 1];\n var b = expectedLines[expectedLines.length - 1];\n\n while (a === b) {\n if (i++ < 2) {\n end = \"\\n \".concat(a).concat(end);\n } else {\n other = a;\n }\n\n actualLines.pop();\n expectedLines.pop();\n if (actualLines.length === 0 || expectedLines.length === 0) break;\n a = actualLines[actualLines.length - 1];\n b = expectedLines[expectedLines.length - 1];\n }\n\n var maxLines = Math.max(actualLines.length, expectedLines.length); // Strict equal with identical objects that are not identical by reference.\n // E.g., assert.deepStrictEqual({ a: Symbol() }, { a: Symbol() })\n\n if (maxLines === 0) {\n // We have to get the result again. The lines were all removed before.\n var _actualLines = actualInspected.split('\\n'); // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (_actualLines.length > 30) {\n _actualLines[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (_actualLines.length > 27) {\n _actualLines.pop();\n }\n }\n\n return \"\".concat(kReadableOperator.notIdentical, \"\\n\\n\").concat(_actualLines.join('\\n'), \"\\n\");\n }\n\n if (i > 3) {\n end = \"\\n\".concat(blue, \"...\").concat(white).concat(end);\n skipped = true;\n }\n\n if (other !== '') {\n end = \"\\n \".concat(other).concat(end);\n other = '';\n }\n\n var printedLines = 0;\n var msg = kReadableOperator[operator] + \"\\n\".concat(green, \"+ actual\").concat(white, \" \").concat(red, \"- expected\").concat(white);\n var skippedMsg = \" \".concat(blue, \"...\").concat(white, \" Lines skipped\");\n\n for (i = 0; i < maxLines; i++) {\n // Only extra expected lines exist\n var cur = i - lastPos;\n\n if (actualLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(expectedLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(expectedLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the expected line to the cache.\n\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLines[i]);\n printedLines++; // Only extra actual lines exist\n } else if (expectedLines.length < i + 1) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLines[i]);\n printedLines++; // Lines diverge\n } else {\n var expectedLine = expectedLines[i];\n var actualLine = actualLines[i]; // If the lines diverge, specifically check for lines that only diverge by\n // a trailing comma. In that case it is actually identical and we should\n // mark it as such.\n\n var divergingLines = actualLine !== expectedLine && (!endsWith(actualLine, ',') || actualLine.slice(0, -1) !== expectedLine); // If the expected line has a trailing comma but is otherwise identical,\n // add a comma at the end of the actual line. Otherwise the output could\n // look weird as in:\n //\n // [\n // 1 // No comma at the end!\n // + 2\n // ]\n //\n\n if (divergingLines && endsWith(expectedLine, ',') && expectedLine.slice(0, -1) === actualLine) {\n divergingLines = false;\n actualLine += ',';\n }\n\n if (divergingLines) {\n // If the last diverging line is more than one line above and the\n // current line is at least line three, add some of the former lines and\n // also add dots to indicate skipped entries.\n if (cur > 1 && i > 2) {\n if (cur > 4) {\n res += \"\\n\".concat(blue, \"...\").concat(white);\n skipped = true;\n } else if (cur > 3) {\n res += \"\\n \".concat(actualLines[i - 2]);\n printedLines++;\n }\n\n res += \"\\n \".concat(actualLines[i - 1]);\n printedLines++;\n } // Mark the current line as the last diverging one.\n\n\n lastPos = i; // Add the actual line to the result and cache the expected diverging\n // line so consecutive diverging lines show up as +++--- and not +-+-+-.\n\n res += \"\\n\".concat(green, \"+\").concat(white, \" \").concat(actualLine);\n other += \"\\n\".concat(red, \"-\").concat(white, \" \").concat(expectedLine);\n printedLines += 2; // Lines are identical\n } else {\n // Add all cached information to the result before adding other things\n // and reset the cache.\n res += other;\n other = ''; // If the last diverging line is exactly one line above or if it is the\n // very first line, add the line to the result.\n\n if (cur === 1 || i === 0) {\n res += \"\\n \".concat(actualLine);\n printedLines++;\n }\n }\n } // Inspected object to big (Show ~20 rows max)\n\n\n if (printedLines > 20 && i < maxLines - 2) {\n return \"\".concat(msg).concat(skippedMsg, \"\\n\").concat(res, \"\\n\").concat(blue, \"...\").concat(white).concat(other, \"\\n\") + \"\".concat(blue, \"...\").concat(white);\n }\n }\n\n return \"\".concat(msg).concat(skipped ? skippedMsg : '', \"\\n\").concat(res).concat(other).concat(end).concat(indicator);\n}\n\nvar AssertionError =\n/*#__PURE__*/\nfunction (_Error) {\n _inherits(AssertionError, _Error);\n\n function AssertionError(options) {\n var _this;\n\n _classCallCheck(this, AssertionError);\n\n if (_typeof(options) !== 'object' || options === null) {\n throw new ERR_INVALID_ARG_TYPE('options', 'Object', options);\n }\n\n var message = options.message,\n operator = options.operator,\n stackStartFn = options.stackStartFn;\n var actual = options.actual,\n expected = options.expected;\n var limit = Error.stackTraceLimit;\n Error.stackTraceLimit = 0;\n\n if (message != null) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, String(message)));\n } else {\n if (process.stderr && process.stderr.isTTY) {\n // Reset on each call to make sure we handle dynamically set environment\n // variables correct.\n if (process.stderr && process.stderr.getColorDepth && process.stderr.getColorDepth() !== 1) {\n blue = \"\\x1B[34m\";\n green = \"\\x1B[32m\";\n white = \"\\x1B[39m\";\n red = \"\\x1B[31m\";\n } else {\n blue = '';\n green = '';\n white = '';\n red = '';\n }\n } // Prevent the error stack from being visible by duplicating the error\n // in a very close way to the original in case both sides are actually\n // instances of Error.\n\n\n if (_typeof(actual) === 'object' && actual !== null && _typeof(expected) === 'object' && expected !== null && 'stack' in actual && actual instanceof Error && 'stack' in expected && expected instanceof Error) {\n actual = copyError(actual);\n expected = copyError(expected);\n }\n\n if (operator === 'deepStrictEqual' || operator === 'strictEqual') {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, createErrDiff(actual, expected, operator)));\n } else if (operator === 'notDeepStrictEqual' || operator === 'notStrictEqual') {\n // In case the objects are equal but the operator requires unequal, show\n // the first object and say A equals B\n var base = kReadableOperator[operator];\n var res = inspectValue(actual).split('\\n'); // In case \"actual\" is an object, it should not be reference equal.\n\n if (operator === 'notStrictEqual' && _typeof(actual) === 'object' && actual !== null) {\n base = kReadableOperator.notStrictEqualObject;\n } // Only remove lines in case it makes sense to collapse those.\n // TODO: Accept env to always show the full error.\n\n\n if (res.length > 30) {\n res[26] = \"\".concat(blue, \"...\").concat(white);\n\n while (res.length > 27) {\n res.pop();\n }\n } // Only print a single input.\n\n\n if (res.length === 1) {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \" \").concat(res[0])));\n } else {\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(base, \"\\n\\n\").concat(res.join('\\n'), \"\\n\")));\n }\n } else {\n var _res = inspectValue(actual);\n\n var other = '';\n var knownOperators = kReadableOperator[operator];\n\n if (operator === 'notDeepEqual' || operator === 'notEqual') {\n _res = \"\".concat(kReadableOperator[operator], \"\\n\\n\").concat(_res);\n\n if (_res.length > 1024) {\n _res = \"\".concat(_res.slice(0, 1021), \"...\");\n }\n } else {\n other = \"\".concat(inspectValue(expected));\n\n if (_res.length > 512) {\n _res = \"\".concat(_res.slice(0, 509), \"...\");\n }\n\n if (other.length > 512) {\n other = \"\".concat(other.slice(0, 509), \"...\");\n }\n\n if (operator === 'deepEqual' || operator === 'equal') {\n _res = \"\".concat(knownOperators, \"\\n\\n\").concat(_res, \"\\n\\nshould equal\\n\\n\");\n } else {\n other = \" \".concat(operator, \" \").concat(other);\n }\n }\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(AssertionError).call(this, \"\".concat(_res).concat(other)));\n }\n }\n\n Error.stackTraceLimit = limit;\n _this.generatedMessage = !message;\n Object.defineProperty(_assertThisInitialized(_this), 'name', {\n value: 'AssertionError [ERR_ASSERTION]',\n enumerable: false,\n writable: true,\n configurable: true\n });\n _this.code = 'ERR_ASSERTION';\n _this.actual = actual;\n _this.expected = expected;\n _this.operator = operator;\n\n if (Error.captureStackTrace) {\n // eslint-disable-next-line no-restricted-syntax\n Error.captureStackTrace(_assertThisInitialized(_this), stackStartFn);\n } // Create error message including the error code in the name.\n\n\n _this.stack; // Reset the name.\n\n _this.name = 'AssertionError';\n return _possibleConstructorReturn(_this);\n }\n\n _createClass(AssertionError, [{\n key: \"toString\",\n value: function toString() {\n return \"\".concat(this.name, \" [\").concat(this.code, \"]: \").concat(this.message);\n }\n }, {\n key: inspect.custom,\n value: function value(recurseTimes, ctx) {\n // This limits the `actual` and `expected` property default inspection to\n // the minimum depth. Otherwise those values would be too verbose compared\n // to the actual error message which contains a combined view of these two\n // input values.\n return inspect(this, _objectSpread({}, ctx, {\n customInspect: false,\n depth: 0\n }));\n }\n }]);\n\n return AssertionError;\n}(_wrapNativeSuper(Error));\n\nmodule.exports = AssertionError;","/**\n * Code refactored from Mozilla Developer Network:\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n */\n\n'use strict';\n\nfunction assign(target, firstSource) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert first argument to object');\n }\n\n var to = Object(target);\n for (var i = 1; i < arguments.length; i++) {\n var nextSource = arguments[i];\n if (nextSource === undefined || nextSource === null) {\n continue;\n }\n\n var keysArray = Object.keys(Object(nextSource));\n for (var nextIndex = 0, len = keysArray.length; nextIndex < len; nextIndex++) {\n var nextKey = keysArray[nextIndex];\n var desc = Object.getOwnPropertyDescriptor(nextSource, nextKey);\n if (desc !== undefined && desc.enumerable) {\n to[nextKey] = nextSource[nextKey];\n }\n }\n }\n return to;\n}\n\nfunction polyfill() {\n if (!Object.assign) {\n Object.defineProperty(Object, 'assign', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: assign\n });\n }\n}\n\nmodule.exports = {\n assign: assign,\n polyfill: polyfill\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar callBind = require('call-bind');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Object);\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\nvar keys = require('object-keys');\nvar hasSymbols = typeof Symbol === 'function' && typeof Symbol('foo') === 'symbol';\n\nvar toStr = Object.prototype.toString;\nvar concat = Array.prototype.concat;\nvar origDefineProperty = Object.defineProperty;\n\nvar isFunction = function (fn) {\n\treturn typeof fn === 'function' && toStr.call(fn) === '[object Function]';\n};\n\nvar hasPropertyDescriptors = require('has-property-descriptors')();\n\nvar supportsDescriptors = origDefineProperty && hasPropertyDescriptors;\n\nvar defineProperty = function (object, name, value, predicate) {\n\tif (name in object) {\n\t\tif (predicate === true) {\n\t\t\tif (object[name] === value) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t} else if (!isFunction(predicate) || !predicate()) {\n\t\t\treturn;\n\t\t}\n\t}\n\tif (supportsDescriptors) {\n\t\torigDefineProperty(object, name, {\n\t\t\tconfigurable: true,\n\t\t\tenumerable: false,\n\t\t\tvalue: value,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\tobject[name] = value; // eslint-disable-line no-param-reassign\n\t}\n};\n\nvar defineProperties = function (object, map) {\n\tvar predicates = arguments.length > 2 ? arguments[2] : {};\n\tvar props = keys(map);\n\tif (hasSymbols) {\n\t\tprops = concat.call(props, Object.getOwnPropertySymbols(map));\n\t}\n\tfor (var i = 0; i < props.length; i += 1) {\n\t\tdefineProperty(object, props[i], map[props[i]], predicates[props[i]]);\n\t}\n};\n\ndefineProperties.supportsDescriptors = !!supportsDescriptors;\n\nmodule.exports = defineProperties;\n","'use strict';\n\nvar slice = Array.prototype.slice;\nvar isArgs = require('./isArguments');\n\nvar origKeys = Object.keys;\nvar keysShim = origKeys ? function keys(o) { return origKeys(o); } : require('./implementation');\n\nvar originalKeys = Object.keys;\n\nkeysShim.shim = function shimObjectKeys() {\n\tif (Object.keys) {\n\t\tvar keysWorksWithArguments = (function () {\n\t\t\t// Safari 5.0 bug\n\t\t\tvar args = Object.keys(arguments);\n\t\t\treturn args && args.length === arguments.length;\n\t\t}(1, 2));\n\t\tif (!keysWorksWithArguments) {\n\t\t\tObject.keys = function keys(object) { // eslint-disable-line func-name-matching\n\t\t\t\tif (isArgs(object)) {\n\t\t\t\t\treturn originalKeys(slice.call(object));\n\t\t\t\t}\n\t\t\t\treturn originalKeys(object);\n\t\t\t};\n\t\t}\n\t} else {\n\t\tObject.keys = keysShim;\n\t}\n\treturn Object.keys || keysShim;\n};\n\nmodule.exports = keysShim;\n","'use strict';\n\nvar toStr = Object.prototype.toString;\n\nmodule.exports = function isArguments(value) {\n\tvar str = toStr.call(value);\n\tvar isArgs = str === '[object Arguments]';\n\tif (!isArgs) {\n\t\tisArgs = str !== '[object Array]' &&\n\t\t\tvalue !== null &&\n\t\t\ttypeof value === 'object' &&\n\t\t\ttypeof value.length === 'number' &&\n\t\t\tvalue.length >= 0 &&\n\t\t\ttoStr.call(value.callee) === '[object Function]';\n\t}\n\treturn isArgs;\n};\n","'use strict';\n\nvar keysShim;\nif (!Object.keys) {\n\t// modified from https://github.com/es-shims/es5-shim\n\tvar has = Object.prototype.hasOwnProperty;\n\tvar toStr = Object.prototype.toString;\n\tvar isArgs = require('./isArguments'); // eslint-disable-line global-require\n\tvar isEnumerable = Object.prototype.propertyIsEnumerable;\n\tvar hasDontEnumBug = !isEnumerable.call({ toString: null }, 'toString');\n\tvar hasProtoEnumBug = isEnumerable.call(function () {}, 'prototype');\n\tvar dontEnums = [\n\t\t'toString',\n\t\t'toLocaleString',\n\t\t'valueOf',\n\t\t'hasOwnProperty',\n\t\t'isPrototypeOf',\n\t\t'propertyIsEnumerable',\n\t\t'constructor'\n\t];\n\tvar equalsConstructorPrototype = function (o) {\n\t\tvar ctor = o.constructor;\n\t\treturn ctor && ctor.prototype === o;\n\t};\n\tvar excludedKeys = {\n\t\t$applicationCache: true,\n\t\t$console: true,\n\t\t$external: true,\n\t\t$frame: true,\n\t\t$frameElement: true,\n\t\t$frames: true,\n\t\t$innerHeight: true,\n\t\t$innerWidth: true,\n\t\t$onmozfullscreenchange: true,\n\t\t$onmozfullscreenerror: true,\n\t\t$outerHeight: true,\n\t\t$outerWidth: true,\n\t\t$pageXOffset: true,\n\t\t$pageYOffset: true,\n\t\t$parent: true,\n\t\t$scrollLeft: true,\n\t\t$scrollTop: true,\n\t\t$scrollX: true,\n\t\t$scrollY: true,\n\t\t$self: true,\n\t\t$webkitIndexedDB: true,\n\t\t$webkitStorageInfo: true,\n\t\t$window: true\n\t};\n\tvar hasAutomationEqualityBug = (function () {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined') { return false; }\n\t\tfor (var k in window) {\n\t\t\ttry {\n\t\t\t\tif (!excludedKeys['$' + k] && has.call(window, k) && window[k] !== null && typeof window[k] === 'object') {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tequalsConstructorPrototype(window[k]);\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t}());\n\tvar equalsConstructorPrototypeIfNotBuggy = function (o) {\n\t\t/* global window */\n\t\tif (typeof window === 'undefined' || !hasAutomationEqualityBug) {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t}\n\t\ttry {\n\t\t\treturn equalsConstructorPrototype(o);\n\t\t} catch (e) {\n\t\t\treturn false;\n\t\t}\n\t};\n\n\tkeysShim = function keys(object) {\n\t\tvar isObject = object !== null && typeof object === 'object';\n\t\tvar isFunction = toStr.call(object) === '[object Function]';\n\t\tvar isArguments = isArgs(object);\n\t\tvar isString = isObject && toStr.call(object) === '[object String]';\n\t\tvar theKeys = [];\n\n\t\tif (!isObject && !isFunction && !isArguments) {\n\t\t\tthrow new TypeError('Object.keys called on a non-object');\n\t\t}\n\n\t\tvar skipProto = hasProtoEnumBug && isFunction;\n\t\tif (isString && object.length > 0 && !has.call(object, 0)) {\n\t\t\tfor (var i = 0; i < object.length; ++i) {\n\t\t\t\ttheKeys.push(String(i));\n\t\t\t}\n\t\t}\n\n\t\tif (isArguments && object.length > 0) {\n\t\t\tfor (var j = 0; j < object.length; ++j) {\n\t\t\t\ttheKeys.push(String(j));\n\t\t\t}\n\t\t} else {\n\t\t\tfor (var name in object) {\n\t\t\t\tif (!(skipProto && name === 'prototype') && has.call(object, name)) {\n\t\t\t\t\ttheKeys.push(String(name));\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tif (hasDontEnumBug) {\n\t\t\tvar skipConstructor = equalsConstructorPrototypeIfNotBuggy(object);\n\n\t\t\tfor (var k = 0; k < dontEnums.length; ++k) {\n\t\t\t\tif (!(skipConstructor && dontEnums[k] === 'constructor') && has.call(object, dontEnums[k])) {\n\t\t\t\t\ttheKeys.push(dontEnums[k]);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn theKeys;\n\t};\n}\nmodule.exports = keysShim;\n","'use strict';\n\nvar GetIntrinsic = require('get-intrinsic');\n\nvar $defineProperty = GetIntrinsic('%Object.defineProperty%', true);\n\nvar hasPropertyDescriptors = function hasPropertyDescriptors() {\n\tif ($defineProperty) {\n\t\ttry {\n\t\t\t$defineProperty({}, 'a', { value: 1 });\n\t\t\treturn true;\n\t\t} catch (e) {\n\t\t\t// IE 8 has a broken defineProperty\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn false;\n};\n\nhasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() {\n\t// node v0.6 has a bug where array lengths can be Set but not Defined\n\tif (!hasPropertyDescriptors()) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn $defineProperty([], 'length', { value: 1 }).length !== 1;\n\t} catch (e) {\n\t\t// In Firefox 4-22, defining length on an array throws an exception.\n\t\treturn true;\n\t}\n};\n\nmodule.exports = hasPropertyDescriptors;\n","'use strict';\n\nvar numberIsNaN = function (value) {\n\treturn value !== value;\n};\n\nmodule.exports = function is(a, b) {\n\tif (a === 0 && b === 0) {\n\t\treturn 1 / a === 1 / b;\n\t}\n\tif (a === b) {\n\t\treturn true;\n\t}\n\tif (numberIsNaN(a) && numberIsNaN(b)) {\n\t\treturn true;\n\t}\n\treturn false;\n};\n\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\treturn typeof Object.is === 'function' ? Object.is : implementation;\n};\n","'use strict';\n\nvar getPolyfill = require('./polyfill');\nvar define = require('define-properties');\n\nmodule.exports = function shimObjectIs() {\n\tvar polyfill = getPolyfill();\n\tdefine(Object, { is: polyfill }, {\n\t\tis: function testObjectIs() {\n\t\t\treturn Object.is !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","// Currently in sync with Node.js lib/internal/util/comparisons.js\n// https://github.com/nodejs/node/commit/112cc7c27551254aa2b17098fb774867f05ed0d9\n'use strict';\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); }\n\nfunction _iterableToArrayLimit(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _typeof(obj) { if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar regexFlagsSupported = /a/g.flags !== undefined;\n\nvar arrayFromSet = function arrayFromSet(set) {\n var array = [];\n set.forEach(function (value) {\n return array.push(value);\n });\n return array;\n};\n\nvar arrayFromMap = function arrayFromMap(map) {\n var array = [];\n map.forEach(function (value, key) {\n return array.push([key, value]);\n });\n return array;\n};\n\nvar objectIs = Object.is ? Object.is : require('object-is');\nvar objectGetOwnPropertySymbols = Object.getOwnPropertySymbols ? Object.getOwnPropertySymbols : function () {\n return [];\n};\nvar numberIsNaN = Number.isNaN ? Number.isNaN : require('is-nan');\n\nfunction uncurryThis(f) {\n return f.call.bind(f);\n}\n\nvar hasOwnProperty = uncurryThis(Object.prototype.hasOwnProperty);\nvar propertyIsEnumerable = uncurryThis(Object.prototype.propertyIsEnumerable);\nvar objectToString = uncurryThis(Object.prototype.toString);\n\nvar _require$types = require('util/').types,\n isAnyArrayBuffer = _require$types.isAnyArrayBuffer,\n isArrayBufferView = _require$types.isArrayBufferView,\n isDate = _require$types.isDate,\n isMap = _require$types.isMap,\n isRegExp = _require$types.isRegExp,\n isSet = _require$types.isSet,\n isNativeError = _require$types.isNativeError,\n isBoxedPrimitive = _require$types.isBoxedPrimitive,\n isNumberObject = _require$types.isNumberObject,\n isStringObject = _require$types.isStringObject,\n isBooleanObject = _require$types.isBooleanObject,\n isBigIntObject = _require$types.isBigIntObject,\n isSymbolObject = _require$types.isSymbolObject,\n isFloat32Array = _require$types.isFloat32Array,\n isFloat64Array = _require$types.isFloat64Array;\n\nfunction isNonIndex(key) {\n if (key.length === 0 || key.length > 10) return true;\n\n for (var i = 0; i < key.length; i++) {\n var code = key.charCodeAt(i);\n if (code < 48 || code > 57) return true;\n } // The maximum size for an array is 2 ** 32 -1.\n\n\n return key.length === 10 && key >= Math.pow(2, 32);\n}\n\nfunction getOwnNonIndexProperties(value) {\n return Object.keys(value).filter(isNonIndex).concat(objectGetOwnPropertySymbols(value).filter(Object.prototype.propertyIsEnumerable.bind(value)));\n} // Taken from https://github.com/feross/buffer/blob/680e9e5e488f22aac27599a57dc844a6315928dd/index.js\n// original notice:\n\n/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n\nfunction compare(a, b) {\n if (a === b) {\n return 0;\n }\n\n var x = a.length;\n var y = b.length;\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i];\n y = b[i];\n break;\n }\n }\n\n if (x < y) {\n return -1;\n }\n\n if (y < x) {\n return 1;\n }\n\n return 0;\n}\n\nvar ONLY_ENUMERABLE = undefined;\nvar kStrict = true;\nvar kLoose = false;\nvar kNoIterator = 0;\nvar kIsArray = 1;\nvar kIsSet = 2;\nvar kIsMap = 3; // Check if they have the same source and flags\n\nfunction areSimilarRegExps(a, b) {\n return regexFlagsSupported ? a.source === b.source && a.flags === b.flags : RegExp.prototype.toString.call(a) === RegExp.prototype.toString.call(b);\n}\n\nfunction areSimilarFloatArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n for (var offset = 0; offset < a.byteLength; offset++) {\n if (a[offset] !== b[offset]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction areSimilarTypedArrays(a, b) {\n if (a.byteLength !== b.byteLength) {\n return false;\n }\n\n return compare(new Uint8Array(a.buffer, a.byteOffset, a.byteLength), new Uint8Array(b.buffer, b.byteOffset, b.byteLength)) === 0;\n}\n\nfunction areEqualArrayBuffers(buf1, buf2) {\n return buf1.byteLength === buf2.byteLength && compare(new Uint8Array(buf1), new Uint8Array(buf2)) === 0;\n}\n\nfunction isEqualBoxedPrimitive(val1, val2) {\n if (isNumberObject(val1)) {\n return isNumberObject(val2) && objectIs(Number.prototype.valueOf.call(val1), Number.prototype.valueOf.call(val2));\n }\n\n if (isStringObject(val1)) {\n return isStringObject(val2) && String.prototype.valueOf.call(val1) === String.prototype.valueOf.call(val2);\n }\n\n if (isBooleanObject(val1)) {\n return isBooleanObject(val2) && Boolean.prototype.valueOf.call(val1) === Boolean.prototype.valueOf.call(val2);\n }\n\n if (isBigIntObject(val1)) {\n return isBigIntObject(val2) && BigInt.prototype.valueOf.call(val1) === BigInt.prototype.valueOf.call(val2);\n }\n\n return isSymbolObject(val2) && Symbol.prototype.valueOf.call(val1) === Symbol.prototype.valueOf.call(val2);\n} // Notes: Type tags are historical [[Class]] properties that can be set by\n// FunctionTemplate::SetClassName() in C++ or Symbol.toStringTag in JS\n// and retrieved using Object.prototype.toString.call(obj) in JS\n// See https://tc39.github.io/ecma262/#sec-object.prototype.tostring\n// for a list of tags pre-defined in the spec.\n// There are some unspecified tags in the wild too (e.g. typed array tags).\n// Since tags can be altered, they only serve fast failures\n//\n// Typed arrays and buffers are checked by comparing the content in their\n// underlying ArrayBuffer. This optimization requires that it's\n// reasonable to interpret their underlying memory in the same way,\n// which is checked by comparing their type tags.\n// (e.g. a Uint8Array and a Uint16Array with the same memory content\n// could still be different because they will be interpreted differently).\n//\n// For strict comparison, objects should have\n// a) The same built-in type tags\n// b) The same prototypes.\n\n\nfunction innerDeepEqual(val1, val2, strict, memos) {\n // All identical values are equivalent, as determined by ===.\n if (val1 === val2) {\n if (val1 !== 0) return true;\n return strict ? objectIs(val1, val2) : true;\n } // Check more closely if val1 and val2 are equal.\n\n\n if (strict) {\n if (_typeof(val1) !== 'object') {\n return typeof val1 === 'number' && numberIsNaN(val1) && numberIsNaN(val2);\n }\n\n if (_typeof(val2) !== 'object' || val1 === null || val2 === null) {\n return false;\n }\n\n if (Object.getPrototypeOf(val1) !== Object.getPrototypeOf(val2)) {\n return false;\n }\n } else {\n if (val1 === null || _typeof(val1) !== 'object') {\n if (val2 === null || _typeof(val2) !== 'object') {\n // eslint-disable-next-line eqeqeq\n return val1 == val2;\n }\n\n return false;\n }\n\n if (val2 === null || _typeof(val2) !== 'object') {\n return false;\n }\n }\n\n var val1Tag = objectToString(val1);\n var val2Tag = objectToString(val2);\n\n if (val1Tag !== val2Tag) {\n return false;\n }\n\n if (Array.isArray(val1)) {\n // Check for sparse arrays and general fast path\n if (val1.length !== val2.length) {\n return false;\n }\n\n var keys1 = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n var keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsArray, keys1);\n } // [browserify] This triggers on certain types in IE (Map/Set) so we don't\n // wan't to early return out of the rest of the checks. However we can check\n // if the second value is one of these values and the first isn't.\n\n\n if (val1Tag === '[object Object]') {\n // return keyCheck(val1, val2, strict, memos, kNoIterator);\n if (!isMap(val1) && isMap(val2) || !isSet(val1) && isSet(val2)) {\n return false;\n }\n }\n\n if (isDate(val1)) {\n if (!isDate(val2) || Date.prototype.getTime.call(val1) !== Date.prototype.getTime.call(val2)) {\n return false;\n }\n } else if (isRegExp(val1)) {\n if (!isRegExp(val2) || !areSimilarRegExps(val1, val2)) {\n return false;\n }\n } else if (isNativeError(val1) || val1 instanceof Error) {\n // Do not compare the stack as it might differ even though the error itself\n // is otherwise identical.\n if (val1.message !== val2.message || val1.name !== val2.name) {\n return false;\n }\n } else if (isArrayBufferView(val1)) {\n if (!strict && (isFloat32Array(val1) || isFloat64Array(val1))) {\n if (!areSimilarFloatArrays(val1, val2)) {\n return false;\n }\n } else if (!areSimilarTypedArrays(val1, val2)) {\n return false;\n } // Buffer.compare returns true, so val1.length === val2.length. If they both\n // only contain numeric keys, we don't need to exam further than checking\n // the symbols.\n\n\n var _keys = getOwnNonIndexProperties(val1, ONLY_ENUMERABLE);\n\n var _keys2 = getOwnNonIndexProperties(val2, ONLY_ENUMERABLE);\n\n if (_keys.length !== _keys2.length) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator, _keys);\n } else if (isSet(val1)) {\n if (!isSet(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsSet);\n } else if (isMap(val1)) {\n if (!isMap(val2) || val1.size !== val2.size) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kIsMap);\n } else if (isAnyArrayBuffer(val1)) {\n if (!areEqualArrayBuffers(val1, val2)) {\n return false;\n }\n } else if (isBoxedPrimitive(val1) && !isEqualBoxedPrimitive(val1, val2)) {\n return false;\n }\n\n return keyCheck(val1, val2, strict, memos, kNoIterator);\n}\n\nfunction getEnumerables(val, keys) {\n return keys.filter(function (k) {\n return propertyIsEnumerable(val, k);\n });\n}\n\nfunction keyCheck(val1, val2, strict, memos, iterationType, aKeys) {\n // For all remaining Object pairs, including Array, objects and Maps,\n // equivalence is determined by having:\n // a) The same number of owned enumerable properties\n // b) The same set of keys/indexes (although not necessarily the same order)\n // c) Equivalent values for every corresponding key/index\n // d) For Sets and Maps, equal contents\n // Note: this accounts for both named and indexed properties on Arrays.\n if (arguments.length === 5) {\n aKeys = Object.keys(val1);\n var bKeys = Object.keys(val2); // The pair must have the same number of owned properties.\n\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n } // Cheap key test\n\n\n var i = 0;\n\n for (; i < aKeys.length; i++) {\n if (!hasOwnProperty(val2, aKeys[i])) {\n return false;\n }\n }\n\n if (strict && arguments.length === 5) {\n var symbolKeysA = objectGetOwnPropertySymbols(val1);\n\n if (symbolKeysA.length !== 0) {\n var count = 0;\n\n for (i = 0; i < symbolKeysA.length; i++) {\n var key = symbolKeysA[i];\n\n if (propertyIsEnumerable(val1, key)) {\n if (!propertyIsEnumerable(val2, key)) {\n return false;\n }\n\n aKeys.push(key);\n count++;\n } else if (propertyIsEnumerable(val2, key)) {\n return false;\n }\n }\n\n var symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (symbolKeysA.length !== symbolKeysB.length && getEnumerables(val2, symbolKeysB).length !== count) {\n return false;\n }\n } else {\n var _symbolKeysB = objectGetOwnPropertySymbols(val2);\n\n if (_symbolKeysB.length !== 0 && getEnumerables(val2, _symbolKeysB).length !== 0) {\n return false;\n }\n }\n }\n\n if (aKeys.length === 0 && (iterationType === kNoIterator || iterationType === kIsArray && val1.length === 0 || val1.size === 0)) {\n return true;\n } // Use memos to handle cycles.\n\n\n if (memos === undefined) {\n memos = {\n val1: new Map(),\n val2: new Map(),\n position: 0\n };\n } else {\n // We prevent up to two map.has(x) calls by directly retrieving the value\n // and checking for undefined. The map can only contain numbers, so it is\n // safe to check for undefined only.\n var val2MemoA = memos.val1.get(val1);\n\n if (val2MemoA !== undefined) {\n var val2MemoB = memos.val2.get(val2);\n\n if (val2MemoB !== undefined) {\n return val2MemoA === val2MemoB;\n }\n }\n\n memos.position++;\n }\n\n memos.val1.set(val1, memos.position);\n memos.val2.set(val2, memos.position);\n var areEq = objEquiv(val1, val2, strict, aKeys, memos, iterationType);\n memos.val1.delete(val1);\n memos.val2.delete(val2);\n return areEq;\n}\n\nfunction setHasEqualElement(set, val1, strict, memo) {\n // Go looking.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var val2 = setValues[i];\n\n if (innerDeepEqual(val1, val2, strict, memo)) {\n // Remove the matching element to make sure we do not check that again.\n set.delete(val2);\n return true;\n }\n }\n\n return false;\n} // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness#Loose_equality_using\n// Sadly it is not possible to detect corresponding values properly in case the\n// type is a string, number, bigint or boolean. The reason is that those values\n// can match lots of different string values (e.g., 1n == '+00001').\n\n\nfunction findLooseMatchingPrimitives(prim) {\n switch (_typeof(prim)) {\n case 'undefined':\n return null;\n\n case 'object':\n // Only pass in null as object!\n return undefined;\n\n case 'symbol':\n return false;\n\n case 'string':\n prim = +prim;\n // Loose equal entries exist only if the string is possible to convert to\n // a regular number and not NaN.\n // Fall through\n\n case 'number':\n if (numberIsNaN(prim)) {\n return false;\n }\n\n }\n\n return true;\n}\n\nfunction setMightHaveLoosePrim(a, b, prim) {\n var altValue = findLooseMatchingPrimitives(prim);\n if (altValue != null) return altValue;\n return b.has(altValue) && !a.has(altValue);\n}\n\nfunction mapMightHaveLoosePrim(a, b, prim, item, memo) {\n var altValue = findLooseMatchingPrimitives(prim);\n\n if (altValue != null) {\n return altValue;\n }\n\n var curB = b.get(altValue);\n\n if (curB === undefined && !b.has(altValue) || !innerDeepEqual(item, curB, false, memo)) {\n return false;\n }\n\n return !a.has(altValue) && innerDeepEqual(item, curB, false, memo);\n}\n\nfunction setEquiv(a, b, strict, memo) {\n // This is a lazily initiated Set of entries which have to be compared\n // pairwise.\n var set = null;\n var aValues = arrayFromSet(a);\n\n for (var i = 0; i < aValues.length; i++) {\n var val = aValues[i]; // Note: Checking for the objects first improves the performance for object\n // heavy sets but it is a minor slow down for primitives. As they are fast\n // to check this improves the worst case scenario instead.\n\n if (_typeof(val) === 'object' && val !== null) {\n if (set === null) {\n set = new Set();\n } // If the specified value doesn't exist in the second set its an not null\n // object (or non strict only: a not matching primitive) we'll need to go\n // hunting for something thats deep-(strict-)equal to it. To make this\n // O(n log n) complexity we have to copy these values in a new set first.\n\n\n set.add(val);\n } else if (!b.has(val)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null values.\n\n if (!setMightHaveLoosePrim(a, b, val)) {\n return false;\n }\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(val);\n }\n }\n\n if (set !== null) {\n var bValues = arrayFromSet(b);\n\n for (var _i = 0; _i < bValues.length; _i++) {\n var _val = bValues[_i]; // We have to check if a primitive value is already\n // matching and only if it's not, go hunting for it.\n\n if (_typeof(_val) === 'object' && _val !== null) {\n if (!setHasEqualElement(set, _val, strict, memo)) return false;\n } else if (!strict && !a.has(_val) && !setHasEqualElement(set, _val, strict, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction mapHasEqualEntry(set, map, key1, item1, strict, memo) {\n // To be able to handle cases like:\n // Map([[{}, 'a'], [{}, 'b']]) vs Map([[{}, 'b'], [{}, 'a']])\n // ... we need to consider *all* matching keys, not just the first we find.\n var setValues = arrayFromSet(set);\n\n for (var i = 0; i < setValues.length; i++) {\n var key2 = setValues[i];\n\n if (innerDeepEqual(key1, key2, strict, memo) && innerDeepEqual(item1, map.get(key2), strict, memo)) {\n set.delete(key2);\n return true;\n }\n }\n\n return false;\n}\n\nfunction mapEquiv(a, b, strict, memo) {\n var set = null;\n var aEntries = arrayFromMap(a);\n\n for (var i = 0; i < aEntries.length; i++) {\n var _aEntries$i = _slicedToArray(aEntries[i], 2),\n key = _aEntries$i[0],\n item1 = _aEntries$i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n } else {\n // By directly retrieving the value we prevent another b.has(key) check in\n // almost all possible cases.\n var item2 = b.get(key);\n\n if (item2 === undefined && !b.has(key) || !innerDeepEqual(item1, item2, strict, memo)) {\n if (strict) return false; // Fast path to detect missing string, symbol, undefined and null\n // keys.\n\n if (!mapMightHaveLoosePrim(a, b, key, item1, memo)) return false;\n\n if (set === null) {\n set = new Set();\n }\n\n set.add(key);\n }\n }\n }\n\n if (set !== null) {\n var bEntries = arrayFromMap(b);\n\n for (var _i2 = 0; _i2 < bEntries.length; _i2++) {\n var _bEntries$_i = _slicedToArray(bEntries[_i2], 2),\n key = _bEntries$_i[0],\n item = _bEntries$_i[1];\n\n if (_typeof(key) === 'object' && key !== null) {\n if (!mapHasEqualEntry(set, a, key, item, strict, memo)) return false;\n } else if (!strict && (!a.has(key) || !innerDeepEqual(a.get(key), item, false, memo)) && !mapHasEqualEntry(set, a, key, item, false, memo)) {\n return false;\n }\n }\n\n return set.size === 0;\n }\n\n return true;\n}\n\nfunction objEquiv(a, b, strict, keys, memos, iterationType) {\n // Sets and maps don't have their entries accessible via normal object\n // properties.\n var i = 0;\n\n if (iterationType === kIsSet) {\n if (!setEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsMap) {\n if (!mapEquiv(a, b, strict, memos)) {\n return false;\n }\n } else if (iterationType === kIsArray) {\n for (; i < a.length; i++) {\n if (hasOwnProperty(a, i)) {\n if (!hasOwnProperty(b, i) || !innerDeepEqual(a[i], b[i], strict, memos)) {\n return false;\n }\n } else if (hasOwnProperty(b, i)) {\n return false;\n } else {\n // Array is sparse.\n var keysA = Object.keys(a);\n\n for (; i < keysA.length; i++) {\n var key = keysA[i];\n\n if (!hasOwnProperty(b, key) || !innerDeepEqual(a[key], b[key], strict, memos)) {\n return false;\n }\n }\n\n if (keysA.length !== Object.keys(b).length) {\n return false;\n }\n\n return true;\n }\n }\n } // The pair must have equivalent values for every corresponding key.\n // Possibly expensive deep test:\n\n\n for (i = 0; i < keys.length; i++) {\n var _key = keys[i];\n\n if (!innerDeepEqual(a[_key], b[_key], strict, memos)) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction isDeepEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kLoose);\n}\n\nfunction isDeepStrictEqual(val1, val2) {\n return innerDeepEqual(val1, val2, kStrict);\n}\n\nmodule.exports = {\n isDeepEqual: isDeepEqual,\n isDeepStrictEqual: isDeepStrictEqual\n};","'use strict';\n\nvar callBind = require('call-bind');\nvar define = require('define-properties');\n\nvar implementation = require('./implementation');\nvar getPolyfill = require('./polyfill');\nvar shim = require('./shim');\n\nvar polyfill = callBind(getPolyfill(), Number);\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\ndefine(polyfill, {\n\tgetPolyfill: getPolyfill,\n\timplementation: implementation,\n\tshim: shim\n});\n\nmodule.exports = polyfill;\n","'use strict';\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function isNaN(value) {\n\treturn value !== value;\n};\n","'use strict';\n\nvar implementation = require('./implementation');\n\nmodule.exports = function getPolyfill() {\n\tif (Number.isNaN && Number.isNaN(NaN) && !Number.isNaN('a')) {\n\t\treturn Number.isNaN;\n\t}\n\treturn implementation;\n};\n","'use strict';\n\nvar define = require('define-properties');\nvar getPolyfill = require('./polyfill');\n\n/* http://www.ecma-international.org/ecma-262/6.0/#sec-number.isnan */\n\nmodule.exports = function shimNumberIsNaN() {\n\tvar polyfill = getPolyfill();\n\tdefine(Number, { isNaN: polyfill }, {\n\t\tisNaN: function testIsNaN() {\n\t\t\treturn Number.isNaN !== polyfill;\n\t\t}\n\t});\n\treturn polyfill;\n};\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nfunction __export(m) {\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\n}\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar secp256k1_1 = require(\"secp256k1\");\nvar random_1 = require(\"./random\");\nvar SECP256K1_PRIVATE_KEY_SIZE = 32;\nfunction createPrivateKey() {\n return __awaiter(this, void 0, void 0, function () {\n var pk;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!true) return [3 /*break*/, 2];\n return [4 /*yield*/, random_1.getRandomBytes(SECP256K1_PRIVATE_KEY_SIZE)];\n case 1:\n pk = _a.sent();\n if (secp256k1_1.privateKeyVerify(pk)) {\n return [2 /*return*/, pk];\n }\n return [3 /*break*/, 0];\n case 2: return [2 /*return*/];\n }\n });\n });\n}\nexports.createPrivateKey = createPrivateKey;\nfunction createPrivateKeySync() {\n while (true) {\n var pk = random_1.getRandomBytesSync(SECP256K1_PRIVATE_KEY_SIZE);\n if (secp256k1_1.privateKeyVerify(pk)) {\n return pk;\n }\n }\n}\nexports.createPrivateKeySync = createPrivateKeySync;\n__export(require(\"secp256k1\"));\n//# sourceMappingURL=secp256k1.js.map","import { privateKeyVerify } from \"secp256k1\";\nimport { getRandomBytes, getRandomBytesSync } from \"./random\";\n\nconst SECP256K1_PRIVATE_KEY_SIZE = 32;\n\nexport async function createPrivateKey(): Promise {\n while (true) {\n const pk = await getRandomBytes(SECP256K1_PRIVATE_KEY_SIZE);\n if (privateKeyVerify(pk)) {\n return pk;\n }\n }\n}\n\nexport function createPrivateKeySync(): Uint8Array {\n while (true) {\n const pk = getRandomBytesSync(SECP256K1_PRIVATE_KEY_SIZE);\n if (privateKeyVerify(pk)) {\n return pk;\n }\n }\n}\n\nexport * from \"secp256k1\";\n","module.exports = require('./lib')(require('./lib/elliptic'))\n","const errors = {\n IMPOSSIBLE_CASE: 'Impossible case. Please create issue.',\n TWEAK_ADD:\n 'The tweak was out of range or the resulted private key is invalid',\n TWEAK_MUL: 'The tweak was out of range or equal to zero',\n CONTEXT_RANDOMIZE_UNKNOW: 'Unknow error on context randomization',\n SECKEY_INVALID: 'Private Key is invalid',\n PUBKEY_PARSE: 'Public Key could not be parsed',\n PUBKEY_SERIALIZE: 'Public Key serialization error',\n PUBKEY_COMBINE: 'The sum of the public keys is not valid',\n SIG_PARSE: 'Signature could not be parsed',\n SIGN: 'The nonce generation function failed, or the private key was invalid',\n RECOVER: 'Public key could not be recover',\n ECDH: 'Scalar was invalid (zero or overflow)'\n}\n\nfunction assert (cond, msg) {\n if (!cond) throw new Error(msg)\n}\n\nfunction isUint8Array (name, value, length) {\n assert(value instanceof Uint8Array, `Expected ${name} to be an Uint8Array`)\n\n if (length !== undefined) {\n if (Array.isArray(length)) {\n const numbers = length.join(', ')\n const msg = `Expected ${name} to be an Uint8Array with length [${numbers}]`\n assert(length.includes(value.length), msg)\n } else {\n const msg = `Expected ${name} to be an Uint8Array with length ${length}`\n assert(value.length === length, msg)\n }\n }\n}\n\nfunction isCompressed (value) {\n assert(toTypeString(value) === 'Boolean', 'Expected compressed to be a Boolean')\n}\n\nfunction getAssertedOutput (output = (len) => new Uint8Array(len), length) {\n if (typeof output === 'function') output = output(length)\n isUint8Array('output', output, length)\n return output\n}\n\nfunction toTypeString (value) {\n return Object.prototype.toString.call(value).slice(8, -1)\n}\n\nmodule.exports = (secp256k1) => {\n return {\n contextRandomize (seed) {\n assert(\n seed === null || seed instanceof Uint8Array,\n 'Expected seed to be an Uint8Array or null'\n )\n if (seed !== null) isUint8Array('seed', seed, 32)\n\n switch (secp256k1.contextRandomize(seed)) {\n case 1:\n throw new Error(errors.CONTEXT_RANDOMIZE_UNKNOW)\n }\n },\n\n privateKeyVerify (seckey) {\n isUint8Array('private key', seckey, 32)\n\n return secp256k1.privateKeyVerify(seckey) === 0\n },\n\n privateKeyNegate (seckey) {\n isUint8Array('private key', seckey, 32)\n\n switch (secp256k1.privateKeyNegate(seckey)) {\n case 0:\n return seckey\n case 1:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n privateKeyTweakAdd (seckey, tweak) {\n isUint8Array('private key', seckey, 32)\n isUint8Array('tweak', tweak, 32)\n\n switch (secp256k1.privateKeyTweakAdd(seckey, tweak)) {\n case 0:\n return seckey\n case 1:\n throw new Error(errors.TWEAK_ADD)\n }\n },\n\n privateKeyTweakMul (seckey, tweak) {\n isUint8Array('private key', seckey, 32)\n isUint8Array('tweak', tweak, 32)\n\n switch (secp256k1.privateKeyTweakMul(seckey, tweak)) {\n case 0:\n return seckey\n case 1:\n throw new Error(errors.TWEAK_MUL)\n }\n },\n\n publicKeyVerify (pubkey) {\n isUint8Array('public key', pubkey, [33, 65])\n\n return secp256k1.publicKeyVerify(pubkey) === 0\n },\n\n publicKeyCreate (seckey, compressed = true, output) {\n isUint8Array('private key', seckey, 32)\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyCreate(output, seckey)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.SECKEY_INVALID)\n case 2:\n throw new Error(errors.PUBKEY_SERIALIZE)\n }\n },\n\n publicKeyConvert (pubkey, compressed = true, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyConvert(output, pubkey)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.PUBKEY_SERIALIZE)\n }\n },\n\n publicKeyNegate (pubkey, compressed = true, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyNegate(output, pubkey)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.IMPOSSIBLE_CASE)\n case 3:\n throw new Error(errors.PUBKEY_SERIALIZE)\n }\n },\n\n publicKeyCombine (pubkeys, compressed = true, output) {\n assert(Array.isArray(pubkeys), 'Expected public keys to be an Array')\n assert(pubkeys.length > 0, 'Expected public keys array will have more than zero items')\n for (const pubkey of pubkeys) {\n isUint8Array('public key', pubkey, [33, 65])\n }\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyCombine(output, pubkeys)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.PUBKEY_COMBINE)\n case 3:\n throw new Error(errors.PUBKEY_SERIALIZE)\n }\n },\n\n publicKeyTweakAdd (pubkey, tweak, compressed = true, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isUint8Array('tweak', tweak, 32)\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyTweakAdd(output, pubkey, tweak)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.TWEAK_ADD)\n }\n },\n\n publicKeyTweakMul (pubkey, tweak, compressed = true, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isUint8Array('tweak', tweak, 32)\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.publicKeyTweakMul(output, pubkey, tweak)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.TWEAK_MUL)\n }\n },\n\n signatureNormalize (sig) {\n isUint8Array('signature', sig, 64)\n\n switch (secp256k1.signatureNormalize(sig)) {\n case 0:\n return sig\n case 1:\n throw new Error(errors.SIG_PARSE)\n }\n },\n\n signatureExport (sig, output) {\n isUint8Array('signature', sig, 64)\n output = getAssertedOutput(output, 72)\n\n const obj = { output, outputlen: 72 }\n switch (secp256k1.signatureExport(obj, sig)) {\n case 0:\n return output.slice(0, obj.outputlen)\n case 1:\n throw new Error(errors.SIG_PARSE)\n case 2:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n signatureImport (sig, output) {\n isUint8Array('signature', sig)\n output = getAssertedOutput(output, 64)\n\n switch (secp256k1.signatureImport(output, sig)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.SIG_PARSE)\n case 2:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n ecdsaSign (msg32, seckey, options = {}, output) {\n isUint8Array('message', msg32, 32)\n isUint8Array('private key', seckey, 32)\n assert(toTypeString(options) === 'Object', 'Expected options to be an Object')\n if (options.data !== undefined) isUint8Array('options.data', options.data)\n if (options.noncefn !== undefined) assert(toTypeString(options.noncefn) === 'Function', 'Expected options.noncefn to be a Function')\n output = getAssertedOutput(output, 64)\n\n const obj = { signature: output, recid: null }\n switch (secp256k1.ecdsaSign(obj, msg32, seckey, options.data, options.noncefn)) {\n case 0:\n return obj\n case 1:\n throw new Error(errors.SIGN)\n case 2:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n ecdsaVerify (sig, msg32, pubkey) {\n isUint8Array('signature', sig, 64)\n isUint8Array('message', msg32, 32)\n isUint8Array('public key', pubkey, [33, 65])\n\n switch (secp256k1.ecdsaVerify(sig, msg32, pubkey)) {\n case 0:\n return true\n case 3:\n return false\n case 1:\n throw new Error(errors.SIG_PARSE)\n case 2:\n throw new Error(errors.PUBKEY_PARSE)\n }\n },\n\n ecdsaRecover (sig, recid, msg32, compressed = true, output) {\n isUint8Array('signature', sig, 64)\n assert(\n toTypeString(recid) === 'Number' &&\n recid >= 0 &&\n recid <= 3,\n 'Expected recovery id to be a Number within interval [0, 3]'\n )\n isUint8Array('message', msg32, 32)\n isCompressed(compressed)\n output = getAssertedOutput(output, compressed ? 33 : 65)\n\n switch (secp256k1.ecdsaRecover(output, sig, recid, msg32)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.SIG_PARSE)\n case 2:\n throw new Error(errors.RECOVER)\n case 3:\n throw new Error(errors.IMPOSSIBLE_CASE)\n }\n },\n\n ecdh (pubkey, seckey, options = {}, output) {\n isUint8Array('public key', pubkey, [33, 65])\n isUint8Array('private key', seckey, 32)\n assert(toTypeString(options) === 'Object', 'Expected options to be an Object')\n if (options.data !== undefined) isUint8Array('options.data', options.data)\n if (options.hashfn !== undefined) {\n assert(toTypeString(options.hashfn) === 'Function', 'Expected options.hashfn to be a Function')\n if (options.xbuf !== undefined) isUint8Array('options.xbuf', options.xbuf, 32)\n if (options.ybuf !== undefined) isUint8Array('options.ybuf', options.ybuf, 32)\n isUint8Array('output', output)\n } else {\n output = getAssertedOutput(output, 32)\n }\n\n switch (secp256k1.ecdh(output, pubkey, seckey, options.data, options.hashfn, options.xbuf, options.ybuf)) {\n case 0:\n return output\n case 1:\n throw new Error(errors.PUBKEY_PARSE)\n case 2:\n throw new Error(errors.ECDH)\n }\n }\n }\n}\n","const EC = require('elliptic').ec\n\nconst ec = new EC('secp256k1')\nconst ecparams = ec.curve\n\n// Hack, we can not use bn.js@5, while elliptic uses bn.js@4\n// See https://github.com/indutny/elliptic/issues/191#issuecomment-569888758\nconst BN = ecparams.n.constructor\n\nfunction loadCompressedPublicKey (first, xbuf) {\n let x = new BN(xbuf)\n\n // overflow\n if (x.cmp(ecparams.p) >= 0) return null\n x = x.toRed(ecparams.red)\n\n // compute corresponding Y\n let y = x.redSqr().redIMul(x).redIAdd(ecparams.b).redSqrt()\n if ((first === 0x03) !== y.isOdd()) y = y.redNeg()\n\n return ec.keyPair({ pub: { x: x, y: y } })\n}\n\nfunction loadUncompressedPublicKey (first, xbuf, ybuf) {\n let x = new BN(xbuf)\n let y = new BN(ybuf)\n\n // overflow\n if (x.cmp(ecparams.p) >= 0 || y.cmp(ecparams.p) >= 0) return null\n\n x = x.toRed(ecparams.red)\n y = y.toRed(ecparams.red)\n\n // is odd flag\n if ((first === 0x06 || first === 0x07) && y.isOdd() !== (first === 0x07)) return null\n\n // x*x*x + b = y*y\n const x3 = x.redSqr().redIMul(x)\n if (!y.redSqr().redISub(x3.redIAdd(ecparams.b)).isZero()) return null\n\n return ec.keyPair({ pub: { x: x, y: y } })\n}\n\nfunction loadPublicKey (pubkey) {\n // length should be validated in interface\n const first = pubkey[0]\n switch (first) {\n case 0x02:\n case 0x03:\n if (pubkey.length !== 33) return null\n return loadCompressedPublicKey(first, pubkey.subarray(1, 33))\n case 0x04:\n case 0x06:\n case 0x07:\n if (pubkey.length !== 65) return null\n return loadUncompressedPublicKey(first, pubkey.subarray(1, 33), pubkey.subarray(33, 65))\n default:\n return null\n }\n}\n\nfunction savePublicKey (output, point) {\n const pubkey = point.encode(null, output.length === 33)\n // Loop should be faster because we do not need create extra Uint8Array\n // output.set(new Uint8Array(pubkey))\n for (let i = 0; i < output.length; ++i) output[i] = pubkey[i]\n}\n\nmodule.exports = {\n contextRandomize () {\n return 0\n },\n\n privateKeyVerify (seckey) {\n const bn = new BN(seckey)\n return bn.cmp(ecparams.n) < 0 && !bn.isZero() ? 0 : 1\n },\n\n privateKeyNegate (seckey) {\n const bn = new BN(seckey)\n const negate = ecparams.n.sub(bn).umod(ecparams.n).toArrayLike(Uint8Array, 'be', 32)\n seckey.set(negate)\n return 0\n },\n\n privateKeyTweakAdd (seckey, tweak) {\n const bn = new BN(tweak)\n if (bn.cmp(ecparams.n) >= 0) return 1\n\n bn.iadd(new BN(seckey))\n if (bn.cmp(ecparams.n) >= 0) bn.isub(ecparams.n)\n if (bn.isZero()) return 1\n\n const tweaked = bn.toArrayLike(Uint8Array, 'be', 32)\n seckey.set(tweaked)\n\n return 0\n },\n\n privateKeyTweakMul (seckey, tweak) {\n let bn = new BN(tweak)\n if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) return 1\n\n bn.imul(new BN(seckey))\n if (bn.cmp(ecparams.n) >= 0) bn = bn.umod(ecparams.n)\n\n const tweaked = bn.toArrayLike(Uint8Array, 'be', 32)\n seckey.set(tweaked)\n\n return 0\n },\n\n publicKeyVerify (pubkey) {\n const pair = loadPublicKey(pubkey)\n return pair === null ? 1 : 0\n },\n\n publicKeyCreate (output, seckey) {\n const bn = new BN(seckey)\n if (bn.cmp(ecparams.n) >= 0 || bn.isZero()) return 1\n\n const point = ec.keyFromPrivate(seckey).getPublic()\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyConvert (output, pubkey) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n const point = pair.getPublic()\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyNegate (output, pubkey) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n const point = pair.getPublic()\n point.y = point.y.redNeg()\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyCombine (output, pubkeys) {\n const pairs = new Array(pubkeys.length)\n for (let i = 0; i < pubkeys.length; ++i) {\n pairs[i] = loadPublicKey(pubkeys[i])\n if (pairs[i] === null) return 1\n }\n\n let point = pairs[0].getPublic()\n for (let i = 1; i < pairs.length; ++i) point = point.add(pairs[i].pub)\n if (point.isInfinity()) return 2\n\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyTweakAdd (output, pubkey, tweak) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n tweak = new BN(tweak)\n if (tweak.cmp(ecparams.n) >= 0) return 2\n\n const point = pair.getPublic().add(ecparams.g.mul(tweak))\n if (point.isInfinity()) return 2\n\n savePublicKey(output, point)\n\n return 0\n },\n\n publicKeyTweakMul (output, pubkey, tweak) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n tweak = new BN(tweak)\n if (tweak.cmp(ecparams.n) >= 0 || tweak.isZero()) return 2\n\n const point = pair.getPublic().mul(tweak)\n savePublicKey(output, point)\n\n return 0\n },\n\n signatureNormalize (sig) {\n const r = new BN(sig.subarray(0, 32))\n const s = new BN(sig.subarray(32, 64))\n if (r.cmp(ecparams.n) >= 0 || s.cmp(ecparams.n) >= 0) return 1\n\n if (s.cmp(ec.nh) === 1) {\n sig.set(ecparams.n.sub(s).toArrayLike(Uint8Array, 'be', 32), 32)\n }\n\n return 0\n },\n\n // Copied 1-to-1 from https://github.com/bitcoinjs/bip66/blob/master/index.js\n // Adapted for Uint8Array instead Buffer\n signatureExport (obj, sig) {\n const sigR = sig.subarray(0, 32)\n const sigS = sig.subarray(32, 64)\n if (new BN(sigR).cmp(ecparams.n) >= 0) return 1\n if (new BN(sigS).cmp(ecparams.n) >= 0) return 1\n\n const { output } = obj\n\n // Prepare R\n let r = output.subarray(4, 4 + 33)\n r[0] = 0x00\n r.set(sigR, 1)\n\n let lenR = 33\n let posR = 0\n for (; lenR > 1 && r[posR] === 0x00 && !(r[posR + 1] & 0x80); --lenR, ++posR);\n\n r = r.subarray(posR)\n if (r[0] & 0x80) return 1\n if (lenR > 1 && (r[0] === 0x00) && !(r[1] & 0x80)) return 1\n\n // Prepare S\n let s = output.subarray(6 + 33, 6 + 33 + 33)\n s[0] = 0x00\n s.set(sigS, 1)\n\n let lenS = 33\n let posS = 0\n for (; lenS > 1 && s[posS] === 0x00 && !(s[posS + 1] & 0x80); --lenS, ++posS);\n\n s = s.subarray(posS)\n if (s[0] & 0x80) return 1\n if (lenS > 1 && (s[0] === 0x00) && !(s[1] & 0x80)) return 1\n\n // Set output length for return\n obj.outputlen = 6 + lenR + lenS\n\n // Output in specified format\n // 0x30 [total-length] 0x02 [R-length] [R] 0x02 [S-length] [S]\n output[0] = 0x30\n output[1] = obj.outputlen - 2\n output[2] = 0x02\n output[3] = r.length\n output.set(r, 4)\n output[4 + lenR] = 0x02\n output[5 + lenR] = s.length\n output.set(s, 6 + lenR)\n\n return 0\n },\n\n // Copied 1-to-1 from https://github.com/bitcoinjs/bip66/blob/master/index.js\n // Adapted for Uint8Array instead Buffer\n signatureImport (output, sig) {\n if (sig.length < 8) return 1\n if (sig.length > 72) return 1\n if (sig[0] !== 0x30) return 1\n if (sig[1] !== sig.length - 2) return 1\n if (sig[2] !== 0x02) return 1\n\n const lenR = sig[3]\n if (lenR === 0) return 1\n if (5 + lenR >= sig.length) return 1\n if (sig[4 + lenR] !== 0x02) return 1\n\n const lenS = sig[5 + lenR]\n if (lenS === 0) return 1\n if ((6 + lenR + lenS) !== sig.length) return 1\n\n if (sig[4] & 0x80) return 1\n if (lenR > 1 && (sig[4] === 0x00) && !(sig[5] & 0x80)) return 1\n\n if (sig[lenR + 6] & 0x80) return 1\n if (lenS > 1 && (sig[lenR + 6] === 0x00) && !(sig[lenR + 7] & 0x80)) return 1\n\n let sigR = sig.subarray(4, 4 + lenR)\n if (sigR.length === 33 && sigR[0] === 0x00) sigR = sigR.subarray(1)\n if (sigR.length > 32) return 1\n\n let sigS = sig.subarray(6 + lenR)\n if (sigS.length === 33 && sigS[0] === 0x00) sigS = sigS.slice(1)\n if (sigS.length > 32) throw new Error('S length is too long')\n\n let r = new BN(sigR)\n if (r.cmp(ecparams.n) >= 0) r = new BN(0)\n\n let s = new BN(sig.subarray(6 + lenR))\n if (s.cmp(ecparams.n) >= 0) s = new BN(0)\n\n output.set(r.toArrayLike(Uint8Array, 'be', 32), 0)\n output.set(s.toArrayLike(Uint8Array, 'be', 32), 32)\n\n return 0\n },\n\n ecdsaSign (obj, message, seckey, data, noncefn) {\n if (noncefn) {\n const _noncefn = noncefn\n noncefn = (counter) => {\n const nonce = _noncefn(message, seckey, null, data, counter)\n\n const isValid = nonce instanceof Uint8Array && nonce.length === 32\n if (!isValid) throw new Error('This is the way')\n\n return new BN(nonce)\n }\n }\n\n const d = new BN(seckey)\n if (d.cmp(ecparams.n) >= 0 || d.isZero()) return 1\n\n let sig\n try {\n sig = ec.sign(message, seckey, { canonical: true, k: noncefn, pers: data })\n } catch (err) {\n return 1\n }\n\n obj.signature.set(sig.r.toArrayLike(Uint8Array, 'be', 32), 0)\n obj.signature.set(sig.s.toArrayLike(Uint8Array, 'be', 32), 32)\n obj.recid = sig.recoveryParam\n\n return 0\n },\n\n ecdsaVerify (sig, msg32, pubkey) {\n const sigObj = { r: sig.subarray(0, 32), s: sig.subarray(32, 64) }\n\n const sigr = new BN(sigObj.r)\n const sigs = new BN(sigObj.s)\n if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) return 1\n if (sigs.cmp(ec.nh) === 1 || sigr.isZero() || sigs.isZero()) return 3\n\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 2\n\n const point = pair.getPublic()\n const isValid = ec.verify(msg32, sigObj, point)\n return isValid ? 0 : 3\n },\n\n ecdsaRecover (output, sig, recid, msg32) {\n const sigObj = { r: sig.slice(0, 32), s: sig.slice(32, 64) }\n\n const sigr = new BN(sigObj.r)\n const sigs = new BN(sigObj.s)\n if (sigr.cmp(ecparams.n) >= 0 || sigs.cmp(ecparams.n) >= 0) return 1\n\n if (sigr.isZero() || sigs.isZero()) return 2\n\n // Can throw `throw new Error('Unable to find sencond key candinate');`\n let point\n try {\n point = ec.recoverPubKey(msg32, sigObj, recid)\n } catch (err) {\n return 2\n }\n\n savePublicKey(output, point)\n\n return 0\n },\n\n ecdh (output, pubkey, seckey, data, hashfn, xbuf, ybuf) {\n const pair = loadPublicKey(pubkey)\n if (pair === null) return 1\n\n const scalar = new BN(seckey)\n if (scalar.cmp(ecparams.n) >= 0 || scalar.isZero()) return 2\n\n const point = pair.getPublic().mul(scalar)\n\n if (hashfn === undefined) {\n const data = point.encode(null, true)\n const sha256 = ec.hash().update(data).digest()\n for (let i = 0; i < 32; ++i) output[i] = sha256[i]\n } else {\n if (!xbuf) xbuf = new Uint8Array(32)\n const x = point.getX().toArray('be', 32)\n for (let i = 0; i < 32; ++i) xbuf[i] = x[i]\n\n if (!ybuf) ybuf = new Uint8Array(32)\n const y = point.getY().toArray('be', 32)\n for (let i = 0; i < 32; ++i) ybuf[i] = y[i]\n\n const hash = hashfn(xbuf, ybuf, data)\n\n const isValid = hash instanceof Uint8Array && hash.length === output.length\n if (!isValid) return 2\n\n output.set(hash)\n }\n\n return 0\n }\n}\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","{\n \"name\": \"elliptic\",\n \"version\": \"6.5.4\",\n \"description\": \"EC cryptography\",\n \"main\": \"lib/elliptic.js\",\n \"files\": [\n \"lib\"\n ],\n \"scripts\": {\n \"lint\": \"eslint lib test\",\n \"lint:fix\": \"npm run lint -- --fix\",\n \"unit\": \"istanbul test _mocha --reporter=spec test/index.js\",\n \"test\": \"npm run lint && npm run unit\",\n \"version\": \"grunt dist && git add dist/\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"git@github.com:indutny/elliptic\"\n },\n \"keywords\": [\n \"EC\",\n \"Elliptic\",\n \"curve\",\n \"Cryptography\"\n ],\n \"author\": \"Fedor Indutny \",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/indutny/elliptic/issues\"\n },\n \"homepage\": \"https://github.com/indutny/elliptic\",\n \"devDependencies\": {\n \"brfs\": \"^2.0.2\",\n \"coveralls\": \"^3.1.0\",\n \"eslint\": \"^7.6.0\",\n \"grunt\": \"^1.2.1\",\n \"grunt-browserify\": \"^5.3.0\",\n \"grunt-cli\": \"^1.3.2\",\n \"grunt-contrib-connect\": \"^3.0.0\",\n \"grunt-contrib-copy\": \"^1.0.0\",\n \"grunt-contrib-uglify\": \"^5.0.0\",\n \"grunt-mocha-istanbul\": \"^5.0.2\",\n \"grunt-saucelabs\": \"^9.0.1\",\n \"istanbul\": \"^0.4.5\",\n \"mocha\": \"^8.0.1\"\n },\n \"dependencies\": {\n \"bn.js\": \"^4.11.9\",\n \"brorand\": \"^1.1.0\",\n \"hash.js\": \"^1.0.0\",\n \"hmac-drbg\": \"^1.0.1\",\n \"inherits\": \"^2.0.4\",\n \"minimalistic-assert\": \"^1.0.1\",\n \"minimalistic-crypto-utils\": \"^1.0.1\"\n }\n}\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","(function (module, exports) {\n 'use strict';\n\n // Utils\n function assert (val, msg) {\n if (!val) throw new Error(msg || 'Assertion failed');\n }\n\n // Could use `inherits` module, but don't want to move from single file\n // architecture yet.\n function inherits (ctor, superCtor) {\n ctor.super_ = superCtor;\n var TempCtor = function () {};\n TempCtor.prototype = superCtor.prototype;\n ctor.prototype = new TempCtor();\n ctor.prototype.constructor = ctor;\n }\n\n // BN\n\n function BN (number, base, endian) {\n if (BN.isBN(number)) {\n return number;\n }\n\n this.negative = 0;\n this.words = null;\n this.length = 0;\n\n // Reduction context\n this.red = null;\n\n if (number !== null) {\n if (base === 'le' || base === 'be') {\n endian = base;\n base = 10;\n }\n\n this._init(number || 0, base || 10, endian || 'be');\n }\n }\n if (typeof module === 'object') {\n module.exports = BN;\n } else {\n exports.BN = BN;\n }\n\n BN.BN = BN;\n BN.wordSize = 26;\n\n var Buffer;\n try {\n if (typeof window !== 'undefined' && typeof window.Buffer !== 'undefined') {\n Buffer = window.Buffer;\n } else {\n Buffer = require('buffer').Buffer;\n }\n } catch (e) {\n }\n\n BN.isBN = function isBN (num) {\n if (num instanceof BN) {\n return true;\n }\n\n return num !== null && typeof num === 'object' &&\n num.constructor.wordSize === BN.wordSize && Array.isArray(num.words);\n };\n\n BN.max = function max (left, right) {\n if (left.cmp(right) > 0) return left;\n return right;\n };\n\n BN.min = function min (left, right) {\n if (left.cmp(right) < 0) return left;\n return right;\n };\n\n BN.prototype._init = function init (number, base, endian) {\n if (typeof number === 'number') {\n return this._initNumber(number, base, endian);\n }\n\n if (typeof number === 'object') {\n return this._initArray(number, base, endian);\n }\n\n if (base === 'hex') {\n base = 16;\n }\n assert(base === (base | 0) && base >= 2 && base <= 36);\n\n number = number.toString().replace(/\\s+/g, '');\n var start = 0;\n if (number[0] === '-') {\n start++;\n this.negative = 1;\n }\n\n if (start < number.length) {\n if (base === 16) {\n this._parseHex(number, start, endian);\n } else {\n this._parseBase(number, base, start);\n if (endian === 'le') {\n this._initArray(this.toArray(), base, endian);\n }\n }\n }\n };\n\n BN.prototype._initNumber = function _initNumber (number, base, endian) {\n if (number < 0) {\n this.negative = 1;\n number = -number;\n }\n if (number < 0x4000000) {\n this.words = [ number & 0x3ffffff ];\n this.length = 1;\n } else if (number < 0x10000000000000) {\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff\n ];\n this.length = 2;\n } else {\n assert(number < 0x20000000000000); // 2 ^ 53 (unsafe)\n this.words = [\n number & 0x3ffffff,\n (number / 0x4000000) & 0x3ffffff,\n 1\n ];\n this.length = 3;\n }\n\n if (endian !== 'le') return;\n\n // Reverse the bytes\n this._initArray(this.toArray(), base, endian);\n };\n\n BN.prototype._initArray = function _initArray (number, base, endian) {\n // Perhaps a Uint8Array\n assert(typeof number.length === 'number');\n if (number.length <= 0) {\n this.words = [ 0 ];\n this.length = 1;\n return this;\n }\n\n this.length = Math.ceil(number.length / 3);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n var j, w;\n var off = 0;\n if (endian === 'be') {\n for (i = number.length - 1, j = 0; i >= 0; i -= 3) {\n w = number[i] | (number[i - 1] << 8) | (number[i - 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n } else if (endian === 'le') {\n for (i = 0, j = 0; i < number.length; i += 3) {\n w = number[i] | (number[i + 1] << 8) | (number[i + 2] << 16);\n this.words[j] |= (w << off) & 0x3ffffff;\n this.words[j + 1] = (w >>> (26 - off)) & 0x3ffffff;\n off += 24;\n if (off >= 26) {\n off -= 26;\n j++;\n }\n }\n }\n return this.strip();\n };\n\n function parseHex4Bits (string, index) {\n var c = string.charCodeAt(index);\n // 'A' - 'F'\n if (c >= 65 && c <= 70) {\n return c - 55;\n // 'a' - 'f'\n } else if (c >= 97 && c <= 102) {\n return c - 87;\n // '0' - '9'\n } else {\n return (c - 48) & 0xf;\n }\n }\n\n function parseHexByte (string, lowerBound, index) {\n var r = parseHex4Bits(string, index);\n if (index - 1 >= lowerBound) {\n r |= parseHex4Bits(string, index - 1) << 4;\n }\n return r;\n }\n\n BN.prototype._parseHex = function _parseHex (number, start, endian) {\n // Create possibly bigger array to ensure that it fits the number\n this.length = Math.ceil((number.length - start) / 6);\n this.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n this.words[i] = 0;\n }\n\n // 24-bits chunks\n var off = 0;\n var j = 0;\n\n var w;\n if (endian === 'be') {\n for (i = number.length - 1; i >= start; i -= 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n } else {\n var parseLength = number.length - start;\n for (i = parseLength % 2 === 0 ? start + 1 : start; i < number.length; i += 2) {\n w = parseHexByte(number, start, i) << off;\n this.words[j] |= w & 0x3ffffff;\n if (off >= 18) {\n off -= 18;\n j += 1;\n this.words[j] |= w >>> 26;\n } else {\n off += 8;\n }\n }\n }\n\n this.strip();\n };\n\n function parseBase (str, start, end, mul) {\n var r = 0;\n var len = Math.min(str.length, end);\n for (var i = start; i < len; i++) {\n var c = str.charCodeAt(i) - 48;\n\n r *= mul;\n\n // 'a'\n if (c >= 49) {\n r += c - 49 + 0xa;\n\n // 'A'\n } else if (c >= 17) {\n r += c - 17 + 0xa;\n\n // '0' - '9'\n } else {\n r += c;\n }\n }\n return r;\n }\n\n BN.prototype._parseBase = function _parseBase (number, base, start) {\n // Initialize as zero\n this.words = [ 0 ];\n this.length = 1;\n\n // Find length of limb in base\n for (var limbLen = 0, limbPow = 1; limbPow <= 0x3ffffff; limbPow *= base) {\n limbLen++;\n }\n limbLen--;\n limbPow = (limbPow / base) | 0;\n\n var total = number.length - start;\n var mod = total % limbLen;\n var end = Math.min(total, total - mod) + start;\n\n var word = 0;\n for (var i = start; i < end; i += limbLen) {\n word = parseBase(number, i, i + limbLen, base);\n\n this.imuln(limbPow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n if (mod !== 0) {\n var pow = 1;\n word = parseBase(number, i, number.length, base);\n\n for (i = 0; i < mod; i++) {\n pow *= base;\n }\n\n this.imuln(pow);\n if (this.words[0] + word < 0x4000000) {\n this.words[0] += word;\n } else {\n this._iaddn(word);\n }\n }\n\n this.strip();\n };\n\n BN.prototype.copy = function copy (dest) {\n dest.words = new Array(this.length);\n for (var i = 0; i < this.length; i++) {\n dest.words[i] = this.words[i];\n }\n dest.length = this.length;\n dest.negative = this.negative;\n dest.red = this.red;\n };\n\n BN.prototype.clone = function clone () {\n var r = new BN(null);\n this.copy(r);\n return r;\n };\n\n BN.prototype._expand = function _expand (size) {\n while (this.length < size) {\n this.words[this.length++] = 0;\n }\n return this;\n };\n\n // Remove leading `0` from `this`\n BN.prototype.strip = function strip () {\n while (this.length > 1 && this.words[this.length - 1] === 0) {\n this.length--;\n }\n return this._normSign();\n };\n\n BN.prototype._normSign = function _normSign () {\n // -0 = 0\n if (this.length === 1 && this.words[0] === 0) {\n this.negative = 0;\n }\n return this;\n };\n\n BN.prototype.inspect = function inspect () {\n return (this.red ? '';\n };\n\n /*\n\n var zeros = [];\n var groupSizes = [];\n var groupBases = [];\n\n var s = '';\n var i = -1;\n while (++i < BN.wordSize) {\n zeros[i] = s;\n s += '0';\n }\n groupSizes[0] = 0;\n groupSizes[1] = 0;\n groupBases[0] = 0;\n groupBases[1] = 0;\n var base = 2 - 1;\n while (++base < 36 + 1) {\n var groupSize = 0;\n var groupBase = 1;\n while (groupBase < (1 << BN.wordSize) / base) {\n groupBase *= base;\n groupSize += 1;\n }\n groupSizes[base] = groupSize;\n groupBases[base] = groupBase;\n }\n\n */\n\n var zeros = [\n '',\n '0',\n '00',\n '000',\n '0000',\n '00000',\n '000000',\n '0000000',\n '00000000',\n '000000000',\n '0000000000',\n '00000000000',\n '000000000000',\n '0000000000000',\n '00000000000000',\n '000000000000000',\n '0000000000000000',\n '00000000000000000',\n '000000000000000000',\n '0000000000000000000',\n '00000000000000000000',\n '000000000000000000000',\n '0000000000000000000000',\n '00000000000000000000000',\n '000000000000000000000000',\n '0000000000000000000000000'\n ];\n\n var groupSizes = [\n 0, 0,\n 25, 16, 12, 11, 10, 9, 8,\n 8, 7, 7, 7, 7, 6, 6,\n 6, 6, 6, 6, 6, 5, 5,\n 5, 5, 5, 5, 5, 5, 5,\n 5, 5, 5, 5, 5, 5, 5\n ];\n\n var groupBases = [\n 0, 0,\n 33554432, 43046721, 16777216, 48828125, 60466176, 40353607, 16777216,\n 43046721, 10000000, 19487171, 35831808, 62748517, 7529536, 11390625,\n 16777216, 24137569, 34012224, 47045881, 64000000, 4084101, 5153632,\n 6436343, 7962624, 9765625, 11881376, 14348907, 17210368, 20511149,\n 24300000, 28629151, 33554432, 39135393, 45435424, 52521875, 60466176\n ];\n\n BN.prototype.toString = function toString (base, padding) {\n base = base || 10;\n padding = padding | 0 || 1;\n\n var out;\n if (base === 16 || base === 'hex') {\n out = '';\n var off = 0;\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = this.words[i];\n var word = (((w << off) | carry) & 0xffffff).toString(16);\n carry = (w >>> (24 - off)) & 0xffffff;\n if (carry !== 0 || i !== this.length - 1) {\n out = zeros[6 - word.length] + word + out;\n } else {\n out = word + out;\n }\n off += 2;\n if (off >= 26) {\n off -= 26;\n i--;\n }\n }\n if (carry !== 0) {\n out = carry.toString(16) + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n if (base === (base | 0) && base >= 2 && base <= 36) {\n // var groupSize = Math.floor(BN.wordSize * Math.LN2 / Math.log(base));\n var groupSize = groupSizes[base];\n // var groupBase = Math.pow(base, groupSize);\n var groupBase = groupBases[base];\n out = '';\n var c = this.clone();\n c.negative = 0;\n while (!c.isZero()) {\n var r = c.modn(groupBase).toString(base);\n c = c.idivn(groupBase);\n\n if (!c.isZero()) {\n out = zeros[groupSize - r.length] + r + out;\n } else {\n out = r + out;\n }\n }\n if (this.isZero()) {\n out = '0' + out;\n }\n while (out.length % padding !== 0) {\n out = '0' + out;\n }\n if (this.negative !== 0) {\n out = '-' + out;\n }\n return out;\n }\n\n assert(false, 'Base should be between 2 and 36');\n };\n\n BN.prototype.toNumber = function toNumber () {\n var ret = this.words[0];\n if (this.length === 2) {\n ret += this.words[1] * 0x4000000;\n } else if (this.length === 3 && this.words[2] === 0x01) {\n // NOTE: at this stage it is known that the top bit is set\n ret += 0x10000000000000 + (this.words[1] * 0x4000000);\n } else if (this.length > 2) {\n assert(false, 'Number can only safely store up to 53 bits');\n }\n return (this.negative !== 0) ? -ret : ret;\n };\n\n BN.prototype.toJSON = function toJSON () {\n return this.toString(16);\n };\n\n BN.prototype.toBuffer = function toBuffer (endian, length) {\n assert(typeof Buffer !== 'undefined');\n return this.toArrayLike(Buffer, endian, length);\n };\n\n BN.prototype.toArray = function toArray (endian, length) {\n return this.toArrayLike(Array, endian, length);\n };\n\n BN.prototype.toArrayLike = function toArrayLike (ArrayType, endian, length) {\n var byteLength = this.byteLength();\n var reqLength = length || Math.max(1, byteLength);\n assert(byteLength <= reqLength, 'byte array longer than desired length');\n assert(reqLength > 0, 'Requested array length <= 0');\n\n this.strip();\n var littleEndian = endian === 'le';\n var res = new ArrayType(reqLength);\n\n var b, i;\n var q = this.clone();\n if (!littleEndian) {\n // Assume big-endian\n for (i = 0; i < reqLength - byteLength; i++) {\n res[i] = 0;\n }\n\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[reqLength - i - 1] = b;\n }\n } else {\n for (i = 0; !q.isZero(); i++) {\n b = q.andln(0xff);\n q.iushrn(8);\n\n res[i] = b;\n }\n\n for (; i < reqLength; i++) {\n res[i] = 0;\n }\n }\n\n return res;\n };\n\n if (Math.clz32) {\n BN.prototype._countBits = function _countBits (w) {\n return 32 - Math.clz32(w);\n };\n } else {\n BN.prototype._countBits = function _countBits (w) {\n var t = w;\n var r = 0;\n if (t >= 0x1000) {\n r += 13;\n t >>>= 13;\n }\n if (t >= 0x40) {\n r += 7;\n t >>>= 7;\n }\n if (t >= 0x8) {\n r += 4;\n t >>>= 4;\n }\n if (t >= 0x02) {\n r += 2;\n t >>>= 2;\n }\n return r + t;\n };\n }\n\n BN.prototype._zeroBits = function _zeroBits (w) {\n // Short-cut\n if (w === 0) return 26;\n\n var t = w;\n var r = 0;\n if ((t & 0x1fff) === 0) {\n r += 13;\n t >>>= 13;\n }\n if ((t & 0x7f) === 0) {\n r += 7;\n t >>>= 7;\n }\n if ((t & 0xf) === 0) {\n r += 4;\n t >>>= 4;\n }\n if ((t & 0x3) === 0) {\n r += 2;\n t >>>= 2;\n }\n if ((t & 0x1) === 0) {\n r++;\n }\n return r;\n };\n\n // Return number of used bits in a BN\n BN.prototype.bitLength = function bitLength () {\n var w = this.words[this.length - 1];\n var hi = this._countBits(w);\n return (this.length - 1) * 26 + hi;\n };\n\n function toBitArray (num) {\n var w = new Array(num.bitLength());\n\n for (var bit = 0; bit < w.length; bit++) {\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n w[bit] = (num.words[off] & (1 << wbit)) >>> wbit;\n }\n\n return w;\n }\n\n // Number of trailing zero bits\n BN.prototype.zeroBits = function zeroBits () {\n if (this.isZero()) return 0;\n\n var r = 0;\n for (var i = 0; i < this.length; i++) {\n var b = this._zeroBits(this.words[i]);\n r += b;\n if (b !== 26) break;\n }\n return r;\n };\n\n BN.prototype.byteLength = function byteLength () {\n return Math.ceil(this.bitLength() / 8);\n };\n\n BN.prototype.toTwos = function toTwos (width) {\n if (this.negative !== 0) {\n return this.abs().inotn(width).iaddn(1);\n }\n return this.clone();\n };\n\n BN.prototype.fromTwos = function fromTwos (width) {\n if (this.testn(width - 1)) {\n return this.notn(width).iaddn(1).ineg();\n }\n return this.clone();\n };\n\n BN.prototype.isNeg = function isNeg () {\n return this.negative !== 0;\n };\n\n // Return negative clone of `this`\n BN.prototype.neg = function neg () {\n return this.clone().ineg();\n };\n\n BN.prototype.ineg = function ineg () {\n if (!this.isZero()) {\n this.negative ^= 1;\n }\n\n return this;\n };\n\n // Or `num` with `this` in-place\n BN.prototype.iuor = function iuor (num) {\n while (this.length < num.length) {\n this.words[this.length++] = 0;\n }\n\n for (var i = 0; i < num.length; i++) {\n this.words[i] = this.words[i] | num.words[i];\n }\n\n return this.strip();\n };\n\n BN.prototype.ior = function ior (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuor(num);\n };\n\n // Or `num` with `this`\n BN.prototype.or = function or (num) {\n if (this.length > num.length) return this.clone().ior(num);\n return num.clone().ior(this);\n };\n\n BN.prototype.uor = function uor (num) {\n if (this.length > num.length) return this.clone().iuor(num);\n return num.clone().iuor(this);\n };\n\n // And `num` with `this` in-place\n BN.prototype.iuand = function iuand (num) {\n // b = min-length(num, this)\n var b;\n if (this.length > num.length) {\n b = num;\n } else {\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = this.words[i] & num.words[i];\n }\n\n this.length = b.length;\n\n return this.strip();\n };\n\n BN.prototype.iand = function iand (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuand(num);\n };\n\n // And `num` with `this`\n BN.prototype.and = function and (num) {\n if (this.length > num.length) return this.clone().iand(num);\n return num.clone().iand(this);\n };\n\n BN.prototype.uand = function uand (num) {\n if (this.length > num.length) return this.clone().iuand(num);\n return num.clone().iuand(this);\n };\n\n // Xor `num` with `this` in-place\n BN.prototype.iuxor = function iuxor (num) {\n // a.length > b.length\n var a;\n var b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n for (var i = 0; i < b.length; i++) {\n this.words[i] = a.words[i] ^ b.words[i];\n }\n\n if (this !== a) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = a.length;\n\n return this.strip();\n };\n\n BN.prototype.ixor = function ixor (num) {\n assert((this.negative | num.negative) === 0);\n return this.iuxor(num);\n };\n\n // Xor `num` with `this`\n BN.prototype.xor = function xor (num) {\n if (this.length > num.length) return this.clone().ixor(num);\n return num.clone().ixor(this);\n };\n\n BN.prototype.uxor = function uxor (num) {\n if (this.length > num.length) return this.clone().iuxor(num);\n return num.clone().iuxor(this);\n };\n\n // Not ``this`` with ``width`` bitwidth\n BN.prototype.inotn = function inotn (width) {\n assert(typeof width === 'number' && width >= 0);\n\n var bytesNeeded = Math.ceil(width / 26) | 0;\n var bitsLeft = width % 26;\n\n // Extend the buffer with leading zeroes\n this._expand(bytesNeeded);\n\n if (bitsLeft > 0) {\n bytesNeeded--;\n }\n\n // Handle complete words\n for (var i = 0; i < bytesNeeded; i++) {\n this.words[i] = ~this.words[i] & 0x3ffffff;\n }\n\n // Handle the residue\n if (bitsLeft > 0) {\n this.words[i] = ~this.words[i] & (0x3ffffff >> (26 - bitsLeft));\n }\n\n // And remove leading zeroes\n return this.strip();\n };\n\n BN.prototype.notn = function notn (width) {\n return this.clone().inotn(width);\n };\n\n // Set `bit` of `this`\n BN.prototype.setn = function setn (bit, val) {\n assert(typeof bit === 'number' && bit >= 0);\n\n var off = (bit / 26) | 0;\n var wbit = bit % 26;\n\n this._expand(off + 1);\n\n if (val) {\n this.words[off] = this.words[off] | (1 << wbit);\n } else {\n this.words[off] = this.words[off] & ~(1 << wbit);\n }\n\n return this.strip();\n };\n\n // Add `num` to `this` in-place\n BN.prototype.iadd = function iadd (num) {\n var r;\n\n // negative + positive\n if (this.negative !== 0 && num.negative === 0) {\n this.negative = 0;\n r = this.isub(num);\n this.negative ^= 1;\n return this._normSign();\n\n // positive + negative\n } else if (this.negative === 0 && num.negative !== 0) {\n num.negative = 0;\n r = this.isub(num);\n num.negative = 1;\n return r._normSign();\n }\n\n // a.length > b.length\n var a, b;\n if (this.length > num.length) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) + (b.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n this.words[i] = r & 0x3ffffff;\n carry = r >>> 26;\n }\n\n this.length = a.length;\n if (carry !== 0) {\n this.words[this.length] = carry;\n this.length++;\n // Copy the rest of the words\n } else if (a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n return this;\n };\n\n // Add `num` to `this`\n BN.prototype.add = function add (num) {\n var res;\n if (num.negative !== 0 && this.negative === 0) {\n num.negative = 0;\n res = this.sub(num);\n num.negative ^= 1;\n return res;\n } else if (num.negative === 0 && this.negative !== 0) {\n this.negative = 0;\n res = num.sub(this);\n this.negative = 1;\n return res;\n }\n\n if (this.length > num.length) return this.clone().iadd(num);\n\n return num.clone().iadd(this);\n };\n\n // Subtract `num` from `this` in-place\n BN.prototype.isub = function isub (num) {\n // this - (-num) = this + num\n if (num.negative !== 0) {\n num.negative = 0;\n var r = this.iadd(num);\n num.negative = 1;\n return r._normSign();\n\n // -this - num = -(this + num)\n } else if (this.negative !== 0) {\n this.negative = 0;\n this.iadd(num);\n this.negative = 1;\n return this._normSign();\n }\n\n // At this point both numbers are positive\n var cmp = this.cmp(num);\n\n // Optimization - zeroify\n if (cmp === 0) {\n this.negative = 0;\n this.length = 1;\n this.words[0] = 0;\n return this;\n }\n\n // a > b\n var a, b;\n if (cmp > 0) {\n a = this;\n b = num;\n } else {\n a = num;\n b = this;\n }\n\n var carry = 0;\n for (var i = 0; i < b.length; i++) {\n r = (a.words[i] | 0) - (b.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n for (; carry !== 0 && i < a.length; i++) {\n r = (a.words[i] | 0) + carry;\n carry = r >> 26;\n this.words[i] = r & 0x3ffffff;\n }\n\n // Copy rest of the words\n if (carry === 0 && i < a.length && a !== this) {\n for (; i < a.length; i++) {\n this.words[i] = a.words[i];\n }\n }\n\n this.length = Math.max(this.length, i);\n\n if (a !== this) {\n this.negative = 1;\n }\n\n return this.strip();\n };\n\n // Subtract `num` from `this`\n BN.prototype.sub = function sub (num) {\n return this.clone().isub(num);\n };\n\n function smallMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n var len = (self.length + num.length) | 0;\n out.length = len;\n len = (len - 1) | 0;\n\n // Peel one iteration (compiler can't do it, because of code complexity)\n var a = self.words[0] | 0;\n var b = num.words[0] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n var carry = (r / 0x4000000) | 0;\n out.words[0] = lo;\n\n for (var k = 1; k < len; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = carry >>> 26;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = (k - j) | 0;\n a = self.words[i] | 0;\n b = num.words[j] | 0;\n r = a * b + rword;\n ncarry += (r / 0x4000000) | 0;\n rword = r & 0x3ffffff;\n }\n out.words[k] = rword | 0;\n carry = ncarry | 0;\n }\n if (carry !== 0) {\n out.words[k] = carry | 0;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n // TODO(indutny): it may be reasonable to omit it for users who don't need\n // to work with 256-bit numbers, otherwise it gives 20% improvement for 256-bit\n // multiplication (like elliptic secp256k1).\n var comb10MulTo = function comb10MulTo (self, num, out) {\n var a = self.words;\n var b = num.words;\n var o = out.words;\n var c = 0;\n var lo;\n var mid;\n var hi;\n var a0 = a[0] | 0;\n var al0 = a0 & 0x1fff;\n var ah0 = a0 >>> 13;\n var a1 = a[1] | 0;\n var al1 = a1 & 0x1fff;\n var ah1 = a1 >>> 13;\n var a2 = a[2] | 0;\n var al2 = a2 & 0x1fff;\n var ah2 = a2 >>> 13;\n var a3 = a[3] | 0;\n var al3 = a3 & 0x1fff;\n var ah3 = a3 >>> 13;\n var a4 = a[4] | 0;\n var al4 = a4 & 0x1fff;\n var ah4 = a4 >>> 13;\n var a5 = a[5] | 0;\n var al5 = a5 & 0x1fff;\n var ah5 = a5 >>> 13;\n var a6 = a[6] | 0;\n var al6 = a6 & 0x1fff;\n var ah6 = a6 >>> 13;\n var a7 = a[7] | 0;\n var al7 = a7 & 0x1fff;\n var ah7 = a7 >>> 13;\n var a8 = a[8] | 0;\n var al8 = a8 & 0x1fff;\n var ah8 = a8 >>> 13;\n var a9 = a[9] | 0;\n var al9 = a9 & 0x1fff;\n var ah9 = a9 >>> 13;\n var b0 = b[0] | 0;\n var bl0 = b0 & 0x1fff;\n var bh0 = b0 >>> 13;\n var b1 = b[1] | 0;\n var bl1 = b1 & 0x1fff;\n var bh1 = b1 >>> 13;\n var b2 = b[2] | 0;\n var bl2 = b2 & 0x1fff;\n var bh2 = b2 >>> 13;\n var b3 = b[3] | 0;\n var bl3 = b3 & 0x1fff;\n var bh3 = b3 >>> 13;\n var b4 = b[4] | 0;\n var bl4 = b4 & 0x1fff;\n var bh4 = b4 >>> 13;\n var b5 = b[5] | 0;\n var bl5 = b5 & 0x1fff;\n var bh5 = b5 >>> 13;\n var b6 = b[6] | 0;\n var bl6 = b6 & 0x1fff;\n var bh6 = b6 >>> 13;\n var b7 = b[7] | 0;\n var bl7 = b7 & 0x1fff;\n var bh7 = b7 >>> 13;\n var b8 = b[8] | 0;\n var bl8 = b8 & 0x1fff;\n var bh8 = b8 >>> 13;\n var b9 = b[9] | 0;\n var bl9 = b9 & 0x1fff;\n var bh9 = b9 >>> 13;\n\n out.negative = self.negative ^ num.negative;\n out.length = 19;\n /* k = 0 */\n lo = Math.imul(al0, bl0);\n mid = Math.imul(al0, bh0);\n mid = (mid + Math.imul(ah0, bl0)) | 0;\n hi = Math.imul(ah0, bh0);\n var w0 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w0 >>> 26)) | 0;\n w0 &= 0x3ffffff;\n /* k = 1 */\n lo = Math.imul(al1, bl0);\n mid = Math.imul(al1, bh0);\n mid = (mid + Math.imul(ah1, bl0)) | 0;\n hi = Math.imul(ah1, bh0);\n lo = (lo + Math.imul(al0, bl1)) | 0;\n mid = (mid + Math.imul(al0, bh1)) | 0;\n mid = (mid + Math.imul(ah0, bl1)) | 0;\n hi = (hi + Math.imul(ah0, bh1)) | 0;\n var w1 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w1 >>> 26)) | 0;\n w1 &= 0x3ffffff;\n /* k = 2 */\n lo = Math.imul(al2, bl0);\n mid = Math.imul(al2, bh0);\n mid = (mid + Math.imul(ah2, bl0)) | 0;\n hi = Math.imul(ah2, bh0);\n lo = (lo + Math.imul(al1, bl1)) | 0;\n mid = (mid + Math.imul(al1, bh1)) | 0;\n mid = (mid + Math.imul(ah1, bl1)) | 0;\n hi = (hi + Math.imul(ah1, bh1)) | 0;\n lo = (lo + Math.imul(al0, bl2)) | 0;\n mid = (mid + Math.imul(al0, bh2)) | 0;\n mid = (mid + Math.imul(ah0, bl2)) | 0;\n hi = (hi + Math.imul(ah0, bh2)) | 0;\n var w2 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w2 >>> 26)) | 0;\n w2 &= 0x3ffffff;\n /* k = 3 */\n lo = Math.imul(al3, bl0);\n mid = Math.imul(al3, bh0);\n mid = (mid + Math.imul(ah3, bl0)) | 0;\n hi = Math.imul(ah3, bh0);\n lo = (lo + Math.imul(al2, bl1)) | 0;\n mid = (mid + Math.imul(al2, bh1)) | 0;\n mid = (mid + Math.imul(ah2, bl1)) | 0;\n hi = (hi + Math.imul(ah2, bh1)) | 0;\n lo = (lo + Math.imul(al1, bl2)) | 0;\n mid = (mid + Math.imul(al1, bh2)) | 0;\n mid = (mid + Math.imul(ah1, bl2)) | 0;\n hi = (hi + Math.imul(ah1, bh2)) | 0;\n lo = (lo + Math.imul(al0, bl3)) | 0;\n mid = (mid + Math.imul(al0, bh3)) | 0;\n mid = (mid + Math.imul(ah0, bl3)) | 0;\n hi = (hi + Math.imul(ah0, bh3)) | 0;\n var w3 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w3 >>> 26)) | 0;\n w3 &= 0x3ffffff;\n /* k = 4 */\n lo = Math.imul(al4, bl0);\n mid = Math.imul(al4, bh0);\n mid = (mid + Math.imul(ah4, bl0)) | 0;\n hi = Math.imul(ah4, bh0);\n lo = (lo + Math.imul(al3, bl1)) | 0;\n mid = (mid + Math.imul(al3, bh1)) | 0;\n mid = (mid + Math.imul(ah3, bl1)) | 0;\n hi = (hi + Math.imul(ah3, bh1)) | 0;\n lo = (lo + Math.imul(al2, bl2)) | 0;\n mid = (mid + Math.imul(al2, bh2)) | 0;\n mid = (mid + Math.imul(ah2, bl2)) | 0;\n hi = (hi + Math.imul(ah2, bh2)) | 0;\n lo = (lo + Math.imul(al1, bl3)) | 0;\n mid = (mid + Math.imul(al1, bh3)) | 0;\n mid = (mid + Math.imul(ah1, bl3)) | 0;\n hi = (hi + Math.imul(ah1, bh3)) | 0;\n lo = (lo + Math.imul(al0, bl4)) | 0;\n mid = (mid + Math.imul(al0, bh4)) | 0;\n mid = (mid + Math.imul(ah0, bl4)) | 0;\n hi = (hi + Math.imul(ah0, bh4)) | 0;\n var w4 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w4 >>> 26)) | 0;\n w4 &= 0x3ffffff;\n /* k = 5 */\n lo = Math.imul(al5, bl0);\n mid = Math.imul(al5, bh0);\n mid = (mid + Math.imul(ah5, bl0)) | 0;\n hi = Math.imul(ah5, bh0);\n lo = (lo + Math.imul(al4, bl1)) | 0;\n mid = (mid + Math.imul(al4, bh1)) | 0;\n mid = (mid + Math.imul(ah4, bl1)) | 0;\n hi = (hi + Math.imul(ah4, bh1)) | 0;\n lo = (lo + Math.imul(al3, bl2)) | 0;\n mid = (mid + Math.imul(al3, bh2)) | 0;\n mid = (mid + Math.imul(ah3, bl2)) | 0;\n hi = (hi + Math.imul(ah3, bh2)) | 0;\n lo = (lo + Math.imul(al2, bl3)) | 0;\n mid = (mid + Math.imul(al2, bh3)) | 0;\n mid = (mid + Math.imul(ah2, bl3)) | 0;\n hi = (hi + Math.imul(ah2, bh3)) | 0;\n lo = (lo + Math.imul(al1, bl4)) | 0;\n mid = (mid + Math.imul(al1, bh4)) | 0;\n mid = (mid + Math.imul(ah1, bl4)) | 0;\n hi = (hi + Math.imul(ah1, bh4)) | 0;\n lo = (lo + Math.imul(al0, bl5)) | 0;\n mid = (mid + Math.imul(al0, bh5)) | 0;\n mid = (mid + Math.imul(ah0, bl5)) | 0;\n hi = (hi + Math.imul(ah0, bh5)) | 0;\n var w5 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w5 >>> 26)) | 0;\n w5 &= 0x3ffffff;\n /* k = 6 */\n lo = Math.imul(al6, bl0);\n mid = Math.imul(al6, bh0);\n mid = (mid + Math.imul(ah6, bl0)) | 0;\n hi = Math.imul(ah6, bh0);\n lo = (lo + Math.imul(al5, bl1)) | 0;\n mid = (mid + Math.imul(al5, bh1)) | 0;\n mid = (mid + Math.imul(ah5, bl1)) | 0;\n hi = (hi + Math.imul(ah5, bh1)) | 0;\n lo = (lo + Math.imul(al4, bl2)) | 0;\n mid = (mid + Math.imul(al4, bh2)) | 0;\n mid = (mid + Math.imul(ah4, bl2)) | 0;\n hi = (hi + Math.imul(ah4, bh2)) | 0;\n lo = (lo + Math.imul(al3, bl3)) | 0;\n mid = (mid + Math.imul(al3, bh3)) | 0;\n mid = (mid + Math.imul(ah3, bl3)) | 0;\n hi = (hi + Math.imul(ah3, bh3)) | 0;\n lo = (lo + Math.imul(al2, bl4)) | 0;\n mid = (mid + Math.imul(al2, bh4)) | 0;\n mid = (mid + Math.imul(ah2, bl4)) | 0;\n hi = (hi + Math.imul(ah2, bh4)) | 0;\n lo = (lo + Math.imul(al1, bl5)) | 0;\n mid = (mid + Math.imul(al1, bh5)) | 0;\n mid = (mid + Math.imul(ah1, bl5)) | 0;\n hi = (hi + Math.imul(ah1, bh5)) | 0;\n lo = (lo + Math.imul(al0, bl6)) | 0;\n mid = (mid + Math.imul(al0, bh6)) | 0;\n mid = (mid + Math.imul(ah0, bl6)) | 0;\n hi = (hi + Math.imul(ah0, bh6)) | 0;\n var w6 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w6 >>> 26)) | 0;\n w6 &= 0x3ffffff;\n /* k = 7 */\n lo = Math.imul(al7, bl0);\n mid = Math.imul(al7, bh0);\n mid = (mid + Math.imul(ah7, bl0)) | 0;\n hi = Math.imul(ah7, bh0);\n lo = (lo + Math.imul(al6, bl1)) | 0;\n mid = (mid + Math.imul(al6, bh1)) | 0;\n mid = (mid + Math.imul(ah6, bl1)) | 0;\n hi = (hi + Math.imul(ah6, bh1)) | 0;\n lo = (lo + Math.imul(al5, bl2)) | 0;\n mid = (mid + Math.imul(al5, bh2)) | 0;\n mid = (mid + Math.imul(ah5, bl2)) | 0;\n hi = (hi + Math.imul(ah5, bh2)) | 0;\n lo = (lo + Math.imul(al4, bl3)) | 0;\n mid = (mid + Math.imul(al4, bh3)) | 0;\n mid = (mid + Math.imul(ah4, bl3)) | 0;\n hi = (hi + Math.imul(ah4, bh3)) | 0;\n lo = (lo + Math.imul(al3, bl4)) | 0;\n mid = (mid + Math.imul(al3, bh4)) | 0;\n mid = (mid + Math.imul(ah3, bl4)) | 0;\n hi = (hi + Math.imul(ah3, bh4)) | 0;\n lo = (lo + Math.imul(al2, bl5)) | 0;\n mid = (mid + Math.imul(al2, bh5)) | 0;\n mid = (mid + Math.imul(ah2, bl5)) | 0;\n hi = (hi + Math.imul(ah2, bh5)) | 0;\n lo = (lo + Math.imul(al1, bl6)) | 0;\n mid = (mid + Math.imul(al1, bh6)) | 0;\n mid = (mid + Math.imul(ah1, bl6)) | 0;\n hi = (hi + Math.imul(ah1, bh6)) | 0;\n lo = (lo + Math.imul(al0, bl7)) | 0;\n mid = (mid + Math.imul(al0, bh7)) | 0;\n mid = (mid + Math.imul(ah0, bl7)) | 0;\n hi = (hi + Math.imul(ah0, bh7)) | 0;\n var w7 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w7 >>> 26)) | 0;\n w7 &= 0x3ffffff;\n /* k = 8 */\n lo = Math.imul(al8, bl0);\n mid = Math.imul(al8, bh0);\n mid = (mid + Math.imul(ah8, bl0)) | 0;\n hi = Math.imul(ah8, bh0);\n lo = (lo + Math.imul(al7, bl1)) | 0;\n mid = (mid + Math.imul(al7, bh1)) | 0;\n mid = (mid + Math.imul(ah7, bl1)) | 0;\n hi = (hi + Math.imul(ah7, bh1)) | 0;\n lo = (lo + Math.imul(al6, bl2)) | 0;\n mid = (mid + Math.imul(al6, bh2)) | 0;\n mid = (mid + Math.imul(ah6, bl2)) | 0;\n hi = (hi + Math.imul(ah6, bh2)) | 0;\n lo = (lo + Math.imul(al5, bl3)) | 0;\n mid = (mid + Math.imul(al5, bh3)) | 0;\n mid = (mid + Math.imul(ah5, bl3)) | 0;\n hi = (hi + Math.imul(ah5, bh3)) | 0;\n lo = (lo + Math.imul(al4, bl4)) | 0;\n mid = (mid + Math.imul(al4, bh4)) | 0;\n mid = (mid + Math.imul(ah4, bl4)) | 0;\n hi = (hi + Math.imul(ah4, bh4)) | 0;\n lo = (lo + Math.imul(al3, bl5)) | 0;\n mid = (mid + Math.imul(al3, bh5)) | 0;\n mid = (mid + Math.imul(ah3, bl5)) | 0;\n hi = (hi + Math.imul(ah3, bh5)) | 0;\n lo = (lo + Math.imul(al2, bl6)) | 0;\n mid = (mid + Math.imul(al2, bh6)) | 0;\n mid = (mid + Math.imul(ah2, bl6)) | 0;\n hi = (hi + Math.imul(ah2, bh6)) | 0;\n lo = (lo + Math.imul(al1, bl7)) | 0;\n mid = (mid + Math.imul(al1, bh7)) | 0;\n mid = (mid + Math.imul(ah1, bl7)) | 0;\n hi = (hi + Math.imul(ah1, bh7)) | 0;\n lo = (lo + Math.imul(al0, bl8)) | 0;\n mid = (mid + Math.imul(al0, bh8)) | 0;\n mid = (mid + Math.imul(ah0, bl8)) | 0;\n hi = (hi + Math.imul(ah0, bh8)) | 0;\n var w8 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w8 >>> 26)) | 0;\n w8 &= 0x3ffffff;\n /* k = 9 */\n lo = Math.imul(al9, bl0);\n mid = Math.imul(al9, bh0);\n mid = (mid + Math.imul(ah9, bl0)) | 0;\n hi = Math.imul(ah9, bh0);\n lo = (lo + Math.imul(al8, bl1)) | 0;\n mid = (mid + Math.imul(al8, bh1)) | 0;\n mid = (mid + Math.imul(ah8, bl1)) | 0;\n hi = (hi + Math.imul(ah8, bh1)) | 0;\n lo = (lo + Math.imul(al7, bl2)) | 0;\n mid = (mid + Math.imul(al7, bh2)) | 0;\n mid = (mid + Math.imul(ah7, bl2)) | 0;\n hi = (hi + Math.imul(ah7, bh2)) | 0;\n lo = (lo + Math.imul(al6, bl3)) | 0;\n mid = (mid + Math.imul(al6, bh3)) | 0;\n mid = (mid + Math.imul(ah6, bl3)) | 0;\n hi = (hi + Math.imul(ah6, bh3)) | 0;\n lo = (lo + Math.imul(al5, bl4)) | 0;\n mid = (mid + Math.imul(al5, bh4)) | 0;\n mid = (mid + Math.imul(ah5, bl4)) | 0;\n hi = (hi + Math.imul(ah5, bh4)) | 0;\n lo = (lo + Math.imul(al4, bl5)) | 0;\n mid = (mid + Math.imul(al4, bh5)) | 0;\n mid = (mid + Math.imul(ah4, bl5)) | 0;\n hi = (hi + Math.imul(ah4, bh5)) | 0;\n lo = (lo + Math.imul(al3, bl6)) | 0;\n mid = (mid + Math.imul(al3, bh6)) | 0;\n mid = (mid + Math.imul(ah3, bl6)) | 0;\n hi = (hi + Math.imul(ah3, bh6)) | 0;\n lo = (lo + Math.imul(al2, bl7)) | 0;\n mid = (mid + Math.imul(al2, bh7)) | 0;\n mid = (mid + Math.imul(ah2, bl7)) | 0;\n hi = (hi + Math.imul(ah2, bh7)) | 0;\n lo = (lo + Math.imul(al1, bl8)) | 0;\n mid = (mid + Math.imul(al1, bh8)) | 0;\n mid = (mid + Math.imul(ah1, bl8)) | 0;\n hi = (hi + Math.imul(ah1, bh8)) | 0;\n lo = (lo + Math.imul(al0, bl9)) | 0;\n mid = (mid + Math.imul(al0, bh9)) | 0;\n mid = (mid + Math.imul(ah0, bl9)) | 0;\n hi = (hi + Math.imul(ah0, bh9)) | 0;\n var w9 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w9 >>> 26)) | 0;\n w9 &= 0x3ffffff;\n /* k = 10 */\n lo = Math.imul(al9, bl1);\n mid = Math.imul(al9, bh1);\n mid = (mid + Math.imul(ah9, bl1)) | 0;\n hi = Math.imul(ah9, bh1);\n lo = (lo + Math.imul(al8, bl2)) | 0;\n mid = (mid + Math.imul(al8, bh2)) | 0;\n mid = (mid + Math.imul(ah8, bl2)) | 0;\n hi = (hi + Math.imul(ah8, bh2)) | 0;\n lo = (lo + Math.imul(al7, bl3)) | 0;\n mid = (mid + Math.imul(al7, bh3)) | 0;\n mid = (mid + Math.imul(ah7, bl3)) | 0;\n hi = (hi + Math.imul(ah7, bh3)) | 0;\n lo = (lo + Math.imul(al6, bl4)) | 0;\n mid = (mid + Math.imul(al6, bh4)) | 0;\n mid = (mid + Math.imul(ah6, bl4)) | 0;\n hi = (hi + Math.imul(ah6, bh4)) | 0;\n lo = (lo + Math.imul(al5, bl5)) | 0;\n mid = (mid + Math.imul(al5, bh5)) | 0;\n mid = (mid + Math.imul(ah5, bl5)) | 0;\n hi = (hi + Math.imul(ah5, bh5)) | 0;\n lo = (lo + Math.imul(al4, bl6)) | 0;\n mid = (mid + Math.imul(al4, bh6)) | 0;\n mid = (mid + Math.imul(ah4, bl6)) | 0;\n hi = (hi + Math.imul(ah4, bh6)) | 0;\n lo = (lo + Math.imul(al3, bl7)) | 0;\n mid = (mid + Math.imul(al3, bh7)) | 0;\n mid = (mid + Math.imul(ah3, bl7)) | 0;\n hi = (hi + Math.imul(ah3, bh7)) | 0;\n lo = (lo + Math.imul(al2, bl8)) | 0;\n mid = (mid + Math.imul(al2, bh8)) | 0;\n mid = (mid + Math.imul(ah2, bl8)) | 0;\n hi = (hi + Math.imul(ah2, bh8)) | 0;\n lo = (lo + Math.imul(al1, bl9)) | 0;\n mid = (mid + Math.imul(al1, bh9)) | 0;\n mid = (mid + Math.imul(ah1, bl9)) | 0;\n hi = (hi + Math.imul(ah1, bh9)) | 0;\n var w10 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w10 >>> 26)) | 0;\n w10 &= 0x3ffffff;\n /* k = 11 */\n lo = Math.imul(al9, bl2);\n mid = Math.imul(al9, bh2);\n mid = (mid + Math.imul(ah9, bl2)) | 0;\n hi = Math.imul(ah9, bh2);\n lo = (lo + Math.imul(al8, bl3)) | 0;\n mid = (mid + Math.imul(al8, bh3)) | 0;\n mid = (mid + Math.imul(ah8, bl3)) | 0;\n hi = (hi + Math.imul(ah8, bh3)) | 0;\n lo = (lo + Math.imul(al7, bl4)) | 0;\n mid = (mid + Math.imul(al7, bh4)) | 0;\n mid = (mid + Math.imul(ah7, bl4)) | 0;\n hi = (hi + Math.imul(ah7, bh4)) | 0;\n lo = (lo + Math.imul(al6, bl5)) | 0;\n mid = (mid + Math.imul(al6, bh5)) | 0;\n mid = (mid + Math.imul(ah6, bl5)) | 0;\n hi = (hi + Math.imul(ah6, bh5)) | 0;\n lo = (lo + Math.imul(al5, bl6)) | 0;\n mid = (mid + Math.imul(al5, bh6)) | 0;\n mid = (mid + Math.imul(ah5, bl6)) | 0;\n hi = (hi + Math.imul(ah5, bh6)) | 0;\n lo = (lo + Math.imul(al4, bl7)) | 0;\n mid = (mid + Math.imul(al4, bh7)) | 0;\n mid = (mid + Math.imul(ah4, bl7)) | 0;\n hi = (hi + Math.imul(ah4, bh7)) | 0;\n lo = (lo + Math.imul(al3, bl8)) | 0;\n mid = (mid + Math.imul(al3, bh8)) | 0;\n mid = (mid + Math.imul(ah3, bl8)) | 0;\n hi = (hi + Math.imul(ah3, bh8)) | 0;\n lo = (lo + Math.imul(al2, bl9)) | 0;\n mid = (mid + Math.imul(al2, bh9)) | 0;\n mid = (mid + Math.imul(ah2, bl9)) | 0;\n hi = (hi + Math.imul(ah2, bh9)) | 0;\n var w11 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w11 >>> 26)) | 0;\n w11 &= 0x3ffffff;\n /* k = 12 */\n lo = Math.imul(al9, bl3);\n mid = Math.imul(al9, bh3);\n mid = (mid + Math.imul(ah9, bl3)) | 0;\n hi = Math.imul(ah9, bh3);\n lo = (lo + Math.imul(al8, bl4)) | 0;\n mid = (mid + Math.imul(al8, bh4)) | 0;\n mid = (mid + Math.imul(ah8, bl4)) | 0;\n hi = (hi + Math.imul(ah8, bh4)) | 0;\n lo = (lo + Math.imul(al7, bl5)) | 0;\n mid = (mid + Math.imul(al7, bh5)) | 0;\n mid = (mid + Math.imul(ah7, bl5)) | 0;\n hi = (hi + Math.imul(ah7, bh5)) | 0;\n lo = (lo + Math.imul(al6, bl6)) | 0;\n mid = (mid + Math.imul(al6, bh6)) | 0;\n mid = (mid + Math.imul(ah6, bl6)) | 0;\n hi = (hi + Math.imul(ah6, bh6)) | 0;\n lo = (lo + Math.imul(al5, bl7)) | 0;\n mid = (mid + Math.imul(al5, bh7)) | 0;\n mid = (mid + Math.imul(ah5, bl7)) | 0;\n hi = (hi + Math.imul(ah5, bh7)) | 0;\n lo = (lo + Math.imul(al4, bl8)) | 0;\n mid = (mid + Math.imul(al4, bh8)) | 0;\n mid = (mid + Math.imul(ah4, bl8)) | 0;\n hi = (hi + Math.imul(ah4, bh8)) | 0;\n lo = (lo + Math.imul(al3, bl9)) | 0;\n mid = (mid + Math.imul(al3, bh9)) | 0;\n mid = (mid + Math.imul(ah3, bl9)) | 0;\n hi = (hi + Math.imul(ah3, bh9)) | 0;\n var w12 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w12 >>> 26)) | 0;\n w12 &= 0x3ffffff;\n /* k = 13 */\n lo = Math.imul(al9, bl4);\n mid = Math.imul(al9, bh4);\n mid = (mid + Math.imul(ah9, bl4)) | 0;\n hi = Math.imul(ah9, bh4);\n lo = (lo + Math.imul(al8, bl5)) | 0;\n mid = (mid + Math.imul(al8, bh5)) | 0;\n mid = (mid + Math.imul(ah8, bl5)) | 0;\n hi = (hi + Math.imul(ah8, bh5)) | 0;\n lo = (lo + Math.imul(al7, bl6)) | 0;\n mid = (mid + Math.imul(al7, bh6)) | 0;\n mid = (mid + Math.imul(ah7, bl6)) | 0;\n hi = (hi + Math.imul(ah7, bh6)) | 0;\n lo = (lo + Math.imul(al6, bl7)) | 0;\n mid = (mid + Math.imul(al6, bh7)) | 0;\n mid = (mid + Math.imul(ah6, bl7)) | 0;\n hi = (hi + Math.imul(ah6, bh7)) | 0;\n lo = (lo + Math.imul(al5, bl8)) | 0;\n mid = (mid + Math.imul(al5, bh8)) | 0;\n mid = (mid + Math.imul(ah5, bl8)) | 0;\n hi = (hi + Math.imul(ah5, bh8)) | 0;\n lo = (lo + Math.imul(al4, bl9)) | 0;\n mid = (mid + Math.imul(al4, bh9)) | 0;\n mid = (mid + Math.imul(ah4, bl9)) | 0;\n hi = (hi + Math.imul(ah4, bh9)) | 0;\n var w13 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w13 >>> 26)) | 0;\n w13 &= 0x3ffffff;\n /* k = 14 */\n lo = Math.imul(al9, bl5);\n mid = Math.imul(al9, bh5);\n mid = (mid + Math.imul(ah9, bl5)) | 0;\n hi = Math.imul(ah9, bh5);\n lo = (lo + Math.imul(al8, bl6)) | 0;\n mid = (mid + Math.imul(al8, bh6)) | 0;\n mid = (mid + Math.imul(ah8, bl6)) | 0;\n hi = (hi + Math.imul(ah8, bh6)) | 0;\n lo = (lo + Math.imul(al7, bl7)) | 0;\n mid = (mid + Math.imul(al7, bh7)) | 0;\n mid = (mid + Math.imul(ah7, bl7)) | 0;\n hi = (hi + Math.imul(ah7, bh7)) | 0;\n lo = (lo + Math.imul(al6, bl8)) | 0;\n mid = (mid + Math.imul(al6, bh8)) | 0;\n mid = (mid + Math.imul(ah6, bl8)) | 0;\n hi = (hi + Math.imul(ah6, bh8)) | 0;\n lo = (lo + Math.imul(al5, bl9)) | 0;\n mid = (mid + Math.imul(al5, bh9)) | 0;\n mid = (mid + Math.imul(ah5, bl9)) | 0;\n hi = (hi + Math.imul(ah5, bh9)) | 0;\n var w14 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w14 >>> 26)) | 0;\n w14 &= 0x3ffffff;\n /* k = 15 */\n lo = Math.imul(al9, bl6);\n mid = Math.imul(al9, bh6);\n mid = (mid + Math.imul(ah9, bl6)) | 0;\n hi = Math.imul(ah9, bh6);\n lo = (lo + Math.imul(al8, bl7)) | 0;\n mid = (mid + Math.imul(al8, bh7)) | 0;\n mid = (mid + Math.imul(ah8, bl7)) | 0;\n hi = (hi + Math.imul(ah8, bh7)) | 0;\n lo = (lo + Math.imul(al7, bl8)) | 0;\n mid = (mid + Math.imul(al7, bh8)) | 0;\n mid = (mid + Math.imul(ah7, bl8)) | 0;\n hi = (hi + Math.imul(ah7, bh8)) | 0;\n lo = (lo + Math.imul(al6, bl9)) | 0;\n mid = (mid + Math.imul(al6, bh9)) | 0;\n mid = (mid + Math.imul(ah6, bl9)) | 0;\n hi = (hi + Math.imul(ah6, bh9)) | 0;\n var w15 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w15 >>> 26)) | 0;\n w15 &= 0x3ffffff;\n /* k = 16 */\n lo = Math.imul(al9, bl7);\n mid = Math.imul(al9, bh7);\n mid = (mid + Math.imul(ah9, bl7)) | 0;\n hi = Math.imul(ah9, bh7);\n lo = (lo + Math.imul(al8, bl8)) | 0;\n mid = (mid + Math.imul(al8, bh8)) | 0;\n mid = (mid + Math.imul(ah8, bl8)) | 0;\n hi = (hi + Math.imul(ah8, bh8)) | 0;\n lo = (lo + Math.imul(al7, bl9)) | 0;\n mid = (mid + Math.imul(al7, bh9)) | 0;\n mid = (mid + Math.imul(ah7, bl9)) | 0;\n hi = (hi + Math.imul(ah7, bh9)) | 0;\n var w16 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w16 >>> 26)) | 0;\n w16 &= 0x3ffffff;\n /* k = 17 */\n lo = Math.imul(al9, bl8);\n mid = Math.imul(al9, bh8);\n mid = (mid + Math.imul(ah9, bl8)) | 0;\n hi = Math.imul(ah9, bh8);\n lo = (lo + Math.imul(al8, bl9)) | 0;\n mid = (mid + Math.imul(al8, bh9)) | 0;\n mid = (mid + Math.imul(ah8, bl9)) | 0;\n hi = (hi + Math.imul(ah8, bh9)) | 0;\n var w17 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w17 >>> 26)) | 0;\n w17 &= 0x3ffffff;\n /* k = 18 */\n lo = Math.imul(al9, bl9);\n mid = Math.imul(al9, bh9);\n mid = (mid + Math.imul(ah9, bl9)) | 0;\n hi = Math.imul(ah9, bh9);\n var w18 = (((c + lo) | 0) + ((mid & 0x1fff) << 13)) | 0;\n c = (((hi + (mid >>> 13)) | 0) + (w18 >>> 26)) | 0;\n w18 &= 0x3ffffff;\n o[0] = w0;\n o[1] = w1;\n o[2] = w2;\n o[3] = w3;\n o[4] = w4;\n o[5] = w5;\n o[6] = w6;\n o[7] = w7;\n o[8] = w8;\n o[9] = w9;\n o[10] = w10;\n o[11] = w11;\n o[12] = w12;\n o[13] = w13;\n o[14] = w14;\n o[15] = w15;\n o[16] = w16;\n o[17] = w17;\n o[18] = w18;\n if (c !== 0) {\n o[19] = c;\n out.length++;\n }\n return out;\n };\n\n // Polyfill comb\n if (!Math.imul) {\n comb10MulTo = smallMulTo;\n }\n\n function bigMulTo (self, num, out) {\n out.negative = num.negative ^ self.negative;\n out.length = self.length + num.length;\n\n var carry = 0;\n var hncarry = 0;\n for (var k = 0; k < out.length - 1; k++) {\n // Sum all words with the same `i + j = k` and accumulate `ncarry`,\n // note that ncarry could be >= 0x3ffffff\n var ncarry = hncarry;\n hncarry = 0;\n var rword = carry & 0x3ffffff;\n var maxJ = Math.min(k, num.length - 1);\n for (var j = Math.max(0, k - self.length + 1); j <= maxJ; j++) {\n var i = k - j;\n var a = self.words[i] | 0;\n var b = num.words[j] | 0;\n var r = a * b;\n\n var lo = r & 0x3ffffff;\n ncarry = (ncarry + ((r / 0x4000000) | 0)) | 0;\n lo = (lo + rword) | 0;\n rword = lo & 0x3ffffff;\n ncarry = (ncarry + (lo >>> 26)) | 0;\n\n hncarry += ncarry >>> 26;\n ncarry &= 0x3ffffff;\n }\n out.words[k] = rword;\n carry = ncarry;\n ncarry = hncarry;\n }\n if (carry !== 0) {\n out.words[k] = carry;\n } else {\n out.length--;\n }\n\n return out.strip();\n }\n\n function jumboMulTo (self, num, out) {\n var fftm = new FFTM();\n return fftm.mulp(self, num, out);\n }\n\n BN.prototype.mulTo = function mulTo (num, out) {\n var res;\n var len = this.length + num.length;\n if (this.length === 10 && num.length === 10) {\n res = comb10MulTo(this, num, out);\n } else if (len < 63) {\n res = smallMulTo(this, num, out);\n } else if (len < 1024) {\n res = bigMulTo(this, num, out);\n } else {\n res = jumboMulTo(this, num, out);\n }\n\n return res;\n };\n\n // Cooley-Tukey algorithm for FFT\n // slightly revisited to rely on looping instead of recursion\n\n function FFTM (x, y) {\n this.x = x;\n this.y = y;\n }\n\n FFTM.prototype.makeRBT = function makeRBT (N) {\n var t = new Array(N);\n var l = BN.prototype._countBits(N) - 1;\n for (var i = 0; i < N; i++) {\n t[i] = this.revBin(i, l, N);\n }\n\n return t;\n };\n\n // Returns binary-reversed representation of `x`\n FFTM.prototype.revBin = function revBin (x, l, N) {\n if (x === 0 || x === N - 1) return x;\n\n var rb = 0;\n for (var i = 0; i < l; i++) {\n rb |= (x & 1) << (l - i - 1);\n x >>= 1;\n }\n\n return rb;\n };\n\n // Performs \"tweedling\" phase, therefore 'emulating'\n // behaviour of the recursive algorithm\n FFTM.prototype.permute = function permute (rbt, rws, iws, rtws, itws, N) {\n for (var i = 0; i < N; i++) {\n rtws[i] = rws[rbt[i]];\n itws[i] = iws[rbt[i]];\n }\n };\n\n FFTM.prototype.transform = function transform (rws, iws, rtws, itws, N, rbt) {\n this.permute(rbt, rws, iws, rtws, itws, N);\n\n for (var s = 1; s < N; s <<= 1) {\n var l = s << 1;\n\n var rtwdf = Math.cos(2 * Math.PI / l);\n var itwdf = Math.sin(2 * Math.PI / l);\n\n for (var p = 0; p < N; p += l) {\n var rtwdf_ = rtwdf;\n var itwdf_ = itwdf;\n\n for (var j = 0; j < s; j++) {\n var re = rtws[p + j];\n var ie = itws[p + j];\n\n var ro = rtws[p + j + s];\n var io = itws[p + j + s];\n\n var rx = rtwdf_ * ro - itwdf_ * io;\n\n io = rtwdf_ * io + itwdf_ * ro;\n ro = rx;\n\n rtws[p + j] = re + ro;\n itws[p + j] = ie + io;\n\n rtws[p + j + s] = re - ro;\n itws[p + j + s] = ie - io;\n\n /* jshint maxdepth : false */\n if (j !== l) {\n rx = rtwdf * rtwdf_ - itwdf * itwdf_;\n\n itwdf_ = rtwdf * itwdf_ + itwdf * rtwdf_;\n rtwdf_ = rx;\n }\n }\n }\n }\n };\n\n FFTM.prototype.guessLen13b = function guessLen13b (n, m) {\n var N = Math.max(m, n) | 1;\n var odd = N & 1;\n var i = 0;\n for (N = N / 2 | 0; N; N = N >>> 1) {\n i++;\n }\n\n return 1 << i + 1 + odd;\n };\n\n FFTM.prototype.conjugate = function conjugate (rws, iws, N) {\n if (N <= 1) return;\n\n for (var i = 0; i < N / 2; i++) {\n var t = rws[i];\n\n rws[i] = rws[N - i - 1];\n rws[N - i - 1] = t;\n\n t = iws[i];\n\n iws[i] = -iws[N - i - 1];\n iws[N - i - 1] = -t;\n }\n };\n\n FFTM.prototype.normalize13b = function normalize13b (ws, N) {\n var carry = 0;\n for (var i = 0; i < N / 2; i++) {\n var w = Math.round(ws[2 * i + 1] / N) * 0x2000 +\n Math.round(ws[2 * i] / N) +\n carry;\n\n ws[i] = w & 0x3ffffff;\n\n if (w < 0x4000000) {\n carry = 0;\n } else {\n carry = w / 0x4000000 | 0;\n }\n }\n\n return ws;\n };\n\n FFTM.prototype.convert13b = function convert13b (ws, len, rws, N) {\n var carry = 0;\n for (var i = 0; i < len; i++) {\n carry = carry + (ws[i] | 0);\n\n rws[2 * i] = carry & 0x1fff; carry = carry >>> 13;\n rws[2 * i + 1] = carry & 0x1fff; carry = carry >>> 13;\n }\n\n // Pad with zeroes\n for (i = 2 * len; i < N; ++i) {\n rws[i] = 0;\n }\n\n assert(carry === 0);\n assert((carry & ~0x1fff) === 0);\n };\n\n FFTM.prototype.stub = function stub (N) {\n var ph = new Array(N);\n for (var i = 0; i < N; i++) {\n ph[i] = 0;\n }\n\n return ph;\n };\n\n FFTM.prototype.mulp = function mulp (x, y, out) {\n var N = 2 * this.guessLen13b(x.length, y.length);\n\n var rbt = this.makeRBT(N);\n\n var _ = this.stub(N);\n\n var rws = new Array(N);\n var rwst = new Array(N);\n var iwst = new Array(N);\n\n var nrws = new Array(N);\n var nrwst = new Array(N);\n var niwst = new Array(N);\n\n var rmws = out.words;\n rmws.length = N;\n\n this.convert13b(x.words, x.length, rws, N);\n this.convert13b(y.words, y.length, nrws, N);\n\n this.transform(rws, _, rwst, iwst, N, rbt);\n this.transform(nrws, _, nrwst, niwst, N, rbt);\n\n for (var i = 0; i < N; i++) {\n var rx = rwst[i] * nrwst[i] - iwst[i] * niwst[i];\n iwst[i] = rwst[i] * niwst[i] + iwst[i] * nrwst[i];\n rwst[i] = rx;\n }\n\n this.conjugate(rwst, iwst, N);\n this.transform(rwst, iwst, rmws, _, N, rbt);\n this.conjugate(rmws, _, N);\n this.normalize13b(rmws, N);\n\n out.negative = x.negative ^ y.negative;\n out.length = x.length + y.length;\n return out.strip();\n };\n\n // Multiply `this` by `num`\n BN.prototype.mul = function mul (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return this.mulTo(num, out);\n };\n\n // Multiply employing FFT\n BN.prototype.mulf = function mulf (num) {\n var out = new BN(null);\n out.words = new Array(this.length + num.length);\n return jumboMulTo(this, num, out);\n };\n\n // In-place Multiplication\n BN.prototype.imul = function imul (num) {\n return this.clone().mulTo(num, this);\n };\n\n BN.prototype.imuln = function imuln (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n\n // Carry\n var carry = 0;\n for (var i = 0; i < this.length; i++) {\n var w = (this.words[i] | 0) * num;\n var lo = (w & 0x3ffffff) + (carry & 0x3ffffff);\n carry >>= 26;\n carry += (w / 0x4000000) | 0;\n // NOTE: lo is 27bit maximum\n carry += lo >>> 26;\n this.words[i] = lo & 0x3ffffff;\n }\n\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n\n return this;\n };\n\n BN.prototype.muln = function muln (num) {\n return this.clone().imuln(num);\n };\n\n // `this` * `this`\n BN.prototype.sqr = function sqr () {\n return this.mul(this);\n };\n\n // `this` * `this` in-place\n BN.prototype.isqr = function isqr () {\n return this.imul(this.clone());\n };\n\n // Math.pow(`this`, `num`)\n BN.prototype.pow = function pow (num) {\n var w = toBitArray(num);\n if (w.length === 0) return new BN(1);\n\n // Skip leading zeroes\n var res = this;\n for (var i = 0; i < w.length; i++, res = res.sqr()) {\n if (w[i] !== 0) break;\n }\n\n if (++i < w.length) {\n for (var q = res.sqr(); i < w.length; i++, q = q.sqr()) {\n if (w[i] === 0) continue;\n\n res = res.mul(q);\n }\n }\n\n return res;\n };\n\n // Shift-left in-place\n BN.prototype.iushln = function iushln (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n var carryMask = (0x3ffffff >>> (26 - r)) << (26 - r);\n var i;\n\n if (r !== 0) {\n var carry = 0;\n\n for (i = 0; i < this.length; i++) {\n var newCarry = this.words[i] & carryMask;\n var c = ((this.words[i] | 0) - newCarry) << r;\n this.words[i] = c | carry;\n carry = newCarry >>> (26 - r);\n }\n\n if (carry) {\n this.words[i] = carry;\n this.length++;\n }\n }\n\n if (s !== 0) {\n for (i = this.length - 1; i >= 0; i--) {\n this.words[i + s] = this.words[i];\n }\n\n for (i = 0; i < s; i++) {\n this.words[i] = 0;\n }\n\n this.length += s;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishln = function ishln (bits) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushln(bits);\n };\n\n // Shift-right in-place\n // NOTE: `hint` is a lowest bit before trailing zeroes\n // NOTE: if `extended` is present - it will be filled with destroyed bits\n BN.prototype.iushrn = function iushrn (bits, hint, extended) {\n assert(typeof bits === 'number' && bits >= 0);\n var h;\n if (hint) {\n h = (hint - (hint % 26)) / 26;\n } else {\n h = 0;\n }\n\n var r = bits % 26;\n var s = Math.min((bits - r) / 26, this.length);\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n var maskedWords = extended;\n\n h -= s;\n h = Math.max(0, h);\n\n // Extended mode, copy masked part\n if (maskedWords) {\n for (var i = 0; i < s; i++) {\n maskedWords.words[i] = this.words[i];\n }\n maskedWords.length = s;\n }\n\n if (s === 0) {\n // No-op, we should not move anything at all\n } else if (this.length > s) {\n this.length -= s;\n for (i = 0; i < this.length; i++) {\n this.words[i] = this.words[i + s];\n }\n } else {\n this.words[0] = 0;\n this.length = 1;\n }\n\n var carry = 0;\n for (i = this.length - 1; i >= 0 && (carry !== 0 || i >= h); i--) {\n var word = this.words[i] | 0;\n this.words[i] = (carry << (26 - r)) | (word >>> r);\n carry = word & mask;\n }\n\n // Push carried bits as a mask\n if (maskedWords && carry !== 0) {\n maskedWords.words[maskedWords.length++] = carry;\n }\n\n if (this.length === 0) {\n this.words[0] = 0;\n this.length = 1;\n }\n\n return this.strip();\n };\n\n BN.prototype.ishrn = function ishrn (bits, hint, extended) {\n // TODO(indutny): implement me\n assert(this.negative === 0);\n return this.iushrn(bits, hint, extended);\n };\n\n // Shift-left\n BN.prototype.shln = function shln (bits) {\n return this.clone().ishln(bits);\n };\n\n BN.prototype.ushln = function ushln (bits) {\n return this.clone().iushln(bits);\n };\n\n // Shift-right\n BN.prototype.shrn = function shrn (bits) {\n return this.clone().ishrn(bits);\n };\n\n BN.prototype.ushrn = function ushrn (bits) {\n return this.clone().iushrn(bits);\n };\n\n // Test if n bit is set\n BN.prototype.testn = function testn (bit) {\n assert(typeof bit === 'number' && bit >= 0);\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) return false;\n\n // Check bit and return\n var w = this.words[s];\n\n return !!(w & q);\n };\n\n // Return only lowers bits of number (in-place)\n BN.prototype.imaskn = function imaskn (bits) {\n assert(typeof bits === 'number' && bits >= 0);\n var r = bits % 26;\n var s = (bits - r) / 26;\n\n assert(this.negative === 0, 'imaskn works only with positive numbers');\n\n if (this.length <= s) {\n return this;\n }\n\n if (r !== 0) {\n s++;\n }\n this.length = Math.min(s, this.length);\n\n if (r !== 0) {\n var mask = 0x3ffffff ^ ((0x3ffffff >>> r) << r);\n this.words[this.length - 1] &= mask;\n }\n\n return this.strip();\n };\n\n // Return only lowers bits of number\n BN.prototype.maskn = function maskn (bits) {\n return this.clone().imaskn(bits);\n };\n\n // Add plain number `num` to `this`\n BN.prototype.iaddn = function iaddn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.isubn(-num);\n\n // Possible sign change\n if (this.negative !== 0) {\n if (this.length === 1 && (this.words[0] | 0) < num) {\n this.words[0] = num - (this.words[0] | 0);\n this.negative = 0;\n return this;\n }\n\n this.negative = 0;\n this.isubn(num);\n this.negative = 1;\n return this;\n }\n\n // Add without checks\n return this._iaddn(num);\n };\n\n BN.prototype._iaddn = function _iaddn (num) {\n this.words[0] += num;\n\n // Carry\n for (var i = 0; i < this.length && this.words[i] >= 0x4000000; i++) {\n this.words[i] -= 0x4000000;\n if (i === this.length - 1) {\n this.words[i + 1] = 1;\n } else {\n this.words[i + 1]++;\n }\n }\n this.length = Math.max(this.length, i + 1);\n\n return this;\n };\n\n // Subtract plain number `num` from `this`\n BN.prototype.isubn = function isubn (num) {\n assert(typeof num === 'number');\n assert(num < 0x4000000);\n if (num < 0) return this.iaddn(-num);\n\n if (this.negative !== 0) {\n this.negative = 0;\n this.iaddn(num);\n this.negative = 1;\n return this;\n }\n\n this.words[0] -= num;\n\n if (this.length === 1 && this.words[0] < 0) {\n this.words[0] = -this.words[0];\n this.negative = 1;\n } else {\n // Carry\n for (var i = 0; i < this.length && this.words[i] < 0; i++) {\n this.words[i] += 0x4000000;\n this.words[i + 1] -= 1;\n }\n }\n\n return this.strip();\n };\n\n BN.prototype.addn = function addn (num) {\n return this.clone().iaddn(num);\n };\n\n BN.prototype.subn = function subn (num) {\n return this.clone().isubn(num);\n };\n\n BN.prototype.iabs = function iabs () {\n this.negative = 0;\n\n return this;\n };\n\n BN.prototype.abs = function abs () {\n return this.clone().iabs();\n };\n\n BN.prototype._ishlnsubmul = function _ishlnsubmul (num, mul, shift) {\n var len = num.length + shift;\n var i;\n\n this._expand(len);\n\n var w;\n var carry = 0;\n for (i = 0; i < num.length; i++) {\n w = (this.words[i + shift] | 0) + carry;\n var right = (num.words[i] | 0) * mul;\n w -= right & 0x3ffffff;\n carry = (w >> 26) - ((right / 0x4000000) | 0);\n this.words[i + shift] = w & 0x3ffffff;\n }\n for (; i < this.length - shift; i++) {\n w = (this.words[i + shift] | 0) + carry;\n carry = w >> 26;\n this.words[i + shift] = w & 0x3ffffff;\n }\n\n if (carry === 0) return this.strip();\n\n // Subtraction overflow\n assert(carry === -1);\n carry = 0;\n for (i = 0; i < this.length; i++) {\n w = -(this.words[i] | 0) + carry;\n carry = w >> 26;\n this.words[i] = w & 0x3ffffff;\n }\n this.negative = 1;\n\n return this.strip();\n };\n\n BN.prototype._wordDiv = function _wordDiv (num, mode) {\n var shift = this.length - num.length;\n\n var a = this.clone();\n var b = num;\n\n // Normalize\n var bhi = b.words[b.length - 1] | 0;\n var bhiBits = this._countBits(bhi);\n shift = 26 - bhiBits;\n if (shift !== 0) {\n b = b.ushln(shift);\n a.iushln(shift);\n bhi = b.words[b.length - 1] | 0;\n }\n\n // Initialize quotient\n var m = a.length - b.length;\n var q;\n\n if (mode !== 'mod') {\n q = new BN(null);\n q.length = m + 1;\n q.words = new Array(q.length);\n for (var i = 0; i < q.length; i++) {\n q.words[i] = 0;\n }\n }\n\n var diff = a.clone()._ishlnsubmul(b, 1, m);\n if (diff.negative === 0) {\n a = diff;\n if (q) {\n q.words[m] = 1;\n }\n }\n\n for (var j = m - 1; j >= 0; j--) {\n var qj = (a.words[b.length + j] | 0) * 0x4000000 +\n (a.words[b.length + j - 1] | 0);\n\n // NOTE: (qj / bhi) is (0x3ffffff * 0x4000000 + 0x3ffffff) / 0x2000000 max\n // (0x7ffffff)\n qj = Math.min((qj / bhi) | 0, 0x3ffffff);\n\n a._ishlnsubmul(b, qj, j);\n while (a.negative !== 0) {\n qj--;\n a.negative = 0;\n a._ishlnsubmul(b, 1, j);\n if (!a.isZero()) {\n a.negative ^= 1;\n }\n }\n if (q) {\n q.words[j] = qj;\n }\n }\n if (q) {\n q.strip();\n }\n a.strip();\n\n // Denormalize\n if (mode !== 'div' && shift !== 0) {\n a.iushrn(shift);\n }\n\n return {\n div: q || null,\n mod: a\n };\n };\n\n // NOTE: 1) `mode` can be set to `mod` to request mod only,\n // to `div` to request div only, or be absent to\n // request both div & mod\n // 2) `positive` is true if unsigned mod is requested\n BN.prototype.divmod = function divmod (num, mode, positive) {\n assert(!num.isZero());\n\n if (this.isZero()) {\n return {\n div: new BN(0),\n mod: new BN(0)\n };\n }\n\n var div, mod, res;\n if (this.negative !== 0 && num.negative === 0) {\n res = this.neg().divmod(num, mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.iadd(num);\n }\n }\n\n return {\n div: div,\n mod: mod\n };\n }\n\n if (this.negative === 0 && num.negative !== 0) {\n res = this.divmod(num.neg(), mode);\n\n if (mode !== 'mod') {\n div = res.div.neg();\n }\n\n return {\n div: div,\n mod: res.mod\n };\n }\n\n if ((this.negative & num.negative) !== 0) {\n res = this.neg().divmod(num.neg(), mode);\n\n if (mode !== 'div') {\n mod = res.mod.neg();\n if (positive && mod.negative !== 0) {\n mod.isub(num);\n }\n }\n\n return {\n div: res.div,\n mod: mod\n };\n }\n\n // Both numbers are positive at this point\n\n // Strip both numbers to approximate shift value\n if (num.length > this.length || this.cmp(num) < 0) {\n return {\n div: new BN(0),\n mod: this\n };\n }\n\n // Very short reduction\n if (num.length === 1) {\n if (mode === 'div') {\n return {\n div: this.divn(num.words[0]),\n mod: null\n };\n }\n\n if (mode === 'mod') {\n return {\n div: null,\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return {\n div: this.divn(num.words[0]),\n mod: new BN(this.modn(num.words[0]))\n };\n }\n\n return this._wordDiv(num, mode);\n };\n\n // Find `this` / `num`\n BN.prototype.div = function div (num) {\n return this.divmod(num, 'div', false).div;\n };\n\n // Find `this` % `num`\n BN.prototype.mod = function mod (num) {\n return this.divmod(num, 'mod', false).mod;\n };\n\n BN.prototype.umod = function umod (num) {\n return this.divmod(num, 'mod', true).mod;\n };\n\n // Find Round(`this` / `num`)\n BN.prototype.divRound = function divRound (num) {\n var dm = this.divmod(num);\n\n // Fast case - exact division\n if (dm.mod.isZero()) return dm.div;\n\n var mod = dm.div.negative !== 0 ? dm.mod.isub(num) : dm.mod;\n\n var half = num.ushrn(1);\n var r2 = num.andln(1);\n var cmp = mod.cmp(half);\n\n // Round down\n if (cmp < 0 || r2 === 1 && cmp === 0) return dm.div;\n\n // Round up\n return dm.div.negative !== 0 ? dm.div.isubn(1) : dm.div.iaddn(1);\n };\n\n BN.prototype.modn = function modn (num) {\n assert(num <= 0x3ffffff);\n var p = (1 << 26) % num;\n\n var acc = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n acc = (p * acc + (this.words[i] | 0)) % num;\n }\n\n return acc;\n };\n\n // In-place division by number\n BN.prototype.idivn = function idivn (num) {\n assert(num <= 0x3ffffff);\n\n var carry = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var w = (this.words[i] | 0) + carry * 0x4000000;\n this.words[i] = (w / num) | 0;\n carry = w % num;\n }\n\n return this.strip();\n };\n\n BN.prototype.divn = function divn (num) {\n return this.clone().idivn(num);\n };\n\n BN.prototype.egcd = function egcd (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var x = this;\n var y = p.clone();\n\n if (x.negative !== 0) {\n x = x.umod(p);\n } else {\n x = x.clone();\n }\n\n // A * x + B * y = x\n var A = new BN(1);\n var B = new BN(0);\n\n // C * x + D * y = y\n var C = new BN(0);\n var D = new BN(1);\n\n var g = 0;\n\n while (x.isEven() && y.isEven()) {\n x.iushrn(1);\n y.iushrn(1);\n ++g;\n }\n\n var yp = y.clone();\n var xp = x.clone();\n\n while (!x.isZero()) {\n for (var i = 0, im = 1; (x.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n x.iushrn(i);\n while (i-- > 0) {\n if (A.isOdd() || B.isOdd()) {\n A.iadd(yp);\n B.isub(xp);\n }\n\n A.iushrn(1);\n B.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (y.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n y.iushrn(j);\n while (j-- > 0) {\n if (C.isOdd() || D.isOdd()) {\n C.iadd(yp);\n D.isub(xp);\n }\n\n C.iushrn(1);\n D.iushrn(1);\n }\n }\n\n if (x.cmp(y) >= 0) {\n x.isub(y);\n A.isub(C);\n B.isub(D);\n } else {\n y.isub(x);\n C.isub(A);\n D.isub(B);\n }\n }\n\n return {\n a: C,\n b: D,\n gcd: y.iushln(g)\n };\n };\n\n // This is reduced incarnation of the binary EEA\n // above, designated to invert members of the\n // _prime_ fields F(p) at a maximal speed\n BN.prototype._invmp = function _invmp (p) {\n assert(p.negative === 0);\n assert(!p.isZero());\n\n var a = this;\n var b = p.clone();\n\n if (a.negative !== 0) {\n a = a.umod(p);\n } else {\n a = a.clone();\n }\n\n var x1 = new BN(1);\n var x2 = new BN(0);\n\n var delta = b.clone();\n\n while (a.cmpn(1) > 0 && b.cmpn(1) > 0) {\n for (var i = 0, im = 1; (a.words[0] & im) === 0 && i < 26; ++i, im <<= 1);\n if (i > 0) {\n a.iushrn(i);\n while (i-- > 0) {\n if (x1.isOdd()) {\n x1.iadd(delta);\n }\n\n x1.iushrn(1);\n }\n }\n\n for (var j = 0, jm = 1; (b.words[0] & jm) === 0 && j < 26; ++j, jm <<= 1);\n if (j > 0) {\n b.iushrn(j);\n while (j-- > 0) {\n if (x2.isOdd()) {\n x2.iadd(delta);\n }\n\n x2.iushrn(1);\n }\n }\n\n if (a.cmp(b) >= 0) {\n a.isub(b);\n x1.isub(x2);\n } else {\n b.isub(a);\n x2.isub(x1);\n }\n }\n\n var res;\n if (a.cmpn(1) === 0) {\n res = x1;\n } else {\n res = x2;\n }\n\n if (res.cmpn(0) < 0) {\n res.iadd(p);\n }\n\n return res;\n };\n\n BN.prototype.gcd = function gcd (num) {\n if (this.isZero()) return num.abs();\n if (num.isZero()) return this.abs();\n\n var a = this.clone();\n var b = num.clone();\n a.negative = 0;\n b.negative = 0;\n\n // Remove common factor of two\n for (var shift = 0; a.isEven() && b.isEven(); shift++) {\n a.iushrn(1);\n b.iushrn(1);\n }\n\n do {\n while (a.isEven()) {\n a.iushrn(1);\n }\n while (b.isEven()) {\n b.iushrn(1);\n }\n\n var r = a.cmp(b);\n if (r < 0) {\n // Swap `a` and `b` to make `a` always bigger than `b`\n var t = a;\n a = b;\n b = t;\n } else if (r === 0 || b.cmpn(1) === 0) {\n break;\n }\n\n a.isub(b);\n } while (true);\n\n return b.iushln(shift);\n };\n\n // Invert number in the field F(num)\n BN.prototype.invm = function invm (num) {\n return this.egcd(num).a.umod(num);\n };\n\n BN.prototype.isEven = function isEven () {\n return (this.words[0] & 1) === 0;\n };\n\n BN.prototype.isOdd = function isOdd () {\n return (this.words[0] & 1) === 1;\n };\n\n // And first word and num\n BN.prototype.andln = function andln (num) {\n return this.words[0] & num;\n };\n\n // Increment at the bit position in-line\n BN.prototype.bincn = function bincn (bit) {\n assert(typeof bit === 'number');\n var r = bit % 26;\n var s = (bit - r) / 26;\n var q = 1 << r;\n\n // Fast case: bit is much higher than all existing words\n if (this.length <= s) {\n this._expand(s + 1);\n this.words[s] |= q;\n return this;\n }\n\n // Add bit and propagate, if needed\n var carry = q;\n for (var i = s; carry !== 0 && i < this.length; i++) {\n var w = this.words[i] | 0;\n w += carry;\n carry = w >>> 26;\n w &= 0x3ffffff;\n this.words[i] = w;\n }\n if (carry !== 0) {\n this.words[i] = carry;\n this.length++;\n }\n return this;\n };\n\n BN.prototype.isZero = function isZero () {\n return this.length === 1 && this.words[0] === 0;\n };\n\n BN.prototype.cmpn = function cmpn (num) {\n var negative = num < 0;\n\n if (this.negative !== 0 && !negative) return -1;\n if (this.negative === 0 && negative) return 1;\n\n this.strip();\n\n var res;\n if (this.length > 1) {\n res = 1;\n } else {\n if (negative) {\n num = -num;\n }\n\n assert(num <= 0x3ffffff, 'Number is too big');\n\n var w = this.words[0] | 0;\n res = w === num ? 0 : w < num ? -1 : 1;\n }\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Compare two numbers and return:\n // 1 - if `this` > `num`\n // 0 - if `this` == `num`\n // -1 - if `this` < `num`\n BN.prototype.cmp = function cmp (num) {\n if (this.negative !== 0 && num.negative === 0) return -1;\n if (this.negative === 0 && num.negative !== 0) return 1;\n\n var res = this.ucmp(num);\n if (this.negative !== 0) return -res | 0;\n return res;\n };\n\n // Unsigned comparison\n BN.prototype.ucmp = function ucmp (num) {\n // At this point both numbers have the same sign\n if (this.length > num.length) return 1;\n if (this.length < num.length) return -1;\n\n var res = 0;\n for (var i = this.length - 1; i >= 0; i--) {\n var a = this.words[i] | 0;\n var b = num.words[i] | 0;\n\n if (a === b) continue;\n if (a < b) {\n res = -1;\n } else if (a > b) {\n res = 1;\n }\n break;\n }\n return res;\n };\n\n BN.prototype.gtn = function gtn (num) {\n return this.cmpn(num) === 1;\n };\n\n BN.prototype.gt = function gt (num) {\n return this.cmp(num) === 1;\n };\n\n BN.prototype.gten = function gten (num) {\n return this.cmpn(num) >= 0;\n };\n\n BN.prototype.gte = function gte (num) {\n return this.cmp(num) >= 0;\n };\n\n BN.prototype.ltn = function ltn (num) {\n return this.cmpn(num) === -1;\n };\n\n BN.prototype.lt = function lt (num) {\n return this.cmp(num) === -1;\n };\n\n BN.prototype.lten = function lten (num) {\n return this.cmpn(num) <= 0;\n };\n\n BN.prototype.lte = function lte (num) {\n return this.cmp(num) <= 0;\n };\n\n BN.prototype.eqn = function eqn (num) {\n return this.cmpn(num) === 0;\n };\n\n BN.prototype.eq = function eq (num) {\n return this.cmp(num) === 0;\n };\n\n //\n // A reduce context, could be using montgomery or something better, depending\n // on the `m` itself.\n //\n BN.red = function red (num) {\n return new Red(num);\n };\n\n BN.prototype.toRed = function toRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n assert(this.negative === 0, 'red works only with positives');\n return ctx.convertTo(this)._forceRed(ctx);\n };\n\n BN.prototype.fromRed = function fromRed () {\n assert(this.red, 'fromRed works only with numbers in reduction context');\n return this.red.convertFrom(this);\n };\n\n BN.prototype._forceRed = function _forceRed (ctx) {\n this.red = ctx;\n return this;\n };\n\n BN.prototype.forceRed = function forceRed (ctx) {\n assert(!this.red, 'Already a number in reduction context');\n return this._forceRed(ctx);\n };\n\n BN.prototype.redAdd = function redAdd (num) {\n assert(this.red, 'redAdd works only with red numbers');\n return this.red.add(this, num);\n };\n\n BN.prototype.redIAdd = function redIAdd (num) {\n assert(this.red, 'redIAdd works only with red numbers');\n return this.red.iadd(this, num);\n };\n\n BN.prototype.redSub = function redSub (num) {\n assert(this.red, 'redSub works only with red numbers');\n return this.red.sub(this, num);\n };\n\n BN.prototype.redISub = function redISub (num) {\n assert(this.red, 'redISub works only with red numbers');\n return this.red.isub(this, num);\n };\n\n BN.prototype.redShl = function redShl (num) {\n assert(this.red, 'redShl works only with red numbers');\n return this.red.shl(this, num);\n };\n\n BN.prototype.redMul = function redMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.mul(this, num);\n };\n\n BN.prototype.redIMul = function redIMul (num) {\n assert(this.red, 'redMul works only with red numbers');\n this.red._verify2(this, num);\n return this.red.imul(this, num);\n };\n\n BN.prototype.redSqr = function redSqr () {\n assert(this.red, 'redSqr works only with red numbers');\n this.red._verify1(this);\n return this.red.sqr(this);\n };\n\n BN.prototype.redISqr = function redISqr () {\n assert(this.red, 'redISqr works only with red numbers');\n this.red._verify1(this);\n return this.red.isqr(this);\n };\n\n // Square root over p\n BN.prototype.redSqrt = function redSqrt () {\n assert(this.red, 'redSqrt works only with red numbers');\n this.red._verify1(this);\n return this.red.sqrt(this);\n };\n\n BN.prototype.redInvm = function redInvm () {\n assert(this.red, 'redInvm works only with red numbers');\n this.red._verify1(this);\n return this.red.invm(this);\n };\n\n // Return negative clone of `this` % `red modulo`\n BN.prototype.redNeg = function redNeg () {\n assert(this.red, 'redNeg works only with red numbers');\n this.red._verify1(this);\n return this.red.neg(this);\n };\n\n BN.prototype.redPow = function redPow (num) {\n assert(this.red && !num.red, 'redPow(normalNum)');\n this.red._verify1(this);\n return this.red.pow(this, num);\n };\n\n // Prime numbers with efficient reduction\n var primes = {\n k256: null,\n p224: null,\n p192: null,\n p25519: null\n };\n\n // Pseudo-Mersenne prime\n function MPrime (name, p) {\n // P = 2 ^ N - K\n this.name = name;\n this.p = new BN(p, 16);\n this.n = this.p.bitLength();\n this.k = new BN(1).iushln(this.n).isub(this.p);\n\n this.tmp = this._tmp();\n }\n\n MPrime.prototype._tmp = function _tmp () {\n var tmp = new BN(null);\n tmp.words = new Array(Math.ceil(this.n / 13));\n return tmp;\n };\n\n MPrime.prototype.ireduce = function ireduce (num) {\n // Assumes that `num` is less than `P^2`\n // num = HI * (2 ^ N - K) + HI * K + LO = HI * K + LO (mod P)\n var r = num;\n var rlen;\n\n do {\n this.split(r, this.tmp);\n r = this.imulK(r);\n r = r.iadd(this.tmp);\n rlen = r.bitLength();\n } while (rlen > this.n);\n\n var cmp = rlen < this.n ? -1 : r.ucmp(this.p);\n if (cmp === 0) {\n r.words[0] = 0;\n r.length = 1;\n } else if (cmp > 0) {\n r.isub(this.p);\n } else {\n if (r.strip !== undefined) {\n // r is BN v4 instance\n r.strip();\n } else {\n // r is BN v5 instance\n r._strip();\n }\n }\n\n return r;\n };\n\n MPrime.prototype.split = function split (input, out) {\n input.iushrn(this.n, 0, out);\n };\n\n MPrime.prototype.imulK = function imulK (num) {\n return num.imul(this.k);\n };\n\n function K256 () {\n MPrime.call(\n this,\n 'k256',\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f');\n }\n inherits(K256, MPrime);\n\n K256.prototype.split = function split (input, output) {\n // 256 = 9 * 26 + 22\n var mask = 0x3fffff;\n\n var outLen = Math.min(input.length, 9);\n for (var i = 0; i < outLen; i++) {\n output.words[i] = input.words[i];\n }\n output.length = outLen;\n\n if (input.length <= 9) {\n input.words[0] = 0;\n input.length = 1;\n return;\n }\n\n // Shift by 9 limbs\n var prev = input.words[9];\n output.words[output.length++] = prev & mask;\n\n for (i = 10; i < input.length; i++) {\n var next = input.words[i] | 0;\n input.words[i - 10] = ((next & mask) << 4) | (prev >>> 22);\n prev = next;\n }\n prev >>>= 22;\n input.words[i - 10] = prev;\n if (prev === 0 && input.length > 10) {\n input.length -= 10;\n } else {\n input.length -= 9;\n }\n };\n\n K256.prototype.imulK = function imulK (num) {\n // K = 0x1000003d1 = [ 0x40, 0x3d1 ]\n num.words[num.length] = 0;\n num.words[num.length + 1] = 0;\n num.length += 2;\n\n // bounded at: 0x40 * 0x3ffffff + 0x3d0 = 0x100000390\n var lo = 0;\n for (var i = 0; i < num.length; i++) {\n var w = num.words[i] | 0;\n lo += w * 0x3d1;\n num.words[i] = lo & 0x3ffffff;\n lo = w * 0x40 + ((lo / 0x4000000) | 0);\n }\n\n // Fast length reduction\n if (num.words[num.length - 1] === 0) {\n num.length--;\n if (num.words[num.length - 1] === 0) {\n num.length--;\n }\n }\n return num;\n };\n\n function P224 () {\n MPrime.call(\n this,\n 'p224',\n 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001');\n }\n inherits(P224, MPrime);\n\n function P192 () {\n MPrime.call(\n this,\n 'p192',\n 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff');\n }\n inherits(P192, MPrime);\n\n function P25519 () {\n // 2 ^ 255 - 19\n MPrime.call(\n this,\n '25519',\n '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed');\n }\n inherits(P25519, MPrime);\n\n P25519.prototype.imulK = function imulK (num) {\n // K = 0x13\n var carry = 0;\n for (var i = 0; i < num.length; i++) {\n var hi = (num.words[i] | 0) * 0x13 + carry;\n var lo = hi & 0x3ffffff;\n hi >>>= 26;\n\n num.words[i] = lo;\n carry = hi;\n }\n if (carry !== 0) {\n num.words[num.length++] = carry;\n }\n return num;\n };\n\n // Exported mostly for testing purposes, use plain name instead\n BN._prime = function prime (name) {\n // Cached version of prime\n if (primes[name]) return primes[name];\n\n var prime;\n if (name === 'k256') {\n prime = new K256();\n } else if (name === 'p224') {\n prime = new P224();\n } else if (name === 'p192') {\n prime = new P192();\n } else if (name === 'p25519') {\n prime = new P25519();\n } else {\n throw new Error('Unknown prime ' + name);\n }\n primes[name] = prime;\n\n return prime;\n };\n\n //\n // Base reduction engine\n //\n function Red (m) {\n if (typeof m === 'string') {\n var prime = BN._prime(m);\n this.m = prime.p;\n this.prime = prime;\n } else {\n assert(m.gtn(1), 'modulus must be greater than 1');\n this.m = m;\n this.prime = null;\n }\n }\n\n Red.prototype._verify1 = function _verify1 (a) {\n assert(a.negative === 0, 'red works only with positives');\n assert(a.red, 'red works only with red numbers');\n };\n\n Red.prototype._verify2 = function _verify2 (a, b) {\n assert((a.negative | b.negative) === 0, 'red works only with positives');\n assert(a.red && a.red === b.red,\n 'red works only with red numbers');\n };\n\n Red.prototype.imod = function imod (a) {\n if (this.prime) return this.prime.ireduce(a)._forceRed(this);\n return a.umod(this.m)._forceRed(this);\n };\n\n Red.prototype.neg = function neg (a) {\n if (a.isZero()) {\n return a.clone();\n }\n\n return this.m.sub(a)._forceRed(this);\n };\n\n Red.prototype.add = function add (a, b) {\n this._verify2(a, b);\n\n var res = a.add(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.iadd = function iadd (a, b) {\n this._verify2(a, b);\n\n var res = a.iadd(b);\n if (res.cmp(this.m) >= 0) {\n res.isub(this.m);\n }\n return res;\n };\n\n Red.prototype.sub = function sub (a, b) {\n this._verify2(a, b);\n\n var res = a.sub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res._forceRed(this);\n };\n\n Red.prototype.isub = function isub (a, b) {\n this._verify2(a, b);\n\n var res = a.isub(b);\n if (res.cmpn(0) < 0) {\n res.iadd(this.m);\n }\n return res;\n };\n\n Red.prototype.shl = function shl (a, num) {\n this._verify1(a);\n return this.imod(a.ushln(num));\n };\n\n Red.prototype.imul = function imul (a, b) {\n this._verify2(a, b);\n return this.imod(a.imul(b));\n };\n\n Red.prototype.mul = function mul (a, b) {\n this._verify2(a, b);\n return this.imod(a.mul(b));\n };\n\n Red.prototype.isqr = function isqr (a) {\n return this.imul(a, a.clone());\n };\n\n Red.prototype.sqr = function sqr (a) {\n return this.mul(a, a);\n };\n\n Red.prototype.sqrt = function sqrt (a) {\n if (a.isZero()) return a.clone();\n\n var mod3 = this.m.andln(3);\n assert(mod3 % 2 === 1);\n\n // Fast case\n if (mod3 === 3) {\n var pow = this.m.add(new BN(1)).iushrn(2);\n return this.pow(a, pow);\n }\n\n // Tonelli-Shanks algorithm (Totally unoptimized and slow)\n //\n // Find Q and S, that Q * 2 ^ S = (P - 1)\n var q = this.m.subn(1);\n var s = 0;\n while (!q.isZero() && q.andln(1) === 0) {\n s++;\n q.iushrn(1);\n }\n assert(!q.isZero());\n\n var one = new BN(1).toRed(this);\n var nOne = one.redNeg();\n\n // Find quadratic non-residue\n // NOTE: Max is such because of generalized Riemann hypothesis.\n var lpow = this.m.subn(1).iushrn(1);\n var z = this.m.bitLength();\n z = new BN(2 * z * z).toRed(this);\n\n while (this.pow(z, lpow).cmp(nOne) !== 0) {\n z.redIAdd(nOne);\n }\n\n var c = this.pow(z, q);\n var r = this.pow(a, q.addn(1).iushrn(1));\n var t = this.pow(a, q);\n var m = s;\n while (t.cmp(one) !== 0) {\n var tmp = t;\n for (var i = 0; tmp.cmp(one) !== 0; i++) {\n tmp = tmp.redSqr();\n }\n assert(i < m);\n var b = this.pow(c, new BN(1).iushln(m - i - 1));\n\n r = r.redMul(b);\n c = b.redSqr();\n t = t.redMul(c);\n m = i;\n }\n\n return r;\n };\n\n Red.prototype.invm = function invm (a) {\n var inv = a._invmp(this.m);\n if (inv.negative !== 0) {\n inv.negative = 0;\n return this.imod(inv).redNeg();\n } else {\n return this.imod(inv);\n }\n };\n\n Red.prototype.pow = function pow (a, num) {\n if (num.isZero()) return new BN(1).toRed(this);\n if (num.cmpn(1) === 0) return a.clone();\n\n var windowSize = 4;\n var wnd = new Array(1 << windowSize);\n wnd[0] = new BN(1).toRed(this);\n wnd[1] = a;\n for (var i = 2; i < wnd.length; i++) {\n wnd[i] = this.mul(wnd[i - 1], a);\n }\n\n var res = wnd[0];\n var current = 0;\n var currentLen = 0;\n var start = num.bitLength() % 26;\n if (start === 0) {\n start = 26;\n }\n\n for (i = num.length - 1; i >= 0; i--) {\n var word = num.words[i];\n for (var j = start - 1; j >= 0; j--) {\n var bit = (word >> j) & 1;\n if (res !== wnd[0]) {\n res = this.sqr(res);\n }\n\n if (bit === 0 && current === 0) {\n currentLen = 0;\n continue;\n }\n\n current <<= 1;\n current |= bit;\n currentLen++;\n if (currentLen !== windowSize && (i !== 0 || j !== 0)) continue;\n\n res = this.mul(res, wnd[current]);\n currentLen = 0;\n current = 0;\n }\n start = 26;\n }\n\n return res;\n };\n\n Red.prototype.convertTo = function convertTo (num) {\n var r = num.umod(this.m);\n\n return r === num ? r.clone() : r;\n };\n\n Red.prototype.convertFrom = function convertFrom (num) {\n var res = num.clone();\n res.red = null;\n return res;\n };\n\n //\n // Montgomery method engine\n //\n\n BN.mont = function mont (num) {\n return new Mont(num);\n };\n\n function Mont (m) {\n Red.call(this, m);\n\n this.shift = this.m.bitLength();\n if (this.shift % 26 !== 0) {\n this.shift += 26 - (this.shift % 26);\n }\n\n this.r = new BN(1).iushln(this.shift);\n this.r2 = this.imod(this.r.sqr());\n this.rinv = this.r._invmp(this.m);\n\n this.minv = this.rinv.mul(this.r).isubn(1).div(this.m);\n this.minv = this.minv.umod(this.r);\n this.minv = this.r.sub(this.minv);\n }\n inherits(Mont, Red);\n\n Mont.prototype.convertTo = function convertTo (num) {\n return this.imod(num.ushln(this.shift));\n };\n\n Mont.prototype.convertFrom = function convertFrom (num) {\n var r = this.imod(num.mul(this.rinv));\n r.red = null;\n return r;\n };\n\n Mont.prototype.imul = function imul (a, b) {\n if (a.isZero() || b.isZero()) {\n a.words[0] = 0;\n a.length = 1;\n return a;\n }\n\n var t = a.imul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.mul = function mul (a, b) {\n if (a.isZero() || b.isZero()) return new BN(0)._forceRed(this);\n\n var t = a.mul(b);\n var c = t.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m);\n var u = t.isub(c).iushrn(this.shift);\n var res = u;\n if (u.cmp(this.m) >= 0) {\n res = u.isub(this.m);\n } else if (u.cmpn(0) < 0) {\n res = u.iadd(this.m);\n }\n\n return res._forceRed(this);\n };\n\n Mont.prototype.invm = function invm (a) {\n // (AR)^-1 * R^2 = (A^-1 * R^-1) * R^2 = A^-1 * R\n var res = this.imod(a._invmp(this.m).mul(this.r2));\n return res._forceRed(this);\n };\n})(typeof module === 'undefined' || module, this);\n","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","var r;\n\nmodule.exports = function rand(len) {\n if (!r)\n r = new Rand(null);\n\n return r.generate(len);\n};\n\nfunction Rand(rand) {\n this.rand = rand;\n}\nmodule.exports.Rand = Rand;\n\nRand.prototype.generate = function generate(len) {\n return this._rand(len);\n};\n\n// Emulate crypto API using randy\nRand.prototype._rand = function _rand(n) {\n if (this.rand.getBytes)\n return this.rand.getBytes(n);\n\n var res = new Uint8Array(n);\n for (var i = 0; i < res.length; i++)\n res[i] = this.rand.getByte();\n return res;\n};\n\nif (typeof self === 'object') {\n if (self.crypto && self.crypto.getRandomValues) {\n // Modern browsers\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.crypto.getRandomValues(arr);\n return arr;\n };\n } else if (self.msCrypto && self.msCrypto.getRandomValues) {\n // IE\n Rand.prototype._rand = function _rand(n) {\n var arr = new Uint8Array(n);\n self.msCrypto.getRandomValues(arr);\n return arr;\n };\n\n // Safari's WebWorkers do not have `crypto`\n } else if (typeof window === 'object') {\n // Old junk\n Rand.prototype._rand = function() {\n throw new Error('Not implemented yet');\n };\n }\n} else {\n // Node.js or Web worker with no crypto support\n try {\n var crypto = require('crypto');\n if (typeof crypto.randomBytes !== 'function')\n throw new Error('Not supported');\n\n Rand.prototype._rand = function _rand(n) {\n return crypto.randomBytes(n);\n };\n } catch (e) {\n }\n}\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar utils = require('../utils');\n\nfunction MontCurve(conf) {\n Base.call(this, 'mont', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.i4 = new BN(4).toRed(this.red).redInvm();\n this.two = new BN(2).toRed(this.red);\n this.a24 = this.i4.redMul(this.a.redAdd(this.two));\n}\ninherits(MontCurve, Base);\nmodule.exports = MontCurve;\n\nMontCurve.prototype.validate = function validate(point) {\n var x = point.normalize().x;\n var x2 = x.redSqr();\n var rhs = x2.redMul(x).redAdd(x2.redMul(this.a)).redAdd(x);\n var y = rhs.redSqrt();\n\n return y.redSqr().cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, z) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && z === null) {\n this.x = this.curve.one;\n this.z = this.curve.zero;\n } else {\n this.x = new BN(x, 16);\n this.z = new BN(z, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n }\n}\ninherits(Point, Base.BasePoint);\n\nMontCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n return this.point(utils.toArray(bytes, enc), 1);\n};\n\nMontCurve.prototype.point = function point(x, z) {\n return new Point(this, x, z);\n};\n\nMontCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nPoint.prototype.precompute = function precompute() {\n // No-op\n};\n\nPoint.prototype._encode = function _encode() {\n return this.getX().toArray('be', this.curve.p.byteLength());\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1] || curve.one);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n\nPoint.prototype.dbl = function dbl() {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#doubling-dbl-1987-m-3\n // 2M + 2S + 4A\n\n // A = X1 + Z1\n var a = this.x.redAdd(this.z);\n // AA = A^2\n var aa = a.redSqr();\n // B = X1 - Z1\n var b = this.x.redSub(this.z);\n // BB = B^2\n var bb = b.redSqr();\n // C = AA - BB\n var c = aa.redSub(bb);\n // X3 = AA * BB\n var nx = aa.redMul(bb);\n // Z3 = C * (BB + A24 * C)\n var nz = c.redMul(bb.redAdd(this.curve.a24.redMul(c)));\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.add = function add() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.diffAdd = function diffAdd(p, diff) {\n // http://hyperelliptic.org/EFD/g1p/auto-montgom-xz.html#diffadd-dadd-1987-m-3\n // 4M + 2S + 6A\n\n // A = X2 + Z2\n var a = this.x.redAdd(this.z);\n // B = X2 - Z2\n var b = this.x.redSub(this.z);\n // C = X3 + Z3\n var c = p.x.redAdd(p.z);\n // D = X3 - Z3\n var d = p.x.redSub(p.z);\n // DA = D * A\n var da = d.redMul(a);\n // CB = C * B\n var cb = c.redMul(b);\n // X5 = Z1 * (DA + CB)^2\n var nx = diff.z.redMul(da.redAdd(cb).redSqr());\n // Z5 = X1 * (DA - CB)^2\n var nz = diff.x.redMul(da.redISub(cb).redSqr());\n return this.curve.point(nx, nz);\n};\n\nPoint.prototype.mul = function mul(k) {\n var t = k.clone();\n var a = this; // (N / 2) * Q + Q\n var b = this.curve.point(null, null); // (N / 2) * Q\n var c = this; // Q\n\n for (var bits = []; t.cmpn(0) !== 0; t.iushrn(1))\n bits.push(t.andln(1));\n\n for (var i = bits.length - 1; i >= 0; i--) {\n if (bits[i] === 0) {\n // N * Q + Q = ((N / 2) * Q + Q)) + (N / 2) * Q\n a = a.diffAdd(b, c);\n // N * Q = 2 * ((N / 2) * Q + Q))\n b = b.dbl();\n } else {\n // N * Q = ((N / 2) * Q + Q) + ((N / 2) * Q)\n b = a.diffAdd(b, c);\n // N * Q + Q = 2 * ((N / 2) * Q + Q)\n a = a.dbl();\n }\n }\n return b;\n};\n\nPoint.prototype.mulAdd = function mulAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.jumlAdd = function jumlAdd() {\n throw new Error('Not supported on Montgomery curve');\n};\n\nPoint.prototype.eq = function eq(other) {\n return this.getX().cmp(other.getX()) === 0;\n};\n\nPoint.prototype.normalize = function normalize() {\n this.x = this.x.redMul(this.z.redInvm());\n this.z = this.curve.one;\n return this;\n};\n\nPoint.prototype.getX = function getX() {\n // Normalize coordinates\n this.normalize();\n\n return this.x.fromRed();\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction EdwardsCurve(conf) {\n // NOTE: Important as we are creating point in Base.call()\n this.twisted = (conf.a | 0) !== 1;\n this.mOneA = this.twisted && (conf.a | 0) === -1;\n this.extended = this.mOneA;\n\n Base.call(this, 'edwards', conf);\n\n this.a = new BN(conf.a, 16).umod(this.red.m);\n this.a = this.a.toRed(this.red);\n this.c = new BN(conf.c, 16).toRed(this.red);\n this.c2 = this.c.redSqr();\n this.d = new BN(conf.d, 16).toRed(this.red);\n this.dd = this.d.redAdd(this.d);\n\n assert(!this.twisted || this.c.fromRed().cmpn(1) === 0);\n this.oneC = (conf.c | 0) === 1;\n}\ninherits(EdwardsCurve, Base);\nmodule.exports = EdwardsCurve;\n\nEdwardsCurve.prototype._mulA = function _mulA(num) {\n if (this.mOneA)\n return num.redNeg();\n else\n return this.a.redMul(num);\n};\n\nEdwardsCurve.prototype._mulC = function _mulC(num) {\n if (this.oneC)\n return num;\n else\n return this.c.redMul(num);\n};\n\n// Just for compatibility with Short curve\nEdwardsCurve.prototype.jpoint = function jpoint(x, y, z, t) {\n return this.point(x, y, z, t);\n};\n\nEdwardsCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var x2 = x.redSqr();\n var rhs = this.c2.redSub(this.a.redMul(x2));\n var lhs = this.one.redSub(this.c2.redMul(this.d).redMul(x2));\n\n var y2 = rhs.redMul(lhs.redInvm());\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.pointFromY = function pointFromY(y, odd) {\n y = new BN(y, 16);\n if (!y.red)\n y = y.toRed(this.red);\n\n // x^2 = (y^2 - c^2) / (c^2 d y^2 - a)\n var y2 = y.redSqr();\n var lhs = y2.redSub(this.c2);\n var rhs = y2.redMul(this.d).redMul(this.c2).redSub(this.a);\n var x2 = lhs.redMul(rhs.redInvm());\n\n if (x2.cmp(this.zero) === 0) {\n if (odd)\n throw new Error('invalid point');\n else\n return this.point(this.zero, y);\n }\n\n var x = x2.redSqrt();\n if (x.redSqr().redSub(x2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n if (x.fromRed().isOdd() !== odd)\n x = x.redNeg();\n\n return this.point(x, y);\n};\n\nEdwardsCurve.prototype.validate = function validate(point) {\n if (point.isInfinity())\n return true;\n\n // Curve: A * X^2 + Y^2 = C^2 * (1 + D * X^2 * Y^2)\n point.normalize();\n\n var x2 = point.x.redSqr();\n var y2 = point.y.redSqr();\n var lhs = x2.redMul(this.a).redAdd(y2);\n var rhs = this.c2.redMul(this.one.redAdd(this.d.redMul(x2).redMul(y2)));\n\n return lhs.cmp(rhs) === 0;\n};\n\nfunction Point(curve, x, y, z, t) {\n Base.BasePoint.call(this, curve, 'projective');\n if (x === null && y === null && z === null) {\n this.x = this.curve.zero;\n this.y = this.curve.one;\n this.z = this.curve.one;\n this.t = this.curve.zero;\n this.zOne = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = z ? new BN(z, 16) : this.curve.one;\n this.t = t && new BN(t, 16);\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n if (this.t && !this.t.red)\n this.t = this.t.toRed(this.curve.red);\n this.zOne = this.z === this.curve.one;\n\n // Use extended coordinates\n if (this.curve.extended && !this.t) {\n this.t = this.x.redMul(this.y);\n if (!this.zOne)\n this.t = this.t.redMul(this.z.redInvm());\n }\n }\n}\ninherits(Point, Base.BasePoint);\n\nEdwardsCurve.prototype.pointFromJSON = function pointFromJSON(obj) {\n return Point.fromJSON(this, obj);\n};\n\nEdwardsCurve.prototype.point = function point(x, y, z, t) {\n return new Point(this, x, y, z, t);\n};\n\nPoint.fromJSON = function fromJSON(curve, obj) {\n return new Point(curve, obj[0], obj[1], obj[2]);\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.x.cmpn(0) === 0 &&\n (this.y.cmp(this.z) === 0 ||\n (this.zOne && this.y.cmp(this.curve.c) === 0));\n};\n\nPoint.prototype._extDbl = function _extDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #doubling-dbl-2008-hwcd\n // 4M + 4S\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = 2 * Z1^2\n var c = this.z.redSqr();\n c = c.redIAdd(c);\n // D = a * A\n var d = this.curve._mulA(a);\n // E = (X1 + Y1)^2 - A - B\n var e = this.x.redAdd(this.y).redSqr().redISub(a).redISub(b);\n // G = D + B\n var g = d.redAdd(b);\n // F = G - C\n var f = g.redSub(c);\n // H = D - B\n var h = d.redSub(b);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projDbl = function _projDbl() {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #doubling-dbl-2008-bbjlp\n // #doubling-dbl-2007-bl\n // and others\n // Generally 3M + 4S or 2M + 4S\n\n // B = (X1 + Y1)^2\n var b = this.x.redAdd(this.y).redSqr();\n // C = X1^2\n var c = this.x.redSqr();\n // D = Y1^2\n var d = this.y.redSqr();\n\n var nx;\n var ny;\n var nz;\n var e;\n var h;\n var j;\n if (this.curve.twisted) {\n // E = a * C\n e = this.curve._mulA(c);\n // F = E + D\n var f = e.redAdd(d);\n if (this.zOne) {\n // X3 = (B - C - D) * (F - 2)\n nx = b.redSub(c).redSub(d).redMul(f.redSub(this.curve.two));\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F^2 - 2 * F\n nz = f.redSqr().redSub(f).redSub(f);\n } else {\n // H = Z1^2\n h = this.z.redSqr();\n // J = F - 2 * H\n j = f.redSub(h).redISub(h);\n // X3 = (B-C-D)*J\n nx = b.redSub(c).redISub(d).redMul(j);\n // Y3 = F * (E - D)\n ny = f.redMul(e.redSub(d));\n // Z3 = F * J\n nz = f.redMul(j);\n }\n } else {\n // E = C + D\n e = c.redAdd(d);\n // H = (c * Z1)^2\n h = this.curve._mulC(this.z).redSqr();\n // J = E - 2 * H\n j = e.redSub(h).redSub(h);\n // X3 = c * (B - E) * J\n nx = this.curve._mulC(b.redISub(e)).redMul(j);\n // Y3 = c * E * (C - D)\n ny = this.curve._mulC(e).redMul(c.redISub(d));\n // Z3 = E * J\n nz = e.redMul(j);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n // Double in extended coordinates\n if (this.curve.extended)\n return this._extDbl();\n else\n return this._projDbl();\n};\n\nPoint.prototype._extAdd = function _extAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-extended-1.html\n // #addition-add-2008-hwcd-3\n // 8M\n\n // A = (Y1 - X1) * (Y2 - X2)\n var a = this.y.redSub(this.x).redMul(p.y.redSub(p.x));\n // B = (Y1 + X1) * (Y2 + X2)\n var b = this.y.redAdd(this.x).redMul(p.y.redAdd(p.x));\n // C = T1 * k * T2\n var c = this.t.redMul(this.curve.dd).redMul(p.t);\n // D = Z1 * 2 * Z2\n var d = this.z.redMul(p.z.redAdd(p.z));\n // E = B - A\n var e = b.redSub(a);\n // F = D - C\n var f = d.redSub(c);\n // G = D + C\n var g = d.redAdd(c);\n // H = B + A\n var h = b.redAdd(a);\n // X3 = E * F\n var nx = e.redMul(f);\n // Y3 = G * H\n var ny = g.redMul(h);\n // T3 = E * H\n var nt = e.redMul(h);\n // Z3 = F * G\n var nz = f.redMul(g);\n return this.curve.point(nx, ny, nz, nt);\n};\n\nPoint.prototype._projAdd = function _projAdd(p) {\n // hyperelliptic.org/EFD/g1p/auto-twisted-projective.html\n // #addition-add-2008-bbjlp\n // #addition-add-2007-bl\n // 10M + 1S\n\n // A = Z1 * Z2\n var a = this.z.redMul(p.z);\n // B = A^2\n var b = a.redSqr();\n // C = X1 * X2\n var c = this.x.redMul(p.x);\n // D = Y1 * Y2\n var d = this.y.redMul(p.y);\n // E = d * C * D\n var e = this.curve.d.redMul(c).redMul(d);\n // F = B - E\n var f = b.redSub(e);\n // G = B + E\n var g = b.redAdd(e);\n // X3 = A * F * ((X1 + Y1) * (X2 + Y2) - C - D)\n var tmp = this.x.redAdd(this.y).redMul(p.x.redAdd(p.y)).redISub(c).redISub(d);\n var nx = a.redMul(f).redMul(tmp);\n var ny;\n var nz;\n if (this.curve.twisted) {\n // Y3 = A * G * (D - a * C)\n ny = a.redMul(g).redMul(d.redSub(this.curve._mulA(c)));\n // Z3 = F * G\n nz = f.redMul(g);\n } else {\n // Y3 = A * G * (D - C)\n ny = a.redMul(g).redMul(d.redSub(c));\n // Z3 = c * F * G\n nz = this.curve._mulC(f).redMul(g);\n }\n return this.curve.point(nx, ny, nz);\n};\n\nPoint.prototype.add = function add(p) {\n if (this.isInfinity())\n return p;\n if (p.isInfinity())\n return this;\n\n if (this.curve.extended)\n return this._extAdd(p);\n else\n return this._projAdd(p);\n};\n\nPoint.prototype.mul = function mul(k) {\n if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, false);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p, k2) {\n return this.curve._wnafMulAdd(1, [ this, p ], [ k1, k2 ], 2, true);\n};\n\nPoint.prototype.normalize = function normalize() {\n if (this.zOne)\n return this;\n\n // Normalize coordinates\n var zi = this.z.redInvm();\n this.x = this.x.redMul(zi);\n this.y = this.y.redMul(zi);\n if (this.t)\n this.t = this.t.redMul(zi);\n this.z = this.curve.one;\n this.zOne = true;\n return this;\n};\n\nPoint.prototype.neg = function neg() {\n return this.curve.point(this.x.redNeg(),\n this.y,\n this.z,\n this.t && this.t.redNeg());\n};\n\nPoint.prototype.getX = function getX() {\n this.normalize();\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n this.normalize();\n return this.y.fromRed();\n};\n\nPoint.prototype.eq = function eq(other) {\n return this === other ||\n this.getX().cmp(other.getX()) === 0 &&\n this.getY().cmp(other.getY()) === 0;\n};\n\nPoint.prototype.eqXToP = function eqXToP(x) {\n var rx = x.toRed(this.curve.red).redMul(this.z);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(this.z);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\n// Compatibility with BaseCurve\nPoint.prototype.toP = Point.prototype.normalize;\nPoint.prototype.mixedAdd = Point.prototype.add;\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","var hash = exports;\n\nhash.utils = require('./hash/utils');\nhash.common = require('./hash/common');\nhash.sha = require('./hash/sha');\nhash.ripemd = require('./hash/ripemd');\nhash.hmac = require('./hash/hmac');\n\n// Proxy hash functions to the main object\nhash.sha1 = hash.sha.sha1;\nhash.sha256 = hash.sha.sha256;\nhash.sha224 = hash.sha.sha224;\nhash.sha384 = hash.sha.sha384;\nhash.sha512 = hash.sha.sha512;\nhash.ripemd160 = hash.ripemd.ripemd160;\n","'use strict';\n\nvar assert = require('minimalistic-assert');\nvar inherits = require('inherits');\n\nexports.inherits = inherits;\n\nfunction isSurrogatePair(msg, i) {\n if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {\n return false;\n }\n if (i < 0 || i + 1 >= msg.length) {\n return false;\n }\n return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;\n}\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg === 'string') {\n if (!enc) {\n // Inspired by stringToUtf8ByteArray() in closure-library by Google\n // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143\n // Apache License 2.0\n // https://github.com/google/closure-library/blob/master/LICENSE\n var p = 0;\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n if (c < 128) {\n res[p++] = c;\n } else if (c < 2048) {\n res[p++] = (c >> 6) | 192;\n res[p++] = (c & 63) | 128;\n } else if (isSurrogatePair(msg, i)) {\n c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);\n res[p++] = (c >> 18) | 240;\n res[p++] = ((c >> 12) & 63) | 128;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n } else {\n res[p++] = (c >> 12) | 224;\n res[p++] = ((c >> 6) & 63) | 128;\n res[p++] = (c & 63) | 128;\n }\n }\n } else if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n }\n } else {\n for (i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n }\n return res;\n}\nexports.toArray = toArray;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nexports.toHex = toHex;\n\nfunction htonl(w) {\n var res = (w >>> 24) |\n ((w >>> 8) & 0xff00) |\n ((w << 8) & 0xff0000) |\n ((w & 0xff) << 24);\n return res >>> 0;\n}\nexports.htonl = htonl;\n\nfunction toHex32(msg, endian) {\n var res = '';\n for (var i = 0; i < msg.length; i++) {\n var w = msg[i];\n if (endian === 'little')\n w = htonl(w);\n res += zero8(w.toString(16));\n }\n return res;\n}\nexports.toHex32 = toHex32;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nexports.zero2 = zero2;\n\nfunction zero8(word) {\n if (word.length === 7)\n return '0' + word;\n else if (word.length === 6)\n return '00' + word;\n else if (word.length === 5)\n return '000' + word;\n else if (word.length === 4)\n return '0000' + word;\n else if (word.length === 3)\n return '00000' + word;\n else if (word.length === 2)\n return '000000' + word;\n else if (word.length === 1)\n return '0000000' + word;\n else\n return word;\n}\nexports.zero8 = zero8;\n\nfunction join32(msg, start, end, endian) {\n var len = end - start;\n assert(len % 4 === 0);\n var res = new Array(len / 4);\n for (var i = 0, k = start; i < res.length; i++, k += 4) {\n var w;\n if (endian === 'big')\n w = (msg[k] << 24) | (msg[k + 1] << 16) | (msg[k + 2] << 8) | msg[k + 3];\n else\n w = (msg[k + 3] << 24) | (msg[k + 2] << 16) | (msg[k + 1] << 8) | msg[k];\n res[i] = w >>> 0;\n }\n return res;\n}\nexports.join32 = join32;\n\nfunction split32(msg, endian) {\n var res = new Array(msg.length * 4);\n for (var i = 0, k = 0; i < msg.length; i++, k += 4) {\n var m = msg[i];\n if (endian === 'big') {\n res[k] = m >>> 24;\n res[k + 1] = (m >>> 16) & 0xff;\n res[k + 2] = (m >>> 8) & 0xff;\n res[k + 3] = m & 0xff;\n } else {\n res[k + 3] = m >>> 24;\n res[k + 2] = (m >>> 16) & 0xff;\n res[k + 1] = (m >>> 8) & 0xff;\n res[k] = m & 0xff;\n }\n }\n return res;\n}\nexports.split32 = split32;\n\nfunction rotr32(w, b) {\n return (w >>> b) | (w << (32 - b));\n}\nexports.rotr32 = rotr32;\n\nfunction rotl32(w, b) {\n return (w << b) | (w >>> (32 - b));\n}\nexports.rotl32 = rotl32;\n\nfunction sum32(a, b) {\n return (a + b) >>> 0;\n}\nexports.sum32 = sum32;\n\nfunction sum32_3(a, b, c) {\n return (a + b + c) >>> 0;\n}\nexports.sum32_3 = sum32_3;\n\nfunction sum32_4(a, b, c, d) {\n return (a + b + c + d) >>> 0;\n}\nexports.sum32_4 = sum32_4;\n\nfunction sum32_5(a, b, c, d, e) {\n return (a + b + c + d + e) >>> 0;\n}\nexports.sum32_5 = sum32_5;\n\nfunction sum64(buf, pos, ah, al) {\n var bh = buf[pos];\n var bl = buf[pos + 1];\n\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n buf[pos] = hi >>> 0;\n buf[pos + 1] = lo;\n}\nexports.sum64 = sum64;\n\nfunction sum64_hi(ah, al, bh, bl) {\n var lo = (al + bl) >>> 0;\n var hi = (lo < al ? 1 : 0) + ah + bh;\n return hi >>> 0;\n}\nexports.sum64_hi = sum64_hi;\n\nfunction sum64_lo(ah, al, bh, bl) {\n var lo = al + bl;\n return lo >>> 0;\n}\nexports.sum64_lo = sum64_lo;\n\nfunction sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n\n var hi = ah + bh + ch + dh + carry;\n return hi >>> 0;\n}\nexports.sum64_4_hi = sum64_4_hi;\n\nfunction sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {\n var lo = al + bl + cl + dl;\n return lo >>> 0;\n}\nexports.sum64_4_lo = sum64_4_lo;\n\nfunction sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var carry = 0;\n var lo = al;\n lo = (lo + bl) >>> 0;\n carry += lo < al ? 1 : 0;\n lo = (lo + cl) >>> 0;\n carry += lo < cl ? 1 : 0;\n lo = (lo + dl) >>> 0;\n carry += lo < dl ? 1 : 0;\n lo = (lo + el) >>> 0;\n carry += lo < el ? 1 : 0;\n\n var hi = ah + bh + ch + dh + eh + carry;\n return hi >>> 0;\n}\nexports.sum64_5_hi = sum64_5_hi;\n\nfunction sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {\n var lo = al + bl + cl + dl + el;\n\n return lo >>> 0;\n}\nexports.sum64_5_lo = sum64_5_lo;\n\nfunction rotr64_hi(ah, al, num) {\n var r = (al << (32 - num)) | (ah >>> num);\n return r >>> 0;\n}\nexports.rotr64_hi = rotr64_hi;\n\nfunction rotr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.rotr64_lo = rotr64_lo;\n\nfunction shr64_hi(ah, al, num) {\n return ah >>> num;\n}\nexports.shr64_hi = shr64_hi;\n\nfunction shr64_lo(ah, al, num) {\n var r = (ah << (32 - num)) | (al >>> num);\n return r >>> 0;\n}\nexports.shr64_lo = shr64_lo;\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction BlockHash() {\n this.pending = null;\n this.pendingTotal = 0;\n this.blockSize = this.constructor.blockSize;\n this.outSize = this.constructor.outSize;\n this.hmacStrength = this.constructor.hmacStrength;\n this.padLength = this.constructor.padLength / 8;\n this.endian = 'big';\n\n this._delta8 = this.blockSize / 8;\n this._delta32 = this.blockSize / 32;\n}\nexports.BlockHash = BlockHash;\n\nBlockHash.prototype.update = function update(msg, enc) {\n // Convert message to array, pad it, and join into 32bit blocks\n msg = utils.toArray(msg, enc);\n if (!this.pending)\n this.pending = msg;\n else\n this.pending = this.pending.concat(msg);\n this.pendingTotal += msg.length;\n\n // Enough data, try updating\n if (this.pending.length >= this._delta8) {\n msg = this.pending;\n\n // Process pending data in blocks\n var r = msg.length % this._delta8;\n this.pending = msg.slice(msg.length - r, msg.length);\n if (this.pending.length === 0)\n this.pending = null;\n\n msg = utils.join32(msg, 0, msg.length - r, this.endian);\n for (var i = 0; i < msg.length; i += this._delta32)\n this._update(msg, i, i + this._delta32);\n }\n\n return this;\n};\n\nBlockHash.prototype.digest = function digest(enc) {\n this.update(this._pad());\n assert(this.pending === null);\n\n return this._digest(enc);\n};\n\nBlockHash.prototype._pad = function pad() {\n var len = this.pendingTotal;\n var bytes = this._delta8;\n var k = bytes - ((len + this.padLength) % bytes);\n var res = new Array(k + this.padLength);\n res[0] = 0x80;\n for (var i = 1; i < k; i++)\n res[i] = 0;\n\n // Append length\n len <<= 3;\n if (this.endian === 'big') {\n for (var t = 8; t < this.padLength; t++)\n res[i++] = 0;\n\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = len & 0xff;\n } else {\n res[i++] = len & 0xff;\n res[i++] = (len >>> 8) & 0xff;\n res[i++] = (len >>> 16) & 0xff;\n res[i++] = (len >>> 24) & 0xff;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n res[i++] = 0;\n\n for (t = 8; t < this.padLength; t++)\n res[i++] = 0;\n }\n\n return res;\n};\n","'use strict';\n\nexports.sha1 = require('./sha/1');\nexports.sha224 = require('./sha/224');\nexports.sha256 = require('./sha/256');\nexports.sha384 = require('./sha/384');\nexports.sha512 = require('./sha/512');\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_5 = utils.sum32_5;\nvar ft_1 = shaCommon.ft_1;\nvar BlockHash = common.BlockHash;\n\nvar sha1_K = [\n 0x5A827999, 0x6ED9EBA1,\n 0x8F1BBCDC, 0xCA62C1D6\n];\n\nfunction SHA1() {\n if (!(this instanceof SHA1))\n return new SHA1();\n\n BlockHash.call(this);\n this.h = [\n 0x67452301, 0xefcdab89, 0x98badcfe,\n 0x10325476, 0xc3d2e1f0 ];\n this.W = new Array(80);\n}\n\nutils.inherits(SHA1, BlockHash);\nmodule.exports = SHA1;\n\nSHA1.blockSize = 512;\nSHA1.outSize = 160;\nSHA1.hmacStrength = 80;\nSHA1.padLength = 64;\n\nSHA1.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n\n for(; i < W.length; i++)\n W[i] = rotl32(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16], 1);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n\n for (i = 0; i < W.length; i++) {\n var s = ~~(i / 20);\n var t = sum32_5(rotl32(a, 5), ft_1(s, b, c, d), e, W[i], sha1_K[s]);\n e = d;\n d = c;\n c = rotl32(b, 30);\n b = a;\n a = t;\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n};\n\nSHA1.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar rotr32 = utils.rotr32;\n\nfunction ft_1(s, x, y, z) {\n if (s === 0)\n return ch32(x, y, z);\n if (s === 1 || s === 3)\n return p32(x, y, z);\n if (s === 2)\n return maj32(x, y, z);\n}\nexports.ft_1 = ft_1;\n\nfunction ch32(x, y, z) {\n return (x & y) ^ ((~x) & z);\n}\nexports.ch32 = ch32;\n\nfunction maj32(x, y, z) {\n return (x & y) ^ (x & z) ^ (y & z);\n}\nexports.maj32 = maj32;\n\nfunction p32(x, y, z) {\n return x ^ y ^ z;\n}\nexports.p32 = p32;\n\nfunction s0_256(x) {\n return rotr32(x, 2) ^ rotr32(x, 13) ^ rotr32(x, 22);\n}\nexports.s0_256 = s0_256;\n\nfunction s1_256(x) {\n return rotr32(x, 6) ^ rotr32(x, 11) ^ rotr32(x, 25);\n}\nexports.s1_256 = s1_256;\n\nfunction g0_256(x) {\n return rotr32(x, 7) ^ rotr32(x, 18) ^ (x >>> 3);\n}\nexports.g0_256 = g0_256;\n\nfunction g1_256(x) {\n return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);\n}\nexports.g1_256 = g1_256;\n","'use strict';\n\nvar utils = require('../utils');\nvar SHA256 = require('./256');\n\nfunction SHA224() {\n if (!(this instanceof SHA224))\n return new SHA224();\n\n SHA256.call(this);\n this.h = [\n 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939,\n 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 ];\n}\nutils.inherits(SHA224, SHA256);\nmodule.exports = SHA224;\n\nSHA224.blockSize = 512;\nSHA224.outSize = 224;\nSHA224.hmacStrength = 192;\nSHA224.padLength = 64;\n\nSHA224.prototype._digest = function digest(enc) {\n // Just truncate output\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 7), 'big');\n else\n return utils.split32(this.h.slice(0, 7), 'big');\n};\n\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar shaCommon = require('./common');\nvar assert = require('minimalistic-assert');\n\nvar sum32 = utils.sum32;\nvar sum32_4 = utils.sum32_4;\nvar sum32_5 = utils.sum32_5;\nvar ch32 = shaCommon.ch32;\nvar maj32 = shaCommon.maj32;\nvar s0_256 = shaCommon.s0_256;\nvar s1_256 = shaCommon.s1_256;\nvar g0_256 = shaCommon.g0_256;\nvar g1_256 = shaCommon.g1_256;\n\nvar BlockHash = common.BlockHash;\n\nvar sha256_K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,\n 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,\n 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,\n 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,\n 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,\n 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,\n 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n];\n\nfunction SHA256() {\n if (!(this instanceof SHA256))\n return new SHA256();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,\n 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19\n ];\n this.k = sha256_K;\n this.W = new Array(64);\n}\nutils.inherits(SHA256, BlockHash);\nmodule.exports = SHA256;\n\nSHA256.blockSize = 512;\nSHA256.outSize = 256;\nSHA256.hmacStrength = 192;\nSHA256.padLength = 64;\n\nSHA256.prototype._update = function _update(msg, start) {\n var W = this.W;\n\n for (var i = 0; i < 16; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i++)\n W[i] = sum32_4(g1_256(W[i - 2]), W[i - 7], g0_256(W[i - 15]), W[i - 16]);\n\n var a = this.h[0];\n var b = this.h[1];\n var c = this.h[2];\n var d = this.h[3];\n var e = this.h[4];\n var f = this.h[5];\n var g = this.h[6];\n var h = this.h[7];\n\n assert(this.k.length === W.length);\n for (i = 0; i < W.length; i++) {\n var T1 = sum32_5(h, s1_256(e), ch32(e, f, g), this.k[i], W[i]);\n var T2 = sum32(s0_256(a), maj32(a, b, c));\n h = g;\n g = f;\n f = e;\n e = sum32(d, T1);\n d = c;\n c = b;\n b = a;\n a = sum32(T1, T2);\n }\n\n this.h[0] = sum32(this.h[0], a);\n this.h[1] = sum32(this.h[1], b);\n this.h[2] = sum32(this.h[2], c);\n this.h[3] = sum32(this.h[3], d);\n this.h[4] = sum32(this.h[4], e);\n this.h[5] = sum32(this.h[5], f);\n this.h[6] = sum32(this.h[6], g);\n this.h[7] = sum32(this.h[7], h);\n};\n\nSHA256.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\n\nvar SHA512 = require('./512');\n\nfunction SHA384() {\n if (!(this instanceof SHA384))\n return new SHA384();\n\n SHA512.call(this);\n this.h = [\n 0xcbbb9d5d, 0xc1059ed8,\n 0x629a292a, 0x367cd507,\n 0x9159015a, 0x3070dd17,\n 0x152fecd8, 0xf70e5939,\n 0x67332667, 0xffc00b31,\n 0x8eb44a87, 0x68581511,\n 0xdb0c2e0d, 0x64f98fa7,\n 0x47b5481d, 0xbefa4fa4 ];\n}\nutils.inherits(SHA384, SHA512);\nmodule.exports = SHA384;\n\nSHA384.blockSize = 1024;\nSHA384.outSize = 384;\nSHA384.hmacStrength = 192;\nSHA384.padLength = 128;\n\nSHA384.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h.slice(0, 12), 'big');\n else\n return utils.split32(this.h.slice(0, 12), 'big');\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar common = require('../common');\nvar assert = require('minimalistic-assert');\n\nvar rotr64_hi = utils.rotr64_hi;\nvar rotr64_lo = utils.rotr64_lo;\nvar shr64_hi = utils.shr64_hi;\nvar shr64_lo = utils.shr64_lo;\nvar sum64 = utils.sum64;\nvar sum64_hi = utils.sum64_hi;\nvar sum64_lo = utils.sum64_lo;\nvar sum64_4_hi = utils.sum64_4_hi;\nvar sum64_4_lo = utils.sum64_4_lo;\nvar sum64_5_hi = utils.sum64_5_hi;\nvar sum64_5_lo = utils.sum64_5_lo;\n\nvar BlockHash = common.BlockHash;\n\nvar sha512_K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n];\n\nfunction SHA512() {\n if (!(this instanceof SHA512))\n return new SHA512();\n\n BlockHash.call(this);\n this.h = [\n 0x6a09e667, 0xf3bcc908,\n 0xbb67ae85, 0x84caa73b,\n 0x3c6ef372, 0xfe94f82b,\n 0xa54ff53a, 0x5f1d36f1,\n 0x510e527f, 0xade682d1,\n 0x9b05688c, 0x2b3e6c1f,\n 0x1f83d9ab, 0xfb41bd6b,\n 0x5be0cd19, 0x137e2179 ];\n this.k = sha512_K;\n this.W = new Array(160);\n}\nutils.inherits(SHA512, BlockHash);\nmodule.exports = SHA512;\n\nSHA512.blockSize = 1024;\nSHA512.outSize = 512;\nSHA512.hmacStrength = 192;\nSHA512.padLength = 128;\n\nSHA512.prototype._prepareBlock = function _prepareBlock(msg, start) {\n var W = this.W;\n\n // 32 x 32bit words\n for (var i = 0; i < 32; i++)\n W[i] = msg[start + i];\n for (; i < W.length; i += 2) {\n var c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2\n var c0_lo = g1_512_lo(W[i - 4], W[i - 3]);\n var c1_hi = W[i - 14]; // i - 7\n var c1_lo = W[i - 13];\n var c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15\n var c2_lo = g0_512_lo(W[i - 30], W[i - 29]);\n var c3_hi = W[i - 32]; // i - 16\n var c3_lo = W[i - 31];\n\n W[i] = sum64_4_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n W[i + 1] = sum64_4_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo);\n }\n};\n\nSHA512.prototype._update = function _update(msg, start) {\n this._prepareBlock(msg, start);\n\n var W = this.W;\n\n var ah = this.h[0];\n var al = this.h[1];\n var bh = this.h[2];\n var bl = this.h[3];\n var ch = this.h[4];\n var cl = this.h[5];\n var dh = this.h[6];\n var dl = this.h[7];\n var eh = this.h[8];\n var el = this.h[9];\n var fh = this.h[10];\n var fl = this.h[11];\n var gh = this.h[12];\n var gl = this.h[13];\n var hh = this.h[14];\n var hl = this.h[15];\n\n assert(this.k.length === W.length);\n for (var i = 0; i < W.length; i += 2) {\n var c0_hi = hh;\n var c0_lo = hl;\n var c1_hi = s1_512_hi(eh, el);\n var c1_lo = s1_512_lo(eh, el);\n var c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);\n var c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);\n var c3_hi = this.k[i];\n var c3_lo = this.k[i + 1];\n var c4_hi = W[i];\n var c4_lo = W[i + 1];\n\n var T1_hi = sum64_5_hi(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n var T1_lo = sum64_5_lo(\n c0_hi, c0_lo,\n c1_hi, c1_lo,\n c2_hi, c2_lo,\n c3_hi, c3_lo,\n c4_hi, c4_lo);\n\n c0_hi = s0_512_hi(ah, al);\n c0_lo = s0_512_lo(ah, al);\n c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);\n c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);\n\n var T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);\n var T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);\n\n hh = gh;\n hl = gl;\n\n gh = fh;\n gl = fl;\n\n fh = eh;\n fl = el;\n\n eh = sum64_hi(dh, dl, T1_hi, T1_lo);\n el = sum64_lo(dl, dl, T1_hi, T1_lo);\n\n dh = ch;\n dl = cl;\n\n ch = bh;\n cl = bl;\n\n bh = ah;\n bl = al;\n\n ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);\n al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);\n }\n\n sum64(this.h, 0, ah, al);\n sum64(this.h, 2, bh, bl);\n sum64(this.h, 4, ch, cl);\n sum64(this.h, 6, dh, dl);\n sum64(this.h, 8, eh, el);\n sum64(this.h, 10, fh, fl);\n sum64(this.h, 12, gh, gl);\n sum64(this.h, 14, hh, hl);\n};\n\nSHA512.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'big');\n else\n return utils.split32(this.h, 'big');\n};\n\nfunction ch64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ ((~xh) & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction ch64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ ((~xl) & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_hi(xh, xl, yh, yl, zh) {\n var r = (xh & yh) ^ (xh & zh) ^ (yh & zh);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction maj64_lo(xh, xl, yh, yl, zh, zl) {\n var r = (xl & yl) ^ (xl & zl) ^ (yl & zl);\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 28);\n var c1_hi = rotr64_hi(xl, xh, 2); // 34\n var c2_hi = rotr64_hi(xl, xh, 7); // 39\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 28);\n var c1_lo = rotr64_lo(xl, xh, 2); // 34\n var c2_lo = rotr64_lo(xl, xh, 7); // 39\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 14);\n var c1_hi = rotr64_hi(xh, xl, 18);\n var c2_hi = rotr64_hi(xl, xh, 9); // 41\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction s1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 14);\n var c1_lo = rotr64_lo(xh, xl, 18);\n var c2_lo = rotr64_lo(xl, xh, 9); // 41\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 1);\n var c1_hi = rotr64_hi(xh, xl, 8);\n var c2_hi = shr64_hi(xh, xl, 7);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g0_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 1);\n var c1_lo = rotr64_lo(xh, xl, 8);\n var c2_lo = shr64_lo(xh, xl, 7);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_hi(xh, xl) {\n var c0_hi = rotr64_hi(xh, xl, 19);\n var c1_hi = rotr64_hi(xl, xh, 29); // 61\n var c2_hi = shr64_hi(xh, xl, 6);\n\n var r = c0_hi ^ c1_hi ^ c2_hi;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n\nfunction g1_512_lo(xh, xl) {\n var c0_lo = rotr64_lo(xh, xl, 19);\n var c1_lo = rotr64_lo(xl, xh, 29); // 61\n var c2_lo = shr64_lo(xh, xl, 6);\n\n var r = c0_lo ^ c1_lo ^ c2_lo;\n if (r < 0)\n r += 0x100000000;\n return r;\n}\n","'use strict';\n\nvar utils = require('./utils');\nvar common = require('./common');\n\nvar rotl32 = utils.rotl32;\nvar sum32 = utils.sum32;\nvar sum32_3 = utils.sum32_3;\nvar sum32_4 = utils.sum32_4;\nvar BlockHash = common.BlockHash;\n\nfunction RIPEMD160() {\n if (!(this instanceof RIPEMD160))\n return new RIPEMD160();\n\n BlockHash.call(this);\n\n this.h = [ 0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0 ];\n this.endian = 'little';\n}\nutils.inherits(RIPEMD160, BlockHash);\nexports.ripemd160 = RIPEMD160;\n\nRIPEMD160.blockSize = 512;\nRIPEMD160.outSize = 160;\nRIPEMD160.hmacStrength = 192;\nRIPEMD160.padLength = 64;\n\nRIPEMD160.prototype._update = function update(msg, start) {\n var A = this.h[0];\n var B = this.h[1];\n var C = this.h[2];\n var D = this.h[3];\n var E = this.h[4];\n var Ah = A;\n var Bh = B;\n var Ch = C;\n var Dh = D;\n var Eh = E;\n for (var j = 0; j < 80; j++) {\n var T = sum32(\n rotl32(\n sum32_4(A, f(j, B, C, D), msg[r[j] + start], K(j)),\n s[j]),\n E);\n A = E;\n E = D;\n D = rotl32(C, 10);\n C = B;\n B = T;\n T = sum32(\n rotl32(\n sum32_4(Ah, f(79 - j, Bh, Ch, Dh), msg[rh[j] + start], Kh(j)),\n sh[j]),\n Eh);\n Ah = Eh;\n Eh = Dh;\n Dh = rotl32(Ch, 10);\n Ch = Bh;\n Bh = T;\n }\n T = sum32_3(this.h[1], C, Dh);\n this.h[1] = sum32_3(this.h[2], D, Eh);\n this.h[2] = sum32_3(this.h[3], E, Ah);\n this.h[3] = sum32_3(this.h[4], A, Bh);\n this.h[4] = sum32_3(this.h[0], B, Ch);\n this.h[0] = T;\n};\n\nRIPEMD160.prototype._digest = function digest(enc) {\n if (enc === 'hex')\n return utils.toHex32(this.h, 'little');\n else\n return utils.split32(this.h, 'little');\n};\n\nfunction f(j, x, y, z) {\n if (j <= 15)\n return x ^ y ^ z;\n else if (j <= 31)\n return (x & y) | ((~x) & z);\n else if (j <= 47)\n return (x | (~y)) ^ z;\n else if (j <= 63)\n return (x & z) | (y & (~z));\n else\n return x ^ (y | (~z));\n}\n\nfunction K(j) {\n if (j <= 15)\n return 0x00000000;\n else if (j <= 31)\n return 0x5a827999;\n else if (j <= 47)\n return 0x6ed9eba1;\n else if (j <= 63)\n return 0x8f1bbcdc;\n else\n return 0xa953fd4e;\n}\n\nfunction Kh(j) {\n if (j <= 15)\n return 0x50a28be6;\n else if (j <= 31)\n return 0x5c4dd124;\n else if (j <= 47)\n return 0x6d703ef3;\n else if (j <= 63)\n return 0x7a6d76e9;\n else\n return 0x00000000;\n}\n\nvar r = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n];\n\nvar rh = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n];\n\nvar s = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n];\n\nvar sh = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n];\n","'use strict';\n\nvar utils = require('./utils');\nvar assert = require('minimalistic-assert');\n\nfunction Hmac(hash, key, enc) {\n if (!(this instanceof Hmac))\n return new Hmac(hash, key, enc);\n this.Hash = hash;\n this.blockSize = hash.blockSize / 8;\n this.outSize = hash.outSize / 8;\n this.inner = null;\n this.outer = null;\n\n this._init(utils.toArray(key, enc));\n}\nmodule.exports = Hmac;\n\nHmac.prototype._init = function init(key) {\n // Shorten key, if needed\n if (key.length > this.blockSize)\n key = new this.Hash().update(key).digest();\n assert(key.length <= this.blockSize);\n\n // Add padding to key\n for (var i = key.length; i < this.blockSize; i++)\n key.push(0);\n\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x36;\n this.inner = new this.Hash().update(key);\n\n // 0x36 ^ 0x5c = 0x6a\n for (i = 0; i < key.length; i++)\n key[i] ^= 0x6a;\n this.outer = new this.Hash().update(key);\n};\n\nHmac.prototype.update = function update(msg, enc) {\n this.inner.update(msg, enc);\n return this;\n};\n\nHmac.prototype.digest = function digest(enc) {\n this.outer.update(this.inner.digest());\n return this.outer.digest(enc);\n};\n","module.exports = {\n doubles: {\n step: 4,\n points: [\n [\n 'e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a',\n 'f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821',\n ],\n [\n '8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508',\n '11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf',\n ],\n [\n '175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739',\n 'd3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695',\n ],\n [\n '363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640',\n '4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9',\n ],\n [\n '8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c',\n '4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36',\n ],\n [\n '723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda',\n '96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f',\n ],\n [\n 'eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa',\n '5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999',\n ],\n [\n '100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0',\n 'cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09',\n ],\n [\n 'e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d',\n '9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d',\n ],\n [\n 'feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d',\n 'e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088',\n ],\n [\n 'da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1',\n '9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d',\n ],\n [\n '53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0',\n '5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8',\n ],\n [\n '8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047',\n '10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a',\n ],\n [\n '385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862',\n '283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453',\n ],\n [\n '6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7',\n '7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160',\n ],\n [\n '3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd',\n '56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0',\n ],\n [\n '85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83',\n '7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6',\n ],\n [\n '948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a',\n '53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589',\n ],\n [\n '6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8',\n 'bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17',\n ],\n [\n 'e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d',\n '4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda',\n ],\n [\n 'e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725',\n '7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd',\n ],\n [\n '213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754',\n '4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2',\n ],\n [\n '4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c',\n '17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6',\n ],\n [\n 'fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6',\n '6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f',\n ],\n [\n '76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39',\n 'c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01',\n ],\n [\n 'c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891',\n '893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3',\n ],\n [\n 'd895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b',\n 'febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f',\n ],\n [\n 'b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03',\n '2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7',\n ],\n [\n 'e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d',\n 'eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78',\n ],\n [\n 'a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070',\n '7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1',\n ],\n [\n '90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4',\n 'e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150',\n ],\n [\n '8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da',\n '662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82',\n ],\n [\n 'e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11',\n '1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc',\n ],\n [\n '8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e',\n 'efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b',\n ],\n [\n 'e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41',\n '2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51',\n ],\n [\n 'b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef',\n '67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45',\n ],\n [\n 'd68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8',\n 'db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120',\n ],\n [\n '324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d',\n '648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84',\n ],\n [\n '4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96',\n '35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d',\n ],\n [\n '9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd',\n 'ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d',\n ],\n [\n '6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5',\n '9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8',\n ],\n [\n 'a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266',\n '40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8',\n ],\n [\n '7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71',\n '34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac',\n ],\n [\n '928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac',\n 'c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f',\n ],\n [\n '85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751',\n '1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962',\n ],\n [\n 'ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e',\n '493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907',\n ],\n [\n '827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241',\n 'c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec',\n ],\n [\n 'eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3',\n 'be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d',\n ],\n [\n 'e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f',\n '4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414',\n ],\n [\n '1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19',\n 'aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd',\n ],\n [\n '146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be',\n 'b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0',\n ],\n [\n 'fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9',\n '6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811',\n ],\n [\n 'da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2',\n '8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1',\n ],\n [\n 'a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13',\n '7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c',\n ],\n [\n '174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c',\n 'ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73',\n ],\n [\n '959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba',\n '2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd',\n ],\n [\n 'd2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151',\n 'e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405',\n ],\n [\n '64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073',\n 'd99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589',\n ],\n [\n '8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458',\n '38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e',\n ],\n [\n '13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b',\n '69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27',\n ],\n [\n 'bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366',\n 'd3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1',\n ],\n [\n '8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa',\n '40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482',\n ],\n [\n '8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0',\n '620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945',\n ],\n [\n 'dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787',\n '7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573',\n ],\n [\n 'f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e',\n 'ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82',\n ],\n ],\n },\n naf: {\n wnd: 7,\n points: [\n [\n 'f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9',\n '388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672',\n ],\n [\n '2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4',\n 'd8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6',\n ],\n [\n '5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc',\n '6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da',\n ],\n [\n 'acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe',\n 'cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37',\n ],\n [\n '774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb',\n 'd984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b',\n ],\n [\n 'f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8',\n 'ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81',\n ],\n [\n 'd7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e',\n '581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58',\n ],\n [\n 'defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34',\n '4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77',\n ],\n [\n '2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c',\n '85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a',\n ],\n [\n '352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5',\n '321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c',\n ],\n [\n '2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f',\n '2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67',\n ],\n [\n '9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714',\n '73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402',\n ],\n [\n 'daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729',\n 'a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55',\n ],\n [\n 'c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db',\n '2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482',\n ],\n [\n '6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4',\n 'e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82',\n ],\n [\n '1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5',\n 'b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396',\n ],\n [\n '605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479',\n '2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49',\n ],\n [\n '62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d',\n '80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf',\n ],\n [\n '80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f',\n '1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a',\n ],\n [\n '7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb',\n 'd0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7',\n ],\n [\n 'd528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9',\n 'eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933',\n ],\n [\n '49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963',\n '758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a',\n ],\n [\n '77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74',\n '958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6',\n ],\n [\n 'f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530',\n 'e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37',\n ],\n [\n '463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b',\n '5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e',\n ],\n [\n 'f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247',\n 'cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6',\n ],\n [\n 'caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1',\n 'cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476',\n ],\n [\n '2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120',\n '4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40',\n ],\n [\n '7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435',\n '91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61',\n ],\n [\n '754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18',\n '673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683',\n ],\n [\n 'e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8',\n '59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5',\n ],\n [\n '186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb',\n '3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b',\n ],\n [\n 'df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f',\n '55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417',\n ],\n [\n '5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143',\n 'efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868',\n ],\n [\n '290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba',\n 'e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a',\n ],\n [\n 'af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45',\n 'f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6',\n ],\n [\n '766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a',\n '744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996',\n ],\n [\n '59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e',\n 'c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e',\n ],\n [\n 'f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8',\n 'e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d',\n ],\n [\n '7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c',\n '30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2',\n ],\n [\n '948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519',\n 'e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e',\n ],\n [\n '7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab',\n '100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437',\n ],\n [\n '3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca',\n 'ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311',\n ],\n [\n 'd3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf',\n '8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4',\n ],\n [\n '1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610',\n '68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575',\n ],\n [\n '733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4',\n 'f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d',\n ],\n [\n '15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c',\n 'd56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d',\n ],\n [\n 'a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940',\n 'edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629',\n ],\n [\n 'e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980',\n 'a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06',\n ],\n [\n '311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3',\n '66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374',\n ],\n [\n '34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf',\n '9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee',\n ],\n [\n 'f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63',\n '4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1',\n ],\n [\n 'd7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448',\n 'fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b',\n ],\n [\n '32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf',\n '5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661',\n ],\n [\n '7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5',\n '8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6',\n ],\n [\n 'ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6',\n '8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e',\n ],\n [\n '16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5',\n '5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d',\n ],\n [\n 'eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99',\n 'f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc',\n ],\n [\n '78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51',\n 'f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4',\n ],\n [\n '494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5',\n '42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c',\n ],\n [\n 'a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5',\n '204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b',\n ],\n [\n 'c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997',\n '4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913',\n ],\n [\n '841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881',\n '73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154',\n ],\n [\n '5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5',\n '39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865',\n ],\n [\n '36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66',\n 'd2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc',\n ],\n [\n '336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726',\n 'ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224',\n ],\n [\n '8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede',\n '6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e',\n ],\n [\n '1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94',\n '60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6',\n ],\n [\n '85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31',\n '3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511',\n ],\n [\n '29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51',\n 'b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b',\n ],\n [\n 'a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252',\n 'ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2',\n ],\n [\n '4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5',\n 'cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c',\n ],\n [\n 'd24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b',\n '6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3',\n ],\n [\n 'ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4',\n '322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d',\n ],\n [\n 'af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f',\n '6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700',\n ],\n [\n 'e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889',\n '2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4',\n ],\n [\n '591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246',\n 'b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196',\n ],\n [\n '11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984',\n '998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4',\n ],\n [\n '3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a',\n 'b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257',\n ],\n [\n 'cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030',\n 'bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13',\n ],\n [\n 'c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197',\n '6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096',\n ],\n [\n 'c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593',\n 'c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38',\n ],\n [\n 'a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef',\n '21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f',\n ],\n [\n '347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38',\n '60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448',\n ],\n [\n 'da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a',\n '49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a',\n ],\n [\n 'c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111',\n '5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4',\n ],\n [\n '4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502',\n '7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437',\n ],\n [\n '3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea',\n 'be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7',\n ],\n [\n 'cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26',\n '8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d',\n ],\n [\n 'b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986',\n '39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a',\n ],\n [\n 'd4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e',\n '62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54',\n ],\n [\n '48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4',\n '25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77',\n ],\n [\n 'dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda',\n 'ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517',\n ],\n [\n '6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859',\n 'cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10',\n ],\n [\n 'e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f',\n 'f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125',\n ],\n [\n 'eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c',\n '6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e',\n ],\n [\n '13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942',\n 'fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1',\n ],\n [\n 'ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a',\n '1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2',\n ],\n [\n 'b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80',\n '5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423',\n ],\n [\n 'ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d',\n '438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8',\n ],\n [\n '8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1',\n 'cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758',\n ],\n [\n '52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63',\n 'c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375',\n ],\n [\n 'e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352',\n '6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d',\n ],\n [\n '7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193',\n 'ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec',\n ],\n [\n '5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00',\n '9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0',\n ],\n [\n '32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58',\n 'ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c',\n ],\n [\n 'e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7',\n 'd3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4',\n ],\n [\n '8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8',\n 'c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f',\n ],\n [\n '4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e',\n '67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649',\n ],\n [\n '3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d',\n 'cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826',\n ],\n [\n '674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b',\n '299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5',\n ],\n [\n 'd32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f',\n 'f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87',\n ],\n [\n '30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6',\n '462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b',\n ],\n [\n 'be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297',\n '62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc',\n ],\n [\n '93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a',\n '7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c',\n ],\n [\n 'b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c',\n 'ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f',\n ],\n [\n 'd5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52',\n '4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a',\n ],\n [\n 'd3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb',\n 'bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46',\n ],\n [\n '463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065',\n 'bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f',\n ],\n [\n '7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917',\n '603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03',\n ],\n [\n '74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9',\n 'cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08',\n ],\n [\n '30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3',\n '553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8',\n ],\n [\n '9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57',\n '712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373',\n ],\n [\n '176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66',\n 'ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3',\n ],\n [\n '75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8',\n '9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8',\n ],\n [\n '809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721',\n '9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1',\n ],\n [\n '1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180',\n '4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9',\n ],\n ],\n },\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar hash = require('hash.js');\nvar curves = require('../curves');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EDDSA(curve) {\n assert(curve === 'ed25519', 'only tested with ed25519 so far');\n\n if (!(this instanceof EDDSA))\n return new EDDSA(curve);\n\n curve = curves[curve].curve;\n this.curve = curve;\n this.g = curve.g;\n this.g.precompute(curve.n.bitLength() + 1);\n\n this.pointClass = curve.point().constructor;\n this.encodingLength = Math.ceil(curve.n.bitLength() / 8);\n this.hash = hash.sha512;\n}\n\nmodule.exports = EDDSA;\n\n/**\n* @param {Array|String} message - message bytes\n* @param {Array|String|KeyPair} secret - secret bytes or a keypair\n* @returns {Signature} - signature\n*/\nEDDSA.prototype.sign = function sign(message, secret) {\n message = parseBytes(message);\n var key = this.keyFromSecret(secret);\n var r = this.hashInt(key.messagePrefix(), message);\n var R = this.g.mul(r);\n var Rencoded = this.encodePoint(R);\n var s_ = this.hashInt(Rencoded, key.pubBytes(), message)\n .mul(key.priv());\n var S = r.add(s_).umod(this.curve.n);\n return this.makeSignature({ R: R, S: S, Rencoded: Rencoded });\n};\n\n/**\n* @param {Array} message - message bytes\n* @param {Array|String|Signature} sig - sig bytes\n* @param {Array|String|Point|KeyPair} pub - public key\n* @returns {Boolean} - true if public key matches sig of message\n*/\nEDDSA.prototype.verify = function verify(message, sig, pub) {\n message = parseBytes(message);\n sig = this.makeSignature(sig);\n var key = this.keyFromPublic(pub);\n var h = this.hashInt(sig.Rencoded(), key.pubBytes(), message);\n var SG = this.g.mul(sig.S());\n var RplusAh = sig.R().add(key.pub().mul(h));\n return RplusAh.eq(SG);\n};\n\nEDDSA.prototype.hashInt = function hashInt() {\n var hash = this.hash();\n for (var i = 0; i < arguments.length; i++)\n hash.update(arguments[i]);\n return utils.intFromLE(hash.digest()).umod(this.curve.n);\n};\n\nEDDSA.prototype.keyFromPublic = function keyFromPublic(pub) {\n return KeyPair.fromPublic(this, pub);\n};\n\nEDDSA.prototype.keyFromSecret = function keyFromSecret(secret) {\n return KeyPair.fromSecret(this, secret);\n};\n\nEDDSA.prototype.makeSignature = function makeSignature(sig) {\n if (sig instanceof Signature)\n return sig;\n return new Signature(this, sig);\n};\n\n/**\n* * https://tools.ietf.org/html/draft-josefsson-eddsa-ed25519-03#section-5.2\n*\n* EDDSA defines methods for encoding and decoding points and integers. These are\n* helper convenience methods, that pass along to utility functions implied\n* parameters.\n*\n*/\nEDDSA.prototype.encodePoint = function encodePoint(point) {\n var enc = point.getY().toArray('le', this.encodingLength);\n enc[this.encodingLength - 1] |= point.getX().isOdd() ? 0x80 : 0;\n return enc;\n};\n\nEDDSA.prototype.decodePoint = function decodePoint(bytes) {\n bytes = utils.parseBytes(bytes);\n\n var lastIx = bytes.length - 1;\n var normed = bytes.slice(0, lastIx).concat(bytes[lastIx] & ~0x80);\n var xIsOdd = (bytes[lastIx] & 0x80) !== 0;\n\n var y = utils.intFromLE(normed);\n return this.curve.pointFromY(y, xIsOdd);\n};\n\nEDDSA.prototype.encodeInt = function encodeInt(num) {\n return num.toArray('le', this.encodingLength);\n};\n\nEDDSA.prototype.decodeInt = function decodeInt(bytes) {\n return utils.intFromLE(bytes);\n};\n\nEDDSA.prototype.isPoint = function isPoint(val) {\n return val instanceof this.pointClass;\n};\n","'use strict';\n\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar parseBytes = utils.parseBytes;\nvar cachedProperty = utils.cachedProperty;\n\n/**\n* @param {EDDSA} eddsa - instance\n* @param {Object} params - public/private key parameters\n*\n* @param {Array} [params.secret] - secret seed bytes\n* @param {Point} [params.pub] - public key point (aka `A` in eddsa terms)\n* @param {Array} [params.pub] - public key point encoded as bytes\n*\n*/\nfunction KeyPair(eddsa, params) {\n this.eddsa = eddsa;\n this._secret = parseBytes(params.secret);\n if (eddsa.isPoint(params.pub))\n this._pub = params.pub;\n else\n this._pubBytes = parseBytes(params.pub);\n}\n\nKeyPair.fromPublic = function fromPublic(eddsa, pub) {\n if (pub instanceof KeyPair)\n return pub;\n return new KeyPair(eddsa, { pub: pub });\n};\n\nKeyPair.fromSecret = function fromSecret(eddsa, secret) {\n if (secret instanceof KeyPair)\n return secret;\n return new KeyPair(eddsa, { secret: secret });\n};\n\nKeyPair.prototype.secret = function secret() {\n return this._secret;\n};\n\ncachedProperty(KeyPair, 'pubBytes', function pubBytes() {\n return this.eddsa.encodePoint(this.pub());\n});\n\ncachedProperty(KeyPair, 'pub', function pub() {\n if (this._pubBytes)\n return this.eddsa.decodePoint(this._pubBytes);\n return this.eddsa.g.mul(this.priv());\n});\n\ncachedProperty(KeyPair, 'privBytes', function privBytes() {\n var eddsa = this.eddsa;\n var hash = this.hash();\n var lastIx = eddsa.encodingLength - 1;\n\n var a = hash.slice(0, eddsa.encodingLength);\n a[0] &= 248;\n a[lastIx] &= 127;\n a[lastIx] |= 64;\n\n return a;\n});\n\ncachedProperty(KeyPair, 'priv', function priv() {\n return this.eddsa.decodeInt(this.privBytes());\n});\n\ncachedProperty(KeyPair, 'hash', function hash() {\n return this.eddsa.hash().update(this.secret()).digest();\n});\n\ncachedProperty(KeyPair, 'messagePrefix', function messagePrefix() {\n return this.hash().slice(this.eddsa.encodingLength);\n});\n\nKeyPair.prototype.sign = function sign(message) {\n assert(this._secret, 'KeyPair can only verify');\n return this.eddsa.sign(message, this);\n};\n\nKeyPair.prototype.verify = function verify(message, sig) {\n return this.eddsa.verify(message, sig, this);\n};\n\nKeyPair.prototype.getSecret = function getSecret(enc) {\n assert(this._secret, 'KeyPair is public only');\n return utils.encode(this.secret(), enc);\n};\n\nKeyPair.prototype.getPublic = function getPublic(enc) {\n return utils.encode(this.pubBytes(), enc);\n};\n\nmodule.exports = KeyPair;\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\nvar cachedProperty = utils.cachedProperty;\nvar parseBytes = utils.parseBytes;\n\n/**\n* @param {EDDSA} eddsa - eddsa instance\n* @param {Array|Object} sig -\n* @param {Array|Point} [sig.R] - R point as Point or bytes\n* @param {Array|bn} [sig.S] - S scalar as bn or bytes\n* @param {Array} [sig.Rencoded] - R point encoded\n* @param {Array} [sig.Sencoded] - S scalar encoded\n*/\nfunction Signature(eddsa, sig) {\n this.eddsa = eddsa;\n\n if (typeof sig !== 'object')\n sig = parseBytes(sig);\n\n if (Array.isArray(sig)) {\n sig = {\n R: sig.slice(0, eddsa.encodingLength),\n S: sig.slice(eddsa.encodingLength),\n };\n }\n\n assert(sig.R && sig.S, 'Signature without R or S');\n\n if (eddsa.isPoint(sig.R))\n this._R = sig.R;\n if (sig.S instanceof BN)\n this._S = sig.S;\n\n this._Rencoded = Array.isArray(sig.R) ? sig.R : sig.Rencoded;\n this._Sencoded = Array.isArray(sig.S) ? sig.S : sig.Sencoded;\n}\n\ncachedProperty(Signature, 'S', function S() {\n return this.eddsa.decodeInt(this.Sencoded());\n});\n\ncachedProperty(Signature, 'R', function R() {\n return this.eddsa.decodePoint(this.Rencoded());\n});\n\ncachedProperty(Signature, 'Rencoded', function Rencoded() {\n return this.eddsa.encodePoint(this.R());\n});\n\ncachedProperty(Signature, 'Sencoded', function Sencoded() {\n return this.eddsa.encodeInt(this.S());\n});\n\nSignature.prototype.toBytes = function toBytes() {\n return this.Rencoded().concat(this.Sencoded());\n};\n\nSignature.prototype.toHex = function toHex() {\n return utils.encode(this.toBytes(), 'hex').toUpperCase();\n};\n\nmodule.exports = Signature;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar randombytes = require(\"randombytes\");\nfunction getRandomBytes(bytes) {\n return new Promise(function (resolve, reject) {\n randombytes(bytes, function (err, resp) {\n if (err) {\n reject(err);\n return;\n }\n resolve(resp);\n });\n });\n}\nexports.getRandomBytes = getRandomBytes;\nfunction getRandomBytesSync(bytes) {\n return randombytes(bytes);\n}\nexports.getRandomBytesSync = getRandomBytesSync;\n//# sourceMappingURL=random.js.map","const randombytes = require(\"randombytes\");\n\nexport function getRandomBytes(bytes: number): Promise {\n return new Promise((resolve, reject) => {\n randombytes(bytes, function(err: any, resp: Buffer) {\n if (err) {\n reject(err);\n return;\n }\n\n resolve(resp);\n });\n });\n}\n\nexport function getRandomBytesSync(bytes: number): Buffer {\n return randombytes(bytes);\n}\n","'use strict'\n\n// limit of Crypto.getRandomValues()\n// https://developer.mozilla.org/en-US/docs/Web/API/Crypto/getRandomValues\nvar MAX_BYTES = 65536\n\n// Node supports requesting up to this number of bytes\n// https://github.com/nodejs/node/blob/master/lib/internal/crypto/random.js#L48\nvar MAX_UINT32 = 4294967295\n\nfunction oldBrowser () {\n throw new Error('Secure random number generation is not supported by this browser.\\nUse Chrome, Firefox or Internet Explorer 11')\n}\n\nvar Buffer = require('safe-buffer').Buffer\nvar crypto = global.crypto || global.msCrypto\n\nif (crypto && crypto.getRandomValues) {\n module.exports = randomBytes\n} else {\n module.exports = oldBrowser\n}\n\nfunction randomBytes (size, cb) {\n // phantomjs needs to throw\n if (size > MAX_UINT32) throw new RangeError('requested too many random bytes')\n\n var bytes = Buffer.allocUnsafe(size)\n\n if (size > 0) { // getRandomValues fails on IE if size == 0\n if (size > MAX_BYTES) { // this is the max bytes crypto.getRandomValues\n // can do at once see https://developer.mozilla.org/en-US/docs/Web/API/window.crypto.getRandomValues\n for (var generated = 0; generated < size; generated += MAX_BYTES) {\n // buffer.slice automatically checks if the end is past the end of\n // the buffer so we don't have to here\n crypto.getRandomValues(bytes.slice(generated, generated + MAX_BYTES))\n }\n } else {\n crypto.getRandomValues(bytes)\n }\n }\n\n if (typeof cb === 'function') {\n return process.nextTick(function () {\n cb(null, bytes)\n })\n }\n\n return bytes\n}\n","/*! safe-buffer. MIT License. Feross Aboukhadijeh */\n/* eslint-disable node/no-deprecated-api */\nvar buffer = require('buffer')\nvar Buffer = buffer.Buffer\n\n// alternative to using Object.keys for old browsers\nfunction copyProps (src, dst) {\n for (var key in src) {\n dst[key] = src[key]\n }\n}\nif (Buffer.from && Buffer.alloc && Buffer.allocUnsafe && Buffer.allocUnsafeSlow) {\n module.exports = buffer\n} else {\n // Copy properties from require('buffer')\n copyProps(buffer, exports)\n exports.Buffer = SafeBuffer\n}\n\nfunction SafeBuffer (arg, encodingOrOffset, length) {\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.prototype = Object.create(Buffer.prototype)\n\n// Copy static methods from Buffer\ncopyProps(Buffer, SafeBuffer)\n\nSafeBuffer.from = function (arg, encodingOrOffset, length) {\n if (typeof arg === 'number') {\n throw new TypeError('Argument must not be a number')\n }\n return Buffer(arg, encodingOrOffset, length)\n}\n\nSafeBuffer.alloc = function (size, fill, encoding) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n var buf = Buffer(size)\n if (fill !== undefined) {\n if (typeof encoding === 'string') {\n buf.fill(fill, encoding)\n } else {\n buf.fill(fill)\n }\n } else {\n buf.fill(0)\n }\n return buf\n}\n\nSafeBuffer.allocUnsafe = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return Buffer(size)\n}\n\nSafeBuffer.allocUnsafeSlow = function (size) {\n if (typeof size !== 'number') {\n throw new TypeError('Argument must be a number')\n }\n return buffer.SlowBuffer(size)\n}\n","\"use strict\";\n/*\nThe MIT License\n\nCopyright (c) 2016 Nick Dodson. nickdodson.com\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE\n */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isHexString = exports.getKeys = exports.fromAscii = exports.fromUtf8 = exports.toAscii = exports.arrayContainsArray = exports.getBinarySize = exports.padToEven = exports.stripHexPrefix = exports.isHexPrefixed = void 0;\n/**\n * Returns a `Boolean` on whether or not the a `String` starts with '0x'\n * @param str the string input value\n * @return a boolean if it is or is not hex prefixed\n * @throws if the str input is not a string\n */\nfunction isHexPrefixed(str) {\n if (typeof str !== 'string') {\n throw new Error(\"[isHexPrefixed] input must be type 'string', received type \".concat(typeof str));\n }\n return str[0] === '0' && str[1] === 'x';\n}\nexports.isHexPrefixed = isHexPrefixed;\n/**\n * Removes '0x' from a given `String` if present\n * @param str the string value\n * @returns the string without 0x prefix\n */\nvar stripHexPrefix = function (str) {\n if (typeof str !== 'string')\n throw new Error(\"[stripHexPrefix] input must be type 'string', received \".concat(typeof str));\n return isHexPrefixed(str) ? str.slice(2) : str;\n};\nexports.stripHexPrefix = stripHexPrefix;\n/**\n * Pads a `String` to have an even length\n * @param value\n * @return output\n */\nfunction padToEven(value) {\n var a = value;\n if (typeof a !== 'string') {\n throw new Error(\"[padToEven] value must be type 'string', received \".concat(typeof a));\n }\n if (a.length % 2)\n a = \"0\".concat(a);\n return a;\n}\nexports.padToEven = padToEven;\n/**\n * Get the binary size of a string\n * @param str\n * @returns the number of bytes contained within the string\n */\nfunction getBinarySize(str) {\n if (typeof str !== 'string') {\n throw new Error(\"[getBinarySize] method requires input type 'string', recieved \".concat(typeof str));\n }\n return Buffer.byteLength(str, 'utf8');\n}\nexports.getBinarySize = getBinarySize;\n/**\n * Returns TRUE if the first specified array contains all elements\n * from the second one. FALSE otherwise.\n *\n * @param superset\n * @param subset\n *\n */\nfunction arrayContainsArray(superset, subset, some) {\n if (Array.isArray(superset) !== true) {\n throw new Error(\"[arrayContainsArray] method requires input 'superset' to be an array, got type '\".concat(typeof superset, \"'\"));\n }\n if (Array.isArray(subset) !== true) {\n throw new Error(\"[arrayContainsArray] method requires input 'subset' to be an array, got type '\".concat(typeof subset, \"'\"));\n }\n return subset[some ? 'some' : 'every'](function (value) { return superset.indexOf(value) >= 0; });\n}\nexports.arrayContainsArray = arrayContainsArray;\n/**\n * Should be called to get ascii from its hex representation\n *\n * @param string in hex\n * @returns ascii string representation of hex value\n */\nfunction toAscii(hex) {\n var str = '';\n var i = 0;\n var l = hex.length;\n if (hex.substring(0, 2) === '0x')\n i = 2;\n for (; i < l; i += 2) {\n var code = parseInt(hex.substr(i, 2), 16);\n str += String.fromCharCode(code);\n }\n return str;\n}\nexports.toAscii = toAscii;\n/**\n * Should be called to get hex representation (prefixed by 0x) of utf8 string\n *\n * @param string\n * @param optional padding\n * @returns hex representation of input string\n */\nfunction fromUtf8(stringValue) {\n var str = Buffer.from(stringValue, 'utf8');\n return \"0x\".concat(padToEven(str.toString('hex')).replace(/^0+|0+$/g, ''));\n}\nexports.fromUtf8 = fromUtf8;\n/**\n * Should be called to get hex representation (prefixed by 0x) of ascii string\n *\n * @param string\n * @param optional padding\n * @returns hex representation of input string\n */\nfunction fromAscii(stringValue) {\n var hex = '';\n for (var i = 0; i < stringValue.length; i++) {\n var code = stringValue.charCodeAt(i);\n var n = code.toString(16);\n hex += n.length < 2 ? \"0\".concat(n) : n;\n }\n return \"0x\".concat(hex);\n}\nexports.fromAscii = fromAscii;\n/**\n * Returns the keys from an array of objects.\n * @example\n * ```js\n * getKeys([{a: '1', b: '2'}, {a: '3', b: '4'}], 'a') => ['1', '3']\n *````\n * @param params\n * @param key\n * @param allowEmpty\n * @returns output just a simple array of output keys\n */\nfunction getKeys(params, key, allowEmpty) {\n if (!Array.isArray(params)) {\n throw new Error(\"[getKeys] method expects input 'params' to be an array, got \".concat(typeof params));\n }\n if (typeof key !== 'string') {\n throw new Error(\"[getKeys] method expects input 'key' to be type 'string', got \".concat(typeof params));\n }\n var result = [];\n for (var i = 0; i < params.length; i++) {\n var value = params[i][key];\n if (allowEmpty && !value) {\n value = '';\n }\n else if (typeof value !== 'string') {\n throw new Error(\"invalid abi - expected type 'string', received \".concat(typeof value));\n }\n result.push(value);\n }\n return result;\n}\nexports.getKeys = getKeys;\n/**\n * Is the string a hex string.\n *\n * @param value\n * @param length\n * @returns output the string is a hex string\n */\nfunction isHexString(value, length) {\n if (typeof value !== 'string' || !value.match(/^0x[0-9A-Fa-f]*$/))\n return false;\n if (length && value.length !== 2 + 2 * length)\n return false;\n return true;\n}\nexports.isHexString = isHexString;\n//# sourceMappingURL=internal.js.map","/*\nThe MIT License\n\nCopyright (c) 2016 Nick Dodson. nickdodson.com\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE\n */\n\n/**\n * Returns a `Boolean` on whether or not the a `String` starts with '0x'\n * @param str the string input value\n * @return a boolean if it is or is not hex prefixed\n * @throws if the str input is not a string\n */\nexport function isHexPrefixed(str: string): boolean {\n if (typeof str !== 'string') {\n throw new Error(`[isHexPrefixed] input must be type 'string', received type ${typeof str}`)\n }\n\n return str[0] === '0' && str[1] === 'x'\n}\n\n/**\n * Removes '0x' from a given `String` if present\n * @param str the string value\n * @returns the string without 0x prefix\n */\nexport const stripHexPrefix = (str: string): string => {\n if (typeof str !== 'string')\n throw new Error(`[stripHexPrefix] input must be type 'string', received ${typeof str}`)\n\n return isHexPrefixed(str) ? str.slice(2) : str\n}\n\n/**\n * Pads a `String` to have an even length\n * @param value\n * @return output\n */\nexport function padToEven(value: string): string {\n let a = value\n\n if (typeof a !== 'string') {\n throw new Error(`[padToEven] value must be type 'string', received ${typeof a}`)\n }\n\n if (a.length % 2) a = `0${a}`\n\n return a\n}\n\n/**\n * Get the binary size of a string\n * @param str\n * @returns the number of bytes contained within the string\n */\nexport function getBinarySize(str: string) {\n if (typeof str !== 'string') {\n throw new Error(`[getBinarySize] method requires input type 'string', recieved ${typeof str}`)\n }\n\n return Buffer.byteLength(str, 'utf8')\n}\n\n/**\n * Returns TRUE if the first specified array contains all elements\n * from the second one. FALSE otherwise.\n *\n * @param superset\n * @param subset\n *\n */\nexport function arrayContainsArray(\n superset: unknown[],\n subset: unknown[],\n some?: boolean\n): boolean {\n if (Array.isArray(superset) !== true) {\n throw new Error(\n `[arrayContainsArray] method requires input 'superset' to be an array, got type '${typeof superset}'`\n )\n }\n if (Array.isArray(subset) !== true) {\n throw new Error(\n `[arrayContainsArray] method requires input 'subset' to be an array, got type '${typeof subset}'`\n )\n }\n\n return subset[some ? 'some' : 'every']((value) => superset.indexOf(value) >= 0)\n}\n\n/**\n * Should be called to get ascii from its hex representation\n *\n * @param string in hex\n * @returns ascii string representation of hex value\n */\nexport function toAscii(hex: string): string {\n let str = ''\n let i = 0\n const l = hex.length\n\n if (hex.substring(0, 2) === '0x') i = 2\n\n for (; i < l; i += 2) {\n const code = parseInt(hex.substr(i, 2), 16)\n str += String.fromCharCode(code)\n }\n\n return str\n}\n\n/**\n * Should be called to get hex representation (prefixed by 0x) of utf8 string\n *\n * @param string\n * @param optional padding\n * @returns hex representation of input string\n */\nexport function fromUtf8(stringValue: string) {\n const str = Buffer.from(stringValue, 'utf8')\n\n return `0x${padToEven(str.toString('hex')).replace(/^0+|0+$/g, '')}`\n}\n\n/**\n * Should be called to get hex representation (prefixed by 0x) of ascii string\n *\n * @param string\n * @param optional padding\n * @returns hex representation of input string\n */\nexport function fromAscii(stringValue: string) {\n let hex = ''\n for (let i = 0; i < stringValue.length; i++) {\n const code = stringValue.charCodeAt(i)\n const n = code.toString(16)\n hex += n.length < 2 ? `0${n}` : n\n }\n\n return `0x${hex}`\n}\n\n/**\n * Returns the keys from an array of objects.\n * @example\n * ```js\n * getKeys([{a: '1', b: '2'}, {a: '3', b: '4'}], 'a') => ['1', '3']\n *````\n * @param params\n * @param key\n * @param allowEmpty\n * @returns output just a simple array of output keys\n */\nexport function getKeys(params: Record[], key: string, allowEmpty?: boolean) {\n if (!Array.isArray(params)) {\n throw new Error(`[getKeys] method expects input 'params' to be an array, got ${typeof params}`)\n }\n if (typeof key !== 'string') {\n throw new Error(\n `[getKeys] method expects input 'key' to be type 'string', got ${typeof params}`\n )\n }\n\n const result = []\n\n for (let i = 0; i < params.length; i++) {\n let value = params[i][key]\n if (allowEmpty && !value) {\n value = ''\n } else if (typeof value !== 'string') {\n throw new Error(`invalid abi - expected type 'string', received ${typeof value}`)\n }\n result.push(value)\n }\n\n return result\n}\n\n/**\n * Is the string a hex string.\n *\n * @param value\n * @param length\n * @returns output the string is a hex string\n */\nexport function isHexString(value: string, length?: number): boolean {\n if (typeof value !== 'string' || !value.match(/^0x[0-9A-Fa-f]*$/)) return false\n\n if (length && value.length !== 2 + 2 * length) return false\n\n return true\n}\n","\"use strict\";\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bufArrToArr = exports.arrToBufArr = exports.validateNoLeadingZeroes = exports.baToJSON = exports.toUtf8 = exports.addHexPrefix = exports.toUnsigned = exports.fromSigned = exports.bufferToHex = exports.bufferToInt = exports.toBuffer = exports.unpadHexString = exports.unpadArray = exports.unpadBuffer = exports.setLengthRight = exports.setLengthLeft = exports.zeros = exports.intToBuffer = exports.intToHex = void 0;\nvar externals_1 = require(\"./externals\");\nvar internal_1 = require(\"./internal\");\nvar helpers_1 = require(\"./helpers\");\n/**\n * Converts a `Number` into a hex `String`\n * @param {Number} i\n * @return {String}\n */\nvar intToHex = function (i) {\n if (!Number.isSafeInteger(i) || i < 0) {\n throw new Error(\"Received an invalid integer type: \".concat(i));\n }\n return \"0x\".concat(i.toString(16));\n};\nexports.intToHex = intToHex;\n/**\n * Converts an `Number` to a `Buffer`\n * @param {Number} i\n * @return {Buffer}\n */\nvar intToBuffer = function (i) {\n var hex = (0, exports.intToHex)(i);\n return Buffer.from((0, internal_1.padToEven)(hex.slice(2)), 'hex');\n};\nexports.intToBuffer = intToBuffer;\n/**\n * Returns a buffer filled with 0s.\n * @param bytes the number of bytes the buffer should be\n */\nvar zeros = function (bytes) {\n return Buffer.allocUnsafe(bytes).fill(0);\n};\nexports.zeros = zeros;\n/**\n * Pads a `Buffer` with zeros till it has `length` bytes.\n * Truncates the beginning or end of input if its length exceeds `length`.\n * @param msg the value to pad (Buffer)\n * @param length the number of bytes the output should be\n * @param right whether to start padding form the left or right\n * @return (Buffer)\n */\nvar setLength = function (msg, length, right) {\n var buf = (0, exports.zeros)(length);\n if (right) {\n if (msg.length < length) {\n msg.copy(buf);\n return buf;\n }\n return msg.slice(0, length);\n }\n else {\n if (msg.length < length) {\n msg.copy(buf, length - msg.length);\n return buf;\n }\n return msg.slice(-length);\n }\n};\n/**\n * Left Pads a `Buffer` with leading zeros till it has `length` bytes.\n * Or it truncates the beginning if it exceeds.\n * @param msg the value to pad (Buffer)\n * @param length the number of bytes the output should be\n * @return (Buffer)\n */\nvar setLengthLeft = function (msg, length) {\n (0, helpers_1.assertIsBuffer)(msg);\n return setLength(msg, length, false);\n};\nexports.setLengthLeft = setLengthLeft;\n/**\n * Right Pads a `Buffer` with trailing zeros till it has `length` bytes.\n * it truncates the end if it exceeds.\n * @param msg the value to pad (Buffer)\n * @param length the number of bytes the output should be\n * @return (Buffer)\n */\nvar setLengthRight = function (msg, length) {\n (0, helpers_1.assertIsBuffer)(msg);\n return setLength(msg, length, true);\n};\nexports.setLengthRight = setLengthRight;\n/**\n * Trims leading zeros from a `Buffer`, `String` or `Number[]`.\n * @param a (Buffer|Array|String)\n * @return (Buffer|Array|String)\n */\nvar stripZeros = function (a) {\n var first = a[0];\n while (a.length > 0 && first.toString() === '0') {\n a = a.slice(1);\n first = a[0];\n }\n return a;\n};\n/**\n * Trims leading zeros from a `Buffer`.\n * @param a (Buffer)\n * @return (Buffer)\n */\nvar unpadBuffer = function (a) {\n (0, helpers_1.assertIsBuffer)(a);\n return stripZeros(a);\n};\nexports.unpadBuffer = unpadBuffer;\n/**\n * Trims leading zeros from an `Array` (of numbers).\n * @param a (number[])\n * @return (number[])\n */\nvar unpadArray = function (a) {\n (0, helpers_1.assertIsArray)(a);\n return stripZeros(a);\n};\nexports.unpadArray = unpadArray;\n/**\n * Trims leading zeros from a hex-prefixed `String`.\n * @param a (String)\n * @return (String)\n */\nvar unpadHexString = function (a) {\n (0, helpers_1.assertIsHexString)(a);\n a = (0, internal_1.stripHexPrefix)(a);\n return stripZeros(a);\n};\nexports.unpadHexString = unpadHexString;\n/**\n * Attempts to turn a value into a `Buffer`.\n * Inputs supported: `Buffer`, `String` (hex-prefixed), `Number`, null/undefined, `BN` and other objects\n * with a `toArray()` or `toBuffer()` method.\n * @param v the value\n */\nvar toBuffer = function (v) {\n if (v === null || v === undefined) {\n return Buffer.allocUnsafe(0);\n }\n if (Buffer.isBuffer(v)) {\n return Buffer.from(v);\n }\n if (Array.isArray(v) || v instanceof Uint8Array) {\n return Buffer.from(v);\n }\n if (typeof v === 'string') {\n if (!(0, internal_1.isHexString)(v)) {\n throw new Error(\"Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: \".concat(v));\n }\n return Buffer.from((0, internal_1.padToEven)((0, internal_1.stripHexPrefix)(v)), 'hex');\n }\n if (typeof v === 'number') {\n return (0, exports.intToBuffer)(v);\n }\n if (externals_1.BN.isBN(v)) {\n if (v.isNeg()) {\n throw new Error(\"Cannot convert negative BN to buffer. Given: \".concat(v));\n }\n return v.toArrayLike(Buffer);\n }\n if (v.toArray) {\n // converts a BN to a Buffer\n return Buffer.from(v.toArray());\n }\n if (v.toBuffer) {\n return Buffer.from(v.toBuffer());\n }\n throw new Error('invalid type');\n};\nexports.toBuffer = toBuffer;\n/**\n * Converts a `Buffer` to a `Number`.\n * @param buf `Buffer` object to convert\n * @throws If the input number exceeds 53 bits.\n */\nvar bufferToInt = function (buf) {\n return new externals_1.BN((0, exports.toBuffer)(buf)).toNumber();\n};\nexports.bufferToInt = bufferToInt;\n/**\n * Converts a `Buffer` into a `0x`-prefixed hex `String`.\n * @param buf `Buffer` object to convert\n */\nvar bufferToHex = function (buf) {\n buf = (0, exports.toBuffer)(buf);\n return '0x' + buf.toString('hex');\n};\nexports.bufferToHex = bufferToHex;\n/**\n * Interprets a `Buffer` as a signed integer and returns a `BN`. Assumes 256-bit numbers.\n * @param num Signed integer value\n */\nvar fromSigned = function (num) {\n return new externals_1.BN(num).fromTwos(256);\n};\nexports.fromSigned = fromSigned;\n/**\n * Converts a `BN` to an unsigned integer and returns it as a `Buffer`. Assumes 256-bit numbers.\n * @param num\n */\nvar toUnsigned = function (num) {\n return Buffer.from(num.toTwos(256).toArray());\n};\nexports.toUnsigned = toUnsigned;\n/**\n * Adds \"0x\" to a given `String` if it does not already start with \"0x\".\n */\nvar addHexPrefix = function (str) {\n if (typeof str !== 'string') {\n return str;\n }\n return (0, internal_1.isHexPrefixed)(str) ? str : '0x' + str;\n};\nexports.addHexPrefix = addHexPrefix;\n/**\n * Returns the utf8 string representation from a hex string.\n *\n * Examples:\n *\n * Input 1: '657468657265756d000000000000000000000000000000000000000000000000'\n * Input 2: '657468657265756d'\n * Input 3: '000000000000000000000000000000000000000000000000657468657265756d'\n *\n * Output (all 3 input variants): 'ethereum'\n *\n * Note that this method is not intended to be used with hex strings\n * representing quantities in both big endian or little endian notation.\n *\n * @param string Hex string, should be `0x` prefixed\n * @return Utf8 string\n */\nvar toUtf8 = function (hex) {\n var zerosRegexp = /^(00)+|(00)+$/g;\n hex = (0, internal_1.stripHexPrefix)(hex);\n if (hex.length % 2 !== 0) {\n throw new Error('Invalid non-even hex string input for toUtf8() provided');\n }\n var bufferVal = Buffer.from(hex.replace(zerosRegexp, ''), 'hex');\n return bufferVal.toString('utf8');\n};\nexports.toUtf8 = toUtf8;\n/**\n * Converts a `Buffer` or `Array` to JSON.\n * @param ba (Buffer|Array)\n * @return (Array|String|null)\n */\nvar baToJSON = function (ba) {\n if (Buffer.isBuffer(ba)) {\n return \"0x\".concat(ba.toString('hex'));\n }\n else if (ba instanceof Array) {\n var array = [];\n for (var i = 0; i < ba.length; i++) {\n array.push((0, exports.baToJSON)(ba[i]));\n }\n return array;\n }\n};\nexports.baToJSON = baToJSON;\n/**\n * Checks provided Buffers for leading zeroes and throws if found.\n *\n * Examples:\n *\n * Valid values: 0x1, 0x, 0x01, 0x1234\n * Invalid values: 0x0, 0x00, 0x001, 0x0001\n *\n * Note: This method is useful for validating that RLP encoded integers comply with the rule that all\n * integer values encoded to RLP must be in the most compact form and contain no leading zero bytes\n * @param values An object containing string keys and Buffer values\n * @throws if any provided value is found to have leading zero bytes\n */\nvar validateNoLeadingZeroes = function (values) {\n var e_1, _a;\n try {\n for (var _b = __values(Object.entries(values)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var _d = __read(_c.value, 2), k = _d[0], v = _d[1];\n if (v !== undefined && v.length > 0 && v[0] === 0) {\n throw new Error(\"\".concat(k, \" cannot have leading zeroes, received: \").concat(v.toString('hex')));\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n};\nexports.validateNoLeadingZeroes = validateNoLeadingZeroes;\nfunction arrToBufArr(arr) {\n if (!Array.isArray(arr)) {\n return Buffer.from(arr);\n }\n return arr.map(function (a) { return arrToBufArr(a); });\n}\nexports.arrToBufArr = arrToBufArr;\nfunction bufArrToArr(arr) {\n if (!Array.isArray(arr)) {\n return Uint8Array.from(arr !== null && arr !== void 0 ? arr : []);\n }\n return arr.map(function (a) { return bufArrToArr(a); });\n}\nexports.bufArrToArr = bufArrToArr;\n//# sourceMappingURL=bytes.js.map","import { BN } from './externals'\nimport { stripHexPrefix, padToEven, isHexString, isHexPrefixed } from './internal'\nimport {\n PrefixedHexString,\n TransformableToArray,\n TransformableToBuffer,\n NestedBufferArray,\n NestedUint8Array,\n} from './types'\nimport { assertIsBuffer, assertIsArray, assertIsHexString } from './helpers'\n\n/**\n * Converts a `Number` into a hex `String`\n * @param {Number} i\n * @return {String}\n */\nexport const intToHex = function (i: number) {\n if (!Number.isSafeInteger(i) || i < 0) {\n throw new Error(`Received an invalid integer type: ${i}`)\n }\n return `0x${i.toString(16)}`\n}\n\n/**\n * Converts an `Number` to a `Buffer`\n * @param {Number} i\n * @return {Buffer}\n */\nexport const intToBuffer = function (i: number) {\n const hex = intToHex(i)\n return Buffer.from(padToEven(hex.slice(2)), 'hex')\n}\n\n/**\n * Returns a buffer filled with 0s.\n * @param bytes the number of bytes the buffer should be\n */\nexport const zeros = function (bytes: number): Buffer {\n return Buffer.allocUnsafe(bytes).fill(0)\n}\n\n/**\n * Pads a `Buffer` with zeros till it has `length` bytes.\n * Truncates the beginning or end of input if its length exceeds `length`.\n * @param msg the value to pad (Buffer)\n * @param length the number of bytes the output should be\n * @param right whether to start padding form the left or right\n * @return (Buffer)\n */\nconst setLength = function (msg: Buffer, length: number, right: boolean) {\n const buf = zeros(length)\n if (right) {\n if (msg.length < length) {\n msg.copy(buf)\n return buf\n }\n return msg.slice(0, length)\n } else {\n if (msg.length < length) {\n msg.copy(buf, length - msg.length)\n return buf\n }\n return msg.slice(-length)\n }\n}\n\n/**\n * Left Pads a `Buffer` with leading zeros till it has `length` bytes.\n * Or it truncates the beginning if it exceeds.\n * @param msg the value to pad (Buffer)\n * @param length the number of bytes the output should be\n * @return (Buffer)\n */\nexport const setLengthLeft = function (msg: Buffer, length: number) {\n assertIsBuffer(msg)\n return setLength(msg, length, false)\n}\n\n/**\n * Right Pads a `Buffer` with trailing zeros till it has `length` bytes.\n * it truncates the end if it exceeds.\n * @param msg the value to pad (Buffer)\n * @param length the number of bytes the output should be\n * @return (Buffer)\n */\nexport const setLengthRight = function (msg: Buffer, length: number) {\n assertIsBuffer(msg)\n return setLength(msg, length, true)\n}\n\n/**\n * Trims leading zeros from a `Buffer`, `String` or `Number[]`.\n * @param a (Buffer|Array|String)\n * @return (Buffer|Array|String)\n */\nconst stripZeros = function (a: any): Buffer | number[] | string {\n let first = a[0]\n while (a.length > 0 && first.toString() === '0') {\n a = a.slice(1)\n first = a[0]\n }\n return a\n}\n\n/**\n * Trims leading zeros from a `Buffer`.\n * @param a (Buffer)\n * @return (Buffer)\n */\nexport const unpadBuffer = function (a: Buffer): Buffer {\n assertIsBuffer(a)\n return stripZeros(a) as Buffer\n}\n\n/**\n * Trims leading zeros from an `Array` (of numbers).\n * @param a (number[])\n * @return (number[])\n */\nexport const unpadArray = function (a: number[]): number[] {\n assertIsArray(a)\n return stripZeros(a) as number[]\n}\n\n/**\n * Trims leading zeros from a hex-prefixed `String`.\n * @param a (String)\n * @return (String)\n */\nexport const unpadHexString = function (a: string): string {\n assertIsHexString(a)\n a = stripHexPrefix(a)\n return stripZeros(a) as string\n}\n\nexport type ToBufferInputTypes =\n | PrefixedHexString\n | number\n | BN\n | Buffer\n | Uint8Array\n | number[]\n | TransformableToArray\n | TransformableToBuffer\n | null\n | undefined\n\n/**\n * Attempts to turn a value into a `Buffer`.\n * Inputs supported: `Buffer`, `String` (hex-prefixed), `Number`, null/undefined, `BN` and other objects\n * with a `toArray()` or `toBuffer()` method.\n * @param v the value\n */\nexport const toBuffer = function (v: ToBufferInputTypes): Buffer {\n if (v === null || v === undefined) {\n return Buffer.allocUnsafe(0)\n }\n\n if (Buffer.isBuffer(v)) {\n return Buffer.from(v)\n }\n\n if (Array.isArray(v) || v instanceof Uint8Array) {\n return Buffer.from(v as Uint8Array)\n }\n\n if (typeof v === 'string') {\n if (!isHexString(v)) {\n throw new Error(\n `Cannot convert string to buffer. toBuffer only supports 0x-prefixed hex strings and this string was given: ${v}`\n )\n }\n return Buffer.from(padToEven(stripHexPrefix(v)), 'hex')\n }\n\n if (typeof v === 'number') {\n return intToBuffer(v)\n }\n\n if (BN.isBN(v)) {\n if (v.isNeg()) {\n throw new Error(`Cannot convert negative BN to buffer. Given: ${v}`)\n }\n return v.toArrayLike(Buffer)\n }\n\n if (v.toArray) {\n // converts a BN to a Buffer\n return Buffer.from(v.toArray())\n }\n\n if (v.toBuffer) {\n return Buffer.from(v.toBuffer())\n }\n\n throw new Error('invalid type')\n}\n\n/**\n * Converts a `Buffer` to a `Number`.\n * @param buf `Buffer` object to convert\n * @throws If the input number exceeds 53 bits.\n */\nexport const bufferToInt = function (buf: Buffer): number {\n return new BN(toBuffer(buf)).toNumber()\n}\n\n/**\n * Converts a `Buffer` into a `0x`-prefixed hex `String`.\n * @param buf `Buffer` object to convert\n */\nexport const bufferToHex = function (buf: Buffer): string {\n buf = toBuffer(buf)\n return '0x' + buf.toString('hex')\n}\n\n/**\n * Interprets a `Buffer` as a signed integer and returns a `BN`. Assumes 256-bit numbers.\n * @param num Signed integer value\n */\nexport const fromSigned = function (num: Buffer): BN {\n return new BN(num).fromTwos(256)\n}\n\n/**\n * Converts a `BN` to an unsigned integer and returns it as a `Buffer`. Assumes 256-bit numbers.\n * @param num\n */\nexport const toUnsigned = function (num: BN): Buffer {\n return Buffer.from(num.toTwos(256).toArray())\n}\n\n/**\n * Adds \"0x\" to a given `String` if it does not already start with \"0x\".\n */\nexport const addHexPrefix = function (str: string): string {\n if (typeof str !== 'string') {\n return str\n }\n\n return isHexPrefixed(str) ? str : '0x' + str\n}\n\n/**\n * Returns the utf8 string representation from a hex string.\n *\n * Examples:\n *\n * Input 1: '657468657265756d000000000000000000000000000000000000000000000000'\n * Input 2: '657468657265756d'\n * Input 3: '000000000000000000000000000000000000000000000000657468657265756d'\n *\n * Output (all 3 input variants): 'ethereum'\n *\n * Note that this method is not intended to be used with hex strings\n * representing quantities in both big endian or little endian notation.\n *\n * @param string Hex string, should be `0x` prefixed\n * @return Utf8 string\n */\nexport const toUtf8 = function (hex: string): string {\n const zerosRegexp = /^(00)+|(00)+$/g\n hex = stripHexPrefix(hex)\n if (hex.length % 2 !== 0) {\n throw new Error('Invalid non-even hex string input for toUtf8() provided')\n }\n const bufferVal = Buffer.from(hex.replace(zerosRegexp, ''), 'hex')\n\n return bufferVal.toString('utf8')\n}\n\n/**\n * Converts a `Buffer` or `Array` to JSON.\n * @param ba (Buffer|Array)\n * @return (Array|String|null)\n */\nexport const baToJSON = function (ba: any): any {\n if (Buffer.isBuffer(ba)) {\n return `0x${ba.toString('hex')}`\n } else if (ba instanceof Array) {\n const array = []\n for (let i = 0; i < ba.length; i++) {\n array.push(baToJSON(ba[i]))\n }\n return array\n }\n}\n\n/**\n * Checks provided Buffers for leading zeroes and throws if found.\n *\n * Examples:\n *\n * Valid values: 0x1, 0x, 0x01, 0x1234\n * Invalid values: 0x0, 0x00, 0x001, 0x0001\n *\n * Note: This method is useful for validating that RLP encoded integers comply with the rule that all\n * integer values encoded to RLP must be in the most compact form and contain no leading zero bytes\n * @param values An object containing string keys and Buffer values\n * @throws if any provided value is found to have leading zero bytes\n */\nexport const validateNoLeadingZeroes = function (values: { [key: string]: Buffer | undefined }) {\n for (const [k, v] of Object.entries(values)) {\n if (v !== undefined && v.length > 0 && v[0] === 0) {\n throw new Error(`${k} cannot have leading zeroes, received: ${v.toString('hex')}`)\n }\n }\n}\n\n/**\n * Converts a {@link Uint8Array} or {@link NestedUint8Array} to {@link Buffer} or {@link NestedBufferArray}\n */\nexport function arrToBufArr(arr: Uint8Array): Buffer\nexport function arrToBufArr(arr: NestedUint8Array): NestedBufferArray\nexport function arrToBufArr(arr: Uint8Array | NestedUint8Array): Buffer | NestedBufferArray\nexport function arrToBufArr(arr: Uint8Array | NestedUint8Array): Buffer | NestedBufferArray {\n if (!Array.isArray(arr)) {\n return Buffer.from(arr)\n }\n return arr.map((a) => arrToBufArr(a))\n}\n\n/**\n * Converts a {@link Buffer} or {@link NestedBufferArray} to {@link Uint8Array} or {@link NestedUint8Array}\n */\nexport function bufArrToArr(arr: Buffer): Uint8Array\nexport function bufArrToArr(arr: NestedBufferArray): NestedUint8Array\nexport function bufArrToArr(arr: Buffer | NestedBufferArray): Uint8Array | NestedUint8Array\nexport function bufArrToArr(arr: Buffer | NestedBufferArray): Uint8Array | NestedUint8Array {\n if (!Array.isArray(arr)) {\n return Uint8Array.from(arr ?? [])\n }\n return arr.map((a) => bufArrToArr(a))\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.assertIsString = exports.assertIsArray = exports.assertIsBuffer = exports.assertIsHexString = void 0;\nvar internal_1 = require(\"./internal\");\n/**\n * Throws if a string is not hex prefixed\n * @param {string} input string to check hex prefix of\n */\nvar assertIsHexString = function (input) {\n if (!(0, internal_1.isHexString)(input)) {\n var msg = \"This method only supports 0x-prefixed hex strings but input was: \".concat(input);\n throw new Error(msg);\n }\n};\nexports.assertIsHexString = assertIsHexString;\n/**\n * Throws if input is not a buffer\n * @param {Buffer} input value to check\n */\nvar assertIsBuffer = function (input) {\n if (!Buffer.isBuffer(input)) {\n var msg = \"This method only supports Buffer but input was: \".concat(input);\n throw new Error(msg);\n }\n};\nexports.assertIsBuffer = assertIsBuffer;\n/**\n * Throws if input is not an array\n * @param {number[]} input value to check\n */\nvar assertIsArray = function (input) {\n if (!Array.isArray(input)) {\n var msg = \"This method only supports number arrays but input was: \".concat(input);\n throw new Error(msg);\n }\n};\nexports.assertIsArray = assertIsArray;\n/**\n * Throws if input is not a string\n * @param {string} input value to check\n */\nvar assertIsString = function (input) {\n if (typeof input !== 'string') {\n var msg = \"This method only supports strings but input was: \".concat(input);\n throw new Error(msg);\n }\n};\nexports.assertIsString = assertIsString;\n//# sourceMappingURL=helpers.js.map","import { isHexString } from './internal'\n\n/**\n * Throws if a string is not hex prefixed\n * @param {string} input string to check hex prefix of\n */\nexport const assertIsHexString = function (input: string): void {\n if (!isHexString(input)) {\n const msg = `This method only supports 0x-prefixed hex strings but input was: ${input}`\n throw new Error(msg)\n }\n}\n\n/**\n * Throws if input is not a buffer\n * @param {Buffer} input value to check\n */\nexport const assertIsBuffer = function (input: Buffer): void {\n if (!Buffer.isBuffer(input)) {\n const msg = `This method only supports Buffer but input was: ${input}`\n throw new Error(msg)\n }\n}\n\n/**\n * Throws if input is not an array\n * @param {number[]} input value to check\n */\nexport const assertIsArray = function (input: number[]): void {\n if (!Array.isArray(input)) {\n const msg = `This method only supports number arrays but input was: ${input}`\n throw new Error(msg)\n }\n}\n\n/**\n * Throws if input is not a string\n * @param {string} input value to check\n */\nexport const assertIsString = function (input: string): void {\n if (typeof input !== 'string') {\n const msg = `This method only supports strings but input was: ${input}`\n throw new Error(msg)\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.rlphash = exports.ripemd160FromArray = exports.ripemd160FromString = exports.ripemd160 = exports.sha256FromArray = exports.sha256FromString = exports.sha256 = exports.keccakFromArray = exports.keccakFromHexString = exports.keccakFromString = exports.keccak256 = exports.keccak = void 0;\nvar keccak_1 = require(\"ethereum-cryptography/keccak\");\nvar createHash = require('create-hash');\nvar externals_1 = require(\"./externals\");\nvar bytes_1 = require(\"./bytes\");\nvar helpers_1 = require(\"./helpers\");\n/**\n * Creates Keccak hash of a Buffer input\n * @param a The input data (Buffer)\n * @param bits (number = 256) The Keccak width\n */\nvar keccak = function (a, bits) {\n if (bits === void 0) { bits = 256; }\n (0, helpers_1.assertIsBuffer)(a);\n switch (bits) {\n case 224: {\n return (0, keccak_1.keccak224)(a);\n }\n case 256: {\n return (0, keccak_1.keccak256)(a);\n }\n case 384: {\n return (0, keccak_1.keccak384)(a);\n }\n case 512: {\n return (0, keccak_1.keccak512)(a);\n }\n default: {\n throw new Error(\"Invald algorithm: keccak\".concat(bits));\n }\n }\n};\nexports.keccak = keccak;\n/**\n * Creates Keccak-256 hash of the input, alias for keccak(a, 256).\n * @param a The input data (Buffer)\n */\nvar keccak256 = function (a) {\n return (0, exports.keccak)(a);\n};\nexports.keccak256 = keccak256;\n/**\n * Creates Keccak hash of a utf-8 string input\n * @param a The input data (String)\n * @param bits (number = 256) The Keccak width\n */\nvar keccakFromString = function (a, bits) {\n if (bits === void 0) { bits = 256; }\n (0, helpers_1.assertIsString)(a);\n var buf = Buffer.from(a, 'utf8');\n return (0, exports.keccak)(buf, bits);\n};\nexports.keccakFromString = keccakFromString;\n/**\n * Creates Keccak hash of an 0x-prefixed string input\n * @param a The input data (String)\n * @param bits (number = 256) The Keccak width\n */\nvar keccakFromHexString = function (a, bits) {\n if (bits === void 0) { bits = 256; }\n (0, helpers_1.assertIsHexString)(a);\n return (0, exports.keccak)((0, bytes_1.toBuffer)(a), bits);\n};\nexports.keccakFromHexString = keccakFromHexString;\n/**\n * Creates Keccak hash of a number array input\n * @param a The input data (number[])\n * @param bits (number = 256) The Keccak width\n */\nvar keccakFromArray = function (a, bits) {\n if (bits === void 0) { bits = 256; }\n (0, helpers_1.assertIsArray)(a);\n return (0, exports.keccak)((0, bytes_1.toBuffer)(a), bits);\n};\nexports.keccakFromArray = keccakFromArray;\n/**\n * Creates SHA256 hash of an input.\n * @param a The input data (Buffer|Array|String)\n */\nvar _sha256 = function (a) {\n a = (0, bytes_1.toBuffer)(a);\n return createHash('sha256').update(a).digest();\n};\n/**\n * Creates SHA256 hash of a Buffer input.\n * @param a The input data (Buffer)\n */\nvar sha256 = function (a) {\n (0, helpers_1.assertIsBuffer)(a);\n return _sha256(a);\n};\nexports.sha256 = sha256;\n/**\n * Creates SHA256 hash of a string input.\n * @param a The input data (string)\n */\nvar sha256FromString = function (a) {\n (0, helpers_1.assertIsString)(a);\n return _sha256(a);\n};\nexports.sha256FromString = sha256FromString;\n/**\n * Creates SHA256 hash of a number[] input.\n * @param a The input data (number[])\n */\nvar sha256FromArray = function (a) {\n (0, helpers_1.assertIsArray)(a);\n return _sha256(a);\n};\nexports.sha256FromArray = sha256FromArray;\n/**\n * Creates RIPEMD160 hash of the input.\n * @param a The input data (Buffer|Array|String|Number)\n * @param padded Whether it should be padded to 256 bits or not\n */\nvar _ripemd160 = function (a, padded) {\n a = (0, bytes_1.toBuffer)(a);\n var hash = createHash('rmd160').update(a).digest();\n if (padded === true) {\n return (0, bytes_1.setLengthLeft)(hash, 32);\n }\n else {\n return hash;\n }\n};\n/**\n * Creates RIPEMD160 hash of a Buffer input.\n * @param a The input data (Buffer)\n * @param padded Whether it should be padded to 256 bits or not\n */\nvar ripemd160 = function (a, padded) {\n (0, helpers_1.assertIsBuffer)(a);\n return _ripemd160(a, padded);\n};\nexports.ripemd160 = ripemd160;\n/**\n * Creates RIPEMD160 hash of a string input.\n * @param a The input data (String)\n * @param padded Whether it should be padded to 256 bits or not\n */\nvar ripemd160FromString = function (a, padded) {\n (0, helpers_1.assertIsString)(a);\n return _ripemd160(a, padded);\n};\nexports.ripemd160FromString = ripemd160FromString;\n/**\n * Creates RIPEMD160 hash of a number[] input.\n * @param a The input data (number[])\n * @param padded Whether it should be padded to 256 bits or not\n */\nvar ripemd160FromArray = function (a, padded) {\n (0, helpers_1.assertIsArray)(a);\n return _ripemd160(a, padded);\n};\nexports.ripemd160FromArray = ripemd160FromArray;\n/**\n * Creates SHA-3 hash of the RLP encoded version of the input.\n * @param a The input data\n */\nvar rlphash = function (a) {\n return (0, exports.keccak)(externals_1.rlp.encode(a));\n};\nexports.rlphash = rlphash;\n//# sourceMappingURL=hash.js.map","import { keccak224, keccak384, keccak256 as k256, keccak512 } from 'ethereum-cryptography/keccak'\nconst createHash = require('create-hash')\nimport { rlp } from './externals'\nimport { toBuffer, setLengthLeft } from './bytes'\nimport { assertIsString, assertIsBuffer, assertIsArray, assertIsHexString } from './helpers'\n\n/**\n * Creates Keccak hash of a Buffer input\n * @param a The input data (Buffer)\n * @param bits (number = 256) The Keccak width\n */\nexport const keccak = function (a: Buffer, bits: number = 256): Buffer {\n assertIsBuffer(a)\n switch (bits) {\n case 224: {\n return keccak224(a)\n }\n case 256: {\n return k256(a)\n }\n case 384: {\n return keccak384(a)\n }\n case 512: {\n return keccak512(a)\n }\n default: {\n throw new Error(`Invald algorithm: keccak${bits}`)\n }\n }\n}\n\n/**\n * Creates Keccak-256 hash of the input, alias for keccak(a, 256).\n * @param a The input data (Buffer)\n */\nexport const keccak256 = function (a: Buffer): Buffer {\n return keccak(a)\n}\n\n/**\n * Creates Keccak hash of a utf-8 string input\n * @param a The input data (String)\n * @param bits (number = 256) The Keccak width\n */\nexport const keccakFromString = function (a: string, bits: number = 256) {\n assertIsString(a)\n const buf = Buffer.from(a, 'utf8')\n return keccak(buf, bits)\n}\n\n/**\n * Creates Keccak hash of an 0x-prefixed string input\n * @param a The input data (String)\n * @param bits (number = 256) The Keccak width\n */\nexport const keccakFromHexString = function (a: string, bits: number = 256) {\n assertIsHexString(a)\n return keccak(toBuffer(a), bits)\n}\n\n/**\n * Creates Keccak hash of a number array input\n * @param a The input data (number[])\n * @param bits (number = 256) The Keccak width\n */\nexport const keccakFromArray = function (a: number[], bits: number = 256) {\n assertIsArray(a)\n return keccak(toBuffer(a), bits)\n}\n\n/**\n * Creates SHA256 hash of an input.\n * @param a The input data (Buffer|Array|String)\n */\nconst _sha256 = function (a: any): Buffer {\n a = toBuffer(a)\n return createHash('sha256').update(a).digest()\n}\n\n/**\n * Creates SHA256 hash of a Buffer input.\n * @param a The input data (Buffer)\n */\nexport const sha256 = function (a: Buffer): Buffer {\n assertIsBuffer(a)\n return _sha256(a)\n}\n\n/**\n * Creates SHA256 hash of a string input.\n * @param a The input data (string)\n */\nexport const sha256FromString = function (a: string): Buffer {\n assertIsString(a)\n return _sha256(a)\n}\n\n/**\n * Creates SHA256 hash of a number[] input.\n * @param a The input data (number[])\n */\nexport const sha256FromArray = function (a: number[]): Buffer {\n assertIsArray(a)\n return _sha256(a)\n}\n\n/**\n * Creates RIPEMD160 hash of the input.\n * @param a The input data (Buffer|Array|String|Number)\n * @param padded Whether it should be padded to 256 bits or not\n */\nconst _ripemd160 = function (a: any, padded: boolean): Buffer {\n a = toBuffer(a)\n const hash = createHash('rmd160').update(a).digest()\n if (padded === true) {\n return setLengthLeft(hash, 32)\n } else {\n return hash\n }\n}\n\n/**\n * Creates RIPEMD160 hash of a Buffer input.\n * @param a The input data (Buffer)\n * @param padded Whether it should be padded to 256 bits or not\n */\nexport const ripemd160 = function (a: Buffer, padded: boolean): Buffer {\n assertIsBuffer(a)\n return _ripemd160(a, padded)\n}\n\n/**\n * Creates RIPEMD160 hash of a string input.\n * @param a The input data (String)\n * @param padded Whether it should be padded to 256 bits or not\n */\nexport const ripemd160FromString = function (a: string, padded: boolean): Buffer {\n assertIsString(a)\n return _ripemd160(a, padded)\n}\n\n/**\n * Creates RIPEMD160 hash of a number[] input.\n * @param a The input data (number[])\n * @param padded Whether it should be padded to 256 bits or not\n */\nexport const ripemd160FromArray = function (a: number[], padded: boolean): Buffer {\n assertIsArray(a)\n return _ripemd160(a, padded)\n}\n\n/**\n * Creates SHA-3 hash of the RLP encoded version of the input.\n * @param a The input data\n */\nexport const rlphash = function (a: rlp.Input): Buffer {\n return keccak(rlp.encode(a))\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar hash_utils_1 = require(\"./hash-utils\");\nvar createKeccakHash = require(\"keccak\");\nexports.keccak224 = hash_utils_1.createHashFunction(function () {\n return createKeccakHash(\"keccak224\");\n});\nexports.keccak256 = hash_utils_1.createHashFunction(function () {\n return createKeccakHash(\"keccak256\");\n});\nexports.keccak384 = hash_utils_1.createHashFunction(function () {\n return createKeccakHash(\"keccak384\");\n});\nexports.keccak512 = hash_utils_1.createHashFunction(function () {\n return createKeccakHash(\"keccak512\");\n});\n//# sourceMappingURL=keccak.js.map","import { createHashFunction } from \"./hash-utils\";\n\nconst createKeccakHash = require(\"keccak\");\n\nexport const keccak224 = createHashFunction(() =>\n createKeccakHash(\"keccak224\")\n);\n\nexport const keccak256 = createHashFunction(() =>\n createKeccakHash(\"keccak256\")\n);\n\nexport const keccak384 = createHashFunction(() =>\n createKeccakHash(\"keccak384\")\n);\n\nexport const keccak512 = createHashFunction(() =>\n createKeccakHash(\"keccak512\")\n);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nfunction createHashFunction(hashConstructor) {\n return function (msg) {\n var hash = hashConstructor();\n hash.update(msg);\n return Buffer.from(hash.digest());\n };\n}\nexports.createHashFunction = createHashFunction;\n//# sourceMappingURL=hash-utils.js.map","import { Hash } from \"crypto\";\n\nexport function createHashFunction(\n hashConstructor: () => Hash\n): (msg: Buffer) => Buffer {\n return msg => {\n const hash = hashConstructor();\n hash.update(msg);\n return Buffer.from(hash.digest());\n };\n}\n","module.exports = require('./lib/api')(require('./lib/keccak'))\n","const createKeccak = require('./keccak')\nconst createShake = require('./shake')\n\nmodule.exports = function (KeccakState) {\n const Keccak = createKeccak(KeccakState)\n const Shake = createShake(KeccakState)\n\n return function (algorithm, options) {\n const hash = typeof algorithm === 'string' ? algorithm.toLowerCase() : algorithm\n switch (hash) {\n case 'keccak224': return new Keccak(1152, 448, null, 224, options)\n case 'keccak256': return new Keccak(1088, 512, null, 256, options)\n case 'keccak384': return new Keccak(832, 768, null, 384, options)\n case 'keccak512': return new Keccak(576, 1024, null, 512, options)\n\n case 'sha3-224': return new Keccak(1152, 448, 0x06, 224, options)\n case 'sha3-256': return new Keccak(1088, 512, 0x06, 256, options)\n case 'sha3-384': return new Keccak(832, 768, 0x06, 384, options)\n case 'sha3-512': return new Keccak(576, 1024, 0x06, 512, options)\n\n case 'shake128': return new Shake(1344, 256, 0x1f, options)\n case 'shake256': return new Shake(1088, 512, 0x1f, options)\n\n default: throw new Error('Invald algorithm: ' + algorithm)\n }\n }\n}\n","const { Transform } = require('readable-stream')\n\nmodule.exports = (KeccakState) => class Keccak extends Transform {\n constructor (rate, capacity, delimitedSuffix, hashBitLength, options) {\n super(options)\n\n this._rate = rate\n this._capacity = capacity\n this._delimitedSuffix = delimitedSuffix\n this._hashBitLength = hashBitLength\n this._options = options\n\n this._state = new KeccakState()\n this._state.initialize(rate, capacity)\n this._finalized = false\n }\n\n _transform (chunk, encoding, callback) {\n let error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n _flush (callback) {\n let error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n update (data, encoding) {\n if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n this._state.absorb(data)\n\n return this\n }\n\n digest (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n if (this._delimitedSuffix) this._state.absorbLastFewBits(this._delimitedSuffix)\n let digest = this._state.squeeze(this._hashBitLength / 8)\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n this._resetState()\n\n return digest\n }\n\n // remove result from memory\n _resetState () {\n this._state.initialize(this._rate, this._capacity)\n return this\n }\n\n // because sometimes we need hash right now and little later\n _clone () {\n const clone = new Keccak(this._rate, this._capacity, this._delimitedSuffix, this._hashBitLength, this._options)\n this._state.copy(clone._state)\n clone._finalized = this._finalized\n\n return clone\n }\n}\n","exports = module.exports = require('./lib/_stream_readable.js');\nexports.Stream = exports;\nexports.Readable = exports;\nexports.Writable = require('./lib/_stream_writable.js');\nexports.Duplex = require('./lib/_stream_duplex.js');\nexports.Transform = require('./lib/_stream_transform.js');\nexports.PassThrough = require('./lib/_stream_passthrough.js');\nexports.finished = require('./lib/internal/streams/end-of-stream.js');\nexports.pipeline = require('./lib/internal/streams/pipeline.js');\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nmodule.exports = Readable;\n\n/**/\nvar Duplex;\n/**/\n\nReadable.ReadableState = ReadableState;\n\n/**/\nvar EE = require('events').EventEmitter;\nvar EElistenerCount = function EElistenerCount(emitter, type) {\n return emitter.listeners(type).length;\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\n\n/**/\nvar debugUtil = require('util');\nvar debug;\nif (debugUtil && debugUtil.debuglog) {\n debug = debugUtil.debuglog('stream');\n} else {\n debug = function debug() {};\n}\n/**/\n\nvar BufferList = require('./internal/streams/buffer_list');\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_STREAM_PUSH_AFTER_EOF = _require$codes.ERR_STREAM_PUSH_AFTER_EOF,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_STREAM_UNSHIFT_AFTER_END_EVENT = _require$codes.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;\n\n// Lazy loaded to improve the startup performance.\nvar StringDecoder;\nvar createReadableStreamAsyncIterator;\nvar from;\nrequire('inherits')(Readable, Stream);\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nvar kProxyEvents = ['error', 'close', 'destroy', 'pause', 'resume'];\nfunction prependListener(emitter, event, fn) {\n // Sadly this is not cacheable as some libraries bundle their own\n // event emitter implementation with them.\n if (typeof emitter.prependListener === 'function') return emitter.prependListener(event, fn);\n\n // This is a hack to make sure that our error handler is attached before any\n // userland ones. NEVER DO THIS. This is here only because this code needs\n // to continue to work with older versions of Node.js that do not include\n // the prependListener() method. The goal is to eventually remove this hack.\n if (!emitter._events || !emitter._events[event]) emitter.on(event, fn);else if (Array.isArray(emitter._events[event])) emitter._events[event].unshift(fn);else emitter._events[event] = [fn, emitter._events[event]];\n}\nfunction ReadableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream.\n // These options can be provided separately as readableXXX and writableXXX.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag. Used to make read(n) ignore n and to\n // make all the buffer merging and length checks go away\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.readableObjectMode;\n\n // the point at which it stops calling _read() to fill the buffer\n // Note: 0 is a valid value, means \"don't call _read preemptively ever\"\n this.highWaterMark = getHighWaterMark(this, options, 'readableHighWaterMark', isDuplex);\n\n // A linked list is used to store data chunks instead of an array because the\n // linked list can remove elements from the beginning faster than\n // array.shift()\n this.buffer = new BufferList();\n this.length = 0;\n this.pipes = null;\n this.pipesCount = 0;\n this.flowing = null;\n this.ended = false;\n this.endEmitted = false;\n this.reading = false;\n\n // a flag to be able to tell if the event 'readable'/'data' is emitted\n // immediately, or on a later tick. We set this to true at first, because\n // any actions that shouldn't happen until \"later\" should generally also\n // not happen before the first read call.\n this.sync = true;\n\n // whenever we return null, then we set a flag to say\n // that we're awaiting a 'readable' event emission.\n this.needReadable = false;\n this.emittedReadable = false;\n this.readableListening = false;\n this.resumeScheduled = false;\n this.paused = true;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'end' (and potentially 'finish')\n this.autoDestroy = !!options.autoDestroy;\n\n // has it been destroyed\n this.destroyed = false;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // the number of writers that are awaiting a drain event in .pipe()s\n this.awaitDrain = 0;\n\n // if true, a maybeReadMore has been scheduled\n this.readingMore = false;\n this.decoder = null;\n this.encoding = null;\n if (options.encoding) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n this.decoder = new StringDecoder(options.encoding);\n this.encoding = options.encoding;\n }\n}\nfunction Readable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n if (!(this instanceof Readable)) return new Readable(options);\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the ReadableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n this._readableState = new ReadableState(options, this, isDuplex);\n\n // legacy\n this.readable = true;\n if (options) {\n if (typeof options.read === 'function') this._read = options.read;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n }\n Stream.call(this);\n}\nObject.defineProperty(Readable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined) {\n return false;\n }\n return this._readableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._readableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n }\n});\nReadable.prototype.destroy = destroyImpl.destroy;\nReadable.prototype._undestroy = destroyImpl.undestroy;\nReadable.prototype._destroy = function (err, cb) {\n cb(err);\n};\n\n// Manually shove something into the read() buffer.\n// This returns true if the highWaterMark has not been hit yet,\n// similar to how Writable.write() returns true if you should\n// write() some more.\nReadable.prototype.push = function (chunk, encoding) {\n var state = this._readableState;\n var skipChunkCheck;\n if (!state.objectMode) {\n if (typeof chunk === 'string') {\n encoding = encoding || state.defaultEncoding;\n if (encoding !== state.encoding) {\n chunk = Buffer.from(chunk, encoding);\n encoding = '';\n }\n skipChunkCheck = true;\n }\n } else {\n skipChunkCheck = true;\n }\n return readableAddChunk(this, chunk, encoding, false, skipChunkCheck);\n};\n\n// Unshift should *always* be something directly out of read()\nReadable.prototype.unshift = function (chunk) {\n return readableAddChunk(this, chunk, null, true, false);\n};\nfunction readableAddChunk(stream, chunk, encoding, addToFront, skipChunkCheck) {\n debug('readableAddChunk', chunk);\n var state = stream._readableState;\n if (chunk === null) {\n state.reading = false;\n onEofChunk(stream, state);\n } else {\n var er;\n if (!skipChunkCheck) er = chunkInvalid(state, chunk);\n if (er) {\n errorOrDestroy(stream, er);\n } else if (state.objectMode || chunk && chunk.length > 0) {\n if (typeof chunk !== 'string' && !state.objectMode && Object.getPrototypeOf(chunk) !== Buffer.prototype) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (addToFront) {\n if (state.endEmitted) errorOrDestroy(stream, new ERR_STREAM_UNSHIFT_AFTER_END_EVENT());else addChunk(stream, state, chunk, true);\n } else if (state.ended) {\n errorOrDestroy(stream, new ERR_STREAM_PUSH_AFTER_EOF());\n } else if (state.destroyed) {\n return false;\n } else {\n state.reading = false;\n if (state.decoder && !encoding) {\n chunk = state.decoder.write(chunk);\n if (state.objectMode || chunk.length !== 0) addChunk(stream, state, chunk, false);else maybeReadMore(stream, state);\n } else {\n addChunk(stream, state, chunk, false);\n }\n }\n } else if (!addToFront) {\n state.reading = false;\n maybeReadMore(stream, state);\n }\n }\n\n // We can push more data if we are below the highWaterMark.\n // Also, if we have no data yet, we can stand some more bytes.\n // This is to work around cases where hwm=0, such as the repl.\n return !state.ended && (state.length < state.highWaterMark || state.length === 0);\n}\nfunction addChunk(stream, state, chunk, addToFront) {\n if (state.flowing && state.length === 0 && !state.sync) {\n state.awaitDrain = 0;\n stream.emit('data', chunk);\n } else {\n // update the buffer info.\n state.length += state.objectMode ? 1 : chunk.length;\n if (addToFront) state.buffer.unshift(chunk);else state.buffer.push(chunk);\n if (state.needReadable) emitReadable(stream);\n }\n maybeReadMore(stream, state);\n}\nfunction chunkInvalid(state, chunk) {\n var er;\n if (!_isUint8Array(chunk) && typeof chunk !== 'string' && chunk !== undefined && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer', 'Uint8Array'], chunk);\n }\n return er;\n}\nReadable.prototype.isPaused = function () {\n return this._readableState.flowing === false;\n};\n\n// backwards compatibility.\nReadable.prototype.setEncoding = function (enc) {\n if (!StringDecoder) StringDecoder = require('string_decoder/').StringDecoder;\n var decoder = new StringDecoder(enc);\n this._readableState.decoder = decoder;\n // If setEncoding(null), decoder.encoding equals utf8\n this._readableState.encoding = this._readableState.decoder.encoding;\n\n // Iterate over current buffer to convert already stored Buffers:\n var p = this._readableState.buffer.head;\n var content = '';\n while (p !== null) {\n content += decoder.write(p.data);\n p = p.next;\n }\n this._readableState.buffer.clear();\n if (content !== '') this._readableState.buffer.push(content);\n this._readableState.length = content.length;\n return this;\n};\n\n// Don't raise the hwm > 1GB\nvar MAX_HWM = 0x40000000;\nfunction computeNewHighWaterMark(n) {\n if (n >= MAX_HWM) {\n // TODO(ronag): Throw ERR_VALUE_OUT_OF_RANGE.\n n = MAX_HWM;\n } else {\n // Get the next highest power of 2 to prevent increasing hwm excessively in\n // tiny amounts\n n--;\n n |= n >>> 1;\n n |= n >>> 2;\n n |= n >>> 4;\n n |= n >>> 8;\n n |= n >>> 16;\n n++;\n }\n return n;\n}\n\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction howMuchToRead(n, state) {\n if (n <= 0 || state.length === 0 && state.ended) return 0;\n if (state.objectMode) return 1;\n if (n !== n) {\n // Only flow one buffer at a time\n if (state.flowing && state.length) return state.buffer.head.data.length;else return state.length;\n }\n // If we're asking for more than the current hwm, then raise the hwm.\n if (n > state.highWaterMark) state.highWaterMark = computeNewHighWaterMark(n);\n if (n <= state.length) return n;\n // Don't have enough\n if (!state.ended) {\n state.needReadable = true;\n return 0;\n }\n return state.length;\n}\n\n// you can override either this method, or the async _read(n) below.\nReadable.prototype.read = function (n) {\n debug('read', n);\n n = parseInt(n, 10);\n var state = this._readableState;\n var nOrig = n;\n if (n !== 0) state.emittedReadable = false;\n\n // if we're doing read(0) to trigger a readable event, but we\n // already have a bunch of data in the buffer, then just trigger\n // the 'readable' event and move on.\n if (n === 0 && state.needReadable && ((state.highWaterMark !== 0 ? state.length >= state.highWaterMark : state.length > 0) || state.ended)) {\n debug('read: emitReadable', state.length, state.ended);\n if (state.length === 0 && state.ended) endReadable(this);else emitReadable(this);\n return null;\n }\n n = howMuchToRead(n, state);\n\n // if we've ended, and we're now clear, then finish it up.\n if (n === 0 && state.ended) {\n if (state.length === 0) endReadable(this);\n return null;\n }\n\n // All the actual chunk generation logic needs to be\n // *below* the call to _read. The reason is that in certain\n // synthetic stream cases, such as passthrough streams, _read\n // may be a completely synchronous operation which may change\n // the state of the read buffer, providing enough data when\n // before there was *not* enough.\n //\n // So, the steps are:\n // 1. Figure out what the state of things will be after we do\n // a read from the buffer.\n //\n // 2. If that resulting state will trigger a _read, then call _read.\n // Note that this may be asynchronous, or synchronous. Yes, it is\n // deeply ugly to write APIs this way, but that still doesn't mean\n // that the Readable class should behave improperly, as streams are\n // designed to be sync/async agnostic.\n // Take note if the _read call is sync or async (ie, if the read call\n // has returned yet), so that we know whether or not it's safe to emit\n // 'readable' etc.\n //\n // 3. Actually pull the requested chunks out of the buffer and return.\n\n // if we need a readable event, then we need to do some reading.\n var doRead = state.needReadable;\n debug('need readable', doRead);\n\n // if we currently have less than the highWaterMark, then also read some\n if (state.length === 0 || state.length - n < state.highWaterMark) {\n doRead = true;\n debug('length less than watermark', doRead);\n }\n\n // however, if we've ended, then there's no point, and if we're already\n // reading, then it's unnecessary.\n if (state.ended || state.reading) {\n doRead = false;\n debug('reading or ended', doRead);\n } else if (doRead) {\n debug('do read');\n state.reading = true;\n state.sync = true;\n // if the length is currently zero, then we *need* a readable event.\n if (state.length === 0) state.needReadable = true;\n // call internal read method\n this._read(state.highWaterMark);\n state.sync = false;\n // If _read pushed data synchronously, then `reading` will be false,\n // and we need to re-evaluate how much data we can return to the user.\n if (!state.reading) n = howMuchToRead(nOrig, state);\n }\n var ret;\n if (n > 0) ret = fromList(n, state);else ret = null;\n if (ret === null) {\n state.needReadable = state.length <= state.highWaterMark;\n n = 0;\n } else {\n state.length -= n;\n state.awaitDrain = 0;\n }\n if (state.length === 0) {\n // If we have nothing in the buffer, then we want to know\n // as soon as we *do* get something into the buffer.\n if (!state.ended) state.needReadable = true;\n\n // If we tried to read() past the EOF, then emit end on the next tick.\n if (nOrig !== n && state.ended) endReadable(this);\n }\n if (ret !== null) this.emit('data', ret);\n return ret;\n};\nfunction onEofChunk(stream, state) {\n debug('onEofChunk');\n if (state.ended) return;\n if (state.decoder) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) {\n state.buffer.push(chunk);\n state.length += state.objectMode ? 1 : chunk.length;\n }\n }\n state.ended = true;\n if (state.sync) {\n // if we are sync, wait until next tick to emit the data.\n // Otherwise we risk emitting data in the flow()\n // the readable code triggers during a read() call\n emitReadable(stream);\n } else {\n // emit 'readable' now to make sure it gets picked up.\n state.needReadable = false;\n if (!state.emittedReadable) {\n state.emittedReadable = true;\n emitReadable_(stream);\n }\n }\n}\n\n// Don't emit readable right away in sync mode, because this can trigger\n// another read() call => stack overflow. This way, it might trigger\n// a nextTick recursion warning, but that's not so bad.\nfunction emitReadable(stream) {\n var state = stream._readableState;\n debug('emitReadable', state.needReadable, state.emittedReadable);\n state.needReadable = false;\n if (!state.emittedReadable) {\n debug('emitReadable', state.flowing);\n state.emittedReadable = true;\n process.nextTick(emitReadable_, stream);\n }\n}\nfunction emitReadable_(stream) {\n var state = stream._readableState;\n debug('emitReadable_', state.destroyed, state.length, state.ended);\n if (!state.destroyed && (state.length || state.ended)) {\n stream.emit('readable');\n state.emittedReadable = false;\n }\n\n // The stream needs another readable event if\n // 1. It is not flowing, as the flow mechanism will take\n // care of it.\n // 2. It is not ended.\n // 3. It is below the highWaterMark, so we can schedule\n // another readable later.\n state.needReadable = !state.flowing && !state.ended && state.length <= state.highWaterMark;\n flow(stream);\n}\n\n// at this point, the user has presumably seen the 'readable' event,\n// and called read() to consume some data. that may have triggered\n// in turn another _read(n) call, in which case reading = true if\n// it's in progress.\n// However, if we're not ended, or reading, and the length < hwm,\n// then go ahead and try to read some more preemptively.\nfunction maybeReadMore(stream, state) {\n if (!state.readingMore) {\n state.readingMore = true;\n process.nextTick(maybeReadMore_, stream, state);\n }\n}\nfunction maybeReadMore_(stream, state) {\n // Attempt to read more data if we should.\n //\n // The conditions for reading more data are (one of):\n // - Not enough data buffered (state.length < state.highWaterMark). The loop\n // is responsible for filling the buffer with enough data if such data\n // is available. If highWaterMark is 0 and we are not in the flowing mode\n // we should _not_ attempt to buffer any extra data. We'll get more data\n // when the stream consumer calls read() instead.\n // - No data in the buffer, and the stream is in flowing mode. In this mode\n // the loop below is responsible for ensuring read() is called. Failing to\n // call read here would abort the flow and there's no other mechanism for\n // continuing the flow if the stream consumer has just subscribed to the\n // 'data' event.\n //\n // In addition to the above conditions to keep reading data, the following\n // conditions prevent the data from being read:\n // - The stream has ended (state.ended).\n // - There is already a pending 'read' operation (state.reading). This is a\n // case where the the stream has called the implementation defined _read()\n // method, but they are processing the call asynchronously and have _not_\n // called push() with new data. In this case we skip performing more\n // read()s. The execution ends in this method again after the _read() ends\n // up calling push() with more data.\n while (!state.reading && !state.ended && (state.length < state.highWaterMark || state.flowing && state.length === 0)) {\n var len = state.length;\n debug('maybeReadMore read 0');\n stream.read(0);\n if (len === state.length)\n // didn't get any data, stop spinning.\n break;\n }\n state.readingMore = false;\n}\n\n// abstract method. to be overridden in specific implementation classes.\n// call cb(er, data) where data is <= n in length.\n// for virtual (non-string, non-buffer) streams, \"length\" is somewhat\n// arbitrary, and perhaps not very meaningful.\nReadable.prototype._read = function (n) {\n errorOrDestroy(this, new ERR_METHOD_NOT_IMPLEMENTED('_read()'));\n};\nReadable.prototype.pipe = function (dest, pipeOpts) {\n var src = this;\n var state = this._readableState;\n switch (state.pipesCount) {\n case 0:\n state.pipes = dest;\n break;\n case 1:\n state.pipes = [state.pipes, dest];\n break;\n default:\n state.pipes.push(dest);\n break;\n }\n state.pipesCount += 1;\n debug('pipe count=%d opts=%j', state.pipesCount, pipeOpts);\n var doEnd = (!pipeOpts || pipeOpts.end !== false) && dest !== process.stdout && dest !== process.stderr;\n var endFn = doEnd ? onend : unpipe;\n if (state.endEmitted) process.nextTick(endFn);else src.once('end', endFn);\n dest.on('unpipe', onunpipe);\n function onunpipe(readable, unpipeInfo) {\n debug('onunpipe');\n if (readable === src) {\n if (unpipeInfo && unpipeInfo.hasUnpiped === false) {\n unpipeInfo.hasUnpiped = true;\n cleanup();\n }\n }\n }\n function onend() {\n debug('onend');\n dest.end();\n }\n\n // when the dest drains, it reduces the awaitDrain counter\n // on the source. This would be more elegant with a .once()\n // handler in flow(), but adding and removing repeatedly is\n // too slow.\n var ondrain = pipeOnDrain(src);\n dest.on('drain', ondrain);\n var cleanedUp = false;\n function cleanup() {\n debug('cleanup');\n // cleanup event handlers once the pipe is broken\n dest.removeListener('close', onclose);\n dest.removeListener('finish', onfinish);\n dest.removeListener('drain', ondrain);\n dest.removeListener('error', onerror);\n dest.removeListener('unpipe', onunpipe);\n src.removeListener('end', onend);\n src.removeListener('end', unpipe);\n src.removeListener('data', ondata);\n cleanedUp = true;\n\n // if the reader is waiting for a drain event from this\n // specific writer, then it would cause it to never start\n // flowing again.\n // So, if this is awaiting a drain, then we just call it now.\n // If we don't know, then assume that we are waiting for one.\n if (state.awaitDrain && (!dest._writableState || dest._writableState.needDrain)) ondrain();\n }\n src.on('data', ondata);\n function ondata(chunk) {\n debug('ondata');\n var ret = dest.write(chunk);\n debug('dest.write', ret);\n if (ret === false) {\n // If the user unpiped during `dest.write()`, it is possible\n // to get stuck in a permanently paused state if that write\n // also returned false.\n // => Check whether `dest` is still a piping destination.\n if ((state.pipesCount === 1 && state.pipes === dest || state.pipesCount > 1 && indexOf(state.pipes, dest) !== -1) && !cleanedUp) {\n debug('false write response, pause', state.awaitDrain);\n state.awaitDrain++;\n }\n src.pause();\n }\n }\n\n // if the dest has an error, then stop piping into it.\n // however, don't suppress the throwing behavior for this.\n function onerror(er) {\n debug('onerror', er);\n unpipe();\n dest.removeListener('error', onerror);\n if (EElistenerCount(dest, 'error') === 0) errorOrDestroy(dest, er);\n }\n\n // Make sure our error handler is attached before userland ones.\n prependListener(dest, 'error', onerror);\n\n // Both close and finish should trigger unpipe, but only once.\n function onclose() {\n dest.removeListener('finish', onfinish);\n unpipe();\n }\n dest.once('close', onclose);\n function onfinish() {\n debug('onfinish');\n dest.removeListener('close', onclose);\n unpipe();\n }\n dest.once('finish', onfinish);\n function unpipe() {\n debug('unpipe');\n src.unpipe(dest);\n }\n\n // tell the dest that it's being piped to\n dest.emit('pipe', src);\n\n // start the flow if it hasn't been started already.\n if (!state.flowing) {\n debug('pipe resume');\n src.resume();\n }\n return dest;\n};\nfunction pipeOnDrain(src) {\n return function pipeOnDrainFunctionResult() {\n var state = src._readableState;\n debug('pipeOnDrain', state.awaitDrain);\n if (state.awaitDrain) state.awaitDrain--;\n if (state.awaitDrain === 0 && EElistenerCount(src, 'data')) {\n state.flowing = true;\n flow(src);\n }\n };\n}\nReadable.prototype.unpipe = function (dest) {\n var state = this._readableState;\n var unpipeInfo = {\n hasUnpiped: false\n };\n\n // if we're not piping anywhere, then do nothing.\n if (state.pipesCount === 0) return this;\n\n // just one destination. most common case.\n if (state.pipesCount === 1) {\n // passed in one, but it's not the right one.\n if (dest && dest !== state.pipes) return this;\n if (!dest) dest = state.pipes;\n\n // got a match.\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n if (dest) dest.emit('unpipe', this, unpipeInfo);\n return this;\n }\n\n // slow case. multiple pipe destinations.\n\n if (!dest) {\n // remove all.\n var dests = state.pipes;\n var len = state.pipesCount;\n state.pipes = null;\n state.pipesCount = 0;\n state.flowing = false;\n for (var i = 0; i < len; i++) dests[i].emit('unpipe', this, {\n hasUnpiped: false\n });\n return this;\n }\n\n // try to find the right one.\n var index = indexOf(state.pipes, dest);\n if (index === -1) return this;\n state.pipes.splice(index, 1);\n state.pipesCount -= 1;\n if (state.pipesCount === 1) state.pipes = state.pipes[0];\n dest.emit('unpipe', this, unpipeInfo);\n return this;\n};\n\n// set up data events if they are asked for\n// Ensure readable listeners eventually get something\nReadable.prototype.on = function (ev, fn) {\n var res = Stream.prototype.on.call(this, ev, fn);\n var state = this._readableState;\n if (ev === 'data') {\n // update readableListening so that resume() may be a no-op\n // a few lines down. This is needed to support once('readable').\n state.readableListening = this.listenerCount('readable') > 0;\n\n // Try start flowing on next tick if stream isn't explicitly paused\n if (state.flowing !== false) this.resume();\n } else if (ev === 'readable') {\n if (!state.endEmitted && !state.readableListening) {\n state.readableListening = state.needReadable = true;\n state.flowing = false;\n state.emittedReadable = false;\n debug('on readable', state.length, state.reading);\n if (state.length) {\n emitReadable(this);\n } else if (!state.reading) {\n process.nextTick(nReadingNextTick, this);\n }\n }\n }\n return res;\n};\nReadable.prototype.addListener = Readable.prototype.on;\nReadable.prototype.removeListener = function (ev, fn) {\n var res = Stream.prototype.removeListener.call(this, ev, fn);\n if (ev === 'readable') {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nReadable.prototype.removeAllListeners = function (ev) {\n var res = Stream.prototype.removeAllListeners.apply(this, arguments);\n if (ev === 'readable' || ev === undefined) {\n // We need to check if there is someone still listening to\n // readable and reset the state. However this needs to happen\n // after readable has been emitted but before I/O (nextTick) to\n // support once('readable', fn) cycles. This means that calling\n // resume within the same tick will have no\n // effect.\n process.nextTick(updateReadableListening, this);\n }\n return res;\n};\nfunction updateReadableListening(self) {\n var state = self._readableState;\n state.readableListening = self.listenerCount('readable') > 0;\n if (state.resumeScheduled && !state.paused) {\n // flowing needs to be set to true now, otherwise\n // the upcoming resume will not flow.\n state.flowing = true;\n\n // crude way to check if we should resume\n } else if (self.listenerCount('data') > 0) {\n self.resume();\n }\n}\nfunction nReadingNextTick(self) {\n debug('readable nexttick read 0');\n self.read(0);\n}\n\n// pause() and resume() are remnants of the legacy readable stream API\n// If the user uses them, then switch into old mode.\nReadable.prototype.resume = function () {\n var state = this._readableState;\n if (!state.flowing) {\n debug('resume');\n // we flow only if there is no one listening\n // for readable, but we still have to call\n // resume()\n state.flowing = !state.readableListening;\n resume(this, state);\n }\n state.paused = false;\n return this;\n};\nfunction resume(stream, state) {\n if (!state.resumeScheduled) {\n state.resumeScheduled = true;\n process.nextTick(resume_, stream, state);\n }\n}\nfunction resume_(stream, state) {\n debug('resume', state.reading);\n if (!state.reading) {\n stream.read(0);\n }\n state.resumeScheduled = false;\n stream.emit('resume');\n flow(stream);\n if (state.flowing && !state.reading) stream.read(0);\n}\nReadable.prototype.pause = function () {\n debug('call pause flowing=%j', this._readableState.flowing);\n if (this._readableState.flowing !== false) {\n debug('pause');\n this._readableState.flowing = false;\n this.emit('pause');\n }\n this._readableState.paused = true;\n return this;\n};\nfunction flow(stream) {\n var state = stream._readableState;\n debug('flow', state.flowing);\n while (state.flowing && stream.read() !== null);\n}\n\n// wrap an old-style stream as the async data source.\n// This is *not* part of the readable stream interface.\n// It is an ugly unfortunate mess of history.\nReadable.prototype.wrap = function (stream) {\n var _this = this;\n var state = this._readableState;\n var paused = false;\n stream.on('end', function () {\n debug('wrapped end');\n if (state.decoder && !state.ended) {\n var chunk = state.decoder.end();\n if (chunk && chunk.length) _this.push(chunk);\n }\n _this.push(null);\n });\n stream.on('data', function (chunk) {\n debug('wrapped data');\n if (state.decoder) chunk = state.decoder.write(chunk);\n\n // don't skip over falsy values in objectMode\n if (state.objectMode && (chunk === null || chunk === undefined)) return;else if (!state.objectMode && (!chunk || !chunk.length)) return;\n var ret = _this.push(chunk);\n if (!ret) {\n paused = true;\n stream.pause();\n }\n });\n\n // proxy all the other methods.\n // important when wrapping filters and duplexes.\n for (var i in stream) {\n if (this[i] === undefined && typeof stream[i] === 'function') {\n this[i] = function methodWrap(method) {\n return function methodWrapReturnFunction() {\n return stream[method].apply(stream, arguments);\n };\n }(i);\n }\n }\n\n // proxy certain important events.\n for (var n = 0; n < kProxyEvents.length; n++) {\n stream.on(kProxyEvents[n], this.emit.bind(this, kProxyEvents[n]));\n }\n\n // when we try to consume some more bytes, simply unpause the\n // underlying stream.\n this._read = function (n) {\n debug('wrapped _read', n);\n if (paused) {\n paused = false;\n stream.resume();\n }\n };\n return this;\n};\nif (typeof Symbol === 'function') {\n Readable.prototype[Symbol.asyncIterator] = function () {\n if (createReadableStreamAsyncIterator === undefined) {\n createReadableStreamAsyncIterator = require('./internal/streams/async_iterator');\n }\n return createReadableStreamAsyncIterator(this);\n };\n}\nObject.defineProperty(Readable.prototype, 'readableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.highWaterMark;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState && this._readableState.buffer;\n }\n});\nObject.defineProperty(Readable.prototype, 'readableFlowing', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.flowing;\n },\n set: function set(state) {\n if (this._readableState) {\n this._readableState.flowing = state;\n }\n }\n});\n\n// exposed for testing purposes only.\nReadable._fromList = fromList;\nObject.defineProperty(Readable.prototype, 'readableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._readableState.length;\n }\n});\n\n// Pluck off n bytes from an array of buffers.\n// Length is the combined lengths of all the buffers in the list.\n// This function is designed to be inlinable, so please take care when making\n// changes to the function body.\nfunction fromList(n, state) {\n // nothing buffered\n if (state.length === 0) return null;\n var ret;\n if (state.objectMode) ret = state.buffer.shift();else if (!n || n >= state.length) {\n // read it all, truncate the list\n if (state.decoder) ret = state.buffer.join('');else if (state.buffer.length === 1) ret = state.buffer.first();else ret = state.buffer.concat(state.length);\n state.buffer.clear();\n } else {\n // read part of list\n ret = state.buffer.consume(n, state.decoder);\n }\n return ret;\n}\nfunction endReadable(stream) {\n var state = stream._readableState;\n debug('endReadable', state.endEmitted);\n if (!state.endEmitted) {\n state.ended = true;\n process.nextTick(endReadableNT, state, stream);\n }\n}\nfunction endReadableNT(state, stream) {\n debug('endReadableNT', state.endEmitted, state.length);\n\n // Check that we didn't get one last unshift.\n if (!state.endEmitted && state.length === 0) {\n state.endEmitted = true;\n stream.readable = false;\n stream.emit('end');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the writable side is ready for autoDestroy as well\n var wState = stream._writableState;\n if (!wState || wState.autoDestroy && wState.finished) {\n stream.destroy();\n }\n }\n }\n}\nif (typeof Symbol === 'function') {\n Readable.from = function (iterable, opts) {\n if (from === undefined) {\n from = require('./internal/streams/from');\n }\n return from(Readable, iterable, opts);\n };\n}\nfunction indexOf(xs, x) {\n for (var i = 0, l = xs.length; i < l; i++) {\n if (xs[i] === x) return i;\n }\n return -1;\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","module.exports = require('events').EventEmitter;\n","'use strict';\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar _require = require('buffer'),\n Buffer = _require.Buffer;\nvar _require2 = require('util'),\n inspect = _require2.inspect;\nvar custom = inspect && inspect.custom || 'inspect';\nfunction copyBuffer(src, target, offset) {\n Buffer.prototype.copy.call(src, target, offset);\n}\nmodule.exports = /*#__PURE__*/function () {\n function BufferList() {\n _classCallCheck(this, BufferList);\n this.head = null;\n this.tail = null;\n this.length = 0;\n }\n _createClass(BufferList, [{\n key: \"push\",\n value: function push(v) {\n var entry = {\n data: v,\n next: null\n };\n if (this.length > 0) this.tail.next = entry;else this.head = entry;\n this.tail = entry;\n ++this.length;\n }\n }, {\n key: \"unshift\",\n value: function unshift(v) {\n var entry = {\n data: v,\n next: this.head\n };\n if (this.length === 0) this.tail = entry;\n this.head = entry;\n ++this.length;\n }\n }, {\n key: \"shift\",\n value: function shift() {\n if (this.length === 0) return;\n var ret = this.head.data;\n if (this.length === 1) this.head = this.tail = null;else this.head = this.head.next;\n --this.length;\n return ret;\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this.head = this.tail = null;\n this.length = 0;\n }\n }, {\n key: \"join\",\n value: function join(s) {\n if (this.length === 0) return '';\n var p = this.head;\n var ret = '' + p.data;\n while (p = p.next) ret += s + p.data;\n return ret;\n }\n }, {\n key: \"concat\",\n value: function concat(n) {\n if (this.length === 0) return Buffer.alloc(0);\n var ret = Buffer.allocUnsafe(n >>> 0);\n var p = this.head;\n var i = 0;\n while (p) {\n copyBuffer(p.data, ret, i);\n i += p.data.length;\n p = p.next;\n }\n return ret;\n }\n\n // Consumes a specified amount of bytes or characters from the buffered data.\n }, {\n key: \"consume\",\n value: function consume(n, hasStrings) {\n var ret;\n if (n < this.head.data.length) {\n // `slice` is the same for buffers and strings.\n ret = this.head.data.slice(0, n);\n this.head.data = this.head.data.slice(n);\n } else if (n === this.head.data.length) {\n // First chunk is a perfect match.\n ret = this.shift();\n } else {\n // Result spans more than one buffer.\n ret = hasStrings ? this._getString(n) : this._getBuffer(n);\n }\n return ret;\n }\n }, {\n key: \"first\",\n value: function first() {\n return this.head.data;\n }\n\n // Consumes a specified amount of characters from the buffered data.\n }, {\n key: \"_getString\",\n value: function _getString(n) {\n var p = this.head;\n var c = 1;\n var ret = p.data;\n n -= ret.length;\n while (p = p.next) {\n var str = p.data;\n var nb = n > str.length ? str.length : n;\n if (nb === str.length) ret += str;else ret += str.slice(0, n);\n n -= nb;\n if (n === 0) {\n if (nb === str.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = str.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Consumes a specified amount of bytes from the buffered data.\n }, {\n key: \"_getBuffer\",\n value: function _getBuffer(n) {\n var ret = Buffer.allocUnsafe(n);\n var p = this.head;\n var c = 1;\n p.data.copy(ret);\n n -= p.data.length;\n while (p = p.next) {\n var buf = p.data;\n var nb = n > buf.length ? buf.length : n;\n buf.copy(ret, ret.length - n, 0, nb);\n n -= nb;\n if (n === 0) {\n if (nb === buf.length) {\n ++c;\n if (p.next) this.head = p.next;else this.head = this.tail = null;\n } else {\n this.head = p;\n p.data = buf.slice(nb);\n }\n break;\n }\n ++c;\n }\n this.length -= c;\n return ret;\n }\n\n // Make sure the linked list only shows the minimal necessary information.\n }, {\n key: custom,\n value: function value(_, options) {\n return inspect(this, _objectSpread(_objectSpread({}, options), {}, {\n // Only inspect one level.\n depth: 0,\n // It should not recurse.\n customInspect: false\n }));\n }\n }]);\n return BufferList;\n}();","'use strict';\n\n// undocumented cb() API, needed for core, not for public API\nfunction destroy(err, cb) {\n var _this = this;\n var readableDestroyed = this._readableState && this._readableState.destroyed;\n var writableDestroyed = this._writableState && this._writableState.destroyed;\n if (readableDestroyed || writableDestroyed) {\n if (cb) {\n cb(err);\n } else if (err) {\n if (!this._writableState) {\n process.nextTick(emitErrorNT, this, err);\n } else if (!this._writableState.errorEmitted) {\n this._writableState.errorEmitted = true;\n process.nextTick(emitErrorNT, this, err);\n }\n }\n return this;\n }\n\n // we set destroyed to true before firing error callbacks in order\n // to make it re-entrance safe in case destroy() is called within callbacks\n\n if (this._readableState) {\n this._readableState.destroyed = true;\n }\n\n // if this is a duplex stream mark the writable part as destroyed as well\n if (this._writableState) {\n this._writableState.destroyed = true;\n }\n this._destroy(err || null, function (err) {\n if (!cb && err) {\n if (!_this._writableState) {\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else if (!_this._writableState.errorEmitted) {\n _this._writableState.errorEmitted = true;\n process.nextTick(emitErrorAndCloseNT, _this, err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n } else if (cb) {\n process.nextTick(emitCloseNT, _this);\n cb(err);\n } else {\n process.nextTick(emitCloseNT, _this);\n }\n });\n return this;\n}\nfunction emitErrorAndCloseNT(self, err) {\n emitErrorNT(self, err);\n emitCloseNT(self);\n}\nfunction emitCloseNT(self) {\n if (self._writableState && !self._writableState.emitClose) return;\n if (self._readableState && !self._readableState.emitClose) return;\n self.emit('close');\n}\nfunction undestroy() {\n if (this._readableState) {\n this._readableState.destroyed = false;\n this._readableState.reading = false;\n this._readableState.ended = false;\n this._readableState.endEmitted = false;\n }\n if (this._writableState) {\n this._writableState.destroyed = false;\n this._writableState.ended = false;\n this._writableState.ending = false;\n this._writableState.finalCalled = false;\n this._writableState.prefinished = false;\n this._writableState.finished = false;\n this._writableState.errorEmitted = false;\n }\n}\nfunction emitErrorNT(self, err) {\n self.emit('error', err);\n}\nfunction errorOrDestroy(stream, err) {\n // We have tests that rely on errors being emitted\n // in the same tick, so changing this is semver major.\n // For now when you opt-in to autoDestroy we allow\n // the error to be emitted nextTick. In a future\n // semver major update we should change the default to this.\n\n var rState = stream._readableState;\n var wState = stream._writableState;\n if (rState && rState.autoDestroy || wState && wState.autoDestroy) stream.destroy(err);else stream.emit('error', err);\n}\nmodule.exports = {\n destroy: destroy,\n undestroy: undestroy,\n errorOrDestroy: errorOrDestroy\n};","'use strict';\n\nvar ERR_INVALID_OPT_VALUE = require('../../../errors').codes.ERR_INVALID_OPT_VALUE;\nfunction highWaterMarkFrom(options, isDuplex, duplexKey) {\n return options.highWaterMark != null ? options.highWaterMark : isDuplex ? options[duplexKey] : null;\n}\nfunction getHighWaterMark(state, options, duplexKey, isDuplex) {\n var hwm = highWaterMarkFrom(options, isDuplex, duplexKey);\n if (hwm != null) {\n if (!(isFinite(hwm) && Math.floor(hwm) === hwm) || hwm < 0) {\n var name = isDuplex ? duplexKey : 'highWaterMark';\n throw new ERR_INVALID_OPT_VALUE(name, hwm);\n }\n return Math.floor(hwm);\n }\n\n // Default value\n return state.objectMode ? 16 : 16 * 1024;\n}\nmodule.exports = {\n getHighWaterMark: getHighWaterMark\n};","'use strict';\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar codes = {};\n\nfunction createErrorType(code, message, Base) {\n if (!Base) {\n Base = Error;\n }\n\n function getMessage(arg1, arg2, arg3) {\n if (typeof message === 'string') {\n return message;\n } else {\n return message(arg1, arg2, arg3);\n }\n }\n\n var NodeError =\n /*#__PURE__*/\n function (_Base) {\n _inheritsLoose(NodeError, _Base);\n\n function NodeError(arg1, arg2, arg3) {\n return _Base.call(this, getMessage(arg1, arg2, arg3)) || this;\n }\n\n return NodeError;\n }(Base);\n\n NodeError.prototype.name = Base.name;\n NodeError.prototype.code = code;\n codes[code] = NodeError;\n} // https://github.com/nodejs/node/blob/v10.8.0/lib/internal/errors.js\n\n\nfunction oneOf(expected, thing) {\n if (Array.isArray(expected)) {\n var len = expected.length;\n expected = expected.map(function (i) {\n return String(i);\n });\n\n if (len > 2) {\n return \"one of \".concat(thing, \" \").concat(expected.slice(0, len - 1).join(', '), \", or \") + expected[len - 1];\n } else if (len === 2) {\n return \"one of \".concat(thing, \" \").concat(expected[0], \" or \").concat(expected[1]);\n } else {\n return \"of \".concat(thing, \" \").concat(expected[0]);\n }\n } else {\n return \"of \".concat(thing, \" \").concat(String(expected));\n }\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/startsWith\n\n\nfunction startsWith(str, search, pos) {\n return str.substr(!pos || pos < 0 ? 0 : +pos, search.length) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/endsWith\n\n\nfunction endsWith(str, search, this_len) {\n if (this_len === undefined || this_len > str.length) {\n this_len = str.length;\n }\n\n return str.substring(this_len - search.length, this_len) === search;\n} // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/includes\n\n\nfunction includes(str, search, start) {\n if (typeof start !== 'number') {\n start = 0;\n }\n\n if (start + search.length > str.length) {\n return false;\n } else {\n return str.indexOf(search, start) !== -1;\n }\n}\n\ncreateErrorType('ERR_INVALID_OPT_VALUE', function (name, value) {\n return 'The value \"' + value + '\" is invalid for option \"' + name + '\"';\n}, TypeError);\ncreateErrorType('ERR_INVALID_ARG_TYPE', function (name, expected, actual) {\n // determiner: 'must be' or 'must not be'\n var determiner;\n\n if (typeof expected === 'string' && startsWith(expected, 'not ')) {\n determiner = 'must not be';\n expected = expected.replace(/^not /, '');\n } else {\n determiner = 'must be';\n }\n\n var msg;\n\n if (endsWith(name, ' argument')) {\n // For cases like 'first argument'\n msg = \"The \".concat(name, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n } else {\n var type = includes(name, '.') ? 'property' : 'argument';\n msg = \"The \\\"\".concat(name, \"\\\" \").concat(type, \" \").concat(determiner, \" \").concat(oneOf(expected, 'type'));\n }\n\n msg += \". Received type \".concat(typeof actual);\n return msg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_PUSH_AFTER_EOF', 'stream.push() after EOF');\ncreateErrorType('ERR_METHOD_NOT_IMPLEMENTED', function (name) {\n return 'The ' + name + ' method is not implemented';\n});\ncreateErrorType('ERR_STREAM_PREMATURE_CLOSE', 'Premature close');\ncreateErrorType('ERR_STREAM_DESTROYED', function (name) {\n return 'Cannot call ' + name + ' after a stream was destroyed';\n});\ncreateErrorType('ERR_MULTIPLE_CALLBACK', 'Callback called multiple times');\ncreateErrorType('ERR_STREAM_CANNOT_PIPE', 'Cannot pipe, not readable');\ncreateErrorType('ERR_STREAM_WRITE_AFTER_END', 'write after end');\ncreateErrorType('ERR_STREAM_NULL_VALUES', 'May not write null values to stream', TypeError);\ncreateErrorType('ERR_UNKNOWN_ENCODING', function (arg) {\n return 'Unknown encoding: ' + arg;\n}, TypeError);\ncreateErrorType('ERR_STREAM_UNSHIFT_AFTER_END_EVENT', 'stream.unshift() after end event');\nmodule.exports.codes = codes;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a duplex stream is just a stream that is both readable and writable.\n// Since JS doesn't have multiple prototypal inheritance, this class\n// prototypally inherits from Readable, and then parasitically from\n// Writable.\n\n'use strict';\n\n/**/\nvar objectKeys = Object.keys || function (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n};\n/**/\n\nmodule.exports = Duplex;\nvar Readable = require('./_stream_readable');\nvar Writable = require('./_stream_writable');\nrequire('inherits')(Duplex, Readable);\n{\n // Allow the keys array to be GC'ed.\n var keys = objectKeys(Writable.prototype);\n for (var v = 0; v < keys.length; v++) {\n var method = keys[v];\n if (!Duplex.prototype[method]) Duplex.prototype[method] = Writable.prototype[method];\n }\n}\nfunction Duplex(options) {\n if (!(this instanceof Duplex)) return new Duplex(options);\n Readable.call(this, options);\n Writable.call(this, options);\n this.allowHalfOpen = true;\n if (options) {\n if (options.readable === false) this.readable = false;\n if (options.writable === false) this.writable = false;\n if (options.allowHalfOpen === false) {\n this.allowHalfOpen = false;\n this.once('end', onend);\n }\n }\n}\nObject.defineProperty(Duplex.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nObject.defineProperty(Duplex.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\n\n// the no-half-open enforcer\nfunction onend() {\n // If the writable side ended, then we're ok.\n if (this._writableState.ended) return;\n\n // no more data can be written.\n // But allow more writes to happen in this tick.\n process.nextTick(onEndNT, this);\n}\nfunction onEndNT(self) {\n self.end();\n}\nObject.defineProperty(Duplex.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._readableState === undefined || this._writableState === undefined) {\n return false;\n }\n return this._readableState.destroyed && this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (this._readableState === undefined || this._writableState === undefined) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._readableState.destroyed = value;\n this._writableState.destroyed = value;\n }\n});","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// A bit simpler than readable streams.\n// Implement an async ._write(chunk, encoding, cb), and it'll handle all\n// the drain event emission and buffering.\n\n'use strict';\n\nmodule.exports = Writable;\n\n/* */\nfunction WriteReq(chunk, encoding, cb) {\n this.chunk = chunk;\n this.encoding = encoding;\n this.callback = cb;\n this.next = null;\n}\n\n// It seems a linked list but it is not\n// there will be only 2 of these for each stream\nfunction CorkedRequest(state) {\n var _this = this;\n this.next = null;\n this.entry = null;\n this.finish = function () {\n onCorkedFinish(_this, state);\n };\n}\n/* */\n\n/**/\nvar Duplex;\n/**/\n\nWritable.WritableState = WritableState;\n\n/**/\nvar internalUtil = {\n deprecate: require('util-deprecate')\n};\n/**/\n\n/**/\nvar Stream = require('./internal/streams/stream');\n/**/\n\nvar Buffer = require('buffer').Buffer;\nvar OurUint8Array = (typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : typeof self !== 'undefined' ? self : {}).Uint8Array || function () {};\nfunction _uint8ArrayToBuffer(chunk) {\n return Buffer.from(chunk);\n}\nfunction _isUint8Array(obj) {\n return Buffer.isBuffer(obj) || obj instanceof OurUint8Array;\n}\nvar destroyImpl = require('./internal/streams/destroy');\nvar _require = require('./internal/streams/state'),\n getHighWaterMark = _require.getHighWaterMark;\nvar _require$codes = require('../errors').codes,\n ERR_INVALID_ARG_TYPE = _require$codes.ERR_INVALID_ARG_TYPE,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_STREAM_CANNOT_PIPE = _require$codes.ERR_STREAM_CANNOT_PIPE,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED,\n ERR_STREAM_NULL_VALUES = _require$codes.ERR_STREAM_NULL_VALUES,\n ERR_STREAM_WRITE_AFTER_END = _require$codes.ERR_STREAM_WRITE_AFTER_END,\n ERR_UNKNOWN_ENCODING = _require$codes.ERR_UNKNOWN_ENCODING;\nvar errorOrDestroy = destroyImpl.errorOrDestroy;\nrequire('inherits')(Writable, Stream);\nfunction nop() {}\nfunction WritableState(options, stream, isDuplex) {\n Duplex = Duplex || require('./_stream_duplex');\n options = options || {};\n\n // Duplex streams are both readable and writable, but share\n // the same options object.\n // However, some cases require setting options to different\n // values for the readable and the writable sides of the duplex stream,\n // e.g. options.readableObjectMode vs. options.writableObjectMode, etc.\n if (typeof isDuplex !== 'boolean') isDuplex = stream instanceof Duplex;\n\n // object stream flag to indicate whether or not this stream\n // contains buffers or objects.\n this.objectMode = !!options.objectMode;\n if (isDuplex) this.objectMode = this.objectMode || !!options.writableObjectMode;\n\n // the point at which write() starts returning false\n // Note: 0 is a valid value, means that we always return false if\n // the entire buffer is not flushed immediately on write()\n this.highWaterMark = getHighWaterMark(this, options, 'writableHighWaterMark', isDuplex);\n\n // if _final has been called\n this.finalCalled = false;\n\n // drain event flag.\n this.needDrain = false;\n // at the start of calling end()\n this.ending = false;\n // when end() has been called, and returned\n this.ended = false;\n // when 'finish' is emitted\n this.finished = false;\n\n // has it been destroyed\n this.destroyed = false;\n\n // should we decode strings into buffers before passing to _write?\n // this is here so that some node-core streams can optimize string\n // handling at a lower level.\n var noDecode = options.decodeStrings === false;\n this.decodeStrings = !noDecode;\n\n // Crypto is kind of old and crusty. Historically, its default string\n // encoding is 'binary' so we have to make this configurable.\n // Everything else in the universe uses 'utf8', though.\n this.defaultEncoding = options.defaultEncoding || 'utf8';\n\n // not an actual buffer we keep track of, but a measurement\n // of how much we're waiting to get pushed to some underlying\n // socket or file.\n this.length = 0;\n\n // a flag to see when we're in the middle of a write.\n this.writing = false;\n\n // when true all writes will be buffered until .uncork() call\n this.corked = 0;\n\n // a flag to be able to tell if the onwrite cb is called immediately,\n // or on a later tick. We set this to true at first, because any\n // actions that shouldn't happen until \"later\" should generally also\n // not happen before the first write call.\n this.sync = true;\n\n // a flag to know if we're processing previously buffered items, which\n // may call the _write() callback in the same tick, so that we don't\n // end up in an overlapped onwrite situation.\n this.bufferProcessing = false;\n\n // the callback that's passed to _write(chunk,cb)\n this.onwrite = function (er) {\n onwrite(stream, er);\n };\n\n // the callback that the user supplies to write(chunk,encoding,cb)\n this.writecb = null;\n\n // the amount that is being written when _write is called.\n this.writelen = 0;\n this.bufferedRequest = null;\n this.lastBufferedRequest = null;\n\n // number of pending user-supplied write callbacks\n // this must be 0 before 'finish' can be emitted\n this.pendingcb = 0;\n\n // emit prefinish if the only thing we're waiting for is _write cbs\n // This is relevant for synchronous Transform streams\n this.prefinished = false;\n\n // True if the error was already emitted and should not be thrown again\n this.errorEmitted = false;\n\n // Should close be emitted on destroy. Defaults to true.\n this.emitClose = options.emitClose !== false;\n\n // Should .destroy() be called after 'finish' (and potentially 'end')\n this.autoDestroy = !!options.autoDestroy;\n\n // count buffered requests\n this.bufferedRequestCount = 0;\n\n // allocate the first CorkedRequest, there is always\n // one allocated and free to use, and we maintain at most two\n this.corkedRequestsFree = new CorkedRequest(this);\n}\nWritableState.prototype.getBuffer = function getBuffer() {\n var current = this.bufferedRequest;\n var out = [];\n while (current) {\n out.push(current);\n current = current.next;\n }\n return out;\n};\n(function () {\n try {\n Object.defineProperty(WritableState.prototype, 'buffer', {\n get: internalUtil.deprecate(function writableStateBufferGetter() {\n return this.getBuffer();\n }, '_writableState.buffer is deprecated. Use _writableState.getBuffer ' + 'instead.', 'DEP0003')\n });\n } catch (_) {}\n})();\n\n// Test _writableState for inheritance to account for Duplex streams,\n// whose prototype chain only points to Readable.\nvar realHasInstance;\nif (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.prototype[Symbol.hasInstance] === 'function') {\n realHasInstance = Function.prototype[Symbol.hasInstance];\n Object.defineProperty(Writable, Symbol.hasInstance, {\n value: function value(object) {\n if (realHasInstance.call(this, object)) return true;\n if (this !== Writable) return false;\n return object && object._writableState instanceof WritableState;\n }\n });\n} else {\n realHasInstance = function realHasInstance(object) {\n return object instanceof this;\n };\n}\nfunction Writable(options) {\n Duplex = Duplex || require('./_stream_duplex');\n\n // Writable ctor is applied to Duplexes, too.\n // `realHasInstance` is necessary because using plain `instanceof`\n // would return false, as no `_writableState` property is attached.\n\n // Trying to use the custom `instanceof` for Writable here will also break the\n // Node.js LazyTransform implementation, which has a non-trivial getter for\n // `_writableState` that would lead to infinite recursion.\n\n // Checking for a Stream.Duplex instance is faster here instead of inside\n // the WritableState constructor, at least with V8 6.5\n var isDuplex = this instanceof Duplex;\n if (!isDuplex && !realHasInstance.call(Writable, this)) return new Writable(options);\n this._writableState = new WritableState(options, this, isDuplex);\n\n // legacy.\n this.writable = true;\n if (options) {\n if (typeof options.write === 'function') this._write = options.write;\n if (typeof options.writev === 'function') this._writev = options.writev;\n if (typeof options.destroy === 'function') this._destroy = options.destroy;\n if (typeof options.final === 'function') this._final = options.final;\n }\n Stream.call(this);\n}\n\n// Otherwise people can pipe Writable streams, which is just wrong.\nWritable.prototype.pipe = function () {\n errorOrDestroy(this, new ERR_STREAM_CANNOT_PIPE());\n};\nfunction writeAfterEnd(stream, cb) {\n var er = new ERR_STREAM_WRITE_AFTER_END();\n // TODO: defer error events consistently everywhere, not just the cb\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n}\n\n// Checks that a user-supplied chunk is valid, especially for the particular\n// mode the stream is in. Currently this means that `null` is never accepted\n// and undefined/non-string values are only allowed in object mode.\nfunction validChunk(stream, state, chunk, cb) {\n var er;\n if (chunk === null) {\n er = new ERR_STREAM_NULL_VALUES();\n } else if (typeof chunk !== 'string' && !state.objectMode) {\n er = new ERR_INVALID_ARG_TYPE('chunk', ['string', 'Buffer'], chunk);\n }\n if (er) {\n errorOrDestroy(stream, er);\n process.nextTick(cb, er);\n return false;\n }\n return true;\n}\nWritable.prototype.write = function (chunk, encoding, cb) {\n var state = this._writableState;\n var ret = false;\n var isBuf = !state.objectMode && _isUint8Array(chunk);\n if (isBuf && !Buffer.isBuffer(chunk)) {\n chunk = _uint8ArrayToBuffer(chunk);\n }\n if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (isBuf) encoding = 'buffer';else if (!encoding) encoding = state.defaultEncoding;\n if (typeof cb !== 'function') cb = nop;\n if (state.ending) writeAfterEnd(this, cb);else if (isBuf || validChunk(this, state, chunk, cb)) {\n state.pendingcb++;\n ret = writeOrBuffer(this, state, isBuf, chunk, encoding, cb);\n }\n return ret;\n};\nWritable.prototype.cork = function () {\n this._writableState.corked++;\n};\nWritable.prototype.uncork = function () {\n var state = this._writableState;\n if (state.corked) {\n state.corked--;\n if (!state.writing && !state.corked && !state.bufferProcessing && state.bufferedRequest) clearBuffer(this, state);\n }\n};\nWritable.prototype.setDefaultEncoding = function setDefaultEncoding(encoding) {\n // node::ParseEncoding() requires lower case.\n if (typeof encoding === 'string') encoding = encoding.toLowerCase();\n if (!(['hex', 'utf8', 'utf-8', 'ascii', 'binary', 'base64', 'ucs2', 'ucs-2', 'utf16le', 'utf-16le', 'raw'].indexOf((encoding + '').toLowerCase()) > -1)) throw new ERR_UNKNOWN_ENCODING(encoding);\n this._writableState.defaultEncoding = encoding;\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableBuffer', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState && this._writableState.getBuffer();\n }\n});\nfunction decodeChunk(state, chunk, encoding) {\n if (!state.objectMode && state.decodeStrings !== false && typeof chunk === 'string') {\n chunk = Buffer.from(chunk, encoding);\n }\n return chunk;\n}\nObject.defineProperty(Writable.prototype, 'writableHighWaterMark', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.highWaterMark;\n }\n});\n\n// if we're already writing something, then just put this\n// in the queue, and wait our turn. Otherwise, call _write\n// If we return false, then we need a drain event, so set that flag.\nfunction writeOrBuffer(stream, state, isBuf, chunk, encoding, cb) {\n if (!isBuf) {\n var newChunk = decodeChunk(state, chunk, encoding);\n if (chunk !== newChunk) {\n isBuf = true;\n encoding = 'buffer';\n chunk = newChunk;\n }\n }\n var len = state.objectMode ? 1 : chunk.length;\n state.length += len;\n var ret = state.length < state.highWaterMark;\n // we must ensure that previous needDrain will not be reset to false.\n if (!ret) state.needDrain = true;\n if (state.writing || state.corked) {\n var last = state.lastBufferedRequest;\n state.lastBufferedRequest = {\n chunk: chunk,\n encoding: encoding,\n isBuf: isBuf,\n callback: cb,\n next: null\n };\n if (last) {\n last.next = state.lastBufferedRequest;\n } else {\n state.bufferedRequest = state.lastBufferedRequest;\n }\n state.bufferedRequestCount += 1;\n } else {\n doWrite(stream, state, false, len, chunk, encoding, cb);\n }\n return ret;\n}\nfunction doWrite(stream, state, writev, len, chunk, encoding, cb) {\n state.writelen = len;\n state.writecb = cb;\n state.writing = true;\n state.sync = true;\n if (state.destroyed) state.onwrite(new ERR_STREAM_DESTROYED('write'));else if (writev) stream._writev(chunk, state.onwrite);else stream._write(chunk, encoding, state.onwrite);\n state.sync = false;\n}\nfunction onwriteError(stream, state, sync, er, cb) {\n --state.pendingcb;\n if (sync) {\n // defer the callback if we are being called synchronously\n // to avoid piling up things on the stack\n process.nextTick(cb, er);\n // this can emit finish, and it will always happen\n // after error\n process.nextTick(finishMaybe, stream, state);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n } else {\n // the caller expect this to happen before if\n // it is async\n cb(er);\n stream._writableState.errorEmitted = true;\n errorOrDestroy(stream, er);\n // this can emit finish, but finish must\n // always follow error\n finishMaybe(stream, state);\n }\n}\nfunction onwriteStateUpdate(state) {\n state.writing = false;\n state.writecb = null;\n state.length -= state.writelen;\n state.writelen = 0;\n}\nfunction onwrite(stream, er) {\n var state = stream._writableState;\n var sync = state.sync;\n var cb = state.writecb;\n if (typeof cb !== 'function') throw new ERR_MULTIPLE_CALLBACK();\n onwriteStateUpdate(state);\n if (er) onwriteError(stream, state, sync, er, cb);else {\n // Check if we're actually ready to finish, but don't emit yet\n var finished = needFinish(state) || stream.destroyed;\n if (!finished && !state.corked && !state.bufferProcessing && state.bufferedRequest) {\n clearBuffer(stream, state);\n }\n if (sync) {\n process.nextTick(afterWrite, stream, state, finished, cb);\n } else {\n afterWrite(stream, state, finished, cb);\n }\n }\n}\nfunction afterWrite(stream, state, finished, cb) {\n if (!finished) onwriteDrain(stream, state);\n state.pendingcb--;\n cb();\n finishMaybe(stream, state);\n}\n\n// Must force callback to be called on nextTick, so that we don't\n// emit 'drain' before the write() consumer gets the 'false' return\n// value, and has a chance to attach a 'drain' listener.\nfunction onwriteDrain(stream, state) {\n if (state.length === 0 && state.needDrain) {\n state.needDrain = false;\n stream.emit('drain');\n }\n}\n\n// if there's something in the buffer waiting, then process it\nfunction clearBuffer(stream, state) {\n state.bufferProcessing = true;\n var entry = state.bufferedRequest;\n if (stream._writev && entry && entry.next) {\n // Fast case, write everything using _writev()\n var l = state.bufferedRequestCount;\n var buffer = new Array(l);\n var holder = state.corkedRequestsFree;\n holder.entry = entry;\n var count = 0;\n var allBuffers = true;\n while (entry) {\n buffer[count] = entry;\n if (!entry.isBuf) allBuffers = false;\n entry = entry.next;\n count += 1;\n }\n buffer.allBuffers = allBuffers;\n doWrite(stream, state, true, state.length, buffer, '', holder.finish);\n\n // doWrite is almost always async, defer these to save a bit of time\n // as the hot path ends with doWrite\n state.pendingcb++;\n state.lastBufferedRequest = null;\n if (holder.next) {\n state.corkedRequestsFree = holder.next;\n holder.next = null;\n } else {\n state.corkedRequestsFree = new CorkedRequest(state);\n }\n state.bufferedRequestCount = 0;\n } else {\n // Slow case, write chunks one-by-one\n while (entry) {\n var chunk = entry.chunk;\n var encoding = entry.encoding;\n var cb = entry.callback;\n var len = state.objectMode ? 1 : chunk.length;\n doWrite(stream, state, false, len, chunk, encoding, cb);\n entry = entry.next;\n state.bufferedRequestCount--;\n // if we didn't call the onwrite immediately, then\n // it means that we need to wait until it does.\n // also, that means that the chunk and cb are currently\n // being processed, so move the buffer counter past them.\n if (state.writing) {\n break;\n }\n }\n if (entry === null) state.lastBufferedRequest = null;\n }\n state.bufferedRequest = entry;\n state.bufferProcessing = false;\n}\nWritable.prototype._write = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_write()'));\n};\nWritable.prototype._writev = null;\nWritable.prototype.end = function (chunk, encoding, cb) {\n var state = this._writableState;\n if (typeof chunk === 'function') {\n cb = chunk;\n chunk = null;\n encoding = null;\n } else if (typeof encoding === 'function') {\n cb = encoding;\n encoding = null;\n }\n if (chunk !== null && chunk !== undefined) this.write(chunk, encoding);\n\n // .end() fully uncorks\n if (state.corked) {\n state.corked = 1;\n this.uncork();\n }\n\n // ignore unnecessary end() calls.\n if (!state.ending) endWritable(this, state, cb);\n return this;\n};\nObject.defineProperty(Writable.prototype, 'writableLength', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n return this._writableState.length;\n }\n});\nfunction needFinish(state) {\n return state.ending && state.length === 0 && state.bufferedRequest === null && !state.finished && !state.writing;\n}\nfunction callFinal(stream, state) {\n stream._final(function (err) {\n state.pendingcb--;\n if (err) {\n errorOrDestroy(stream, err);\n }\n state.prefinished = true;\n stream.emit('prefinish');\n finishMaybe(stream, state);\n });\n}\nfunction prefinish(stream, state) {\n if (!state.prefinished && !state.finalCalled) {\n if (typeof stream._final === 'function' && !state.destroyed) {\n state.pendingcb++;\n state.finalCalled = true;\n process.nextTick(callFinal, stream, state);\n } else {\n state.prefinished = true;\n stream.emit('prefinish');\n }\n }\n}\nfunction finishMaybe(stream, state) {\n var need = needFinish(state);\n if (need) {\n prefinish(stream, state);\n if (state.pendingcb === 0) {\n state.finished = true;\n stream.emit('finish');\n if (state.autoDestroy) {\n // In case of duplex streams we need a way to detect\n // if the readable side is ready for autoDestroy as well\n var rState = stream._readableState;\n if (!rState || rState.autoDestroy && rState.endEmitted) {\n stream.destroy();\n }\n }\n }\n }\n return need;\n}\nfunction endWritable(stream, state, cb) {\n state.ending = true;\n finishMaybe(stream, state);\n if (cb) {\n if (state.finished) process.nextTick(cb);else stream.once('finish', cb);\n }\n state.ended = true;\n stream.writable = false;\n}\nfunction onCorkedFinish(corkReq, state, err) {\n var entry = corkReq.entry;\n corkReq.entry = null;\n while (entry) {\n var cb = entry.callback;\n state.pendingcb--;\n cb(err);\n entry = entry.next;\n }\n\n // reuse the free corkReq.\n state.corkedRequestsFree.next = corkReq;\n}\nObject.defineProperty(Writable.prototype, 'destroyed', {\n // making it explicit this property is not enumerable\n // because otherwise some prototype manipulation in\n // userland will fail\n enumerable: false,\n get: function get() {\n if (this._writableState === undefined) {\n return false;\n }\n return this._writableState.destroyed;\n },\n set: function set(value) {\n // we ignore the value if the stream\n // has not been initialized yet\n if (!this._writableState) {\n return;\n }\n\n // backward compatibility, the user is explicitly\n // managing destroyed\n this._writableState.destroyed = value;\n }\n});\nWritable.prototype.destroy = destroyImpl.destroy;\nWritable.prototype._undestroy = destroyImpl.undestroy;\nWritable.prototype._destroy = function (err, cb) {\n cb(err);\n};","\n/**\n * Module exports.\n */\n\nmodule.exports = deprecate;\n\n/**\n * Mark that a method should not be used.\n * Returns a modified function which warns once by default.\n *\n * If `localStorage.noDeprecation = true` is set, then it is a no-op.\n *\n * If `localStorage.throwDeprecation = true` is set, then deprecated functions\n * will throw an Error when invoked.\n *\n * If `localStorage.traceDeprecation = true` is set, then deprecated functions\n * will invoke `console.trace()` instead of `console.error()`.\n *\n * @param {Function} fn - the function to deprecate\n * @param {String} msg - the string to print to the console when `fn` is invoked\n * @returns {Function} a new \"deprecated\" version of `fn`\n * @api public\n */\n\nfunction deprecate (fn, msg) {\n if (config('noDeprecation')) {\n return fn;\n }\n\n var warned = false;\n function deprecated() {\n if (!warned) {\n if (config('throwDeprecation')) {\n throw new Error(msg);\n } else if (config('traceDeprecation')) {\n console.trace(msg);\n } else {\n console.warn(msg);\n }\n warned = true;\n }\n return fn.apply(this, arguments);\n }\n\n return deprecated;\n}\n\n/**\n * Checks `localStorage` for boolean values for the given `name`.\n *\n * @param {String} name\n * @returns {Boolean}\n * @api private\n */\n\nfunction config (name) {\n // accessing global.localStorage can trigger a DOMException in sandboxed iframes\n try {\n if (!global.localStorage) return false;\n } catch (_) {\n return false;\n }\n var val = global.localStorage[name];\n if (null == val) return false;\n return String(val).toLowerCase() === 'true';\n}\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n/**/\n\nvar Buffer = require('safe-buffer').Buffer;\n/**/\n\nvar isEncoding = Buffer.isEncoding || function (encoding) {\n encoding = '' + encoding;\n switch (encoding && encoding.toLowerCase()) {\n case 'hex':case 'utf8':case 'utf-8':case 'ascii':case 'binary':case 'base64':case 'ucs2':case 'ucs-2':case 'utf16le':case 'utf-16le':case 'raw':\n return true;\n default:\n return false;\n }\n};\n\nfunction _normalizeEncoding(enc) {\n if (!enc) return 'utf8';\n var retried;\n while (true) {\n switch (enc) {\n case 'utf8':\n case 'utf-8':\n return 'utf8';\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return 'utf16le';\n case 'latin1':\n case 'binary':\n return 'latin1';\n case 'base64':\n case 'ascii':\n case 'hex':\n return enc;\n default:\n if (retried) return; // undefined\n enc = ('' + enc).toLowerCase();\n retried = true;\n }\n }\n};\n\n// Do not cache `Buffer.isEncoding` when checking encoding names as some\n// modules monkey-patch it to support additional encodings\nfunction normalizeEncoding(enc) {\n var nenc = _normalizeEncoding(enc);\n if (typeof nenc !== 'string' && (Buffer.isEncoding === isEncoding || !isEncoding(enc))) throw new Error('Unknown encoding: ' + enc);\n return nenc || enc;\n}\n\n// StringDecoder provides an interface for efficiently splitting a series of\n// buffers into a series of JS strings without breaking apart multi-byte\n// characters.\nexports.StringDecoder = StringDecoder;\nfunction StringDecoder(encoding) {\n this.encoding = normalizeEncoding(encoding);\n var nb;\n switch (this.encoding) {\n case 'utf16le':\n this.text = utf16Text;\n this.end = utf16End;\n nb = 4;\n break;\n case 'utf8':\n this.fillLast = utf8FillLast;\n nb = 4;\n break;\n case 'base64':\n this.text = base64Text;\n this.end = base64End;\n nb = 3;\n break;\n default:\n this.write = simpleWrite;\n this.end = simpleEnd;\n return;\n }\n this.lastNeed = 0;\n this.lastTotal = 0;\n this.lastChar = Buffer.allocUnsafe(nb);\n}\n\nStringDecoder.prototype.write = function (buf) {\n if (buf.length === 0) return '';\n var r;\n var i;\n if (this.lastNeed) {\n r = this.fillLast(buf);\n if (r === undefined) return '';\n i = this.lastNeed;\n this.lastNeed = 0;\n } else {\n i = 0;\n }\n if (i < buf.length) return r ? r + this.text(buf, i) : this.text(buf, i);\n return r || '';\n};\n\nStringDecoder.prototype.end = utf8End;\n\n// Returns only complete characters in a Buffer\nStringDecoder.prototype.text = utf8Text;\n\n// Attempts to complete a partial non-UTF-8 character using bytes from a Buffer\nStringDecoder.prototype.fillLast = function (buf) {\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, this.lastTotal - this.lastNeed, 0, buf.length);\n this.lastNeed -= buf.length;\n};\n\n// Checks the type of a UTF-8 byte, whether it's ASCII, a leading byte, or a\n// continuation byte. If an invalid byte is detected, -2 is returned.\nfunction utf8CheckByte(byte) {\n if (byte <= 0x7F) return 0;else if (byte >> 5 === 0x06) return 2;else if (byte >> 4 === 0x0E) return 3;else if (byte >> 3 === 0x1E) return 4;\n return byte >> 6 === 0x02 ? -1 : -2;\n}\n\n// Checks at most 3 bytes at the end of a Buffer in order to detect an\n// incomplete multi-byte UTF-8 character. The total number of bytes (2, 3, or 4)\n// needed to complete the UTF-8 character (if applicable) are returned.\nfunction utf8CheckIncomplete(self, buf, i) {\n var j = buf.length - 1;\n if (j < i) return 0;\n var nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 1;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) self.lastNeed = nb - 2;\n return nb;\n }\n if (--j < i || nb === -2) return 0;\n nb = utf8CheckByte(buf[j]);\n if (nb >= 0) {\n if (nb > 0) {\n if (nb === 2) nb = 0;else self.lastNeed = nb - 3;\n }\n return nb;\n }\n return 0;\n}\n\n// Validates as many continuation bytes for a multi-byte UTF-8 character as\n// needed or are available. If we see a non-continuation byte where we expect\n// one, we \"replace\" the validated continuation bytes we've seen so far with\n// a single UTF-8 replacement character ('\\ufffd'), to match v8's UTF-8 decoding\n// behavior. The continuation byte check is included three times in the case\n// where all of the continuation bytes for a character exist in the same buffer.\n// It is also done this way as a slight performance increase instead of using a\n// loop.\nfunction utf8CheckExtraBytes(self, buf, p) {\n if ((buf[0] & 0xC0) !== 0x80) {\n self.lastNeed = 0;\n return '\\ufffd';\n }\n if (self.lastNeed > 1 && buf.length > 1) {\n if ((buf[1] & 0xC0) !== 0x80) {\n self.lastNeed = 1;\n return '\\ufffd';\n }\n if (self.lastNeed > 2 && buf.length > 2) {\n if ((buf[2] & 0xC0) !== 0x80) {\n self.lastNeed = 2;\n return '\\ufffd';\n }\n }\n }\n}\n\n// Attempts to complete a multi-byte UTF-8 character using bytes from a Buffer.\nfunction utf8FillLast(buf) {\n var p = this.lastTotal - this.lastNeed;\n var r = utf8CheckExtraBytes(this, buf, p);\n if (r !== undefined) return r;\n if (this.lastNeed <= buf.length) {\n buf.copy(this.lastChar, p, 0, this.lastNeed);\n return this.lastChar.toString(this.encoding, 0, this.lastTotal);\n }\n buf.copy(this.lastChar, p, 0, buf.length);\n this.lastNeed -= buf.length;\n}\n\n// Returns all complete UTF-8 characters in a Buffer. If the Buffer ended on a\n// partial character, the character's bytes are buffered until the required\n// number of bytes are available.\nfunction utf8Text(buf, i) {\n var total = utf8CheckIncomplete(this, buf, i);\n if (!this.lastNeed) return buf.toString('utf8', i);\n this.lastTotal = total;\n var end = buf.length - (total - this.lastNeed);\n buf.copy(this.lastChar, 0, end);\n return buf.toString('utf8', i, end);\n}\n\n// For UTF-8, a replacement character is added when ending on a partial\n// character.\nfunction utf8End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + '\\ufffd';\n return r;\n}\n\n// UTF-16LE typically needs two bytes per character, but even if we have an even\n// number of bytes available, we need to check if we end on a leading/high\n// surrogate. In that case, we need to wait for the next two bytes in order to\n// decode the last character properly.\nfunction utf16Text(buf, i) {\n if ((buf.length - i) % 2 === 0) {\n var r = buf.toString('utf16le', i);\n if (r) {\n var c = r.charCodeAt(r.length - 1);\n if (c >= 0xD800 && c <= 0xDBFF) {\n this.lastNeed = 2;\n this.lastTotal = 4;\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n return r.slice(0, -1);\n }\n }\n return r;\n }\n this.lastNeed = 1;\n this.lastTotal = 2;\n this.lastChar[0] = buf[buf.length - 1];\n return buf.toString('utf16le', i, buf.length - 1);\n}\n\n// For UTF-16LE we do not explicitly append special replacement characters if we\n// end on a partial character, we simply let v8 handle that.\nfunction utf16End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) {\n var end = this.lastTotal - this.lastNeed;\n return r + this.lastChar.toString('utf16le', 0, end);\n }\n return r;\n}\n\nfunction base64Text(buf, i) {\n var n = (buf.length - i) % 3;\n if (n === 0) return buf.toString('base64', i);\n this.lastNeed = 3 - n;\n this.lastTotal = 3;\n if (n === 1) {\n this.lastChar[0] = buf[buf.length - 1];\n } else {\n this.lastChar[0] = buf[buf.length - 2];\n this.lastChar[1] = buf[buf.length - 1];\n }\n return buf.toString('base64', i, buf.length - n);\n}\n\nfunction base64End(buf) {\n var r = buf && buf.length ? this.write(buf) : '';\n if (this.lastNeed) return r + this.lastChar.toString('base64', 0, 3 - this.lastNeed);\n return r;\n}\n\n// Pass bytes on through for single-byte encodings (e.g. ascii, latin1, hex)\nfunction simpleWrite(buf) {\n return buf.toString(this.encoding);\n}\n\nfunction simpleEnd(buf) {\n return buf && buf.length ? this.write(buf) : '';\n}","'use strict';\n\nvar _Object$setPrototypeO;\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nvar finished = require('./end-of-stream');\nvar kLastResolve = Symbol('lastResolve');\nvar kLastReject = Symbol('lastReject');\nvar kError = Symbol('error');\nvar kEnded = Symbol('ended');\nvar kLastPromise = Symbol('lastPromise');\nvar kHandlePromise = Symbol('handlePromise');\nvar kStream = Symbol('stream');\nfunction createIterResult(value, done) {\n return {\n value: value,\n done: done\n };\n}\nfunction readAndResolve(iter) {\n var resolve = iter[kLastResolve];\n if (resolve !== null) {\n var data = iter[kStream].read();\n // we defer if data is null\n // we can be expecting either 'end' or\n // 'error'\n if (data !== null) {\n iter[kLastPromise] = null;\n iter[kLastResolve] = null;\n iter[kLastReject] = null;\n resolve(createIterResult(data, false));\n }\n }\n}\nfunction onReadable(iter) {\n // we wait for the next tick, because it might\n // emit an error with process.nextTick\n process.nextTick(readAndResolve, iter);\n}\nfunction wrapForNext(lastPromise, iter) {\n return function (resolve, reject) {\n lastPromise.then(function () {\n if (iter[kEnded]) {\n resolve(createIterResult(undefined, true));\n return;\n }\n iter[kHandlePromise](resolve, reject);\n }, reject);\n };\n}\nvar AsyncIteratorPrototype = Object.getPrototypeOf(function () {});\nvar ReadableStreamAsyncIteratorPrototype = Object.setPrototypeOf((_Object$setPrototypeO = {\n get stream() {\n return this[kStream];\n },\n next: function next() {\n var _this = this;\n // if we have detected an error in the meanwhile\n // reject straight away\n var error = this[kError];\n if (error !== null) {\n return Promise.reject(error);\n }\n if (this[kEnded]) {\n return Promise.resolve(createIterResult(undefined, true));\n }\n if (this[kStream].destroyed) {\n // We need to defer via nextTick because if .destroy(err) is\n // called, the error will be emitted via nextTick, and\n // we cannot guarantee that there is no error lingering around\n // waiting to be emitted.\n return new Promise(function (resolve, reject) {\n process.nextTick(function () {\n if (_this[kError]) {\n reject(_this[kError]);\n } else {\n resolve(createIterResult(undefined, true));\n }\n });\n });\n }\n\n // if we have multiple next() calls\n // we will wait for the previous Promise to finish\n // this logic is optimized to support for await loops,\n // where next() is only called once at a time\n var lastPromise = this[kLastPromise];\n var promise;\n if (lastPromise) {\n promise = new Promise(wrapForNext(lastPromise, this));\n } else {\n // fast path needed to support multiple this.push()\n // without triggering the next() queue\n var data = this[kStream].read();\n if (data !== null) {\n return Promise.resolve(createIterResult(data, false));\n }\n promise = new Promise(this[kHandlePromise]);\n }\n this[kLastPromise] = promise;\n return promise;\n }\n}, _defineProperty(_Object$setPrototypeO, Symbol.asyncIterator, function () {\n return this;\n}), _defineProperty(_Object$setPrototypeO, \"return\", function _return() {\n var _this2 = this;\n // destroy(err, cb) is a private API\n // we can guarantee we have that here, because we control the\n // Readable class this is attached to\n return new Promise(function (resolve, reject) {\n _this2[kStream].destroy(null, function (err) {\n if (err) {\n reject(err);\n return;\n }\n resolve(createIterResult(undefined, true));\n });\n });\n}), _Object$setPrototypeO), AsyncIteratorPrototype);\nvar createReadableStreamAsyncIterator = function createReadableStreamAsyncIterator(stream) {\n var _Object$create;\n var iterator = Object.create(ReadableStreamAsyncIteratorPrototype, (_Object$create = {}, _defineProperty(_Object$create, kStream, {\n value: stream,\n writable: true\n }), _defineProperty(_Object$create, kLastResolve, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kLastReject, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kError, {\n value: null,\n writable: true\n }), _defineProperty(_Object$create, kEnded, {\n value: stream._readableState.endEmitted,\n writable: true\n }), _defineProperty(_Object$create, kHandlePromise, {\n value: function value(resolve, reject) {\n var data = iterator[kStream].read();\n if (data) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(data, false));\n } else {\n iterator[kLastResolve] = resolve;\n iterator[kLastReject] = reject;\n }\n },\n writable: true\n }), _Object$create));\n iterator[kLastPromise] = null;\n finished(stream, function (err) {\n if (err && err.code !== 'ERR_STREAM_PREMATURE_CLOSE') {\n var reject = iterator[kLastReject];\n // reject if we are waiting for data in the Promise\n // returned by next() and store the error\n if (reject !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n reject(err);\n }\n iterator[kError] = err;\n return;\n }\n var resolve = iterator[kLastResolve];\n if (resolve !== null) {\n iterator[kLastPromise] = null;\n iterator[kLastResolve] = null;\n iterator[kLastReject] = null;\n resolve(createIterResult(undefined, true));\n }\n iterator[kEnded] = true;\n });\n stream.on('readable', onReadable.bind(null, iterator));\n return iterator;\n};\nmodule.exports = createReadableStreamAsyncIterator;","// Ported from https://github.com/mafintosh/end-of-stream with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar ERR_STREAM_PREMATURE_CLOSE = require('../../../errors').codes.ERR_STREAM_PREMATURE_CLOSE;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n callback.apply(this, args);\n };\n}\nfunction noop() {}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction eos(stream, opts, callback) {\n if (typeof opts === 'function') return eos(stream, null, opts);\n if (!opts) opts = {};\n callback = once(callback || noop);\n var readable = opts.readable || opts.readable !== false && stream.readable;\n var writable = opts.writable || opts.writable !== false && stream.writable;\n var onlegacyfinish = function onlegacyfinish() {\n if (!stream.writable) onfinish();\n };\n var writableEnded = stream._writableState && stream._writableState.finished;\n var onfinish = function onfinish() {\n writable = false;\n writableEnded = true;\n if (!readable) callback.call(stream);\n };\n var readableEnded = stream._readableState && stream._readableState.endEmitted;\n var onend = function onend() {\n readable = false;\n readableEnded = true;\n if (!writable) callback.call(stream);\n };\n var onerror = function onerror(err) {\n callback.call(stream, err);\n };\n var onclose = function onclose() {\n var err;\n if (readable && !readableEnded) {\n if (!stream._readableState || !stream._readableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n if (writable && !writableEnded) {\n if (!stream._writableState || !stream._writableState.ended) err = new ERR_STREAM_PREMATURE_CLOSE();\n return callback.call(stream, err);\n }\n };\n var onrequest = function onrequest() {\n stream.req.on('finish', onfinish);\n };\n if (isRequest(stream)) {\n stream.on('complete', onfinish);\n stream.on('abort', onclose);\n if (stream.req) onrequest();else stream.on('request', onrequest);\n } else if (writable && !stream._writableState) {\n // legacy streams\n stream.on('end', onlegacyfinish);\n stream.on('close', onlegacyfinish);\n }\n stream.on('end', onend);\n stream.on('finish', onfinish);\n if (opts.error !== false) stream.on('error', onerror);\n stream.on('close', onclose);\n return function () {\n stream.removeListener('complete', onfinish);\n stream.removeListener('abort', onclose);\n stream.removeListener('request', onrequest);\n if (stream.req) stream.req.removeListener('finish', onfinish);\n stream.removeListener('end', onlegacyfinish);\n stream.removeListener('close', onlegacyfinish);\n stream.removeListener('finish', onfinish);\n stream.removeListener('end', onend);\n stream.removeListener('error', onerror);\n stream.removeListener('close', onclose);\n };\n}\nmodule.exports = eos;","module.exports = function () {\n throw new Error('Readable.from is not available in the browser')\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a transform stream is a readable/writable stream where you do\n// something with the data. Sometimes it's called a \"filter\",\n// but that's not a great name for it, since that implies a thing where\n// some bits pass through, and others are simply ignored. (That would\n// be a valid example of a transform, of course.)\n//\n// While the output is causally related to the input, it's not a\n// necessarily symmetric or synchronous transformation. For example,\n// a zlib stream might take multiple plain-text writes(), and then\n// emit a single compressed chunk some time in the future.\n//\n// Here's how this works:\n//\n// The Transform stream has all the aspects of the readable and writable\n// stream classes. When you write(chunk), that calls _write(chunk,cb)\n// internally, and returns false if there's a lot of pending writes\n// buffered up. When you call read(), that calls _read(n) until\n// there's enough pending readable data buffered up.\n//\n// In a transform stream, the written data is placed in a buffer. When\n// _read(n) is called, it transforms the queued up data, calling the\n// buffered _write cb's as it consumes chunks. If consuming a single\n// written chunk would result in multiple output chunks, then the first\n// outputted bit calls the readcb, and subsequent chunks just go into\n// the read buffer, and will cause it to emit 'readable' if necessary.\n//\n// This way, back-pressure is actually determined by the reading side,\n// since _read has to be called to start processing a new chunk. However,\n// a pathological inflate type of transform can cause excessive buffering\n// here. For example, imagine a stream where every byte of input is\n// interpreted as an integer from 0-255, and then results in that many\n// bytes of output. Writing the 4 bytes {ff,ff,ff,ff} would result in\n// 1kb of data being output. In this case, you could write a very small\n// amount of input, and end up with a very large amount of output. In\n// such a pathological inflating mechanism, there'd be no way to tell\n// the system to stop doing the transform. A single 4MB write could\n// cause the system to run out of memory.\n//\n// However, even in such a pathological case, only a single written chunk\n// would be consumed, and then the rest would wait (un-transformed) until\n// the results of the previous transformed chunk were consumed.\n\n'use strict';\n\nmodule.exports = Transform;\nvar _require$codes = require('../errors').codes,\n ERR_METHOD_NOT_IMPLEMENTED = _require$codes.ERR_METHOD_NOT_IMPLEMENTED,\n ERR_MULTIPLE_CALLBACK = _require$codes.ERR_MULTIPLE_CALLBACK,\n ERR_TRANSFORM_ALREADY_TRANSFORMING = _require$codes.ERR_TRANSFORM_ALREADY_TRANSFORMING,\n ERR_TRANSFORM_WITH_LENGTH_0 = _require$codes.ERR_TRANSFORM_WITH_LENGTH_0;\nvar Duplex = require('./_stream_duplex');\nrequire('inherits')(Transform, Duplex);\nfunction afterTransform(er, data) {\n var ts = this._transformState;\n ts.transforming = false;\n var cb = ts.writecb;\n if (cb === null) {\n return this.emit('error', new ERR_MULTIPLE_CALLBACK());\n }\n ts.writechunk = null;\n ts.writecb = null;\n if (data != null)\n // single equals check for both `null` and `undefined`\n this.push(data);\n cb(er);\n var rs = this._readableState;\n rs.reading = false;\n if (rs.needReadable || rs.length < rs.highWaterMark) {\n this._read(rs.highWaterMark);\n }\n}\nfunction Transform(options) {\n if (!(this instanceof Transform)) return new Transform(options);\n Duplex.call(this, options);\n this._transformState = {\n afterTransform: afterTransform.bind(this),\n needTransform: false,\n transforming: false,\n writecb: null,\n writechunk: null,\n writeencoding: null\n };\n\n // start out asking for a readable event once data is transformed.\n this._readableState.needReadable = true;\n\n // we have implemented the _read method, and done the other things\n // that Readable wants before the first _read call, so unset the\n // sync guard flag.\n this._readableState.sync = false;\n if (options) {\n if (typeof options.transform === 'function') this._transform = options.transform;\n if (typeof options.flush === 'function') this._flush = options.flush;\n }\n\n // When the writable side finishes, then flush out anything remaining.\n this.on('prefinish', prefinish);\n}\nfunction prefinish() {\n var _this = this;\n if (typeof this._flush === 'function' && !this._readableState.destroyed) {\n this._flush(function (er, data) {\n done(_this, er, data);\n });\n } else {\n done(this, null, null);\n }\n}\nTransform.prototype.push = function (chunk, encoding) {\n this._transformState.needTransform = false;\n return Duplex.prototype.push.call(this, chunk, encoding);\n};\n\n// This is the part where you do stuff!\n// override this function in implementation classes.\n// 'chunk' is an input chunk.\n//\n// Call `push(newChunk)` to pass along transformed output\n// to the readable side. You may call 'push' zero or more times.\n//\n// Call `cb(err)` when you are done with this chunk. If you pass\n// an error, then that'll put the hurt on the whole operation. If you\n// never call cb(), then you'll never get another chunk.\nTransform.prototype._transform = function (chunk, encoding, cb) {\n cb(new ERR_METHOD_NOT_IMPLEMENTED('_transform()'));\n};\nTransform.prototype._write = function (chunk, encoding, cb) {\n var ts = this._transformState;\n ts.writecb = cb;\n ts.writechunk = chunk;\n ts.writeencoding = encoding;\n if (!ts.transforming) {\n var rs = this._readableState;\n if (ts.needTransform || rs.needReadable || rs.length < rs.highWaterMark) this._read(rs.highWaterMark);\n }\n};\n\n// Doesn't matter what the args are here.\n// _transform does all the work.\n// That we got here means that the readable side wants more data.\nTransform.prototype._read = function (n) {\n var ts = this._transformState;\n if (ts.writechunk !== null && !ts.transforming) {\n ts.transforming = true;\n this._transform(ts.writechunk, ts.writeencoding, ts.afterTransform);\n } else {\n // mark that we need a transform, so that any data that comes in\n // will get processed, now that we've asked for it.\n ts.needTransform = true;\n }\n};\nTransform.prototype._destroy = function (err, cb) {\n Duplex.prototype._destroy.call(this, err, function (err2) {\n cb(err2);\n });\n};\nfunction done(stream, er, data) {\n if (er) return stream.emit('error', er);\n if (data != null)\n // single equals check for both `null` and `undefined`\n stream.push(data);\n\n // TODO(BridgeAR): Write a test for these two error cases\n // if there's nothing in the write buffer, then that means\n // that nothing more will ever be provided\n if (stream._writableState.length) throw new ERR_TRANSFORM_WITH_LENGTH_0();\n if (stream._transformState.transforming) throw new ERR_TRANSFORM_ALREADY_TRANSFORMING();\n return stream.push(null);\n}","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n// a passthrough stream.\n// basically just the most minimal sort of Transform stream.\n// Every written chunk gets output as-is.\n\n'use strict';\n\nmodule.exports = PassThrough;\nvar Transform = require('./_stream_transform');\nrequire('inherits')(PassThrough, Transform);\nfunction PassThrough(options) {\n if (!(this instanceof PassThrough)) return new PassThrough(options);\n Transform.call(this, options);\n}\nPassThrough.prototype._transform = function (chunk, encoding, cb) {\n cb(null, chunk);\n};","// Ported from https://github.com/mafintosh/pump with\n// permission from the author, Mathias Buus (@mafintosh).\n\n'use strict';\n\nvar eos;\nfunction once(callback) {\n var called = false;\n return function () {\n if (called) return;\n called = true;\n callback.apply(void 0, arguments);\n };\n}\nvar _require$codes = require('../../../errors').codes,\n ERR_MISSING_ARGS = _require$codes.ERR_MISSING_ARGS,\n ERR_STREAM_DESTROYED = _require$codes.ERR_STREAM_DESTROYED;\nfunction noop(err) {\n // Rethrow the error if it exists to avoid swallowing it\n if (err) throw err;\n}\nfunction isRequest(stream) {\n return stream.setHeader && typeof stream.abort === 'function';\n}\nfunction destroyer(stream, reading, writing, callback) {\n callback = once(callback);\n var closed = false;\n stream.on('close', function () {\n closed = true;\n });\n if (eos === undefined) eos = require('./end-of-stream');\n eos(stream, {\n readable: reading,\n writable: writing\n }, function (err) {\n if (err) return callback(err);\n closed = true;\n callback();\n });\n var destroyed = false;\n return function (err) {\n if (closed) return;\n if (destroyed) return;\n destroyed = true;\n\n // request.destroy just do .end - .abort is what we want\n if (isRequest(stream)) return stream.abort();\n if (typeof stream.destroy === 'function') return stream.destroy();\n callback(err || new ERR_STREAM_DESTROYED('pipe'));\n };\n}\nfunction call(fn) {\n fn();\n}\nfunction pipe(from, to) {\n return from.pipe(to);\n}\nfunction popCallback(streams) {\n if (!streams.length) return noop;\n if (typeof streams[streams.length - 1] !== 'function') return noop;\n return streams.pop();\n}\nfunction pipeline() {\n for (var _len = arguments.length, streams = new Array(_len), _key = 0; _key < _len; _key++) {\n streams[_key] = arguments[_key];\n }\n var callback = popCallback(streams);\n if (Array.isArray(streams[0])) streams = streams[0];\n if (streams.length < 2) {\n throw new ERR_MISSING_ARGS('streams');\n }\n var error;\n var destroys = streams.map(function (stream, i) {\n var reading = i < streams.length - 1;\n var writing = i > 0;\n return destroyer(stream, reading, writing, function (err) {\n if (!error) error = err;\n if (err) destroys.forEach(call);\n if (reading) return;\n destroys.forEach(call);\n callback(error);\n });\n });\n return streams.reduce(pipe);\n}\nmodule.exports = pipeline;","const { Transform } = require('readable-stream')\n\nmodule.exports = (KeccakState) => class Shake extends Transform {\n constructor (rate, capacity, delimitedSuffix, options) {\n super(options)\n\n this._rate = rate\n this._capacity = capacity\n this._delimitedSuffix = delimitedSuffix\n this._options = options\n\n this._state = new KeccakState()\n this._state.initialize(rate, capacity)\n this._finalized = false\n }\n\n _transform (chunk, encoding, callback) {\n let error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n }\n\n _flush () {}\n\n _read (size) {\n this.push(this.squeeze(size))\n }\n\n update (data, encoding) {\n if (!Buffer.isBuffer(data) && typeof data !== 'string') throw new TypeError('Data must be a string or a buffer')\n if (this._finalized) throw new Error('Squeeze already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n this._state.absorb(data)\n\n return this\n }\n\n squeeze (dataByteLength, encoding) {\n if (!this._finalized) {\n this._finalized = true\n this._state.absorbLastFewBits(this._delimitedSuffix)\n }\n\n let data = this._state.squeeze(dataByteLength)\n if (encoding !== undefined) data = data.toString(encoding)\n\n return data\n }\n\n _resetState () {\n this._state.initialize(this._rate, this._capacity)\n return this\n }\n\n _clone () {\n const clone = new Shake(this._rate, this._capacity, this._delimitedSuffix, this._options)\n this._state.copy(clone._state)\n clone._finalized = this._finalized\n\n return clone\n }\n}\n","const keccakState = require('./keccak-state-unroll')\n\nfunction Keccak () {\n // much faster than `new Array(50)`\n this.state = [\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0,\n 0, 0, 0, 0, 0\n ]\n\n this.blockSize = null\n this.count = 0\n this.squeezing = false\n}\n\nKeccak.prototype.initialize = function (rate, capacity) {\n for (let i = 0; i < 50; ++i) this.state[i] = 0\n this.blockSize = rate / 8\n this.count = 0\n this.squeezing = false\n}\n\nKeccak.prototype.absorb = function (data) {\n for (let i = 0; i < data.length; ++i) {\n this.state[~~(this.count / 4)] ^= data[i] << (8 * (this.count % 4))\n this.count += 1\n if (this.count === this.blockSize) {\n keccakState.p1600(this.state)\n this.count = 0\n }\n }\n}\n\nKeccak.prototype.absorbLastFewBits = function (bits) {\n this.state[~~(this.count / 4)] ^= bits << (8 * (this.count % 4))\n if ((bits & 0x80) !== 0 && this.count === (this.blockSize - 1)) keccakState.p1600(this.state)\n this.state[~~((this.blockSize - 1) / 4)] ^= 0x80 << (8 * ((this.blockSize - 1) % 4))\n keccakState.p1600(this.state)\n this.count = 0\n this.squeezing = true\n}\n\nKeccak.prototype.squeeze = function (length) {\n if (!this.squeezing) this.absorbLastFewBits(0x01)\n\n const output = Buffer.alloc(length)\n for (let i = 0; i < length; ++i) {\n output[i] = (this.state[~~(this.count / 4)] >>> (8 * (this.count % 4))) & 0xff\n this.count += 1\n if (this.count === this.blockSize) {\n keccakState.p1600(this.state)\n this.count = 0\n }\n }\n\n return output\n}\n\nKeccak.prototype.copy = function (dest) {\n for (let i = 0; i < 50; ++i) dest.state[i] = this.state[i]\n dest.blockSize = this.blockSize\n dest.count = this.count\n dest.squeezing = this.squeezing\n}\n\nmodule.exports = Keccak\n","const P1600_ROUND_CONSTANTS = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649, 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0, 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771, 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648, 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648]\n\nexports.p1600 = function (s) {\n for (let round = 0; round < 24; ++round) {\n // theta\n const lo0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40]\n const hi0 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41]\n const lo1 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42]\n const hi1 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43]\n const lo2 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44]\n const hi2 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45]\n const lo3 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46]\n const hi3 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47]\n const lo4 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48]\n const hi4 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49]\n\n let lo = lo4 ^ (lo1 << 1 | hi1 >>> 31)\n let hi = hi4 ^ (hi1 << 1 | lo1 >>> 31)\n const t1slo0 = s[0] ^ lo\n const t1shi0 = s[1] ^ hi\n const t1slo5 = s[10] ^ lo\n const t1shi5 = s[11] ^ hi\n const t1slo10 = s[20] ^ lo\n const t1shi10 = s[21] ^ hi\n const t1slo15 = s[30] ^ lo\n const t1shi15 = s[31] ^ hi\n const t1slo20 = s[40] ^ lo\n const t1shi20 = s[41] ^ hi\n lo = lo0 ^ (lo2 << 1 | hi2 >>> 31)\n hi = hi0 ^ (hi2 << 1 | lo2 >>> 31)\n const t1slo1 = s[2] ^ lo\n const t1shi1 = s[3] ^ hi\n const t1slo6 = s[12] ^ lo\n const t1shi6 = s[13] ^ hi\n const t1slo11 = s[22] ^ lo\n const t1shi11 = s[23] ^ hi\n const t1slo16 = s[32] ^ lo\n const t1shi16 = s[33] ^ hi\n const t1slo21 = s[42] ^ lo\n const t1shi21 = s[43] ^ hi\n lo = lo1 ^ (lo3 << 1 | hi3 >>> 31)\n hi = hi1 ^ (hi3 << 1 | lo3 >>> 31)\n const t1slo2 = s[4] ^ lo\n const t1shi2 = s[5] ^ hi\n const t1slo7 = s[14] ^ lo\n const t1shi7 = s[15] ^ hi\n const t1slo12 = s[24] ^ lo\n const t1shi12 = s[25] ^ hi\n const t1slo17 = s[34] ^ lo\n const t1shi17 = s[35] ^ hi\n const t1slo22 = s[44] ^ lo\n const t1shi22 = s[45] ^ hi\n lo = lo2 ^ (lo4 << 1 | hi4 >>> 31)\n hi = hi2 ^ (hi4 << 1 | lo4 >>> 31)\n const t1slo3 = s[6] ^ lo\n const t1shi3 = s[7] ^ hi\n const t1slo8 = s[16] ^ lo\n const t1shi8 = s[17] ^ hi\n const t1slo13 = s[26] ^ lo\n const t1shi13 = s[27] ^ hi\n const t1slo18 = s[36] ^ lo\n const t1shi18 = s[37] ^ hi\n const t1slo23 = s[46] ^ lo\n const t1shi23 = s[47] ^ hi\n lo = lo3 ^ (lo0 << 1 | hi0 >>> 31)\n hi = hi3 ^ (hi0 << 1 | lo0 >>> 31)\n const t1slo4 = s[8] ^ lo\n const t1shi4 = s[9] ^ hi\n const t1slo9 = s[18] ^ lo\n const t1shi9 = s[19] ^ hi\n const t1slo14 = s[28] ^ lo\n const t1shi14 = s[29] ^ hi\n const t1slo19 = s[38] ^ lo\n const t1shi19 = s[39] ^ hi\n const t1slo24 = s[48] ^ lo\n const t1shi24 = s[49] ^ hi\n\n // rho & pi\n const t2slo0 = t1slo0\n const t2shi0 = t1shi0\n const t2slo16 = (t1shi5 << 4 | t1slo5 >>> 28)\n const t2shi16 = (t1slo5 << 4 | t1shi5 >>> 28)\n const t2slo7 = (t1slo10 << 3 | t1shi10 >>> 29)\n const t2shi7 = (t1shi10 << 3 | t1slo10 >>> 29)\n const t2slo23 = (t1shi15 << 9 | t1slo15 >>> 23)\n const t2shi23 = (t1slo15 << 9 | t1shi15 >>> 23)\n const t2slo14 = (t1slo20 << 18 | t1shi20 >>> 14)\n const t2shi14 = (t1shi20 << 18 | t1slo20 >>> 14)\n const t2slo10 = (t1slo1 << 1 | t1shi1 >>> 31)\n const t2shi10 = (t1shi1 << 1 | t1slo1 >>> 31)\n const t2slo1 = (t1shi6 << 12 | t1slo6 >>> 20)\n const t2shi1 = (t1slo6 << 12 | t1shi6 >>> 20)\n const t2slo17 = (t1slo11 << 10 | t1shi11 >>> 22)\n const t2shi17 = (t1shi11 << 10 | t1slo11 >>> 22)\n const t2slo8 = (t1shi16 << 13 | t1slo16 >>> 19)\n const t2shi8 = (t1slo16 << 13 | t1shi16 >>> 19)\n const t2slo24 = (t1slo21 << 2 | t1shi21 >>> 30)\n const t2shi24 = (t1shi21 << 2 | t1slo21 >>> 30)\n const t2slo20 = (t1shi2 << 30 | t1slo2 >>> 2)\n const t2shi20 = (t1slo2 << 30 | t1shi2 >>> 2)\n const t2slo11 = (t1slo7 << 6 | t1shi7 >>> 26)\n const t2shi11 = (t1shi7 << 6 | t1slo7 >>> 26)\n const t2slo2 = (t1shi12 << 11 | t1slo12 >>> 21)\n const t2shi2 = (t1slo12 << 11 | t1shi12 >>> 21)\n const t2slo18 = (t1slo17 << 15 | t1shi17 >>> 17)\n const t2shi18 = (t1shi17 << 15 | t1slo17 >>> 17)\n const t2slo9 = (t1shi22 << 29 | t1slo22 >>> 3)\n const t2shi9 = (t1slo22 << 29 | t1shi22 >>> 3)\n const t2slo5 = (t1slo3 << 28 | t1shi3 >>> 4)\n const t2shi5 = (t1shi3 << 28 | t1slo3 >>> 4)\n const t2slo21 = (t1shi8 << 23 | t1slo8 >>> 9)\n const t2shi21 = (t1slo8 << 23 | t1shi8 >>> 9)\n const t2slo12 = (t1slo13 << 25 | t1shi13 >>> 7)\n const t2shi12 = (t1shi13 << 25 | t1slo13 >>> 7)\n const t2slo3 = (t1slo18 << 21 | t1shi18 >>> 11)\n const t2shi3 = (t1shi18 << 21 | t1slo18 >>> 11)\n const t2slo19 = (t1shi23 << 24 | t1slo23 >>> 8)\n const t2shi19 = (t1slo23 << 24 | t1shi23 >>> 8)\n const t2slo15 = (t1slo4 << 27 | t1shi4 >>> 5)\n const t2shi15 = (t1shi4 << 27 | t1slo4 >>> 5)\n const t2slo6 = (t1slo9 << 20 | t1shi9 >>> 12)\n const t2shi6 = (t1shi9 << 20 | t1slo9 >>> 12)\n const t2slo22 = (t1shi14 << 7 | t1slo14 >>> 25)\n const t2shi22 = (t1slo14 << 7 | t1shi14 >>> 25)\n const t2slo13 = (t1slo19 << 8 | t1shi19 >>> 24)\n const t2shi13 = (t1shi19 << 8 | t1slo19 >>> 24)\n const t2slo4 = (t1slo24 << 14 | t1shi24 >>> 18)\n const t2shi4 = (t1shi24 << 14 | t1slo24 >>> 18)\n\n // chi\n s[0] = t2slo0 ^ (~t2slo1 & t2slo2)\n s[1] = t2shi0 ^ (~t2shi1 & t2shi2)\n s[10] = t2slo5 ^ (~t2slo6 & t2slo7)\n s[11] = t2shi5 ^ (~t2shi6 & t2shi7)\n s[20] = t2slo10 ^ (~t2slo11 & t2slo12)\n s[21] = t2shi10 ^ (~t2shi11 & t2shi12)\n s[30] = t2slo15 ^ (~t2slo16 & t2slo17)\n s[31] = t2shi15 ^ (~t2shi16 & t2shi17)\n s[40] = t2slo20 ^ (~t2slo21 & t2slo22)\n s[41] = t2shi20 ^ (~t2shi21 & t2shi22)\n s[2] = t2slo1 ^ (~t2slo2 & t2slo3)\n s[3] = t2shi1 ^ (~t2shi2 & t2shi3)\n s[12] = t2slo6 ^ (~t2slo7 & t2slo8)\n s[13] = t2shi6 ^ (~t2shi7 & t2shi8)\n s[22] = t2slo11 ^ (~t2slo12 & t2slo13)\n s[23] = t2shi11 ^ (~t2shi12 & t2shi13)\n s[32] = t2slo16 ^ (~t2slo17 & t2slo18)\n s[33] = t2shi16 ^ (~t2shi17 & t2shi18)\n s[42] = t2slo21 ^ (~t2slo22 & t2slo23)\n s[43] = t2shi21 ^ (~t2shi22 & t2shi23)\n s[4] = t2slo2 ^ (~t2slo3 & t2slo4)\n s[5] = t2shi2 ^ (~t2shi3 & t2shi4)\n s[14] = t2slo7 ^ (~t2slo8 & t2slo9)\n s[15] = t2shi7 ^ (~t2shi8 & t2shi9)\n s[24] = t2slo12 ^ (~t2slo13 & t2slo14)\n s[25] = t2shi12 ^ (~t2shi13 & t2shi14)\n s[34] = t2slo17 ^ (~t2slo18 & t2slo19)\n s[35] = t2shi17 ^ (~t2shi18 & t2shi19)\n s[44] = t2slo22 ^ (~t2slo23 & t2slo24)\n s[45] = t2shi22 ^ (~t2shi23 & t2shi24)\n s[6] = t2slo3 ^ (~t2slo4 & t2slo0)\n s[7] = t2shi3 ^ (~t2shi4 & t2shi0)\n s[16] = t2slo8 ^ (~t2slo9 & t2slo5)\n s[17] = t2shi8 ^ (~t2shi9 & t2shi5)\n s[26] = t2slo13 ^ (~t2slo14 & t2slo10)\n s[27] = t2shi13 ^ (~t2shi14 & t2shi10)\n s[36] = t2slo18 ^ (~t2slo19 & t2slo15)\n s[37] = t2shi18 ^ (~t2shi19 & t2shi15)\n s[46] = t2slo23 ^ (~t2slo24 & t2slo20)\n s[47] = t2shi23 ^ (~t2shi24 & t2shi20)\n s[8] = t2slo4 ^ (~t2slo0 & t2slo1)\n s[9] = t2shi4 ^ (~t2shi0 & t2shi1)\n s[18] = t2slo9 ^ (~t2slo5 & t2slo6)\n s[19] = t2shi9 ^ (~t2shi5 & t2shi6)\n s[28] = t2slo14 ^ (~t2slo10 & t2slo11)\n s[29] = t2shi14 ^ (~t2shi10 & t2shi11)\n s[38] = t2slo19 ^ (~t2slo15 & t2slo16)\n s[39] = t2shi19 ^ (~t2shi15 & t2shi16)\n s[48] = t2slo24 ^ (~t2slo20 & t2slo21)\n s[49] = t2shi24 ^ (~t2shi20 & t2shi21)\n\n // iota\n s[0] ^= P1600_ROUND_CONSTANTS[round * 2]\n s[1] ^= P1600_ROUND_CONSTANTS[round * 2 + 1]\n }\n}\n","'use strict'\nvar inherits = require('inherits')\nvar MD5 = require('md5.js')\nvar RIPEMD160 = require('ripemd160')\nvar sha = require('sha.js')\nvar Base = require('cipher-base')\n\nfunction Hash (hash) {\n Base.call(this, 'digest')\n\n this._hash = hash\n}\n\ninherits(Hash, Base)\n\nHash.prototype._update = function (data) {\n this._hash.update(data)\n}\n\nHash.prototype._final = function () {\n return this._hash.digest()\n}\n\nmodule.exports = function createHash (alg) {\n alg = alg.toLowerCase()\n if (alg === 'md5') return new MD5()\n if (alg === 'rmd160' || alg === 'ripemd160') return new RIPEMD160()\n\n return new Hash(sha(alg))\n}\n","'use strict'\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\nvar Buffer = require('safe-buffer').Buffer\n\nvar ARRAY16 = new Array(16)\n\nfunction MD5 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n}\n\ninherits(MD5, HashBase)\n\nMD5.prototype._update = function () {\n var M = ARRAY16\n for (var i = 0; i < 16; ++i) M[i] = this._block.readInt32LE(i * 4)\n\n var a = this._a\n var b = this._b\n var c = this._c\n var d = this._d\n\n a = fnF(a, b, c, d, M[0], 0xd76aa478, 7)\n d = fnF(d, a, b, c, M[1], 0xe8c7b756, 12)\n c = fnF(c, d, a, b, M[2], 0x242070db, 17)\n b = fnF(b, c, d, a, M[3], 0xc1bdceee, 22)\n a = fnF(a, b, c, d, M[4], 0xf57c0faf, 7)\n d = fnF(d, a, b, c, M[5], 0x4787c62a, 12)\n c = fnF(c, d, a, b, M[6], 0xa8304613, 17)\n b = fnF(b, c, d, a, M[7], 0xfd469501, 22)\n a = fnF(a, b, c, d, M[8], 0x698098d8, 7)\n d = fnF(d, a, b, c, M[9], 0x8b44f7af, 12)\n c = fnF(c, d, a, b, M[10], 0xffff5bb1, 17)\n b = fnF(b, c, d, a, M[11], 0x895cd7be, 22)\n a = fnF(a, b, c, d, M[12], 0x6b901122, 7)\n d = fnF(d, a, b, c, M[13], 0xfd987193, 12)\n c = fnF(c, d, a, b, M[14], 0xa679438e, 17)\n b = fnF(b, c, d, a, M[15], 0x49b40821, 22)\n\n a = fnG(a, b, c, d, M[1], 0xf61e2562, 5)\n d = fnG(d, a, b, c, M[6], 0xc040b340, 9)\n c = fnG(c, d, a, b, M[11], 0x265e5a51, 14)\n b = fnG(b, c, d, a, M[0], 0xe9b6c7aa, 20)\n a = fnG(a, b, c, d, M[5], 0xd62f105d, 5)\n d = fnG(d, a, b, c, M[10], 0x02441453, 9)\n c = fnG(c, d, a, b, M[15], 0xd8a1e681, 14)\n b = fnG(b, c, d, a, M[4], 0xe7d3fbc8, 20)\n a = fnG(a, b, c, d, M[9], 0x21e1cde6, 5)\n d = fnG(d, a, b, c, M[14], 0xc33707d6, 9)\n c = fnG(c, d, a, b, M[3], 0xf4d50d87, 14)\n b = fnG(b, c, d, a, M[8], 0x455a14ed, 20)\n a = fnG(a, b, c, d, M[13], 0xa9e3e905, 5)\n d = fnG(d, a, b, c, M[2], 0xfcefa3f8, 9)\n c = fnG(c, d, a, b, M[7], 0x676f02d9, 14)\n b = fnG(b, c, d, a, M[12], 0x8d2a4c8a, 20)\n\n a = fnH(a, b, c, d, M[5], 0xfffa3942, 4)\n d = fnH(d, a, b, c, M[8], 0x8771f681, 11)\n c = fnH(c, d, a, b, M[11], 0x6d9d6122, 16)\n b = fnH(b, c, d, a, M[14], 0xfde5380c, 23)\n a = fnH(a, b, c, d, M[1], 0xa4beea44, 4)\n d = fnH(d, a, b, c, M[4], 0x4bdecfa9, 11)\n c = fnH(c, d, a, b, M[7], 0xf6bb4b60, 16)\n b = fnH(b, c, d, a, M[10], 0xbebfbc70, 23)\n a = fnH(a, b, c, d, M[13], 0x289b7ec6, 4)\n d = fnH(d, a, b, c, M[0], 0xeaa127fa, 11)\n c = fnH(c, d, a, b, M[3], 0xd4ef3085, 16)\n b = fnH(b, c, d, a, M[6], 0x04881d05, 23)\n a = fnH(a, b, c, d, M[9], 0xd9d4d039, 4)\n d = fnH(d, a, b, c, M[12], 0xe6db99e5, 11)\n c = fnH(c, d, a, b, M[15], 0x1fa27cf8, 16)\n b = fnH(b, c, d, a, M[2], 0xc4ac5665, 23)\n\n a = fnI(a, b, c, d, M[0], 0xf4292244, 6)\n d = fnI(d, a, b, c, M[7], 0x432aff97, 10)\n c = fnI(c, d, a, b, M[14], 0xab9423a7, 15)\n b = fnI(b, c, d, a, M[5], 0xfc93a039, 21)\n a = fnI(a, b, c, d, M[12], 0x655b59c3, 6)\n d = fnI(d, a, b, c, M[3], 0x8f0ccc92, 10)\n c = fnI(c, d, a, b, M[10], 0xffeff47d, 15)\n b = fnI(b, c, d, a, M[1], 0x85845dd1, 21)\n a = fnI(a, b, c, d, M[8], 0x6fa87e4f, 6)\n d = fnI(d, a, b, c, M[15], 0xfe2ce6e0, 10)\n c = fnI(c, d, a, b, M[6], 0xa3014314, 15)\n b = fnI(b, c, d, a, M[13], 0x4e0811a1, 21)\n a = fnI(a, b, c, d, M[4], 0xf7537e82, 6)\n d = fnI(d, a, b, c, M[11], 0xbd3af235, 10)\n c = fnI(c, d, a, b, M[2], 0x2ad7d2bb, 15)\n b = fnI(b, c, d, a, M[9], 0xeb86d391, 21)\n\n this._a = (this._a + a) | 0\n this._b = (this._b + b) | 0\n this._c = (this._c + c) | 0\n this._d = (this._d + d) | 0\n}\n\nMD5.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.allocUnsafe(16)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fnF (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnG (a, b, c, d, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnH (a, b, c, d, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + b) | 0\n}\n\nfunction fnI (a, b, c, d, m, k, s) {\n return (rotl((a + ((c ^ (b | (~d)))) + m + k) | 0, s) + b) | 0\n}\n\nmodule.exports = MD5\n","'use strict'\nvar Buffer = require('safe-buffer').Buffer\nvar Transform = require('readable-stream').Transform\nvar inherits = require('inherits')\n\nfunction throwIfNotStringOrBuffer (val, prefix) {\n if (!Buffer.isBuffer(val) && typeof val !== 'string') {\n throw new TypeError(prefix + ' must be a string or a buffer')\n }\n}\n\nfunction HashBase (blockSize) {\n Transform.call(this)\n\n this._block = Buffer.allocUnsafe(blockSize)\n this._blockSize = blockSize\n this._blockOffset = 0\n this._length = [0, 0, 0, 0]\n\n this._finalized = false\n}\n\ninherits(HashBase, Transform)\n\nHashBase.prototype._transform = function (chunk, encoding, callback) {\n var error = null\n try {\n this.update(chunk, encoding)\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype._flush = function (callback) {\n var error = null\n try {\n this.push(this.digest())\n } catch (err) {\n error = err\n }\n\n callback(error)\n}\n\nHashBase.prototype.update = function (data, encoding) {\n throwIfNotStringOrBuffer(data, 'Data')\n if (this._finalized) throw new Error('Digest already called')\n if (!Buffer.isBuffer(data)) data = Buffer.from(data, encoding)\n\n // consume data\n var block = this._block\n var offset = 0\n while (this._blockOffset + data.length - offset >= this._blockSize) {\n for (var i = this._blockOffset; i < this._blockSize;) block[i++] = data[offset++]\n this._update()\n this._blockOffset = 0\n }\n while (offset < data.length) block[this._blockOffset++] = data[offset++]\n\n // update length\n for (var j = 0, carry = data.length * 8; carry > 0; ++j) {\n this._length[j] += carry\n carry = (this._length[j] / 0x0100000000) | 0\n if (carry > 0) this._length[j] -= 0x0100000000 * carry\n }\n\n return this\n}\n\nHashBase.prototype._update = function () {\n throw new Error('_update is not implemented')\n}\n\nHashBase.prototype.digest = function (encoding) {\n if (this._finalized) throw new Error('Digest already called')\n this._finalized = true\n\n var digest = this._digest()\n if (encoding !== undefined) digest = digest.toString(encoding)\n\n // reset state\n this._block.fill(0)\n this._blockOffset = 0\n for (var i = 0; i < 4; ++i) this._length[i] = 0\n\n return digest\n}\n\nHashBase.prototype._digest = function () {\n throw new Error('_digest is not implemented')\n}\n\nmodule.exports = HashBase\n","'use strict'\nvar Buffer = require('buffer').Buffer\nvar inherits = require('inherits')\nvar HashBase = require('hash-base')\n\nvar ARRAY16 = new Array(16)\n\nvar zl = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,\n 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,\n 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,\n 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,\n 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13\n]\n\nvar zr = [\n 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,\n 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,\n 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,\n 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,\n 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11\n]\n\nvar sl = [\n 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,\n 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,\n 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,\n 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,\n 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6\n]\n\nvar sr = [\n 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,\n 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,\n 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,\n 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,\n 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11\n]\n\nvar hl = [0x00000000, 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xa953fd4e]\nvar hr = [0x50a28be6, 0x5c4dd124, 0x6d703ef3, 0x7a6d76e9, 0x00000000]\n\nfunction RIPEMD160 () {\n HashBase.call(this, 64)\n\n // state\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n}\n\ninherits(RIPEMD160, HashBase)\n\nRIPEMD160.prototype._update = function () {\n var words = ARRAY16\n for (var j = 0; j < 16; ++j) words[j] = this._block.readInt32LE(j * 4)\n\n var al = this._a | 0\n var bl = this._b | 0\n var cl = this._c | 0\n var dl = this._d | 0\n var el = this._e | 0\n\n var ar = this._a | 0\n var br = this._b | 0\n var cr = this._c | 0\n var dr = this._d | 0\n var er = this._e | 0\n\n // computation\n for (var i = 0; i < 80; i += 1) {\n var tl\n var tr\n if (i < 16) {\n tl = fn1(al, bl, cl, dl, el, words[zl[i]], hl[0], sl[i])\n tr = fn5(ar, br, cr, dr, er, words[zr[i]], hr[0], sr[i])\n } else if (i < 32) {\n tl = fn2(al, bl, cl, dl, el, words[zl[i]], hl[1], sl[i])\n tr = fn4(ar, br, cr, dr, er, words[zr[i]], hr[1], sr[i])\n } else if (i < 48) {\n tl = fn3(al, bl, cl, dl, el, words[zl[i]], hl[2], sl[i])\n tr = fn3(ar, br, cr, dr, er, words[zr[i]], hr[2], sr[i])\n } else if (i < 64) {\n tl = fn4(al, bl, cl, dl, el, words[zl[i]], hl[3], sl[i])\n tr = fn2(ar, br, cr, dr, er, words[zr[i]], hr[3], sr[i])\n } else { // if (i<80) {\n tl = fn5(al, bl, cl, dl, el, words[zl[i]], hl[4], sl[i])\n tr = fn1(ar, br, cr, dr, er, words[zr[i]], hr[4], sr[i])\n }\n\n al = el\n el = dl\n dl = rotl(cl, 10)\n cl = bl\n bl = tl\n\n ar = er\n er = dr\n dr = rotl(cr, 10)\n cr = br\n br = tr\n }\n\n // update state\n var t = (this._b + cl + dr) | 0\n this._b = (this._c + dl + er) | 0\n this._c = (this._d + el + ar) | 0\n this._d = (this._e + al + br) | 0\n this._e = (this._a + bl + cr) | 0\n this._a = t\n}\n\nRIPEMD160.prototype._digest = function () {\n // create padding and handle blocks\n this._block[this._blockOffset++] = 0x80\n if (this._blockOffset > 56) {\n this._block.fill(0, this._blockOffset, 64)\n this._update()\n this._blockOffset = 0\n }\n\n this._block.fill(0, this._blockOffset, 56)\n this._block.writeUInt32LE(this._length[0], 56)\n this._block.writeUInt32LE(this._length[1], 60)\n this._update()\n\n // produce result\n var buffer = Buffer.alloc ? Buffer.alloc(20) : new Buffer(20)\n buffer.writeInt32LE(this._a, 0)\n buffer.writeInt32LE(this._b, 4)\n buffer.writeInt32LE(this._c, 8)\n buffer.writeInt32LE(this._d, 12)\n buffer.writeInt32LE(this._e, 16)\n return buffer\n}\n\nfunction rotl (x, n) {\n return (x << n) | (x >>> (32 - n))\n}\n\nfunction fn1 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ c ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn2 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & c) | ((~b) & d)) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn3 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b | (~c)) ^ d) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn4 (a, b, c, d, e, m, k, s) {\n return (rotl((a + ((b & d) | (c & (~d))) + m + k) | 0, s) + e) | 0\n}\n\nfunction fn5 (a, b, c, d, e, m, k, s) {\n return (rotl((a + (b ^ (c | (~d))) + m + k) | 0, s) + e) | 0\n}\n\nmodule.exports = RIPEMD160\n","var exports = module.exports = function SHA (algorithm) {\n algorithm = algorithm.toLowerCase()\n\n var Algorithm = exports[algorithm]\n if (!Algorithm) throw new Error(algorithm + ' is not supported (we accept pull requests)')\n\n return new Algorithm()\n}\n\nexports.sha = require('./sha')\nexports.sha1 = require('./sha1')\nexports.sha224 = require('./sha224')\nexports.sha256 = require('./sha256')\nexports.sha384 = require('./sha384')\nexports.sha512 = require('./sha512')\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-0, as defined\n * in FIPS PUB 180-1\n * This source code is derived from sha1.js of the same repository.\n * The difference between SHA-0 and SHA-1 is just a bitwise rotate left\n * operation was added.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha, Hash)\n\nSha.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha\n","var Buffer = require('safe-buffer').Buffer\n\n// prototype class for hash functions\nfunction Hash (blockSize, finalSize) {\n this._block = Buffer.alloc(blockSize)\n this._finalSize = finalSize\n this._blockSize = blockSize\n this._len = 0\n}\n\nHash.prototype.update = function (data, enc) {\n if (typeof data === 'string') {\n enc = enc || 'utf8'\n data = Buffer.from(data, enc)\n }\n\n var block = this._block\n var blockSize = this._blockSize\n var length = data.length\n var accum = this._len\n\n for (var offset = 0; offset < length;) {\n var assigned = accum % blockSize\n var remainder = Math.min(length - offset, blockSize - assigned)\n\n for (var i = 0; i < remainder; i++) {\n block[assigned + i] = data[offset + i]\n }\n\n accum += remainder\n offset += remainder\n\n if ((accum % blockSize) === 0) {\n this._update(block)\n }\n }\n\n this._len += length\n return this\n}\n\nHash.prototype.digest = function (enc) {\n var rem = this._len % this._blockSize\n\n this._block[rem] = 0x80\n\n // zero (rem + 1) trailing bits, where (rem + 1) is the smallest\n // non-negative solution to the equation (length + 1 + (rem + 1)) === finalSize mod blockSize\n this._block.fill(0, rem + 1)\n\n if (rem >= this._finalSize) {\n this._update(this._block)\n this._block.fill(0)\n }\n\n var bits = this._len * 8\n\n // uint32\n if (bits <= 0xffffffff) {\n this._block.writeUInt32BE(bits, this._blockSize - 4)\n\n // uint64\n } else {\n var lowBits = (bits & 0xffffffff) >>> 0\n var highBits = (bits - lowBits) / 0x100000000\n\n this._block.writeUInt32BE(highBits, this._blockSize - 8)\n this._block.writeUInt32BE(lowBits, this._blockSize - 4)\n }\n\n this._update(this._block)\n var hash = this._hash()\n\n return enc ? hash.toString(enc) : hash\n}\n\nHash.prototype._update = function () {\n throw new Error('_update must be implemented by subclass')\n}\n\nmodule.exports = Hash\n","/*\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-1, as defined\n * in FIPS PUB 180-1\n * Version 2.1a Copyright Paul Johnston 2000 - 2002.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n * Distributed under the BSD License\n * See http://pajhome.org.uk/crypt/md5 for details.\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc | 0, 0xca62c1d6 | 0\n]\n\nvar W = new Array(80)\n\nfunction Sha1 () {\n this.init()\n this._w = W\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha1, Hash)\n\nSha1.prototype.init = function () {\n this._a = 0x67452301\n this._b = 0xefcdab89\n this._c = 0x98badcfe\n this._d = 0x10325476\n this._e = 0xc3d2e1f0\n\n return this\n}\n\nfunction rotl1 (num) {\n return (num << 1) | (num >>> 31)\n}\n\nfunction rotl5 (num) {\n return (num << 5) | (num >>> 27)\n}\n\nfunction rotl30 (num) {\n return (num << 30) | (num >>> 2)\n}\n\nfunction ft (s, b, c, d) {\n if (s === 0) return (b & c) | ((~b) & d)\n if (s === 2) return (b & c) | (b & d) | (c & d)\n return b ^ c ^ d\n}\n\nSha1.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 80; ++i) W[i] = rotl1(W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16])\n\n for (var j = 0; j < 80; ++j) {\n var s = ~~(j / 20)\n var t = (rotl5(a) + ft(s, b, c, d) + e + W[j] + K[s]) | 0\n\n e = d\n d = c\n c = rotl30(b)\n b = a\n a = t\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n}\n\nSha1.prototype._hash = function () {\n var H = Buffer.allocUnsafe(20)\n\n H.writeInt32BE(this._a | 0, 0)\n H.writeInt32BE(this._b | 0, 4)\n H.writeInt32BE(this._c | 0, 8)\n H.writeInt32BE(this._d | 0, 12)\n H.writeInt32BE(this._e | 0, 16)\n\n return H\n}\n\nmodule.exports = Sha1\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Sha256 = require('./sha256')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(64)\n\nfunction Sha224 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha224, Sha256)\n\nSha224.prototype.init = function () {\n this._a = 0xc1059ed8\n this._b = 0x367cd507\n this._c = 0x3070dd17\n this._d = 0xf70e5939\n this._e = 0xffc00b31\n this._f = 0x68581511\n this._g = 0x64f98fa7\n this._h = 0xbefa4fa4\n\n return this\n}\n\nSha224.prototype._hash = function () {\n var H = Buffer.allocUnsafe(28)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n\n return H\n}\n\nmodule.exports = Sha224\n","/**\n * A JavaScript implementation of the Secure Hash Algorithm, SHA-256, as defined\n * in FIPS 180-2\n * Version 2.2-beta Copyright Angel Marin, Paul Johnston 2000 - 2009.\n * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet\n *\n */\n\nvar inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428A2F98, 0x71374491, 0xB5C0FBCF, 0xE9B5DBA5,\n 0x3956C25B, 0x59F111F1, 0x923F82A4, 0xAB1C5ED5,\n 0xD807AA98, 0x12835B01, 0x243185BE, 0x550C7DC3,\n 0x72BE5D74, 0x80DEB1FE, 0x9BDC06A7, 0xC19BF174,\n 0xE49B69C1, 0xEFBE4786, 0x0FC19DC6, 0x240CA1CC,\n 0x2DE92C6F, 0x4A7484AA, 0x5CB0A9DC, 0x76F988DA,\n 0x983E5152, 0xA831C66D, 0xB00327C8, 0xBF597FC7,\n 0xC6E00BF3, 0xD5A79147, 0x06CA6351, 0x14292967,\n 0x27B70A85, 0x2E1B2138, 0x4D2C6DFC, 0x53380D13,\n 0x650A7354, 0x766A0ABB, 0x81C2C92E, 0x92722C85,\n 0xA2BFE8A1, 0xA81A664B, 0xC24B8B70, 0xC76C51A3,\n 0xD192E819, 0xD6990624, 0xF40E3585, 0x106AA070,\n 0x19A4C116, 0x1E376C08, 0x2748774C, 0x34B0BCB5,\n 0x391C0CB3, 0x4ED8AA4A, 0x5B9CCA4F, 0x682E6FF3,\n 0x748F82EE, 0x78A5636F, 0x84C87814, 0x8CC70208,\n 0x90BEFFFA, 0xA4506CEB, 0xBEF9A3F7, 0xC67178F2\n]\n\nvar W = new Array(64)\n\nfunction Sha256 () {\n this.init()\n\n this._w = W // new Array(64)\n\n Hash.call(this, 64, 56)\n}\n\ninherits(Sha256, Hash)\n\nSha256.prototype.init = function () {\n this._a = 0x6a09e667\n this._b = 0xbb67ae85\n this._c = 0x3c6ef372\n this._d = 0xa54ff53a\n this._e = 0x510e527f\n this._f = 0x9b05688c\n this._g = 0x1f83d9ab\n this._h = 0x5be0cd19\n\n return this\n}\n\nfunction ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x) {\n return (x >>> 2 | x << 30) ^ (x >>> 13 | x << 19) ^ (x >>> 22 | x << 10)\n}\n\nfunction sigma1 (x) {\n return (x >>> 6 | x << 26) ^ (x >>> 11 | x << 21) ^ (x >>> 25 | x << 7)\n}\n\nfunction gamma0 (x) {\n return (x >>> 7 | x << 25) ^ (x >>> 18 | x << 14) ^ (x >>> 3)\n}\n\nfunction gamma1 (x) {\n return (x >>> 17 | x << 15) ^ (x >>> 19 | x << 13) ^ (x >>> 10)\n}\n\nSha256.prototype._update = function (M) {\n var W = this._w\n\n var a = this._a | 0\n var b = this._b | 0\n var c = this._c | 0\n var d = this._d | 0\n var e = this._e | 0\n var f = this._f | 0\n var g = this._g | 0\n var h = this._h | 0\n\n for (var i = 0; i < 16; ++i) W[i] = M.readInt32BE(i * 4)\n for (; i < 64; ++i) W[i] = (gamma1(W[i - 2]) + W[i - 7] + gamma0(W[i - 15]) + W[i - 16]) | 0\n\n for (var j = 0; j < 64; ++j) {\n var T1 = (h + sigma1(e) + ch(e, f, g) + K[j] + W[j]) | 0\n var T2 = (sigma0(a) + maj(a, b, c)) | 0\n\n h = g\n g = f\n f = e\n e = (d + T1) | 0\n d = c\n c = b\n b = a\n a = (T1 + T2) | 0\n }\n\n this._a = (a + this._a) | 0\n this._b = (b + this._b) | 0\n this._c = (c + this._c) | 0\n this._d = (d + this._d) | 0\n this._e = (e + this._e) | 0\n this._f = (f + this._f) | 0\n this._g = (g + this._g) | 0\n this._h = (h + this._h) | 0\n}\n\nSha256.prototype._hash = function () {\n var H = Buffer.allocUnsafe(32)\n\n H.writeInt32BE(this._a, 0)\n H.writeInt32BE(this._b, 4)\n H.writeInt32BE(this._c, 8)\n H.writeInt32BE(this._d, 12)\n H.writeInt32BE(this._e, 16)\n H.writeInt32BE(this._f, 20)\n H.writeInt32BE(this._g, 24)\n H.writeInt32BE(this._h, 28)\n\n return H\n}\n\nmodule.exports = Sha256\n","var inherits = require('inherits')\nvar SHA512 = require('./sha512')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar W = new Array(160)\n\nfunction Sha384 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha384, SHA512)\n\nSha384.prototype.init = function () {\n this._ah = 0xcbbb9d5d\n this._bh = 0x629a292a\n this._ch = 0x9159015a\n this._dh = 0x152fecd8\n this._eh = 0x67332667\n this._fh = 0x8eb44a87\n this._gh = 0xdb0c2e0d\n this._hh = 0x47b5481d\n\n this._al = 0xc1059ed8\n this._bl = 0x367cd507\n this._cl = 0x3070dd17\n this._dl = 0xf70e5939\n this._el = 0xffc00b31\n this._fl = 0x68581511\n this._gl = 0x64f98fa7\n this._hl = 0xbefa4fa4\n\n return this\n}\n\nSha384.prototype._hash = function () {\n var H = Buffer.allocUnsafe(48)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n\n return H\n}\n\nmodule.exports = Sha384\n","var inherits = require('inherits')\nvar Hash = require('./hash')\nvar Buffer = require('safe-buffer').Buffer\n\nvar K = [\n 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,\n 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,\n 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,\n 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,\n 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,\n 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,\n 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,\n 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,\n 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,\n 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,\n 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,\n 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,\n 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,\n 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,\n 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,\n 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,\n 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,\n 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,\n 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,\n 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,\n 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,\n 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,\n 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,\n 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,\n 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,\n 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,\n 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,\n 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,\n 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,\n 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,\n 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,\n 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,\n 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,\n 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,\n 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,\n 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,\n 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,\n 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,\n 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,\n 0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817\n]\n\nvar W = new Array(160)\n\nfunction Sha512 () {\n this.init()\n this._w = W\n\n Hash.call(this, 128, 112)\n}\n\ninherits(Sha512, Hash)\n\nSha512.prototype.init = function () {\n this._ah = 0x6a09e667\n this._bh = 0xbb67ae85\n this._ch = 0x3c6ef372\n this._dh = 0xa54ff53a\n this._eh = 0x510e527f\n this._fh = 0x9b05688c\n this._gh = 0x1f83d9ab\n this._hh = 0x5be0cd19\n\n this._al = 0xf3bcc908\n this._bl = 0x84caa73b\n this._cl = 0xfe94f82b\n this._dl = 0x5f1d36f1\n this._el = 0xade682d1\n this._fl = 0x2b3e6c1f\n this._gl = 0xfb41bd6b\n this._hl = 0x137e2179\n\n return this\n}\n\nfunction Ch (x, y, z) {\n return z ^ (x & (y ^ z))\n}\n\nfunction maj (x, y, z) {\n return (x & y) | (z & (x | y))\n}\n\nfunction sigma0 (x, xl) {\n return (x >>> 28 | xl << 4) ^ (xl >>> 2 | x << 30) ^ (xl >>> 7 | x << 25)\n}\n\nfunction sigma1 (x, xl) {\n return (x >>> 14 | xl << 18) ^ (x >>> 18 | xl << 14) ^ (xl >>> 9 | x << 23)\n}\n\nfunction Gamma0 (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7)\n}\n\nfunction Gamma0l (x, xl) {\n return (x >>> 1 | xl << 31) ^ (x >>> 8 | xl << 24) ^ (x >>> 7 | xl << 25)\n}\n\nfunction Gamma1 (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6)\n}\n\nfunction Gamma1l (x, xl) {\n return (x >>> 19 | xl << 13) ^ (xl >>> 29 | x << 3) ^ (x >>> 6 | xl << 26)\n}\n\nfunction getCarry (a, b) {\n return (a >>> 0) < (b >>> 0) ? 1 : 0\n}\n\nSha512.prototype._update = function (M) {\n var W = this._w\n\n var ah = this._ah | 0\n var bh = this._bh | 0\n var ch = this._ch | 0\n var dh = this._dh | 0\n var eh = this._eh | 0\n var fh = this._fh | 0\n var gh = this._gh | 0\n var hh = this._hh | 0\n\n var al = this._al | 0\n var bl = this._bl | 0\n var cl = this._cl | 0\n var dl = this._dl | 0\n var el = this._el | 0\n var fl = this._fl | 0\n var gl = this._gl | 0\n var hl = this._hl | 0\n\n for (var i = 0; i < 32; i += 2) {\n W[i] = M.readInt32BE(i * 4)\n W[i + 1] = M.readInt32BE(i * 4 + 4)\n }\n for (; i < 160; i += 2) {\n var xh = W[i - 15 * 2]\n var xl = W[i - 15 * 2 + 1]\n var gamma0 = Gamma0(xh, xl)\n var gamma0l = Gamma0l(xl, xh)\n\n xh = W[i - 2 * 2]\n xl = W[i - 2 * 2 + 1]\n var gamma1 = Gamma1(xh, xl)\n var gamma1l = Gamma1l(xl, xh)\n\n // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]\n var Wi7h = W[i - 7 * 2]\n var Wi7l = W[i - 7 * 2 + 1]\n\n var Wi16h = W[i - 16 * 2]\n var Wi16l = W[i - 16 * 2 + 1]\n\n var Wil = (gamma0l + Wi7l) | 0\n var Wih = (gamma0 + Wi7h + getCarry(Wil, gamma0l)) | 0\n Wil = (Wil + gamma1l) | 0\n Wih = (Wih + gamma1 + getCarry(Wil, gamma1l)) | 0\n Wil = (Wil + Wi16l) | 0\n Wih = (Wih + Wi16h + getCarry(Wil, Wi16l)) | 0\n\n W[i] = Wih\n W[i + 1] = Wil\n }\n\n for (var j = 0; j < 160; j += 2) {\n Wih = W[j]\n Wil = W[j + 1]\n\n var majh = maj(ah, bh, ch)\n var majl = maj(al, bl, cl)\n\n var sigma0h = sigma0(ah, al)\n var sigma0l = sigma0(al, ah)\n var sigma1h = sigma1(eh, el)\n var sigma1l = sigma1(el, eh)\n\n // t1 = h + sigma1 + ch + K[j] + W[j]\n var Kih = K[j]\n var Kil = K[j + 1]\n\n var chh = Ch(eh, fh, gh)\n var chl = Ch(el, fl, gl)\n\n var t1l = (hl + sigma1l) | 0\n var t1h = (hh + sigma1h + getCarry(t1l, hl)) | 0\n t1l = (t1l + chl) | 0\n t1h = (t1h + chh + getCarry(t1l, chl)) | 0\n t1l = (t1l + Kil) | 0\n t1h = (t1h + Kih + getCarry(t1l, Kil)) | 0\n t1l = (t1l + Wil) | 0\n t1h = (t1h + Wih + getCarry(t1l, Wil)) | 0\n\n // t2 = sigma0 + maj\n var t2l = (sigma0l + majl) | 0\n var t2h = (sigma0h + majh + getCarry(t2l, sigma0l)) | 0\n\n hh = gh\n hl = gl\n gh = fh\n gl = fl\n fh = eh\n fl = el\n el = (dl + t1l) | 0\n eh = (dh + t1h + getCarry(el, dl)) | 0\n dh = ch\n dl = cl\n ch = bh\n cl = bl\n bh = ah\n bl = al\n al = (t1l + t2l) | 0\n ah = (t1h + t2h + getCarry(al, t1l)) | 0\n }\n\n this._al = (this._al + al) | 0\n this._bl = (this._bl + bl) | 0\n this._cl = (this._cl + cl) | 0\n this._dl = (this._dl + dl) | 0\n this._el = (this._el + el) | 0\n this._fl = (this._fl + fl) | 0\n this._gl = (this._gl + gl) | 0\n this._hl = (this._hl + hl) | 0\n\n this._ah = (this._ah + ah + getCarry(this._al, al)) | 0\n this._bh = (this._bh + bh + getCarry(this._bl, bl)) | 0\n this._ch = (this._ch + ch + getCarry(this._cl, cl)) | 0\n this._dh = (this._dh + dh + getCarry(this._dl, dl)) | 0\n this._eh = (this._eh + eh + getCarry(this._el, el)) | 0\n this._fh = (this._fh + fh + getCarry(this._fl, fl)) | 0\n this._gh = (this._gh + gh + getCarry(this._gl, gl)) | 0\n this._hh = (this._hh + hh + getCarry(this._hl, hl)) | 0\n}\n\nSha512.prototype._hash = function () {\n var H = Buffer.allocUnsafe(64)\n\n function writeInt64BE (h, l, offset) {\n H.writeInt32BE(h, offset)\n H.writeInt32BE(l, offset + 4)\n }\n\n writeInt64BE(this._ah, this._al, 0)\n writeInt64BE(this._bh, this._bl, 8)\n writeInt64BE(this._ch, this._cl, 16)\n writeInt64BE(this._dh, this._dl, 24)\n writeInt64BE(this._eh, this._el, 32)\n writeInt64BE(this._fh, this._fl, 40)\n writeInt64BE(this._gh, this._gl, 48)\n writeInt64BE(this._hh, this._hl, 56)\n\n return H\n}\n\nmodule.exports = Sha512\n","var Buffer = require('safe-buffer').Buffer\nvar Transform = require('stream').Transform\nvar StringDecoder = require('string_decoder').StringDecoder\nvar inherits = require('inherits')\n\nfunction CipherBase (hashMode) {\n Transform.call(this)\n this.hashMode = typeof hashMode === 'string'\n if (this.hashMode) {\n this[hashMode] = this._finalOrDigest\n } else {\n this.final = this._finalOrDigest\n }\n if (this._final) {\n this.__final = this._final\n this._final = null\n }\n this._decoder = null\n this._encoding = null\n}\ninherits(CipherBase, Transform)\n\nCipherBase.prototype.update = function (data, inputEnc, outputEnc) {\n if (typeof data === 'string') {\n data = Buffer.from(data, inputEnc)\n }\n\n var outData = this._update(data)\n if (this.hashMode) return this\n\n if (outputEnc) {\n outData = this._toString(outData, outputEnc)\n }\n\n return outData\n}\n\nCipherBase.prototype.setAutoPadding = function () {}\nCipherBase.prototype.getAuthTag = function () {\n throw new Error('trying to get auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAuthTag = function () {\n throw new Error('trying to set auth tag in unsupported state')\n}\n\nCipherBase.prototype.setAAD = function () {\n throw new Error('trying to set aad in unsupported state')\n}\n\nCipherBase.prototype._transform = function (data, _, next) {\n var err\n try {\n if (this.hashMode) {\n this._update(data)\n } else {\n this.push(this._update(data))\n }\n } catch (e) {\n err = e\n } finally {\n next(err)\n }\n}\nCipherBase.prototype._flush = function (done) {\n var err\n try {\n this.push(this.__final())\n } catch (e) {\n err = e\n }\n\n done(err)\n}\nCipherBase.prototype._finalOrDigest = function (outputEnc) {\n var outData = this.__final() || Buffer.alloc(0)\n if (outputEnc) {\n outData = this._toString(outData, outputEnc, true)\n }\n return outData\n}\n\nCipherBase.prototype._toString = function (value, enc, fin) {\n if (!this._decoder) {\n this._decoder = new StringDecoder(enc)\n this._encoding = enc\n }\n\n if (this._encoding !== enc) throw new Error('can\\'t switch encodings')\n\n var out = this._decoder.write(value)\n if (fin) {\n out += this._decoder.end()\n }\n\n return out\n}\n\nmodule.exports = CipherBase\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nmodule.exports = Stream;\n\nvar EE = require('events').EventEmitter;\nvar inherits = require('inherits');\n\ninherits(Stream, EE);\nStream.Readable = require('readable-stream/lib/_stream_readable.js');\nStream.Writable = require('readable-stream/lib/_stream_writable.js');\nStream.Duplex = require('readable-stream/lib/_stream_duplex.js');\nStream.Transform = require('readable-stream/lib/_stream_transform.js');\nStream.PassThrough = require('readable-stream/lib/_stream_passthrough.js');\nStream.finished = require('readable-stream/lib/internal/streams/end-of-stream.js')\nStream.pipeline = require('readable-stream/lib/internal/streams/pipeline.js')\n\n// Backwards-compat with node 0.4.x\nStream.Stream = Stream;\n\n\n\n// old-style streams. Note that the pipe method (the only relevant\n// part of this class) is overridden in the Readable class.\n\nfunction Stream() {\n EE.call(this);\n}\n\nStream.prototype.pipe = function(dest, options) {\n var source = this;\n\n function ondata(chunk) {\n if (dest.writable) {\n if (false === dest.write(chunk) && source.pause) {\n source.pause();\n }\n }\n }\n\n source.on('data', ondata);\n\n function ondrain() {\n if (source.readable && source.resume) {\n source.resume();\n }\n }\n\n dest.on('drain', ondrain);\n\n // If the 'end' option is not supplied, dest.end() will be called when\n // source gets the 'end' or 'close' events. Only dest.end() once.\n if (!dest._isStdio && (!options || options.end !== false)) {\n source.on('end', onend);\n source.on('close', onclose);\n }\n\n var didOnEnd = false;\n function onend() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n dest.end();\n }\n\n\n function onclose() {\n if (didOnEnd) return;\n didOnEnd = true;\n\n if (typeof dest.destroy === 'function') dest.destroy();\n }\n\n // don't leave dangling pipes when there are errors.\n function onerror(er) {\n cleanup();\n if (EE.listenerCount(this, 'error') === 0) {\n throw er; // Unhandled stream error in pipe.\n }\n }\n\n source.on('error', onerror);\n dest.on('error', onerror);\n\n // remove all the event listeners that were added.\n function cleanup() {\n source.removeListener('data', ondata);\n dest.removeListener('drain', ondrain);\n\n source.removeListener('end', onend);\n source.removeListener('close', onclose);\n\n source.removeListener('error', onerror);\n dest.removeListener('error', onerror);\n\n source.removeListener('end', cleanup);\n source.removeListener('close', cleanup);\n\n dest.removeListener('close', cleanup);\n }\n\n source.on('end', cleanup);\n source.on('close', cleanup);\n\n dest.on('close', cleanup);\n\n dest.emit('pipe', source);\n\n // Allow for unix-like usage: A.pipe(B).pipe(C)\n return dest;\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toType = exports.TypeOutput = exports.bnToRlp = exports.bnToUnpaddedBuffer = exports.bnToHex = void 0;\nvar externals_1 = require(\"./externals\");\nvar internal_1 = require(\"./internal\");\nvar bytes_1 = require(\"./bytes\");\n/**\n * Convert BN to 0x-prefixed hex string.\n */\nfunction bnToHex(value) {\n return \"0x\".concat(value.toString(16));\n}\nexports.bnToHex = bnToHex;\n/**\n * Convert value from BN to an unpadded Buffer\n * (useful for RLP transport)\n * @param value value to convert\n */\nfunction bnToUnpaddedBuffer(value) {\n // Using `bn.toArrayLike(Buffer)` instead of `bn.toBuffer()`\n // for compatibility with browserify and similar tools\n return (0, bytes_1.unpadBuffer)(value.toArrayLike(Buffer));\n}\nexports.bnToUnpaddedBuffer = bnToUnpaddedBuffer;\n/**\n * Deprecated alias for {@link bnToUnpaddedBuffer}\n * @deprecated\n */\nfunction bnToRlp(value) {\n return bnToUnpaddedBuffer(value);\n}\nexports.bnToRlp = bnToRlp;\n/**\n * Type output options\n */\nvar TypeOutput;\n(function (TypeOutput) {\n TypeOutput[TypeOutput[\"Number\"] = 0] = \"Number\";\n TypeOutput[TypeOutput[\"BN\"] = 1] = \"BN\";\n TypeOutput[TypeOutput[\"Buffer\"] = 2] = \"Buffer\";\n TypeOutput[TypeOutput[\"PrefixedHexString\"] = 3] = \"PrefixedHexString\";\n})(TypeOutput = exports.TypeOutput || (exports.TypeOutput = {}));\nfunction toType(input, outputType) {\n if (input === null) {\n return null;\n }\n if (input === undefined) {\n return undefined;\n }\n if (typeof input === 'string' && !(0, internal_1.isHexString)(input)) {\n throw new Error(\"A string must be provided with a 0x-prefix, given: \".concat(input));\n }\n else if (typeof input === 'number' && !Number.isSafeInteger(input)) {\n throw new Error('The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)');\n }\n var output = (0, bytes_1.toBuffer)(input);\n if (outputType === TypeOutput.Buffer) {\n return output;\n }\n else if (outputType === TypeOutput.BN) {\n return new externals_1.BN(output);\n }\n else if (outputType === TypeOutput.Number) {\n var bn = new externals_1.BN(output);\n var max = new externals_1.BN(Number.MAX_SAFE_INTEGER.toString());\n if (bn.gt(max)) {\n throw new Error('The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)');\n }\n return bn.toNumber();\n }\n else {\n // outputType === TypeOutput.PrefixedHexString\n return \"0x\".concat(output.toString('hex'));\n }\n}\nexports.toType = toType;\n//# sourceMappingURL=types.js.map","import { BN } from './externals'\nimport { isHexString } from './internal'\nimport { Address } from './address'\nimport { unpadBuffer, toBuffer, ToBufferInputTypes } from './bytes'\n\n/*\n * A type that represents a BNLike input that can be converted to a BN.\n */\nexport type BNLike = BN | PrefixedHexString | number | Buffer\n\n/*\n * A type that represents a BufferLike input that can be converted to a Buffer.\n */\nexport type BufferLike =\n | Buffer\n | Uint8Array\n | number[]\n | number\n | BN\n | TransformableToBuffer\n | PrefixedHexString\n\n/*\n * A type that represents a `0x`-prefixed hex string.\n */\nexport type PrefixedHexString = string\n\n/**\n * A type that represents an Address-like value.\n * To convert to address, use `new Address(toBuffer(value))`\n */\nexport type AddressLike = Address | Buffer | PrefixedHexString\n\n/*\n * A type that represents an object that has a `toArray()` method.\n */\nexport interface TransformableToArray {\n toArray(): Uint8Array\n toBuffer?(): Buffer\n}\n\n/*\n * A type that represents an object that has a `toBuffer()` method.\n */\nexport interface TransformableToBuffer {\n toBuffer(): Buffer\n toArray?(): Uint8Array\n}\n\nexport type NestedUint8Array = Array\nexport type NestedBufferArray = Array\n\n/**\n * Convert BN to 0x-prefixed hex string.\n */\nexport function bnToHex(value: BN): PrefixedHexString {\n return `0x${value.toString(16)}`\n}\n\n/**\n * Convert value from BN to an unpadded Buffer\n * (useful for RLP transport)\n * @param value value to convert\n */\nexport function bnToUnpaddedBuffer(value: BN): Buffer {\n // Using `bn.toArrayLike(Buffer)` instead of `bn.toBuffer()`\n // for compatibility with browserify and similar tools\n return unpadBuffer(value.toArrayLike(Buffer))\n}\n\n/**\n * Deprecated alias for {@link bnToUnpaddedBuffer}\n * @deprecated\n */\nexport function bnToRlp(value: BN): Buffer {\n return bnToUnpaddedBuffer(value)\n}\n\n/**\n * Type output options\n */\nexport enum TypeOutput {\n Number,\n BN,\n Buffer,\n PrefixedHexString,\n}\n\nexport type TypeOutputReturnType = {\n [TypeOutput.Number]: number\n [TypeOutput.BN]: BN\n [TypeOutput.Buffer]: Buffer\n [TypeOutput.PrefixedHexString]: PrefixedHexString\n}\n\n/**\n * Convert an input to a specified type.\n * Input of null/undefined returns null/undefined regardless of the output type.\n * @param input value to convert\n * @param outputType type to output\n */\nexport function toType(input: null, outputType: T): null\nexport function toType(input: undefined, outputType: T): undefined\nexport function toType(\n input: ToBufferInputTypes,\n outputType: T\n): TypeOutputReturnType[T]\nexport function toType(\n input: ToBufferInputTypes,\n outputType: T\n): TypeOutputReturnType[T] | undefined | null {\n if (input === null) {\n return null\n }\n if (input === undefined) {\n return undefined\n }\n\n if (typeof input === 'string' && !isHexString(input)) {\n throw new Error(`A string must be provided with a 0x-prefix, given: ${input}`)\n } else if (typeof input === 'number' && !Number.isSafeInteger(input)) {\n throw new Error(\n 'The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)'\n )\n }\n\n const output = toBuffer(input)\n\n if (outputType === TypeOutput.Buffer) {\n return output as TypeOutputReturnType[T]\n } else if (outputType === TypeOutput.BN) {\n return new BN(output) as TypeOutputReturnType[T]\n } else if (outputType === TypeOutput.Number) {\n const bn = new BN(output)\n const max = new BN(Number.MAX_SAFE_INTEGER.toString())\n if (bn.gt(max)) {\n throw new Error(\n 'The provided number is greater than MAX_SAFE_INTEGER (please use an alternative output type)'\n )\n }\n return bn.toNumber() as TypeOutputReturnType[T]\n } else {\n // outputType === TypeOutput.PrefixedHexString\n return `0x${output.toString('hex')}` as TypeOutputReturnType[T]\n }\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Address = void 0;\nvar assert_1 = __importDefault(require(\"assert\"));\nvar externals_1 = require(\"./externals\");\nvar bytes_1 = require(\"./bytes\");\nvar account_1 = require(\"./account\");\nvar Address = /** @class */ (function () {\n function Address(buf) {\n (0, assert_1.default)(buf.length === 20, 'Invalid address length');\n this.buf = buf;\n }\n /**\n * Returns the zero address.\n */\n Address.zero = function () {\n return new Address((0, bytes_1.zeros)(20));\n };\n /**\n * Returns an Address object from a hex-encoded string.\n * @param str - Hex-encoded address\n */\n Address.fromString = function (str) {\n (0, assert_1.default)((0, account_1.isValidAddress)(str), 'Invalid address');\n return new Address((0, bytes_1.toBuffer)(str));\n };\n /**\n * Returns an address for a given public key.\n * @param pubKey The two points of an uncompressed key\n */\n Address.fromPublicKey = function (pubKey) {\n (0, assert_1.default)(Buffer.isBuffer(pubKey), 'Public key should be Buffer');\n var buf = (0, account_1.pubToAddress)(pubKey);\n return new Address(buf);\n };\n /**\n * Returns an address for a given private key.\n * @param privateKey A private key must be 256 bits wide\n */\n Address.fromPrivateKey = function (privateKey) {\n (0, assert_1.default)(Buffer.isBuffer(privateKey), 'Private key should be Buffer');\n var buf = (0, account_1.privateToAddress)(privateKey);\n return new Address(buf);\n };\n /**\n * Generates an address for a newly created contract.\n * @param from The address which is creating this new address\n * @param nonce The nonce of the from account\n */\n Address.generate = function (from, nonce) {\n (0, assert_1.default)(externals_1.BN.isBN(nonce));\n return new Address((0, account_1.generateAddress)(from.buf, nonce.toArrayLike(Buffer)));\n };\n /**\n * Generates an address for a contract created using CREATE2.\n * @param from The address which is creating this new address\n * @param salt A salt\n * @param initCode The init code of the contract being created\n */\n Address.generate2 = function (from, salt, initCode) {\n (0, assert_1.default)(Buffer.isBuffer(salt));\n (0, assert_1.default)(Buffer.isBuffer(initCode));\n return new Address((0, account_1.generateAddress2)(from.buf, salt, initCode));\n };\n /**\n * Is address equal to another.\n */\n Address.prototype.equals = function (address) {\n return this.buf.equals(address.buf);\n };\n /**\n * Is address zero.\n */\n Address.prototype.isZero = function () {\n return this.equals(Address.zero());\n };\n /**\n * True if address is in the address range defined\n * by EIP-1352\n */\n Address.prototype.isPrecompileOrSystemAddress = function () {\n var addressBN = new externals_1.BN(this.buf);\n var rangeMin = new externals_1.BN(0);\n var rangeMax = new externals_1.BN('ffff', 'hex');\n return addressBN.gte(rangeMin) && addressBN.lte(rangeMax);\n };\n /**\n * Returns hex encoding of address.\n */\n Address.prototype.toString = function () {\n return '0x' + this.buf.toString('hex');\n };\n /**\n * Returns Buffer representation of address.\n */\n Address.prototype.toBuffer = function () {\n return Buffer.from(this.buf);\n };\n return Address;\n}());\nexports.Address = Address;\n//# sourceMappingURL=address.js.map","import assert from 'assert'\nimport { BN } from './externals'\nimport { toBuffer, zeros } from './bytes'\nimport {\n isValidAddress,\n pubToAddress,\n privateToAddress,\n generateAddress,\n generateAddress2,\n} from './account'\n\nexport class Address {\n public readonly buf: Buffer\n\n constructor(buf: Buffer) {\n assert(buf.length === 20, 'Invalid address length')\n this.buf = buf\n }\n\n /**\n * Returns the zero address.\n */\n static zero(): Address {\n return new Address(zeros(20))\n }\n\n /**\n * Returns an Address object from a hex-encoded string.\n * @param str - Hex-encoded address\n */\n static fromString(str: string): Address {\n assert(isValidAddress(str), 'Invalid address')\n return new Address(toBuffer(str))\n }\n\n /**\n * Returns an address for a given public key.\n * @param pubKey The two points of an uncompressed key\n */\n static fromPublicKey(pubKey: Buffer): Address {\n assert(Buffer.isBuffer(pubKey), 'Public key should be Buffer')\n const buf = pubToAddress(pubKey)\n return new Address(buf)\n }\n\n /**\n * Returns an address for a given private key.\n * @param privateKey A private key must be 256 bits wide\n */\n static fromPrivateKey(privateKey: Buffer): Address {\n assert(Buffer.isBuffer(privateKey), 'Private key should be Buffer')\n const buf = privateToAddress(privateKey)\n return new Address(buf)\n }\n\n /**\n * Generates an address for a newly created contract.\n * @param from The address which is creating this new address\n * @param nonce The nonce of the from account\n */\n static generate(from: Address, nonce: BN): Address {\n assert(BN.isBN(nonce))\n return new Address(generateAddress(from.buf, nonce.toArrayLike(Buffer)))\n }\n\n /**\n * Generates an address for a contract created using CREATE2.\n * @param from The address which is creating this new address\n * @param salt A salt\n * @param initCode The init code of the contract being created\n */\n static generate2(from: Address, salt: Buffer, initCode: Buffer): Address {\n assert(Buffer.isBuffer(salt))\n assert(Buffer.isBuffer(initCode))\n return new Address(generateAddress2(from.buf, salt, initCode))\n }\n\n /**\n * Is address equal to another.\n */\n equals(address: Address): boolean {\n return this.buf.equals(address.buf)\n }\n\n /**\n * Is address zero.\n */\n isZero(): boolean {\n return this.equals(Address.zero())\n }\n\n /**\n * True if address is in the address range defined\n * by EIP-1352\n */\n isPrecompileOrSystemAddress(): boolean {\n const addressBN = new BN(this.buf)\n const rangeMin = new BN(0)\n const rangeMax = new BN('ffff', 'hex')\n\n return addressBN.gte(rangeMin) && addressBN.lte(rangeMax)\n }\n\n /**\n * Returns hex encoding of address.\n */\n toString(): string {\n return '0x' + this.buf.toString('hex')\n }\n\n /**\n * Returns Buffer representation of address.\n */\n toBuffer(): Buffer {\n return Buffer.from(this.buf)\n }\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hashPersonalMessage = exports.isValidSignature = exports.fromRpcSig = exports.toCompactSig = exports.toRpcSig = exports.ecrecover = exports.ecsign = void 0;\nvar secp256k1_1 = require(\"ethereum-cryptography/secp256k1\");\nvar externals_1 = require(\"./externals\");\nvar bytes_1 = require(\"./bytes\");\nvar hash_1 = require(\"./hash\");\nvar helpers_1 = require(\"./helpers\");\nvar types_1 = require(\"./types\");\nfunction ecsign(msgHash, privateKey, chainId) {\n var _a = (0, secp256k1_1.ecdsaSign)(msgHash, privateKey), signature = _a.signature, recovery = _a.recid;\n var r = Buffer.from(signature.slice(0, 32));\n var s = Buffer.from(signature.slice(32, 64));\n if (!chainId || typeof chainId === 'number') {\n // return legacy type ECDSASignature (deprecated in favor of ECDSASignatureBuffer to handle large chainIds)\n if (chainId && !Number.isSafeInteger(chainId)) {\n throw new Error('The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)');\n }\n var v_1 = chainId ? recovery + (chainId * 2 + 35) : recovery + 27;\n return { r: r, s: s, v: v_1 };\n }\n var chainIdBN = (0, types_1.toType)(chainId, types_1.TypeOutput.BN);\n var v = chainIdBN.muln(2).addn(35).addn(recovery).toArrayLike(Buffer);\n return { r: r, s: s, v: v };\n}\nexports.ecsign = ecsign;\nfunction calculateSigRecovery(v, chainId) {\n var vBN = (0, types_1.toType)(v, types_1.TypeOutput.BN);\n if (vBN.eqn(0) || vBN.eqn(1))\n return (0, types_1.toType)(v, types_1.TypeOutput.BN);\n if (!chainId) {\n return vBN.subn(27);\n }\n var chainIdBN = (0, types_1.toType)(chainId, types_1.TypeOutput.BN);\n return vBN.sub(chainIdBN.muln(2).addn(35));\n}\nfunction isValidSigRecovery(recovery) {\n var rec = new externals_1.BN(recovery);\n return rec.eqn(0) || rec.eqn(1);\n}\n/**\n * ECDSA public key recovery from signature.\n * NOTE: Accepts `v == 0 | v == 1` for EIP1559 transactions\n * @returns Recovered public key\n */\nvar ecrecover = function (msgHash, v, r, s, chainId) {\n var signature = Buffer.concat([(0, bytes_1.setLengthLeft)(r, 32), (0, bytes_1.setLengthLeft)(s, 32)], 64);\n var recovery = calculateSigRecovery(v, chainId);\n if (!isValidSigRecovery(recovery)) {\n throw new Error('Invalid signature v value');\n }\n var senderPubKey = (0, secp256k1_1.ecdsaRecover)(signature, recovery.toNumber(), msgHash);\n return Buffer.from((0, secp256k1_1.publicKeyConvert)(senderPubKey, false).slice(1));\n};\nexports.ecrecover = ecrecover;\n/**\n * Convert signature parameters into the format of `eth_sign` RPC method.\n * NOTE: Accepts `v == 0 | v == 1` for EIP1559 transactions\n * @returns Signature\n */\nvar toRpcSig = function (v, r, s, chainId) {\n var recovery = calculateSigRecovery(v, chainId);\n if (!isValidSigRecovery(recovery)) {\n throw new Error('Invalid signature v value');\n }\n // geth (and the RPC eth_sign method) uses the 65 byte format used by Bitcoin\n return (0, bytes_1.bufferToHex)(Buffer.concat([(0, bytes_1.setLengthLeft)(r, 32), (0, bytes_1.setLengthLeft)(s, 32), (0, bytes_1.toBuffer)(v)]));\n};\nexports.toRpcSig = toRpcSig;\n/**\n * Convert signature parameters into the format of Compact Signature Representation (EIP-2098).\n * NOTE: Accepts `v == 0 | v == 1` for EIP1559 transactions\n * @returns Signature\n */\nvar toCompactSig = function (v, r, s, chainId) {\n var recovery = calculateSigRecovery(v, chainId);\n if (!isValidSigRecovery(recovery)) {\n throw new Error('Invalid signature v value');\n }\n var vn = (0, types_1.toType)(v, types_1.TypeOutput.Number);\n var ss = s;\n if ((vn > 28 && vn % 2 === 1) || vn === 1 || vn === 28) {\n ss = Buffer.from(s);\n ss[0] |= 0x80;\n }\n return (0, bytes_1.bufferToHex)(Buffer.concat([(0, bytes_1.setLengthLeft)(r, 32), (0, bytes_1.setLengthLeft)(ss, 32)]));\n};\nexports.toCompactSig = toCompactSig;\n/**\n * Convert signature format of the `eth_sign` RPC method to signature parameters\n * NOTE: all because of a bug in geth: https://github.com/ethereum/go-ethereum/issues/2053\n * NOTE: After EIP1559, `v` could be `0` or `1` but this function assumes\n * it's a signed message (EIP-191 or EIP-712) adding `27` at the end. Remove if needed.\n */\nvar fromRpcSig = function (sig) {\n var buf = (0, bytes_1.toBuffer)(sig);\n var r;\n var s;\n var v;\n if (buf.length >= 65) {\n r = buf.slice(0, 32);\n s = buf.slice(32, 64);\n v = (0, bytes_1.bufferToInt)(buf.slice(64));\n }\n else if (buf.length === 64) {\n // Compact Signature Representation (https://eips.ethereum.org/EIPS/eip-2098)\n r = buf.slice(0, 32);\n s = buf.slice(32, 64);\n v = (0, bytes_1.bufferToInt)(buf.slice(32, 33)) >> 7;\n s[0] &= 0x7f;\n }\n else {\n throw new Error('Invalid signature length');\n }\n // support both versions of `eth_sign` responses\n if (v < 27) {\n v += 27;\n }\n return {\n v: v,\n r: r,\n s: s,\n };\n};\nexports.fromRpcSig = fromRpcSig;\n/**\n * Validate a ECDSA signature.\n * NOTE: Accepts `v == 0 | v == 1` for EIP1559 transactions\n * @param homesteadOrLater Indicates whether this is being used on either the homestead hardfork or a later one\n */\nvar isValidSignature = function (v, r, s, homesteadOrLater, chainId) {\n if (homesteadOrLater === void 0) { homesteadOrLater = true; }\n var SECP256K1_N_DIV_2 = new externals_1.BN('7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0', 16);\n var SECP256K1_N = new externals_1.BN('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141', 16);\n if (r.length !== 32 || s.length !== 32) {\n return false;\n }\n if (!isValidSigRecovery(calculateSigRecovery(v, chainId))) {\n return false;\n }\n var rBN = new externals_1.BN(r);\n var sBN = new externals_1.BN(s);\n if (rBN.isZero() || rBN.gt(SECP256K1_N) || sBN.isZero() || sBN.gt(SECP256K1_N)) {\n return false;\n }\n if (homesteadOrLater && sBN.cmp(SECP256K1_N_DIV_2) === 1) {\n return false;\n }\n return true;\n};\nexports.isValidSignature = isValidSignature;\n/**\n * Returns the keccak-256 hash of `message`, prefixed with the header used by the `eth_sign` RPC call.\n * The output of this function can be fed into `ecsign` to produce the same signature as the `eth_sign`\n * call for a given `message`, or fed to `ecrecover` along with a signature to recover the public key\n * used to produce the signature.\n */\nvar hashPersonalMessage = function (message) {\n (0, helpers_1.assertIsBuffer)(message);\n var prefix = Buffer.from(\"\\u0019Ethereum Signed Message:\\n\".concat(message.length), 'utf-8');\n return (0, hash_1.keccak)(Buffer.concat([prefix, message]));\n};\nexports.hashPersonalMessage = hashPersonalMessage;\n//# sourceMappingURL=signature.js.map","import { ecdsaSign, ecdsaRecover, publicKeyConvert } from 'ethereum-cryptography/secp256k1'\nimport { BN } from './externals'\nimport { toBuffer, setLengthLeft, bufferToHex, bufferToInt } from './bytes'\nimport { keccak } from './hash'\nimport { assertIsBuffer } from './helpers'\nimport { BNLike, toType, TypeOutput } from './types'\n\nexport interface ECDSASignature {\n v: number\n r: Buffer\n s: Buffer\n}\n\nexport interface ECDSASignatureBuffer {\n v: Buffer\n r: Buffer\n s: Buffer\n}\n\n/**\n * Returns the ECDSA signature of a message hash.\n */\nexport function ecsign(msgHash: Buffer, privateKey: Buffer, chainId?: number): ECDSASignature\nexport function ecsign(msgHash: Buffer, privateKey: Buffer, chainId: BNLike): ECDSASignatureBuffer\nexport function ecsign(msgHash: Buffer, privateKey: Buffer, chainId: any): any {\n const { signature, recid: recovery } = ecdsaSign(msgHash, privateKey)\n\n const r = Buffer.from(signature.slice(0, 32))\n const s = Buffer.from(signature.slice(32, 64))\n\n if (!chainId || typeof chainId === 'number') {\n // return legacy type ECDSASignature (deprecated in favor of ECDSASignatureBuffer to handle large chainIds)\n if (chainId && !Number.isSafeInteger(chainId)) {\n throw new Error(\n 'The provided number is greater than MAX_SAFE_INTEGER (please use an alternative input type)'\n )\n }\n const v = chainId ? recovery + (chainId * 2 + 35) : recovery + 27\n return { r, s, v }\n }\n\n const chainIdBN = toType(chainId as BNLike, TypeOutput.BN)\n const v = chainIdBN.muln(2).addn(35).addn(recovery).toArrayLike(Buffer)\n return { r, s, v }\n}\n\nfunction calculateSigRecovery(v: BNLike, chainId?: BNLike): BN {\n const vBN = toType(v, TypeOutput.BN)\n\n if (vBN.eqn(0) || vBN.eqn(1)) return toType(v, TypeOutput.BN)\n\n if (!chainId) {\n return vBN.subn(27)\n }\n const chainIdBN = toType(chainId, TypeOutput.BN)\n return vBN.sub(chainIdBN.muln(2).addn(35))\n}\n\nfunction isValidSigRecovery(recovery: number | BN): boolean {\n const rec = new BN(recovery)\n return rec.eqn(0) || rec.eqn(1)\n}\n\n/**\n * ECDSA public key recovery from signature.\n * NOTE: Accepts `v == 0 | v == 1` for EIP1559 transactions\n * @returns Recovered public key\n */\nexport const ecrecover = function (\n msgHash: Buffer,\n v: BNLike,\n r: Buffer,\n s: Buffer,\n chainId?: BNLike\n): Buffer {\n const signature = Buffer.concat([setLengthLeft(r, 32), setLengthLeft(s, 32)], 64)\n const recovery = calculateSigRecovery(v, chainId)\n if (!isValidSigRecovery(recovery)) {\n throw new Error('Invalid signature v value')\n }\n const senderPubKey = ecdsaRecover(signature, recovery.toNumber(), msgHash)\n return Buffer.from(publicKeyConvert(senderPubKey, false).slice(1))\n}\n\n/**\n * Convert signature parameters into the format of `eth_sign` RPC method.\n * NOTE: Accepts `v == 0 | v == 1` for EIP1559 transactions\n * @returns Signature\n */\nexport const toRpcSig = function (v: BNLike, r: Buffer, s: Buffer, chainId?: BNLike): string {\n const recovery = calculateSigRecovery(v, chainId)\n if (!isValidSigRecovery(recovery)) {\n throw new Error('Invalid signature v value')\n }\n\n // geth (and the RPC eth_sign method) uses the 65 byte format used by Bitcoin\n return bufferToHex(Buffer.concat([setLengthLeft(r, 32), setLengthLeft(s, 32), toBuffer(v)]))\n}\n\n/**\n * Convert signature parameters into the format of Compact Signature Representation (EIP-2098).\n * NOTE: Accepts `v == 0 | v == 1` for EIP1559 transactions\n * @returns Signature\n */\nexport const toCompactSig = function (v: BNLike, r: Buffer, s: Buffer, chainId?: BNLike): string {\n const recovery = calculateSigRecovery(v, chainId)\n if (!isValidSigRecovery(recovery)) {\n throw new Error('Invalid signature v value')\n }\n\n const vn = toType(v, TypeOutput.Number)\n let ss = s\n if ((vn > 28 && vn % 2 === 1) || vn === 1 || vn === 28) {\n ss = Buffer.from(s)\n ss[0] |= 0x80\n }\n\n return bufferToHex(Buffer.concat([setLengthLeft(r, 32), setLengthLeft(ss, 32)]))\n}\n\n/**\n * Convert signature format of the `eth_sign` RPC method to signature parameters\n * NOTE: all because of a bug in geth: https://github.com/ethereum/go-ethereum/issues/2053\n * NOTE: After EIP1559, `v` could be `0` or `1` but this function assumes\n * it's a signed message (EIP-191 or EIP-712) adding `27` at the end. Remove if needed.\n */\nexport const fromRpcSig = function (sig: string): ECDSASignature {\n const buf: Buffer = toBuffer(sig)\n\n let r: Buffer\n let s: Buffer\n let v: number\n if (buf.length >= 65) {\n r = buf.slice(0, 32)\n s = buf.slice(32, 64)\n v = bufferToInt(buf.slice(64))\n } else if (buf.length === 64) {\n // Compact Signature Representation (https://eips.ethereum.org/EIPS/eip-2098)\n r = buf.slice(0, 32)\n s = buf.slice(32, 64)\n v = bufferToInt(buf.slice(32, 33)) >> 7\n s[0] &= 0x7f\n } else {\n throw new Error('Invalid signature length')\n }\n\n // support both versions of `eth_sign` responses\n if (v < 27) {\n v += 27\n }\n\n return {\n v,\n r,\n s,\n }\n}\n\n/**\n * Validate a ECDSA signature.\n * NOTE: Accepts `v == 0 | v == 1` for EIP1559 transactions\n * @param homesteadOrLater Indicates whether this is being used on either the homestead hardfork or a later one\n */\nexport const isValidSignature = function (\n v: BNLike,\n r: Buffer,\n s: Buffer,\n homesteadOrLater: boolean = true,\n chainId?: BNLike\n): boolean {\n const SECP256K1_N_DIV_2 = new BN(\n '7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0',\n 16\n )\n const SECP256K1_N = new BN('fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141', 16)\n\n if (r.length !== 32 || s.length !== 32) {\n return false\n }\n\n if (!isValidSigRecovery(calculateSigRecovery(v, chainId))) {\n return false\n }\n\n const rBN = new BN(r)\n const sBN = new BN(s)\n\n if (rBN.isZero() || rBN.gt(SECP256K1_N) || sBN.isZero() || sBN.gt(SECP256K1_N)) {\n return false\n }\n\n if (homesteadOrLater && sBN.cmp(SECP256K1_N_DIV_2) === 1) {\n return false\n }\n\n return true\n}\n\n/**\n * Returns the keccak-256 hash of `message`, prefixed with the header used by the `eth_sign` RPC call.\n * The output of this function can be fed into `ecsign` to produce the same signature as the `eth_sign`\n * call for a given `message`, or fed to `ecrecover` along with a signature to recover the public key\n * used to produce the signature.\n */\nexport const hashPersonalMessage = function (message: Buffer): Buffer {\n assertIsBuffer(message)\n const prefix = Buffer.from(`\\u0019Ethereum Signed Message:\\n${message.length}`, 'utf-8')\n return keccak(Buffer.concat([prefix, message]))\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.defineProperties = void 0;\nvar assert_1 = __importDefault(require(\"assert\"));\nvar internal_1 = require(\"./internal\");\nvar externals_1 = require(\"./externals\");\nvar bytes_1 = require(\"./bytes\");\n/**\n * Defines properties on a `Object`. It make the assumption that underlying data is binary.\n * @param self the `Object` to define properties on\n * @param fields an array fields to define. Fields can contain:\n * * `name` - the name of the properties\n * * `length` - the number of bytes the field can have\n * * `allowLess` - if the field can be less than the length\n * * `allowEmpty`\n * @param data data to be validated against the definitions\n * @deprecated\n */\nvar defineProperties = function (self, fields, data) {\n self.raw = [];\n self._fields = [];\n // attach the `toJSON`\n self.toJSON = function (label) {\n if (label === void 0) { label = false; }\n if (label) {\n var obj_1 = {};\n self._fields.forEach(function (field) {\n obj_1[field] = \"0x\".concat(self[field].toString('hex'));\n });\n return obj_1;\n }\n return (0, bytes_1.baToJSON)(self.raw);\n };\n self.serialize = function serialize() {\n return externals_1.rlp.encode(self.raw);\n };\n fields.forEach(function (field, i) {\n self._fields.push(field.name);\n function getter() {\n return self.raw[i];\n }\n function setter(v) {\n v = (0, bytes_1.toBuffer)(v);\n if (v.toString('hex') === '00' && !field.allowZero) {\n v = Buffer.allocUnsafe(0);\n }\n if (field.allowLess && field.length) {\n v = (0, bytes_1.unpadBuffer)(v);\n (0, assert_1.default)(field.length >= v.length, \"The field \".concat(field.name, \" must not have more \").concat(field.length, \" bytes\"));\n }\n else if (!(field.allowZero && v.length === 0) && field.length) {\n (0, assert_1.default)(field.length === v.length, \"The field \".concat(field.name, \" must have byte length of \").concat(field.length));\n }\n self.raw[i] = v;\n }\n Object.defineProperty(self, field.name, {\n enumerable: true,\n configurable: true,\n get: getter,\n set: setter,\n });\n if (field.default) {\n self[field.name] = field.default;\n }\n // attach alias\n if (field.alias) {\n Object.defineProperty(self, field.alias, {\n enumerable: false,\n configurable: true,\n set: setter,\n get: getter,\n });\n }\n });\n // if the constuctor is passed data\n if (data) {\n if (typeof data === 'string') {\n data = Buffer.from((0, internal_1.stripHexPrefix)(data), 'hex');\n }\n if (Buffer.isBuffer(data)) {\n data = externals_1.rlp.decode(data);\n }\n if (Array.isArray(data)) {\n if (data.length > self._fields.length) {\n throw new Error('wrong number of fields in data');\n }\n // make sure all the items are buffers\n data.forEach(function (d, i) {\n self[self._fields[i]] = (0, bytes_1.toBuffer)(d);\n });\n }\n else if (typeof data === 'object') {\n var keys_1 = Object.keys(data);\n fields.forEach(function (field) {\n if (keys_1.indexOf(field.name) !== -1)\n self[field.name] = data[field.name];\n if (keys_1.indexOf(field.alias) !== -1)\n self[field.alias] = data[field.alias];\n });\n }\n else {\n throw new Error('invalid data');\n }\n }\n};\nexports.defineProperties = defineProperties;\n//# sourceMappingURL=object.js.map","import assert from 'assert'\nimport { stripHexPrefix } from './internal'\nimport { rlp } from './externals'\nimport { toBuffer, baToJSON, unpadBuffer } from './bytes'\n\n/**\n * Defines properties on a `Object`. It make the assumption that underlying data is binary.\n * @param self the `Object` to define properties on\n * @param fields an array fields to define. Fields can contain:\n * * `name` - the name of the properties\n * * `length` - the number of bytes the field can have\n * * `allowLess` - if the field can be less than the length\n * * `allowEmpty`\n * @param data data to be validated against the definitions\n * @deprecated\n */\nexport const defineProperties = function (self: any, fields: any, data?: any) {\n self.raw = []\n self._fields = []\n\n // attach the `toJSON`\n self.toJSON = function (label: boolean = false) {\n if (label) {\n type Dict = { [key: string]: string }\n const obj: Dict = {}\n self._fields.forEach((field: string) => {\n obj[field] = `0x${self[field].toString('hex')}`\n })\n return obj\n }\n return baToJSON(self.raw)\n }\n\n self.serialize = function serialize() {\n return rlp.encode(self.raw)\n }\n\n fields.forEach((field: any, i: number) => {\n self._fields.push(field.name)\n function getter() {\n return self.raw[i]\n }\n function setter(v: any) {\n v = toBuffer(v)\n\n if (v.toString('hex') === '00' && !field.allowZero) {\n v = Buffer.allocUnsafe(0)\n }\n\n if (field.allowLess && field.length) {\n v = unpadBuffer(v)\n assert(\n field.length >= v.length,\n `The field ${field.name} must not have more ${field.length} bytes`\n )\n } else if (!(field.allowZero && v.length === 0) && field.length) {\n assert(\n field.length === v.length,\n `The field ${field.name} must have byte length of ${field.length}`\n )\n }\n\n self.raw[i] = v\n }\n\n Object.defineProperty(self, field.name, {\n enumerable: true,\n configurable: true,\n get: getter,\n set: setter,\n })\n\n if (field.default) {\n self[field.name] = field.default\n }\n\n // attach alias\n if (field.alias) {\n Object.defineProperty(self, field.alias, {\n enumerable: false,\n configurable: true,\n set: setter,\n get: getter,\n })\n }\n })\n\n // if the constuctor is passed data\n if (data) {\n if (typeof data === 'string') {\n data = Buffer.from(stripHexPrefix(data), 'hex')\n }\n\n if (Buffer.isBuffer(data)) {\n data = rlp.decode(data)\n }\n\n if (Array.isArray(data)) {\n if (data.length > self._fields.length) {\n throw new Error('wrong number of fields in data')\n }\n\n // make sure all the items are buffers\n data.forEach((d, i) => {\n self[self._fields[i]] = toBuffer(d)\n })\n } else if (typeof data === 'object') {\n const keys = Object.keys(data)\n fields.forEach((field: any) => {\n if (keys.indexOf(field.name) !== -1) self[field.name] = data[field.name]\n if (keys.indexOf(field.alias) !== -1) self[field.alias] = data[field.alias]\n })\n } else {\n throw new Error('invalid data')\n }\n }\n}\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst utils_1 = require(\"./utils\");\r\n/**\r\n * Returns true if the bloom is a valid bloom\r\n * @param bloom The bloom\r\n */\r\nfunction isBloom(bloom) {\r\n if (typeof bloom !== 'string') {\r\n return false;\r\n }\r\n if (!/^(0x)?[0-9a-f]{512}$/i.test(bloom)) {\r\n return false;\r\n }\r\n if (/^(0x)?[0-9a-f]{512}$/.test(bloom) ||\r\n /^(0x)?[0-9A-F]{512}$/.test(bloom)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexports.isBloom = isBloom;\r\n/**\r\n * Returns true if the value is part of the given bloom\r\n * note: false positives are possible.\r\n * @param bloom encoded bloom\r\n * @param value The value\r\n */\r\nfunction isInBloom(bloom, value) {\r\n if (typeof value === 'object' && value.constructor === Uint8Array) {\r\n value = utils_1.bytesToHex(value);\r\n }\r\n const hash = utils_1.keccak256(value).replace('0x', '');\r\n for (let i = 0; i < 12; i += 4) {\r\n // calculate bit position in bloom filter that must be active\r\n const bitpos = ((parseInt(hash.substr(i, 2), 16) << 8) +\r\n parseInt(hash.substr(i + 2, 2), 16)) &\r\n 2047;\r\n // test if bitpos in bloom is active\r\n const code = codePointToInt(bloom.charCodeAt(bloom.length - 1 - Math.floor(bitpos / 4)));\r\n const offset = 1 << bitpos % 4;\r\n if ((code & offset) !== offset) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\nexports.isInBloom = isInBloom;\r\n/**\r\n * Code points to int\r\n * @param codePoint The code point\r\n */\r\nfunction codePointToInt(codePoint) {\r\n if (codePoint >= 48 && codePoint <= 57) {\r\n /* ['0'..'9'] -> [0..9] */\r\n return codePoint - 48;\r\n }\r\n if (codePoint >= 65 && codePoint <= 70) {\r\n /* ['A'..'F'] -> [10..15] */\r\n return codePoint - 55;\r\n }\r\n if (codePoint >= 97 && codePoint <= 102) {\r\n /* ['a'..'f'] -> [10..15] */\r\n return codePoint - 87;\r\n }\r\n throw new Error('invalid bloom');\r\n}\r\n/**\r\n * Returns true if the ethereum users address is part of the given bloom.\r\n * note: false positives are possible.\r\n * @param bloom encoded bloom\r\n * @param address the address to test\r\n */\r\nfunction isUserEthereumAddressInBloom(bloom, ethereumAddress) {\r\n if (!isBloom(bloom)) {\r\n throw new Error('Invalid bloom given');\r\n }\r\n if (!isAddress(ethereumAddress)) {\r\n throw new Error(`Invalid ethereum address given: \"${ethereumAddress}\"`);\r\n }\r\n // you have to pad the ethereum address to 32 bytes\r\n // else the bloom filter does not work\r\n // this is only if your matching the USERS\r\n // ethereum address. Contract address do not need this\r\n // hence why we have 2 methods\r\n // (0x is not in the 2nd parameter of padleft so 64 chars is fine)\r\n const address = utils_1.padLeft(ethereumAddress, 64);\r\n return isInBloom(bloom, address);\r\n}\r\nexports.isUserEthereumAddressInBloom = isUserEthereumAddressInBloom;\r\n/**\r\n * Returns true if the contract address is part of the given bloom.\r\n * note: false positives are possible.\r\n * @param bloom encoded bloom\r\n * @param contractAddress the contract address to test\r\n */\r\nfunction isContractAddressInBloom(bloom, contractAddress) {\r\n if (!isBloom(bloom)) {\r\n throw new Error('Invalid bloom given');\r\n }\r\n if (!isAddress(contractAddress)) {\r\n throw new Error(`Invalid contract address given: \"${contractAddress}\"`);\r\n }\r\n return isInBloom(bloom, contractAddress);\r\n}\r\nexports.isContractAddressInBloom = isContractAddressInBloom;\r\n/**\r\n * Returns true if the topic is part of the given bloom.\r\n * note: false positives are possible.\r\n * @param bloom encoded bloom\r\n * @param topic the topic encoded hex\r\n */\r\nfunction isTopicInBloom(bloom, topic) {\r\n if (!isBloom(bloom)) {\r\n throw new Error('Invalid bloom given');\r\n }\r\n if (!isTopic(topic)) {\r\n throw new Error('Invalid topic');\r\n }\r\n return isInBloom(bloom, topic);\r\n}\r\nexports.isTopicInBloom = isTopicInBloom;\r\n/**\r\n * Checks if its a valid topic\r\n * @param topic encoded hex topic\r\n */\r\nfunction isTopic(topic) {\r\n if (typeof topic !== 'string') {\r\n return false;\r\n }\r\n if (!/^(0x)?[0-9a-f]{64}$/i.test(topic)) {\r\n return false;\r\n }\r\n else if (/^(0x)?[0-9a-f]{64}$/.test(topic) ||\r\n /^(0x)?[0-9A-F]{64}$/.test(topic)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexports.isTopic = isTopic;\r\n/**\r\n * Is valid address\r\n * @param address The address\r\n */\r\nfunction isAddress(address) {\r\n if (typeof address !== 'string') {\r\n return false;\r\n }\r\n if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {\r\n return true;\r\n }\r\n if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {\r\n return true;\r\n }\r\n return false;\r\n}\r\nexports.isAddress = isAddress;\r\n","\"use strict\";\r\nObject.defineProperty(exports, \"__esModule\", { value: true });\r\nconst sha3 = require(\"js-sha3\");\r\n/**\r\n * Keccak256 hash\r\n * @param data The data\r\n */\r\nfunction keccak256(data) {\r\n return '0x' + sha3.keccak_256(toByteArray(data));\r\n}\r\nexports.keccak256 = keccak256;\r\n/**\r\n * Adding padding to string on the left\r\n * @param value The value\r\n * @param chars The chars\r\n */\r\nexports.padLeft = (value, chars) => {\r\n const hasPrefix = /^0x/i.test(value) || typeof value === 'number';\r\n value = value.toString().replace(/^0x/i, '');\r\n const padding = chars - value.length + 1 >= 0 ? chars - value.length + 1 : 0;\r\n return (hasPrefix ? '0x' : '') + new Array(padding).join('0') + value;\r\n};\r\n/**\r\n * Convert bytes to hex\r\n * @param bytes The bytes\r\n */\r\nfunction bytesToHex(bytes) {\r\n const hex = [];\r\n for (let i = 0; i < bytes.length; i++) {\r\n hex.push((bytes[i] >>> 4).toString(16));\r\n hex.push((bytes[i] & 0xf).toString(16));\r\n }\r\n return `0x${hex.join('').replace(/^0+/, '')}`;\r\n}\r\nexports.bytesToHex = bytesToHex;\r\n/**\r\n * To byte array\r\n * @param value The value\r\n */\r\nfunction toByteArray(value) {\r\n if (value == null) {\r\n throw new Error('cannot convert null value to array');\r\n }\r\n if (typeof value === 'string') {\r\n const match = value.match(/^(0x)?[0-9a-fA-F]*$/);\r\n if (!match) {\r\n throw new Error('invalid hexidecimal string');\r\n }\r\n if (match[1] !== '0x') {\r\n throw new Error('hex string must have 0x prefix');\r\n }\r\n value = value.substring(2);\r\n if (value.length % 2) {\r\n value = '0' + value;\r\n }\r\n const result = [];\r\n for (let i = 0; i < value.length; i += 2) {\r\n result.push(parseInt(value.substr(i, 2), 16));\r\n }\r\n return addSlice(new Uint8Array(result));\r\n }\r\n if (isByteArray(value)) {\r\n return addSlice(new Uint8Array(value));\r\n }\r\n throw new Error('invalid arrayify value');\r\n}\r\nexports.toByteArray = toByteArray;\r\n/**\r\n * Is byte array\r\n * @param value The value\r\n */\r\nfunction isByteArray(value) {\r\n if (!value ||\r\n // tslint:disable-next-line: radix\r\n parseInt(String(value.length)) != value.length ||\r\n typeof value === 'string') {\r\n return false;\r\n }\r\n for (let i = 0; i < value.length; i++) {\r\n const v = value[i];\r\n // tslint:disable-next-line: radix\r\n if (v < 0 || v >= 256 || parseInt(String(v)) != v) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n}\r\n/**\r\n * Add slice to array\r\n * @param array The array\r\n */\r\nfunction addSlice(array) {\r\n if (array.slice !== undefined) {\r\n return array;\r\n }\r\n array.slice = () => {\r\n const args = Array.prototype.slice.call(arguments);\r\n return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args)));\r\n };\r\n return array;\r\n}\r\n","/**\n * [js-sha3]{@link https://github.com/emn178/js-sha3}\n *\n * @version 0.8.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2015-2018\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var INPUT_ERROR = 'input is invalid type';\n var FINALIZE_ERROR = 'finalize already called';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA3_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA3_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA3_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA3_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var SHAKE_PADDING = [31, 7936, 2031616, 520093696];\n var CSHAKE_PADDING = [4, 1024, 262144, 67108864];\n var KECCAK_PADDING = [1, 256, 65536, 16777216];\n var PADDING = [6, 1536, 393216, 100663296];\n var SHIFT = [0, 8, 16, 24];\n var RC = [1, 0, 32898, 0, 32906, 2147483648, 2147516416, 2147483648, 32907, 0, 2147483649,\n 0, 2147516545, 2147483648, 32777, 2147483648, 138, 0, 136, 0, 2147516425, 0,\n 2147483658, 0, 2147516555, 0, 139, 2147483648, 32905, 2147483648, 32771,\n 2147483648, 32770, 2147483648, 128, 2147483648, 32778, 0, 2147483658, 2147483648,\n 2147516545, 2147483648, 32896, 2147483648, 2147483649, 0, 2147516424, 2147483648];\n var BITS = [224, 256, 384, 512];\n var SHAKE_BITS = [128, 256];\n var OUTPUT_TYPES = ['hex', 'buffer', 'arrayBuffer', 'array', 'digest'];\n var CSHAKE_BYTEPAD = {\n '128': 168,\n '256': 136\n };\n\n if (root.JS_SHA3_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function (bits, padding, outputType) {\n return function (message) {\n return new Keccak(bits, padding, bits).update(message)[outputType]();\n };\n };\n\n var createShakeOutputMethod = function (bits, padding, outputType) {\n return function (message, outputBits) {\n return new Keccak(bits, padding, outputBits).update(message)[outputType]();\n };\n };\n\n var createCshakeOutputMethod = function (bits, padding, outputType) {\n return function (message, outputBits, n, s) {\n return methods['cshake' + bits].update(message, outputBits, n, s)[outputType]();\n };\n };\n\n var createKmacOutputMethod = function (bits, padding, outputType) {\n return function (key, message, outputBits, s) {\n return methods['kmac' + bits].update(key, message, outputBits, s)[outputType]();\n };\n };\n\n var createOutputMethods = function (method, createMethod, bits, padding) {\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createMethod(bits, padding, type);\n }\n return method;\n };\n\n var createMethod = function (bits, padding) {\n var method = createOutputMethod(bits, padding, 'hex');\n method.create = function () {\n return new Keccak(bits, padding, bits);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n return createOutputMethods(method, createOutputMethod, bits, padding);\n };\n\n var createShakeMethod = function (bits, padding) {\n var method = createShakeOutputMethod(bits, padding, 'hex');\n method.create = function (outputBits) {\n return new Keccak(bits, padding, outputBits);\n };\n method.update = function (message, outputBits) {\n return method.create(outputBits).update(message);\n };\n return createOutputMethods(method, createShakeOutputMethod, bits, padding);\n };\n\n var createCshakeMethod = function (bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createCshakeOutputMethod(bits, padding, 'hex');\n method.create = function (outputBits, n, s) {\n if (!n && !s) {\n return methods['shake' + bits].create(outputBits);\n } else {\n return new Keccak(bits, padding, outputBits).bytepad([n, s], w);\n }\n };\n method.update = function (message, outputBits, n, s) {\n return method.create(outputBits, n, s).update(message);\n };\n return createOutputMethods(method, createCshakeOutputMethod, bits, padding);\n };\n\n var createKmacMethod = function (bits, padding) {\n var w = CSHAKE_BYTEPAD[bits];\n var method = createKmacOutputMethod(bits, padding, 'hex');\n method.create = function (key, outputBits, s) {\n return new Kmac(bits, padding, outputBits).bytepad(['KMAC', s], w).bytepad([key], w);\n };\n method.update = function (key, message, outputBits, s) {\n return method.create(key, outputBits, s).update(message);\n };\n return createOutputMethods(method, createKmacOutputMethod, bits, padding);\n };\n\n var algorithms = [\n { name: 'keccak', padding: KECCAK_PADDING, bits: BITS, createMethod: createMethod },\n { name: 'sha3', padding: PADDING, bits: BITS, createMethod: createMethod },\n { name: 'shake', padding: SHAKE_PADDING, bits: SHAKE_BITS, createMethod: createShakeMethod },\n { name: 'cshake', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createCshakeMethod },\n { name: 'kmac', padding: CSHAKE_PADDING, bits: SHAKE_BITS, createMethod: createKmacMethod }\n ];\n\n var methods = {}, methodNames = [];\n\n for (var i = 0; i < algorithms.length; ++i) {\n var algorithm = algorithms[i];\n var bits = algorithm.bits;\n for (var j = 0; j < bits.length; ++j) {\n var methodName = algorithm.name + '_' + bits[j];\n methodNames.push(methodName);\n methods[methodName] = algorithm.createMethod(bits[j], algorithm.padding);\n if (algorithm.name !== 'sha3') {\n var newMethodName = algorithm.name + bits[j];\n methodNames.push(newMethodName);\n methods[newMethodName] = methods[methodName];\n }\n }\n }\n\n function Keccak(bits, padding, outputBits) {\n this.blocks = [];\n this.s = [];\n this.padding = padding;\n this.outputBits = outputBits;\n this.reset = true;\n this.finalized = false;\n this.block = 0;\n this.start = 0;\n this.blockCount = (1600 - (bits << 1)) >> 5;\n this.byteCount = this.blockCount << 2;\n this.outputBlocks = outputBits >> 5;\n this.extraBytes = (outputBits & 31) >> 3;\n\n for (var i = 0; i < 50; ++i) {\n this.s[i] = 0;\n }\n }\n\n Keccak.prototype.update = function (message) {\n if (this.finalized) {\n throw new Error(FINALIZE_ERROR);\n }\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var blocks = this.blocks, byteCount = this.byteCount, length = message.length,\n blockCount = this.blockCount, index = 0, s = this.s, i, code;\n\n while (index < length) {\n if (this.reset) {\n this.reset = false;\n blocks[0] = this.block;\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n if (notString) {\n for (i = this.start; index < length && i < byteCount; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < byteCount; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n this.lastByteIndex = i;\n if (i >= byteCount) {\n this.start = i - byteCount;\n this.block = blocks[blockCount];\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n this.reset = true;\n } else {\n this.start = i;\n }\n }\n return this;\n };\n\n Keccak.prototype.encode = function (x, right) {\n var o = x & 255, n = 1;\n var bytes = [o];\n x = x >> 8;\n o = x & 255;\n while (o > 0) {\n bytes.unshift(o);\n x = x >> 8;\n o = x & 255;\n ++n;\n }\n if (right) {\n bytes.push(n);\n } else {\n bytes.unshift(n);\n }\n this.update(bytes);\n return bytes.length;\n };\n\n Keccak.prototype.encodeString = function (str) {\n var notString, type = typeof str;\n if (type !== 'string') {\n if (type === 'object') {\n if (str === null) {\n throw new Error(INPUT_ERROR);\n } else if (ARRAY_BUFFER && str.constructor === ArrayBuffer) {\n str = new Uint8Array(str);\n } else if (!Array.isArray(str)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(str)) {\n throw new Error(INPUT_ERROR);\n }\n }\n } else {\n throw new Error(INPUT_ERROR);\n }\n notString = true;\n }\n var bytes = 0, length = str.length;\n if (notString) {\n bytes = length;\n } else {\n for (var i = 0; i < str.length; ++i) {\n var code = str.charCodeAt(i);\n if (code < 0x80) {\n bytes += 1;\n } else if (code < 0x800) {\n bytes += 2;\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes += 3;\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (str.charCodeAt(++i) & 0x3ff));\n bytes += 4;\n }\n }\n }\n bytes += this.encode(bytes * 8);\n this.update(str);\n return bytes;\n };\n\n Keccak.prototype.bytepad = function (strs, w) {\n var bytes = this.encode(w);\n for (var i = 0; i < strs.length; ++i) {\n bytes += this.encodeString(strs[i]);\n }\n var paddingBytes = w - bytes % w;\n var zeros = [];\n zeros.length = paddingBytes;\n this.update(zeros);\n return this;\n };\n\n Keccak.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex, blockCount = this.blockCount, s = this.s;\n blocks[i >> 2] |= this.padding[i & 3];\n if (this.lastByteIndex === this.byteCount) {\n blocks[0] = blocks[blockCount];\n for (i = 1; i < blockCount + 1; ++i) {\n blocks[i] = 0;\n }\n }\n blocks[blockCount - 1] |= 0x80000000;\n for (i = 0; i < blockCount; ++i) {\n s[i] ^= blocks[i];\n }\n f(s);\n };\n\n Keccak.prototype.toString = Keccak.prototype.hex = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var hex = '', block;\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n block = s[i];\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F] +\n HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F] +\n HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F] +\n HEX_CHARS[(block >> 28) & 0x0F] + HEX_CHARS[(block >> 24) & 0x0F];\n }\n if (j % blockCount === 0) {\n f(s);\n i = 0;\n }\n }\n if (extraBytes) {\n block = s[i];\n hex += HEX_CHARS[(block >> 4) & 0x0F] + HEX_CHARS[block & 0x0F];\n if (extraBytes > 1) {\n hex += HEX_CHARS[(block >> 12) & 0x0F] + HEX_CHARS[(block >> 8) & 0x0F];\n }\n if (extraBytes > 2) {\n hex += HEX_CHARS[(block >> 20) & 0x0F] + HEX_CHARS[(block >> 16) & 0x0F];\n }\n }\n return hex;\n };\n\n Keccak.prototype.arrayBuffer = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var bytes = this.outputBits >> 3;\n var buffer;\n if (extraBytes) {\n buffer = new ArrayBuffer((outputBlocks + 1) << 2);\n } else {\n buffer = new ArrayBuffer(bytes);\n }\n var array = new Uint32Array(buffer);\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n array[j] = s[i];\n }\n if (j % blockCount === 0) {\n f(s);\n }\n }\n if (extraBytes) {\n array[i] = s[i];\n buffer = buffer.slice(0, bytes);\n }\n return buffer;\n };\n\n Keccak.prototype.buffer = Keccak.prototype.arrayBuffer;\n\n Keccak.prototype.digest = Keccak.prototype.array = function () {\n this.finalize();\n\n var blockCount = this.blockCount, s = this.s, outputBlocks = this.outputBlocks,\n extraBytes = this.extraBytes, i = 0, j = 0;\n var array = [], offset, block;\n while (j < outputBlocks) {\n for (i = 0; i < blockCount && j < outputBlocks; ++i, ++j) {\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n array[offset + 1] = (block >> 8) & 0xFF;\n array[offset + 2] = (block >> 16) & 0xFF;\n array[offset + 3] = (block >> 24) & 0xFF;\n }\n if (j % blockCount === 0) {\n f(s);\n }\n }\n if (extraBytes) {\n offset = j << 2;\n block = s[i];\n array[offset] = block & 0xFF;\n if (extraBytes > 1) {\n array[offset + 1] = (block >> 8) & 0xFF;\n }\n if (extraBytes > 2) {\n array[offset + 2] = (block >> 16) & 0xFF;\n }\n }\n return array;\n };\n\n function Kmac(bits, padding, outputBits) {\n Keccak.call(this, bits, padding, outputBits);\n }\n\n Kmac.prototype = new Keccak();\n\n Kmac.prototype.finalize = function () {\n this.encode(this.outputBits, true);\n return Keccak.prototype.finalize.call(this);\n };\n\n var f = function (s) {\n var h, l, n, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9,\n b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, b15, b16, b17,\n b18, b19, b20, b21, b22, b23, b24, b25, b26, b27, b28, b29, b30, b31, b32, b33,\n b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49;\n for (n = 0; n < 48; n += 2) {\n c0 = s[0] ^ s[10] ^ s[20] ^ s[30] ^ s[40];\n c1 = s[1] ^ s[11] ^ s[21] ^ s[31] ^ s[41];\n c2 = s[2] ^ s[12] ^ s[22] ^ s[32] ^ s[42];\n c3 = s[3] ^ s[13] ^ s[23] ^ s[33] ^ s[43];\n c4 = s[4] ^ s[14] ^ s[24] ^ s[34] ^ s[44];\n c5 = s[5] ^ s[15] ^ s[25] ^ s[35] ^ s[45];\n c6 = s[6] ^ s[16] ^ s[26] ^ s[36] ^ s[46];\n c7 = s[7] ^ s[17] ^ s[27] ^ s[37] ^ s[47];\n c8 = s[8] ^ s[18] ^ s[28] ^ s[38] ^ s[48];\n c9 = s[9] ^ s[19] ^ s[29] ^ s[39] ^ s[49];\n\n h = c8 ^ ((c2 << 1) | (c3 >>> 31));\n l = c9 ^ ((c3 << 1) | (c2 >>> 31));\n s[0] ^= h;\n s[1] ^= l;\n s[10] ^= h;\n s[11] ^= l;\n s[20] ^= h;\n s[21] ^= l;\n s[30] ^= h;\n s[31] ^= l;\n s[40] ^= h;\n s[41] ^= l;\n h = c0 ^ ((c4 << 1) | (c5 >>> 31));\n l = c1 ^ ((c5 << 1) | (c4 >>> 31));\n s[2] ^= h;\n s[3] ^= l;\n s[12] ^= h;\n s[13] ^= l;\n s[22] ^= h;\n s[23] ^= l;\n s[32] ^= h;\n s[33] ^= l;\n s[42] ^= h;\n s[43] ^= l;\n h = c2 ^ ((c6 << 1) | (c7 >>> 31));\n l = c3 ^ ((c7 << 1) | (c6 >>> 31));\n s[4] ^= h;\n s[5] ^= l;\n s[14] ^= h;\n s[15] ^= l;\n s[24] ^= h;\n s[25] ^= l;\n s[34] ^= h;\n s[35] ^= l;\n s[44] ^= h;\n s[45] ^= l;\n h = c4 ^ ((c8 << 1) | (c9 >>> 31));\n l = c5 ^ ((c9 << 1) | (c8 >>> 31));\n s[6] ^= h;\n s[7] ^= l;\n s[16] ^= h;\n s[17] ^= l;\n s[26] ^= h;\n s[27] ^= l;\n s[36] ^= h;\n s[37] ^= l;\n s[46] ^= h;\n s[47] ^= l;\n h = c6 ^ ((c0 << 1) | (c1 >>> 31));\n l = c7 ^ ((c1 << 1) | (c0 >>> 31));\n s[8] ^= h;\n s[9] ^= l;\n s[18] ^= h;\n s[19] ^= l;\n s[28] ^= h;\n s[29] ^= l;\n s[38] ^= h;\n s[39] ^= l;\n s[48] ^= h;\n s[49] ^= l;\n\n b0 = s[0];\n b1 = s[1];\n b32 = (s[11] << 4) | (s[10] >>> 28);\n b33 = (s[10] << 4) | (s[11] >>> 28);\n b14 = (s[20] << 3) | (s[21] >>> 29);\n b15 = (s[21] << 3) | (s[20] >>> 29);\n b46 = (s[31] << 9) | (s[30] >>> 23);\n b47 = (s[30] << 9) | (s[31] >>> 23);\n b28 = (s[40] << 18) | (s[41] >>> 14);\n b29 = (s[41] << 18) | (s[40] >>> 14);\n b20 = (s[2] << 1) | (s[3] >>> 31);\n b21 = (s[3] << 1) | (s[2] >>> 31);\n b2 = (s[13] << 12) | (s[12] >>> 20);\n b3 = (s[12] << 12) | (s[13] >>> 20);\n b34 = (s[22] << 10) | (s[23] >>> 22);\n b35 = (s[23] << 10) | (s[22] >>> 22);\n b16 = (s[33] << 13) | (s[32] >>> 19);\n b17 = (s[32] << 13) | (s[33] >>> 19);\n b48 = (s[42] << 2) | (s[43] >>> 30);\n b49 = (s[43] << 2) | (s[42] >>> 30);\n b40 = (s[5] << 30) | (s[4] >>> 2);\n b41 = (s[4] << 30) | (s[5] >>> 2);\n b22 = (s[14] << 6) | (s[15] >>> 26);\n b23 = (s[15] << 6) | (s[14] >>> 26);\n b4 = (s[25] << 11) | (s[24] >>> 21);\n b5 = (s[24] << 11) | (s[25] >>> 21);\n b36 = (s[34] << 15) | (s[35] >>> 17);\n b37 = (s[35] << 15) | (s[34] >>> 17);\n b18 = (s[45] << 29) | (s[44] >>> 3);\n b19 = (s[44] << 29) | (s[45] >>> 3);\n b10 = (s[6] << 28) | (s[7] >>> 4);\n b11 = (s[7] << 28) | (s[6] >>> 4);\n b42 = (s[17] << 23) | (s[16] >>> 9);\n b43 = (s[16] << 23) | (s[17] >>> 9);\n b24 = (s[26] << 25) | (s[27] >>> 7);\n b25 = (s[27] << 25) | (s[26] >>> 7);\n b6 = (s[36] << 21) | (s[37] >>> 11);\n b7 = (s[37] << 21) | (s[36] >>> 11);\n b38 = (s[47] << 24) | (s[46] >>> 8);\n b39 = (s[46] << 24) | (s[47] >>> 8);\n b30 = (s[8] << 27) | (s[9] >>> 5);\n b31 = (s[9] << 27) | (s[8] >>> 5);\n b12 = (s[18] << 20) | (s[19] >>> 12);\n b13 = (s[19] << 20) | (s[18] >>> 12);\n b44 = (s[29] << 7) | (s[28] >>> 25);\n b45 = (s[28] << 7) | (s[29] >>> 25);\n b26 = (s[38] << 8) | (s[39] >>> 24);\n b27 = (s[39] << 8) | (s[38] >>> 24);\n b8 = (s[48] << 14) | (s[49] >>> 18);\n b9 = (s[49] << 14) | (s[48] >>> 18);\n\n s[0] = b0 ^ (~b2 & b4);\n s[1] = b1 ^ (~b3 & b5);\n s[10] = b10 ^ (~b12 & b14);\n s[11] = b11 ^ (~b13 & b15);\n s[20] = b20 ^ (~b22 & b24);\n s[21] = b21 ^ (~b23 & b25);\n s[30] = b30 ^ (~b32 & b34);\n s[31] = b31 ^ (~b33 & b35);\n s[40] = b40 ^ (~b42 & b44);\n s[41] = b41 ^ (~b43 & b45);\n s[2] = b2 ^ (~b4 & b6);\n s[3] = b3 ^ (~b5 & b7);\n s[12] = b12 ^ (~b14 & b16);\n s[13] = b13 ^ (~b15 & b17);\n s[22] = b22 ^ (~b24 & b26);\n s[23] = b23 ^ (~b25 & b27);\n s[32] = b32 ^ (~b34 & b36);\n s[33] = b33 ^ (~b35 & b37);\n s[42] = b42 ^ (~b44 & b46);\n s[43] = b43 ^ (~b45 & b47);\n s[4] = b4 ^ (~b6 & b8);\n s[5] = b5 ^ (~b7 & b9);\n s[14] = b14 ^ (~b16 & b18);\n s[15] = b15 ^ (~b17 & b19);\n s[24] = b24 ^ (~b26 & b28);\n s[25] = b25 ^ (~b27 & b29);\n s[34] = b34 ^ (~b36 & b38);\n s[35] = b35 ^ (~b37 & b39);\n s[44] = b44 ^ (~b46 & b48);\n s[45] = b45 ^ (~b47 & b49);\n s[6] = b6 ^ (~b8 & b0);\n s[7] = b7 ^ (~b9 & b1);\n s[16] = b16 ^ (~b18 & b10);\n s[17] = b17 ^ (~b19 & b11);\n s[26] = b26 ^ (~b28 & b20);\n s[27] = b27 ^ (~b29 & b21);\n s[36] = b36 ^ (~b38 & b30);\n s[37] = b37 ^ (~b39 & b31);\n s[46] = b46 ^ (~b48 & b40);\n s[47] = b47 ^ (~b49 & b41);\n s[8] = b8 ^ (~b0 & b2);\n s[9] = b9 ^ (~b1 & b3);\n s[18] = b18 ^ (~b10 & b12);\n s[19] = b19 ^ (~b11 & b13);\n s[28] = b28 ^ (~b20 & b22);\n s[29] = b29 ^ (~b21 & b23);\n s[38] = b38 ^ (~b30 & b32);\n s[39] = b39 ^ (~b31 & b33);\n s[48] = b48 ^ (~b40 & b42);\n s[49] = b49 ^ (~b41 & b43);\n\n s[0] ^= RC[n];\n s[1] ^= RC[n + 1];\n }\n };\n\n if (COMMON_JS) {\n module.exports = methods;\n } else {\n for (i = 0; i < methodNames.length; ++i) {\n root[methodNames[i]] = methods[methodNames[i]];\n }\n if (AMD) {\n define(function () {\n return methods;\n });\n }\n }\n})();\n","/*\n This file is part of web3.js.\n\n web3.js is free software: you can redistribute it and/or modify\n it under the terms of the GNU Lesser General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n web3.js is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU Lesser General Public License for more details.\n\n You should have received a copy of the GNU Lesser General Public License\n along with web3.js. If not, see .\n */\n/**\n * @file soliditySha3.js\n * @author Fabian Vogelsteller \n * @date 2017\n */\nvar BN = require('bn.js');\nvar utils = require('./utils.js');\nvar _elementaryName = function (name) {\n /*jshint maxcomplexity:false */\n if (name.startsWith('int[')) {\n return 'int256' + name.slice(3);\n }\n else if (name === 'int') {\n return 'int256';\n }\n else if (name.startsWith('uint[')) {\n return 'uint256' + name.slice(4);\n }\n else if (name === 'uint') {\n return 'uint256';\n }\n else if (name.startsWith('fixed[')) {\n return 'fixed128x128' + name.slice(5);\n }\n else if (name === 'fixed') {\n return 'fixed128x128';\n }\n else if (name.startsWith('ufixed[')) {\n return 'ufixed128x128' + name.slice(6);\n }\n else if (name === 'ufixed') {\n return 'ufixed128x128';\n }\n return name;\n};\n// Parse N from type\nvar _parseTypeN = function (type) {\n var typesize = /^\\D+(\\d+).*$/.exec(type);\n return typesize ? parseInt(typesize[1], 10) : null;\n};\n// Parse N from type[]\nvar _parseTypeNArray = function (type) {\n var arraySize = /^\\D+\\d*\\[(\\d+)\\]$/.exec(type);\n return arraySize ? parseInt(arraySize[1], 10) : null;\n};\nvar _parseNumber = function (arg) {\n var type = typeof arg;\n if (type === 'string') {\n if (utils.isHexStrict(arg)) {\n return new BN(arg.replace(/0x/i, ''), 16);\n }\n else {\n return new BN(arg, 10);\n }\n }\n else if (type === 'number') {\n return new BN(arg);\n }\n else if (utils.isBigNumber(arg)) {\n return new BN(arg.toString(10));\n }\n else if (utils.isBN(arg)) {\n return arg;\n }\n else {\n throw new Error(arg + ' is not a number');\n }\n};\nvar _solidityPack = function (type, value, arraySize) {\n /*jshint maxcomplexity:false */\n var size, num;\n type = _elementaryName(type);\n if (type === 'bytes') {\n if (value.replace(/^0x/i, '').length % 2 !== 0) {\n throw new Error('Invalid bytes characters ' + value.length);\n }\n return value;\n }\n else if (type === 'string') {\n return utils.utf8ToHex(value);\n }\n else if (type === 'bool') {\n return value ? '01' : '00';\n }\n else if (type.startsWith('address')) {\n if (arraySize) {\n size = 64;\n }\n else {\n size = 40;\n }\n if (!utils.isAddress(value)) {\n throw new Error(value + ' is not a valid address, or the checksum is invalid.');\n }\n return utils.leftPad(value.toLowerCase(), size);\n }\n size = _parseTypeN(type);\n if (type.startsWith('bytes')) {\n if (!size) {\n throw new Error('bytes[] not yet supported in solidity');\n }\n // must be 32 byte slices when in an array\n if (arraySize) {\n size = 32;\n }\n if (size < 1 || size > 32 || size < value.replace(/^0x/i, '').length / 2) {\n throw new Error('Invalid bytes' + size + ' for ' + value);\n }\n return utils.rightPad(value, size * 2);\n }\n else if (type.startsWith('uint')) {\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid uint' + size + ' size');\n }\n num = _parseNumber(value);\n if (num.bitLength() > size) {\n throw new Error('Supplied uint exceeds width: ' + size + ' vs ' + num.bitLength());\n }\n if (num.lt(new BN(0))) {\n throw new Error('Supplied uint ' + num.toString() + ' is negative');\n }\n return size ? utils.leftPad(num.toString('hex'), size / 8 * 2) : num;\n }\n else if (type.startsWith('int')) {\n if ((size % 8) || (size < 8) || (size > 256)) {\n throw new Error('Invalid int' + size + ' size');\n }\n num = _parseNumber(value);\n if (num.bitLength() > size) {\n throw new Error('Supplied int exceeds width: ' + size + ' vs ' + num.bitLength());\n }\n if (num.lt(new BN(0))) {\n return num.toTwos(size).toString('hex');\n }\n else {\n return size ? utils.leftPad(num.toString('hex'), size / 8 * 2) : num;\n }\n }\n else {\n // FIXME: support all other types\n throw new Error('Unsupported or invalid type: ' + type);\n }\n};\nvar _processSolidityEncodePackedArgs = function (arg) {\n /*jshint maxcomplexity:false */\n if (Array.isArray(arg)) {\n throw new Error('Autodetection of array types is not supported.');\n }\n var type, value = '';\n var hexArg, arraySize;\n // if type is given\n if (!!arg && typeof arg === 'object' && (arg.hasOwnProperty('v') || arg.hasOwnProperty('t') || arg.hasOwnProperty('value') || arg.hasOwnProperty('type'))) {\n type = arg.hasOwnProperty('t') ? arg.t : arg.type;\n value = arg.hasOwnProperty('v') ? arg.v : arg.value;\n // otherwise try to guess the type\n }\n else {\n type = utils.toHex(arg, true);\n value = utils.toHex(arg);\n if (!type.startsWith('int') && !type.startsWith('uint')) {\n type = 'bytes';\n }\n }\n if ((type.startsWith('int') || type.startsWith('uint')) && typeof value === 'string' && !/^(-)?0x/i.test(value)) {\n value = new BN(value);\n }\n // get the array size\n if (Array.isArray(value)) {\n arraySize = _parseTypeNArray(type);\n if (arraySize && value.length !== arraySize) {\n throw new Error(type + ' is not matching the given array ' + JSON.stringify(value));\n }\n else {\n arraySize = value.length;\n }\n }\n if (Array.isArray(value)) {\n hexArg = value.map(function (val) {\n return _solidityPack(type, val, arraySize).toString('hex').replace('0x', '');\n });\n return hexArg.join('');\n }\n else {\n hexArg = _solidityPack(type, value, arraySize);\n return hexArg.toString('hex').replace('0x', '');\n }\n};\n/**\n * Hashes solidity values to a sha3 hash using keccak 256\n *\n * @method soliditySha3\n * @return {Object} the sha3\n */\nvar soliditySha3 = function () {\n /*jshint maxcomplexity:false */\n var args = Array.prototype.slice.call(arguments);\n var hexArgs = args.map(_processSolidityEncodePackedArgs);\n // console.log(args, hexArgs);\n // console.log('0x'+ hexArgs.join(''));\n return utils.sha3('0x' + hexArgs.join(''));\n};\n/**\n * Hashes solidity values to a sha3 hash using keccak 256 but does return the hash of value `null` instead of `null`\n *\n * @method soliditySha3Raw\n * @return {Object} the sha3\n */\nvar soliditySha3Raw = function () {\n return utils.sha3Raw('0x' + Array.prototype.slice.call(arguments).map(_processSolidityEncodePackedArgs).join(''));\n};\n/**\n * Encode packed args to hex\n *\n * @method encodePacked\n * @return {String} the hex encoded arguments\n */\nvar encodePacked = function () {\n /*jshint maxcomplexity:false */\n var args = Array.prototype.slice.call(arguments);\n var hexArgs = args.map(_processSolidityEncodePackedArgs);\n return '0x' + hexArgs.join('').toLowerCase();\n};\nmodule.exports = {\n soliditySha3: soliditySha3,\n soliditySha3Raw: soliditySha3Raw,\n encodePacked: encodePacked\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.networks = void 0;\n// https://github.com/ethereum-lists/chains/tree/master/_data/chains\nexports.networks = [\n { chainId: 1, shortName: 'eth' },\n { chainId: 3, shortName: 'rop' },\n { chainId: 4, shortName: 'rin' },\n { chainId: 5, shortName: 'gor' },\n { chainId: 10, shortName: 'oeth' },\n { chainId: 11, shortName: 'meta' },\n { chainId: 12, shortName: 'kal' },\n { chainId: 18, shortName: 'tst' },\n { chainId: 25, shortName: 'cro' },\n { chainId: 28, shortName: 'bobarinkeby' },\n { chainId: 39, shortName: 'u2u' },\n { chainId: 40, shortName: 'telosevm' },\n { chainId: 41, shortName: 'telosevmtestnet' },\n { chainId: 42, shortName: 'kov' },\n { chainId: 50, shortName: 'xdc' },\n { chainId: 51, shortName: 'txdc' },\n { chainId: 56, shortName: 'bnb' },\n { chainId: 61, shortName: 'etc' },\n { chainId: 63, shortName: 'metc' },\n { chainId: 69, shortName: 'okov' },\n { chainId: 82, shortName: 'meter' },\n { chainId: 83, shortName: 'meter-test' },\n { chainId: 97, shortName: 'bnbt' },\n { chainId: 100, shortName: 'gno' },\n { chainId: 106, shortName: 'vlx' },\n { chainId: 108, shortName: 'tt' },\n { chainId: 111, shortName: 'etl' },\n { chainId: 122, shortName: 'fuse' },\n { chainId: 123, shortName: 'spark' },\n { chainId: 137, shortName: 'matic' },\n { chainId: 246, shortName: 'ewt' },\n { chainId: 250, shortName: 'ftm' },\n { chainId: 288, shortName: 'boba' },\n { chainId: 300, shortName: 'ogn' },\n { chainId: 321, shortName: 'kcs' },\n { chainId: 322, shortName: 'kcst' },\n { chainId: 336, shortName: 'sdn' },\n { chainId: 338, shortName: 'tcro' },\n { chainId: 420, shortName: 'ogor' },\n { chainId: 588, shortName: 'metis-stardust' },\n { chainId: 592, shortName: 'astr' },\n { chainId: 595, shortName: 'maca' },\n { chainId: 599, shortName: 'metis-goerli' },\n { chainId: 686, shortName: 'kar' },\n { chainId: 787, shortName: 'aca' },\n { chainId: 1001, shortName: 'baobab' },\n { chainId: 1008, shortName: 'eun' },\n { chainId: 1088, shortName: 'metis-andromeda' },\n { chainId: 1101, shortName: 'zkevm' },\n { chainId: 1111, shortName: 'wemix' },\n { chainId: 1112, shortName: 'twemix' },\n { chainId: 1115, shortName: 'tcore' },\n { chainId: 1116, shortName: 'core' },\n { chainId: 1284, shortName: 'mbeam' },\n { chainId: 1285, shortName: 'mriver' },\n { chainId: 1287, shortName: 'mbase' },\n { chainId: 1294, shortName: 'bobabeam' },\n { chainId: 1807, shortName: 'rana' },\n { chainId: 1984, shortName: 'euntest' },\n { chainId: 2001, shortName: 'milkada' },\n { chainId: 2002, shortName: 'milkalgo' },\n { chainId: 2008, shortName: 'cloudwalk_testnet' },\n { chainId: 2019, shortName: 'pmint_test' },\n { chainId: 2020, shortName: 'pmint' },\n { chainId: 2221, shortName: 'tkava' },\n { chainId: 2222, shortName: 'kava' },\n { chainId: 3737, shortName: 'csb' },\n { chainId: 4002, shortName: 'tftm' },\n { chainId: 4689, shortName: 'iotex-mainnet' },\n { chainId: 4918, shortName: 'txvm' },\n { chainId: 4919, shortName: 'xvm' },\n { chainId: 7341, shortName: 'shyft' },\n { chainId: 7700, shortName: 'canto' },\n { chainId: 8217, shortName: 'cypress' },\n { chainId: 9000, shortName: 'evmos-testnet' },\n { chainId: 9001, shortName: 'evmos' },\n { chainId: 9728, shortName: 'boba-testnet' },\n { chainId: 10000, shortName: 'smartbch' },\n { chainId: 10001, shortName: 'smartbchtest' },\n { chainId: 10200, shortName: 'chi' },\n { chainId: 11235, shortName: 'islm' },\n { chainId: 11437, shortName: 'shyftt' },\n { chainId: 12357, shortName: 'rei-testnet' },\n { chainId: 23294, shortName: 'sapphire' },\n { chainId: 42161, shortName: 'arb1' },\n { chainId: 42170, shortName: 'arb-nova' },\n { chainId: 42220, shortName: 'celo' },\n { chainId: 43113, shortName: 'fuji' },\n { chainId: 43114, shortName: 'avax' },\n { chainId: 43288, shortName: 'boba-avax' },\n { chainId: 44787, shortName: 'alfa' },\n { chainId: 45000, shortName: 'autobahnnetwork' },\n { chainId: 47805, shortName: 'rei' },\n { chainId: 54211, shortName: 'islmt' },\n { chainId: 56288, shortName: 'boba-bnb' },\n { chainId: 71401, shortName: 'gw-testnet-v1' },\n { chainId: 71402, shortName: 'gw-mainnet-v1' },\n { chainId: 73799, shortName: 'vt' },\n { chainId: 80001, shortName: 'maticmum' },\n { chainId: 84531, shortName: 'base-gor' },\n { chainId: 200101, shortName: 'milktada' },\n { chainId: 200202, shortName: 'milktalgo' },\n { chainId: 333999, shortName: 'olympus' },\n { chainId: 421611, shortName: 'arb-rinkeby' },\n { chainId: 421613, shortName: 'arb-goerli' },\n { chainId: 534353, shortName: 'scr-alpha' },\n { chainId: 11155111, shortName: 'sep' },\n { chainId: 245022926, shortName: 'neonevm-devnet' },\n { chainId: 1313161554, shortName: 'aurora' },\n { chainId: 1313161555, shortName: 'aurora-testnet' },\n { chainId: 1666600000, shortName: 'hmy-s0' },\n { chainId: 1666700000, shortName: 'hmy-b-s0' },\n { chainId: 11297108099, shortName: 'tpalm' },\n { chainId: 11297108109, shortName: 'palm' }\n];\nif (process.env.TEST_NETWORK === 'hardhat') {\n exports.networks.push({ shortName: 'local', chainId: 31337 });\n}\nelse if (process.env.TEST_NETWORK === 'ganache') {\n exports.networks.push({ shortName: 'local', chainId: 1337 });\n}\n//# sourceMappingURL=config.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateTypedData = exports.getEip712MessageTypes = exports.EIP712_DOMAIN = exports.EIP712_DOMAIN_BEFORE_V130 = void 0;\nconst satisfies_1 = __importDefault(require(\"semver/functions/satisfies\"));\nconst EQ_OR_GT_1_3_0 = '>=1.3.0';\nexports.EIP712_DOMAIN_BEFORE_V130 = [\n {\n type: 'address',\n name: 'verifyingContract'\n }\n];\nexports.EIP712_DOMAIN = [\n {\n type: 'uint256',\n name: 'chainId'\n },\n {\n type: 'address',\n name: 'verifyingContract'\n }\n];\n// This function returns the types structure for signing off-chain messages according to EIP-712\nfunction getEip712MessageTypes(safeVersion) {\n const eip712WithChainId = (0, satisfies_1.default)(safeVersion, EQ_OR_GT_1_3_0);\n return {\n EIP712Domain: eip712WithChainId ? exports.EIP712_DOMAIN : exports.EIP712_DOMAIN_BEFORE_V130,\n SafeTx: [\n { type: 'address', name: 'to' },\n { type: 'uint256', name: 'value' },\n { type: 'bytes', name: 'data' },\n { type: 'uint8', name: 'operation' },\n { type: 'uint256', name: 'safeTxGas' },\n { type: 'uint256', name: 'baseGas' },\n { type: 'uint256', name: 'gasPrice' },\n { type: 'address', name: 'gasToken' },\n { type: 'address', name: 'refundReceiver' },\n { type: 'uint256', name: 'nonce' }\n ]\n };\n}\nexports.getEip712MessageTypes = getEip712MessageTypes;\nfunction generateTypedData({ safeAddress, safeVersion, chainId, safeTransactionData }) {\n const eip712WithChainId = (0, satisfies_1.default)(safeVersion, EQ_OR_GT_1_3_0);\n const typedData = {\n types: getEip712MessageTypes(safeVersion),\n domain: {\n verifyingContract: safeAddress\n },\n primaryType: 'SafeTx',\n message: {\n ...safeTransactionData,\n value: safeTransactionData.value,\n safeTxGas: safeTransactionData.safeTxGas,\n baseGas: safeTransactionData.baseGas,\n gasPrice: safeTransactionData.gasPrice,\n nonce: safeTransactionData.nonce\n }\n };\n if (eip712WithChainId) {\n typedData.domain.chainId = chainId;\n }\n return typedData;\n}\nexports.generateTypedData = generateTypedData;\n//# sourceMappingURL=index.js.map",null,"const Range = require('../classes/range')\nconst satisfies = (version, range, options) => {\n try {\n range = new Range(range, options)\n } catch (er) {\n return false\n }\n return range.test(version)\n}\nmodule.exports = satisfies\n","// hoisted class for cyclic dependency\nclass Range {\n constructor (range, options) {\n options = parseOptions(options)\n\n if (range instanceof Range) {\n if (\n range.loose === !!options.loose &&\n range.includePrerelease === !!options.includePrerelease\n ) {\n return range\n } else {\n return new Range(range.raw, options)\n }\n }\n\n if (range instanceof Comparator) {\n // just put it in the set and return\n this.raw = range.value\n this.set = [[range]]\n this.format()\n return this\n }\n\n this.options = options\n this.loose = !!options.loose\n this.includePrerelease = !!options.includePrerelease\n\n // First, split based on boolean or ||\n this.raw = range\n this.set = range\n .split('||')\n // map the range to a 2d array of comparators\n .map(r => this.parseRange(r.trim()))\n // throw out any comparator lists that are empty\n // this generally means that it was not a valid range, which is allowed\n // in loose mode, but will still throw if the WHOLE range is invalid.\n .filter(c => c.length)\n\n if (!this.set.length) {\n throw new TypeError(`Invalid SemVer Range: ${range}`)\n }\n\n // if we have any that are not the null set, throw out null sets.\n if (this.set.length > 1) {\n // keep the first one, in case they're all null sets\n const first = this.set[0]\n this.set = this.set.filter(c => !isNullSet(c[0]))\n if (this.set.length === 0) {\n this.set = [first]\n } else if (this.set.length > 1) {\n // if we have any that are *, then the range is just *\n for (const c of this.set) {\n if (c.length === 1 && isAny(c[0])) {\n this.set = [c]\n break\n }\n }\n }\n }\n\n this.format()\n }\n\n format () {\n this.range = this.set\n .map((comps) => {\n return comps.join(' ').trim()\n })\n .join('||')\n .trim()\n return this.range\n }\n\n toString () {\n return this.range\n }\n\n parseRange (range) {\n range = range.trim()\n\n // memoize range parsing for performance.\n // this is a very hot path, and fully deterministic.\n const memoOpts =\n (this.options.includePrerelease && FLAG_INCLUDE_PRERELEASE) |\n (this.options.loose && FLAG_LOOSE)\n const memoKey = memoOpts + ':' + range\n const cached = cache.get(memoKey)\n if (cached) {\n return cached\n }\n\n const loose = this.options.loose\n // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4`\n const hr = loose ? re[t.HYPHENRANGELOOSE] : re[t.HYPHENRANGE]\n range = range.replace(hr, hyphenReplace(this.options.includePrerelease))\n debug('hyphen replace', range)\n // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5`\n range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace)\n debug('comparator trim', range)\n\n // `~ 1.2.3` => `~1.2.3`\n range = range.replace(re[t.TILDETRIM], tildeTrimReplace)\n\n // `^ 1.2.3` => `^1.2.3`\n range = range.replace(re[t.CARETTRIM], caretTrimReplace)\n\n // normalize spaces\n range = range.split(/\\s+/).join(' ')\n\n // At this point, the range is completely trimmed and\n // ready to be split into comparators.\n\n let rangeList = range\n .split(' ')\n .map(comp => parseComparator(comp, this.options))\n .join(' ')\n .split(/\\s+/)\n // >=0.0.0 is equivalent to *\n .map(comp => replaceGTE0(comp, this.options))\n\n if (loose) {\n // in loose mode, throw out any that are not valid comparators\n rangeList = rangeList.filter(comp => {\n debug('loose invalid filter', comp, this.options)\n return !!comp.match(re[t.COMPARATORLOOSE])\n })\n }\n debug('range list', rangeList)\n\n // if any comparators are the null set, then replace with JUST null set\n // if more than one comparator, remove any * comparators\n // also, don't include the same comparator more than once\n const rangeMap = new Map()\n const comparators = rangeList.map(comp => new Comparator(comp, this.options))\n for (const comp of comparators) {\n if (isNullSet(comp)) {\n return [comp]\n }\n rangeMap.set(comp.value, comp)\n }\n if (rangeMap.size > 1 && rangeMap.has('')) {\n rangeMap.delete('')\n }\n\n const result = [...rangeMap.values()]\n cache.set(memoKey, result)\n return result\n }\n\n intersects (range, options) {\n if (!(range instanceof Range)) {\n throw new TypeError('a Range is required')\n }\n\n return this.set.some((thisComparators) => {\n return (\n isSatisfiable(thisComparators, options) &&\n range.set.some((rangeComparators) => {\n return (\n isSatisfiable(rangeComparators, options) &&\n thisComparators.every((thisComparator) => {\n return rangeComparators.every((rangeComparator) => {\n return thisComparator.intersects(rangeComparator, options)\n })\n })\n )\n })\n )\n })\n }\n\n // if ANY of the sets match ALL of its comparators, then pass\n test (version) {\n if (!version) {\n return false\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n for (let i = 0; i < this.set.length; i++) {\n if (testSet(this.set[i], version, this.options)) {\n return true\n }\n }\n return false\n }\n}\n\nmodule.exports = Range\n\nconst LRU = require('lru-cache')\nconst cache = new LRU({ max: 1000 })\n\nconst parseOptions = require('../internal/parse-options')\nconst Comparator = require('./comparator')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst {\n re,\n t,\n comparatorTrimReplace,\n tildeTrimReplace,\n caretTrimReplace,\n} = require('../internal/re')\nconst { FLAG_INCLUDE_PRERELEASE, FLAG_LOOSE } = require('../internal/constants')\n\nconst isNullSet = c => c.value === '<0.0.0-0'\nconst isAny = c => c.value === ''\n\n// take a set of comparators and determine whether there\n// exists a version which can satisfy it\nconst isSatisfiable = (comparators, options) => {\n let result = true\n const remainingComparators = comparators.slice()\n let testComparator = remainingComparators.pop()\n\n while (result && remainingComparators.length) {\n result = remainingComparators.every((otherComparator) => {\n return testComparator.intersects(otherComparator, options)\n })\n\n testComparator = remainingComparators.pop()\n }\n\n return result\n}\n\n// comprised of xranges, tildes, stars, and gtlt's at this point.\n// already replaced the hyphen ranges\n// turn into a set of JUST comparators.\nconst parseComparator = (comp, options) => {\n debug('comp', comp, options)\n comp = replaceCarets(comp, options)\n debug('caret', comp)\n comp = replaceTildes(comp, options)\n debug('tildes', comp)\n comp = replaceXRanges(comp, options)\n debug('xrange', comp)\n comp = replaceStars(comp, options)\n debug('stars', comp)\n return comp\n}\n\nconst isX = id => !id || id.toLowerCase() === 'x' || id === '*'\n\n// ~, ~> --> * (any, kinda silly)\n// ~2, ~2.x, ~2.x.x, ~>2, ~>2.x ~>2.x.x --> >=2.0.0 <3.0.0-0\n// ~2.0, ~2.0.x, ~>2.0, ~>2.0.x --> >=2.0.0 <2.1.0-0\n// ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0\n// ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0\n// ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0\n// ~0.0.1 --> >=0.0.1 <0.1.0-0\nconst replaceTildes = (comp, options) =>\n comp.trim().split(/\\s+/).map((c) => {\n return replaceTilde(c, options)\n }).join(' ')\n\nconst replaceTilde = (comp, options) => {\n const r = options.loose ? re[t.TILDELOOSE] : re[t.TILDE]\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('tilde', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0 <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n // ~1.2 == >=1.2.0 <1.3.0-0\n ret = `>=${M}.${m}.0 <${M}.${+m + 1}.0-0`\n } else if (pr) {\n debug('replaceTilde pr', pr)\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n } else {\n // ~1.2.3 == >=1.2.3 <1.3.0-0\n ret = `>=${M}.${m}.${p\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('tilde return', ret)\n return ret\n })\n}\n\n// ^ --> * (any, kinda silly)\n// ^2, ^2.x, ^2.x.x --> >=2.0.0 <3.0.0-0\n// ^2.0, ^2.0.x --> >=2.0.0 <3.0.0-0\n// ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0\n// ^1.2.3 --> >=1.2.3 <2.0.0-0\n// ^1.2.0 --> >=1.2.0 <2.0.0-0\n// ^0.0.1 --> >=0.0.1 <0.0.2-0\n// ^0.1.0 --> >=0.1.0 <0.2.0-0\nconst replaceCarets = (comp, options) =>\n comp.trim().split(/\\s+/).map((c) => {\n return replaceCaret(c, options)\n }).join(' ')\n\nconst replaceCaret = (comp, options) => {\n debug('caret', comp, options)\n const r = options.loose ? re[t.CARETLOOSE] : re[t.CARET]\n const z = options.includePrerelease ? '-0' : ''\n return comp.replace(r, (_, M, m, p, pr) => {\n debug('caret', comp, _, M, m, p, pr)\n let ret\n\n if (isX(M)) {\n ret = ''\n } else if (isX(m)) {\n ret = `>=${M}.0.0${z} <${+M + 1}.0.0-0`\n } else if (isX(p)) {\n if (M === '0') {\n ret = `>=${M}.${m}.0${z} <${M}.${+m + 1}.0-0`\n } else {\n ret = `>=${M}.${m}.0${z} <${+M + 1}.0.0-0`\n }\n } else if (pr) {\n debug('replaceCaret pr', pr)\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p}-${pr\n } <${+M + 1}.0.0-0`\n }\n } else {\n debug('no pr')\n if (M === '0') {\n if (m === '0') {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${m}.${+p + 1}-0`\n } else {\n ret = `>=${M}.${m}.${p\n }${z} <${M}.${+m + 1}.0-0`\n }\n } else {\n ret = `>=${M}.${m}.${p\n } <${+M + 1}.0.0-0`\n }\n }\n\n debug('caret return', ret)\n return ret\n })\n}\n\nconst replaceXRanges = (comp, options) => {\n debug('replaceXRanges', comp, options)\n return comp.split(/\\s+/).map((c) => {\n return replaceXRange(c, options)\n }).join(' ')\n}\n\nconst replaceXRange = (comp, options) => {\n comp = comp.trim()\n const r = options.loose ? re[t.XRANGELOOSE] : re[t.XRANGE]\n return comp.replace(r, (ret, gtlt, M, m, p, pr) => {\n debug('xRange', comp, ret, gtlt, M, m, p, pr)\n const xM = isX(M)\n const xm = xM || isX(m)\n const xp = xm || isX(p)\n const anyX = xp\n\n if (gtlt === '=' && anyX) {\n gtlt = ''\n }\n\n // if we're including prereleases in the match, then we need\n // to fix this to -0, the lowest possible prerelease value\n pr = options.includePrerelease ? '-0' : ''\n\n if (xM) {\n if (gtlt === '>' || gtlt === '<') {\n // nothing is allowed\n ret = '<0.0.0-0'\n } else {\n // nothing is forbidden\n ret = '*'\n }\n } else if (gtlt && anyX) {\n // we know patch is an x, because we have any x at all.\n // replace X with 0\n if (xm) {\n m = 0\n }\n p = 0\n\n if (gtlt === '>') {\n // >1 => >=2.0.0\n // >1.2 => >=1.3.0\n gtlt = '>='\n if (xm) {\n M = +M + 1\n m = 0\n p = 0\n } else {\n m = +m + 1\n p = 0\n }\n } else if (gtlt === '<=') {\n // <=0.7.x is actually <0.8.0, since any 0.7.x should\n // pass. Similarly, <=7.x is actually <8.0.0, etc.\n gtlt = '<'\n if (xm) {\n M = +M + 1\n } else {\n m = +m + 1\n }\n }\n\n if (gtlt === '<') {\n pr = '-0'\n }\n\n ret = `${gtlt + M}.${m}.${p}${pr}`\n } else if (xm) {\n ret = `>=${M}.0.0${pr} <${+M + 1}.0.0-0`\n } else if (xp) {\n ret = `>=${M}.${m}.0${pr\n } <${M}.${+m + 1}.0-0`\n }\n\n debug('xRange return', ret)\n\n return ret\n })\n}\n\n// Because * is AND-ed with everything else in the comparator,\n// and '' means \"any version\", just remove the *s entirely.\nconst replaceStars = (comp, options) => {\n debug('replaceStars', comp, options)\n // Looseness is ignored here. star is always as loose as it gets!\n return comp.trim().replace(re[t.STAR], '')\n}\n\nconst replaceGTE0 = (comp, options) => {\n debug('replaceGTE0', comp, options)\n return comp.trim()\n .replace(re[options.includePrerelease ? t.GTE0PRE : t.GTE0], '')\n}\n\n// This function is passed to string.replace(re[t.HYPHENRANGE])\n// M, m, patch, prerelease, build\n// 1.2 - 3.4.5 => >=1.2.0 <=3.4.5\n// 1.2.3 - 3.4 => >=1.2.0 <3.5.0-0 Any 3.4.x will do\n// 1.2 - 3.4 => >=1.2.0 <3.5.0-0\nconst hyphenReplace = incPr => ($0,\n from, fM, fm, fp, fpr, fb,\n to, tM, tm, tp, tpr, tb) => {\n if (isX(fM)) {\n from = ''\n } else if (isX(fm)) {\n from = `>=${fM}.0.0${incPr ? '-0' : ''}`\n } else if (isX(fp)) {\n from = `>=${fM}.${fm}.0${incPr ? '-0' : ''}`\n } else if (fpr) {\n from = `>=${from}`\n } else {\n from = `>=${from}${incPr ? '-0' : ''}`\n }\n\n if (isX(tM)) {\n to = ''\n } else if (isX(tm)) {\n to = `<${+tM + 1}.0.0-0`\n } else if (isX(tp)) {\n to = `<${tM}.${+tm + 1}.0-0`\n } else if (tpr) {\n to = `<=${tM}.${tm}.${tp}-${tpr}`\n } else if (incPr) {\n to = `<${tM}.${tm}.${+tp + 1}-0`\n } else {\n to = `<=${to}`\n }\n\n return (`${from} ${to}`).trim()\n}\n\nconst testSet = (set, version, options) => {\n for (let i = 0; i < set.length; i++) {\n if (!set[i].test(version)) {\n return false\n }\n }\n\n if (version.prerelease.length && !options.includePrerelease) {\n // Find the set of versions that are allowed to have prereleases\n // For example, ^1.2.3-pr.1 desugars to >=1.2.3-pr.1 <2.0.0\n // That should allow `1.2.3-pr.2` to pass.\n // However, `1.2.4-alpha.notready` should NOT be allowed,\n // even though it's within the range set by the comparators.\n for (let i = 0; i < set.length; i++) {\n debug(set[i].semver)\n if (set[i].semver === Comparator.ANY) {\n continue\n }\n\n if (set[i].semver.prerelease.length > 0) {\n const allowed = set[i].semver\n if (allowed.major === version.major &&\n allowed.minor === version.minor &&\n allowed.patch === version.patch) {\n return true\n }\n }\n }\n\n // Version has a -pre, but it's not one of the ones we like.\n return false\n }\n\n return true\n}\n","'use strict'\n\n// A linked list to keep track of recently-used-ness\nconst Yallist = require('yallist')\n\nconst MAX = Symbol('max')\nconst LENGTH = Symbol('length')\nconst LENGTH_CALCULATOR = Symbol('lengthCalculator')\nconst ALLOW_STALE = Symbol('allowStale')\nconst MAX_AGE = Symbol('maxAge')\nconst DISPOSE = Symbol('dispose')\nconst NO_DISPOSE_ON_SET = Symbol('noDisposeOnSet')\nconst LRU_LIST = Symbol('lruList')\nconst CACHE = Symbol('cache')\nconst UPDATE_AGE_ON_GET = Symbol('updateAgeOnGet')\n\nconst naiveLength = () => 1\n\n// lruList is a yallist where the head is the youngest\n// item, and the tail is the oldest. the list contains the Hit\n// objects as the entries.\n// Each Hit object has a reference to its Yallist.Node. This\n// never changes.\n//\n// cache is a Map (or PseudoMap) that matches the keys to\n// the Yallist.Node object.\nclass LRUCache {\n constructor (options) {\n if (typeof options === 'number')\n options = { max: options }\n\n if (!options)\n options = {}\n\n if (options.max && (typeof options.max !== 'number' || options.max < 0))\n throw new TypeError('max must be a non-negative number')\n // Kind of weird to have a default max of Infinity, but oh well.\n const max = this[MAX] = options.max || Infinity\n\n const lc = options.length || naiveLength\n this[LENGTH_CALCULATOR] = (typeof lc !== 'function') ? naiveLength : lc\n this[ALLOW_STALE] = options.stale || false\n if (options.maxAge && typeof options.maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n this[MAX_AGE] = options.maxAge || 0\n this[DISPOSE] = options.dispose\n this[NO_DISPOSE_ON_SET] = options.noDisposeOnSet || false\n this[UPDATE_AGE_ON_GET] = options.updateAgeOnGet || false\n this.reset()\n }\n\n // resize the cache when the max changes.\n set max (mL) {\n if (typeof mL !== 'number' || mL < 0)\n throw new TypeError('max must be a non-negative number')\n\n this[MAX] = mL || Infinity\n trim(this)\n }\n get max () {\n return this[MAX]\n }\n\n set allowStale (allowStale) {\n this[ALLOW_STALE] = !!allowStale\n }\n get allowStale () {\n return this[ALLOW_STALE]\n }\n\n set maxAge (mA) {\n if (typeof mA !== 'number')\n throw new TypeError('maxAge must be a non-negative number')\n\n this[MAX_AGE] = mA\n trim(this)\n }\n get maxAge () {\n return this[MAX_AGE]\n }\n\n // resize the cache when the lengthCalculator changes.\n set lengthCalculator (lC) {\n if (typeof lC !== 'function')\n lC = naiveLength\n\n if (lC !== this[LENGTH_CALCULATOR]) {\n this[LENGTH_CALCULATOR] = lC\n this[LENGTH] = 0\n this[LRU_LIST].forEach(hit => {\n hit.length = this[LENGTH_CALCULATOR](hit.value, hit.key)\n this[LENGTH] += hit.length\n })\n }\n trim(this)\n }\n get lengthCalculator () { return this[LENGTH_CALCULATOR] }\n\n get length () { return this[LENGTH] }\n get itemCount () { return this[LRU_LIST].length }\n\n rforEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].tail; walker !== null;) {\n const prev = walker.prev\n forEachStep(this, fn, walker, thisp)\n walker = prev\n }\n }\n\n forEach (fn, thisp) {\n thisp = thisp || this\n for (let walker = this[LRU_LIST].head; walker !== null;) {\n const next = walker.next\n forEachStep(this, fn, walker, thisp)\n walker = next\n }\n }\n\n keys () {\n return this[LRU_LIST].toArray().map(k => k.key)\n }\n\n values () {\n return this[LRU_LIST].toArray().map(k => k.value)\n }\n\n reset () {\n if (this[DISPOSE] &&\n this[LRU_LIST] &&\n this[LRU_LIST].length) {\n this[LRU_LIST].forEach(hit => this[DISPOSE](hit.key, hit.value))\n }\n\n this[CACHE] = new Map() // hash of items by key\n this[LRU_LIST] = new Yallist() // list of items in order of use recency\n this[LENGTH] = 0 // length of items in the list\n }\n\n dump () {\n return this[LRU_LIST].map(hit =>\n isStale(this, hit) ? false : {\n k: hit.key,\n v: hit.value,\n e: hit.now + (hit.maxAge || 0)\n }).toArray().filter(h => h)\n }\n\n dumpLru () {\n return this[LRU_LIST]\n }\n\n set (key, value, maxAge) {\n maxAge = maxAge || this[MAX_AGE]\n\n if (maxAge && typeof maxAge !== 'number')\n throw new TypeError('maxAge must be a number')\n\n const now = maxAge ? Date.now() : 0\n const len = this[LENGTH_CALCULATOR](value, key)\n\n if (this[CACHE].has(key)) {\n if (len > this[MAX]) {\n del(this, this[CACHE].get(key))\n return false\n }\n\n const node = this[CACHE].get(key)\n const item = node.value\n\n // dispose of the old one before overwriting\n // split out into 2 ifs for better coverage tracking\n if (this[DISPOSE]) {\n if (!this[NO_DISPOSE_ON_SET])\n this[DISPOSE](key, item.value)\n }\n\n item.now = now\n item.maxAge = maxAge\n item.value = value\n this[LENGTH] += len - item.length\n item.length = len\n this.get(key)\n trim(this)\n return true\n }\n\n const hit = new Entry(key, value, len, now, maxAge)\n\n // oversized objects fall out of cache automatically.\n if (hit.length > this[MAX]) {\n if (this[DISPOSE])\n this[DISPOSE](key, value)\n\n return false\n }\n\n this[LENGTH] += hit.length\n this[LRU_LIST].unshift(hit)\n this[CACHE].set(key, this[LRU_LIST].head)\n trim(this)\n return true\n }\n\n has (key) {\n if (!this[CACHE].has(key)) return false\n const hit = this[CACHE].get(key).value\n return !isStale(this, hit)\n }\n\n get (key) {\n return get(this, key, true)\n }\n\n peek (key) {\n return get(this, key, false)\n }\n\n pop () {\n const node = this[LRU_LIST].tail\n if (!node)\n return null\n\n del(this, node)\n return node.value\n }\n\n del (key) {\n del(this, this[CACHE].get(key))\n }\n\n load (arr) {\n // reset the cache\n this.reset()\n\n const now = Date.now()\n // A previous serialized cache has the most recent items first\n for (let l = arr.length - 1; l >= 0; l--) {\n const hit = arr[l]\n const expiresAt = hit.e || 0\n if (expiresAt === 0)\n // the item was created without expiration in a non aged cache\n this.set(hit.k, hit.v)\n else {\n const maxAge = expiresAt - now\n // dont add already expired items\n if (maxAge > 0) {\n this.set(hit.k, hit.v, maxAge)\n }\n }\n }\n }\n\n prune () {\n this[CACHE].forEach((value, key) => get(this, key, false))\n }\n}\n\nconst get = (self, key, doUse) => {\n const node = self[CACHE].get(key)\n if (node) {\n const hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n return undefined\n } else {\n if (doUse) {\n if (self[UPDATE_AGE_ON_GET])\n node.value.now = Date.now()\n self[LRU_LIST].unshiftNode(node)\n }\n }\n return hit.value\n }\n}\n\nconst isStale = (self, hit) => {\n if (!hit || (!hit.maxAge && !self[MAX_AGE]))\n return false\n\n const diff = Date.now() - hit.now\n return hit.maxAge ? diff > hit.maxAge\n : self[MAX_AGE] && (diff > self[MAX_AGE])\n}\n\nconst trim = self => {\n if (self[LENGTH] > self[MAX]) {\n for (let walker = self[LRU_LIST].tail;\n self[LENGTH] > self[MAX] && walker !== null;) {\n // We know that we're about to delete this one, and also\n // what the next least recently used key will be, so just\n // go ahead and set it now.\n const prev = walker.prev\n del(self, walker)\n walker = prev\n }\n }\n}\n\nconst del = (self, node) => {\n if (node) {\n const hit = node.value\n if (self[DISPOSE])\n self[DISPOSE](hit.key, hit.value)\n\n self[LENGTH] -= hit.length\n self[CACHE].delete(hit.key)\n self[LRU_LIST].removeNode(node)\n }\n}\n\nclass Entry {\n constructor (key, value, length, now, maxAge) {\n this.key = key\n this.value = value\n this.length = length\n this.now = now\n this.maxAge = maxAge || 0\n }\n}\n\nconst forEachStep = (self, fn, node, thisp) => {\n let hit = node.value\n if (isStale(self, hit)) {\n del(self, node)\n if (!self[ALLOW_STALE])\n hit = undefined\n }\n if (hit)\n fn.call(thisp, hit.value, hit.key, self)\n}\n\nmodule.exports = LRUCache\n","'use strict'\nmodule.exports = Yallist\n\nYallist.Node = Node\nYallist.create = Yallist\n\nfunction Yallist (list) {\n var self = this\n if (!(self instanceof Yallist)) {\n self = new Yallist()\n }\n\n self.tail = null\n self.head = null\n self.length = 0\n\n if (list && typeof list.forEach === 'function') {\n list.forEach(function (item) {\n self.push(item)\n })\n } else if (arguments.length > 0) {\n for (var i = 0, l = arguments.length; i < l; i++) {\n self.push(arguments[i])\n }\n }\n\n return self\n}\n\nYallist.prototype.removeNode = function (node) {\n if (node.list !== this) {\n throw new Error('removing node which does not belong to this list')\n }\n\n var next = node.next\n var prev = node.prev\n\n if (next) {\n next.prev = prev\n }\n\n if (prev) {\n prev.next = next\n }\n\n if (node === this.head) {\n this.head = next\n }\n if (node === this.tail) {\n this.tail = prev\n }\n\n node.list.length--\n node.next = null\n node.prev = null\n node.list = null\n\n return next\n}\n\nYallist.prototype.unshiftNode = function (node) {\n if (node === this.head) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var head = this.head\n node.list = this\n node.next = head\n if (head) {\n head.prev = node\n }\n\n this.head = node\n if (!this.tail) {\n this.tail = node\n }\n this.length++\n}\n\nYallist.prototype.pushNode = function (node) {\n if (node === this.tail) {\n return\n }\n\n if (node.list) {\n node.list.removeNode(node)\n }\n\n var tail = this.tail\n node.list = this\n node.prev = tail\n if (tail) {\n tail.next = node\n }\n\n this.tail = node\n if (!this.head) {\n this.head = node\n }\n this.length++\n}\n\nYallist.prototype.push = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n push(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.unshift = function () {\n for (var i = 0, l = arguments.length; i < l; i++) {\n unshift(this, arguments[i])\n }\n return this.length\n}\n\nYallist.prototype.pop = function () {\n if (!this.tail) {\n return undefined\n }\n\n var res = this.tail.value\n this.tail = this.tail.prev\n if (this.tail) {\n this.tail.next = null\n } else {\n this.head = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.shift = function () {\n if (!this.head) {\n return undefined\n }\n\n var res = this.head.value\n this.head = this.head.next\n if (this.head) {\n this.head.prev = null\n } else {\n this.tail = null\n }\n this.length--\n return res\n}\n\nYallist.prototype.forEach = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.head, i = 0; walker !== null; i++) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.next\n }\n}\n\nYallist.prototype.forEachReverse = function (fn, thisp) {\n thisp = thisp || this\n for (var walker = this.tail, i = this.length - 1; walker !== null; i--) {\n fn.call(thisp, walker.value, i, this)\n walker = walker.prev\n }\n}\n\nYallist.prototype.get = function (n) {\n for (var i = 0, walker = this.head; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.next\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.getReverse = function (n) {\n for (var i = 0, walker = this.tail; walker !== null && i < n; i++) {\n // abort out of the list early if we hit a cycle\n walker = walker.prev\n }\n if (i === n && walker !== null) {\n return walker.value\n }\n}\n\nYallist.prototype.map = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.head; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.next\n }\n return res\n}\n\nYallist.prototype.mapReverse = function (fn, thisp) {\n thisp = thisp || this\n var res = new Yallist()\n for (var walker = this.tail; walker !== null;) {\n res.push(fn.call(thisp, walker.value, this))\n walker = walker.prev\n }\n return res\n}\n\nYallist.prototype.reduce = function (fn, initial) {\n var acc\n var walker = this.head\n if (arguments.length > 1) {\n acc = initial\n } else if (this.head) {\n walker = this.head.next\n acc = this.head.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = 0; walker !== null; i++) {\n acc = fn(acc, walker.value, i)\n walker = walker.next\n }\n\n return acc\n}\n\nYallist.prototype.reduceReverse = function (fn, initial) {\n var acc\n var walker = this.tail\n if (arguments.length > 1) {\n acc = initial\n } else if (this.tail) {\n walker = this.tail.prev\n acc = this.tail.value\n } else {\n throw new TypeError('Reduce of empty list with no initial value')\n }\n\n for (var i = this.length - 1; walker !== null; i--) {\n acc = fn(acc, walker.value, i)\n walker = walker.prev\n }\n\n return acc\n}\n\nYallist.prototype.toArray = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.head; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.next\n }\n return arr\n}\n\nYallist.prototype.toArrayReverse = function () {\n var arr = new Array(this.length)\n for (var i = 0, walker = this.tail; walker !== null; i++) {\n arr[i] = walker.value\n walker = walker.prev\n }\n return arr\n}\n\nYallist.prototype.slice = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = 0, walker = this.head; walker !== null && i < from; i++) {\n walker = walker.next\n }\n for (; walker !== null && i < to; i++, walker = walker.next) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.sliceReverse = function (from, to) {\n to = to || this.length\n if (to < 0) {\n to += this.length\n }\n from = from || 0\n if (from < 0) {\n from += this.length\n }\n var ret = new Yallist()\n if (to < from || to < 0) {\n return ret\n }\n if (from < 0) {\n from = 0\n }\n if (to > this.length) {\n to = this.length\n }\n for (var i = this.length, walker = this.tail; walker !== null && i > to; i--) {\n walker = walker.prev\n }\n for (; walker !== null && i > from; i--, walker = walker.prev) {\n ret.push(walker.value)\n }\n return ret\n}\n\nYallist.prototype.splice = function (start, deleteCount, ...nodes) {\n if (start > this.length) {\n start = this.length - 1\n }\n if (start < 0) {\n start = this.length + start;\n }\n\n for (var i = 0, walker = this.head; walker !== null && i < start; i++) {\n walker = walker.next\n }\n\n var ret = []\n for (var i = 0; walker && i < deleteCount; i++) {\n ret.push(walker.value)\n walker = this.removeNode(walker)\n }\n if (walker === null) {\n walker = this.tail\n }\n\n if (walker !== this.head && walker !== this.tail) {\n walker = walker.prev\n }\n\n for (var i = 0; i < nodes.length; i++) {\n walker = insert(this, walker, nodes[i])\n }\n return ret;\n}\n\nYallist.prototype.reverse = function () {\n var head = this.head\n var tail = this.tail\n for (var walker = head; walker !== null; walker = walker.prev) {\n var p = walker.prev\n walker.prev = walker.next\n walker.next = p\n }\n this.head = tail\n this.tail = head\n return this\n}\n\nfunction insert (self, node, value) {\n var inserted = node === self.head ?\n new Node(value, null, node, self) :\n new Node(value, node, node.next, self)\n\n if (inserted.next === null) {\n self.tail = inserted\n }\n if (inserted.prev === null) {\n self.head = inserted\n }\n\n self.length++\n\n return inserted\n}\n\nfunction push (self, item) {\n self.tail = new Node(item, self.tail, null, self)\n if (!self.head) {\n self.head = self.tail\n }\n self.length++\n}\n\nfunction unshift (self, item) {\n self.head = new Node(item, null, self.head, self)\n if (!self.tail) {\n self.tail = self.head\n }\n self.length++\n}\n\nfunction Node (value, prev, next, list) {\n if (!(this instanceof Node)) {\n return new Node(value, prev, next, list)\n }\n\n this.list = list\n this.value = value\n\n if (prev) {\n prev.next = this\n this.prev = prev\n } else {\n this.prev = null\n }\n\n if (next) {\n next.prev = this\n this.next = next\n } else {\n this.next = null\n }\n}\n\ntry {\n // add if support for Symbol.iterator is present\n require('./iterator.js')(Yallist)\n} catch (er) {}\n","'use strict'\nmodule.exports = function (Yallist) {\n Yallist.prototype[Symbol.iterator] = function* () {\n for (let walker = this.head; walker; walker = walker.next) {\n yield walker.value\n }\n }\n}\n","// parse out just the options we care about\nconst looseOption = Object.freeze({ loose: true })\nconst emptyOpts = Object.freeze({ })\nconst parseOptions = options => {\n if (!options) {\n return emptyOpts\n }\n\n if (typeof options !== 'object') {\n return looseOption\n }\n\n return options\n}\nmodule.exports = parseOptions\n","const ANY = Symbol('SemVer ANY')\n// hoisted class for cyclic dependency\nclass Comparator {\n static get ANY () {\n return ANY\n }\n\n constructor (comp, options) {\n options = parseOptions(options)\n\n if (comp instanceof Comparator) {\n if (comp.loose === !!options.loose) {\n return comp\n } else {\n comp = comp.value\n }\n }\n\n debug('comparator', comp, options)\n this.options = options\n this.loose = !!options.loose\n this.parse(comp)\n\n if (this.semver === ANY) {\n this.value = ''\n } else {\n this.value = this.operator + this.semver.version\n }\n\n debug('comp', this)\n }\n\n parse (comp) {\n const r = this.options.loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR]\n const m = comp.match(r)\n\n if (!m) {\n throw new TypeError(`Invalid comparator: ${comp}`)\n }\n\n this.operator = m[1] !== undefined ? m[1] : ''\n if (this.operator === '=') {\n this.operator = ''\n }\n\n // if it literally is just '>' or '' then allow anything.\n if (!m[2]) {\n this.semver = ANY\n } else {\n this.semver = new SemVer(m[2], this.options.loose)\n }\n }\n\n toString () {\n return this.value\n }\n\n test (version) {\n debug('Comparator.test', version, this.options.loose)\n\n if (this.semver === ANY || version === ANY) {\n return true\n }\n\n if (typeof version === 'string') {\n try {\n version = new SemVer(version, this.options)\n } catch (er) {\n return false\n }\n }\n\n return cmp(version, this.operator, this.semver, this.options)\n }\n\n intersects (comp, options) {\n if (!(comp instanceof Comparator)) {\n throw new TypeError('a Comparator is required')\n }\n\n if (this.operator === '') {\n if (this.value === '') {\n return true\n }\n return new Range(comp.value, options).test(this.value)\n } else if (comp.operator === '') {\n if (comp.value === '') {\n return true\n }\n return new Range(this.value, options).test(comp.semver)\n }\n\n options = parseOptions(options)\n\n // Special cases where nothing can possibly be lower\n if (options.includePrerelease &&\n (this.value === '<0.0.0-0' || comp.value === '<0.0.0-0')) {\n return false\n }\n if (!options.includePrerelease &&\n (this.value.startsWith('<0.0.0') || comp.value.startsWith('<0.0.0'))) {\n return false\n }\n\n // Same direction increasing (> or >=)\n if (this.operator.startsWith('>') && comp.operator.startsWith('>')) {\n return true\n }\n // Same direction decreasing (< or <=)\n if (this.operator.startsWith('<') && comp.operator.startsWith('<')) {\n return true\n }\n // same SemVer and both sides are inclusive (<= or >=)\n if (\n (this.semver.version === comp.semver.version) &&\n this.operator.includes('=') && comp.operator.includes('=')) {\n return true\n }\n // opposite directions less than\n if (cmp(this.semver, '<', comp.semver, options) &&\n this.operator.startsWith('>') && comp.operator.startsWith('<')) {\n return true\n }\n // opposite directions greater than\n if (cmp(this.semver, '>', comp.semver, options) &&\n this.operator.startsWith('<') && comp.operator.startsWith('>')) {\n return true\n }\n return false\n }\n}\n\nmodule.exports = Comparator\n\nconst parseOptions = require('../internal/parse-options')\nconst { re, t } = require('../internal/re')\nconst cmp = require('../functions/cmp')\nconst debug = require('../internal/debug')\nconst SemVer = require('./semver')\nconst Range = require('./range')\n","const { MAX_SAFE_COMPONENT_LENGTH } = require('./constants')\nconst debug = require('./debug')\nexports = module.exports = {}\n\n// The actual regexps go on exports.re\nconst re = exports.re = []\nconst src = exports.src = []\nconst t = exports.t = {}\nlet R = 0\n\nconst createToken = (name, value, isGlobal) => {\n const index = R++\n debug(name, index, value)\n t[name] = index\n src[index] = value\n re[index] = new RegExp(value, isGlobal ? 'g' : undefined)\n}\n\n// The following Regular Expressions can be used for tokenizing,\n// validating, and parsing SemVer version strings.\n\n// ## Numeric Identifier\n// A single `0`, or a non-zero digit followed by zero or more digits.\n\ncreateToken('NUMERICIDENTIFIER', '0|[1-9]\\\\d*')\ncreateToken('NUMERICIDENTIFIERLOOSE', '[0-9]+')\n\n// ## Non-numeric Identifier\n// Zero or more digits, followed by a letter or hyphen, and then zero or\n// more letters, digits, or hyphens.\n\ncreateToken('NONNUMERICIDENTIFIER', '\\\\d*[a-zA-Z-][a-zA-Z0-9-]*')\n\n// ## Main Version\n// Three dot-separated numeric identifiers.\n\ncreateToken('MAINVERSION', `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIER]})`)\n\ncreateToken('MAINVERSIONLOOSE', `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})\\\\.` +\n `(${src[t.NUMERICIDENTIFIERLOOSE]})`)\n\n// ## Pre-release Version Identifier\n// A numeric identifier, or a non-numeric identifier.\n\ncreateToken('PRERELEASEIDENTIFIER', `(?:${src[t.NUMERICIDENTIFIER]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\ncreateToken('PRERELEASEIDENTIFIERLOOSE', `(?:${src[t.NUMERICIDENTIFIERLOOSE]\n}|${src[t.NONNUMERICIDENTIFIER]})`)\n\n// ## Pre-release Version\n// Hyphen, followed by one or more dot-separated pre-release version\n// identifiers.\n\ncreateToken('PRERELEASE', `(?:-(${src[t.PRERELEASEIDENTIFIER]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIER]})*))`)\n\ncreateToken('PRERELEASELOOSE', `(?:-?(${src[t.PRERELEASEIDENTIFIERLOOSE]\n}(?:\\\\.${src[t.PRERELEASEIDENTIFIERLOOSE]})*))`)\n\n// ## Build Metadata Identifier\n// Any combination of digits, letters, or hyphens.\n\ncreateToken('BUILDIDENTIFIER', '[0-9A-Za-z-]+')\n\n// ## Build Metadata\n// Plus sign, followed by one or more period-separated build metadata\n// identifiers.\n\ncreateToken('BUILD', `(?:\\\\+(${src[t.BUILDIDENTIFIER]\n}(?:\\\\.${src[t.BUILDIDENTIFIER]})*))`)\n\n// ## Full Version String\n// A main version, followed optionally by a pre-release version and\n// build metadata.\n\n// Note that the only major, minor, patch, and pre-release sections of\n// the version string are capturing groups. The build metadata is not a\n// capturing group, because it should not ever be used in version\n// comparison.\n\ncreateToken('FULLPLAIN', `v?${src[t.MAINVERSION]\n}${src[t.PRERELEASE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('FULL', `^${src[t.FULLPLAIN]}$`)\n\n// like full, but allows v1.2.3 and =1.2.3, which people do sometimes.\n// also, 1.0.0alpha1 (prerelease without the hyphen) which is pretty\n// common in the npm registry.\ncreateToken('LOOSEPLAIN', `[v=\\\\s]*${src[t.MAINVERSIONLOOSE]\n}${src[t.PRERELEASELOOSE]}?${\n src[t.BUILD]}?`)\n\ncreateToken('LOOSE', `^${src[t.LOOSEPLAIN]}$`)\n\ncreateToken('GTLT', '((?:<|>)?=?)')\n\n// Something like \"2.*\" or \"1.2.x\".\n// Note that \"x.x\" is a valid xRange identifer, meaning \"any version\"\n// Only the first item is strictly required.\ncreateToken('XRANGEIDENTIFIERLOOSE', `${src[t.NUMERICIDENTIFIERLOOSE]}|x|X|\\\\*`)\ncreateToken('XRANGEIDENTIFIER', `${src[t.NUMERICIDENTIFIER]}|x|X|\\\\*`)\n\ncreateToken('XRANGEPLAIN', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIER]})` +\n `(?:${src[t.PRERELEASE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGEPLAINLOOSE', `[v=\\\\s]*(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:\\\\.(${src[t.XRANGEIDENTIFIERLOOSE]})` +\n `(?:${src[t.PRERELEASELOOSE]})?${\n src[t.BUILD]}?` +\n `)?)?`)\n\ncreateToken('XRANGE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAIN]}$`)\ncreateToken('XRANGELOOSE', `^${src[t.GTLT]}\\\\s*${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Coercion.\n// Extract anything that could conceivably be a part of a valid semver\ncreateToken('COERCE', `${'(^|[^\\\\d])' +\n '(\\\\d{1,'}${MAX_SAFE_COMPONENT_LENGTH}})` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:\\\\.(\\\\d{1,${MAX_SAFE_COMPONENT_LENGTH}}))?` +\n `(?:$|[^\\\\d])`)\ncreateToken('COERCERTL', src[t.COERCE], true)\n\n// Tilde ranges.\n// Meaning is \"reasonably at or greater than\"\ncreateToken('LONETILDE', '(?:~>?)')\n\ncreateToken('TILDETRIM', `(\\\\s*)${src[t.LONETILDE]}\\\\s+`, true)\nexports.tildeTrimReplace = '$1~'\n\ncreateToken('TILDE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('TILDELOOSE', `^${src[t.LONETILDE]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// Caret ranges.\n// Meaning is \"at least and backwards compatible with\"\ncreateToken('LONECARET', '(?:\\\\^)')\n\ncreateToken('CARETTRIM', `(\\\\s*)${src[t.LONECARET]}\\\\s+`, true)\nexports.caretTrimReplace = '$1^'\n\ncreateToken('CARET', `^${src[t.LONECARET]}${src[t.XRANGEPLAIN]}$`)\ncreateToken('CARETLOOSE', `^${src[t.LONECARET]}${src[t.XRANGEPLAINLOOSE]}$`)\n\n// A simple gt/lt/eq thing, or just \"\" to indicate \"any version\"\ncreateToken('COMPARATORLOOSE', `^${src[t.GTLT]}\\\\s*(${src[t.LOOSEPLAIN]})$|^$`)\ncreateToken('COMPARATOR', `^${src[t.GTLT]}\\\\s*(${src[t.FULLPLAIN]})$|^$`)\n\n// An expression to strip any whitespace between the gtlt and the thing\n// it modifies, so that `> 1.2.3` ==> `>1.2.3`\ncreateToken('COMPARATORTRIM', `(\\\\s*)${src[t.GTLT]\n}\\\\s*(${src[t.LOOSEPLAIN]}|${src[t.XRANGEPLAIN]})`, true)\nexports.comparatorTrimReplace = '$1$2$3'\n\n// Something like `1.2.3 - 1.2.4`\n// Note that these all use the loose form, because they'll be\n// checked against either the strict or loose comparator form\n// later.\ncreateToken('HYPHENRANGE', `^\\\\s*(${src[t.XRANGEPLAIN]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAIN]})` +\n `\\\\s*$`)\n\ncreateToken('HYPHENRANGELOOSE', `^\\\\s*(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s+-\\\\s+` +\n `(${src[t.XRANGEPLAINLOOSE]})` +\n `\\\\s*$`)\n\n// Star ranges basically just allow anything at all.\ncreateToken('STAR', '(<|>)?=?\\\\s*\\\\*')\n// >=0.0.0 is like a star\ncreateToken('GTE0', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0\\\\s*$')\ncreateToken('GTE0PRE', '^\\\\s*>=\\\\s*0\\\\.0\\\\.0-0\\\\s*$')\n","// Note: this is the semver.org version of the spec that it implements\n// Not necessarily the package version of this code.\nconst SEMVER_SPEC_VERSION = '2.0.0'\n\nconst MAX_LENGTH = 256\nconst MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER ||\n/* istanbul ignore next */ 9007199254740991\n\n// Max safe segment length for coercion.\nconst MAX_SAFE_COMPONENT_LENGTH = 16\n\nconst RELEASE_TYPES = [\n 'major',\n 'premajor',\n 'minor',\n 'preminor',\n 'patch',\n 'prepatch',\n 'prerelease',\n]\n\nmodule.exports = {\n MAX_LENGTH,\n MAX_SAFE_COMPONENT_LENGTH,\n MAX_SAFE_INTEGER,\n RELEASE_TYPES,\n SEMVER_SPEC_VERSION,\n FLAG_INCLUDE_PRERELEASE: 0b001,\n FLAG_LOOSE: 0b010,\n}\n","const debug = (\n typeof process === 'object' &&\n process.env &&\n process.env.NODE_DEBUG &&\n /\\bsemver\\b/i.test(process.env.NODE_DEBUG)\n) ? (...args) => console.error('SEMVER', ...args)\n : () => {}\n\nmodule.exports = debug\n","const eq = require('./eq')\nconst neq = require('./neq')\nconst gt = require('./gt')\nconst gte = require('./gte')\nconst lt = require('./lt')\nconst lte = require('./lte')\n\nconst cmp = (a, op, b, loose) => {\n switch (op) {\n case '===':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a === b\n\n case '!==':\n if (typeof a === 'object') {\n a = a.version\n }\n if (typeof b === 'object') {\n b = b.version\n }\n return a !== b\n\n case '':\n case '=':\n case '==':\n return eq(a, b, loose)\n\n case '!=':\n return neq(a, b, loose)\n\n case '>':\n return gt(a, b, loose)\n\n case '>=':\n return gte(a, b, loose)\n\n case '<':\n return lt(a, b, loose)\n\n case '<=':\n return lte(a, b, loose)\n\n default:\n throw new TypeError(`Invalid operator: ${op}`)\n }\n}\nmodule.exports = cmp\n","const compare = require('./compare')\nconst eq = (a, b, loose) => compare(a, b, loose) === 0\nmodule.exports = eq\n","const SemVer = require('../classes/semver')\nconst compare = (a, b, loose) =>\n new SemVer(a, loose).compare(new SemVer(b, loose))\n\nmodule.exports = compare\n","const debug = require('../internal/debug')\nconst { MAX_LENGTH, MAX_SAFE_INTEGER } = require('../internal/constants')\nconst { re, t } = require('../internal/re')\n\nconst parseOptions = require('../internal/parse-options')\nconst { compareIdentifiers } = require('../internal/identifiers')\nclass SemVer {\n constructor (version, options) {\n options = parseOptions(options)\n\n if (version instanceof SemVer) {\n if (version.loose === !!options.loose &&\n version.includePrerelease === !!options.includePrerelease) {\n return version\n } else {\n version = version.version\n }\n } else if (typeof version !== 'string') {\n throw new TypeError(`Invalid version. Must be a string. Got type \"${typeof version}\".`)\n }\n\n if (version.length > MAX_LENGTH) {\n throw new TypeError(\n `version is longer than ${MAX_LENGTH} characters`\n )\n }\n\n debug('SemVer', version, options)\n this.options = options\n this.loose = !!options.loose\n // this isn't actually relevant for versions, but keep it so that we\n // don't run into trouble passing this.options around.\n this.includePrerelease = !!options.includePrerelease\n\n const m = version.trim().match(options.loose ? re[t.LOOSE] : re[t.FULL])\n\n if (!m) {\n throw new TypeError(`Invalid Version: ${version}`)\n }\n\n this.raw = version\n\n // these are actually numbers\n this.major = +m[1]\n this.minor = +m[2]\n this.patch = +m[3]\n\n if (this.major > MAX_SAFE_INTEGER || this.major < 0) {\n throw new TypeError('Invalid major version')\n }\n\n if (this.minor > MAX_SAFE_INTEGER || this.minor < 0) {\n throw new TypeError('Invalid minor version')\n }\n\n if (this.patch > MAX_SAFE_INTEGER || this.patch < 0) {\n throw new TypeError('Invalid patch version')\n }\n\n // numberify any prerelease numeric ids\n if (!m[4]) {\n this.prerelease = []\n } else {\n this.prerelease = m[4].split('.').map((id) => {\n if (/^[0-9]+$/.test(id)) {\n const num = +id\n if (num >= 0 && num < MAX_SAFE_INTEGER) {\n return num\n }\n }\n return id\n })\n }\n\n this.build = m[5] ? m[5].split('.') : []\n this.format()\n }\n\n format () {\n this.version = `${this.major}.${this.minor}.${this.patch}`\n if (this.prerelease.length) {\n this.version += `-${this.prerelease.join('.')}`\n }\n return this.version\n }\n\n toString () {\n return this.version\n }\n\n compare (other) {\n debug('SemVer.compare', this.version, this.options, other)\n if (!(other instanceof SemVer)) {\n if (typeof other === 'string' && other === this.version) {\n return 0\n }\n other = new SemVer(other, this.options)\n }\n\n if (other.version === this.version) {\n return 0\n }\n\n return this.compareMain(other) || this.comparePre(other)\n }\n\n compareMain (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n return (\n compareIdentifiers(this.major, other.major) ||\n compareIdentifiers(this.minor, other.minor) ||\n compareIdentifiers(this.patch, other.patch)\n )\n }\n\n comparePre (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n // NOT having a prerelease is > having one\n if (this.prerelease.length && !other.prerelease.length) {\n return -1\n } else if (!this.prerelease.length && other.prerelease.length) {\n return 1\n } else if (!this.prerelease.length && !other.prerelease.length) {\n return 0\n }\n\n let i = 0\n do {\n const a = this.prerelease[i]\n const b = other.prerelease[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n compareBuild (other) {\n if (!(other instanceof SemVer)) {\n other = new SemVer(other, this.options)\n }\n\n let i = 0\n do {\n const a = this.build[i]\n const b = other.build[i]\n debug('prerelease compare', i, a, b)\n if (a === undefined && b === undefined) {\n return 0\n } else if (b === undefined) {\n return 1\n } else if (a === undefined) {\n return -1\n } else if (a === b) {\n continue\n } else {\n return compareIdentifiers(a, b)\n }\n } while (++i)\n }\n\n // preminor will bump the version up to the next minor release, and immediately\n // down to pre-release. premajor and prepatch work the same way.\n inc (release, identifier, identifierBase) {\n switch (release) {\n case 'premajor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor = 0\n this.major++\n this.inc('pre', identifier, identifierBase)\n break\n case 'preminor':\n this.prerelease.length = 0\n this.patch = 0\n this.minor++\n this.inc('pre', identifier, identifierBase)\n break\n case 'prepatch':\n // If this is already a prerelease, it will bump to the next version\n // drop any prereleases that might already exist, since they are not\n // relevant at this point.\n this.prerelease.length = 0\n this.inc('patch', identifier, identifierBase)\n this.inc('pre', identifier, identifierBase)\n break\n // If the input is a non-prerelease version, this acts the same as\n // prepatch.\n case 'prerelease':\n if (this.prerelease.length === 0) {\n this.inc('patch', identifier, identifierBase)\n }\n this.inc('pre', identifier, identifierBase)\n break\n\n case 'major':\n // If this is a pre-major version, bump up to the same major version.\n // Otherwise increment major.\n // 1.0.0-5 bumps to 1.0.0\n // 1.1.0 bumps to 2.0.0\n if (\n this.minor !== 0 ||\n this.patch !== 0 ||\n this.prerelease.length === 0\n ) {\n this.major++\n }\n this.minor = 0\n this.patch = 0\n this.prerelease = []\n break\n case 'minor':\n // If this is a pre-minor version, bump up to the same minor version.\n // Otherwise increment minor.\n // 1.2.0-5 bumps to 1.2.0\n // 1.2.1 bumps to 1.3.0\n if (this.patch !== 0 || this.prerelease.length === 0) {\n this.minor++\n }\n this.patch = 0\n this.prerelease = []\n break\n case 'patch':\n // If this is not a pre-release version, it will increment the patch.\n // If it is a pre-release it will bump up to the same patch version.\n // 1.2.0-5 patches to 1.2.0\n // 1.2.0 patches to 1.2.1\n if (this.prerelease.length === 0) {\n this.patch++\n }\n this.prerelease = []\n break\n // This probably shouldn't be used publicly.\n // 1.0.0 'pre' would become 1.0.0-0 which is the wrong direction.\n case 'pre': {\n const base = Number(identifierBase) ? 1 : 0\n\n if (!identifier && identifierBase === false) {\n throw new Error('invalid increment argument: identifier is empty')\n }\n\n if (this.prerelease.length === 0) {\n this.prerelease = [base]\n } else {\n let i = this.prerelease.length\n while (--i >= 0) {\n if (typeof this.prerelease[i] === 'number') {\n this.prerelease[i]++\n i = -2\n }\n }\n if (i === -1) {\n // didn't increment anything\n if (identifier === this.prerelease.join('.') && identifierBase === false) {\n throw new Error('invalid increment argument: identifier already exists')\n }\n this.prerelease.push(base)\n }\n }\n if (identifier) {\n // 1.2.0-beta.1 bumps to 1.2.0-beta.2,\n // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0\n let prerelease = [identifier, base]\n if (identifierBase === false) {\n prerelease = [identifier]\n }\n if (compareIdentifiers(this.prerelease[0], identifier) === 0) {\n if (isNaN(this.prerelease[1])) {\n this.prerelease = prerelease\n }\n } else {\n this.prerelease = prerelease\n }\n }\n break\n }\n default:\n throw new Error(`invalid increment argument: ${release}`)\n }\n this.format()\n this.raw = this.version\n return this\n }\n}\n\nmodule.exports = SemVer\n","const numeric = /^[0-9]+$/\nconst compareIdentifiers = (a, b) => {\n const anum = numeric.test(a)\n const bnum = numeric.test(b)\n\n if (anum && bnum) {\n a = +a\n b = +b\n }\n\n return a === b ? 0\n : (anum && !bnum) ? -1\n : (bnum && !anum) ? 1\n : a < b ? -1\n : 1\n}\n\nconst rcompareIdentifiers = (a, b) => compareIdentifiers(b, a)\n\nmodule.exports = {\n compareIdentifiers,\n rcompareIdentifiers,\n}\n","const compare = require('./compare')\nconst neq = (a, b, loose) => compare(a, b, loose) !== 0\nmodule.exports = neq\n","const compare = require('./compare')\nconst gt = (a, b, loose) => compare(a, b, loose) > 0\nmodule.exports = gt\n","const compare = require('./compare')\nconst gte = (a, b, loose) => compare(a, b, loose) >= 0\nmodule.exports = gte\n","const compare = require('./compare')\nconst lt = (a, b, loose) => compare(a, b, loose) < 0\nmodule.exports = lt\n","const compare = require('./compare')\nconst lte = (a, b, loose) => compare(a, b, loose) <= 0\nmodule.exports = lte\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.hasSafeFeature = exports.SAFE_FEATURES = void 0;\nconst satisfies_1 = __importDefault(require(\"semver/functions/satisfies\"));\nvar SAFE_FEATURES;\n(function (SAFE_FEATURES) {\n SAFE_FEATURES[\"SAFE_TX_GAS_OPTIONAL\"] = \"SAFE_TX_GAS_OPTIONAL\";\n SAFE_FEATURES[\"SAFE_TX_GUARDS\"] = \"SAFE_TX_GUARDS\";\n SAFE_FEATURES[\"SAFE_FALLBACK_HANDLER\"] = \"SAFE_FALLBACK_HANDLER\";\n SAFE_FEATURES[\"ETH_SIGN\"] = \"ETH_SIGN\";\n SAFE_FEATURES[\"ACCOUNT_ABSTRACTION\"] = \"ACCOUNT_ABSTRACTION\";\n})(SAFE_FEATURES = exports.SAFE_FEATURES || (exports.SAFE_FEATURES = {}));\nconst SAFE_FEATURES_BY_VERSION = {\n [SAFE_FEATURES.SAFE_TX_GAS_OPTIONAL]: '>=1.3.0',\n [SAFE_FEATURES.SAFE_TX_GUARDS]: '>=1.3.0',\n [SAFE_FEATURES.SAFE_FALLBACK_HANDLER]: '>=1.1.1',\n [SAFE_FEATURES.ETH_SIGN]: '>=1.1.0',\n [SAFE_FEATURES.ACCOUNT_ABSTRACTION]: '>=1.3.0'\n};\nconst hasSafeFeature = (feature, version) => {\n if (!(feature in SAFE_FEATURES_BY_VERSION)) {\n return false;\n }\n return (0, satisfies_1.default)(version, SAFE_FEATURES_BY_VERSION[feature]);\n};\nexports.hasSafeFeature = hasSafeFeature;\n//# sourceMappingURL=safeVersions.js.map",null,"\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./SafeSignature\"), exports);\n__exportStar(require(\"./utils\"), exports);\n//# sourceMappingURL=index.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EthSafeSignature = void 0;\nclass EthSafeSignature {\n /**\n * Creates an instance of a Safe signature.\n *\n * @param signer - Ethers signer\n * @param signature - The Safe signature\n * @returns The Safe signature instance\n */\n constructor(signer, signature) {\n this.signer = signer;\n this.data = signature;\n }\n /**\n * Returns the static part of the Safe signature.\n *\n * @returns The static part of the Safe signature\n */\n staticPart( /* dynamicOffset: number */) {\n return this.data;\n }\n /**\n * Returns the dynamic part of the Safe signature.\n *\n * @returns The dynamic part of the Safe signature\n */\n dynamicPart() {\n return '';\n }\n}\nexports.EthSafeSignature = EthSafeSignature;\n//# sourceMappingURL=SafeSignature.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.generateEIP712Signature = exports.generateSignature = exports.adjustVInSignature = exports.isTxHashSignedWithPrefix = exports.generatePreValidatedSignature = void 0;\nconst ethereumjs_util_1 = require(\"ethereumjs-util\");\nconst address_1 = require(\"../address\");\nconst SafeSignature_1 = require(\"./SafeSignature\");\nfunction generatePreValidatedSignature(ownerAddress) {\n const signature = '0x000000000000000000000000' +\n ownerAddress.slice(2) +\n '0000000000000000000000000000000000000000000000000000000000000000' +\n '01';\n return new SafeSignature_1.EthSafeSignature(ownerAddress, signature);\n}\nexports.generatePreValidatedSignature = generatePreValidatedSignature;\nfunction isTxHashSignedWithPrefix(txHash, signature, ownerAddress) {\n let hasPrefix;\n try {\n const rsvSig = {\n r: Buffer.from(signature.slice(2, 66), 'hex'),\n s: Buffer.from(signature.slice(66, 130), 'hex'),\n v: parseInt(signature.slice(130, 132), 16)\n };\n const recoveredData = (0, ethereumjs_util_1.ecrecover)(Buffer.from(txHash.slice(2), 'hex'), rsvSig.v, rsvSig.r, rsvSig.s);\n const recoveredAddress = (0, ethereumjs_util_1.bufferToHex)((0, ethereumjs_util_1.pubToAddress)(recoveredData));\n hasPrefix = !(0, address_1.sameString)(recoveredAddress, ownerAddress);\n }\n catch (e) {\n hasPrefix = true;\n }\n return hasPrefix;\n}\nexports.isTxHashSignedWithPrefix = isTxHashSignedWithPrefix;\nconst adjustVInSignature = (signingMethod, signature, safeTxHash, signerAddress) => {\n const ETHEREUM_V_VALUES = [0, 1, 27, 28];\n const MIN_VALID_V_VALUE_FOR_SAFE_ECDSA = 27;\n let signatureV = parseInt(signature.slice(-2), 16);\n if (!ETHEREUM_V_VALUES.includes(signatureV)) {\n throw new Error('Invalid signature');\n }\n if (signingMethod === 'eth_sign') {\n /*\n The Safe's expected V value for ECDSA signature is:\n - 27 or 28\n - 31 or 32 if the message was signed with a EIP-191 prefix. Should be calculated as ECDSA V value + 4\n Some wallets do that, some wallets don't, V > 30 is used by contracts to differentiate between\n prefixed and non-prefixed messages. The only way to know if the message was signed with a\n prefix is to check if the signer address is the same as the recovered address.\n \n More info:\n https://docs.safe.global/learn/signatures\n */\n if (signatureV < MIN_VALID_V_VALUE_FOR_SAFE_ECDSA) {\n signatureV += MIN_VALID_V_VALUE_FOR_SAFE_ECDSA;\n }\n const adjustedSignature = signature.slice(0, -2) + signatureV.toString(16);\n const signatureHasPrefix = isTxHashSignedWithPrefix(safeTxHash, adjustedSignature, signerAddress);\n if (signatureHasPrefix) {\n signatureV += 4;\n }\n }\n if (signingMethod === 'eth_signTypedData') {\n // Metamask with ledger returns V=0/1 here too, we need to adjust it to be ethereum's valid value (27 or 28)\n if (signatureV < MIN_VALID_V_VALUE_FOR_SAFE_ECDSA) {\n signatureV += MIN_VALID_V_VALUE_FOR_SAFE_ECDSA;\n }\n }\n signature = signature.slice(0, -2) + signatureV.toString(16);\n return signature;\n};\nexports.adjustVInSignature = adjustVInSignature;\nasync function generateSignature(ethAdapter, hash) {\n const signerAddress = await ethAdapter.getSignerAddress();\n if (!signerAddress) {\n throw new Error('EthAdapter must be initialized with a signer to use this method');\n }\n let signature = await ethAdapter.signMessage(hash);\n signature = (0, exports.adjustVInSignature)('eth_sign', signature, hash, signerAddress);\n return new SafeSignature_1.EthSafeSignature(signerAddress, signature);\n}\nexports.generateSignature = generateSignature;\nasync function generateEIP712Signature(ethAdapter, safeTransactionEIP712Args, methodVersion) {\n const signerAddress = await ethAdapter.getSignerAddress();\n if (!signerAddress) {\n throw new Error('EthAdapter must be initialized with a signer to use this method');\n }\n let signature = await ethAdapter.signTypedData(safeTransactionEIP712Args, methodVersion);\n signature = (0, exports.adjustVInSignature)('eth_signTypedData', signature);\n return new SafeSignature_1.EthSafeSignature(signerAddress, signature);\n}\nexports.generateEIP712Signature = generateEIP712Signature;\n//# sourceMappingURL=utils.js.map",null,"\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./gas\"), exports);\n__exportStar(require(\"./SafeTransaction\"), exports);\n__exportStar(require(\"./types\"), exports);\n__exportStar(require(\"./utils\"), exports);\n//# sourceMappingURL=index.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.estimateTxGas = void 0;\nconst bignumber_1 = require(\"@ethersproject/bignumber\");\nconst safe_core_sdk_types_1 = require(\"@safe-global/safe-core-sdk-types\");\nfunction estimateDataGasCosts(data) {\n const reducer = (accumulator, currentValue) => {\n if (currentValue === '0x') {\n return accumulator + 0;\n }\n if (currentValue === '00') {\n return accumulator + 4;\n }\n return accumulator + 16;\n };\n return data.match(/.{2}/g).reduce(reducer, 0);\n}\nasync function estimateTxGas(safeContract, ethAdapter, to, valueInWei, data, operation) {\n let txGasEstimation = bignumber_1.BigNumber.from(0);\n const safeAddress = safeContract.getAddress();\n const estimateData = safeContract.encode('requiredTxGas', [\n to,\n valueInWei,\n data,\n operation\n ]);\n try {\n const estimateResponse = await ethAdapter.estimateGas({\n to: safeAddress,\n from: safeAddress,\n data: estimateData\n });\n txGasEstimation = bignumber_1.BigNumber.from('0x' + estimateResponse.substring(138)).add(10000);\n }\n catch (error) { }\n if (txGasEstimation.gt(0)) {\n const dataGasEstimation = estimateDataGasCosts(estimateData);\n let additionalGas = 10000;\n for (let i = 0; i < 10; i++) {\n try {\n const estimateResponse = await ethAdapter.call({\n to: safeAddress,\n from: safeAddress,\n data: estimateData,\n gasPrice: '0',\n gasLimit: txGasEstimation.add(dataGasEstimation).add(additionalGas).toString()\n });\n if (estimateResponse !== '0x') {\n break;\n }\n }\n catch (error) { }\n txGasEstimation = txGasEstimation.add(additionalGas);\n additionalGas *= 2;\n }\n return txGasEstimation.add(additionalGas).toString();\n }\n try {\n const estimateGas = await ethAdapter.estimateGas({\n to,\n from: safeAddress,\n value: valueInWei,\n data\n });\n return estimateGas;\n }\n catch (error) {\n if (operation === safe_core_sdk_types_1.OperationType.DelegateCall) {\n return '0';\n }\n return Promise.reject(error);\n }\n}\nexports.estimateTxGas = estimateTxGas;\n//# sourceMappingURL=gas.js.map",null,"\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./contracts/CompatibilityFallbackHandlerContract\"), exports);\n__exportStar(require(\"./contracts/CreateCallContract\"), exports);\n__exportStar(require(\"./contracts/GnosisSafeContract\"), exports);\n__exportStar(require(\"./contracts/GnosisSafeProxyFactoryContract\"), exports);\n__exportStar(require(\"./contracts/MultiSendCallOnlyContract\"), exports);\n__exportStar(require(\"./contracts/MultiSendContract\"), exports);\n__exportStar(require(\"./contracts/SignMessageLibContract\"), exports);\n__exportStar(require(\"./ethereumLibs/EthAdapter\"), exports);\n__exportStar(require(\"./types\"), exports);\n//# sourceMappingURL=index.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=CompatibilityFallbackHandlerContract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=CreateCallContract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=GnosisSafeContract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=GnosisSafeProxyFactoryContract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=MultiSendCallOnlyContract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=MultiSendContract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=SignMessageLibContract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=EthAdapter.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.OperationType = void 0;\nvar OperationType;\n(function (OperationType) {\n OperationType[OperationType[\"Call\"] = 0] = \"Call\";\n OperationType[OperationType[\"DelegateCall\"] = 1] = \"DelegateCall\"; // 1\n})(OperationType = exports.OperationType || (exports.OperationType = {}));\n//# sourceMappingURL=types.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass EthSafeTransaction {\n constructor(data) {\n this.signatures = new Map();\n this.data = data;\n }\n addSignature(signature) {\n this.signatures.set(signature.signer.toLowerCase(), signature);\n }\n encodedSignatures() {\n const signers = Array.from(this.signatures.keys()).sort();\n const baseOffset = signers.length * 65;\n let staticParts = '';\n let dynamicParts = '';\n signers.forEach((signerAddress) => {\n const signature = this.signatures.get(signerAddress);\n staticParts += signature === null || signature === void 0 ? void 0 : signature.staticPart( /*baseOffset + dynamicParts.length / 2*/).slice(2);\n dynamicParts += signature === null || signature === void 0 ? void 0 : signature.dynamicPart();\n });\n return '0x' + staticParts + dynamicParts;\n }\n}\nexports.default = EthSafeTransaction;\n//# sourceMappingURL=SafeTransaction.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=types.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSafeMultisigTransactionResponse = exports.isMetaTransactionArray = exports.decodeMultiSendData = exports.encodeMultiSendData = exports.standardizeSafeTransactionData = exports.standardizeMetaTransactionData = void 0;\nconst abi_1 = require(\"@ethersproject/abi\");\nconst bytes_1 = require(\"@ethersproject/bytes\");\nconst solidity_1 = require(\"@ethersproject/solidity\");\nconst utils_1 = require(\"../../utils\");\nconst constants_1 = require(\"../../utils/constants\");\nconst safe_core_sdk_types_1 = require(\"@safe-global/safe-core-sdk-types\");\nconst web3_utils_1 = require(\"web3-utils\");\nconst gas_1 = require(\"./gas\");\nfunction standardizeMetaTransactionData(tx) {\n var _a;\n const standardizedTxs = {\n ...tx,\n operation: (_a = tx.operation) !== null && _a !== void 0 ? _a : safe_core_sdk_types_1.OperationType.Call\n };\n return standardizedTxs;\n}\nexports.standardizeMetaTransactionData = standardizeMetaTransactionData;\nasync function standardizeSafeTransactionData({ safeContract, predictedSafe, ethAdapter, tx }) {\n var _a, _b, _c, _d, _e;\n const standardizedTxs = {\n to: tx.to,\n value: tx.value,\n data: tx.data,\n operation: (_a = tx.operation) !== null && _a !== void 0 ? _a : safe_core_sdk_types_1.OperationType.Call,\n baseGas: (_b = tx.baseGas) !== null && _b !== void 0 ? _b : '0',\n gasPrice: (_c = tx.gasPrice) !== null && _c !== void 0 ? _c : '0',\n gasToken: tx.gasToken || constants_1.ZERO_ADDRESS,\n refundReceiver: tx.refundReceiver || constants_1.ZERO_ADDRESS,\n nonce: (_d = tx.nonce) !== null && _d !== void 0 ? _d : (safeContract ? await safeContract.getNonce() : 0)\n };\n if (typeof tx.safeTxGas !== 'undefined') {\n return {\n ...standardizedTxs,\n safeTxGas: tx.safeTxGas\n };\n }\n let safeVersion;\n if ((_e = predictedSafe === null || predictedSafe === void 0 ? void 0 : predictedSafe.safeDeploymentConfig) === null || _e === void 0 ? void 0 : _e.safeVersion) {\n safeVersion = predictedSafe === null || predictedSafe === void 0 ? void 0 : predictedSafe.safeDeploymentConfig.safeVersion;\n }\n else {\n if (!safeContract) {\n throw new Error('Safe is not deployed');\n }\n safeVersion = await safeContract.getVersion();\n }\n const hasSafeTxGasOptional = (0, utils_1.hasSafeFeature)(utils_1.SAFE_FEATURES.SAFE_TX_GAS_OPTIONAL, safeVersion);\n if ((hasSafeTxGasOptional && standardizedTxs.gasPrice === '0') ||\n (hasSafeTxGasOptional && predictedSafe)) {\n return {\n ...standardizedTxs,\n safeTxGas: '0'\n };\n }\n if (!safeContract) {\n throw new Error('Safe is not deployed');\n }\n const safeTxGas = await (0, gas_1.estimateTxGas)(safeContract, ethAdapter, standardizedTxs.to, standardizedTxs.value, standardizedTxs.data, standardizedTxs.operation);\n return {\n ...standardizedTxs,\n safeTxGas\n };\n}\nexports.standardizeSafeTransactionData = standardizeSafeTransactionData;\nfunction encodeMetaTransaction(tx) {\n const data = (0, bytes_1.arrayify)(tx.data);\n const encoded = (0, solidity_1.pack)(['uint8', 'address', 'uint256', 'uint256', 'bytes'], [tx.operation, tx.to, tx.value, data.length, data]);\n return encoded.slice(2);\n}\nfunction encodeMultiSendData(txs) {\n return '0x' + txs.map((tx) => encodeMetaTransaction(tx)).join('');\n}\nexports.encodeMultiSendData = encodeMultiSendData;\nfunction decodeMultiSendData(encodedData) {\n const multiSendInterface = new abi_1.Interface([\n 'function multiSend(bytes memory transactions) public payable'\n ]);\n const [decodedData] = multiSendInterface.decodeFunctionData('multiSend', encodedData);\n const txs = [];\n // Decode after 0x\n let index = 2;\n while (index < decodedData.length) {\n // As we are decoding hex encoded bytes calldata, each byte is represented by 2 chars\n // uint8 operation, address to, value uint256, dataLength uint256\n const operation = `0x${decodedData.slice(index, (index += 2))}`;\n const to = `0x${decodedData.slice(index, (index += 40))}`;\n const value = `0x${decodedData.slice(index, (index += 64))}`;\n const dataLength = parseInt(decodedData.slice(index, (index += 64)), 16) * 2;\n const data = `0x${decodedData.slice(index, (index += dataLength))}`;\n txs.push({\n operation: (0, web3_utils_1.hexToNumber)(operation),\n to: (0, web3_utils_1.toChecksumAddress)(to),\n value: (0, web3_utils_1.hexToNumberString)(value),\n data\n });\n }\n return txs;\n}\nexports.decodeMultiSendData = decodeMultiSendData;\nfunction isMetaTransactionArray(safeTransactions) {\n return (safeTransactions === null || safeTransactions === void 0 ? void 0 : safeTransactions.length) !== undefined;\n}\nexports.isMetaTransactionArray = isMetaTransactionArray;\nfunction isSafeMultisigTransactionResponse(safeTransaction) {\n return safeTransaction.isExecuted !== undefined;\n}\nexports.isSafeMultisigTransactionResponse = isSafeMultisigTransactionResponse;\n//# sourceMappingURL=utils.js.map",null,"\"use strict\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, concat, hexDataSlice, hexlify, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { id } from \"@ethersproject/hash\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { defineReadOnly, Description, getStatic } from \"@ethersproject/properties\";\nimport { defaultAbiCoder } from \"./abi-coder\";\nimport { checkResultErrors } from \"./coders/abstract-coder\";\nimport { ConstructorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, ParamType } from \"./fragments\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nexport { checkResultErrors };\nexport class LogDescription extends Description {\n}\nexport class TransactionDescription extends Description {\n}\nexport class ErrorDescription extends Description {\n}\nexport class Indexed extends Description {\n static isIndexed(value) {\n return !!(value && value._isIndexed);\n }\n}\nconst BuiltinErrors = {\n \"0x08c379a0\": { signature: \"Error(string)\", name: \"Error\", inputs: [\"string\"], reason: true },\n \"0x4e487b71\": { signature: \"Panic(uint256)\", name: \"Panic\", inputs: [\"uint256\"] }\n};\nfunction wrapAccessError(property, error) {\n const wrap = new Error(`deferred error during ABI decoding triggered accessing ${property}`);\n wrap.error = error;\n return wrap;\n}\n/*\nfunction checkNames(fragment: Fragment, type: \"input\" | \"output\", params: Array): void {\n params.reduce((accum, param) => {\n if (param.name) {\n if (accum[param.name]) {\n logger.throwArgumentError(`duplicate ${ type } parameter ${ JSON.stringify(param.name) } in ${ fragment.format(\"full\") }`, \"fragment\", fragment);\n }\n accum[param.name] = true;\n }\n return accum;\n }, <{ [ name: string ]: boolean }>{ });\n}\n*/\nexport class Interface {\n constructor(fragments) {\n let abi = [];\n if (typeof (fragments) === \"string\") {\n abi = JSON.parse(fragments);\n }\n else {\n abi = fragments;\n }\n defineReadOnly(this, \"fragments\", abi.map((fragment) => {\n return Fragment.from(fragment);\n }).filter((fragment) => (fragment != null)));\n defineReadOnly(this, \"_abiCoder\", getStatic(new.target, \"getAbiCoder\")());\n defineReadOnly(this, \"functions\", {});\n defineReadOnly(this, \"errors\", {});\n defineReadOnly(this, \"events\", {});\n defineReadOnly(this, \"structs\", {});\n // Add all fragments by their signature\n this.fragments.forEach((fragment) => {\n let bucket = null;\n switch (fragment.type) {\n case \"constructor\":\n if (this.deploy) {\n logger.warn(\"duplicate definition - constructor\");\n return;\n }\n //checkNames(fragment, \"input\", fragment.inputs);\n defineReadOnly(this, \"deploy\", fragment);\n return;\n case \"function\":\n //checkNames(fragment, \"input\", fragment.inputs);\n //checkNames(fragment, \"output\", (fragment).outputs);\n bucket = this.functions;\n break;\n case \"event\":\n //checkNames(fragment, \"input\", fragment.inputs);\n bucket = this.events;\n break;\n case \"error\":\n bucket = this.errors;\n break;\n default:\n return;\n }\n let signature = fragment.format();\n if (bucket[signature]) {\n logger.warn(\"duplicate definition - \" + signature);\n return;\n }\n bucket[signature] = fragment;\n });\n // If we do not have a constructor add a default\n if (!this.deploy) {\n defineReadOnly(this, \"deploy\", ConstructorFragment.from({\n payable: false,\n type: \"constructor\"\n }));\n }\n defineReadOnly(this, \"_isInterface\", true);\n }\n format(format) {\n if (!format) {\n format = FormatTypes.full;\n }\n if (format === FormatTypes.sighash) {\n logger.throwArgumentError(\"interface does not support formatting sighash\", \"format\", format);\n }\n const abi = this.fragments.map((fragment) => fragment.format(format));\n // We need to re-bundle the JSON fragments a bit\n if (format === FormatTypes.json) {\n return JSON.stringify(abi.map((j) => JSON.parse(j)));\n }\n return abi;\n }\n // Sub-classes can override these to handle other blockchains\n static getAbiCoder() {\n return defaultAbiCoder;\n }\n static getAddress(address) {\n return getAddress(address);\n }\n static getSighash(fragment) {\n return hexDataSlice(id(fragment.format()), 0, 4);\n }\n static getEventTopic(eventFragment) {\n return id(eventFragment.format());\n }\n // Find a function definition by any means necessary (unless it is ambiguous)\n getFunction(nameOrSignatureOrSighash) {\n if (isHexString(nameOrSignatureOrSighash)) {\n for (const name in this.functions) {\n if (nameOrSignatureOrSighash === this.getSighash(name)) {\n return this.functions[name];\n }\n }\n logger.throwArgumentError(\"no matching function\", \"sighash\", nameOrSignatureOrSighash);\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrSighash.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrSighash.trim();\n const matching = Object.keys(this.functions).filter((f) => (f.split(\"(\" /* fix:) */)[0] === name));\n if (matching.length === 0) {\n logger.throwArgumentError(\"no matching function\", \"name\", name);\n }\n else if (matching.length > 1) {\n logger.throwArgumentError(\"multiple matching functions\", \"name\", name);\n }\n return this.functions[matching[0]];\n }\n // Normalize the signature and lookup the function\n const result = this.functions[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];\n if (!result) {\n logger.throwArgumentError(\"no matching function\", \"signature\", nameOrSignatureOrSighash);\n }\n return result;\n }\n // Find an event definition by any means necessary (unless it is ambiguous)\n getEvent(nameOrSignatureOrTopic) {\n if (isHexString(nameOrSignatureOrTopic)) {\n const topichash = nameOrSignatureOrTopic.toLowerCase();\n for (const name in this.events) {\n if (topichash === this.getEventTopic(name)) {\n return this.events[name];\n }\n }\n logger.throwArgumentError(\"no matching event\", \"topichash\", topichash);\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrTopic.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrTopic.trim();\n const matching = Object.keys(this.events).filter((f) => (f.split(\"(\" /* fix:) */)[0] === name));\n if (matching.length === 0) {\n logger.throwArgumentError(\"no matching event\", \"name\", name);\n }\n else if (matching.length > 1) {\n logger.throwArgumentError(\"multiple matching events\", \"name\", name);\n }\n return this.events[matching[0]];\n }\n // Normalize the signature and lookup the function\n const result = this.events[EventFragment.fromString(nameOrSignatureOrTopic).format()];\n if (!result) {\n logger.throwArgumentError(\"no matching event\", \"signature\", nameOrSignatureOrTopic);\n }\n return result;\n }\n // Find a function definition by any means necessary (unless it is ambiguous)\n getError(nameOrSignatureOrSighash) {\n if (isHexString(nameOrSignatureOrSighash)) {\n const getSighash = getStatic(this.constructor, \"getSighash\");\n for (const name in this.errors) {\n const error = this.errors[name];\n if (nameOrSignatureOrSighash === getSighash(error)) {\n return this.errors[name];\n }\n }\n logger.throwArgumentError(\"no matching error\", \"sighash\", nameOrSignatureOrSighash);\n }\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrSighash.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrSighash.trim();\n const matching = Object.keys(this.errors).filter((f) => (f.split(\"(\" /* fix:) */)[0] === name));\n if (matching.length === 0) {\n logger.throwArgumentError(\"no matching error\", \"name\", name);\n }\n else if (matching.length > 1) {\n logger.throwArgumentError(\"multiple matching errors\", \"name\", name);\n }\n return this.errors[matching[0]];\n }\n // Normalize the signature and lookup the function\n const result = this.errors[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];\n if (!result) {\n logger.throwArgumentError(\"no matching error\", \"signature\", nameOrSignatureOrSighash);\n }\n return result;\n }\n // Get the sighash (the bytes4 selector) used by Solidity to identify a function\n getSighash(fragment) {\n if (typeof (fragment) === \"string\") {\n try {\n fragment = this.getFunction(fragment);\n }\n catch (error) {\n try {\n fragment = this.getError(fragment);\n }\n catch (_) {\n throw error;\n }\n }\n }\n return getStatic(this.constructor, \"getSighash\")(fragment);\n }\n // Get the topic (the bytes32 hash) used by Solidity to identify an event\n getEventTopic(eventFragment) {\n if (typeof (eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n return getStatic(this.constructor, \"getEventTopic\")(eventFragment);\n }\n _decodeParams(params, data) {\n return this._abiCoder.decode(params, data);\n }\n _encodeParams(params, values) {\n return this._abiCoder.encode(params, values);\n }\n encodeDeploy(values) {\n return this._encodeParams(this.deploy.inputs, values || []);\n }\n decodeErrorResult(fragment, data) {\n if (typeof (fragment) === \"string\") {\n fragment = this.getError(fragment);\n }\n const bytes = arrayify(data);\n if (hexlify(bytes.slice(0, 4)) !== this.getSighash(fragment)) {\n logger.throwArgumentError(`data signature does not match error ${fragment.name}.`, \"data\", hexlify(bytes));\n }\n return this._decodeParams(fragment.inputs, bytes.slice(4));\n }\n encodeErrorResult(fragment, values) {\n if (typeof (fragment) === \"string\") {\n fragment = this.getError(fragment);\n }\n return hexlify(concat([\n this.getSighash(fragment),\n this._encodeParams(fragment.inputs, values || [])\n ]));\n }\n // Decode the data for a function call (e.g. tx.data)\n decodeFunctionData(functionFragment, data) {\n if (typeof (functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n const bytes = arrayify(data);\n if (hexlify(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) {\n logger.throwArgumentError(`data signature does not match function ${functionFragment.name}.`, \"data\", hexlify(bytes));\n }\n return this._decodeParams(functionFragment.inputs, bytes.slice(4));\n }\n // Encode the data for a function call (e.g. tx.data)\n encodeFunctionData(functionFragment, values) {\n if (typeof (functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n return hexlify(concat([\n this.getSighash(functionFragment),\n this._encodeParams(functionFragment.inputs, values || [])\n ]));\n }\n // Decode the result from a function call (e.g. from eth_call)\n decodeFunctionResult(functionFragment, data) {\n if (typeof (functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n let bytes = arrayify(data);\n let reason = null;\n let message = \"\";\n let errorArgs = null;\n let errorName = null;\n let errorSignature = null;\n switch (bytes.length % this._abiCoder._getWordSize()) {\n case 0:\n try {\n return this._abiCoder.decode(functionFragment.outputs, bytes);\n }\n catch (error) { }\n break;\n case 4: {\n const selector = hexlify(bytes.slice(0, 4));\n const builtin = BuiltinErrors[selector];\n if (builtin) {\n errorArgs = this._abiCoder.decode(builtin.inputs, bytes.slice(4));\n errorName = builtin.name;\n errorSignature = builtin.signature;\n if (builtin.reason) {\n reason = errorArgs[0];\n }\n if (errorName === \"Error\") {\n message = `; VM Exception while processing transaction: reverted with reason string ${JSON.stringify(errorArgs[0])}`;\n }\n else if (errorName === \"Panic\") {\n message = `; VM Exception while processing transaction: reverted with panic code ${errorArgs[0]}`;\n }\n }\n else {\n try {\n const error = this.getError(selector);\n errorArgs = this._abiCoder.decode(error.inputs, bytes.slice(4));\n errorName = error.name;\n errorSignature = error.format();\n }\n catch (error) { }\n }\n break;\n }\n }\n return logger.throwError(\"call revert exception\" + message, Logger.errors.CALL_EXCEPTION, {\n method: functionFragment.format(),\n data: hexlify(data), errorArgs, errorName, errorSignature, reason\n });\n }\n // Encode the result for a function call (e.g. for eth_call)\n encodeFunctionResult(functionFragment, values) {\n if (typeof (functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n return hexlify(this._abiCoder.encode(functionFragment.outputs, values || []));\n }\n // Create the filter for the event with search criteria (e.g. for eth_filterLog)\n encodeFilterTopics(eventFragment, values) {\n if (typeof (eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n if (values.length > eventFragment.inputs.length) {\n logger.throwError(\"too many arguments for \" + eventFragment.format(), Logger.errors.UNEXPECTED_ARGUMENT, {\n argument: \"values\",\n value: values\n });\n }\n let topics = [];\n if (!eventFragment.anonymous) {\n topics.push(this.getEventTopic(eventFragment));\n }\n const encodeTopic = (param, value) => {\n if (param.type === \"string\") {\n return id(value);\n }\n else if (param.type === \"bytes\") {\n return keccak256(hexlify(value));\n }\n if (param.type === \"bool\" && typeof (value) === \"boolean\") {\n value = (value ? \"0x01\" : \"0x00\");\n }\n if (param.type.match(/^u?int/)) {\n value = BigNumber.from(value).toHexString();\n }\n // Check addresses are valid\n if (param.type === \"address\") {\n this._abiCoder.encode([\"address\"], [value]);\n }\n return hexZeroPad(hexlify(value), 32);\n };\n values.forEach((value, index) => {\n let param = eventFragment.inputs[index];\n if (!param.indexed) {\n if (value != null) {\n logger.throwArgumentError(\"cannot filter non-indexed parameters; must be null\", (\"contract.\" + param.name), value);\n }\n return;\n }\n if (value == null) {\n topics.push(null);\n }\n else if (param.baseType === \"array\" || param.baseType === \"tuple\") {\n logger.throwArgumentError(\"filtering with tuples or arrays not supported\", (\"contract.\" + param.name), value);\n }\n else if (Array.isArray(value)) {\n topics.push(value.map((value) => encodeTopic(param, value)));\n }\n else {\n topics.push(encodeTopic(param, value));\n }\n });\n // Trim off trailing nulls\n while (topics.length && topics[topics.length - 1] === null) {\n topics.pop();\n }\n return topics;\n }\n encodeEventLog(eventFragment, values) {\n if (typeof (eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n const topics = [];\n const dataTypes = [];\n const dataValues = [];\n if (!eventFragment.anonymous) {\n topics.push(this.getEventTopic(eventFragment));\n }\n if (values.length !== eventFragment.inputs.length) {\n logger.throwArgumentError(\"event arguments/values mismatch\", \"values\", values);\n }\n eventFragment.inputs.forEach((param, index) => {\n const value = values[index];\n if (param.indexed) {\n if (param.type === \"string\") {\n topics.push(id(value));\n }\n else if (param.type === \"bytes\") {\n topics.push(keccak256(value));\n }\n else if (param.baseType === \"tuple\" || param.baseType === \"array\") {\n // @TODO\n throw new Error(\"not implemented\");\n }\n else {\n topics.push(this._abiCoder.encode([param.type], [value]));\n }\n }\n else {\n dataTypes.push(param);\n dataValues.push(value);\n }\n });\n return {\n data: this._abiCoder.encode(dataTypes, dataValues),\n topics: topics\n };\n }\n // Decode a filter for the event and the search criteria\n decodeEventLog(eventFragment, data, topics) {\n if (typeof (eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n if (topics != null && !eventFragment.anonymous) {\n let topicHash = this.getEventTopic(eventFragment);\n if (!isHexString(topics[0], 32) || topics[0].toLowerCase() !== topicHash) {\n logger.throwError(\"fragment/topic mismatch\", Logger.errors.INVALID_ARGUMENT, { argument: \"topics[0]\", expected: topicHash, value: topics[0] });\n }\n topics = topics.slice(1);\n }\n let indexed = [];\n let nonIndexed = [];\n let dynamic = [];\n eventFragment.inputs.forEach((param, index) => {\n if (param.indexed) {\n if (param.type === \"string\" || param.type === \"bytes\" || param.baseType === \"tuple\" || param.baseType === \"array\") {\n indexed.push(ParamType.fromObject({ type: \"bytes32\", name: param.name }));\n dynamic.push(true);\n }\n else {\n indexed.push(param);\n dynamic.push(false);\n }\n }\n else {\n nonIndexed.push(param);\n dynamic.push(false);\n }\n });\n let resultIndexed = (topics != null) ? this._abiCoder.decode(indexed, concat(topics)) : null;\n let resultNonIndexed = this._abiCoder.decode(nonIndexed, data, true);\n let result = [];\n let nonIndexedIndex = 0, indexedIndex = 0;\n eventFragment.inputs.forEach((param, index) => {\n if (param.indexed) {\n if (resultIndexed == null) {\n result[index] = new Indexed({ _isIndexed: true, hash: null });\n }\n else if (dynamic[index]) {\n result[index] = new Indexed({ _isIndexed: true, hash: resultIndexed[indexedIndex++] });\n }\n else {\n try {\n result[index] = resultIndexed[indexedIndex++];\n }\n catch (error) {\n result[index] = error;\n }\n }\n }\n else {\n try {\n result[index] = resultNonIndexed[nonIndexedIndex++];\n }\n catch (error) {\n result[index] = error;\n }\n }\n // Add the keyword argument if named and safe\n if (param.name && result[param.name] == null) {\n const value = result[index];\n // Make error named values throw on access\n if (value instanceof Error) {\n Object.defineProperty(result, param.name, {\n enumerable: true,\n get: () => { throw wrapAccessError(`property ${JSON.stringify(param.name)}`, value); }\n });\n }\n else {\n result[param.name] = value;\n }\n }\n });\n // Make all error indexed values throw on access\n for (let i = 0; i < result.length; i++) {\n const value = result[i];\n if (value instanceof Error) {\n Object.defineProperty(result, i, {\n enumerable: true,\n get: () => { throw wrapAccessError(`index ${i}`, value); }\n });\n }\n }\n return Object.freeze(result);\n }\n // Given a transaction, find the matching function fragment (if any) and\n // determine all its properties and call parameters\n parseTransaction(tx) {\n let fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase());\n if (!fragment) {\n return null;\n }\n return new TransactionDescription({\n args: this._abiCoder.decode(fragment.inputs, \"0x\" + tx.data.substring(10)),\n functionFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n sighash: this.getSighash(fragment),\n value: BigNumber.from(tx.value || \"0\"),\n });\n }\n // @TODO\n //parseCallResult(data: BytesLike): ??\n // Given an event log, find the matching event fragment (if any) and\n // determine all its properties and values\n parseLog(log) {\n let fragment = this.getEvent(log.topics[0]);\n if (!fragment || fragment.anonymous) {\n return null;\n }\n // @TODO: If anonymous, and the only method, and the input count matches, should we parse?\n // Probably not, because just because it is the only event in the ABI does\n // not mean we have the full ABI; maybe just a fragment?\n return new LogDescription({\n eventFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n topic: this.getEventTopic(fragment),\n args: this.decodeEventLog(fragment, log.data, log.topics)\n });\n }\n parseError(data) {\n const hexData = hexlify(data);\n let fragment = this.getError(hexData.substring(0, 10).toLowerCase());\n if (!fragment) {\n return null;\n }\n return new ErrorDescription({\n args: this._abiCoder.decode(fragment.inputs, \"0x\" + hexData.substring(10)),\n errorFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n sighash: this.getSighash(fragment),\n });\n }\n /*\n static from(value: Array | string | Interface) {\n if (Interface.isInterface(value)) {\n return value;\n }\n if (typeof(value) === \"string\") {\n return new Interface(JSON.parse(value));\n }\n return new Interface(value);\n }\n */\n static isInterface(value) {\n return !!(value && value._isInterface);\n }\n}\n//# sourceMappingURL=interface.js.map","\"use strict\";\n\nimport { getAddress } from \"@ethersproject/address\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { arrayify, BytesLike, concat, hexDataSlice, hexlify, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { id } from \"@ethersproject/hash\";\nimport { keccak256 } from \"@ethersproject/keccak256\"\nimport { defineReadOnly, Description, getStatic } from \"@ethersproject/properties\";\n\nimport { AbiCoder, defaultAbiCoder } from \"./abi-coder\";\nimport { checkResultErrors, Result } from \"./coders/abstract-coder\";\nimport { ConstructorFragment, ErrorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, JsonFragment, ParamType } from \"./fragments\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nexport { checkResultErrors, Result };\n\nexport class LogDescription extends Description {\n readonly eventFragment: EventFragment;\n readonly name: string;\n readonly signature: string;\n readonly topic: string;\n readonly args: Result\n}\n\nexport class TransactionDescription extends Description {\n readonly functionFragment: FunctionFragment;\n readonly name: string;\n readonly args: Result;\n readonly signature: string;\n readonly sighash: string;\n readonly value: BigNumber;\n}\n\nexport class ErrorDescription extends Description {\n readonly errorFragment: ErrorFragment;\n readonly name: string;\n readonly args: Result;\n readonly signature: string;\n readonly sighash: string;\n}\n\nexport class Indexed extends Description {\n readonly hash: string;\n readonly _isIndexed: boolean;\n\n static isIndexed(value: any): value is Indexed {\n return !!(value && value._isIndexed);\n }\n}\n\nconst BuiltinErrors: Record, name: string, reason?: boolean }> = {\n \"0x08c379a0\": { signature: \"Error(string)\", name: \"Error\", inputs: [ \"string\" ], reason: true },\n \"0x4e487b71\": { signature: \"Panic(uint256)\", name: \"Panic\", inputs: [ \"uint256\" ] }\n}\n\nfunction wrapAccessError(property: string, error: Error): Error {\n const wrap = new Error(`deferred error during ABI decoding triggered accessing ${ property }`);\n (wrap).error = error;\n return wrap;\n}\n\n/*\nfunction checkNames(fragment: Fragment, type: \"input\" | \"output\", params: Array): void {\n params.reduce((accum, param) => {\n if (param.name) {\n if (accum[param.name]) {\n logger.throwArgumentError(`duplicate ${ type } parameter ${ JSON.stringify(param.name) } in ${ fragment.format(\"full\") }`, \"fragment\", fragment);\n }\n accum[param.name] = true;\n }\n return accum;\n }, <{ [ name: string ]: boolean }>{ });\n}\n*/\nexport class Interface {\n readonly fragments: ReadonlyArray;\n\n readonly errors: { [ name: string ]: ErrorFragment };\n readonly events: { [ name: string ]: EventFragment };\n readonly functions: { [ name: string ]: FunctionFragment };\n readonly structs: { [ name: string ]: any };\n\n readonly deploy: ConstructorFragment;\n\n readonly _abiCoder: AbiCoder;\n\n readonly _isInterface: boolean;\n\n constructor(fragments: string | ReadonlyArray) {\n let abi: ReadonlyArray = [ ];\n if (typeof(fragments) === \"string\") {\n abi = JSON.parse(fragments);\n } else {\n abi = fragments;\n }\n\n defineReadOnly(this, \"fragments\", abi.map((fragment) => {\n return Fragment.from(fragment);\n }).filter((fragment) => (fragment != null)));\n\n defineReadOnly(this, \"_abiCoder\", getStatic<() => AbiCoder>(new.target, \"getAbiCoder\")());\n\n defineReadOnly(this, \"functions\", { });\n defineReadOnly(this, \"errors\", { });\n defineReadOnly(this, \"events\", { });\n defineReadOnly(this, \"structs\", { });\n\n // Add all fragments by their signature\n this.fragments.forEach((fragment) => {\n let bucket: { [ name: string ]: Fragment } = null;\n switch (fragment.type) {\n case \"constructor\":\n if (this.deploy) {\n logger.warn(\"duplicate definition - constructor\");\n return;\n }\n //checkNames(fragment, \"input\", fragment.inputs);\n defineReadOnly(this, \"deploy\", fragment);\n return;\n case \"function\":\n //checkNames(fragment, \"input\", fragment.inputs);\n //checkNames(fragment, \"output\", (fragment).outputs);\n bucket = this.functions;\n break;\n case \"event\":\n //checkNames(fragment, \"input\", fragment.inputs);\n bucket = this.events;\n break;\n case \"error\":\n bucket = this.errors;\n break;\n default:\n return;\n }\n\n let signature = fragment.format();\n if (bucket[signature]) {\n logger.warn(\"duplicate definition - \" + signature);\n return;\n }\n\n bucket[signature] = fragment;\n });\n\n // If we do not have a constructor add a default\n if (!this.deploy) {\n defineReadOnly(this, \"deploy\", ConstructorFragment.from({\n payable: false,\n type: \"constructor\"\n }));\n }\n\n defineReadOnly(this, \"_isInterface\", true);\n }\n\n format(format?: string): string | Array {\n if (!format) { format = FormatTypes.full; }\n if (format === FormatTypes.sighash) {\n logger.throwArgumentError(\"interface does not support formatting sighash\", \"format\", format);\n }\n\n const abi = this.fragments.map((fragment) => fragment.format(format));\n\n // We need to re-bundle the JSON fragments a bit\n if (format === FormatTypes.json) {\n return JSON.stringify(abi.map((j) => JSON.parse(j)));\n }\n\n return abi;\n }\n\n // Sub-classes can override these to handle other blockchains\n static getAbiCoder(): AbiCoder {\n return defaultAbiCoder;\n }\n\n static getAddress(address: string): string {\n return getAddress(address);\n }\n\n static getSighash(fragment: ErrorFragment | FunctionFragment): string {\n return hexDataSlice(id(fragment.format()), 0, 4);\n }\n\n static getEventTopic(eventFragment: EventFragment): string {\n return id(eventFragment.format());\n }\n\n // Find a function definition by any means necessary (unless it is ambiguous)\n getFunction(nameOrSignatureOrSighash: string): FunctionFragment {\n if (isHexString(nameOrSignatureOrSighash)) {\n for (const name in this.functions) {\n if (nameOrSignatureOrSighash === this.getSighash(name)) {\n return this.functions[name];\n }\n }\n logger.throwArgumentError(\"no matching function\", \"sighash\", nameOrSignatureOrSighash);\n }\n\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrSighash.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrSighash.trim();\n const matching = Object.keys(this.functions).filter((f) => (f.split(\"(\"/* fix:) */)[0] === name));\n if (matching.length === 0) {\n logger.throwArgumentError(\"no matching function\", \"name\", name);\n } else if (matching.length > 1) {\n logger.throwArgumentError(\"multiple matching functions\", \"name\", name);\n }\n\n return this.functions[matching[0]];\n }\n\n // Normalize the signature and lookup the function\n const result = this.functions[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];\n if (!result) {\n logger.throwArgumentError(\"no matching function\", \"signature\", nameOrSignatureOrSighash);\n }\n return result;\n }\n\n // Find an event definition by any means necessary (unless it is ambiguous)\n getEvent(nameOrSignatureOrTopic: string): EventFragment {\n if (isHexString(nameOrSignatureOrTopic)) {\n const topichash = nameOrSignatureOrTopic.toLowerCase();\n for (const name in this.events) {\n if (topichash === this.getEventTopic(name)) {\n return this.events[name];\n }\n }\n logger.throwArgumentError(\"no matching event\", \"topichash\", topichash);\n }\n\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrTopic.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrTopic.trim();\n const matching = Object.keys(this.events).filter((f) => (f.split(\"(\"/* fix:) */)[0] === name));\n if (matching.length === 0) {\n logger.throwArgumentError(\"no matching event\", \"name\", name);\n } else if (matching.length > 1) {\n logger.throwArgumentError(\"multiple matching events\", \"name\", name);\n }\n\n return this.events[matching[0]];\n }\n\n // Normalize the signature and lookup the function\n const result = this.events[EventFragment.fromString(nameOrSignatureOrTopic).format()];\n if (!result) {\n logger.throwArgumentError(\"no matching event\", \"signature\", nameOrSignatureOrTopic);\n }\n return result;\n }\n\n // Find a function definition by any means necessary (unless it is ambiguous)\n getError(nameOrSignatureOrSighash: string): ErrorFragment {\n if (isHexString(nameOrSignatureOrSighash)) {\n const getSighash = getStatic<(f: ErrorFragment | FunctionFragment) => string>(this.constructor, \"getSighash\");\n for (const name in this.errors) {\n const error = this.errors[name];\n if (nameOrSignatureOrSighash === getSighash(error)) {\n return this.errors[name];\n }\n }\n logger.throwArgumentError(\"no matching error\", \"sighash\", nameOrSignatureOrSighash);\n }\n\n // It is a bare name, look up the function (will return null if ambiguous)\n if (nameOrSignatureOrSighash.indexOf(\"(\") === -1) {\n const name = nameOrSignatureOrSighash.trim();\n const matching = Object.keys(this.errors).filter((f) => (f.split(\"(\"/* fix:) */)[0] === name));\n if (matching.length === 0) {\n logger.throwArgumentError(\"no matching error\", \"name\", name);\n } else if (matching.length > 1) {\n logger.throwArgumentError(\"multiple matching errors\", \"name\", name);\n }\n\n return this.errors[matching[0]];\n }\n\n // Normalize the signature and lookup the function\n const result = this.errors[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];\n if (!result) {\n logger.throwArgumentError(\"no matching error\", \"signature\", nameOrSignatureOrSighash);\n }\n return result;\n }\n\n // Get the sighash (the bytes4 selector) used by Solidity to identify a function\n getSighash(fragment: ErrorFragment | FunctionFragment | string): string {\n if (typeof(fragment) === \"string\") {\n try {\n fragment = this.getFunction(fragment);\n } catch (error) {\n try {\n fragment = this.getError(fragment);\n } catch (_) {\n throw error;\n }\n }\n }\n\n return getStatic<(f: ErrorFragment | FunctionFragment) => string>(this.constructor, \"getSighash\")(fragment);\n }\n\n // Get the topic (the bytes32 hash) used by Solidity to identify an event\n getEventTopic(eventFragment: EventFragment | string): string {\n if (typeof(eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n\n return getStatic<(e: EventFragment) => string>(this.constructor, \"getEventTopic\")(eventFragment);\n }\n\n\n _decodeParams(params: ReadonlyArray, data: BytesLike): Result {\n return this._abiCoder.decode(params, data)\n }\n\n _encodeParams(params: ReadonlyArray, values: ReadonlyArray): string {\n return this._abiCoder.encode(params, values)\n }\n\n encodeDeploy(values?: ReadonlyArray): string {\n return this._encodeParams(this.deploy.inputs, values || [ ]);\n }\n\n decodeErrorResult(fragment: ErrorFragment | string, data: BytesLike): Result {\n if (typeof(fragment) === \"string\") {\n fragment = this.getError(fragment);\n }\n\n const bytes = arrayify(data);\n\n if (hexlify(bytes.slice(0, 4)) !== this.getSighash(fragment)) {\n logger.throwArgumentError(`data signature does not match error ${ fragment.name }.`, \"data\", hexlify(bytes));\n }\n\n return this._decodeParams(fragment.inputs, bytes.slice(4));\n }\n\n encodeErrorResult(fragment: ErrorFragment | string, values?: ReadonlyArray): string {\n if (typeof(fragment) === \"string\") {\n fragment = this.getError(fragment);\n }\n\n return hexlify(concat([\n this.getSighash(fragment),\n this._encodeParams(fragment.inputs, values || [ ])\n ]));\n }\n\n // Decode the data for a function call (e.g. tx.data)\n decodeFunctionData(functionFragment: FunctionFragment | string, data: BytesLike): Result {\n if (typeof(functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n\n const bytes = arrayify(data);\n\n if (hexlify(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) {\n logger.throwArgumentError(`data signature does not match function ${ functionFragment.name }.`, \"data\", hexlify(bytes));\n }\n\n return this._decodeParams(functionFragment.inputs, bytes.slice(4));\n }\n\n // Encode the data for a function call (e.g. tx.data)\n encodeFunctionData(functionFragment: FunctionFragment | string, values?: ReadonlyArray): string {\n if (typeof(functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n\n return hexlify(concat([\n this.getSighash(functionFragment),\n this._encodeParams(functionFragment.inputs, values || [ ])\n ]));\n }\n\n // Decode the result from a function call (e.g. from eth_call)\n decodeFunctionResult(functionFragment: FunctionFragment | string, data: BytesLike): Result {\n if (typeof(functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n\n let bytes = arrayify(data);\n\n let reason: string = null;\n let message = \"\";\n let errorArgs: Result = null;\n let errorName: string = null;\n let errorSignature: string = null;\n switch (bytes.length % this._abiCoder._getWordSize()) {\n case 0:\n try {\n return this._abiCoder.decode(functionFragment.outputs, bytes);\n } catch (error) { }\n break;\n\n case 4: {\n const selector = hexlify(bytes.slice(0, 4));\n const builtin = BuiltinErrors[selector];\n if (builtin) {\n errorArgs = this._abiCoder.decode(builtin.inputs, bytes.slice(4));\n errorName = builtin.name;\n errorSignature = builtin.signature;\n if (builtin.reason) { reason = errorArgs[0]; }\n if (errorName === \"Error\") {\n message = `; VM Exception while processing transaction: reverted with reason string ${ JSON.stringify(errorArgs[0]) }`;\n } else if (errorName === \"Panic\") {\n message = `; VM Exception while processing transaction: reverted with panic code ${ errorArgs[0] }`;\n }\n } else {\n try {\n const error = this.getError(selector);\n errorArgs = this._abiCoder.decode(error.inputs, bytes.slice(4));\n errorName = error.name;\n errorSignature = error.format();\n } catch (error) { }\n }\n break;\n }\n }\n\n return logger.throwError(\"call revert exception\" + message, Logger.errors.CALL_EXCEPTION, {\n method: functionFragment.format(),\n data: hexlify(data), errorArgs, errorName, errorSignature, reason\n });\n }\n\n // Encode the result for a function call (e.g. for eth_call)\n encodeFunctionResult(functionFragment: FunctionFragment | string, values?: ReadonlyArray): string {\n if (typeof(functionFragment) === \"string\") {\n functionFragment = this.getFunction(functionFragment);\n }\n\n return hexlify(this._abiCoder.encode(functionFragment.outputs, values || [ ]));\n }\n\n // Create the filter for the event with search criteria (e.g. for eth_filterLog)\n encodeFilterTopics(eventFragment: EventFragment | string, values: ReadonlyArray): Array> {\n if (typeof(eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n\n if (values.length > eventFragment.inputs.length) {\n logger.throwError(\"too many arguments for \" + eventFragment.format(), Logger.errors.UNEXPECTED_ARGUMENT, {\n argument: \"values\",\n value: values\n })\n }\n\n let topics: Array> = [];\n if (!eventFragment.anonymous) { topics.push(this.getEventTopic(eventFragment)); }\n\n const encodeTopic = (param: ParamType, value: any): string => {\n if (param.type === \"string\") {\n return id(value);\n } else if (param.type === \"bytes\") {\n return keccak256(hexlify(value));\n }\n\n if (param.type === \"bool\" && typeof(value) === \"boolean\") {\n value = (value ? \"0x01\": \"0x00\");\n }\n\n if (param.type.match(/^u?int/)) {\n value = BigNumber.from(value).toHexString();\n }\n\n // Check addresses are valid\n if (param.type === \"address\") { this._abiCoder.encode( [ \"address\" ], [ value ]); }\n return hexZeroPad(hexlify(value), 32);\n };\n\n values.forEach((value, index) => {\n\n let param = (eventFragment).inputs[index];\n\n if (!param.indexed) {\n if (value != null) {\n logger.throwArgumentError(\"cannot filter non-indexed parameters; must be null\", (\"contract.\" + param.name), value);\n }\n return;\n }\n\n if (value == null) {\n topics.push(null);\n } else if (param.baseType === \"array\" || param.baseType === \"tuple\") {\n logger.throwArgumentError(\"filtering with tuples or arrays not supported\", (\"contract.\" + param.name), value);\n } else if (Array.isArray(value)) {\n topics.push(value.map((value) => encodeTopic(param, value)));\n } else {\n topics.push(encodeTopic(param, value));\n }\n });\n\n // Trim off trailing nulls\n while (topics.length && topics[topics.length - 1] === null) {\n topics.pop();\n }\n\n return topics;\n }\n\n encodeEventLog(eventFragment: EventFragment | string, values: ReadonlyArray): { data: string, topics: Array } {\n if (typeof(eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n\n const topics: Array = [ ];\n\n const dataTypes: Array = [ ];\n const dataValues: Array = [ ];\n\n if (!eventFragment.anonymous) {\n topics.push(this.getEventTopic(eventFragment));\n }\n\n if (values.length !== eventFragment.inputs.length) {\n logger.throwArgumentError(\"event arguments/values mismatch\", \"values\", values);\n }\n\n eventFragment.inputs.forEach((param, index) => {\n const value = values[index];\n if (param.indexed) {\n if (param.type === \"string\") {\n topics.push(id(value))\n } else if (param.type === \"bytes\") {\n topics.push(keccak256(value))\n } else if (param.baseType === \"tuple\" || param.baseType === \"array\") {\n // @TODO\n throw new Error(\"not implemented\");\n } else {\n topics.push(this._abiCoder.encode([ param.type] , [ value ]));\n }\n } else {\n dataTypes.push(param);\n dataValues.push(value);\n }\n });\n\n return {\n data: this._abiCoder.encode(dataTypes , dataValues),\n topics: topics\n };\n }\n\n // Decode a filter for the event and the search criteria\n decodeEventLog(eventFragment: EventFragment | string, data: BytesLike, topics?: ReadonlyArray): Result {\n if (typeof(eventFragment) === \"string\") {\n eventFragment = this.getEvent(eventFragment);\n }\n\n if (topics != null && !eventFragment.anonymous) {\n let topicHash = this.getEventTopic(eventFragment);\n if (!isHexString(topics[0], 32) || topics[0].toLowerCase() !== topicHash) {\n logger.throwError(\"fragment/topic mismatch\", Logger.errors.INVALID_ARGUMENT, { argument: \"topics[0]\", expected: topicHash, value: topics[0] });\n }\n topics = topics.slice(1);\n }\n\n let indexed: Array = [];\n let nonIndexed: Array = [];\n let dynamic: Array = [];\n\n eventFragment.inputs.forEach((param, index) => {\n if (param.indexed) {\n if (param.type === \"string\" || param.type === \"bytes\" || param.baseType === \"tuple\" || param.baseType === \"array\") {\n indexed.push(ParamType.fromObject({ type: \"bytes32\", name: param.name }));\n dynamic.push(true);\n } else {\n indexed.push(param);\n dynamic.push(false);\n }\n } else {\n nonIndexed.push(param);\n dynamic.push(false);\n }\n });\n\n let resultIndexed = (topics != null) ? this._abiCoder.decode(indexed, concat(topics)): null;\n let resultNonIndexed = this._abiCoder.decode(nonIndexed, data, true);\n\n let result: (Array & { [ key: string ]: any }) = [ ];\n let nonIndexedIndex = 0, indexedIndex = 0;\n eventFragment.inputs.forEach((param, index) => {\n if (param.indexed) {\n if (resultIndexed == null) {\n result[index] = new Indexed({ _isIndexed: true, hash: null });\n\n } else if (dynamic[index]) {\n result[index] = new Indexed({ _isIndexed: true, hash: resultIndexed[indexedIndex++] });\n\n } else {\n try {\n result[index] = resultIndexed[indexedIndex++];\n } catch (error) {\n result[index] = error;\n }\n }\n } else {\n try {\n result[index] = resultNonIndexed[nonIndexedIndex++];\n } catch (error) {\n result[index] = error;\n }\n }\n\n // Add the keyword argument if named and safe\n if (param.name && result[param.name] == null) {\n const value = result[index];\n\n // Make error named values throw on access\n if (value instanceof Error) {\n Object.defineProperty(result, param.name, {\n enumerable: true,\n get: () => { throw wrapAccessError(`property ${ JSON.stringify(param.name) }`, value); }\n });\n } else {\n result[param.name] = value;\n }\n }\n });\n\n // Make all error indexed values throw on access\n for (let i = 0; i < result.length; i++) {\n const value = result[i];\n if (value instanceof Error) {\n Object.defineProperty(result, i, {\n enumerable: true,\n get: () => { throw wrapAccessError(`index ${ i }`, value); }\n });\n }\n }\n\n return Object.freeze(result);\n }\n\n // Given a transaction, find the matching function fragment (if any) and\n // determine all its properties and call parameters\n parseTransaction(tx: { data: string, value?: BigNumberish }): TransactionDescription {\n let fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase())\n\n if (!fragment) { return null; }\n\n return new TransactionDescription({\n args: this._abiCoder.decode(fragment.inputs, \"0x\" + tx.data.substring(10)),\n functionFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n sighash: this.getSighash(fragment),\n value: BigNumber.from(tx.value || \"0\"),\n });\n }\n\n // @TODO\n //parseCallResult(data: BytesLike): ??\n\n // Given an event log, find the matching event fragment (if any) and\n // determine all its properties and values\n parseLog(log: { topics: Array, data: string}): LogDescription {\n let fragment = this.getEvent(log.topics[0]);\n\n if (!fragment || fragment.anonymous) { return null; }\n\n // @TODO: If anonymous, and the only method, and the input count matches, should we parse?\n // Probably not, because just because it is the only event in the ABI does\n // not mean we have the full ABI; maybe just a fragment?\n\n\n return new LogDescription({\n eventFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n topic: this.getEventTopic(fragment),\n args: this.decodeEventLog(fragment, log.data, log.topics)\n });\n }\n\n parseError(data: BytesLike): ErrorDescription {\n const hexData = hexlify(data);\n let fragment = this.getError(hexData.substring(0, 10).toLowerCase())\n\n if (!fragment) { return null; }\n\n return new ErrorDescription({\n args: this._abiCoder.decode(fragment.inputs, \"0x\" + hexData.substring(10)),\n errorFragment: fragment,\n name: fragment.name,\n signature: fragment.format(),\n sighash: this.getSighash(fragment),\n });\n }\n\n\n /*\n static from(value: Array | string | Interface) {\n if (Interface.isInterface(value)) {\n return value;\n }\n if (typeof(value) === \"string\") {\n return new Interface(JSON.parse(value));\n }\n return new Interface(value);\n }\n */\n\n static isInterface(value: any): value is Interface {\n return !!(value && value._isInterface);\n }\n}\n\n","\"use strict\";\nimport { arrayify, concat, hexDataLength, hexDataSlice, isHexString, stripZeros } from \"@ethersproject/bytes\";\nimport { BigNumber, _base16To36, _base36To16 } from \"@ethersproject/bignumber\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { encode } from \"@ethersproject/rlp\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nfunction getChecksumAddress(address) {\n if (!isHexString(address, 20)) {\n logger.throwArgumentError(\"invalid address\", \"address\", address);\n }\n address = address.toLowerCase();\n const chars = address.substring(2).split(\"\");\n const expanded = new Uint8Array(40);\n for (let i = 0; i < 40; i++) {\n expanded[i] = chars[i].charCodeAt(0);\n }\n const hashed = arrayify(keccak256(expanded));\n for (let i = 0; i < 40; i += 2) {\n if ((hashed[i >> 1] >> 4) >= 8) {\n chars[i] = chars[i].toUpperCase();\n }\n if ((hashed[i >> 1] & 0x0f) >= 8) {\n chars[i + 1] = chars[i + 1].toUpperCase();\n }\n }\n return \"0x\" + chars.join(\"\");\n}\n// Shims for environments that are missing some required constants and functions\nconst MAX_SAFE_INTEGER = 0x1fffffffffffff;\nfunction log10(x) {\n if (Math.log10) {\n return Math.log10(x);\n }\n return Math.log(x) / Math.LN10;\n}\n// See: https://en.wikipedia.org/wiki/International_Bank_Account_Number\n// Create lookup table\nconst ibanLookup = {};\nfor (let i = 0; i < 10; i++) {\n ibanLookup[String(i)] = String(i);\n}\nfor (let i = 0; i < 26; i++) {\n ibanLookup[String.fromCharCode(65 + i)] = String(10 + i);\n}\n// How many decimal digits can we process? (for 64-bit float, this is 15)\nconst safeDigits = Math.floor(log10(MAX_SAFE_INTEGER));\nfunction ibanChecksum(address) {\n address = address.toUpperCase();\n address = address.substring(4) + address.substring(0, 2) + \"00\";\n let expanded = address.split(\"\").map((c) => { return ibanLookup[c]; }).join(\"\");\n // Javascript can handle integers safely up to 15 (decimal) digits\n while (expanded.length >= safeDigits) {\n let block = expanded.substring(0, safeDigits);\n expanded = parseInt(block, 10) % 97 + expanded.substring(block.length);\n }\n let checksum = String(98 - (parseInt(expanded, 10) % 97));\n while (checksum.length < 2) {\n checksum = \"0\" + checksum;\n }\n return checksum;\n}\n;\nexport function getAddress(address) {\n let result = null;\n if (typeof (address) !== \"string\") {\n logger.throwArgumentError(\"invalid address\", \"address\", address);\n }\n if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {\n // Missing the 0x prefix\n if (address.substring(0, 2) !== \"0x\") {\n address = \"0x\" + address;\n }\n result = getChecksumAddress(address);\n // It is a checksummed address with a bad checksum\n if (address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) && result !== address) {\n logger.throwArgumentError(\"bad address checksum\", \"address\", address);\n }\n // Maybe ICAP? (we only support direct mode)\n }\n else if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {\n // It is an ICAP address with a bad checksum\n if (address.substring(2, 4) !== ibanChecksum(address)) {\n logger.throwArgumentError(\"bad icap checksum\", \"address\", address);\n }\n result = _base36To16(address.substring(4));\n while (result.length < 40) {\n result = \"0\" + result;\n }\n result = getChecksumAddress(\"0x\" + result);\n }\n else {\n logger.throwArgumentError(\"invalid address\", \"address\", address);\n }\n return result;\n}\nexport function isAddress(address) {\n try {\n getAddress(address);\n return true;\n }\n catch (error) { }\n return false;\n}\nexport function getIcapAddress(address) {\n let base36 = _base16To36(getAddress(address).substring(2)).toUpperCase();\n while (base36.length < 30) {\n base36 = \"0\" + base36;\n }\n return \"XE\" + ibanChecksum(\"XE00\" + base36) + base36;\n}\n// http://ethereum.stackexchange.com/questions/760/how-is-the-address-of-an-ethereum-contract-computed\nexport function getContractAddress(transaction) {\n let from = null;\n try {\n from = getAddress(transaction.from);\n }\n catch (error) {\n logger.throwArgumentError(\"missing from address\", \"transaction\", transaction);\n }\n const nonce = stripZeros(arrayify(BigNumber.from(transaction.nonce).toHexString()));\n return getAddress(hexDataSlice(keccak256(encode([from, nonce])), 12));\n}\nexport function getCreate2Address(from, salt, initCodeHash) {\n if (hexDataLength(salt) !== 32) {\n logger.throwArgumentError(\"salt must be 32 bytes\", \"salt\", salt);\n }\n if (hexDataLength(initCodeHash) !== 32) {\n logger.throwArgumentError(\"initCodeHash must be 32 bytes\", \"initCodeHash\", initCodeHash);\n }\n return getAddress(hexDataSlice(keccak256(concat([\"0xff\", getAddress(from), salt, initCodeHash])), 12));\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { arrayify, BytesLike, concat, hexDataLength, hexDataSlice, isHexString, stripZeros } from \"@ethersproject/bytes\";\nimport { BigNumber, BigNumberish, _base16To36, _base36To16 } from \"@ethersproject/bignumber\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { encode } from \"@ethersproject/rlp\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nfunction getChecksumAddress(address: string): string {\n if (!isHexString(address, 20)) {\n logger.throwArgumentError(\"invalid address\", \"address\", address);\n }\n\n address = address.toLowerCase();\n\n const chars = address.substring(2).split(\"\");\n\n const expanded = new Uint8Array(40);\n for (let i = 0; i < 40; i++) {\n expanded[i] = chars[i].charCodeAt(0);\n }\n\n const hashed = arrayify(keccak256(expanded));\n\n for (let i = 0; i < 40; i += 2) {\n if ((hashed[i >> 1] >> 4) >= 8) {\n chars[i] = chars[i].toUpperCase();\n }\n if ((hashed[i >> 1] & 0x0f) >= 8) {\n chars[i + 1] = chars[i + 1].toUpperCase();\n }\n }\n\n return \"0x\" + chars.join(\"\");\n}\n\n// Shims for environments that are missing some required constants and functions\nconst MAX_SAFE_INTEGER: number = 0x1fffffffffffff;\n\nfunction log10(x: number): number {\n if (Math.log10) { return Math.log10(x); }\n return Math.log(x) / Math.LN10;\n}\n\n\n// See: https://en.wikipedia.org/wiki/International_Bank_Account_Number\n\n// Create lookup table\nconst ibanLookup: { [character: string]: string } = { };\nfor (let i = 0; i < 10; i++) { ibanLookup[String(i)] = String(i); }\nfor (let i = 0; i < 26; i++) { ibanLookup[String.fromCharCode(65 + i)] = String(10 + i); }\n\n// How many decimal digits can we process? (for 64-bit float, this is 15)\nconst safeDigits = Math.floor(log10(MAX_SAFE_INTEGER));\n\nfunction ibanChecksum(address: string): string {\n address = address.toUpperCase();\n address = address.substring(4) + address.substring(0, 2) + \"00\";\n\n let expanded = address.split(\"\").map((c) => { return ibanLookup[c]; }).join(\"\");\n\n // Javascript can handle integers safely up to 15 (decimal) digits\n while (expanded.length >= safeDigits){\n let block = expanded.substring(0, safeDigits);\n expanded = parseInt(block, 10) % 97 + expanded.substring(block.length);\n }\n\n let checksum = String(98 - (parseInt(expanded, 10) % 97));\n while (checksum.length < 2) { checksum = \"0\" + checksum; }\n\n return checksum;\n};\n\nexport function getAddress(address: string): string {\n let result = null;\n\n if (typeof(address) !== \"string\") {\n logger.throwArgumentError(\"invalid address\", \"address\", address);\n }\n\n if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {\n\n // Missing the 0x prefix\n if (address.substring(0, 2) !== \"0x\") { address = \"0x\" + address; }\n\n result = getChecksumAddress(address);\n\n // It is a checksummed address with a bad checksum\n if (address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) && result !== address) {\n logger.throwArgumentError(\"bad address checksum\", \"address\", address);\n }\n\n // Maybe ICAP? (we only support direct mode)\n } else if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {\n\n // It is an ICAP address with a bad checksum\n if (address.substring(2, 4) !== ibanChecksum(address)) {\n logger.throwArgumentError(\"bad icap checksum\", \"address\", address);\n }\n\n result = _base36To16(address.substring(4));\n while (result.length < 40) { result = \"0\" + result; }\n result = getChecksumAddress(\"0x\" + result);\n\n } else {\n logger.throwArgumentError(\"invalid address\", \"address\", address);\n }\n\n return result;\n}\n\nexport function isAddress(address: string): boolean {\n try {\n getAddress(address);\n return true;\n } catch (error) { }\n return false;\n}\n\nexport function getIcapAddress(address: string): string {\n let base36 = _base16To36(getAddress(address).substring(2)).toUpperCase();\n while (base36.length < 30) { base36 = \"0\" + base36; }\n return \"XE\" + ibanChecksum(\"XE00\" + base36) + base36;\n}\n\n// http://ethereum.stackexchange.com/questions/760/how-is-the-address-of-an-ethereum-contract-computed\nexport function getContractAddress(transaction: { from: string, nonce: BigNumberish }) {\n let from: string = null;\n try {\n from = getAddress(transaction.from);\n } catch (error) {\n logger.throwArgumentError(\"missing from address\", \"transaction\", transaction);\n }\n\n const nonce = stripZeros(arrayify(BigNumber.from(transaction.nonce).toHexString()));\n\n return getAddress(hexDataSlice(keccak256(encode([ from, nonce ])), 12));\n}\n\nexport function getCreate2Address(from: string, salt: BytesLike, initCodeHash: BytesLike): string {\n if (hexDataLength(salt) !== 32) {\n logger.throwArgumentError(\"salt must be 32 bytes\", \"salt\", salt);\n }\n if (hexDataLength(initCodeHash) !== 32) {\n logger.throwArgumentError(\"initCodeHash must be 32 bytes\", \"initCodeHash\", initCodeHash);\n }\n return getAddress(hexDataSlice(keccak256(concat([ \"0xff\", getAddress(from), salt, initCodeHash ])), 12))\n}\n","\"use strict\";\nimport sha3 from \"js-sha3\";\nimport { arrayify } from \"@ethersproject/bytes\";\nexport function keccak256(data) {\n return '0x' + sha3.keccak_256(arrayify(data));\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport sha3 from \"js-sha3\";\n\nimport { arrayify, BytesLike } from \"@ethersproject/bytes\";\n\nexport function keccak256(data: BytesLike): string {\n return '0x' + sha3.keccak_256(arrayify(data));\n}\n","\"use strict\";\n//See: https://github.com/ethereum/wiki/wiki/RLP\nimport { arrayify, hexlify, isBytesLike } from \"@ethersproject/bytes\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nfunction arrayifyInteger(value) {\n const result = [];\n while (value) {\n result.unshift(value & 0xff);\n value >>= 8;\n }\n return result;\n}\nfunction unarrayifyInteger(data, offset, length) {\n let result = 0;\n for (let i = 0; i < length; i++) {\n result = (result * 256) + data[offset + i];\n }\n return result;\n}\nfunction _encode(object) {\n if (Array.isArray(object)) {\n let payload = [];\n object.forEach(function (child) {\n payload = payload.concat(_encode(child));\n });\n if (payload.length <= 55) {\n payload.unshift(0xc0 + payload.length);\n return payload;\n }\n const length = arrayifyInteger(payload.length);\n length.unshift(0xf7 + length.length);\n return length.concat(payload);\n }\n if (!isBytesLike(object)) {\n logger.throwArgumentError(\"RLP object must be BytesLike\", \"object\", object);\n }\n const data = Array.prototype.slice.call(arrayify(object));\n if (data.length === 1 && data[0] <= 0x7f) {\n return data;\n }\n else if (data.length <= 55) {\n data.unshift(0x80 + data.length);\n return data;\n }\n const length = arrayifyInteger(data.length);\n length.unshift(0xb7 + length.length);\n return length.concat(data);\n}\nexport function encode(object) {\n return hexlify(_encode(object));\n}\nfunction _decodeChildren(data, offset, childOffset, length) {\n const result = [];\n while (childOffset < offset + 1 + length) {\n const decoded = _decode(data, childOffset);\n result.push(decoded.result);\n childOffset += decoded.consumed;\n if (childOffset > offset + 1 + length) {\n logger.throwError(\"child data too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n }\n return { consumed: (1 + length), result: result };\n}\n// returns { consumed: number, result: Object }\nfunction _decode(data, offset) {\n if (data.length === 0) {\n logger.throwError(\"data too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n // Array with extra length prefix\n if (data[offset] >= 0xf8) {\n const lengthLength = data[offset] - 0xf7;\n if (offset + 1 + lengthLength > data.length) {\n logger.throwError(\"data short segment too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n const length = unarrayifyInteger(data, offset + 1, lengthLength);\n if (offset + 1 + lengthLength + length > data.length) {\n logger.throwError(\"data long segment too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n return _decodeChildren(data, offset, offset + 1 + lengthLength, lengthLength + length);\n }\n else if (data[offset] >= 0xc0) {\n const length = data[offset] - 0xc0;\n if (offset + 1 + length > data.length) {\n logger.throwError(\"data array too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n return _decodeChildren(data, offset, offset + 1, length);\n }\n else if (data[offset] >= 0xb8) {\n const lengthLength = data[offset] - 0xb7;\n if (offset + 1 + lengthLength > data.length) {\n logger.throwError(\"data array too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n const length = unarrayifyInteger(data, offset + 1, lengthLength);\n if (offset + 1 + lengthLength + length > data.length) {\n logger.throwError(\"data array too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n const result = hexlify(data.slice(offset + 1 + lengthLength, offset + 1 + lengthLength + length));\n return { consumed: (1 + lengthLength + length), result: result };\n }\n else if (data[offset] >= 0x80) {\n const length = data[offset] - 0x80;\n if (offset + 1 + length > data.length) {\n logger.throwError(\"data too short\", Logger.errors.BUFFER_OVERRUN, {});\n }\n const result = hexlify(data.slice(offset + 1, offset + 1 + length));\n return { consumed: (1 + length), result: result };\n }\n return { consumed: 1, result: hexlify(data[offset]) };\n}\nexport function decode(data) {\n const bytes = arrayify(data);\n const decoded = _decode(bytes, 0);\n if (decoded.consumed !== bytes.length) {\n logger.throwArgumentError(\"invalid rlp data\", \"data\", data);\n }\n return decoded.result;\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\n//See: https://github.com/ethereum/wiki/wiki/RLP\n\nimport { arrayify, BytesLike, hexlify, isBytesLike } from \"@ethersproject/bytes\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nfunction arrayifyInteger(value: number): Array {\n const result = [];\n while (value) {\n result.unshift(value & 0xff);\n value >>= 8;\n }\n return result;\n}\n\nfunction unarrayifyInteger(data: Uint8Array, offset: number, length: number): number {\n let result = 0;\n for (let i = 0; i < length; i++) {\n result = (result * 256) + data[offset + i];\n }\n return result;\n}\n\nfunction _encode(object: Array | string): Array {\n if (Array.isArray(object)) {\n let payload: Array = [];\n object.forEach(function(child) {\n payload = payload.concat(_encode(child));\n });\n\n if (payload.length <= 55) {\n payload.unshift(0xc0 + payload.length)\n return payload;\n }\n\n const length = arrayifyInteger(payload.length);\n length.unshift(0xf7 + length.length);\n\n return length.concat(payload);\n\n }\n\n if (!isBytesLike(object)) {\n logger.throwArgumentError(\"RLP object must be BytesLike\", \"object\", object);\n }\n\n const data: Array = Array.prototype.slice.call(arrayify(object));\n\n if (data.length === 1 && data[0] <= 0x7f) {\n return data;\n\n } else if (data.length <= 55) {\n data.unshift(0x80 + data.length);\n return data;\n }\n\n const length = arrayifyInteger(data.length);\n length.unshift(0xb7 + length.length);\n\n return length.concat(data);\n}\n\nexport function encode(object: any): string {\n return hexlify(_encode(object));\n}\n\ntype Decoded = {\n result: any;\n consumed: number;\n};\n\nfunction _decodeChildren(data: Uint8Array, offset: number, childOffset: number, length: number): Decoded {\n const result = [];\n\n while (childOffset < offset + 1 + length) {\n const decoded = _decode(data, childOffset);\n\n result.push(decoded.result);\n\n childOffset += decoded.consumed;\n if (childOffset > offset + 1 + length) {\n logger.throwError(\"child data too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n }\n\n return {consumed: (1 + length), result: result};\n}\n\n// returns { consumed: number, result: Object }\nfunction _decode(data: Uint8Array, offset: number): { consumed: number, result: any } {\n if (data.length === 0) {\n logger.throwError(\"data too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n // Array with extra length prefix\n if (data[offset] >= 0xf8) {\n const lengthLength = data[offset] - 0xf7;\n if (offset + 1 + lengthLength > data.length) {\n logger.throwError(\"data short segment too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n const length = unarrayifyInteger(data, offset + 1, lengthLength);\n if (offset + 1 + lengthLength + length > data.length) {\n logger.throwError(\"data long segment too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n return _decodeChildren(data, offset, offset + 1 + lengthLength, lengthLength + length);\n\n } else if (data[offset] >= 0xc0) {\n const length = data[offset] - 0xc0;\n if (offset + 1 + length > data.length) {\n logger.throwError(\"data array too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n return _decodeChildren(data, offset, offset + 1, length);\n\n } else if (data[offset] >= 0xb8) {\n const lengthLength = data[offset] - 0xb7;\n if (offset + 1 + lengthLength > data.length) {\n logger.throwError(\"data array too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n const length = unarrayifyInteger(data, offset + 1, lengthLength);\n if (offset + 1 + lengthLength + length > data.length) {\n logger.throwError(\"data array too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n const result = hexlify(data.slice(offset + 1 + lengthLength, offset + 1 + lengthLength + length));\n return { consumed: (1 + lengthLength + length), result: result }\n\n } else if (data[offset] >= 0x80) {\n const length = data[offset] - 0x80;\n if (offset + 1 + length > data.length) {\n logger.throwError(\"data too short\", Logger.errors.BUFFER_OVERRUN, { });\n }\n\n const result = hexlify(data.slice(offset + 1, offset + 1 + length));\n return { consumed: (1 + length), result: result }\n }\n return { consumed: 1, result: hexlify(data[offset]) };\n}\n\nexport function decode(data: BytesLike): any {\n const bytes = arrayify(data);\n const decoded = _decode(bytes, 0);\n if (decoded.consumed !== bytes.length) {\n logger.throwArgumentError(\"invalid rlp data\", \"data\", data);\n }\n return decoded.result;\n}\n\n","export const version = \"rlp/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"rlp/5.7.0\";\n","export const version = \"address/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"address/5.7.0\";\n","import { keccak256 } from \"@ethersproject/keccak256\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nexport function id(text) {\n return keccak256(toUtf8Bytes(text));\n}\n//# sourceMappingURL=id.js.map","import { keccak256 } from \"@ethersproject/keccak256\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\n\nexport function id(text: string): string {\n return keccak256(toUtf8Bytes(text));\n}\n","\"use strict\";\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n///////////////////////////////\nexport var UnicodeNormalizationForm;\n(function (UnicodeNormalizationForm) {\n UnicodeNormalizationForm[\"current\"] = \"\";\n UnicodeNormalizationForm[\"NFC\"] = \"NFC\";\n UnicodeNormalizationForm[\"NFD\"] = \"NFD\";\n UnicodeNormalizationForm[\"NFKC\"] = \"NFKC\";\n UnicodeNormalizationForm[\"NFKD\"] = \"NFKD\";\n})(UnicodeNormalizationForm || (UnicodeNormalizationForm = {}));\n;\nexport var Utf8ErrorReason;\n(function (Utf8ErrorReason) {\n // A continuation byte was present where there was nothing to continue\n // - offset = the index the codepoint began in\n Utf8ErrorReason[\"UNEXPECTED_CONTINUE\"] = \"unexpected continuation byte\";\n // An invalid (non-continuation) byte to start a UTF-8 codepoint was found\n // - offset = the index the codepoint began in\n Utf8ErrorReason[\"BAD_PREFIX\"] = \"bad codepoint prefix\";\n // The string is too short to process the expected codepoint\n // - offset = the index the codepoint began in\n Utf8ErrorReason[\"OVERRUN\"] = \"string overrun\";\n // A missing continuation byte was expected but not found\n // - offset = the index the continuation byte was expected at\n Utf8ErrorReason[\"MISSING_CONTINUE\"] = \"missing continuation byte\";\n // The computed code point is outside the range for UTF-8\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; outside the UTF-8 range\n Utf8ErrorReason[\"OUT_OF_RANGE\"] = \"out of UTF-8 range\";\n // UTF-8 strings may not contain UTF-16 surrogate pairs\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; inside the UTF-16 surrogate range\n Utf8ErrorReason[\"UTF16_SURROGATE\"] = \"UTF-16 surrogate\";\n // The string is an overlong representation\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; already bounds checked\n Utf8ErrorReason[\"OVERLONG\"] = \"overlong representation\";\n})(Utf8ErrorReason || (Utf8ErrorReason = {}));\n;\nfunction errorFunc(reason, offset, bytes, output, badCodepoint) {\n return logger.throwArgumentError(`invalid codepoint at offset ${offset}; ${reason}`, \"bytes\", bytes);\n}\nfunction ignoreFunc(reason, offset, bytes, output, badCodepoint) {\n // If there is an invalid prefix (including stray continuation), skip any additional continuation bytes\n if (reason === Utf8ErrorReason.BAD_PREFIX || reason === Utf8ErrorReason.UNEXPECTED_CONTINUE) {\n let i = 0;\n for (let o = offset + 1; o < bytes.length; o++) {\n if (bytes[o] >> 6 !== 0x02) {\n break;\n }\n i++;\n }\n return i;\n }\n // This byte runs us past the end of the string, so just jump to the end\n // (but the first byte was read already read and therefore skipped)\n if (reason === Utf8ErrorReason.OVERRUN) {\n return bytes.length - offset - 1;\n }\n // Nothing to skip\n return 0;\n}\nfunction replaceFunc(reason, offset, bytes, output, badCodepoint) {\n // Overlong representations are otherwise \"valid\" code points; just non-deistingtished\n if (reason === Utf8ErrorReason.OVERLONG) {\n output.push(badCodepoint);\n return 0;\n }\n // Put the replacement character into the output\n output.push(0xfffd);\n // Otherwise, process as if ignoring errors\n return ignoreFunc(reason, offset, bytes, output, badCodepoint);\n}\n// Common error handing strategies\nexport const Utf8ErrorFuncs = Object.freeze({\n error: errorFunc,\n ignore: ignoreFunc,\n replace: replaceFunc\n});\n// http://stackoverflow.com/questions/13356493/decode-utf-8-with-javascript#13691499\nfunction getUtf8CodePoints(bytes, onError) {\n if (onError == null) {\n onError = Utf8ErrorFuncs.error;\n }\n bytes = arrayify(bytes);\n const result = [];\n let i = 0;\n // Invalid bytes are ignored\n while (i < bytes.length) {\n const c = bytes[i++];\n // 0xxx xxxx\n if (c >> 7 === 0) {\n result.push(c);\n continue;\n }\n // Multibyte; how many bytes left for this character?\n let extraLength = null;\n let overlongMask = null;\n // 110x xxxx 10xx xxxx\n if ((c & 0xe0) === 0xc0) {\n extraLength = 1;\n overlongMask = 0x7f;\n // 1110 xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf0) === 0xe0) {\n extraLength = 2;\n overlongMask = 0x7ff;\n // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx\n }\n else if ((c & 0xf8) === 0xf0) {\n extraLength = 3;\n overlongMask = 0xffff;\n }\n else {\n if ((c & 0xc0) === 0x80) {\n i += onError(Utf8ErrorReason.UNEXPECTED_CONTINUE, i - 1, bytes, result);\n }\n else {\n i += onError(Utf8ErrorReason.BAD_PREFIX, i - 1, bytes, result);\n }\n continue;\n }\n // Do we have enough bytes in our data?\n if (i - 1 + extraLength >= bytes.length) {\n i += onError(Utf8ErrorReason.OVERRUN, i - 1, bytes, result);\n continue;\n }\n // Remove the length prefix from the char\n let res = c & ((1 << (8 - extraLength - 1)) - 1);\n for (let j = 0; j < extraLength; j++) {\n let nextChar = bytes[i];\n // Invalid continuation byte\n if ((nextChar & 0xc0) != 0x80) {\n i += onError(Utf8ErrorReason.MISSING_CONTINUE, i, bytes, result);\n res = null;\n break;\n }\n ;\n res = (res << 6) | (nextChar & 0x3f);\n i++;\n }\n // See above loop for invalid continuation byte\n if (res === null) {\n continue;\n }\n // Maximum code point\n if (res > 0x10ffff) {\n i += onError(Utf8ErrorReason.OUT_OF_RANGE, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Reserved for UTF-16 surrogate halves\n if (res >= 0xd800 && res <= 0xdfff) {\n i += onError(Utf8ErrorReason.UTF16_SURROGATE, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n // Check for overlong sequences (more bytes than needed)\n if (res <= overlongMask) {\n i += onError(Utf8ErrorReason.OVERLONG, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n result.push(res);\n }\n return result;\n}\n// http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array\nexport function toUtf8Bytes(str, form = UnicodeNormalizationForm.current) {\n if (form != UnicodeNormalizationForm.current) {\n logger.checkNormalize();\n str = str.normalize(form);\n }\n let result = [];\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n if (c < 0x80) {\n result.push(c);\n }\n else if (c < 0x800) {\n result.push((c >> 6) | 0xc0);\n result.push((c & 0x3f) | 0x80);\n }\n else if ((c & 0xfc00) == 0xd800) {\n i++;\n const c2 = str.charCodeAt(i);\n if (i >= str.length || (c2 & 0xfc00) !== 0xdc00) {\n throw new Error(\"invalid utf-8 string\");\n }\n // Surrogate Pair\n const pair = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);\n result.push((pair >> 18) | 0xf0);\n result.push(((pair >> 12) & 0x3f) | 0x80);\n result.push(((pair >> 6) & 0x3f) | 0x80);\n result.push((pair & 0x3f) | 0x80);\n }\n else {\n result.push((c >> 12) | 0xe0);\n result.push(((c >> 6) & 0x3f) | 0x80);\n result.push((c & 0x3f) | 0x80);\n }\n }\n return arrayify(result);\n}\n;\nfunction escapeChar(value) {\n const hex = (\"0000\" + value.toString(16));\n return \"\\\\u\" + hex.substring(hex.length - 4);\n}\nexport function _toEscapedUtf8String(bytes, onError) {\n return '\"' + getUtf8CodePoints(bytes, onError).map((codePoint) => {\n if (codePoint < 256) {\n switch (codePoint) {\n case 8: return \"\\\\b\";\n case 9: return \"\\\\t\";\n case 10: return \"\\\\n\";\n case 13: return \"\\\\r\";\n case 34: return \"\\\\\\\"\";\n case 92: return \"\\\\\\\\\";\n }\n if (codePoint >= 32 && codePoint < 127) {\n return String.fromCharCode(codePoint);\n }\n }\n if (codePoint <= 0xffff) {\n return escapeChar(codePoint);\n }\n codePoint -= 0x10000;\n return escapeChar(((codePoint >> 10) & 0x3ff) + 0xd800) + escapeChar((codePoint & 0x3ff) + 0xdc00);\n }).join(\"\") + '\"';\n}\nexport function _toUtf8String(codePoints) {\n return codePoints.map((codePoint) => {\n if (codePoint <= 0xffff) {\n return String.fromCharCode(codePoint);\n }\n codePoint -= 0x10000;\n return String.fromCharCode((((codePoint >> 10) & 0x3ff) + 0xd800), ((codePoint & 0x3ff) + 0xdc00));\n }).join(\"\");\n}\nexport function toUtf8String(bytes, onError) {\n return _toUtf8String(getUtf8CodePoints(bytes, onError));\n}\nexport function toUtf8CodePoints(str, form = UnicodeNormalizationForm.current) {\n return getUtf8CodePoints(toUtf8Bytes(str, form));\n}\n//# sourceMappingURL=utf8.js.map","\"use strict\";\n\nimport { arrayify, BytesLike } from \"@ethersproject/bytes\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n///////////////////////////////\n\nexport enum UnicodeNormalizationForm {\n current = \"\",\n NFC = \"NFC\",\n NFD = \"NFD\",\n NFKC = \"NFKC\",\n NFKD = \"NFKD\"\n};\n\nexport enum Utf8ErrorReason {\n // A continuation byte was present where there was nothing to continue\n // - offset = the index the codepoint began in\n UNEXPECTED_CONTINUE = \"unexpected continuation byte\",\n\n // An invalid (non-continuation) byte to start a UTF-8 codepoint was found\n // - offset = the index the codepoint began in\n BAD_PREFIX = \"bad codepoint prefix\",\n\n // The string is too short to process the expected codepoint\n // - offset = the index the codepoint began in\n OVERRUN = \"string overrun\",\n\n // A missing continuation byte was expected but not found\n // - offset = the index the continuation byte was expected at\n MISSING_CONTINUE = \"missing continuation byte\",\n\n // The computed code point is outside the range for UTF-8\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; outside the UTF-8 range\n OUT_OF_RANGE = \"out of UTF-8 range\",\n\n // UTF-8 strings may not contain UTF-16 surrogate pairs\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; inside the UTF-16 surrogate range\n UTF16_SURROGATE = \"UTF-16 surrogate\",\n\n // The string is an overlong representation\n // - offset = start of this codepoint\n // - badCodepoint = the computed codepoint; already bounds checked\n OVERLONG = \"overlong representation\",\n};\n\n\nexport type Utf8ErrorFunc = (reason: Utf8ErrorReason, offset: number, bytes: ArrayLike, output: Array, badCodepoint?: number) => number;\n\nfunction errorFunc(reason: Utf8ErrorReason, offset: number, bytes: ArrayLike, output: Array, badCodepoint?: number): number {\n return logger.throwArgumentError(`invalid codepoint at offset ${ offset }; ${ reason }`, \"bytes\", bytes);\n}\n\nfunction ignoreFunc(reason: Utf8ErrorReason, offset: number, bytes: ArrayLike, output: Array, badCodepoint?: number): number {\n\n // If there is an invalid prefix (including stray continuation), skip any additional continuation bytes\n if (reason === Utf8ErrorReason.BAD_PREFIX || reason === Utf8ErrorReason.UNEXPECTED_CONTINUE) {\n let i = 0;\n for (let o = offset + 1; o < bytes.length; o++) {\n if (bytes[o] >> 6 !== 0x02) { break; }\n i++;\n }\n return i;\n }\n\n // This byte runs us past the end of the string, so just jump to the end\n // (but the first byte was read already read and therefore skipped)\n if (reason === Utf8ErrorReason.OVERRUN) {\n return bytes.length - offset - 1;\n }\n\n // Nothing to skip\n return 0;\n}\n\nfunction replaceFunc(reason: Utf8ErrorReason, offset: number, bytes: ArrayLike, output: Array, badCodepoint?: number): number {\n\n // Overlong representations are otherwise \"valid\" code points; just non-deistingtished\n if (reason === Utf8ErrorReason.OVERLONG) {\n output.push(badCodepoint);\n return 0;\n }\n\n // Put the replacement character into the output\n output.push(0xfffd);\n\n // Otherwise, process as if ignoring errors\n return ignoreFunc(reason, offset, bytes, output, badCodepoint);\n}\n\n// Common error handing strategies\nexport const Utf8ErrorFuncs: { [ name: string ]: Utf8ErrorFunc } = Object.freeze({\n error: errorFunc,\n ignore: ignoreFunc,\n replace: replaceFunc\n});\n\n// http://stackoverflow.com/questions/13356493/decode-utf-8-with-javascript#13691499\nfunction getUtf8CodePoints(bytes: BytesLike, onError?: Utf8ErrorFunc): Array {\n if (onError == null) { onError = Utf8ErrorFuncs.error; }\n\n bytes = arrayify(bytes);\n\n const result: Array = [];\n let i = 0;\n\n // Invalid bytes are ignored\n while(i < bytes.length) {\n\n const c = bytes[i++];\n\n // 0xxx xxxx\n if (c >> 7 === 0) {\n result.push(c);\n continue;\n }\n\n // Multibyte; how many bytes left for this character?\n let extraLength = null;\n let overlongMask = null;\n\n // 110x xxxx 10xx xxxx\n if ((c & 0xe0) === 0xc0) {\n extraLength = 1;\n overlongMask = 0x7f;\n\n // 1110 xxxx 10xx xxxx 10xx xxxx\n } else if ((c & 0xf0) === 0xe0) {\n extraLength = 2;\n overlongMask = 0x7ff;\n\n // 1111 0xxx 10xx xxxx 10xx xxxx 10xx xxxx\n } else if ((c & 0xf8) === 0xf0) {\n extraLength = 3;\n overlongMask = 0xffff;\n\n } else {\n if ((c & 0xc0) === 0x80) {\n i += onError(Utf8ErrorReason.UNEXPECTED_CONTINUE, i - 1, bytes, result);\n } else {\n i += onError(Utf8ErrorReason.BAD_PREFIX, i - 1, bytes, result);\n }\n continue;\n }\n\n // Do we have enough bytes in our data?\n if (i - 1 + extraLength >= bytes.length) {\n i += onError(Utf8ErrorReason.OVERRUN, i - 1, bytes, result);\n continue;\n }\n\n // Remove the length prefix from the char\n let res = c & ((1 << (8 - extraLength - 1)) - 1);\n\n for (let j = 0; j < extraLength; j++) {\n let nextChar = bytes[i];\n\n // Invalid continuation byte\n if ((nextChar & 0xc0) != 0x80) {\n i += onError(Utf8ErrorReason.MISSING_CONTINUE, i, bytes, result);\n res = null;\n break;\n };\n\n res = (res << 6) | (nextChar & 0x3f);\n i++;\n }\n\n // See above loop for invalid continuation byte\n if (res === null) { continue; }\n\n // Maximum code point\n if (res > 0x10ffff) {\n i += onError(Utf8ErrorReason.OUT_OF_RANGE, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n\n // Reserved for UTF-16 surrogate halves\n if (res >= 0xd800 && res <= 0xdfff) {\n i += onError(Utf8ErrorReason.UTF16_SURROGATE, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n\n // Check for overlong sequences (more bytes than needed)\n if (res <= overlongMask) {\n i += onError(Utf8ErrorReason.OVERLONG, i - 1 - extraLength, bytes, result, res);\n continue;\n }\n\n result.push(res);\n }\n\n return result;\n}\n\n// http://stackoverflow.com/questions/18729405/how-to-convert-utf8-string-to-byte-array\nexport function toUtf8Bytes(str: string, form: UnicodeNormalizationForm = UnicodeNormalizationForm.current): Uint8Array {\n\n if (form != UnicodeNormalizationForm.current) {\n logger.checkNormalize();\n str = str.normalize(form);\n }\n\n let result = [];\n for (let i = 0; i < str.length; i++) {\n const c = str.charCodeAt(i);\n\n if (c < 0x80) {\n result.push(c);\n\n } else if (c < 0x800) {\n result.push((c >> 6) | 0xc0);\n result.push((c & 0x3f) | 0x80);\n\n } else if ((c & 0xfc00) == 0xd800) {\n i++;\n const c2 = str.charCodeAt(i);\n\n if (i >= str.length || (c2 & 0xfc00) !== 0xdc00) {\n throw new Error(\"invalid utf-8 string\");\n }\n\n // Surrogate Pair\n const pair = 0x10000 + ((c & 0x03ff) << 10) + (c2 & 0x03ff);\n result.push((pair >> 18) | 0xf0);\n result.push(((pair >> 12) & 0x3f) | 0x80);\n result.push(((pair >> 6) & 0x3f) | 0x80);\n result.push((pair & 0x3f) | 0x80);\n\n } else {\n result.push((c >> 12) | 0xe0);\n result.push(((c >> 6) & 0x3f) | 0x80);\n result.push((c & 0x3f) | 0x80);\n }\n }\n\n return arrayify(result);\n};\n\nfunction escapeChar(value: number) {\n const hex = (\"0000\" + value.toString(16));\n return \"\\\\u\" + hex.substring(hex.length - 4);\n}\n\nexport function _toEscapedUtf8String(bytes: BytesLike, onError?: Utf8ErrorFunc): string {\n return '\"' + getUtf8CodePoints(bytes, onError).map((codePoint) => {\n if (codePoint < 256) {\n switch (codePoint) {\n case 8: return \"\\\\b\";\n case 9: return \"\\\\t\";\n case 10: return \"\\\\n\"\n case 13: return \"\\\\r\";\n case 34: return \"\\\\\\\"\";\n case 92: return \"\\\\\\\\\";\n }\n\n if (codePoint >= 32 && codePoint < 127) {\n return String.fromCharCode(codePoint);\n }\n }\n\n if (codePoint <= 0xffff) {\n return escapeChar(codePoint);\n }\n\n codePoint -= 0x10000;\n return escapeChar(((codePoint >> 10) & 0x3ff) + 0xd800) + escapeChar((codePoint & 0x3ff) + 0xdc00);\n }).join(\"\") + '\"';\n}\n\nexport function _toUtf8String(codePoints: Array): string {\n return codePoints.map((codePoint) => {\n if (codePoint <= 0xffff) {\n return String.fromCharCode(codePoint);\n }\n codePoint -= 0x10000;\n return String.fromCharCode(\n (((codePoint >> 10) & 0x3ff) + 0xd800),\n ((codePoint & 0x3ff) + 0xdc00)\n );\n }).join(\"\");\n}\n\nexport function toUtf8String(bytes: BytesLike, onError?: Utf8ErrorFunc): string {\n return _toUtf8String(getUtf8CodePoints(bytes, onError));\n}\n\nexport function toUtf8CodePoints(str: string, form: UnicodeNormalizationForm = UnicodeNormalizationForm.current): Array {\n return getUtf8CodePoints(toUtf8Bytes(str, form));\n}\n","export const version = \"strings/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"strings/5.7.0\";\n","\"use strict\";\n// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { Reader, Writer } from \"./coders/abstract-coder\";\nimport { AddressCoder } from \"./coders/address\";\nimport { ArrayCoder } from \"./coders/array\";\nimport { BooleanCoder } from \"./coders/boolean\";\nimport { BytesCoder } from \"./coders/bytes\";\nimport { FixedBytesCoder } from \"./coders/fixed-bytes\";\nimport { NullCoder } from \"./coders/null\";\nimport { NumberCoder } from \"./coders/number\";\nimport { StringCoder } from \"./coders/string\";\nimport { TupleCoder } from \"./coders/tuple\";\nimport { ParamType } from \"./fragments\";\nconst paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);\nconst paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);\nexport class AbiCoder {\n constructor(coerceFunc) {\n defineReadOnly(this, \"coerceFunc\", coerceFunc || null);\n }\n _getCoder(param) {\n switch (param.baseType) {\n case \"address\":\n return new AddressCoder(param.name);\n case \"bool\":\n return new BooleanCoder(param.name);\n case \"string\":\n return new StringCoder(param.name);\n case \"bytes\":\n return new BytesCoder(param.name);\n case \"array\":\n return new ArrayCoder(this._getCoder(param.arrayChildren), param.arrayLength, param.name);\n case \"tuple\":\n return new TupleCoder((param.components || []).map((component) => {\n return this._getCoder(component);\n }), param.name);\n case \"\":\n return new NullCoder(param.name);\n }\n // u?int[0-9]*\n let match = param.type.match(paramTypeNumber);\n if (match) {\n let size = parseInt(match[2] || \"256\");\n if (size === 0 || size > 256 || (size % 8) !== 0) {\n logger.throwArgumentError(\"invalid \" + match[1] + \" bit length\", \"param\", param);\n }\n return new NumberCoder(size / 8, (match[1] === \"int\"), param.name);\n }\n // bytes[0-9]+\n match = param.type.match(paramTypeBytes);\n if (match) {\n let size = parseInt(match[1]);\n if (size === 0 || size > 32) {\n logger.throwArgumentError(\"invalid bytes length\", \"param\", param);\n }\n return new FixedBytesCoder(size, param.name);\n }\n return logger.throwArgumentError(\"invalid type\", \"type\", param.type);\n }\n _getWordSize() { return 32; }\n _getReader(data, allowLoose) {\n return new Reader(data, this._getWordSize(), this.coerceFunc, allowLoose);\n }\n _getWriter() {\n return new Writer(this._getWordSize());\n }\n getDefaultValue(types) {\n const coders = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.defaultValue();\n }\n encode(types, values) {\n if (types.length !== values.length) {\n logger.throwError(\"types/values length mismatch\", Logger.errors.INVALID_ARGUMENT, {\n count: { types: types.length, values: values.length },\n value: { types: types, values: values }\n });\n }\n const coders = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = (new TupleCoder(coders, \"_\"));\n const writer = this._getWriter();\n coder.encode(writer, values);\n return writer.data;\n }\n decode(types, data, loose) {\n const coders = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.decode(this._getReader(arrayify(data), loose));\n }\n}\nexport const defaultAbiCoder = new AbiCoder();\n//# sourceMappingURL=abi-coder.js.map","\"use strict\";\n\n// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI\n\nimport { arrayify, BytesLike } from \"@ethersproject/bytes\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { Coder, Reader, Result, Writer } from \"./coders/abstract-coder\";\nimport { AddressCoder } from \"./coders/address\";\nimport { ArrayCoder } from \"./coders/array\";\nimport { BooleanCoder } from \"./coders/boolean\";\nimport { BytesCoder } from \"./coders/bytes\";\nimport { FixedBytesCoder } from \"./coders/fixed-bytes\";\nimport { NullCoder } from \"./coders/null\";\nimport { NumberCoder } from \"./coders/number\";\nimport { StringCoder } from \"./coders/string\";\nimport { TupleCoder } from \"./coders/tuple\";\n\nimport { ParamType } from \"./fragments\";\n\n\nconst paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);\nconst paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);\n\n\nexport type CoerceFunc = (type: string, value: any) => any;\n\nexport class AbiCoder {\n readonly coerceFunc: CoerceFunc;\n\n constructor(coerceFunc?: CoerceFunc) {\n defineReadOnly(this, \"coerceFunc\", coerceFunc || null);\n }\n\n _getCoder(param: ParamType): Coder {\n\n switch (param.baseType) {\n case \"address\":\n return new AddressCoder(param.name);\n case \"bool\":\n return new BooleanCoder(param.name);\n case \"string\":\n return new StringCoder(param.name);\n case \"bytes\":\n return new BytesCoder(param.name);\n case \"array\":\n return new ArrayCoder(this._getCoder(param.arrayChildren), param.arrayLength, param.name);\n case \"tuple\":\n return new TupleCoder((param.components || []).map((component) => {\n return this._getCoder(component);\n }), param.name);\n case \"\":\n return new NullCoder(param.name);\n }\n\n // u?int[0-9]*\n let match = param.type.match(paramTypeNumber);\n if (match) {\n let size = parseInt(match[2] || \"256\");\n if (size === 0 || size > 256 || (size % 8) !== 0) {\n logger.throwArgumentError(\"invalid \" + match[1] + \" bit length\", \"param\", param);\n }\n return new NumberCoder(size / 8, (match[1] === \"int\"), param.name);\n }\n\n // bytes[0-9]+\n match = param.type.match(paramTypeBytes);\n if (match) {\n let size = parseInt(match[1]);\n if (size === 0 || size > 32) {\n logger.throwArgumentError(\"invalid bytes length\", \"param\", param);\n }\n return new FixedBytesCoder(size, param.name);\n }\n\n return logger.throwArgumentError(\"invalid type\", \"type\", param.type);\n }\n\n _getWordSize(): number { return 32; }\n\n _getReader(data: Uint8Array, allowLoose?: boolean): Reader {\n return new Reader(data, this._getWordSize(), this.coerceFunc, allowLoose);\n }\n\n _getWriter(): Writer {\n return new Writer(this._getWordSize());\n }\n\n getDefaultValue(types: ReadonlyArray): Result {\n const coders: Array = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.defaultValue();\n }\n\n encode(types: ReadonlyArray, values: ReadonlyArray): string {\n if (types.length !== values.length) {\n logger.throwError(\"types/values length mismatch\", Logger.errors.INVALID_ARGUMENT, {\n count: { types: types.length, values: values.length },\n value: { types: types, values: values }\n });\n }\n\n const coders = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = (new TupleCoder(coders, \"_\"));\n\n const writer = this._getWriter();\n coder.encode(writer, values);\n return writer.data;\n }\n\n decode(types: ReadonlyArray, data: BytesLike, loose?: boolean): Result {\n const coders: Array = types.map((type) => this._getCoder(ParamType.from(type)));\n const coder = new TupleCoder(coders, \"_\");\n return coder.decode(this._getReader(arrayify(data), loose));\n }\n}\n\nexport const defaultAbiCoder: AbiCoder = new AbiCoder();\n\n","export const version = \"abi/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"abi/5.7.0\";\n","\"use strict\";\nimport { arrayify, concat, hexConcat, hexlify } from \"@ethersproject/bytes\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"../_version\";\nconst logger = new Logger(version);\nexport function checkResultErrors(result) {\n // Find the first error (if any)\n const errors = [];\n const checkErrors = function (path, object) {\n if (!Array.isArray(object)) {\n return;\n }\n for (let key in object) {\n const childPath = path.slice();\n childPath.push(key);\n try {\n checkErrors(childPath, object[key]);\n }\n catch (error) {\n errors.push({ path: childPath, error: error });\n }\n }\n };\n checkErrors([], result);\n return errors;\n}\nexport class Coder {\n constructor(name, type, localName, dynamic) {\n // @TODO: defineReadOnly these\n this.name = name;\n this.type = type;\n this.localName = localName;\n this.dynamic = dynamic;\n }\n _throwError(message, value) {\n logger.throwArgumentError(message, this.localName, value);\n }\n}\nexport class Writer {\n constructor(wordSize) {\n defineReadOnly(this, \"wordSize\", wordSize || 32);\n this._data = [];\n this._dataLength = 0;\n this._padding = new Uint8Array(wordSize);\n }\n get data() {\n return hexConcat(this._data);\n }\n get length() { return this._dataLength; }\n _writeData(data) {\n this._data.push(data);\n this._dataLength += data.length;\n return data.length;\n }\n appendWriter(writer) {\n return this._writeData(concat(writer._data));\n }\n // Arrayish items; padded on the right to wordSize\n writeBytes(value) {\n let bytes = arrayify(value);\n const paddingOffset = bytes.length % this.wordSize;\n if (paddingOffset) {\n bytes = concat([bytes, this._padding.slice(paddingOffset)]);\n }\n return this._writeData(bytes);\n }\n _getValue(value) {\n let bytes = arrayify(BigNumber.from(value));\n if (bytes.length > this.wordSize) {\n logger.throwError(\"value out-of-bounds\", Logger.errors.BUFFER_OVERRUN, {\n length: this.wordSize,\n offset: bytes.length\n });\n }\n if (bytes.length % this.wordSize) {\n bytes = concat([this._padding.slice(bytes.length % this.wordSize), bytes]);\n }\n return bytes;\n }\n // BigNumberish items; padded on the left to wordSize\n writeValue(value) {\n return this._writeData(this._getValue(value));\n }\n writeUpdatableValue() {\n const offset = this._data.length;\n this._data.push(this._padding);\n this._dataLength += this.wordSize;\n return (value) => {\n this._data[offset] = this._getValue(value);\n };\n }\n}\nexport class Reader {\n constructor(data, wordSize, coerceFunc, allowLoose) {\n defineReadOnly(this, \"_data\", arrayify(data));\n defineReadOnly(this, \"wordSize\", wordSize || 32);\n defineReadOnly(this, \"_coerceFunc\", coerceFunc);\n defineReadOnly(this, \"allowLoose\", allowLoose);\n this._offset = 0;\n }\n get data() { return hexlify(this._data); }\n get consumed() { return this._offset; }\n // The default Coerce function\n static coerce(name, value) {\n let match = name.match(\"^u?int([0-9]+)$\");\n if (match && parseInt(match[1]) <= 48) {\n value = value.toNumber();\n }\n return value;\n }\n coerce(name, value) {\n if (this._coerceFunc) {\n return this._coerceFunc(name, value);\n }\n return Reader.coerce(name, value);\n }\n _peekBytes(offset, length, loose) {\n let alignedLength = Math.ceil(length / this.wordSize) * this.wordSize;\n if (this._offset + alignedLength > this._data.length) {\n if (this.allowLoose && loose && this._offset + length <= this._data.length) {\n alignedLength = length;\n }\n else {\n logger.throwError(\"data out-of-bounds\", Logger.errors.BUFFER_OVERRUN, {\n length: this._data.length,\n offset: this._offset + alignedLength\n });\n }\n }\n return this._data.slice(this._offset, this._offset + alignedLength);\n }\n subReader(offset) {\n return new Reader(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc, this.allowLoose);\n }\n readBytes(length, loose) {\n let bytes = this._peekBytes(0, length, !!loose);\n this._offset += bytes.length;\n // @TODO: Make sure the length..end bytes are all 0?\n return bytes.slice(0, length);\n }\n readValue() {\n return BigNumber.from(this.readBytes(this.wordSize));\n }\n}\n//# sourceMappingURL=abstract-coder.js.map","\"use strict\";\n\nimport { arrayify, BytesLike, concat, hexConcat, hexlify } from \"@ethersproject/bytes\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"../_version\";\nconst logger = new Logger(version);\n\nexport interface Result extends ReadonlyArray {\n readonly [key: string]: any;\n}\n\nexport function checkResultErrors(result: Result): Array<{ path: Array, error: Error }> {\n // Find the first error (if any)\n const errors: Array<{ path: Array, error: Error }> = [ ];\n\n const checkErrors = function(path: Array, object: any): void {\n if (!Array.isArray(object)) { return; }\n for (let key in object) {\n const childPath = path.slice();\n childPath.push(key);\n\n try {\n checkErrors(childPath, object[key]);\n } catch (error) {\n errors.push({ path: childPath, error: error });\n }\n }\n }\n checkErrors([ ], result);\n\n return errors;\n\n}\n\nexport type CoerceFunc = (type: string, value: any) => any;\n\nexport abstract class Coder {\n\n // The coder name:\n // - address, uint256, tuple, array, etc.\n readonly name: string;\n\n // The fully expanded type, including composite types:\n // - address, uint256, tuple(address,bytes), uint256[3][4][], etc.\n readonly type: string;\n\n // The localName bound in the signature, in this example it is \"baz\":\n // - tuple(address foo, uint bar) baz\n readonly localName: string;\n\n // Whether this type is dynamic:\n // - Dynamic: bytes, string, address[], tuple(boolean[]), etc.\n // - Not Dynamic: address, uint256, boolean[3], tuple(address, uint8)\n readonly dynamic: boolean;\n\n constructor(name: string, type: string, localName: string, dynamic: boolean) {\n // @TODO: defineReadOnly these\n this.name = name;\n this.type = type;\n this.localName = localName;\n this.dynamic = dynamic;\n }\n\n _throwError(message: string, value: any): void {\n logger.throwArgumentError(message, this.localName, value);\n }\n\n abstract encode(writer: Writer, value: any): number;\n abstract decode(reader: Reader): any;\n\n abstract defaultValue(): any;\n}\n\nexport class Writer {\n readonly wordSize: number;\n\n _data: Array;\n _dataLength: number;\n _padding: Uint8Array;\n\n constructor(wordSize?: number) {\n defineReadOnly(this, \"wordSize\", wordSize || 32);\n this._data = [ ];\n this._dataLength = 0;\n this._padding = new Uint8Array(wordSize);\n }\n\n get data(): string {\n return hexConcat(this._data);\n }\n get length(): number { return this._dataLength; }\n\n _writeData(data: Uint8Array): number {\n this._data.push(data);\n this._dataLength += data.length;\n return data.length;\n }\n\n appendWriter(writer: Writer): number {\n return this._writeData(concat(writer._data));\n }\n\n // Arrayish items; padded on the right to wordSize\n writeBytes(value: BytesLike): number {\n let bytes = arrayify(value);\n const paddingOffset = bytes.length % this.wordSize;\n if (paddingOffset) {\n bytes = concat([ bytes, this._padding.slice(paddingOffset) ])\n }\n return this._writeData(bytes);\n }\n\n _getValue(value: BigNumberish): Uint8Array {\n let bytes = arrayify(BigNumber.from(value));\n if (bytes.length > this.wordSize) {\n logger.throwError(\"value out-of-bounds\", Logger.errors.BUFFER_OVERRUN, {\n length: this.wordSize,\n offset: bytes.length\n });\n }\n if (bytes.length % this.wordSize) {\n bytes = concat([ this._padding.slice(bytes.length % this.wordSize), bytes ]);\n }\n return bytes;\n }\n\n // BigNumberish items; padded on the left to wordSize\n writeValue(value: BigNumberish): number {\n return this._writeData(this._getValue(value));\n }\n\n writeUpdatableValue(): (value: BigNumberish) => void {\n const offset = this._data.length;\n this._data.push(this._padding);\n this._dataLength += this.wordSize;\n return (value: BigNumberish) => {\n this._data[offset] = this._getValue(value);\n };\n }\n}\n\nexport class Reader {\n readonly wordSize: number;\n readonly allowLoose: boolean;\n\n readonly _data: Uint8Array;\n readonly _coerceFunc: CoerceFunc;\n\n _offset: number;\n\n constructor(data: BytesLike, wordSize?: number, coerceFunc?: CoerceFunc, allowLoose?: boolean) {\n defineReadOnly(this, \"_data\", arrayify(data));\n defineReadOnly(this, \"wordSize\", wordSize || 32);\n defineReadOnly(this, \"_coerceFunc\", coerceFunc);\n defineReadOnly(this, \"allowLoose\", allowLoose);\n\n this._offset = 0;\n }\n\n get data(): string { return hexlify(this._data); }\n get consumed(): number { return this._offset; }\n\n // The default Coerce function\n static coerce(name: string, value: any): any {\n let match = name.match(\"^u?int([0-9]+)$\");\n if (match && parseInt(match[1]) <= 48) { value = value.toNumber(); }\n return value;\n }\n\n coerce(name: string, value: any): any {\n if (this._coerceFunc) { return this._coerceFunc(name, value); }\n return Reader.coerce(name, value);\n }\n\n _peekBytes(offset: number, length: number, loose?: boolean): Uint8Array {\n let alignedLength = Math.ceil(length / this.wordSize) * this.wordSize;\n if (this._offset + alignedLength > this._data.length) {\n if (this.allowLoose && loose && this._offset + length <= this._data.length) {\n alignedLength = length;\n } else {\n logger.throwError(\"data out-of-bounds\", Logger.errors.BUFFER_OVERRUN, {\n length: this._data.length,\n offset: this._offset + alignedLength\n });\n }\n }\n return this._data.slice(this._offset, this._offset + alignedLength)\n }\n\n subReader(offset: number): Reader {\n return new Reader(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc, this.allowLoose);\n }\n\n readBytes(length: number, loose?: boolean): Uint8Array {\n let bytes = this._peekBytes(0, length, !!loose);\n this._offset += bytes.length;\n // @TODO: Make sure the length..end bytes are all 0?\n return bytes.slice(0, length);\n }\n\n readValue(): BigNumber {\n return BigNumber.from(this.readBytes(this.wordSize));\n }\n}\n","\"use strict\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { hexZeroPad } from \"@ethersproject/bytes\";\nimport { Coder } from \"./abstract-coder\";\nexport class AddressCoder extends Coder {\n constructor(localName) {\n super(\"address\", \"address\", localName, false);\n }\n defaultValue() {\n return \"0x0000000000000000000000000000000000000000\";\n }\n encode(writer, value) {\n try {\n value = getAddress(value);\n }\n catch (error) {\n this._throwError(error.message, value);\n }\n return writer.writeValue(value);\n }\n decode(reader) {\n return getAddress(hexZeroPad(reader.readValue().toHexString(), 20));\n }\n}\n//# sourceMappingURL=address.js.map","\"use strict\";\n\nimport { getAddress } from \"@ethersproject/address\";\nimport { hexZeroPad } from \"@ethersproject/bytes\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\nexport class AddressCoder extends Coder {\n\n constructor(localName: string) {\n super(\"address\", \"address\", localName, false);\n }\n\n defaultValue(): string {\n return \"0x0000000000000000000000000000000000000000\";\n }\n\n encode(writer: Writer, value: string): number {\n try {\n value = getAddress(value)\n } catch (error) {\n this._throwError(error.message, value);\n }\n return writer.writeValue(value);\n }\n\n decode(reader: Reader): any {\n return getAddress(hexZeroPad(reader.readValue().toHexString(), 20));\n }\n}\n\n","\"use strict\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"../_version\";\nconst logger = new Logger(version);\nimport { Coder, Writer } from \"./abstract-coder\";\nimport { AnonymousCoder } from \"./anonymous\";\nexport function pack(writer, coders, values) {\n let arrayValues = null;\n if (Array.isArray(values)) {\n arrayValues = values;\n }\n else if (values && typeof (values) === \"object\") {\n let unique = {};\n arrayValues = coders.map((coder) => {\n const name = coder.localName;\n if (!name) {\n logger.throwError(\"cannot encode object for signature with missing names\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"values\",\n coder: coder,\n value: values\n });\n }\n if (unique[name]) {\n logger.throwError(\"cannot encode object for signature with duplicate names\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"values\",\n coder: coder,\n value: values\n });\n }\n unique[name] = true;\n return values[name];\n });\n }\n else {\n logger.throwArgumentError(\"invalid tuple value\", \"tuple\", values);\n }\n if (coders.length !== arrayValues.length) {\n logger.throwArgumentError(\"types/value length mismatch\", \"tuple\", values);\n }\n let staticWriter = new Writer(writer.wordSize);\n let dynamicWriter = new Writer(writer.wordSize);\n let updateFuncs = [];\n coders.forEach((coder, index) => {\n let value = arrayValues[index];\n if (coder.dynamic) {\n // Get current dynamic offset (for the future pointer)\n let dynamicOffset = dynamicWriter.length;\n // Encode the dynamic value into the dynamicWriter\n coder.encode(dynamicWriter, value);\n // Prepare to populate the correct offset once we are done\n let updateFunc = staticWriter.writeUpdatableValue();\n updateFuncs.push((baseOffset) => {\n updateFunc(baseOffset + dynamicOffset);\n });\n }\n else {\n coder.encode(staticWriter, value);\n }\n });\n // Backfill all the dynamic offsets, now that we know the static length\n updateFuncs.forEach((func) => { func(staticWriter.length); });\n let length = writer.appendWriter(staticWriter);\n length += writer.appendWriter(dynamicWriter);\n return length;\n}\nexport function unpack(reader, coders) {\n let values = [];\n // A reader anchored to this base\n let baseReader = reader.subReader(0);\n coders.forEach((coder) => {\n let value = null;\n if (coder.dynamic) {\n let offset = reader.readValue();\n let offsetReader = baseReader.subReader(offset.toNumber());\n try {\n value = coder.decode(offsetReader);\n }\n catch (error) {\n // Cannot recover from this\n if (error.code === Logger.errors.BUFFER_OVERRUN) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n else {\n try {\n value = coder.decode(reader);\n }\n catch (error) {\n // Cannot recover from this\n if (error.code === Logger.errors.BUFFER_OVERRUN) {\n throw error;\n }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n if (value != undefined) {\n values.push(value);\n }\n });\n // We only output named properties for uniquely named coders\n const uniqueNames = coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) {\n accum[name] = 0;\n }\n accum[name]++;\n }\n return accum;\n }, {});\n // Add any named parameters (i.e. tuples)\n coders.forEach((coder, index) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) {\n return;\n }\n if (name === \"length\") {\n name = \"_length\";\n }\n if (values[name] != null) {\n return;\n }\n const value = values[index];\n if (value instanceof Error) {\n Object.defineProperty(values, name, {\n enumerable: true,\n get: () => { throw value; }\n });\n }\n else {\n values[name] = value;\n }\n });\n for (let i = 0; i < values.length; i++) {\n const value = values[i];\n if (value instanceof Error) {\n Object.defineProperty(values, i, {\n enumerable: true,\n get: () => { throw value; }\n });\n }\n }\n return Object.freeze(values);\n}\nexport class ArrayCoder extends Coder {\n constructor(coder, length, localName) {\n const type = (coder.type + \"[\" + (length >= 0 ? length : \"\") + \"]\");\n const dynamic = (length === -1 || coder.dynamic);\n super(\"array\", type, localName, dynamic);\n this.coder = coder;\n this.length = length;\n }\n defaultValue() {\n // Verifies the child coder is valid (even if the array is dynamic or 0-length)\n const defaultChild = this.coder.defaultValue();\n const result = [];\n for (let i = 0; i < this.length; i++) {\n result.push(defaultChild);\n }\n return result;\n }\n encode(writer, value) {\n if (!Array.isArray(value)) {\n this._throwError(\"expected array value\", value);\n }\n let count = this.length;\n if (count === -1) {\n count = value.length;\n writer.writeValue(value.length);\n }\n logger.checkArgumentCount(value.length, count, \"coder array\" + (this.localName ? (\" \" + this.localName) : \"\"));\n let coders = [];\n for (let i = 0; i < value.length; i++) {\n coders.push(this.coder);\n }\n return pack(writer, coders, value);\n }\n decode(reader) {\n let count = this.length;\n if (count === -1) {\n count = reader.readValue().toNumber();\n // Check that there is *roughly* enough data to ensure\n // stray random data is not being read as a length. Each\n // slot requires at least 32 bytes for their value (or 32\n // bytes as a link to the data). This could use a much\n // tighter bound, but we are erroring on the side of safety.\n if (count * 32 > reader._data.length) {\n logger.throwError(\"insufficient data length\", Logger.errors.BUFFER_OVERRUN, {\n length: reader._data.length,\n count: count\n });\n }\n }\n let coders = [];\n for (let i = 0; i < count; i++) {\n coders.push(new AnonymousCoder(this.coder));\n }\n return reader.coerce(this.name, unpack(reader, coders));\n }\n}\n//# sourceMappingURL=array.js.map","\"use strict\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"../_version\";\nconst logger = new Logger(version);\n\nimport { Coder, Reader, Result, Writer } from \"./abstract-coder\";\nimport { AnonymousCoder } from \"./anonymous\";\n\nexport function pack(writer: Writer, coders: ReadonlyArray, values: Array | { [ name: string ]: any }): number {\n let arrayValues: Array = null;\n\n if (Array.isArray(values)) {\n arrayValues = values;\n\n } else if (values && typeof(values) === \"object\") {\n let unique: { [ name: string ]: boolean } = { };\n\n arrayValues = coders.map((coder) => {\n const name = coder.localName;\n if (!name) {\n logger.throwError(\"cannot encode object for signature with missing names\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"values\",\n coder: coder,\n value: values\n });\n }\n\n if (unique[name]) {\n logger.throwError(\"cannot encode object for signature with duplicate names\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"values\",\n coder: coder,\n value: values\n });\n }\n\n unique[name] = true;\n\n return values[name];\n });\n\n } else {\n logger.throwArgumentError(\"invalid tuple value\", \"tuple\", values);\n }\n\n if (coders.length !== arrayValues.length) {\n logger.throwArgumentError(\"types/value length mismatch\", \"tuple\", values);\n }\n\n let staticWriter = new Writer(writer.wordSize);\n let dynamicWriter = new Writer(writer.wordSize);\n\n let updateFuncs: Array<(baseOffset: number) => void> = [];\n coders.forEach((coder, index) => {\n let value = arrayValues[index];\n\n if (coder.dynamic) {\n // Get current dynamic offset (for the future pointer)\n let dynamicOffset = dynamicWriter.length;\n\n // Encode the dynamic value into the dynamicWriter\n coder.encode(dynamicWriter, value);\n\n // Prepare to populate the correct offset once we are done\n let updateFunc = staticWriter.writeUpdatableValue();\n updateFuncs.push((baseOffset: number) => {\n updateFunc(baseOffset + dynamicOffset);\n });\n\n } else {\n coder.encode(staticWriter, value);\n }\n });\n\n // Backfill all the dynamic offsets, now that we know the static length\n updateFuncs.forEach((func) => { func(staticWriter.length); });\n\n let length = writer.appendWriter(staticWriter);\n length += writer.appendWriter(dynamicWriter);\n return length;\n}\n\nexport function unpack(reader: Reader, coders: Array): Result {\n let values: any = [];\n\n // A reader anchored to this base\n let baseReader = reader.subReader(0);\n\n coders.forEach((coder) => {\n let value: any = null;\n\n if (coder.dynamic) {\n let offset = reader.readValue();\n let offsetReader = baseReader.subReader(offset.toNumber());\n try {\n value = coder.decode(offsetReader);\n } catch (error) {\n // Cannot recover from this\n if (error.code === Logger.errors.BUFFER_OVERRUN) { throw error; }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n\n } else {\n try {\n value = coder.decode(reader);\n } catch (error) {\n // Cannot recover from this\n if (error.code === Logger.errors.BUFFER_OVERRUN) { throw error; }\n value = error;\n value.baseType = coder.name;\n value.name = coder.localName;\n value.type = coder.type;\n }\n }\n\n if (value != undefined) {\n values.push(value);\n }\n });\n\n // We only output named properties for uniquely named coders\n const uniqueNames = coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) { accum[name] = 0; }\n accum[name]++;\n }\n return accum;\n }, <{ [ name: string ]: number }>{ });\n\n // Add any named parameters (i.e. tuples)\n coders.forEach((coder: Coder, index: number) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) { return; }\n\n if (name === \"length\") { name = \"_length\"; }\n\n if (values[name] != null) { return; }\n\n const value = values[index];\n\n if (value instanceof Error) {\n Object.defineProperty(values, name, {\n enumerable: true,\n get: () => { throw value; }\n });\n } else {\n values[name] = value;\n }\n });\n\n for (let i = 0; i < values.length; i++) {\n const value = values[i];\n if (value instanceof Error) {\n Object.defineProperty(values, i, {\n enumerable: true,\n get: () => { throw value; }\n });\n }\n }\n\n return Object.freeze(values);\n}\n\n\nexport class ArrayCoder extends Coder {\n readonly coder: Coder;\n readonly length: number;\n\n constructor(coder: Coder, length: number, localName: string) {\n const type = (coder.type + \"[\" + (length >= 0 ? length: \"\") + \"]\");\n const dynamic = (length === -1 || coder.dynamic);\n super(\"array\", type, localName, dynamic);\n\n this.coder = coder;\n this.length = length;\n }\n\n defaultValue(): Array {\n // Verifies the child coder is valid (even if the array is dynamic or 0-length)\n const defaultChild = this.coder.defaultValue();\n\n const result: Array = [];\n for (let i = 0; i < this.length; i++) {\n result.push(defaultChild);\n }\n return result;\n }\n\n encode(writer: Writer, value: Array): number {\n if (!Array.isArray(value)) {\n this._throwError(\"expected array value\", value);\n }\n\n let count = this.length;\n\n if (count === -1) {\n count = value.length;\n writer.writeValue(value.length);\n }\n\n logger.checkArgumentCount(value.length, count, \"coder array\" + (this.localName? (\" \"+ this.localName): \"\"));\n\n let coders = [];\n for (let i = 0; i < value.length; i++) { coders.push(this.coder); }\n\n return pack(writer, coders, value);\n }\n\n decode(reader: Reader): any {\n let count = this.length;\n if (count === -1) {\n count = reader.readValue().toNumber();\n\n // Check that there is *roughly* enough data to ensure\n // stray random data is not being read as a length. Each\n // slot requires at least 32 bytes for their value (or 32\n // bytes as a link to the data). This could use a much\n // tighter bound, but we are erroring on the side of safety.\n if (count * 32 > reader._data.length) {\n logger.throwError(\"insufficient data length\", Logger.errors.BUFFER_OVERRUN, {\n length: reader._data.length,\n count: count\n });\n }\n }\n let coders = [];\n for (let i = 0; i < count; i++) { coders.push(new AnonymousCoder(this.coder)); }\n\n return reader.coerce(this.name, unpack(reader, coders));\n }\n}\n\n","\"use strict\";\nimport { Coder } from \"./abstract-coder\";\n// Clones the functionality of an existing Coder, but without a localName\nexport class AnonymousCoder extends Coder {\n constructor(coder) {\n super(coder.name, coder.type, undefined, coder.dynamic);\n this.coder = coder;\n }\n defaultValue() {\n return this.coder.defaultValue();\n }\n encode(writer, value) {\n return this.coder.encode(writer, value);\n }\n decode(reader) {\n return this.coder.decode(reader);\n }\n}\n//# sourceMappingURL=anonymous.js.map","\"use strict\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\n// Clones the functionality of an existing Coder, but without a localName\nexport class AnonymousCoder extends Coder {\n private coder: Coder;\n\n constructor(coder: Coder) {\n super(coder.name, coder.type, undefined, coder.dynamic);\n this.coder = coder;\n }\n\n defaultValue(): any {\n return this.coder.defaultValue();\n }\n\n encode(writer: Writer, value: any): number {\n return this.coder.encode(writer, value);\n }\n\n decode(reader: Reader): any {\n return this.coder.decode(reader);\n }\n}\n","\"use strict\";\nimport { Coder } from \"./abstract-coder\";\nexport class BooleanCoder extends Coder {\n constructor(localName) {\n super(\"bool\", \"bool\", localName, false);\n }\n defaultValue() {\n return false;\n }\n encode(writer, value) {\n return writer.writeValue(value ? 1 : 0);\n }\n decode(reader) {\n return reader.coerce(this.type, !reader.readValue().isZero());\n }\n}\n//# sourceMappingURL=boolean.js.map","\"use strict\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\nexport class BooleanCoder extends Coder {\n\n constructor(localName: string) {\n super(\"bool\", \"bool\", localName, false);\n }\n\n defaultValue(): boolean {\n return false;\n }\n\n encode(writer: Writer, value: boolean): number {\n return writer.writeValue(value ? 1: 0);\n }\n\n decode(reader: Reader): any {\n return reader.coerce(this.type, !reader.readValue().isZero());\n }\n}\n\n","\"use strict\";\nimport { arrayify, hexlify } from \"@ethersproject/bytes\";\nimport { Coder } from \"./abstract-coder\";\nexport class DynamicBytesCoder extends Coder {\n constructor(type, localName) {\n super(type, type, localName, true);\n }\n defaultValue() {\n return \"0x\";\n }\n encode(writer, value) {\n value = arrayify(value);\n let length = writer.writeValue(value.length);\n length += writer.writeBytes(value);\n return length;\n }\n decode(reader) {\n return reader.readBytes(reader.readValue().toNumber(), true);\n }\n}\nexport class BytesCoder extends DynamicBytesCoder {\n constructor(localName) {\n super(\"bytes\", localName);\n }\n decode(reader) {\n return reader.coerce(this.name, hexlify(super.decode(reader)));\n }\n}\n//# sourceMappingURL=bytes.js.map","\"use strict\";\n\nimport { arrayify, hexlify } from \"@ethersproject/bytes\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\nexport class DynamicBytesCoder extends Coder {\n constructor(type: string, localName: string) {\n super(type, type, localName, true);\n }\n\n defaultValue(): string {\n return \"0x\";\n }\n\n encode(writer: Writer, value: any): number {\n value = arrayify(value);\n let length = writer.writeValue(value.length);\n length += writer.writeBytes(value);\n return length;\n }\n\n decode(reader: Reader): any {\n return reader.readBytes(reader.readValue().toNumber(), true);\n }\n}\n\nexport class BytesCoder extends DynamicBytesCoder {\n constructor(localName: string) {\n super(\"bytes\", localName);\n }\n\n decode(reader: Reader): any {\n return reader.coerce(this.name, hexlify(super.decode(reader)));\n }\n}\n\n\n","\"use strict\";\nimport { arrayify, hexlify } from \"@ethersproject/bytes\";\nimport { Coder } from \"./abstract-coder\";\n// @TODO: Merge this with bytes\nexport class FixedBytesCoder extends Coder {\n constructor(size, localName) {\n let name = \"bytes\" + String(size);\n super(name, name, localName, false);\n this.size = size;\n }\n defaultValue() {\n return (\"0x0000000000000000000000000000000000000000000000000000000000000000\").substring(0, 2 + this.size * 2);\n }\n encode(writer, value) {\n let data = arrayify(value);\n if (data.length !== this.size) {\n this._throwError(\"incorrect data length\", value);\n }\n return writer.writeBytes(data);\n }\n decode(reader) {\n return reader.coerce(this.name, hexlify(reader.readBytes(this.size)));\n }\n}\n//# sourceMappingURL=fixed-bytes.js.map","\"use strict\";\n\nimport { arrayify, BytesLike, hexlify } from \"@ethersproject/bytes\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\n// @TODO: Merge this with bytes\nexport class FixedBytesCoder extends Coder {\n readonly size: number;\n\n constructor(size: number, localName: string) {\n let name = \"bytes\" + String(size);\n super(name, name, localName, false);\n this.size = size;\n }\n\n defaultValue(): string {\n return (\"0x0000000000000000000000000000000000000000000000000000000000000000\").substring(0, 2 + this.size * 2);\n }\n\n encode(writer: Writer, value: BytesLike): number {\n let data = arrayify(value);\n if (data.length !== this.size) { this._throwError(\"incorrect data length\", value); }\n return writer.writeBytes(data);\n }\n\n decode(reader: Reader): any {\n return reader.coerce(this.name, hexlify(reader.readBytes(this.size)));\n }\n}\n","\"use strict\";\nimport { Coder } from \"./abstract-coder\";\nexport class NullCoder extends Coder {\n constructor(localName) {\n super(\"null\", \"\", localName, false);\n }\n defaultValue() {\n return null;\n }\n encode(writer, value) {\n if (value != null) {\n this._throwError(\"not null\", value);\n }\n return writer.writeBytes([]);\n }\n decode(reader) {\n reader.readBytes(0);\n return reader.coerce(this.name, null);\n }\n}\n//# sourceMappingURL=null.js.map","\"use strict\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\nexport class NullCoder extends Coder {\n\n constructor(localName: string) {\n super(\"null\", \"\", localName, false);\n }\n\n defaultValue(): null {\n return null;\n }\n\n encode(writer: Writer, value: any): number {\n if (value != null) { this._throwError(\"not null\", value); }\n return writer.writeBytes([ ]);\n }\n\n decode(reader: Reader): any {\n reader.readBytes(0);\n return reader.coerce(this.name, null);\n }\n}\n","\"use strict\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { MaxUint256, NegativeOne, One, Zero } from \"@ethersproject/constants\";\nimport { Coder } from \"./abstract-coder\";\nexport class NumberCoder extends Coder {\n constructor(size, signed, localName) {\n const name = ((signed ? \"int\" : \"uint\") + (size * 8));\n super(name, name, localName, false);\n this.size = size;\n this.signed = signed;\n }\n defaultValue() {\n return 0;\n }\n encode(writer, value) {\n let v = BigNumber.from(value);\n // Check bounds are safe for encoding\n let maxUintValue = MaxUint256.mask(writer.wordSize * 8);\n if (this.signed) {\n let bounds = maxUintValue.mask(this.size * 8 - 1);\n if (v.gt(bounds) || v.lt(bounds.add(One).mul(NegativeOne))) {\n this._throwError(\"value out-of-bounds\", value);\n }\n }\n else if (v.lt(Zero) || v.gt(maxUintValue.mask(this.size * 8))) {\n this._throwError(\"value out-of-bounds\", value);\n }\n v = v.toTwos(this.size * 8).mask(this.size * 8);\n if (this.signed) {\n v = v.fromTwos(this.size * 8).toTwos(8 * writer.wordSize);\n }\n return writer.writeValue(v);\n }\n decode(reader) {\n let value = reader.readValue().mask(this.size * 8);\n if (this.signed) {\n value = value.fromTwos(this.size * 8);\n }\n return reader.coerce(this.name, value);\n }\n}\n//# sourceMappingURL=number.js.map","\"use strict\";\n\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { MaxUint256, NegativeOne, One, Zero } from \"@ethersproject/constants\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\n\nexport class NumberCoder extends Coder {\n readonly size: number;\n readonly signed: boolean;\n\n constructor(size: number, signed: boolean, localName: string) {\n const name = ((signed ? \"int\": \"uint\") + (size * 8));\n super(name, name, localName, false);\n\n this.size = size;\n this.signed = signed;\n }\n\n defaultValue(): number {\n return 0;\n }\n\n encode(writer: Writer, value: BigNumberish): number {\n let v = BigNumber.from(value);\n\n // Check bounds are safe for encoding\n let maxUintValue = MaxUint256.mask(writer.wordSize * 8);\n if (this.signed) {\n let bounds = maxUintValue.mask(this.size * 8 - 1);\n if (v.gt(bounds) || v.lt(bounds.add(One).mul(NegativeOne))) {\n this._throwError(\"value out-of-bounds\", value);\n }\n } else if (v.lt(Zero) || v.gt(maxUintValue.mask(this.size * 8))) {\n this._throwError(\"value out-of-bounds\", value);\n }\n\n v = v.toTwos(this.size * 8).mask(this.size * 8);\n\n if (this.signed) {\n v = v.fromTwos(this.size * 8).toTwos(8 * writer.wordSize);\n }\n\n return writer.writeValue(v);\n }\n\n decode(reader: Reader): any {\n let value = reader.readValue().mask(this.size * 8);\n\n if (this.signed) {\n value = value.fromTwos(this.size * 8);\n }\n\n return reader.coerce(this.name, value);\n }\n}\n\n","import { BigNumber } from \"@ethersproject/bignumber\";\nconst NegativeOne = ( /*#__PURE__*/BigNumber.from(-1));\nconst Zero = ( /*#__PURE__*/BigNumber.from(0));\nconst One = ( /*#__PURE__*/BigNumber.from(1));\nconst Two = ( /*#__PURE__*/BigNumber.from(2));\nconst WeiPerEther = ( /*#__PURE__*/BigNumber.from(\"1000000000000000000\"));\nconst MaxUint256 = ( /*#__PURE__*/BigNumber.from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"));\nconst MinInt256 = ( /*#__PURE__*/BigNumber.from(\"-0x8000000000000000000000000000000000000000000000000000000000000000\"));\nconst MaxInt256 = ( /*#__PURE__*/BigNumber.from(\"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"));\nexport { NegativeOne, Zero, One, Two, WeiPerEther, MaxUint256, MinInt256, MaxInt256, };\n//# sourceMappingURL=bignumbers.js.map","import { BigNumber } from \"@ethersproject/bignumber\";\n\nconst NegativeOne: BigNumber = (/*#__PURE__*/BigNumber.from(-1));\nconst Zero: BigNumber = (/*#__PURE__*/BigNumber.from(0));\nconst One: BigNumber = (/*#__PURE__*/BigNumber.from(1));\nconst Two: BigNumber = (/*#__PURE__*/BigNumber.from(2));\nconst WeiPerEther: BigNumber = (/*#__PURE__*/BigNumber.from(\"1000000000000000000\"));\nconst MaxUint256: BigNumber = (/*#__PURE__*/BigNumber.from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"));\n\nconst MinInt256: BigNumber = (/*#__PURE__*/BigNumber.from(\"-0x8000000000000000000000000000000000000000000000000000000000000000\"));\nconst MaxInt256: BigNumber = (/*#__PURE__*/BigNumber.from(\"0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\"));\n\nexport {\n NegativeOne,\n Zero,\n One,\n Two,\n WeiPerEther,\n MaxUint256,\n MinInt256,\n MaxInt256,\n};\n","\"use strict\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\nimport { DynamicBytesCoder } from \"./bytes\";\nexport class StringCoder extends DynamicBytesCoder {\n constructor(localName) {\n super(\"string\", localName);\n }\n defaultValue() {\n return \"\";\n }\n encode(writer, value) {\n return super.encode(writer, toUtf8Bytes(value));\n }\n decode(reader) {\n return toUtf8String(super.decode(reader));\n }\n}\n//# sourceMappingURL=string.js.map","\"use strict\";\n\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\n\nimport { Reader, Writer } from \"./abstract-coder\";\nimport { DynamicBytesCoder } from \"./bytes\";\n\nexport class StringCoder extends DynamicBytesCoder {\n\n constructor(localName: string) {\n super(\"string\", localName);\n }\n\n defaultValue(): string {\n return \"\";\n }\n\n encode(writer: Writer, value: any): number {\n return super.encode(writer, toUtf8Bytes(value));\n }\n\n decode(reader: Reader): any {\n return toUtf8String(super.decode(reader));\n }\n}\n","\"use strict\";\nimport { Coder } from \"./abstract-coder\";\nimport { pack, unpack } from \"./array\";\nexport class TupleCoder extends Coder {\n constructor(coders, localName) {\n let dynamic = false;\n const types = [];\n coders.forEach((coder) => {\n if (coder.dynamic) {\n dynamic = true;\n }\n types.push(coder.type);\n });\n const type = (\"tuple(\" + types.join(\",\") + \")\");\n super(\"tuple\", type, localName, dynamic);\n this.coders = coders;\n }\n defaultValue() {\n const values = [];\n this.coders.forEach((coder) => {\n values.push(coder.defaultValue());\n });\n // We only output named properties for uniquely named coders\n const uniqueNames = this.coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) {\n accum[name] = 0;\n }\n accum[name]++;\n }\n return accum;\n }, {});\n // Add named values\n this.coders.forEach((coder, index) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) {\n return;\n }\n if (name === \"length\") {\n name = \"_length\";\n }\n if (values[name] != null) {\n return;\n }\n values[name] = values[index];\n });\n return Object.freeze(values);\n }\n encode(writer, value) {\n return pack(writer, this.coders, value);\n }\n decode(reader) {\n return reader.coerce(this.name, unpack(reader, this.coders));\n }\n}\n//# sourceMappingURL=tuple.js.map","\"use strict\";\n\nimport { Coder, Reader, Writer } from \"./abstract-coder\";\nimport { pack, unpack } from \"./array\";\n\nexport class TupleCoder extends Coder {\n readonly coders: Array;\n\n constructor(coders: Array, localName: string) {\n let dynamic = false;\n const types: Array = [];\n coders.forEach((coder) => {\n if (coder.dynamic) { dynamic = true; }\n types.push(coder.type);\n });\n const type = (\"tuple(\" + types.join(\",\") + \")\");\n\n super(\"tuple\", type, localName, dynamic);\n this.coders = coders;\n }\n\n defaultValue(): any {\n const values: any = [ ];\n this.coders.forEach((coder) => {\n values.push(coder.defaultValue());\n });\n\n // We only output named properties for uniquely named coders\n const uniqueNames = this.coders.reduce((accum, coder) => {\n const name = coder.localName;\n if (name) {\n if (!accum[name]) { accum[name] = 0; }\n accum[name]++;\n }\n return accum;\n }, <{ [ name: string ]: number }>{ });\n\n // Add named values\n this.coders.forEach((coder: Coder, index: number) => {\n let name = coder.localName;\n if (!name || uniqueNames[name] !== 1) { return; }\n\n if (name === \"length\") { name = \"_length\"; }\n\n if (values[name] != null) { return; }\n\n values[name] = values[index];\n });\n\n return Object.freeze(values);\n }\n\n encode(writer: Writer, value: Array | { [ name: string ]: any }): number {\n return pack(writer, this.coders, value);\n }\n\n decode(reader: Reader): any {\n return reader.coerce(this.name, unpack(reader, this.coders));\n }\n}\n\n","\"use strict\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n;\nconst _constructorGuard = {};\nlet ModifiersBytes = { calldata: true, memory: true, storage: true };\nlet ModifiersNest = { calldata: true, memory: true };\nfunction checkModifier(type, name) {\n if (type === \"bytes\" || type === \"string\") {\n if (ModifiersBytes[name]) {\n return true;\n }\n }\n else if (type === \"address\") {\n if (name === \"payable\") {\n return true;\n }\n }\n else if (type.indexOf(\"[\") >= 0 || type === \"tuple\") {\n if (ModifiersNest[name]) {\n return true;\n }\n }\n if (ModifiersBytes[name] || name === \"payable\") {\n logger.throwArgumentError(\"invalid modifier\", \"name\", name);\n }\n return false;\n}\n// @TODO: Make sure that children of an indexed tuple are marked with a null indexed\nfunction parseParamType(param, allowIndexed) {\n let originalParam = param;\n function throwError(i) {\n logger.throwArgumentError(`unexpected character at position ${i}`, \"param\", param);\n }\n param = param.replace(/\\s/g, \" \");\n function newNode(parent) {\n let node = { type: \"\", name: \"\", parent: parent, state: { allowType: true } };\n if (allowIndexed) {\n node.indexed = false;\n }\n return node;\n }\n let parent = { type: \"\", name: \"\", state: { allowType: true } };\n let node = parent;\n for (let i = 0; i < param.length; i++) {\n let c = param[i];\n switch (c) {\n case \"(\":\n if (node.state.allowType && node.type === \"\") {\n node.type = \"tuple\";\n }\n else if (!node.state.allowParams) {\n throwError(i);\n }\n node.state.allowType = false;\n node.type = verifyType(node.type);\n node.components = [newNode(node)];\n node = node.components[0];\n break;\n case \")\":\n delete node.state;\n if (node.name === \"indexed\") {\n if (!allowIndexed) {\n throwError(i);\n }\n node.indexed = true;\n node.name = \"\";\n }\n if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n node.type = verifyType(node.type);\n let child = node;\n node = node.parent;\n if (!node) {\n throwError(i);\n }\n delete child.parent;\n node.state.allowParams = false;\n node.state.allowName = true;\n node.state.allowArray = true;\n break;\n case \",\":\n delete node.state;\n if (node.name === \"indexed\") {\n if (!allowIndexed) {\n throwError(i);\n }\n node.indexed = true;\n node.name = \"\";\n }\n if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n node.type = verifyType(node.type);\n let sibling = newNode(node.parent);\n //{ type: \"\", name: \"\", parent: node.parent, state: { allowType: true } };\n node.parent.components.push(sibling);\n delete node.parent;\n node = sibling;\n break;\n // Hit a space...\n case \" \":\n // If reading type, the type is done and may read a param or name\n if (node.state.allowType) {\n if (node.type !== \"\") {\n node.type = verifyType(node.type);\n delete node.state.allowType;\n node.state.allowName = true;\n node.state.allowParams = true;\n }\n }\n // If reading name, the name is done\n if (node.state.allowName) {\n if (node.name !== \"\") {\n if (node.name === \"indexed\") {\n if (!allowIndexed) {\n throwError(i);\n }\n if (node.indexed) {\n throwError(i);\n }\n node.indexed = true;\n node.name = \"\";\n }\n else if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n else {\n node.state.allowName = false;\n }\n }\n }\n break;\n case \"[\":\n if (!node.state.allowArray) {\n throwError(i);\n }\n node.type += c;\n node.state.allowArray = false;\n node.state.allowName = false;\n node.state.readArray = true;\n break;\n case \"]\":\n if (!node.state.readArray) {\n throwError(i);\n }\n node.type += c;\n node.state.readArray = false;\n node.state.allowArray = true;\n node.state.allowName = true;\n break;\n default:\n if (node.state.allowType) {\n node.type += c;\n node.state.allowParams = true;\n node.state.allowArray = true;\n }\n else if (node.state.allowName) {\n node.name += c;\n delete node.state.allowArray;\n }\n else if (node.state.readArray) {\n node.type += c;\n }\n else {\n throwError(i);\n }\n }\n }\n if (node.parent) {\n logger.throwArgumentError(\"unexpected eof\", \"param\", param);\n }\n delete parent.state;\n if (node.name === \"indexed\") {\n if (!allowIndexed) {\n throwError(originalParam.length - 7);\n }\n if (node.indexed) {\n throwError(originalParam.length - 7);\n }\n node.indexed = true;\n node.name = \"\";\n }\n else if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n parent.type = verifyType(parent.type);\n return parent;\n}\nfunction populate(object, params) {\n for (let key in params) {\n defineReadOnly(object, key, params[key]);\n }\n}\nexport const FormatTypes = Object.freeze({\n // Bare formatting, as is needed for computing a sighash of an event or function\n sighash: \"sighash\",\n // Human-Readable with Minimal spacing and without names (compact human-readable)\n minimal: \"minimal\",\n // Human-Readable with nice spacing, including all names\n full: \"full\",\n // JSON-format a la Solidity\n json: \"json\"\n});\nconst paramTypeArray = new RegExp(/^(.*)\\[([0-9]*)\\]$/);\nexport class ParamType {\n constructor(constructorGuard, params) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"use fromString\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new ParamType()\"\n });\n }\n populate(this, params);\n let match = this.type.match(paramTypeArray);\n if (match) {\n populate(this, {\n arrayLength: parseInt(match[2] || \"-1\"),\n arrayChildren: ParamType.fromObject({\n type: match[1],\n components: this.components\n }),\n baseType: \"array\"\n });\n }\n else {\n populate(this, {\n arrayLength: null,\n arrayChildren: null,\n baseType: ((this.components != null) ? \"tuple\" : this.type)\n });\n }\n this._isParamType = true;\n Object.freeze(this);\n }\n // Format the parameter fragment\n // - sighash: \"(uint256,address)\"\n // - minimal: \"tuple(uint256,address) indexed\"\n // - full: \"tuple(uint256 foo, address bar) indexed baz\"\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n let result = {\n type: ((this.baseType === \"tuple\") ? \"tuple\" : this.type),\n name: (this.name || undefined)\n };\n if (typeof (this.indexed) === \"boolean\") {\n result.indexed = this.indexed;\n }\n if (this.components) {\n result.components = this.components.map((comp) => JSON.parse(comp.format(format)));\n }\n return JSON.stringify(result);\n }\n let result = \"\";\n // Array\n if (this.baseType === \"array\") {\n result += this.arrayChildren.format(format);\n result += \"[\" + (this.arrayLength < 0 ? \"\" : String(this.arrayLength)) + \"]\";\n }\n else {\n if (this.baseType === \"tuple\") {\n if (format !== FormatTypes.sighash) {\n result += this.type;\n }\n result += \"(\" + this.components.map((comp) => comp.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \")\";\n }\n else {\n result += this.type;\n }\n }\n if (format !== FormatTypes.sighash) {\n if (this.indexed === true) {\n result += \" indexed\";\n }\n if (format === FormatTypes.full && this.name) {\n result += \" \" + this.name;\n }\n }\n return result;\n }\n static from(value, allowIndexed) {\n if (typeof (value) === \"string\") {\n return ParamType.fromString(value, allowIndexed);\n }\n return ParamType.fromObject(value);\n }\n static fromObject(value) {\n if (ParamType.isParamType(value)) {\n return value;\n }\n return new ParamType(_constructorGuard, {\n name: (value.name || null),\n type: verifyType(value.type),\n indexed: ((value.indexed == null) ? null : !!value.indexed),\n components: (value.components ? value.components.map(ParamType.fromObject) : null)\n });\n }\n static fromString(value, allowIndexed) {\n function ParamTypify(node) {\n return ParamType.fromObject({\n name: node.name,\n type: node.type,\n indexed: node.indexed,\n components: node.components\n });\n }\n return ParamTypify(parseParamType(value, !!allowIndexed));\n }\n static isParamType(value) {\n return !!(value != null && value._isParamType);\n }\n}\n;\nfunction parseParams(value, allowIndex) {\n return splitNesting(value).map((param) => ParamType.fromString(param, allowIndex));\n}\nexport class Fragment {\n constructor(constructorGuard, params) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"use a static from method\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new Fragment()\"\n });\n }\n populate(this, params);\n this._isFragment = true;\n Object.freeze(this);\n }\n static from(value) {\n if (Fragment.isFragment(value)) {\n return value;\n }\n if (typeof (value) === \"string\") {\n return Fragment.fromString(value);\n }\n return Fragment.fromObject(value);\n }\n static fromObject(value) {\n if (Fragment.isFragment(value)) {\n return value;\n }\n switch (value.type) {\n case \"function\":\n return FunctionFragment.fromObject(value);\n case \"event\":\n return EventFragment.fromObject(value);\n case \"constructor\":\n return ConstructorFragment.fromObject(value);\n case \"error\":\n return ErrorFragment.fromObject(value);\n case \"fallback\":\n case \"receive\":\n // @TODO: Something? Maybe return a FunctionFragment? A custom DefaultFunctionFragment?\n return null;\n }\n return logger.throwArgumentError(\"invalid fragment object\", \"value\", value);\n }\n static fromString(value) {\n // Make sure the \"returns\" is surrounded by a space and all whitespace is exactly one space\n value = value.replace(/\\s/g, \" \");\n value = value.replace(/\\(/g, \" (\").replace(/\\)/g, \") \").replace(/\\s+/g, \" \");\n value = value.trim();\n if (value.split(\" \")[0] === \"event\") {\n return EventFragment.fromString(value.substring(5).trim());\n }\n else if (value.split(\" \")[0] === \"function\") {\n return FunctionFragment.fromString(value.substring(8).trim());\n }\n else if (value.split(\"(\")[0].trim() === \"constructor\") {\n return ConstructorFragment.fromString(value.trim());\n }\n else if (value.split(\" \")[0] === \"error\") {\n return ErrorFragment.fromString(value.substring(5).trim());\n }\n return logger.throwArgumentError(\"unsupported fragment\", \"value\", value);\n }\n static isFragment(value) {\n return !!(value && value._isFragment);\n }\n}\nexport class EventFragment extends Fragment {\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"event\",\n anonymous: this.anonymous,\n name: this.name,\n inputs: this.inputs.map((input) => JSON.parse(input.format(format)))\n });\n }\n let result = \"\";\n if (format !== FormatTypes.sighash) {\n result += \"event \";\n }\n result += this.name + \"(\" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \") \";\n if (format !== FormatTypes.sighash) {\n if (this.anonymous) {\n result += \"anonymous \";\n }\n }\n return result.trim();\n }\n static from(value) {\n if (typeof (value) === \"string\") {\n return EventFragment.fromString(value);\n }\n return EventFragment.fromObject(value);\n }\n static fromObject(value) {\n if (EventFragment.isEventFragment(value)) {\n return value;\n }\n if (value.type !== \"event\") {\n logger.throwArgumentError(\"invalid event object\", \"value\", value);\n }\n const params = {\n name: verifyIdentifier(value.name),\n anonymous: value.anonymous,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),\n type: \"event\"\n };\n return new EventFragment(_constructorGuard, params);\n }\n static fromString(value) {\n let match = value.match(regexParen);\n if (!match) {\n logger.throwArgumentError(\"invalid event string\", \"value\", value);\n }\n let anonymous = false;\n match[3].split(\" \").forEach((modifier) => {\n switch (modifier.trim()) {\n case \"anonymous\":\n anonymous = true;\n break;\n case \"\":\n break;\n default:\n logger.warn(\"unknown modifier: \" + modifier);\n }\n });\n return EventFragment.fromObject({\n name: match[1].trim(),\n anonymous: anonymous,\n inputs: parseParams(match[2], true),\n type: \"event\"\n });\n }\n static isEventFragment(value) {\n return (value && value._isFragment && value.type === \"event\");\n }\n}\nfunction parseGas(value, params) {\n params.gas = null;\n let comps = value.split(\"@\");\n if (comps.length !== 1) {\n if (comps.length > 2) {\n logger.throwArgumentError(\"invalid human-readable ABI signature\", \"value\", value);\n }\n if (!comps[1].match(/^[0-9]+$/)) {\n logger.throwArgumentError(\"invalid human-readable ABI signature gas\", \"value\", value);\n }\n params.gas = BigNumber.from(comps[1]);\n return comps[0];\n }\n return value;\n}\nfunction parseModifiers(value, params) {\n params.constant = false;\n params.payable = false;\n params.stateMutability = \"nonpayable\";\n value.split(\" \").forEach((modifier) => {\n switch (modifier.trim()) {\n case \"constant\":\n params.constant = true;\n break;\n case \"payable\":\n params.payable = true;\n params.stateMutability = \"payable\";\n break;\n case \"nonpayable\":\n params.payable = false;\n params.stateMutability = \"nonpayable\";\n break;\n case \"pure\":\n params.constant = true;\n params.stateMutability = \"pure\";\n break;\n case \"view\":\n params.constant = true;\n params.stateMutability = \"view\";\n break;\n case \"external\":\n case \"public\":\n case \"\":\n break;\n default:\n console.log(\"unknown modifier: \" + modifier);\n }\n });\n}\nfunction verifyState(value) {\n let result = {\n constant: false,\n payable: true,\n stateMutability: \"payable\"\n };\n if (value.stateMutability != null) {\n result.stateMutability = value.stateMutability;\n // Set (and check things are consistent) the constant property\n result.constant = (result.stateMutability === \"view\" || result.stateMutability === \"pure\");\n if (value.constant != null) {\n if ((!!value.constant) !== result.constant) {\n logger.throwArgumentError(\"cannot have constant function with mutability \" + result.stateMutability, \"value\", value);\n }\n }\n // Set (and check things are consistent) the payable property\n result.payable = (result.stateMutability === \"payable\");\n if (value.payable != null) {\n if ((!!value.payable) !== result.payable) {\n logger.throwArgumentError(\"cannot have payable function with mutability \" + result.stateMutability, \"value\", value);\n }\n }\n }\n else if (value.payable != null) {\n result.payable = !!value.payable;\n // If payable we can assume non-constant; otherwise we can't assume\n if (value.constant == null && !result.payable && value.type !== \"constructor\") {\n logger.throwArgumentError(\"unable to determine stateMutability\", \"value\", value);\n }\n result.constant = !!value.constant;\n if (result.constant) {\n result.stateMutability = \"view\";\n }\n else {\n result.stateMutability = (result.payable ? \"payable\" : \"nonpayable\");\n }\n if (result.payable && result.constant) {\n logger.throwArgumentError(\"cannot have constant payable function\", \"value\", value);\n }\n }\n else if (value.constant != null) {\n result.constant = !!value.constant;\n result.payable = !result.constant;\n result.stateMutability = (result.constant ? \"view\" : \"payable\");\n }\n else if (value.type !== \"constructor\") {\n logger.throwArgumentError(\"unable to determine stateMutability\", \"value\", value);\n }\n return result;\n}\nexport class ConstructorFragment extends Fragment {\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"constructor\",\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability : undefined),\n payable: this.payable,\n gas: (this.gas ? this.gas.toNumber() : undefined),\n inputs: this.inputs.map((input) => JSON.parse(input.format(format)))\n });\n }\n if (format === FormatTypes.sighash) {\n logger.throwError(\"cannot format a constructor for sighash\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"format(sighash)\"\n });\n }\n let result = \"constructor(\" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \") \";\n if (this.stateMutability && this.stateMutability !== \"nonpayable\") {\n result += this.stateMutability + \" \";\n }\n return result.trim();\n }\n static from(value) {\n if (typeof (value) === \"string\") {\n return ConstructorFragment.fromString(value);\n }\n return ConstructorFragment.fromObject(value);\n }\n static fromObject(value) {\n if (ConstructorFragment.isConstructorFragment(value)) {\n return value;\n }\n if (value.type !== \"constructor\") {\n logger.throwArgumentError(\"invalid constructor object\", \"value\", value);\n }\n let state = verifyState(value);\n if (state.constant) {\n logger.throwArgumentError(\"constructor cannot be constant\", \"value\", value);\n }\n const params = {\n name: null,\n type: value.type,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),\n payable: state.payable,\n stateMutability: state.stateMutability,\n gas: (value.gas ? BigNumber.from(value.gas) : null)\n };\n return new ConstructorFragment(_constructorGuard, params);\n }\n static fromString(value) {\n let params = { type: \"constructor\" };\n value = parseGas(value, params);\n let parens = value.match(regexParen);\n if (!parens || parens[1].trim() !== \"constructor\") {\n logger.throwArgumentError(\"invalid constructor string\", \"value\", value);\n }\n params.inputs = parseParams(parens[2].trim(), false);\n parseModifiers(parens[3].trim(), params);\n return ConstructorFragment.fromObject(params);\n }\n static isConstructorFragment(value) {\n return (value && value._isFragment && value.type === \"constructor\");\n }\n}\nexport class FunctionFragment extends ConstructorFragment {\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"function\",\n name: this.name,\n constant: this.constant,\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability : undefined),\n payable: this.payable,\n gas: (this.gas ? this.gas.toNumber() : undefined),\n inputs: this.inputs.map((input) => JSON.parse(input.format(format))),\n outputs: this.outputs.map((output) => JSON.parse(output.format(format))),\n });\n }\n let result = \"\";\n if (format !== FormatTypes.sighash) {\n result += \"function \";\n }\n result += this.name + \"(\" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \") \";\n if (format !== FormatTypes.sighash) {\n if (this.stateMutability) {\n if (this.stateMutability !== \"nonpayable\") {\n result += (this.stateMutability + \" \");\n }\n }\n else if (this.constant) {\n result += \"view \";\n }\n if (this.outputs && this.outputs.length) {\n result += \"returns (\" + this.outputs.map((output) => output.format(format)).join(\", \") + \") \";\n }\n if (this.gas != null) {\n result += \"@\" + this.gas.toString() + \" \";\n }\n }\n return result.trim();\n }\n static from(value) {\n if (typeof (value) === \"string\") {\n return FunctionFragment.fromString(value);\n }\n return FunctionFragment.fromObject(value);\n }\n static fromObject(value) {\n if (FunctionFragment.isFunctionFragment(value)) {\n return value;\n }\n if (value.type !== \"function\") {\n logger.throwArgumentError(\"invalid function object\", \"value\", value);\n }\n let state = verifyState(value);\n const params = {\n type: value.type,\n name: verifyIdentifier(value.name),\n constant: state.constant,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),\n outputs: (value.outputs ? value.outputs.map(ParamType.fromObject) : []),\n payable: state.payable,\n stateMutability: state.stateMutability,\n gas: (value.gas ? BigNumber.from(value.gas) : null)\n };\n return new FunctionFragment(_constructorGuard, params);\n }\n static fromString(value) {\n let params = { type: \"function\" };\n value = parseGas(value, params);\n let comps = value.split(\" returns \");\n if (comps.length > 2) {\n logger.throwArgumentError(\"invalid function string\", \"value\", value);\n }\n let parens = comps[0].match(regexParen);\n if (!parens) {\n logger.throwArgumentError(\"invalid function signature\", \"value\", value);\n }\n params.name = parens[1].trim();\n if (params.name) {\n verifyIdentifier(params.name);\n }\n params.inputs = parseParams(parens[2], false);\n parseModifiers(parens[3].trim(), params);\n // We have outputs\n if (comps.length > 1) {\n let returns = comps[1].match(regexParen);\n if (returns[1].trim() != \"\" || returns[3].trim() != \"\") {\n logger.throwArgumentError(\"unexpected tokens\", \"value\", value);\n }\n params.outputs = parseParams(returns[2], false);\n }\n else {\n params.outputs = [];\n }\n return FunctionFragment.fromObject(params);\n }\n static isFunctionFragment(value) {\n return (value && value._isFragment && value.type === \"function\");\n }\n}\n//export class StructFragment extends Fragment {\n//}\nfunction checkForbidden(fragment) {\n const sig = fragment.format();\n if (sig === \"Error(string)\" || sig === \"Panic(uint256)\") {\n logger.throwArgumentError(`cannot specify user defined ${sig} error`, \"fragment\", fragment);\n }\n return fragment;\n}\nexport class ErrorFragment extends Fragment {\n format(format) {\n if (!format) {\n format = FormatTypes.sighash;\n }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"error\",\n name: this.name,\n inputs: this.inputs.map((input) => JSON.parse(input.format(format))),\n });\n }\n let result = \"\";\n if (format !== FormatTypes.sighash) {\n result += \"error \";\n }\n result += this.name + \"(\" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? \", \" : \",\") + \") \";\n return result.trim();\n }\n static from(value) {\n if (typeof (value) === \"string\") {\n return ErrorFragment.fromString(value);\n }\n return ErrorFragment.fromObject(value);\n }\n static fromObject(value) {\n if (ErrorFragment.isErrorFragment(value)) {\n return value;\n }\n if (value.type !== \"error\") {\n logger.throwArgumentError(\"invalid error object\", \"value\", value);\n }\n const params = {\n type: value.type,\n name: verifyIdentifier(value.name),\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : [])\n };\n return checkForbidden(new ErrorFragment(_constructorGuard, params));\n }\n static fromString(value) {\n let params = { type: \"error\" };\n let parens = value.match(regexParen);\n if (!parens) {\n logger.throwArgumentError(\"invalid error signature\", \"value\", value);\n }\n params.name = parens[1].trim();\n if (params.name) {\n verifyIdentifier(params.name);\n }\n params.inputs = parseParams(parens[2], false);\n return checkForbidden(ErrorFragment.fromObject(params));\n }\n static isErrorFragment(value) {\n return (value && value._isFragment && value.type === \"error\");\n }\n}\nfunction verifyType(type) {\n // These need to be transformed to their full description\n if (type.match(/^uint($|[^1-9])/)) {\n type = \"uint256\" + type.substring(4);\n }\n else if (type.match(/^int($|[^1-9])/)) {\n type = \"int256\" + type.substring(3);\n }\n // @TODO: more verification\n return type;\n}\n// See: https://github.com/ethereum/solidity/blob/1f8f1a3db93a548d0555e3e14cfc55a10e25b60e/docs/grammar/SolidityLexer.g4#L234\nconst regexIdentifier = new RegExp(\"^[a-zA-Z$_][a-zA-Z0-9$_]*$\");\nfunction verifyIdentifier(value) {\n if (!value || !value.match(regexIdentifier)) {\n logger.throwArgumentError(`invalid identifier \"${value}\"`, \"value\", value);\n }\n return value;\n}\nconst regexParen = new RegExp(\"^([^)(]*)\\\\((.*)\\\\)([^)(]*)$\");\nfunction splitNesting(value) {\n value = value.trim();\n let result = [];\n let accum = \"\";\n let depth = 0;\n for (let offset = 0; offset < value.length; offset++) {\n let c = value[offset];\n if (c === \",\" && depth === 0) {\n result.push(accum);\n accum = \"\";\n }\n else {\n accum += c;\n if (c === \"(\") {\n depth++;\n }\n else if (c === \")\") {\n depth--;\n if (depth === -1) {\n logger.throwArgumentError(\"unbalanced parenthesis\", \"value\", value);\n }\n }\n }\n }\n if (accum) {\n result.push(accum);\n }\n return result;\n}\n//# sourceMappingURL=fragments.js.map","\"use strict\";\n\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nexport interface JsonFragmentType {\n readonly name?: string;\n readonly indexed?: boolean;\n readonly type?: string;\n readonly internalType?: any; // @TODO: in v6 reduce type\n readonly components?: ReadonlyArray;\n}\n\nexport interface JsonFragment {\n readonly name?: string;\n readonly type?: string;\n\n readonly anonymous?: boolean;\n\n readonly payable?: boolean;\n readonly constant?: boolean;\n readonly stateMutability?: string;\n\n readonly inputs?: ReadonlyArray;\n readonly outputs?: ReadonlyArray;\n\n readonly gas?: string;\n};\n\nconst _constructorGuard = { };\n\n// AST Node parser state\ntype ParseState = {\n allowArray?: boolean,\n allowName?: boolean,\n allowParams?: boolean,\n allowType?: boolean,\n readArray?: boolean,\n};\n\n// AST Node\ntype ParseNode = {\n parent?: any,\n type?: string,\n name?: string,\n state?: ParseState,\n indexed?: boolean,\n components?: Array\n};\n\nlet ModifiersBytes: { [ name: string ]: boolean } = { calldata: true, memory: true, storage: true };\nlet ModifiersNest: { [ name: string ]: boolean } = { calldata: true, memory: true };\nfunction checkModifier(type: string, name: string): boolean {\n if (type === \"bytes\" || type === \"string\") {\n if (ModifiersBytes[name]) { return true; }\n } else if (type === \"address\") {\n if (name === \"payable\") { return true; }\n } else if (type.indexOf(\"[\") >= 0 || type === \"tuple\") {\n if (ModifiersNest[name]) { return true; }\n }\n if (ModifiersBytes[name] || name === \"payable\") {\n logger.throwArgumentError(\"invalid modifier\", \"name\", name);\n }\n return false;\n}\n\n// @TODO: Make sure that children of an indexed tuple are marked with a null indexed\nfunction parseParamType(param: string, allowIndexed: boolean): ParseNode {\n\n let originalParam = param;\n function throwError(i: number) {\n logger.throwArgumentError(`unexpected character at position ${ i }`, \"param\", param);\n }\n param = param.replace(/\\s/g, \" \");\n\n function newNode(parent: ParseNode): ParseNode {\n let node: ParseNode = { type: \"\", name: \"\", parent: parent, state: { allowType: true } };\n if (allowIndexed) { node.indexed = false; }\n return node\n }\n\n let parent: ParseNode = { type: \"\", name: \"\", state: { allowType: true } };\n let node = parent;\n\n for (let i = 0; i < param.length; i++) {\n let c = param[i];\n switch (c) {\n case \"(\":\n if (node.state.allowType && node.type === \"\") {\n node.type = \"tuple\";\n } else if (!node.state.allowParams) {\n throwError(i);\n }\n node.state.allowType = false;\n node.type = verifyType(node.type);\n node.components = [ newNode(node) ];\n node = node.components[0];\n break;\n\n case \")\":\n delete node.state;\n\n if (node.name === \"indexed\") {\n if (!allowIndexed) { throwError(i); }\n node.indexed = true;\n node.name = \"\";\n }\n\n if (checkModifier(node.type, node.name)) { node.name = \"\"; }\n\n node.type = verifyType(node.type);\n\n let child = node;\n node = node.parent;\n if (!node) { throwError(i); }\n delete child.parent;\n node.state.allowParams = false;\n node.state.allowName = true;\n node.state.allowArray = true;\n break;\n\n case \",\":\n delete node.state;\n\n if (node.name === \"indexed\") {\n if (!allowIndexed) { throwError(i); }\n node.indexed = true;\n node.name = \"\";\n }\n\n if (checkModifier(node.type, node.name)) { node.name = \"\"; }\n\n node.type = verifyType(node.type);\n\n let sibling: ParseNode = newNode(node.parent);\n //{ type: \"\", name: \"\", parent: node.parent, state: { allowType: true } };\n node.parent.components.push(sibling);\n delete node.parent;\n node = sibling;\n break;\n\n // Hit a space...\n case \" \":\n\n // If reading type, the type is done and may read a param or name\n if (node.state.allowType) {\n if (node.type !== \"\") {\n node.type = verifyType(node.type);\n delete node.state.allowType;\n node.state.allowName = true;\n node.state.allowParams = true;\n }\n }\n\n // If reading name, the name is done\n if (node.state.allowName) {\n if (node.name !== \"\") {\n if (node.name === \"indexed\") {\n if (!allowIndexed) { throwError(i); }\n if (node.indexed) { throwError(i); }\n node.indexed = true;\n node.name = \"\";\n } else if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n } else {\n node.state.allowName = false;\n }\n }\n }\n\n break;\n\n case \"[\":\n if (!node.state.allowArray) { throwError(i); }\n\n node.type += c;\n\n node.state.allowArray = false;\n node.state.allowName = false;\n node.state.readArray = true;\n break;\n\n case \"]\":\n if (!node.state.readArray) { throwError(i); }\n\n node.type += c;\n\n node.state.readArray = false;\n node.state.allowArray = true;\n node.state.allowName = true;\n break;\n\n default:\n if (node.state.allowType) {\n node.type += c;\n node.state.allowParams = true;\n node.state.allowArray = true;\n } else if (node.state.allowName) {\n node.name += c;\n delete node.state.allowArray;\n } else if (node.state.readArray) {\n node.type += c;\n } else {\n throwError(i);\n }\n }\n }\n\n if (node.parent) { logger.throwArgumentError(\"unexpected eof\", \"param\", param); }\n\n delete parent.state;\n\n if (node.name === \"indexed\") {\n if (!allowIndexed) { throwError(originalParam.length - 7); }\n if (node.indexed) { throwError(originalParam.length - 7); }\n node.indexed = true;\n node.name = \"\";\n } else if (checkModifier(node.type, node.name)) {\n node.name = \"\";\n }\n\n parent.type = verifyType(parent.type);\n\n return parent;\n}\n\nfunction populate(object: any, params: any) {\n for (let key in params) { defineReadOnly(object, key, params[key]); }\n}\n\nexport const FormatTypes: { [ name: string ]: string } = Object.freeze({\n // Bare formatting, as is needed for computing a sighash of an event or function\n sighash: \"sighash\",\n\n // Human-Readable with Minimal spacing and without names (compact human-readable)\n minimal: \"minimal\",\n\n // Human-Readable with nice spacing, including all names\n full: \"full\",\n\n // JSON-format a la Solidity\n json: \"json\"\n});\n\nconst paramTypeArray = new RegExp(/^(.*)\\[([0-9]*)\\]$/);\n\nexport class ParamType {\n\n // The local name of the parameter (of null if unbound)\n readonly name: string;\n\n // The fully qualified type (e.g. \"address\", \"tuple(address)\", \"uint256[3][]\"\n readonly type: string;\n\n // The base type (e.g. \"address\", \"tuple\", \"array\")\n readonly baseType: string;\n\n // Indexable Paramters ONLY (otherwise null)\n readonly indexed: boolean;\n\n // Tuples ONLY: (otherwise null)\n // - sub-components\n readonly components: Array;\n\n // Arrays ONLY: (otherwise null)\n // - length of the array (-1 for dynamic length)\n // - child type\n readonly arrayLength: number;\n readonly arrayChildren: ParamType;\n\n readonly _isParamType: boolean;\n\n constructor(constructorGuard: any, params: any) {\n if (constructorGuard !== _constructorGuard) { logger.throwError(\"use fromString\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new ParamType()\"\n }); }\n populate(this, params);\n\n let match = this.type.match(paramTypeArray);\n if (match) {\n populate(this, {\n arrayLength: parseInt(match[2] || \"-1\"),\n arrayChildren: ParamType.fromObject({\n type: match[1],\n components: this.components\n }),\n baseType: \"array\"\n });\n } else {\n populate(this, {\n arrayLength: null,\n arrayChildren: null,\n baseType: ((this.components != null) ? \"tuple\": this.type)\n });\n }\n\n this._isParamType = true;\n\n Object.freeze(this);\n }\n\n // Format the parameter fragment\n // - sighash: \"(uint256,address)\"\n // - minimal: \"tuple(uint256,address) indexed\"\n // - full: \"tuple(uint256 foo, address bar) indexed baz\"\n format(format?: string): string {\n if (!format) { format = FormatTypes.sighash; }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n\n if (format === FormatTypes.json) {\n let result: any = {\n type: ((this.baseType === \"tuple\") ? \"tuple\": this.type),\n name: (this.name || undefined)\n };\n if (typeof(this.indexed) === \"boolean\") { result.indexed = this.indexed; }\n if (this.components) {\n result.components = this.components.map((comp) => JSON.parse(comp.format(format)));\n }\n return JSON.stringify(result);\n }\n\n let result = \"\";\n\n // Array\n if (this.baseType === \"array\") {\n result += this.arrayChildren.format(format);\n result += \"[\" + (this.arrayLength < 0 ? \"\": String(this.arrayLength)) + \"]\";\n } else {\n if (this.baseType === \"tuple\") {\n if (format !== FormatTypes.sighash) {\n result += this.type;\n }\n result += \"(\" + this.components.map(\n (comp) => comp.format(format)\n ).join((format === FormatTypes.full) ? \", \": \",\") + \")\";\n } else {\n result += this.type;\n }\n }\n\n if (format !== FormatTypes.sighash) {\n if (this.indexed === true) { result += \" indexed\"; }\n if (format === FormatTypes.full && this.name) {\n result += \" \" + this.name;\n }\n }\n\n return result;\n }\n\n static from(value: string | JsonFragmentType | ParamType, allowIndexed?: boolean): ParamType {\n if (typeof(value) === \"string\") {\n return ParamType.fromString(value, allowIndexed);\n }\n return ParamType.fromObject(value);\n }\n\n static fromObject(value: JsonFragmentType | ParamType): ParamType {\n if (ParamType.isParamType(value)) { return value; }\n\n return new ParamType(_constructorGuard, {\n name: (value.name || null),\n type: verifyType(value.type),\n indexed: ((value.indexed == null) ? null: !!value.indexed),\n components: (value.components ? value.components.map(ParamType.fromObject): null)\n });\n }\n\n static fromString(value: string, allowIndexed?: boolean): ParamType {\n function ParamTypify(node: ParseNode): ParamType {\n return ParamType.fromObject({\n name: node.name,\n type: node.type,\n indexed: node.indexed,\n components: node.components\n });\n }\n\n return ParamTypify(parseParamType(value, !!allowIndexed));\n }\n\n static isParamType(value: any): value is ParamType {\n return !!(value != null && value._isParamType);\n }\n};\n\nfunction parseParams(value: string, allowIndex: boolean): Array {\n return splitNesting(value).map((param) => ParamType.fromString(param, allowIndex));\n}\n\ntype TypeCheck = { -readonly [ K in keyof T ]: T[K] };\n\ninterface _Fragment {\n readonly type: string;\n readonly name: string;\n readonly inputs: ReadonlyArray;\n}\n\nexport abstract class Fragment {\n\n readonly type: string;\n readonly name: string;\n readonly inputs: Array;\n\n readonly _isFragment: boolean;\n\n constructor(constructorGuard: any, params: any) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"use a static from method\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new Fragment()\"\n });\n }\n populate(this, params);\n\n this._isFragment = true;\n\n Object.freeze(this);\n }\n\n abstract format(format?: string): string;\n\n static from(value: Fragment | JsonFragment | string): Fragment {\n if (Fragment.isFragment(value)) { return value; }\n\n if (typeof(value) === \"string\") {\n return Fragment.fromString(value);\n }\n\n return Fragment.fromObject(value);\n }\n\n static fromObject(value: Fragment | JsonFragment): Fragment {\n if (Fragment.isFragment(value)) { return value; }\n\n switch (value.type) {\n case \"function\":\n return FunctionFragment.fromObject(value);\n case \"event\":\n return EventFragment.fromObject(value);\n case \"constructor\":\n return ConstructorFragment.fromObject(value);\n case \"error\":\n return ErrorFragment.fromObject(value);\n case \"fallback\":\n case \"receive\":\n // @TODO: Something? Maybe return a FunctionFragment? A custom DefaultFunctionFragment?\n return null;\n }\n\n return logger.throwArgumentError(\"invalid fragment object\", \"value\", value);\n }\n\n static fromString(value: string): Fragment {\n // Make sure the \"returns\" is surrounded by a space and all whitespace is exactly one space\n value = value.replace(/\\s/g, \" \");\n value = value.replace(/\\(/g, \" (\").replace(/\\)/g, \") \").replace(/\\s+/g, \" \");\n value = value.trim();\n\n if (value.split(\" \")[0] === \"event\") {\n return EventFragment.fromString(value.substring(5).trim());\n } else if (value.split(\" \")[0] === \"function\") {\n return FunctionFragment.fromString(value.substring(8).trim());\n } else if (value.split(\"(\")[0].trim() === \"constructor\") {\n return ConstructorFragment.fromString(value.trim());\n } else if (value.split(\" \")[0] === \"error\") {\n return ErrorFragment.fromString(value.substring(5).trim());\n }\n\n return logger.throwArgumentError(\"unsupported fragment\", \"value\", value);\n }\n\n static isFragment(value: any): value is Fragment {\n return !!(value && value._isFragment);\n }\n}\n\ninterface _EventFragment extends _Fragment {\n readonly anonymous: boolean;\n}\n\nexport class EventFragment extends Fragment {\n readonly anonymous: boolean;\n\n format(format?: string): string {\n if (!format) { format = FormatTypes.sighash; }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"event\",\n anonymous: this.anonymous,\n name: this.name,\n inputs: this.inputs.map((input) => JSON.parse(input.format(format)))\n });\n }\n\n let result = \"\";\n\n if (format !== FormatTypes.sighash) {\n result += \"event \";\n }\n\n result += this.name + \"(\" + this.inputs.map(\n (input) => input.format(format)\n ).join((format === FormatTypes.full) ? \", \": \",\") + \") \";\n\n if (format !== FormatTypes.sighash) {\n if (this.anonymous) {\n result += \"anonymous \";\n }\n }\n\n return result.trim();\n }\n\n static from(value: EventFragment | JsonFragment | string): EventFragment {\n if (typeof(value) === \"string\") {\n return EventFragment.fromString(value);\n }\n return EventFragment.fromObject(value);\n }\n\n static fromObject(value: JsonFragment | EventFragment): EventFragment {\n if (EventFragment.isEventFragment(value)) { return value; }\n\n if (value.type !== \"event\") {\n logger.throwArgumentError(\"invalid event object\", \"value\", value);\n }\n\n const params: TypeCheck<_EventFragment> = {\n name: verifyIdentifier(value.name),\n anonymous: value.anonymous,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),\n type: \"event\"\n };\n\n return new EventFragment(_constructorGuard, params);\n }\n\n static fromString(value: string): EventFragment {\n\n let match = value.match(regexParen);\n if (!match) {\n logger.throwArgumentError(\"invalid event string\", \"value\", value);\n }\n\n let anonymous = false;\n match[3].split(\" \").forEach((modifier) => {\n switch(modifier.trim()) {\n case \"anonymous\":\n anonymous = true;\n break;\n case \"\":\n break;\n default:\n logger.warn(\"unknown modifier: \" + modifier);\n }\n });\n\n return EventFragment.fromObject({\n name: match[1].trim(),\n anonymous: anonymous,\n inputs: parseParams(match[2], true),\n type: \"event\"\n });\n }\n\n static isEventFragment(value: any): value is EventFragment {\n return (value && value._isFragment && value.type === \"event\");\n }\n}\n\nfunction parseGas(value: string, params: any): string {\n params.gas = null;\n\n let comps = value.split(\"@\");\n if (comps.length !== 1) {\n if (comps.length > 2) {\n logger.throwArgumentError(\"invalid human-readable ABI signature\", \"value\", value);\n }\n if (!comps[1].match(/^[0-9]+$/)) {\n logger.throwArgumentError(\"invalid human-readable ABI signature gas\", \"value\", value);\n }\n params.gas = BigNumber.from(comps[1]);\n return comps[0];\n }\n\n return value;\n}\n\nfunction parseModifiers(value: string, params: any): void {\n params.constant = false;\n params.payable = false;\n params.stateMutability = \"nonpayable\";\n\n value.split(\" \").forEach((modifier) => {\n switch (modifier.trim()) {\n case \"constant\":\n params.constant = true;\n break;\n case \"payable\":\n params.payable = true;\n params.stateMutability = \"payable\";\n break;\n case \"nonpayable\":\n params.payable = false;\n params.stateMutability = \"nonpayable\";\n break;\n case \"pure\":\n params.constant = true;\n params.stateMutability = \"pure\";\n break;\n case \"view\":\n params.constant = true;\n params.stateMutability = \"view\";\n break;\n case \"external\":\n case \"public\":\n case \"\":\n break;\n default:\n console.log(\"unknown modifier: \" + modifier);\n }\n });\n}\n\ntype StateInputValue = {\n constant?: boolean;\n payable?: boolean;\n stateMutability?: string;\n type?: string;\n};\n\ntype StateOutputValue = {\n constant: boolean;\n payable: boolean;\n stateMutability: string;\n};\n\nfunction verifyState(value: StateInputValue): StateOutputValue {\n let result: any = {\n constant: false,\n payable: true,\n stateMutability: \"payable\"\n };\n\n if (value.stateMutability != null) {\n result.stateMutability = value.stateMutability;\n\n // Set (and check things are consistent) the constant property\n result.constant = (result.stateMutability === \"view\" || result.stateMutability === \"pure\");\n if (value.constant != null) {\n if ((!!value.constant) !== result.constant) {\n logger.throwArgumentError(\"cannot have constant function with mutability \" + result.stateMutability, \"value\", value);\n }\n }\n\n // Set (and check things are consistent) the payable property\n result.payable = (result.stateMutability === \"payable\");\n if (value.payable != null) {\n if ((!!value.payable) !== result.payable) {\n logger.throwArgumentError(\"cannot have payable function with mutability \" + result.stateMutability, \"value\", value);\n }\n }\n\n } else if (value.payable != null) {\n result.payable = !!value.payable;\n\n // If payable we can assume non-constant; otherwise we can't assume\n if (value.constant == null && !result.payable && value.type !== \"constructor\") {\n logger.throwArgumentError(\"unable to determine stateMutability\", \"value\", value);\n }\n\n result.constant = !!value.constant;\n\n if (result.constant) {\n result.stateMutability = \"view\";\n } else {\n result.stateMutability = (result.payable ? \"payable\": \"nonpayable\");\n }\n\n if (result.payable && result.constant) {\n logger.throwArgumentError(\"cannot have constant payable function\", \"value\", value);\n }\n\n } else if (value.constant != null) {\n result.constant = !!value.constant;\n result.payable = !result.constant;\n result.stateMutability = (result.constant ? \"view\": \"payable\");\n\n } else if (value.type !== \"constructor\") {\n logger.throwArgumentError(\"unable to determine stateMutability\", \"value\", value);\n }\n\n return result;\n}\n\ninterface _ConstructorFragment extends _Fragment {\n stateMutability: string;\n payable: boolean;\n gas?: BigNumber;\n}\n\nexport class ConstructorFragment extends Fragment {\n stateMutability: string;\n payable: boolean;\n gas?: BigNumber;\n\n format(format?: string): string {\n if (!format) { format = FormatTypes.sighash; }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"constructor\",\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability: undefined),\n payable: this.payable,\n gas: (this.gas ? this.gas.toNumber(): undefined),\n inputs: this.inputs.map((input) => JSON.parse(input.format(format)))\n });\n }\n\n if (format === FormatTypes.sighash) {\n logger.throwError(\"cannot format a constructor for sighash\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"format(sighash)\"\n });\n }\n\n let result = \"constructor(\" + this.inputs.map(\n (input) => input.format(format)\n ).join((format === FormatTypes.full) ? \", \": \",\") + \") \";\n\n if (this.stateMutability && this.stateMutability !== \"nonpayable\") {\n result += this.stateMutability + \" \";\n }\n\n return result.trim();\n }\n\n static from(value: ConstructorFragment | JsonFragment | string): ConstructorFragment {\n if (typeof(value) === \"string\") {\n return ConstructorFragment.fromString(value);\n }\n return ConstructorFragment.fromObject(value);\n }\n\n static fromObject(value: ConstructorFragment | JsonFragment): ConstructorFragment {\n if (ConstructorFragment.isConstructorFragment(value)) { return value; }\n\n if (value.type !== \"constructor\") {\n logger.throwArgumentError(\"invalid constructor object\", \"value\", value);\n }\n\n let state = verifyState(value);\n if (state.constant) {\n logger.throwArgumentError(\"constructor cannot be constant\", \"value\", value);\n }\n\n const params: TypeCheck<_ConstructorFragment> = {\n name: null,\n type: value.type,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject): []),\n payable: state.payable,\n stateMutability: state.stateMutability,\n gas: (value.gas ? BigNumber.from(value.gas): null)\n };\n\n return new ConstructorFragment(_constructorGuard, params);\n }\n\n static fromString(value: string): ConstructorFragment {\n let params: any = { type: \"constructor\" };\n\n value = parseGas(value, params);\n\n let parens = value.match(regexParen);\n if (!parens || parens[1].trim() !== \"constructor\") {\n logger.throwArgumentError(\"invalid constructor string\", \"value\", value);\n }\n\n params.inputs = parseParams(parens[2].trim(), false);\n\n parseModifiers(parens[3].trim(), params);\n\n return ConstructorFragment.fromObject(params);\n }\n\n static isConstructorFragment(value: any): value is ConstructorFragment {\n return (value && value._isFragment && value.type === \"constructor\");\n }\n}\n\ninterface _FunctionFragment extends _ConstructorFragment {\n constant: boolean;\n outputs?: Array;\n}\n\nexport class FunctionFragment extends ConstructorFragment {\n constant: boolean;\n outputs?: Array;\n\n format(format?: string): string {\n if (!format) { format = FormatTypes.sighash; }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"function\",\n name: this.name,\n constant: this.constant,\n stateMutability: ((this.stateMutability !== \"nonpayable\") ? this.stateMutability: undefined),\n payable: this.payable,\n gas: (this.gas ? this.gas.toNumber(): undefined),\n inputs: this.inputs.map((input) => JSON.parse(input.format(format))),\n outputs: this.outputs.map((output) => JSON.parse(output.format(format))),\n });\n }\n\n let result = \"\";\n\n if (format !== FormatTypes.sighash) {\n result += \"function \";\n }\n\n result += this.name + \"(\" + this.inputs.map(\n (input) => input.format(format)\n ).join((format === FormatTypes.full) ? \", \": \",\") + \") \";\n\n if (format !== FormatTypes.sighash) {\n if (this.stateMutability) {\n if (this.stateMutability !== \"nonpayable\") {\n result += (this.stateMutability + \" \");\n }\n } else if (this.constant) {\n result += \"view \";\n }\n\n if (this.outputs && this.outputs.length) {\n result += \"returns (\" + this.outputs.map(\n (output) => output.format(format)\n ).join(\", \") + \") \";\n }\n\n if (this.gas != null) {\n result += \"@\" + this.gas.toString() + \" \";\n }\n }\n\n return result.trim();\n }\n\n static from(value: FunctionFragment | JsonFragment | string): FunctionFragment {\n if (typeof(value) === \"string\") {\n return FunctionFragment.fromString(value);\n }\n return FunctionFragment.fromObject(value);\n }\n\n static fromObject(value: FunctionFragment | JsonFragment): FunctionFragment {\n if (FunctionFragment.isFunctionFragment(value)) { return value; }\n\n if (value.type !== \"function\") {\n logger.throwArgumentError(\"invalid function object\", \"value\", value);\n }\n\n let state = verifyState(value);\n\n const params: TypeCheck<_FunctionFragment> = {\n type: value.type,\n name: verifyIdentifier(value.name),\n constant: state.constant,\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject): []),\n outputs: (value.outputs ? value.outputs.map(ParamType.fromObject): [ ]),\n payable: state.payable,\n stateMutability: state.stateMutability,\n gas: (value.gas ? BigNumber.from(value.gas): null)\n };\n\n return new FunctionFragment(_constructorGuard, params);\n }\n\n static fromString(value: string): FunctionFragment {\n let params: any = { type: \"function\" };\n value = parseGas(value, params);\n\n let comps = value.split(\" returns \");\n if (comps.length > 2) {\n logger.throwArgumentError(\"invalid function string\", \"value\", value);\n }\n\n let parens = comps[0].match(regexParen);\n if (!parens) {\n logger.throwArgumentError(\"invalid function signature\", \"value\", value);\n }\n\n params.name = parens[1].trim();\n if (params.name) { verifyIdentifier(params.name); }\n\n params.inputs = parseParams(parens[2], false);\n\n parseModifiers(parens[3].trim(), params);\n\n // We have outputs\n if (comps.length > 1) {\n let returns = comps[1].match(regexParen);\n if (returns[1].trim() != \"\" || returns[3].trim() != \"\") {\n logger.throwArgumentError(\"unexpected tokens\", \"value\", value);\n }\n params.outputs = parseParams(returns[2], false);\n } else {\n params.outputs = [ ];\n }\n\n return FunctionFragment.fromObject(params);\n }\n\n static isFunctionFragment(value: any): value is FunctionFragment {\n return (value && value._isFragment && value.type === \"function\");\n }\n}\n\n//export class StructFragment extends Fragment {\n//}\n\nfunction checkForbidden(fragment: ErrorFragment): ErrorFragment {\n const sig = fragment.format();\n if (sig === \"Error(string)\" || sig === \"Panic(uint256)\") {\n logger.throwArgumentError(`cannot specify user defined ${ sig } error`, \"fragment\", fragment);\n }\n return fragment;\n}\n\nexport class ErrorFragment extends Fragment {\n\n format(format?: string): string {\n if (!format) { format = FormatTypes.sighash; }\n if (!FormatTypes[format]) {\n logger.throwArgumentError(\"invalid format type\", \"format\", format);\n }\n\n if (format === FormatTypes.json) {\n return JSON.stringify({\n type: \"error\",\n name: this.name,\n inputs: this.inputs.map((input) => JSON.parse(input.format(format))),\n });\n }\n\n let result = \"\";\n\n if (format !== FormatTypes.sighash) {\n result += \"error \";\n }\n\n result += this.name + \"(\" + this.inputs.map(\n (input) => input.format(format)\n ).join((format === FormatTypes.full) ? \", \": \",\") + \") \";\n\n return result.trim();\n }\n\n static from(value: ErrorFragment | JsonFragment | string): ErrorFragment {\n if (typeof(value) === \"string\") {\n return ErrorFragment.fromString(value);\n }\n return ErrorFragment.fromObject(value);\n }\n\n static fromObject(value: ErrorFragment | JsonFragment): ErrorFragment {\n if (ErrorFragment.isErrorFragment(value)) { return value; }\n\n if (value.type !== \"error\") {\n logger.throwArgumentError(\"invalid error object\", \"value\", value);\n }\n\n const params: TypeCheck<_Fragment> = {\n type: value.type,\n name: verifyIdentifier(value.name),\n inputs: (value.inputs ? value.inputs.map(ParamType.fromObject): [])\n };\n\n return checkForbidden(new ErrorFragment(_constructorGuard, params));\n }\n\n static fromString(value: string): ErrorFragment {\n let params: any = { type: \"error\" };\n\n let parens = value.match(regexParen);\n if (!parens) {\n logger.throwArgumentError(\"invalid error signature\", \"value\", value);\n }\n\n params.name = parens[1].trim();\n if (params.name) { verifyIdentifier(params.name); }\n\n params.inputs = parseParams(parens[2], false);\n\n return checkForbidden(ErrorFragment.fromObject(params));\n }\n\n static isErrorFragment(value: any): value is ErrorFragment {\n return (value && value._isFragment && value.type === \"error\");\n }\n}\n\nfunction verifyType(type: string): string {\n\n // These need to be transformed to their full description\n if (type.match(/^uint($|[^1-9])/)) {\n type = \"uint256\" + type.substring(4);\n } else if (type.match(/^int($|[^1-9])/)) {\n type = \"int256\" + type.substring(3);\n }\n\n // @TODO: more verification\n\n return type;\n}\n\n// See: https://github.com/ethereum/solidity/blob/1f8f1a3db93a548d0555e3e14cfc55a10e25b60e/docs/grammar/SolidityLexer.g4#L234\nconst regexIdentifier = new RegExp(\"^[a-zA-Z$_][a-zA-Z0-9$_]*$\");\nfunction verifyIdentifier(value: string): string {\n if (!value || !value.match(regexIdentifier)) {\n logger.throwArgumentError(`invalid identifier \"${ value }\"`, \"value\", value);\n }\n return value;\n}\n\nconst regexParen = new RegExp(\"^([^)(]*)\\\\((.*)\\\\)([^)(]*)$\");\n\nfunction splitNesting(value: string): Array {\n value = value.trim();\n\n let result = [];\n let accum = \"\";\n let depth = 0;\n for (let offset = 0; offset < value.length; offset++) {\n let c = value[offset];\n if (c === \",\" && depth === 0) {\n result.push(accum);\n accum = \"\";\n } else {\n accum += c;\n if (c === \"(\") {\n depth++;\n } else if (c === \")\") {\n depth--;\n if (depth === -1) {\n logger.throwArgumentError(\"unbalanced parenthesis\", \"value\", value);\n }\n }\n }\n }\n if (accum) { result.push(accum); }\n\n return result;\n}\n\n","\"use strict\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, concat, hexlify, zeroPad } from \"@ethersproject/bytes\";\nimport { keccak256 as hashKeccak256 } from \"@ethersproject/keccak256\";\nimport { sha256 as hashSha256 } from \"@ethersproject/sha2\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nconst regexBytes = new RegExp(\"^bytes([0-9]+)$\");\nconst regexNumber = new RegExp(\"^(u?int)([0-9]*)$\");\nconst regexArray = new RegExp(\"^(.*)\\\\[([0-9]*)\\\\]$\");\nconst Zeros = \"0000000000000000000000000000000000000000000000000000000000000000\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nfunction _pack(type, value, isArray) {\n switch (type) {\n case \"address\":\n if (isArray) {\n return zeroPad(value, 32);\n }\n return arrayify(value);\n case \"string\":\n return toUtf8Bytes(value);\n case \"bytes\":\n return arrayify(value);\n case \"bool\":\n value = (value ? \"0x01\" : \"0x00\");\n if (isArray) {\n return zeroPad(value, 32);\n }\n return arrayify(value);\n }\n let match = type.match(regexNumber);\n if (match) {\n //let signed = (match[1] === \"int\")\n let size = parseInt(match[2] || \"256\");\n if ((match[2] && String(size) !== match[2]) || (size % 8 !== 0) || size === 0 || size > 256) {\n logger.throwArgumentError(\"invalid number type\", \"type\", type);\n }\n if (isArray) {\n size = 256;\n }\n value = BigNumber.from(value).toTwos(size);\n return zeroPad(value, size / 8);\n }\n match = type.match(regexBytes);\n if (match) {\n const size = parseInt(match[1]);\n if (String(size) !== match[1] || size === 0 || size > 32) {\n logger.throwArgumentError(\"invalid bytes type\", \"type\", type);\n }\n if (arrayify(value).byteLength !== size) {\n logger.throwArgumentError(`invalid value for ${type}`, \"value\", value);\n }\n if (isArray) {\n return arrayify((value + Zeros).substring(0, 66));\n }\n return value;\n }\n match = type.match(regexArray);\n if (match && Array.isArray(value)) {\n const baseType = match[1];\n const count = parseInt(match[2] || String(value.length));\n if (count != value.length) {\n logger.throwArgumentError(`invalid array length for ${type}`, \"value\", value);\n }\n const result = [];\n value.forEach(function (value) {\n result.push(_pack(baseType, value, true));\n });\n return concat(result);\n }\n return logger.throwArgumentError(\"invalid type\", \"type\", type);\n}\n// @TODO: Array Enum\nexport function pack(types, values) {\n if (types.length != values.length) {\n logger.throwArgumentError(\"wrong number of values; expected ${ types.length }\", \"values\", values);\n }\n const tight = [];\n types.forEach(function (type, index) {\n tight.push(_pack(type, values[index]));\n });\n return hexlify(concat(tight));\n}\nexport function keccak256(types, values) {\n return hashKeccak256(pack(types, values));\n}\nexport function sha256(types, values) {\n return hashSha256(pack(types, values));\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, concat, hexlify, zeroPad } from \"@ethersproject/bytes\";\nimport { keccak256 as hashKeccak256 } from \"@ethersproject/keccak256\";\nimport { sha256 as hashSha256 } from \"@ethersproject/sha2\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\n\nconst regexBytes = new RegExp(\"^bytes([0-9]+)$\");\nconst regexNumber = new RegExp(\"^(u?int)([0-9]*)$\");\nconst regexArray = new RegExp(\"^(.*)\\\\[([0-9]*)\\\\]$\");\n\nconst Zeros = \"0000000000000000000000000000000000000000000000000000000000000000\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n\nfunction _pack(type: string, value: any, isArray?: boolean): Uint8Array {\n switch(type) {\n case \"address\":\n if (isArray) { return zeroPad(value, 32); }\n return arrayify(value);\n case \"string\":\n return toUtf8Bytes(value);\n case \"bytes\":\n return arrayify(value);\n case \"bool\":\n value = (value ? \"0x01\": \"0x00\");\n if (isArray) { return zeroPad(value, 32); }\n return arrayify(value);\n }\n\n let match = type.match(regexNumber);\n if (match) {\n //let signed = (match[1] === \"int\")\n let size = parseInt(match[2] || \"256\")\n\n if ((match[2] && String(size) !== match[2]) || (size % 8 !== 0) || size === 0 || size > 256) {\n logger.throwArgumentError(\"invalid number type\", \"type\", type)\n }\n\n if (isArray) { size = 256; }\n\n value = BigNumber.from(value).toTwos(size);\n\n return zeroPad(value, size / 8);\n }\n\n match = type.match(regexBytes);\n if (match) {\n const size = parseInt(match[1]);\n\n if (String(size) !== match[1] || size === 0 || size > 32) {\n logger.throwArgumentError(\"invalid bytes type\", \"type\", type)\n }\n if (arrayify(value).byteLength !== size) {\n logger.throwArgumentError(`invalid value for ${ type }`, \"value\", value)\n }\n if (isArray) { return arrayify((value + Zeros).substring(0, 66)); }\n return value;\n }\n\n match = type.match(regexArray);\n if (match && Array.isArray(value)) {\n const baseType = match[1];\n const count = parseInt(match[2] || String(value.length));\n if (count != value.length) {\n logger.throwArgumentError(`invalid array length for ${ type }`, \"value\", value)\n }\n const result: Array = [];\n value.forEach(function(value) {\n result.push(_pack(baseType, value, true));\n });\n return concat(result);\n }\n\n return logger.throwArgumentError(\"invalid type\", \"type\", type)\n}\n\n// @TODO: Array Enum\n\nexport function pack(types: ReadonlyArray, values: ReadonlyArray) {\n if (types.length != values.length) {\n logger.throwArgumentError(\"wrong number of values; expected ${ types.length }\", \"values\", values)\n }\n const tight: Array = [];\n types.forEach(function(type, index) {\n tight.push(_pack(type, values[index]));\n });\n return hexlify(concat(tight));\n}\n\nexport function keccak256(types: ReadonlyArray, values: ReadonlyArray) {\n return hashKeccak256(pack(types, values));\n}\n\nexport function sha256(types: ReadonlyArray, values: ReadonlyArray) {\n return hashSha256(pack(types, values));\n}\n","\"use strict\";\nimport hash from \"hash.js\";\n//const _ripemd160 = _hash.ripemd160;\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { SupportedAlgorithm } from \"./types\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nexport function ripemd160(data) {\n return \"0x\" + (hash.ripemd160().update(arrayify(data)).digest(\"hex\"));\n}\nexport function sha256(data) {\n return \"0x\" + (hash.sha256().update(arrayify(data)).digest(\"hex\"));\n}\nexport function sha512(data) {\n return \"0x\" + (hash.sha512().update(arrayify(data)).digest(\"hex\"));\n}\nexport function computeHmac(algorithm, key, data) {\n if (!SupportedAlgorithm[algorithm]) {\n logger.throwError(\"unsupported algorithm \" + algorithm, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"hmac\",\n algorithm: algorithm\n });\n }\n return \"0x\" + hash.hmac(hash[algorithm], arrayify(key)).update(arrayify(data)).digest(\"hex\");\n}\n//# sourceMappingURL=sha2.js.map","\"use strict\";\n\nimport hash from \"hash.js\";\n//const _ripemd160 = _hash.ripemd160;\n\nimport { arrayify, BytesLike } from \"@ethersproject/bytes\";\n\nimport { SupportedAlgorithm } from \"./types\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nexport function ripemd160(data: BytesLike): string {\n return \"0x\" + (hash.ripemd160().update(arrayify(data)).digest(\"hex\"));\n}\n\nexport function sha256(data: BytesLike): string {\n return \"0x\" + (hash.sha256().update(arrayify(data)).digest(\"hex\"));\n}\n\nexport function sha512(data: BytesLike): string {\n return \"0x\" + (hash.sha512().update(arrayify(data)).digest(\"hex\"));\n}\n\nexport function computeHmac(algorithm: SupportedAlgorithm, key: BytesLike, data: BytesLike): string {\n if (!SupportedAlgorithm[algorithm]) {\n logger.throwError(\"unsupported algorithm \" + algorithm, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"hmac\",\n algorithm: algorithm\n });\n }\n\n return \"0x\" + hash.hmac((hash)[algorithm], arrayify(key)).update(arrayify(data)).digest(\"hex\");\n}\n\n","export var SupportedAlgorithm;\n(function (SupportedAlgorithm) {\n SupportedAlgorithm[\"sha256\"] = \"sha256\";\n SupportedAlgorithm[\"sha512\"] = \"sha512\";\n})(SupportedAlgorithm || (SupportedAlgorithm = {}));\n;\n//# sourceMappingURL=types.js.map","export enum SupportedAlgorithm { sha256 = \"sha256\", sha512 = \"sha512\" };\n\n","export const version = \"sha2/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"sha2/5.7.0\";\n","export const version = \"solidity/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"solidity/5.7.0\";\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCreateCallContractInstance = exports.getSignMessageLibContractInstance = exports.getSafeProxyFactoryContractInstance = exports.getMultiSendCallOnlyContractInstance = exports.getMultiSendContractInstance = exports.getCompatibilityFallbackHandlerContractInstance = exports.getSafeContractInstance = void 0;\nconst Gnosis_safe__factory_1 = require(\"../../../../typechain/src/ethers-v5/v1.0.0/factories/Gnosis_safe__factory\");\nconst Proxy_factory__factory_1 = require(\"../../../../typechain/src/ethers-v5/v1.0.0/factories/Proxy_factory__factory\");\nconst Gnosis_safe__factory_2 = require(\"../../../../typechain/src/ethers-v5/v1.1.1/factories/Gnosis_safe__factory\");\nconst Multi_send__factory_1 = require(\"../../../../typechain/src/ethers-v5/v1.1.1/factories/Multi_send__factory\");\nconst Proxy_factory__factory_2 = require(\"../../../../typechain/src/ethers-v5/v1.1.1/factories/Proxy_factory__factory\");\nconst Gnosis_safe__factory_3 = require(\"../../../../typechain/src/ethers-v5/v1.2.0/factories/Gnosis_safe__factory\");\nconst Compatibility_fallback_handler__factory_1 = require(\"../../../../typechain/src/ethers-v5/v1.3.0/factories/Compatibility_fallback_handler__factory\");\nconst Gnosis_safe__factory_4 = require(\"../../../../typechain/src/ethers-v5/v1.3.0/factories/Gnosis_safe__factory\");\nconst Multi_send_call_only__factory_1 = require(\"../../../../typechain/src/ethers-v5/v1.3.0/factories/Multi_send_call_only__factory\");\nconst Multi_send__factory_2 = require(\"../../../../typechain/src/ethers-v5/v1.3.0/factories/Multi_send__factory\");\nconst Proxy_factory__factory_3 = require(\"../../../../typechain/src/ethers-v5/v1.3.0/factories/Proxy_factory__factory\");\nconst Sign_message_lib__factory_1 = require(\"../../../../typechain/src/ethers-v5/v1.3.0/factories/Sign_message_lib__factory\");\nconst Create_call__factory_1 = require(\"../../../../typechain/src/ethers-v5/v1.3.0/factories/Create_call__factory\");\nconst CompatibilityFallbackHandler_V1_3_0_Ethers_1 = __importDefault(require(\"./CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandler_V1_3_0_Ethers\"));\nconst CreateCallEthersContract_V1_3_0_Ethers_1 = __importDefault(require(\"./CreateCall/v1.3.0/CreateCallEthersContract_V1_3_0_Ethers\"));\nconst GnosisSafeContract_V1_0_0_Ethers_1 = __importDefault(require(\"./GnosisSafe/v1.0.0/GnosisSafeContract_V1_0_0_Ethers\"));\nconst GnosisSafeContract_V1_1_1_Ethers_1 = __importDefault(require(\"./GnosisSafe/v1.1.1/GnosisSafeContract_V1_1_1_Ethers\"));\nconst GnosisSafeContract_V1_2_0_Ethers_1 = __importDefault(require(\"./GnosisSafe/v1.2.0/GnosisSafeContract_V1_2_0_Ethers\"));\nconst GnosisSafeContract_V1_3_0_Ethers_1 = __importDefault(require(\"./GnosisSafe/v1.3.0/GnosisSafeContract_V1_3_0_Ethers\"));\nconst GnosisSafeProxyFactoryContract_V1_0_0_Ethers_1 = __importDefault(require(\"./GnosisSafeProxyFactory/v1.0.0/GnosisSafeProxyFactoryContract_V1_0_0_Ethers\"));\nconst GnosisSafeProxyFactoryContract_V1_1_1_Ethers_1 = __importDefault(require(\"./GnosisSafeProxyFactory/v1.1.1/GnosisSafeProxyFactoryContract_V1_1_1_Ethers\"));\nconst GnosisSafeProxyFactoryContract_V1_3_0_Ethers_1 = __importDefault(require(\"./GnosisSafeProxyFactory/v1.3.0/GnosisSafeProxyFactoryContract_V1_3_0_Ethers\"));\nconst MultiSendContract_V1_1_1_Ethers_1 = __importDefault(require(\"./MultiSend/v1.1.1/MultiSendContract_V1_1_1_Ethers\"));\nconst MultiSendContract_V1_3_0_Ethers_1 = __importDefault(require(\"./MultiSend/v1.3.0/MultiSendContract_V1_3_0_Ethers\"));\nconst MultiSendCallOnlyContract_V1_3_0_Ethers_1 = __importDefault(require(\"./MultiSendCallOnly/v1.3.0/MultiSendCallOnlyContract_V1_3_0_Ethers\"));\nconst SignMessageLibContract_V1_3_0_Ethers_1 = __importDefault(require(\"./SignMessageLib/v1.3.0/SignMessageLibContract_V1_3_0_Ethers\"));\nfunction getSafeContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let safeContract;\n switch (safeVersion) {\n case '1.3.0':\n safeContract = Gnosis_safe__factory_4.Gnosis_safe__factory.connect(contractAddress, signerOrProvider);\n return new GnosisSafeContract_V1_3_0_Ethers_1.default(safeContract);\n case '1.2.0':\n safeContract = Gnosis_safe__factory_3.Gnosis_safe__factory.connect(contractAddress, signerOrProvider);\n return new GnosisSafeContract_V1_2_0_Ethers_1.default(safeContract);\n case '1.1.1':\n safeContract = Gnosis_safe__factory_2.Gnosis_safe__factory.connect(contractAddress, signerOrProvider);\n return new GnosisSafeContract_V1_1_1_Ethers_1.default(safeContract);\n case '1.0.0':\n safeContract = Gnosis_safe__factory_1.Gnosis_safe__factory.connect(contractAddress, signerOrProvider);\n return new GnosisSafeContract_V1_0_0_Ethers_1.default(safeContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getSafeContractInstance = getSafeContractInstance;\nfunction getCompatibilityFallbackHandlerContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let compatibilityFallbackHandlerContract;\n switch (safeVersion) {\n case '1.3.0':\n case '1.2.0':\n case '1.1.1':\n compatibilityFallbackHandlerContract = Compatibility_fallback_handler__factory_1.Compatibility_fallback_handler__factory.connect(contractAddress, signerOrProvider);\n return new CompatibilityFallbackHandler_V1_3_0_Ethers_1.default(compatibilityFallbackHandlerContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getCompatibilityFallbackHandlerContractInstance = getCompatibilityFallbackHandlerContractInstance;\nfunction getMultiSendContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let multiSendContract;\n switch (safeVersion) {\n case '1.3.0':\n multiSendContract = Multi_send__factory_2.Multi_send__factory.connect(contractAddress, signerOrProvider);\n return new MultiSendContract_V1_3_0_Ethers_1.default(multiSendContract);\n case '1.2.0':\n case '1.1.1':\n case '1.0.0':\n multiSendContract = Multi_send__factory_1.Multi_send__factory.connect(contractAddress, signerOrProvider);\n return new MultiSendContract_V1_1_1_Ethers_1.default(multiSendContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getMultiSendContractInstance = getMultiSendContractInstance;\nfunction getMultiSendCallOnlyContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let multiSendCallOnlyContract;\n switch (safeVersion) {\n case '1.3.0':\n case '1.2.0':\n case '1.1.1':\n case '1.0.0':\n multiSendCallOnlyContract = Multi_send_call_only__factory_1.Multi_send_call_only__factory.connect(contractAddress, signerOrProvider);\n return new MultiSendCallOnlyContract_V1_3_0_Ethers_1.default(multiSendCallOnlyContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getMultiSendCallOnlyContractInstance = getMultiSendCallOnlyContractInstance;\nfunction getSafeProxyFactoryContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let gnosisSafeProxyFactoryContract;\n switch (safeVersion) {\n case '1.3.0':\n gnosisSafeProxyFactoryContract = Proxy_factory__factory_3.Proxy_factory__factory.connect(contractAddress, signerOrProvider);\n return new GnosisSafeProxyFactoryContract_V1_3_0_Ethers_1.default(gnosisSafeProxyFactoryContract);\n case '1.2.0':\n case '1.1.1':\n gnosisSafeProxyFactoryContract = Proxy_factory__factory_2.Proxy_factory__factory.connect(contractAddress, signerOrProvider);\n return new GnosisSafeProxyFactoryContract_V1_1_1_Ethers_1.default(gnosisSafeProxyFactoryContract);\n case '1.0.0':\n gnosisSafeProxyFactoryContract = Proxy_factory__factory_1.Proxy_factory__factory.connect(contractAddress, signerOrProvider);\n return new GnosisSafeProxyFactoryContract_V1_0_0_Ethers_1.default(gnosisSafeProxyFactoryContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getSafeProxyFactoryContractInstance = getSafeProxyFactoryContractInstance;\nfunction getSignMessageLibContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let signMessageLibContract;\n switch (safeVersion) {\n case '1.3.0':\n signMessageLibContract = Sign_message_lib__factory_1.Sign_message_lib__factory.connect(contractAddress, signerOrProvider);\n return new SignMessageLibContract_V1_3_0_Ethers_1.default(signMessageLibContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getSignMessageLibContractInstance = getSignMessageLibContractInstance;\nfunction getCreateCallContractInstance(safeVersion, contractAddress, signerOrProvider) {\n let createCallContract;\n switch (safeVersion) {\n case '1.3.0':\n case '1.2.0':\n case '1.1.1':\n case '1.0.0':\n createCallContract = Create_call__factory_1.Create_call__factory.connect(contractAddress, signerOrProvider);\n return new CreateCallEthersContract_V1_3_0_Ethers_1.default(createCallContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getCreateCallContractInstance = getCreateCallContractInstance;\n//# sourceMappingURL=contractInstancesEthers.js.map",null,"\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Gnosis_safe__factory = void 0;\nconst ethers_1 = require(\"ethers\");\nconst _abi = [\n {\n constant: false,\n inputs: [\n {\n name: \"owner\",\n type: \"address\",\n },\n {\n name: \"_threshold\",\n type: \"uint256\",\n },\n ],\n name: \"addOwnerWithThreshold\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"DOMAIN_SEPARATOR_TYPEHASH\",\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"isOwner\",\n outputs: [\n {\n name: \"\",\n type: \"bool\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"to\",\n type: \"address\",\n },\n {\n name: \"value\",\n type: \"uint256\",\n },\n {\n name: \"data\",\n type: \"bytes\",\n },\n {\n name: \"operation\",\n type: \"uint8\",\n },\n ],\n name: \"execTransactionFromModule\",\n outputs: [\n {\n name: \"success\",\n type: \"bool\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n name: \"\",\n type: \"bytes32\",\n },\n ],\n name: \"signedMessages\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"enableModule\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"_threshold\",\n type: \"uint256\",\n },\n ],\n name: \"changeThreshold\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n name: \"\",\n type: \"address\",\n },\n {\n name: \"\",\n type: \"bytes32\",\n },\n ],\n name: \"approvedHashes\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"_masterCopy\",\n type: \"address\",\n },\n ],\n name: \"changeMasterCopy\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"SENTINEL_MODULES\",\n outputs: [\n {\n name: \"\",\n type: \"address\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"SENTINEL_OWNERS\",\n outputs: [\n {\n name: \"\",\n type: \"address\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"getOwners\",\n outputs: [\n {\n name: \"\",\n type: \"address[]\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"NAME\",\n outputs: [\n {\n name: \"\",\n type: \"string\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"nonce\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"getModules\",\n outputs: [\n {\n name: \"\",\n type: \"address[]\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"SAFE_MSG_TYPEHASH\",\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"SAFE_TX_TYPEHASH\",\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"prevModule\",\n type: \"address\",\n },\n {\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"disableModule\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"prevOwner\",\n type: \"address\",\n },\n {\n name: \"oldOwner\",\n type: \"address\",\n },\n {\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"swapOwner\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"getThreshold\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"domainSeparator\",\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"prevOwner\",\n type: \"address\",\n },\n {\n name: \"owner\",\n type: \"address\",\n },\n {\n name: \"_threshold\",\n type: \"uint256\",\n },\n ],\n name: \"removeOwner\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"VERSION\",\n outputs: [\n {\n name: \"\",\n type: \"string\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n payable: true,\n stateMutability: \"payable\",\n type: \"fallback\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"txHash\",\n type: \"bytes32\",\n },\n ],\n name: \"ExecutionFailed\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"AddedOwner\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"RemovedOwner\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"threshold\",\n type: \"uint256\",\n },\n ],\n name: \"ChangedThreshold\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"EnabledModule\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"DisabledModule\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"newContract\",\n type: \"address\",\n },\n ],\n name: \"ContractCreation\",\n type: \"event\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"_owners\",\n type: \"address[]\",\n },\n {\n name: \"_threshold\",\n type: \"uint256\",\n },\n {\n name: \"to\",\n type: \"address\",\n },\n {\n name: \"data\",\n type: \"bytes\",\n },\n {\n name: \"paymentToken\",\n type: \"address\",\n },\n {\n name: \"payment\",\n type: \"uint256\",\n },\n {\n name: \"paymentReceiver\",\n type: \"address\",\n },\n ],\n name: \"setup\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"to\",\n type: \"address\",\n },\n {\n name: \"value\",\n type: \"uint256\",\n },\n {\n name: \"data\",\n type: \"bytes\",\n },\n {\n name: \"operation\",\n type: \"uint8\",\n },\n {\n name: \"safeTxGas\",\n type: \"uint256\",\n },\n {\n name: \"baseGas\",\n type: \"uint256\",\n },\n {\n name: \"gasPrice\",\n type: \"uint256\",\n },\n {\n name: \"gasToken\",\n type: \"address\",\n },\n {\n name: \"refundReceiver\",\n type: \"address\",\n },\n {\n name: \"signatures\",\n type: \"bytes\",\n },\n ],\n name: \"execTransaction\",\n outputs: [\n {\n name: \"success\",\n type: \"bool\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"to\",\n type: \"address\",\n },\n {\n name: \"value\",\n type: \"uint256\",\n },\n {\n name: \"data\",\n type: \"bytes\",\n },\n {\n name: \"operation\",\n type: \"uint8\",\n },\n ],\n name: \"requiredTxGas\",\n outputs: [\n {\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"hashToApprove\",\n type: \"bytes32\",\n },\n ],\n name: \"approveHash\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"_data\",\n type: \"bytes\",\n },\n ],\n name: \"signMessage\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"_data\",\n type: \"bytes\",\n },\n {\n name: \"_signature\",\n type: \"bytes\",\n },\n ],\n name: \"isValidSignature\",\n outputs: [\n {\n name: \"\",\n type: \"bytes4\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n name: \"message\",\n type: \"bytes\",\n },\n ],\n name: \"getMessageHash\",\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n name: \"to\",\n type: \"address\",\n },\n {\n name: \"value\",\n type: \"uint256\",\n },\n {\n name: \"data\",\n type: \"bytes\",\n },\n {\n name: \"operation\",\n type: \"uint8\",\n },\n {\n name: \"safeTxGas\",\n type: \"uint256\",\n },\n {\n name: \"baseGas\",\n type: \"uint256\",\n },\n {\n name: \"gasPrice\",\n type: \"uint256\",\n },\n {\n name: \"gasToken\",\n type: \"address\",\n },\n {\n name: \"refundReceiver\",\n type: \"address\",\n },\n {\n name: \"_nonce\",\n type: \"uint256\",\n },\n ],\n name: \"encodeTransactionData\",\n outputs: [\n {\n name: \"\",\n type: \"bytes\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n name: \"to\",\n type: \"address\",\n },\n {\n name: \"value\",\n type: \"uint256\",\n },\n {\n name: \"data\",\n type: \"bytes\",\n },\n {\n name: \"operation\",\n type: \"uint8\",\n },\n {\n name: \"safeTxGas\",\n type: \"uint256\",\n },\n {\n name: \"baseGas\",\n type: \"uint256\",\n },\n {\n name: \"gasPrice\",\n type: \"uint256\",\n },\n {\n name: \"gasToken\",\n type: \"address\",\n },\n {\n name: \"refundReceiver\",\n type: \"address\",\n },\n {\n name: \"_nonce\",\n type: \"uint256\",\n },\n ],\n name: \"getTransactionHash\",\n outputs: [\n {\n name: \"\",\n type: \"bytes32\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n];\nclass Gnosis_safe__factory {\n static createInterface() {\n return new ethers_1.utils.Interface(_abi);\n }\n static connect(address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n }\n}\nexports.Gnosis_safe__factory = Gnosis_safe__factory;\nGnosis_safe__factory.abi = _abi;\n//# sourceMappingURL=Gnosis_safe__factory.js.map",null,"\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { checkResultErrors, Indexed, Interface } from \"@ethersproject/abi\";\nimport { Provider } from \"@ethersproject/abstract-provider\";\nimport { Signer, VoidSigner } from \"@ethersproject/abstract-signer\";\nimport { getAddress, getContractAddress } from \"@ethersproject/address\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, concat, hexlify, isBytes, isHexString } from \"@ethersproject/bytes\";\nimport { defineReadOnly, deepCopy, getStatic, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\nimport { accessListify } from \"@ethersproject/transactions\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n;\n;\n///////////////////////////////\nconst allowedTransactionKeys = {\n chainId: true, data: true, from: true, gasLimit: true, gasPrice: true, nonce: true, to: true, value: true,\n type: true, accessList: true,\n maxFeePerGas: true, maxPriorityFeePerGas: true,\n customData: true,\n ccipReadEnabled: true\n};\nfunction resolveName(resolver, nameOrPromise) {\n return __awaiter(this, void 0, void 0, function* () {\n const name = yield nameOrPromise;\n if (typeof (name) !== \"string\") {\n logger.throwArgumentError(\"invalid address or ENS name\", \"name\", name);\n }\n // If it is already an address, just use it (after adding checksum)\n try {\n return getAddress(name);\n }\n catch (error) { }\n if (!resolver) {\n logger.throwError(\"a provider or signer is needed to resolve ENS names\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"resolveName\"\n });\n }\n const address = yield resolver.resolveName(name);\n if (address == null) {\n logger.throwArgumentError(\"resolver or addr is not configured for ENS name\", \"name\", name);\n }\n return address;\n });\n}\n// Recursively replaces ENS names with promises to resolve the name and resolves all properties\nfunction resolveAddresses(resolver, value, paramType) {\n return __awaiter(this, void 0, void 0, function* () {\n if (Array.isArray(paramType)) {\n return yield Promise.all(paramType.map((paramType, index) => {\n return resolveAddresses(resolver, ((Array.isArray(value)) ? value[index] : value[paramType.name]), paramType);\n }));\n }\n if (paramType.type === \"address\") {\n return yield resolveName(resolver, value);\n }\n if (paramType.type === \"tuple\") {\n return yield resolveAddresses(resolver, value, paramType.components);\n }\n if (paramType.baseType === \"array\") {\n if (!Array.isArray(value)) {\n return Promise.reject(logger.makeError(\"invalid value for array\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"value\",\n value\n }));\n }\n return yield Promise.all(value.map((v) => resolveAddresses(resolver, v, paramType.arrayChildren)));\n }\n return value;\n });\n}\nfunction populateTransaction(contract, fragment, args) {\n return __awaiter(this, void 0, void 0, function* () {\n // If an extra argument is given, it is overrides\n let overrides = {};\n if (args.length === fragment.inputs.length + 1 && typeof (args[args.length - 1]) === \"object\") {\n overrides = shallowCopy(args.pop());\n }\n // Make sure the parameter count matches\n logger.checkArgumentCount(args.length, fragment.inputs.length, \"passed to contract\");\n // Populate \"from\" override (allow promises)\n if (contract.signer) {\n if (overrides.from) {\n // Contracts with a Signer are from the Signer's frame-of-reference;\n // but we allow overriding \"from\" if it matches the signer\n overrides.from = resolveProperties({\n override: resolveName(contract.signer, overrides.from),\n signer: contract.signer.getAddress()\n }).then((check) => __awaiter(this, void 0, void 0, function* () {\n if (getAddress(check.signer) !== check.override) {\n logger.throwError(\"Contract with a Signer cannot override from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.from\"\n });\n }\n return check.override;\n }));\n }\n else {\n overrides.from = contract.signer.getAddress();\n }\n }\n else if (overrides.from) {\n overrides.from = resolveName(contract.provider, overrides.from);\n //} else {\n // Contracts without a signer can override \"from\", and if\n // unspecified the zero address is used\n //overrides.from = AddressZero;\n }\n // Wait for all dependencies to be resolved (prefer the signer over the provider)\n const resolved = yield resolveProperties({\n args: resolveAddresses(contract.signer || contract.provider, args, fragment.inputs),\n address: contract.resolvedAddress,\n overrides: (resolveProperties(overrides) || {})\n });\n // The ABI coded transaction\n const data = contract.interface.encodeFunctionData(fragment, resolved.args);\n const tx = {\n data: data,\n to: resolved.address\n };\n // Resolved Overrides\n const ro = resolved.overrides;\n // Populate simple overrides\n if (ro.nonce != null) {\n tx.nonce = BigNumber.from(ro.nonce).toNumber();\n }\n if (ro.gasLimit != null) {\n tx.gasLimit = BigNumber.from(ro.gasLimit);\n }\n if (ro.gasPrice != null) {\n tx.gasPrice = BigNumber.from(ro.gasPrice);\n }\n if (ro.maxFeePerGas != null) {\n tx.maxFeePerGas = BigNumber.from(ro.maxFeePerGas);\n }\n if (ro.maxPriorityFeePerGas != null) {\n tx.maxPriorityFeePerGas = BigNumber.from(ro.maxPriorityFeePerGas);\n }\n if (ro.from != null) {\n tx.from = ro.from;\n }\n if (ro.type != null) {\n tx.type = ro.type;\n }\n if (ro.accessList != null) {\n tx.accessList = accessListify(ro.accessList);\n }\n // If there was no \"gasLimit\" override, but the ABI specifies a default, use it\n if (tx.gasLimit == null && fragment.gas != null) {\n // Compute the intrinsic gas cost for this transaction\n // @TODO: This is based on the yellow paper as of Petersburg; this is something\n // we may wish to parameterize in v6 as part of the Network object. Since this\n // is always a non-nil to address, we can ignore G_create, but may wish to add\n // similar logic to the ContractFactory.\n let intrinsic = 21000;\n const bytes = arrayify(data);\n for (let i = 0; i < bytes.length; i++) {\n intrinsic += 4;\n if (bytes[i]) {\n intrinsic += 64;\n }\n }\n tx.gasLimit = BigNumber.from(fragment.gas).add(intrinsic);\n }\n // Populate \"value\" override\n if (ro.value) {\n const roValue = BigNumber.from(ro.value);\n if (!roValue.isZero() && !fragment.payable) {\n logger.throwError(\"non-payable method cannot override value\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.value\",\n value: overrides.value\n });\n }\n tx.value = roValue;\n }\n if (ro.customData) {\n tx.customData = shallowCopy(ro.customData);\n }\n if (ro.ccipReadEnabled) {\n tx.ccipReadEnabled = !!ro.ccipReadEnabled;\n }\n // Remove the overrides\n delete overrides.nonce;\n delete overrides.gasLimit;\n delete overrides.gasPrice;\n delete overrides.from;\n delete overrides.value;\n delete overrides.type;\n delete overrides.accessList;\n delete overrides.maxFeePerGas;\n delete overrides.maxPriorityFeePerGas;\n delete overrides.customData;\n delete overrides.ccipReadEnabled;\n // Make sure there are no stray overrides, which may indicate a\n // typo or using an unsupported key.\n const leftovers = Object.keys(overrides).filter((key) => (overrides[key] != null));\n if (leftovers.length) {\n logger.throwError(`cannot override ${leftovers.map((l) => JSON.stringify(l)).join(\",\")}`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides\",\n overrides: leftovers\n });\n }\n return tx;\n });\n}\nfunction buildPopulate(contract, fragment) {\n return function (...args) {\n return populateTransaction(contract, fragment, args);\n };\n}\nfunction buildEstimate(contract, fragment) {\n const signerOrProvider = (contract.signer || contract.provider);\n return function (...args) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!signerOrProvider) {\n logger.throwError(\"estimate require a provider or signer\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"estimateGas\"\n });\n }\n const tx = yield populateTransaction(contract, fragment, args);\n return yield signerOrProvider.estimateGas(tx);\n });\n };\n}\nfunction addContractWait(contract, tx) {\n const wait = tx.wait.bind(tx);\n tx.wait = (confirmations) => {\n return wait(confirmations).then((receipt) => {\n receipt.events = receipt.logs.map((log) => {\n let event = deepCopy(log);\n let parsed = null;\n try {\n parsed = contract.interface.parseLog(log);\n }\n catch (e) { }\n // Successfully parsed the event log; include it\n if (parsed) {\n event.args = parsed.args;\n event.decode = (data, topics) => {\n return contract.interface.decodeEventLog(parsed.eventFragment, data, topics);\n };\n event.event = parsed.name;\n event.eventSignature = parsed.signature;\n }\n // Useful operations\n event.removeListener = () => { return contract.provider; };\n event.getBlock = () => {\n return contract.provider.getBlock(receipt.blockHash);\n };\n event.getTransaction = () => {\n return contract.provider.getTransaction(receipt.transactionHash);\n };\n event.getTransactionReceipt = () => {\n return Promise.resolve(receipt);\n };\n return event;\n });\n return receipt;\n });\n };\n}\nfunction buildCall(contract, fragment, collapseSimple) {\n const signerOrProvider = (contract.signer || contract.provider);\n return function (...args) {\n return __awaiter(this, void 0, void 0, function* () {\n // Extract the \"blockTag\" override if present\n let blockTag = undefined;\n if (args.length === fragment.inputs.length + 1 && typeof (args[args.length - 1]) === \"object\") {\n const overrides = shallowCopy(args.pop());\n if (overrides.blockTag != null) {\n blockTag = yield overrides.blockTag;\n }\n delete overrides.blockTag;\n args.push(overrides);\n }\n // If the contract was just deployed, wait until it is mined\n if (contract.deployTransaction != null) {\n yield contract._deployed(blockTag);\n }\n // Call a node and get the result\n const tx = yield populateTransaction(contract, fragment, args);\n const result = yield signerOrProvider.call(tx, blockTag);\n try {\n let value = contract.interface.decodeFunctionResult(fragment, result);\n if (collapseSimple && fragment.outputs.length === 1) {\n value = value[0];\n }\n return value;\n }\n catch (error) {\n if (error.code === Logger.errors.CALL_EXCEPTION) {\n error.address = contract.address;\n error.args = args;\n error.transaction = tx;\n }\n throw error;\n }\n });\n };\n}\nfunction buildSend(contract, fragment) {\n return function (...args) {\n return __awaiter(this, void 0, void 0, function* () {\n if (!contract.signer) {\n logger.throwError(\"sending a transaction requires a signer\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"sendTransaction\"\n });\n }\n // If the contract was just deployed, wait until it is mined\n if (contract.deployTransaction != null) {\n yield contract._deployed();\n }\n const txRequest = yield populateTransaction(contract, fragment, args);\n const tx = yield contract.signer.sendTransaction(txRequest);\n // Tweak the tx.wait so the receipt has extra properties\n addContractWait(contract, tx);\n return tx;\n });\n };\n}\nfunction buildDefault(contract, fragment, collapseSimple) {\n if (fragment.constant) {\n return buildCall(contract, fragment, collapseSimple);\n }\n return buildSend(contract, fragment);\n}\nfunction getEventTag(filter) {\n if (filter.address && (filter.topics == null || filter.topics.length === 0)) {\n return \"*\";\n }\n return (filter.address || \"*\") + \"@\" + (filter.topics ? filter.topics.map((topic) => {\n if (Array.isArray(topic)) {\n return topic.join(\"|\");\n }\n return topic;\n }).join(\":\") : \"\");\n}\nclass RunningEvent {\n constructor(tag, filter) {\n defineReadOnly(this, \"tag\", tag);\n defineReadOnly(this, \"filter\", filter);\n this._listeners = [];\n }\n addListener(listener, once) {\n this._listeners.push({ listener: listener, once: once });\n }\n removeListener(listener) {\n let done = false;\n this._listeners = this._listeners.filter((item) => {\n if (done || item.listener !== listener) {\n return true;\n }\n done = true;\n return false;\n });\n }\n removeAllListeners() {\n this._listeners = [];\n }\n listeners() {\n return this._listeners.map((i) => i.listener);\n }\n listenerCount() {\n return this._listeners.length;\n }\n run(args) {\n const listenerCount = this.listenerCount();\n this._listeners = this._listeners.filter((item) => {\n const argsCopy = args.slice();\n // Call the callback in the next event loop\n setTimeout(() => {\n item.listener.apply(this, argsCopy);\n }, 0);\n // Reschedule it if it not \"once\"\n return !(item.once);\n });\n return listenerCount;\n }\n prepareEvent(event) {\n }\n // Returns the array that will be applied to an emit\n getEmit(event) {\n return [event];\n }\n}\nclass ErrorRunningEvent extends RunningEvent {\n constructor() {\n super(\"error\", null);\n }\n}\n// @TODO Fragment should inherit Wildcard? and just override getEmit?\n// or have a common abstract super class, with enough constructor\n// options to configure both.\n// A Fragment Event will populate all the properties that Wildcard\n// will, and additionally dereference the arguments when emitting\nclass FragmentRunningEvent extends RunningEvent {\n constructor(address, contractInterface, fragment, topics) {\n const filter = {\n address: address\n };\n let topic = contractInterface.getEventTopic(fragment);\n if (topics) {\n if (topic !== topics[0]) {\n logger.throwArgumentError(\"topic mismatch\", \"topics\", topics);\n }\n filter.topics = topics.slice();\n }\n else {\n filter.topics = [topic];\n }\n super(getEventTag(filter), filter);\n defineReadOnly(this, \"address\", address);\n defineReadOnly(this, \"interface\", contractInterface);\n defineReadOnly(this, \"fragment\", fragment);\n }\n prepareEvent(event) {\n super.prepareEvent(event);\n event.event = this.fragment.name;\n event.eventSignature = this.fragment.format();\n event.decode = (data, topics) => {\n return this.interface.decodeEventLog(this.fragment, data, topics);\n };\n try {\n event.args = this.interface.decodeEventLog(this.fragment, event.data, event.topics);\n }\n catch (error) {\n event.args = null;\n event.decodeError = error;\n }\n }\n getEmit(event) {\n const errors = checkResultErrors(event.args);\n if (errors.length) {\n throw errors[0].error;\n }\n const args = (event.args || []).slice();\n args.push(event);\n return args;\n }\n}\n// A Wildcard Event will attempt to populate:\n// - event The name of the event name\n// - eventSignature The full signature of the event\n// - decode A function to decode data and topics\n// - args The decoded data and topics\nclass WildcardRunningEvent extends RunningEvent {\n constructor(address, contractInterface) {\n super(\"*\", { address: address });\n defineReadOnly(this, \"address\", address);\n defineReadOnly(this, \"interface\", contractInterface);\n }\n prepareEvent(event) {\n super.prepareEvent(event);\n try {\n const parsed = this.interface.parseLog(event);\n event.event = parsed.name;\n event.eventSignature = parsed.signature;\n event.decode = (data, topics) => {\n return this.interface.decodeEventLog(parsed.eventFragment, data, topics);\n };\n event.args = parsed.args;\n }\n catch (error) {\n // No matching event\n }\n }\n}\nexport class BaseContract {\n constructor(addressOrName, contractInterface, signerOrProvider) {\n // @TODO: Maybe still check the addressOrName looks like a valid address or name?\n //address = getAddress(address);\n defineReadOnly(this, \"interface\", getStatic(new.target, \"getInterface\")(contractInterface));\n if (signerOrProvider == null) {\n defineReadOnly(this, \"provider\", null);\n defineReadOnly(this, \"signer\", null);\n }\n else if (Signer.isSigner(signerOrProvider)) {\n defineReadOnly(this, \"provider\", signerOrProvider.provider || null);\n defineReadOnly(this, \"signer\", signerOrProvider);\n }\n else if (Provider.isProvider(signerOrProvider)) {\n defineReadOnly(this, \"provider\", signerOrProvider);\n defineReadOnly(this, \"signer\", null);\n }\n else {\n logger.throwArgumentError(\"invalid signer or provider\", \"signerOrProvider\", signerOrProvider);\n }\n defineReadOnly(this, \"callStatic\", {});\n defineReadOnly(this, \"estimateGas\", {});\n defineReadOnly(this, \"functions\", {});\n defineReadOnly(this, \"populateTransaction\", {});\n defineReadOnly(this, \"filters\", {});\n {\n const uniqueFilters = {};\n Object.keys(this.interface.events).forEach((eventSignature) => {\n const event = this.interface.events[eventSignature];\n defineReadOnly(this.filters, eventSignature, (...args) => {\n return {\n address: this.address,\n topics: this.interface.encodeFilterTopics(event, args)\n };\n });\n if (!uniqueFilters[event.name]) {\n uniqueFilters[event.name] = [];\n }\n uniqueFilters[event.name].push(eventSignature);\n });\n Object.keys(uniqueFilters).forEach((name) => {\n const filters = uniqueFilters[name];\n if (filters.length === 1) {\n defineReadOnly(this.filters, name, this.filters[filters[0]]);\n }\n else {\n logger.warn(`Duplicate definition of ${name} (${filters.join(\", \")})`);\n }\n });\n }\n defineReadOnly(this, \"_runningEvents\", {});\n defineReadOnly(this, \"_wrappedEmits\", {});\n if (addressOrName == null) {\n logger.throwArgumentError(\"invalid contract address or ENS name\", \"addressOrName\", addressOrName);\n }\n defineReadOnly(this, \"address\", addressOrName);\n if (this.provider) {\n defineReadOnly(this, \"resolvedAddress\", resolveName(this.provider, addressOrName));\n }\n else {\n try {\n defineReadOnly(this, \"resolvedAddress\", Promise.resolve(getAddress(addressOrName)));\n }\n catch (error) {\n // Without a provider, we cannot use ENS names\n logger.throwError(\"provider is required to use ENS name as contract address\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new Contract\"\n });\n }\n }\n // Swallow bad ENS names to prevent Unhandled Exceptions\n this.resolvedAddress.catch((e) => { });\n const uniqueNames = {};\n const uniqueSignatures = {};\n Object.keys(this.interface.functions).forEach((signature) => {\n const fragment = this.interface.functions[signature];\n // Check that the signature is unique; if not the ABI generation has\n // not been cleaned or may be incorrectly generated\n if (uniqueSignatures[signature]) {\n logger.warn(`Duplicate ABI entry for ${JSON.stringify(signature)}`);\n return;\n }\n uniqueSignatures[signature] = true;\n // Track unique names; we only expose bare named functions if they\n // are ambiguous\n {\n const name = fragment.name;\n if (!uniqueNames[`%${name}`]) {\n uniqueNames[`%${name}`] = [];\n }\n uniqueNames[`%${name}`].push(signature);\n }\n if (this[signature] == null) {\n defineReadOnly(this, signature, buildDefault(this, fragment, true));\n }\n // We do not collapse simple calls on this bucket, which allows\n // frameworks to safely use this without introspection as well as\n // allows decoding error recovery.\n if (this.functions[signature] == null) {\n defineReadOnly(this.functions, signature, buildDefault(this, fragment, false));\n }\n if (this.callStatic[signature] == null) {\n defineReadOnly(this.callStatic, signature, buildCall(this, fragment, true));\n }\n if (this.populateTransaction[signature] == null) {\n defineReadOnly(this.populateTransaction, signature, buildPopulate(this, fragment));\n }\n if (this.estimateGas[signature] == null) {\n defineReadOnly(this.estimateGas, signature, buildEstimate(this, fragment));\n }\n });\n Object.keys(uniqueNames).forEach((name) => {\n // Ambiguous names to not get attached as bare names\n const signatures = uniqueNames[name];\n if (signatures.length > 1) {\n return;\n }\n // Strip off the leading \"%\" used for prototype protection\n name = name.substring(1);\n const signature = signatures[0];\n // If overwriting a member property that is null, swallow the error\n try {\n if (this[name] == null) {\n defineReadOnly(this, name, this[signature]);\n }\n }\n catch (e) { }\n if (this.functions[name] == null) {\n defineReadOnly(this.functions, name, this.functions[signature]);\n }\n if (this.callStatic[name] == null) {\n defineReadOnly(this.callStatic, name, this.callStatic[signature]);\n }\n if (this.populateTransaction[name] == null) {\n defineReadOnly(this.populateTransaction, name, this.populateTransaction[signature]);\n }\n if (this.estimateGas[name] == null) {\n defineReadOnly(this.estimateGas, name, this.estimateGas[signature]);\n }\n });\n }\n static getContractAddress(transaction) {\n return getContractAddress(transaction);\n }\n static getInterface(contractInterface) {\n if (Interface.isInterface(contractInterface)) {\n return contractInterface;\n }\n return new Interface(contractInterface);\n }\n // @TODO: Allow timeout?\n deployed() {\n return this._deployed();\n }\n _deployed(blockTag) {\n if (!this._deployedPromise) {\n // If we were just deployed, we know the transaction we should occur in\n if (this.deployTransaction) {\n this._deployedPromise = this.deployTransaction.wait().then(() => {\n return this;\n });\n }\n else {\n // @TODO: Once we allow a timeout to be passed in, we will wait\n // up to that many blocks for getCode\n // Otherwise, poll for our code to be deployed\n this._deployedPromise = this.provider.getCode(this.address, blockTag).then((code) => {\n if (code === \"0x\") {\n logger.throwError(\"contract not deployed\", Logger.errors.UNSUPPORTED_OPERATION, {\n contractAddress: this.address,\n operation: \"getDeployed\"\n });\n }\n return this;\n });\n }\n }\n return this._deployedPromise;\n }\n // @TODO:\n // estimateFallback(overrides?: TransactionRequest): Promise\n // @TODO:\n // estimateDeploy(bytecode: string, ...args): Promise\n fallback(overrides) {\n if (!this.signer) {\n logger.throwError(\"sending a transactions require a signer\", Logger.errors.UNSUPPORTED_OPERATION, { operation: \"sendTransaction(fallback)\" });\n }\n const tx = shallowCopy(overrides || {});\n [\"from\", \"to\"].forEach(function (key) {\n if (tx[key] == null) {\n return;\n }\n logger.throwError(\"cannot override \" + key, Logger.errors.UNSUPPORTED_OPERATION, { operation: key });\n });\n tx.to = this.resolvedAddress;\n return this.deployed().then(() => {\n return this.signer.sendTransaction(tx);\n });\n }\n // Reconnect to a different signer or provider\n connect(signerOrProvider) {\n if (typeof (signerOrProvider) === \"string\") {\n signerOrProvider = new VoidSigner(signerOrProvider, this.provider);\n }\n const contract = new (this.constructor)(this.address, this.interface, signerOrProvider);\n if (this.deployTransaction) {\n defineReadOnly(contract, \"deployTransaction\", this.deployTransaction);\n }\n return contract;\n }\n // Re-attach to a different on-chain instance of this contract\n attach(addressOrName) {\n return new (this.constructor)(addressOrName, this.interface, this.signer || this.provider);\n }\n static isIndexed(value) {\n return Indexed.isIndexed(value);\n }\n _normalizeRunningEvent(runningEvent) {\n // Already have an instance of this event running; we can re-use it\n if (this._runningEvents[runningEvent.tag]) {\n return this._runningEvents[runningEvent.tag];\n }\n return runningEvent;\n }\n _getRunningEvent(eventName) {\n if (typeof (eventName) === \"string\") {\n // Listen for \"error\" events (if your contract has an error event, include\n // the full signature to bypass this special event keyword)\n if (eventName === \"error\") {\n return this._normalizeRunningEvent(new ErrorRunningEvent());\n }\n // Listen for any event that is registered\n if (eventName === \"event\") {\n return this._normalizeRunningEvent(new RunningEvent(\"event\", null));\n }\n // Listen for any event\n if (eventName === \"*\") {\n return this._normalizeRunningEvent(new WildcardRunningEvent(this.address, this.interface));\n }\n // Get the event Fragment (throws if ambiguous/unknown event)\n const fragment = this.interface.getEvent(eventName);\n return this._normalizeRunningEvent(new FragmentRunningEvent(this.address, this.interface, fragment));\n }\n // We have topics to filter by...\n if (eventName.topics && eventName.topics.length > 0) {\n // Is it a known topichash? (throws if no matching topichash)\n try {\n const topic = eventName.topics[0];\n if (typeof (topic) !== \"string\") {\n throw new Error(\"invalid topic\"); // @TODO: May happen for anonymous events\n }\n const fragment = this.interface.getEvent(topic);\n return this._normalizeRunningEvent(new FragmentRunningEvent(this.address, this.interface, fragment, eventName.topics));\n }\n catch (error) { }\n // Filter by the unknown topichash\n const filter = {\n address: this.address,\n topics: eventName.topics\n };\n return this._normalizeRunningEvent(new RunningEvent(getEventTag(filter), filter));\n }\n return this._normalizeRunningEvent(new WildcardRunningEvent(this.address, this.interface));\n }\n _checkRunningEvents(runningEvent) {\n if (runningEvent.listenerCount() === 0) {\n delete this._runningEvents[runningEvent.tag];\n // If we have a poller for this, remove it\n const emit = this._wrappedEmits[runningEvent.tag];\n if (emit && runningEvent.filter) {\n this.provider.off(runningEvent.filter, emit);\n delete this._wrappedEmits[runningEvent.tag];\n }\n }\n }\n // Subclasses can override this to gracefully recover\n // from parse errors if they wish\n _wrapEvent(runningEvent, log, listener) {\n const event = deepCopy(log);\n event.removeListener = () => {\n if (!listener) {\n return;\n }\n runningEvent.removeListener(listener);\n this._checkRunningEvents(runningEvent);\n };\n event.getBlock = () => { return this.provider.getBlock(log.blockHash); };\n event.getTransaction = () => { return this.provider.getTransaction(log.transactionHash); };\n event.getTransactionReceipt = () => { return this.provider.getTransactionReceipt(log.transactionHash); };\n // This may throw if the topics and data mismatch the signature\n runningEvent.prepareEvent(event);\n return event;\n }\n _addEventListener(runningEvent, listener, once) {\n if (!this.provider) {\n logger.throwError(\"events require a provider or a signer with a provider\", Logger.errors.UNSUPPORTED_OPERATION, { operation: \"once\" });\n }\n runningEvent.addListener(listener, once);\n // Track this running event and its listeners (may already be there; but no hard in updating)\n this._runningEvents[runningEvent.tag] = runningEvent;\n // If we are not polling the provider, start polling\n if (!this._wrappedEmits[runningEvent.tag]) {\n const wrappedEmit = (log) => {\n let event = this._wrapEvent(runningEvent, log, listener);\n // Try to emit the result for the parameterized event...\n if (event.decodeError == null) {\n try {\n const args = runningEvent.getEmit(event);\n this.emit(runningEvent.filter, ...args);\n }\n catch (error) {\n event.decodeError = error.error;\n }\n }\n // Always emit \"event\" for fragment-base events\n if (runningEvent.filter != null) {\n this.emit(\"event\", event);\n }\n // Emit \"error\" if there was an error\n if (event.decodeError != null) {\n this.emit(\"error\", event.decodeError, event);\n }\n };\n this._wrappedEmits[runningEvent.tag] = wrappedEmit;\n // Special events, like \"error\" do not have a filter\n if (runningEvent.filter != null) {\n this.provider.on(runningEvent.filter, wrappedEmit);\n }\n }\n }\n queryFilter(event, fromBlockOrBlockhash, toBlock) {\n const runningEvent = this._getRunningEvent(event);\n const filter = shallowCopy(runningEvent.filter);\n if (typeof (fromBlockOrBlockhash) === \"string\" && isHexString(fromBlockOrBlockhash, 32)) {\n if (toBlock != null) {\n logger.throwArgumentError(\"cannot specify toBlock with blockhash\", \"toBlock\", toBlock);\n }\n filter.blockHash = fromBlockOrBlockhash;\n }\n else {\n filter.fromBlock = ((fromBlockOrBlockhash != null) ? fromBlockOrBlockhash : 0);\n filter.toBlock = ((toBlock != null) ? toBlock : \"latest\");\n }\n return this.provider.getLogs(filter).then((logs) => {\n return logs.map((log) => this._wrapEvent(runningEvent, log, null));\n });\n }\n on(event, listener) {\n this._addEventListener(this._getRunningEvent(event), listener, false);\n return this;\n }\n once(event, listener) {\n this._addEventListener(this._getRunningEvent(event), listener, true);\n return this;\n }\n emit(eventName, ...args) {\n if (!this.provider) {\n return false;\n }\n const runningEvent = this._getRunningEvent(eventName);\n const result = (runningEvent.run(args) > 0);\n // May have drained all the \"once\" events; check for living events\n this._checkRunningEvents(runningEvent);\n return result;\n }\n listenerCount(eventName) {\n if (!this.provider) {\n return 0;\n }\n if (eventName == null) {\n return Object.keys(this._runningEvents).reduce((accum, key) => {\n return accum + this._runningEvents[key].listenerCount();\n }, 0);\n }\n return this._getRunningEvent(eventName).listenerCount();\n }\n listeners(eventName) {\n if (!this.provider) {\n return [];\n }\n if (eventName == null) {\n const result = [];\n for (let tag in this._runningEvents) {\n this._runningEvents[tag].listeners().forEach((listener) => {\n result.push(listener);\n });\n }\n return result;\n }\n return this._getRunningEvent(eventName).listeners();\n }\n removeAllListeners(eventName) {\n if (!this.provider) {\n return this;\n }\n if (eventName == null) {\n for (const tag in this._runningEvents) {\n const runningEvent = this._runningEvents[tag];\n runningEvent.removeAllListeners();\n this._checkRunningEvents(runningEvent);\n }\n return this;\n }\n // Delete any listeners\n const runningEvent = this._getRunningEvent(eventName);\n runningEvent.removeAllListeners();\n this._checkRunningEvents(runningEvent);\n return this;\n }\n off(eventName, listener) {\n if (!this.provider) {\n return this;\n }\n const runningEvent = this._getRunningEvent(eventName);\n runningEvent.removeListener(listener);\n this._checkRunningEvents(runningEvent);\n return this;\n }\n removeListener(eventName, listener) {\n return this.off(eventName, listener);\n }\n}\nexport class Contract extends BaseContract {\n}\nexport class ContractFactory {\n constructor(contractInterface, bytecode, signer) {\n let bytecodeHex = null;\n if (typeof (bytecode) === \"string\") {\n bytecodeHex = bytecode;\n }\n else if (isBytes(bytecode)) {\n bytecodeHex = hexlify(bytecode);\n }\n else if (bytecode && typeof (bytecode.object) === \"string\") {\n // Allow the bytecode object from the Solidity compiler\n bytecodeHex = bytecode.object;\n }\n else {\n // Crash in the next verification step\n bytecodeHex = \"!\";\n }\n // Make sure it is 0x prefixed\n if (bytecodeHex.substring(0, 2) !== \"0x\") {\n bytecodeHex = \"0x\" + bytecodeHex;\n }\n // Make sure the final result is valid bytecode\n if (!isHexString(bytecodeHex) || (bytecodeHex.length % 2)) {\n logger.throwArgumentError(\"invalid bytecode\", \"bytecode\", bytecode);\n }\n // If we have a signer, make sure it is valid\n if (signer && !Signer.isSigner(signer)) {\n logger.throwArgumentError(\"invalid signer\", \"signer\", signer);\n }\n defineReadOnly(this, \"bytecode\", bytecodeHex);\n defineReadOnly(this, \"interface\", getStatic(new.target, \"getInterface\")(contractInterface));\n defineReadOnly(this, \"signer\", signer || null);\n }\n // @TODO: Future; rename to populateTransaction?\n getDeployTransaction(...args) {\n let tx = {};\n // If we have 1 additional argument, we allow transaction overrides\n if (args.length === this.interface.deploy.inputs.length + 1 && typeof (args[args.length - 1]) === \"object\") {\n tx = shallowCopy(args.pop());\n for (const key in tx) {\n if (!allowedTransactionKeys[key]) {\n throw new Error(\"unknown transaction override \" + key);\n }\n }\n }\n // Do not allow these to be overridden in a deployment transaction\n [\"data\", \"from\", \"to\"].forEach((key) => {\n if (tx[key] == null) {\n return;\n }\n logger.throwError(\"cannot override \" + key, Logger.errors.UNSUPPORTED_OPERATION, { operation: key });\n });\n if (tx.value) {\n const value = BigNumber.from(tx.value);\n if (!value.isZero() && !this.interface.deploy.payable) {\n logger.throwError(\"non-payable constructor cannot override value\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.value\",\n value: tx.value\n });\n }\n }\n // Make sure the call matches the constructor signature\n logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, \" in Contract constructor\");\n // Set the data to the bytecode + the encoded constructor arguments\n tx.data = hexlify(concat([\n this.bytecode,\n this.interface.encodeDeploy(args)\n ]));\n return tx;\n }\n deploy(...args) {\n return __awaiter(this, void 0, void 0, function* () {\n let overrides = {};\n // If 1 extra parameter was passed in, it contains overrides\n if (args.length === this.interface.deploy.inputs.length + 1) {\n overrides = args.pop();\n }\n // Make sure the call matches the constructor signature\n logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, \" in Contract constructor\");\n // Resolve ENS names and promises in the arguments\n const params = yield resolveAddresses(this.signer, args, this.interface.deploy.inputs);\n params.push(overrides);\n // Get the deployment transaction (with optional overrides)\n const unsignedTx = this.getDeployTransaction(...params);\n // Send the deployment transaction\n const tx = yield this.signer.sendTransaction(unsignedTx);\n const address = getStatic(this.constructor, \"getContractAddress\")(tx);\n const contract = getStatic(this.constructor, \"getContract\")(address, this.interface, this.signer);\n // Add the modified wait that wraps events\n addContractWait(contract, tx);\n defineReadOnly(contract, \"deployTransaction\", tx);\n return contract;\n });\n }\n attach(address) {\n return (this.constructor).getContract(address, this.interface, this.signer);\n }\n connect(signer) {\n return new (this.constructor)(this.interface, this.bytecode, signer);\n }\n static fromSolidity(compilerOutput, signer) {\n if (compilerOutput == null) {\n logger.throwError(\"missing compiler output\", Logger.errors.MISSING_ARGUMENT, { argument: \"compilerOutput\" });\n }\n if (typeof (compilerOutput) === \"string\") {\n compilerOutput = JSON.parse(compilerOutput);\n }\n const abi = compilerOutput.abi;\n let bytecode = null;\n if (compilerOutput.bytecode) {\n bytecode = compilerOutput.bytecode;\n }\n else if (compilerOutput.evm && compilerOutput.evm.bytecode) {\n bytecode = compilerOutput.evm.bytecode;\n }\n return new this(abi, bytecode, signer);\n }\n static getInterface(contractInterface) {\n return Contract.getInterface(contractInterface);\n }\n static getContractAddress(tx) {\n return getContractAddress(tx);\n }\n static getContract(address, contractInterface, signer) {\n return new Contract(address, contractInterface, signer);\n }\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { checkResultErrors, EventFragment, Fragment, FunctionFragment, Indexed, Interface, JsonFragment, LogDescription, ParamType, Result } from \"@ethersproject/abi\";\nimport { Block, BlockTag, Filter, FilterByBlockHash, Listener, Log, Provider, TransactionReceipt, TransactionRequest, TransactionResponse } from \"@ethersproject/abstract-provider\";\nimport { Signer, VoidSigner } from \"@ethersproject/abstract-signer\";\nimport { getAddress, getContractAddress } from \"@ethersproject/address\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { arrayify, BytesLike, concat, hexlify, isBytes, isHexString } from \"@ethersproject/bytes\";\nimport { Deferrable, defineReadOnly, deepCopy, getStatic, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\nimport { AccessList, accessListify, AccessListish } from \"@ethersproject/transactions\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\n\nconst logger = new Logger(version);\n\nexport interface Overrides {\n gasLimit?: BigNumberish | Promise;\n gasPrice?: BigNumberish | Promise;\n maxFeePerGas?: BigNumberish | Promise;\n maxPriorityFeePerGas?: BigNumberish | Promise;\n nonce?: BigNumberish | Promise;\n type?: number;\n accessList?: AccessListish;\n customData?: Record;\n ccipReadEnabled?: boolean;\n};\n\nexport interface PayableOverrides extends Overrides {\n value?: BigNumberish | Promise;\n}\n\nexport interface CallOverrides extends PayableOverrides {\n blockTag?: BlockTag | Promise;\n from?: string | Promise;\n}\n\n// @TODO: Better hierarchy with: (in v6)\n// - abstract-provider:TransactionRequest\n// - transactions:Transaction\n// - transaction:UnsignedTransaction\n\nexport interface PopulatedTransaction {\n to?: string;\n from?: string;\n nonce?: number;\n\n gasLimit?: BigNumber;\n gasPrice?: BigNumber;\n\n data?: string;\n value?: BigNumber;\n chainId?: number;\n\n type?: number;\n accessList?: AccessList;\n\n maxFeePerGas?: BigNumber;\n maxPriorityFeePerGas?: BigNumber;\n\n customData?: Record;\n ccipReadEnabled?: boolean;\n};\n\nexport type EventFilter = {\n address?: string;\n topics?: Array>;\n};\n\n\nexport type ContractFunction = (...args: Array) => Promise;\n\n\n// The (n + 1)th parameter passed to contract event callbacks\nexport interface Event extends Log {\n\n // The event name\n event?: string;\n\n // The event signature\n eventSignature?: string;\n\n // The parsed arguments to the event\n args?: Result;\n\n // If parsing the arguments failed, this is the error\n decodeError?: Error;\n\n // A function that can be used to decode event data and topics\n decode?: (data: string, topics?: Array) => any;\n\n // A function that will remove the listener responsible for this event (if any)\n removeListener: () => void;\n\n // Get blockchain details about this event's block and transaction\n getBlock: () => Promise;\n getTransaction: () => Promise;\n getTransactionReceipt: () => Promise;\n}\n\nexport interface ContractReceipt extends TransactionReceipt {\n events?: Array;\n}\n\nexport interface ContractTransaction extends TransactionResponse {\n wait(confirmations?: number): Promise;\n}\n\n///////////////////////////////\n\nconst allowedTransactionKeys: { [ key: string ]: boolean } = {\n chainId: true, data: true, from: true, gasLimit: true, gasPrice:true, nonce: true, to: true, value: true,\n type: true, accessList: true,\n maxFeePerGas: true, maxPriorityFeePerGas: true,\n customData: true,\n ccipReadEnabled: true\n}\n\nasync function resolveName(resolver: Signer | Provider, nameOrPromise: string | Promise): Promise {\n const name = await nameOrPromise;\n\n if (typeof(name) !== \"string\") {\n logger.throwArgumentError(\"invalid address or ENS name\", \"name\", name);\n }\n\n // If it is already an address, just use it (after adding checksum)\n try {\n return getAddress(name);\n } catch (error) { }\n\n if (!resolver) {\n logger.throwError(\"a provider or signer is needed to resolve ENS names\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"resolveName\"\n });\n }\n\n const address = await resolver.resolveName(name);\n\n if (address == null) {\n logger.throwArgumentError(\"resolver or addr is not configured for ENS name\", \"name\", name);\n }\n\n return address;\n}\n\n// Recursively replaces ENS names with promises to resolve the name and resolves all properties\nasync function resolveAddresses(resolver: Signer | Provider, value: any, paramType: ParamType | Array): Promise {\n if (Array.isArray(paramType)) {\n return await Promise.all(paramType.map((paramType, index) => {\n return resolveAddresses(\n resolver,\n ((Array.isArray(value)) ? value[index]: value[paramType.name]),\n paramType\n );\n }));\n }\n\n if (paramType.type === \"address\") {\n return await resolveName(resolver, value);\n }\n\n if (paramType.type === \"tuple\") {\n return await resolveAddresses(resolver, value, paramType.components);\n }\n\n if (paramType.baseType === \"array\") {\n if (!Array.isArray(value)) {\n return Promise.reject(logger.makeError(\"invalid value for array\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"value\",\n value\n }));\n }\n return await Promise.all(value.map((v) => resolveAddresses(resolver, v, paramType.arrayChildren)));\n }\n\n return value;\n}\n\nasync function populateTransaction(contract: Contract, fragment: FunctionFragment, args: Array): Promise {\n // If an extra argument is given, it is overrides\n let overrides: CallOverrides = { };\n if (args.length === fragment.inputs.length + 1 && typeof(args[args.length - 1]) === \"object\") {\n overrides = shallowCopy(args.pop());\n }\n\n // Make sure the parameter count matches\n logger.checkArgumentCount(args.length, fragment.inputs.length, \"passed to contract\");\n\n // Populate \"from\" override (allow promises)\n if (contract.signer) {\n if (overrides.from) {\n // Contracts with a Signer are from the Signer's frame-of-reference;\n // but we allow overriding \"from\" if it matches the signer\n overrides.from = resolveProperties({\n override: resolveName(contract.signer, overrides.from),\n signer: contract.signer.getAddress()\n }).then(async (check) => {\n if (getAddress(check.signer) !== check.override) {\n logger.throwError(\"Contract with a Signer cannot override from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.from\"\n });\n }\n\n return check.override;\n });\n\n } else {\n overrides.from = contract.signer.getAddress();\n }\n\n } else if (overrides.from) {\n overrides.from = resolveName(contract.provider, overrides.from);\n\n //} else {\n // Contracts without a signer can override \"from\", and if\n // unspecified the zero address is used\n //overrides.from = AddressZero;\n }\n\n // Wait for all dependencies to be resolved (prefer the signer over the provider)\n const resolved = await resolveProperties({\n args: resolveAddresses(contract.signer || contract.provider, args, fragment.inputs),\n address: contract.resolvedAddress,\n overrides: (resolveProperties(overrides) || { })\n });\n\n // The ABI coded transaction\n const data = contract.interface.encodeFunctionData(fragment, resolved.args);\n const tx: PopulatedTransaction = {\n data: data,\n to: resolved.address\n };\n\n // Resolved Overrides\n const ro = resolved.overrides;\n\n // Populate simple overrides\n if (ro.nonce != null) { tx.nonce = BigNumber.from(ro.nonce).toNumber(); }\n if (ro.gasLimit != null) { tx.gasLimit = BigNumber.from(ro.gasLimit); }\n if (ro.gasPrice != null) { tx.gasPrice = BigNumber.from(ro.gasPrice); }\n if (ro.maxFeePerGas != null) { tx.maxFeePerGas = BigNumber.from(ro.maxFeePerGas); }\n if (ro.maxPriorityFeePerGas != null) { tx.maxPriorityFeePerGas = BigNumber.from(ro.maxPriorityFeePerGas); }\n if (ro.from != null) { tx.from = ro.from; }\n\n if (ro.type != null) { tx.type = ro.type; }\n if (ro.accessList != null) { tx.accessList = accessListify(ro.accessList); }\n\n // If there was no \"gasLimit\" override, but the ABI specifies a default, use it\n if (tx.gasLimit == null && fragment.gas != null) {\n // Compute the intrinsic gas cost for this transaction\n // @TODO: This is based on the yellow paper as of Petersburg; this is something\n // we may wish to parameterize in v6 as part of the Network object. Since this\n // is always a non-nil to address, we can ignore G_create, but may wish to add\n // similar logic to the ContractFactory.\n let intrinsic = 21000;\n const bytes = arrayify(data);\n for (let i = 0; i < bytes.length; i++) {\n intrinsic += 4;\n if (bytes[i]) { intrinsic += 64; }\n }\n tx.gasLimit = BigNumber.from(fragment.gas).add(intrinsic);\n }\n\n // Populate \"value\" override\n if (ro.value) {\n const roValue = BigNumber.from(ro.value);\n if (!roValue.isZero() && !fragment.payable) {\n logger.throwError(\"non-payable method cannot override value\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.value\",\n value: overrides.value\n });\n }\n tx.value = roValue;\n }\n\n if (ro.customData) {\n tx.customData = shallowCopy(ro.customData);\n }\n\n if (ro.ccipReadEnabled) {\n tx.ccipReadEnabled = !!ro.ccipReadEnabled;\n }\n\n // Remove the overrides\n delete overrides.nonce;\n delete overrides.gasLimit;\n delete overrides.gasPrice;\n delete overrides.from;\n delete overrides.value;\n\n delete overrides.type;\n delete overrides.accessList;\n\n delete overrides.maxFeePerGas;\n delete overrides.maxPriorityFeePerGas;\n\n delete overrides.customData;\n delete overrides.ccipReadEnabled;\n\n // Make sure there are no stray overrides, which may indicate a\n // typo or using an unsupported key.\n const leftovers = Object.keys(overrides).filter((key) => ((overrides)[key] != null));\n if (leftovers.length) {\n logger.throwError(`cannot override ${ leftovers.map((l) => JSON.stringify(l)).join(\",\") }`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides\",\n overrides: leftovers\n });\n }\n\n return tx;\n}\n\n\nfunction buildPopulate(contract: Contract, fragment: FunctionFragment): ContractFunction {\n return function(...args: Array): Promise {\n return populateTransaction(contract, fragment, args);\n };\n}\n\nfunction buildEstimate(contract: Contract, fragment: FunctionFragment): ContractFunction {\n const signerOrProvider = (contract.signer || contract.provider);\n return async function(...args: Array): Promise {\n if (!signerOrProvider) {\n logger.throwError(\"estimate require a provider or signer\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"estimateGas\"\n })\n }\n\n const tx = await populateTransaction(contract, fragment, args);\n return await signerOrProvider.estimateGas(tx);\n };\n}\n\nfunction addContractWait(contract: Contract, tx: TransactionResponse) {\n const wait = tx.wait.bind(tx);\n tx.wait = (confirmations?: number) => {\n return wait(confirmations).then((receipt: ContractReceipt) => {\n receipt.events = receipt.logs.map((log) => {\n let event: Event = (deepCopy(log));\n let parsed: LogDescription = null;\n try {\n parsed = contract.interface.parseLog(log);\n } catch (e){ }\n\n // Successfully parsed the event log; include it\n if (parsed) {\n event.args = parsed.args;\n event.decode = (data: BytesLike, topics?: Array) => {\n return contract.interface.decodeEventLog(parsed.eventFragment, data, topics);\n };\n event.event = parsed.name;\n event.eventSignature = parsed.signature;\n }\n\n // Useful operations\n event.removeListener = () => { return contract.provider; }\n event.getBlock = () => {\n return contract.provider.getBlock(receipt.blockHash);\n }\n event.getTransaction = () => {\n return contract.provider.getTransaction(receipt.transactionHash);\n }\n event.getTransactionReceipt = () => {\n return Promise.resolve(receipt);\n }\n\n return event;\n });\n\n return receipt;\n });\n };\n}\n\nfunction buildCall(contract: Contract, fragment: FunctionFragment, collapseSimple: boolean): ContractFunction {\n const signerOrProvider = (contract.signer || contract.provider);\n\n return async function(...args: Array): Promise {\n // Extract the \"blockTag\" override if present\n let blockTag = undefined;\n if (args.length === fragment.inputs.length + 1 && typeof(args[args.length - 1]) === \"object\") {\n const overrides = shallowCopy(args.pop());\n if (overrides.blockTag != null) {\n blockTag = await overrides.blockTag;\n }\n delete overrides.blockTag;\n args.push(overrides);\n }\n\n // If the contract was just deployed, wait until it is mined\n if (contract.deployTransaction != null) {\n await contract._deployed(blockTag);\n }\n\n // Call a node and get the result\n const tx = await populateTransaction(contract, fragment, args);\n const result = await signerOrProvider.call(tx, blockTag);\n\n try {\n let value = contract.interface.decodeFunctionResult(fragment, result);\n if (collapseSimple && fragment.outputs.length === 1) {\n value = value[0];\n }\n return value;\n\n } catch (error) {\n if (error.code === Logger.errors.CALL_EXCEPTION) {\n error.address = contract.address;\n error.args = args;\n error.transaction = tx;\n }\n throw error;\n }\n };\n}\n\nfunction buildSend(contract: Contract, fragment: FunctionFragment): ContractFunction {\n return async function(...args: Array): Promise {\n if (!contract.signer) {\n logger.throwError(\"sending a transaction requires a signer\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"sendTransaction\"\n })\n }\n\n // If the contract was just deployed, wait until it is mined\n if (contract.deployTransaction != null) {\n await contract._deployed();\n }\n\n const txRequest = await populateTransaction(contract, fragment, args);\n\n const tx = await contract.signer.sendTransaction(txRequest);\n\n // Tweak the tx.wait so the receipt has extra properties\n addContractWait(contract, tx);\n\n return tx;\n };\n}\n\nfunction buildDefault(contract: Contract, fragment: FunctionFragment, collapseSimple: boolean): ContractFunction {\n if (fragment.constant) {\n return buildCall(contract, fragment, collapseSimple);\n }\n return buildSend(contract, fragment);\n}\n\nfunction getEventTag(filter: EventFilter): string {\n if (filter.address && (filter.topics == null || filter.topics.length === 0)) {\n return \"*\";\n }\n\n return (filter.address || \"*\") + \"@\" + (filter.topics ? filter.topics.map((topic) => {\n if (Array.isArray(topic)) {\n return topic.join(\"|\");\n }\n return topic;\n }).join(\":\"): \"\");\n}\n\nclass RunningEvent {\n readonly tag: string;\n readonly filter: EventFilter;\n private _listeners: Array<{ listener: Listener, once: boolean }>;\n\n constructor(tag: string, filter: EventFilter) {\n defineReadOnly(this, \"tag\", tag);\n defineReadOnly(this, \"filter\", filter);\n this._listeners = [ ];\n }\n\n addListener(listener: Listener, once: boolean): void {\n this._listeners.push({ listener: listener, once: once });\n }\n\n removeListener(listener: Listener): void {\n let done = false;\n this._listeners = this._listeners.filter((item) => {\n if (done || item.listener !== listener) { return true; }\n done = true;\n return false;\n });\n }\n\n removeAllListeners(): void {\n this._listeners = [];\n }\n\n listeners(): Array {\n return this._listeners.map((i) => i.listener);\n }\n\n listenerCount(): number {\n return this._listeners.length;\n }\n\n run(args: Array): number {\n const listenerCount = this.listenerCount();\n this._listeners = this._listeners.filter((item) => {\n\n const argsCopy = args.slice();\n\n // Call the callback in the next event loop\n setTimeout(() => {\n item.listener.apply(this, argsCopy);\n }, 0);\n\n // Reschedule it if it not \"once\"\n return !(item.once);\n });\n\n return listenerCount;\n }\n\n prepareEvent(event: Event): void {\n }\n\n // Returns the array that will be applied to an emit\n getEmit(event: Event): Array {\n return [ event ];\n }\n}\n\nclass ErrorRunningEvent extends RunningEvent {\n constructor() {\n super(\"error\", null);\n }\n}\n\n\n// @TODO Fragment should inherit Wildcard? and just override getEmit?\n// or have a common abstract super class, with enough constructor\n// options to configure both.\n\n// A Fragment Event will populate all the properties that Wildcard\n// will, and additionally dereference the arguments when emitting\nclass FragmentRunningEvent extends RunningEvent {\n readonly address: string;\n readonly interface: Interface;\n readonly fragment: EventFragment;\n\n constructor(address: string, contractInterface: Interface, fragment: EventFragment, topics?: Array>) {\n const filter: EventFilter = {\n address: address\n }\n\n let topic = contractInterface.getEventTopic(fragment);\n if (topics) {\n if (topic !== topics[0]) { logger.throwArgumentError(\"topic mismatch\", \"topics\", topics); }\n filter.topics = topics.slice();\n } else {\n filter.topics = [ topic ];\n }\n\n super(getEventTag(filter), filter);\n defineReadOnly(this, \"address\", address);\n defineReadOnly(this, \"interface\", contractInterface);\n defineReadOnly(this, \"fragment\", fragment);\n }\n\n\n prepareEvent(event: Event): void {\n super.prepareEvent(event);\n\n event.event = this.fragment.name;\n event.eventSignature = this.fragment.format();\n\n event.decode = (data: BytesLike, topics?: Array) => {\n return this.interface.decodeEventLog(this.fragment, data, topics);\n };\n\n try {\n event.args = this.interface.decodeEventLog(this.fragment, event.data, event.topics);\n } catch (error) {\n event.args = null;\n event.decodeError = error;\n }\n }\n\n getEmit(event: Event): Array {\n const errors = checkResultErrors(event.args);\n if (errors.length) { throw errors[0].error; }\n\n const args = (event.args || []).slice();\n args.push(event);\n return args;\n }\n}\n\n// A Wildcard Event will attempt to populate:\n// - event The name of the event name\n// - eventSignature The full signature of the event\n// - decode A function to decode data and topics\n// - args The decoded data and topics\nclass WildcardRunningEvent extends RunningEvent {\n readonly address: string;\n readonly interface: Interface;\n\n constructor(address: string, contractInterface: Interface) {\n super(\"*\", { address: address });\n defineReadOnly(this, \"address\", address);\n defineReadOnly(this, \"interface\", contractInterface);\n }\n\n prepareEvent(event: Event): void {\n super.prepareEvent(event);\n\n try {\n const parsed = this.interface.parseLog(event);\n event.event = parsed.name;\n event.eventSignature = parsed.signature;\n\n event.decode = (data: BytesLike, topics?: Array) => {\n return this.interface.decodeEventLog(parsed.eventFragment, data, topics);\n };\n\n event.args = parsed.args;\n } catch (error) {\n // No matching event\n }\n }\n}\n\nexport type ContractInterface = string | ReadonlyArray | Interface;\n\ntype InterfaceFunc = (contractInterface: ContractInterface) => Interface;\n\n\nexport class BaseContract {\n readonly address: string;\n readonly interface: Interface;\n\n readonly signer: Signer;\n readonly provider: Provider;\n\n readonly functions: { [ name: string ]: ContractFunction };\n\n readonly callStatic: { [ name: string ]: ContractFunction };\n readonly estimateGas: { [ name: string ]: ContractFunction };\n readonly populateTransaction: { [ name: string ]: ContractFunction };\n\n readonly filters: { [ name: string ]: (...args: Array) => EventFilter };\n\n // This will always be an address. This will only differ from\n // address if an ENS name was used in the constructor\n readonly resolvedAddress: Promise;\n\n // This is only set if the contract was created with a call to deploy\n readonly deployTransaction: TransactionResponse;\n\n _deployedPromise: Promise;\n\n // A list of RunningEvents to track listeners for each event tag\n _runningEvents: { [ eventTag: string ]: RunningEvent };\n\n // Wrapped functions to call emit and allow deregistration from the provider\n _wrappedEmits: { [ eventTag: string ]: (...args: Array) => void };\n\n constructor(addressOrName: string, contractInterface: ContractInterface, signerOrProvider?: Signer | Provider) {\n // @TODO: Maybe still check the addressOrName looks like a valid address or name?\n //address = getAddress(address);\n defineReadOnly(this, \"interface\", getStatic(new.target, \"getInterface\")(contractInterface));\n\n if (signerOrProvider == null) {\n defineReadOnly(this, \"provider\", null);\n defineReadOnly(this, \"signer\", null);\n } else if (Signer.isSigner(signerOrProvider)) {\n defineReadOnly(this, \"provider\", signerOrProvider.provider || null);\n defineReadOnly(this, \"signer\", signerOrProvider);\n } else if (Provider.isProvider(signerOrProvider)) {\n defineReadOnly(this, \"provider\", signerOrProvider);\n defineReadOnly(this, \"signer\", null);\n } else {\n logger.throwArgumentError(\"invalid signer or provider\", \"signerOrProvider\", signerOrProvider);\n }\n\n defineReadOnly(this, \"callStatic\", { });\n defineReadOnly(this, \"estimateGas\", { });\n defineReadOnly(this, \"functions\", { });\n defineReadOnly(this, \"populateTransaction\", { });\n\n defineReadOnly(this, \"filters\", { });\n\n {\n const uniqueFilters: { [ name: string ]: Array } = { };\n Object.keys(this.interface.events).forEach((eventSignature) => {\n const event = this.interface.events[eventSignature];\n defineReadOnly(this.filters, eventSignature, (...args: Array) => {\n return {\n address: this.address,\n topics: this.interface.encodeFilterTopics(event, args)\n }\n });\n if (!uniqueFilters[event.name]) { uniqueFilters[event.name] = [ ]; }\n uniqueFilters[event.name].push(eventSignature);\n });\n\n Object.keys(uniqueFilters).forEach((name) => {\n const filters = uniqueFilters[name];\n if (filters.length === 1) {\n defineReadOnly(this.filters, name, this.filters[filters[0]]);\n } else {\n logger.warn(`Duplicate definition of ${ name } (${ filters.join(\", \")})`);\n }\n });\n }\n\n defineReadOnly(this, \"_runningEvents\", { });\n defineReadOnly(this, \"_wrappedEmits\", { });\n\n if (addressOrName == null) {\n logger.throwArgumentError(\"invalid contract address or ENS name\", \"addressOrName\", addressOrName);\n }\n\n defineReadOnly(this, \"address\", addressOrName);\n if (this.provider) {\n defineReadOnly(this, \"resolvedAddress\", resolveName(this.provider, addressOrName));\n } else {\n try {\n defineReadOnly(this, \"resolvedAddress\", Promise.resolve(getAddress(addressOrName)));\n } catch (error) {\n // Without a provider, we cannot use ENS names\n logger.throwError(\"provider is required to use ENS name as contract address\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new Contract\"\n });\n }\n }\n\n // Swallow bad ENS names to prevent Unhandled Exceptions\n this.resolvedAddress.catch((e) => { });\n\n const uniqueNames: { [ name: string ]: Array } = { };\n const uniqueSignatures: { [ signature: string ]: boolean } = { };\n Object.keys(this.interface.functions).forEach((signature) => {\n const fragment = this.interface.functions[signature];\n\n // Check that the signature is unique; if not the ABI generation has\n // not been cleaned or may be incorrectly generated\n if (uniqueSignatures[signature]) {\n logger.warn(`Duplicate ABI entry for ${ JSON.stringify(signature) }`);\n return;\n }\n uniqueSignatures[signature] = true;\n\n // Track unique names; we only expose bare named functions if they\n // are ambiguous\n {\n const name = fragment.name;\n if (!uniqueNames[`%${ name }`]) { uniqueNames[`%${ name }`] = [ ]; }\n uniqueNames[`%${ name }`].push(signature);\n }\n\n if ((this)[signature] == null) {\n defineReadOnly(this, signature, buildDefault(this, fragment, true));\n }\n\n // We do not collapse simple calls on this bucket, which allows\n // frameworks to safely use this without introspection as well as\n // allows decoding error recovery.\n if (this.functions[signature] == null) {\n defineReadOnly(this.functions, signature, buildDefault(this, fragment, false));\n }\n\n if (this.callStatic[signature] == null) {\n defineReadOnly(this.callStatic, signature, buildCall(this, fragment, true));\n }\n\n if (this.populateTransaction[signature] == null) {\n defineReadOnly(this.populateTransaction, signature, buildPopulate(this, fragment));\n }\n\n if (this.estimateGas[signature] == null) {\n defineReadOnly(this.estimateGas, signature, buildEstimate(this, fragment));\n }\n });\n\n Object.keys(uniqueNames).forEach((name) => {\n // Ambiguous names to not get attached as bare names\n const signatures = uniqueNames[name];\n if (signatures.length > 1) { return; }\n\n // Strip off the leading \"%\" used for prototype protection\n name = name.substring(1);\n\n const signature = signatures[0];\n\n // If overwriting a member property that is null, swallow the error\n try {\n if ((this)[name] == null) {\n defineReadOnly(this, name, (this)[signature]);\n }\n } catch (e) { }\n\n if (this.functions[name] == null) {\n defineReadOnly(this.functions, name, this.functions[signature]);\n }\n\n if (this.callStatic[name] == null) {\n defineReadOnly(this.callStatic, name, this.callStatic[signature]);\n }\n\n if (this.populateTransaction[name] == null) {\n defineReadOnly(this.populateTransaction, name, this.populateTransaction[signature]);\n }\n\n if (this.estimateGas[name] == null) {\n defineReadOnly(this.estimateGas, name, this.estimateGas[signature]);\n }\n });\n }\n\n static getContractAddress(transaction: { from: string, nonce: BigNumberish }): string {\n return getContractAddress(transaction);\n }\n\n static getInterface(contractInterface: ContractInterface): Interface {\n if (Interface.isInterface(contractInterface)) {\n return contractInterface;\n }\n return new Interface(contractInterface);\n }\n\n // @TODO: Allow timeout?\n deployed(): Promise {\n return this._deployed();\n }\n\n _deployed(blockTag?: BlockTag): Promise {\n if (!this._deployedPromise) {\n\n // If we were just deployed, we know the transaction we should occur in\n if (this.deployTransaction) {\n this._deployedPromise = this.deployTransaction.wait().then(() => {\n return this;\n });\n\n } else {\n // @TODO: Once we allow a timeout to be passed in, we will wait\n // up to that many blocks for getCode\n\n // Otherwise, poll for our code to be deployed\n this._deployedPromise = this.provider.getCode(this.address, blockTag).then((code) => {\n if (code === \"0x\") {\n logger.throwError(\"contract not deployed\", Logger.errors.UNSUPPORTED_OPERATION, {\n contractAddress: this.address,\n operation: \"getDeployed\"\n });\n }\n return this;\n });\n }\n }\n\n return this._deployedPromise;\n }\n\n // @TODO:\n // estimateFallback(overrides?: TransactionRequest): Promise\n\n // @TODO:\n // estimateDeploy(bytecode: string, ...args): Promise\n\n fallback(overrides?: TransactionRequest): Promise {\n if (!this.signer) {\n logger.throwError(\"sending a transactions require a signer\", Logger.errors.UNSUPPORTED_OPERATION, { operation: \"sendTransaction(fallback)\" })\n }\n\n const tx: Deferrable = shallowCopy(overrides || {});\n\n [\"from\", \"to\"].forEach(function(key) {\n if ((tx)[key] == null) { return; }\n logger.throwError(\"cannot override \" + key, Logger.errors.UNSUPPORTED_OPERATION, { operation: key })\n });\n\n tx.to = this.resolvedAddress;\n return this.deployed().then(() => {\n return this.signer.sendTransaction(tx);\n });\n }\n\n // Reconnect to a different signer or provider\n connect(signerOrProvider: Signer | Provider | string): Contract {\n if (typeof(signerOrProvider) === \"string\") {\n signerOrProvider = new VoidSigner(signerOrProvider, this.provider);\n }\n\n const contract = new (<{ new(...args: any[]): Contract }>(this.constructor))(this.address, this.interface, signerOrProvider);\n if (this.deployTransaction) {\n defineReadOnly(contract, \"deployTransaction\", this.deployTransaction);\n }\n\n return contract;\n }\n\n // Re-attach to a different on-chain instance of this contract\n attach(addressOrName: string): Contract {\n return new (<{ new(...args: any[]): Contract }>(this.constructor))(addressOrName, this.interface, this.signer || this.provider);\n }\n\n static isIndexed(value: any): value is Indexed {\n return Indexed.isIndexed(value);\n }\n\n private _normalizeRunningEvent(runningEvent: RunningEvent): RunningEvent {\n // Already have an instance of this event running; we can re-use it\n if (this._runningEvents[runningEvent.tag]) {\n return this._runningEvents[runningEvent.tag];\n }\n return runningEvent\n }\n\n private _getRunningEvent(eventName: EventFilter | string): RunningEvent {\n if (typeof(eventName) === \"string\") {\n\n // Listen for \"error\" events (if your contract has an error event, include\n // the full signature to bypass this special event keyword)\n if (eventName === \"error\") {\n return this._normalizeRunningEvent(new ErrorRunningEvent());\n }\n\n // Listen for any event that is registered\n if (eventName === \"event\") {\n return this._normalizeRunningEvent(new RunningEvent(\"event\", null));\n }\n\n // Listen for any event\n if (eventName === \"*\") {\n return this._normalizeRunningEvent(new WildcardRunningEvent(this.address, this.interface));\n }\n\n // Get the event Fragment (throws if ambiguous/unknown event)\n const fragment = this.interface.getEvent(eventName)\n return this._normalizeRunningEvent(new FragmentRunningEvent(this.address, this.interface, fragment));\n }\n\n // We have topics to filter by...\n if (eventName.topics && eventName.topics.length > 0) {\n\n // Is it a known topichash? (throws if no matching topichash)\n try {\n const topic = eventName.topics[0];\n if (typeof(topic) !== \"string\") {\n throw new Error(\"invalid topic\"); // @TODO: May happen for anonymous events\n }\n const fragment = this.interface.getEvent(topic);\n return this._normalizeRunningEvent(new FragmentRunningEvent(this.address, this.interface, fragment, eventName.topics));\n } catch (error) { }\n\n // Filter by the unknown topichash\n const filter: EventFilter = {\n address: this.address,\n topics: eventName.topics\n }\n\n return this._normalizeRunningEvent(new RunningEvent(getEventTag(filter), filter));\n }\n\n return this._normalizeRunningEvent(new WildcardRunningEvent(this.address, this.interface));\n }\n\n _checkRunningEvents(runningEvent: RunningEvent): void {\n if (runningEvent.listenerCount() === 0) {\n delete this._runningEvents[runningEvent.tag];\n\n // If we have a poller for this, remove it\n const emit = this._wrappedEmits[runningEvent.tag];\n if (emit && runningEvent.filter) {\n this.provider.off(runningEvent.filter, emit);\n delete this._wrappedEmits[runningEvent.tag];\n }\n }\n }\n\n // Subclasses can override this to gracefully recover\n // from parse errors if they wish\n _wrapEvent(runningEvent: RunningEvent, log: Log, listener: Listener): Event {\n const event = deepCopy(log);\n\n event.removeListener = () => {\n if (!listener) { return; }\n runningEvent.removeListener(listener);\n this._checkRunningEvents(runningEvent);\n };\n\n event.getBlock = () => { return this.provider.getBlock(log.blockHash); }\n event.getTransaction = () => { return this.provider.getTransaction(log.transactionHash); }\n event.getTransactionReceipt = () => { return this.provider.getTransactionReceipt(log.transactionHash); }\n\n // This may throw if the topics and data mismatch the signature\n runningEvent.prepareEvent(event);\n\n return event;\n }\n\n private _addEventListener(runningEvent: RunningEvent, listener: Listener, once: boolean): void {\n if (!this.provider) {\n logger.throwError(\"events require a provider or a signer with a provider\", Logger.errors.UNSUPPORTED_OPERATION, { operation: \"once\" })\n }\n\n runningEvent.addListener(listener, once);\n\n // Track this running event and its listeners (may already be there; but no hard in updating)\n this._runningEvents[runningEvent.tag] = runningEvent;\n\n // If we are not polling the provider, start polling\n if (!this._wrappedEmits[runningEvent.tag]) {\n const wrappedEmit = (log: Log) => {\n let event = this._wrapEvent(runningEvent, log, listener);\n\n // Try to emit the result for the parameterized event...\n if (event.decodeError == null) {\n try {\n const args = runningEvent.getEmit(event);\n this.emit(runningEvent.filter, ...args);\n } catch (error) {\n event.decodeError = error.error;\n }\n }\n\n // Always emit \"event\" for fragment-base events\n if (runningEvent.filter != null) {\n this.emit(\"event\", event);\n }\n\n // Emit \"error\" if there was an error\n if (event.decodeError != null) {\n this.emit(\"error\", event.decodeError, event);\n }\n };\n this._wrappedEmits[runningEvent.tag] = wrappedEmit;\n\n // Special events, like \"error\" do not have a filter\n if (runningEvent.filter != null) {\n this.provider.on(runningEvent.filter, wrappedEmit);\n }\n }\n }\n\n queryFilter(event: EventFilter | string, fromBlockOrBlockhash?: BlockTag | string, toBlock?: BlockTag): Promise> {\n const runningEvent = this._getRunningEvent(event);\n const filter = shallowCopy(runningEvent.filter);\n\n if (typeof(fromBlockOrBlockhash) === \"string\" && isHexString(fromBlockOrBlockhash, 32)) {\n if (toBlock != null) {\n logger.throwArgumentError(\"cannot specify toBlock with blockhash\", \"toBlock\", toBlock);\n }\n (filter).blockHash = fromBlockOrBlockhash;\n } else {\n (filter).fromBlock = ((fromBlockOrBlockhash != null) ? fromBlockOrBlockhash: 0);\n (filter).toBlock = ((toBlock != null) ? toBlock: \"latest\");\n }\n\n return this.provider.getLogs(filter).then((logs) => {\n return logs.map((log) => this._wrapEvent(runningEvent, log, null));\n });\n }\n\n on(event: EventFilter | string, listener: Listener): this {\n this._addEventListener(this._getRunningEvent(event), listener, false);\n return this;\n }\n\n once(event: EventFilter | string, listener: Listener): this {\n this._addEventListener(this._getRunningEvent(event), listener, true);\n return this;\n }\n\n emit(eventName: EventFilter | string, ...args: Array): boolean {\n if (!this.provider) { return false; }\n\n const runningEvent = this._getRunningEvent(eventName);\n const result = (runningEvent.run(args) > 0);\n\n // May have drained all the \"once\" events; check for living events\n this._checkRunningEvents(runningEvent);\n\n return result;\n }\n\n listenerCount(eventName?: EventFilter | string): number {\n if (!this.provider) { return 0; }\n if (eventName == null) {\n return Object.keys(this._runningEvents).reduce((accum, key) => {\n return accum + this._runningEvents[key].listenerCount();\n }, 0);\n }\n return this._getRunningEvent(eventName).listenerCount();\n }\n\n listeners(eventName?: EventFilter | string): Array {\n if (!this.provider) { return []; }\n\n if (eventName == null) {\n const result: Array = [ ];\n for (let tag in this._runningEvents) {\n this._runningEvents[tag].listeners().forEach((listener) => {\n result.push(listener)\n });\n }\n return result;\n }\n\n return this._getRunningEvent(eventName).listeners();\n }\n\n removeAllListeners(eventName?: EventFilter | string): this {\n if (!this.provider) { return this; }\n\n if (eventName == null) {\n for (const tag in this._runningEvents) {\n const runningEvent = this._runningEvents[tag];\n runningEvent.removeAllListeners();\n this._checkRunningEvents(runningEvent);\n }\n return this;\n }\n\n // Delete any listeners\n const runningEvent = this._getRunningEvent(eventName);\n runningEvent.removeAllListeners();\n this._checkRunningEvents(runningEvent);\n\n return this;\n }\n\n off(eventName: EventFilter | string, listener: Listener): this {\n if (!this.provider) { return this; }\n const runningEvent = this._getRunningEvent(eventName);\n runningEvent.removeListener(listener);\n this._checkRunningEvents(runningEvent);\n return this;\n }\n\n removeListener(eventName: EventFilter | string, listener: Listener): this {\n return this.off(eventName, listener);\n }\n\n}\n\nexport class Contract extends BaseContract {\n // The meta-class properties\n readonly [ key: string ]: ContractFunction | any;\n}\n\nexport class ContractFactory {\n\n readonly interface: Interface;\n readonly bytecode: string;\n readonly signer: Signer;\n\n constructor(contractInterface: ContractInterface, bytecode: BytesLike | { object: string }, signer?: Signer) {\n\n let bytecodeHex: string = null;\n\n if (typeof(bytecode) === \"string\") {\n bytecodeHex = bytecode;\n } else if (isBytes(bytecode)) {\n bytecodeHex = hexlify(bytecode);\n } else if (bytecode && typeof(bytecode.object) === \"string\") {\n // Allow the bytecode object from the Solidity compiler\n bytecodeHex = (bytecode).object;\n } else {\n // Crash in the next verification step\n bytecodeHex = \"!\";\n }\n\n // Make sure it is 0x prefixed\n if (bytecodeHex.substring(0, 2) !== \"0x\") { bytecodeHex = \"0x\" + bytecodeHex; }\n\n // Make sure the final result is valid bytecode\n if (!isHexString(bytecodeHex) || (bytecodeHex.length % 2)) {\n logger.throwArgumentError(\"invalid bytecode\", \"bytecode\", bytecode);\n }\n\n // If we have a signer, make sure it is valid\n if (signer && !Signer.isSigner(signer)) {\n logger.throwArgumentError(\"invalid signer\", \"signer\", signer);\n }\n\n defineReadOnly(this, \"bytecode\", bytecodeHex);\n defineReadOnly(this, \"interface\", getStatic(new.target, \"getInterface\")(contractInterface));\n defineReadOnly(this, \"signer\", signer || null);\n }\n\n // @TODO: Future; rename to populateTransaction?\n getDeployTransaction(...args: Array): TransactionRequest {\n let tx: TransactionRequest = { };\n\n // If we have 1 additional argument, we allow transaction overrides\n if (args.length === this.interface.deploy.inputs.length + 1 && typeof(args[args.length - 1]) === \"object\") {\n tx = shallowCopy(args.pop());\n for (const key in tx) {\n if (!allowedTransactionKeys[key]) {\n throw new Error(\"unknown transaction override \" + key);\n }\n }\n }\n\n // Do not allow these to be overridden in a deployment transaction\n [\"data\", \"from\", \"to\"].forEach((key) => {\n if ((tx)[key] == null) { return; }\n logger.throwError(\"cannot override \" + key, Logger.errors.UNSUPPORTED_OPERATION, { operation: key })\n });\n\n if (tx.value) {\n const value = BigNumber.from(tx.value);\n if (!value.isZero() && !this.interface.deploy.payable) {\n logger.throwError(\"non-payable constructor cannot override value\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"overrides.value\",\n value: tx.value\n });\n }\n }\n\n // Make sure the call matches the constructor signature\n logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, \" in Contract constructor\");\n\n // Set the data to the bytecode + the encoded constructor arguments\n tx.data = hexlify(concat([\n this.bytecode,\n this.interface.encodeDeploy(args)\n ]));\n\n return tx\n }\n\n async deploy(...args: Array): Promise {\n\n let overrides: any = { };\n\n // If 1 extra parameter was passed in, it contains overrides\n if (args.length === this.interface.deploy.inputs.length + 1) {\n overrides = args.pop();\n }\n\n // Make sure the call matches the constructor signature\n logger.checkArgumentCount(args.length, this.interface.deploy.inputs.length, \" in Contract constructor\");\n\n // Resolve ENS names and promises in the arguments\n const params = await resolveAddresses(this.signer, args, this.interface.deploy.inputs);\n params.push(overrides);\n\n // Get the deployment transaction (with optional overrides)\n const unsignedTx = this.getDeployTransaction(...params);\n\n // Send the deployment transaction\n const tx = await this.signer.sendTransaction(unsignedTx);\n\n const address = getStatic<(tx: TransactionResponse) => string>(this.constructor, \"getContractAddress\")(tx);\n const contract = getStatic<(address: string, contractInterface: ContractInterface, signer?: Signer) => Contract>(this.constructor, \"getContract\")(address, this.interface, this.signer);\n\n // Add the modified wait that wraps events\n addContractWait(contract, tx);\n\n defineReadOnly(contract, \"deployTransaction\", tx);\n return contract;\n }\n\n attach(address: string): Contract {\n return ((this.constructor)).getContract(address, this.interface, this.signer);\n }\n\n connect(signer: Signer) {\n return new (<{ new(...args: any[]): ContractFactory }>(this.constructor))(this.interface, this.bytecode, signer);\n }\n\n static fromSolidity(compilerOutput: any, signer?: Signer): ContractFactory {\n if (compilerOutput == null) {\n logger.throwError(\"missing compiler output\", Logger.errors.MISSING_ARGUMENT, { argument: \"compilerOutput\" });\n }\n\n if (typeof(compilerOutput) === \"string\") {\n compilerOutput = JSON.parse(compilerOutput);\n }\n\n const abi = compilerOutput.abi;\n\n let bytecode: any = null;\n if (compilerOutput.bytecode) {\n bytecode = compilerOutput.bytecode;\n } else if (compilerOutput.evm && compilerOutput.evm.bytecode) {\n bytecode = compilerOutput.evm.bytecode;\n }\n\n return new this(abi, bytecode, signer);\n }\n\n static getInterface(contractInterface: ContractInterface) {\n return Contract.getInterface(contractInterface);\n }\n\n static getContractAddress(tx: { from: string, nonce: BytesLike | BigNumber | number }): string {\n return getContractAddress(tx);\n }\n\n static getContract(address: string, contractInterface: ContractInterface, signer?: Signer): Contract {\n return new Contract(address, contractInterface, signer);\n }\n}\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { isHexString } from \"@ethersproject/bytes\";\nimport { Description, defineReadOnly, resolveProperties } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n;\n;\n//export type CallTransactionable = {\n// call(transaction: TransactionRequest): Promise;\n//};\nexport class ForkEvent extends Description {\n static isForkEvent(value) {\n return !!(value && value._isForkEvent);\n }\n}\nexport class BlockForkEvent extends ForkEvent {\n constructor(blockHash, expiry) {\n if (!isHexString(blockHash, 32)) {\n logger.throwArgumentError(\"invalid blockHash\", \"blockHash\", blockHash);\n }\n super({\n _isForkEvent: true,\n _isBlockForkEvent: true,\n expiry: (expiry || 0),\n blockHash: blockHash\n });\n }\n}\nexport class TransactionForkEvent extends ForkEvent {\n constructor(hash, expiry) {\n if (!isHexString(hash, 32)) {\n logger.throwArgumentError(\"invalid transaction hash\", \"hash\", hash);\n }\n super({\n _isForkEvent: true,\n _isTransactionForkEvent: true,\n expiry: (expiry || 0),\n hash: hash\n });\n }\n}\nexport class TransactionOrderForkEvent extends ForkEvent {\n constructor(beforeHash, afterHash, expiry) {\n if (!isHexString(beforeHash, 32)) {\n logger.throwArgumentError(\"invalid transaction hash\", \"beforeHash\", beforeHash);\n }\n if (!isHexString(afterHash, 32)) {\n logger.throwArgumentError(\"invalid transaction hash\", \"afterHash\", afterHash);\n }\n super({\n _isForkEvent: true,\n _isTransactionOrderForkEvent: true,\n expiry: (expiry || 0),\n beforeHash: beforeHash,\n afterHash: afterHash\n });\n }\n}\n///////////////////////////////\n// Exported Abstracts\nexport class Provider {\n constructor() {\n logger.checkAbstract(new.target, Provider);\n defineReadOnly(this, \"_isProvider\", true);\n }\n getFeeData() {\n return __awaiter(this, void 0, void 0, function* () {\n const { block, gasPrice } = yield resolveProperties({\n block: this.getBlock(\"latest\"),\n gasPrice: this.getGasPrice().catch((error) => {\n // @TODO: Why is this now failing on Calaveras?\n //console.log(error);\n return null;\n })\n });\n let lastBaseFeePerGas = null, maxFeePerGas = null, maxPriorityFeePerGas = null;\n if (block && block.baseFeePerGas) {\n // We may want to compute this more accurately in the future,\n // using the formula \"check if the base fee is correct\".\n // See: https://eips.ethereum.org/EIPS/eip-1559\n lastBaseFeePerGas = block.baseFeePerGas;\n maxPriorityFeePerGas = BigNumber.from(\"1500000000\");\n maxFeePerGas = block.baseFeePerGas.mul(2).add(maxPriorityFeePerGas);\n }\n return { lastBaseFeePerGas, maxFeePerGas, maxPriorityFeePerGas, gasPrice };\n });\n }\n // Alias for \"on\"\n addListener(eventName, listener) {\n return this.on(eventName, listener);\n }\n // Alias for \"off\"\n removeListener(eventName, listener) {\n return this.off(eventName, listener);\n }\n static isProvider(value) {\n return !!(value && value._isProvider);\n }\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { BytesLike, isHexString } from \"@ethersproject/bytes\";\nimport { Network } from \"@ethersproject/networks\";\nimport { Deferrable, Description, defineReadOnly, resolveProperties } from \"@ethersproject/properties\";\nimport { AccessListish, Transaction } from \"@ethersproject/transactions\";\nimport { OnceBlockable } from \"@ethersproject/web\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n///////////////////////////////\n// Exported Types\n\n\nexport type TransactionRequest = {\n to?: string,\n from?: string,\n nonce?: BigNumberish,\n\n gasLimit?: BigNumberish,\n gasPrice?: BigNumberish,\n\n data?: BytesLike,\n value?: BigNumberish,\n chainId?: number\n\n type?: number;\n accessList?: AccessListish;\n\n maxPriorityFeePerGas?: BigNumberish;\n maxFeePerGas?: BigNumberish;\n\n customData?: Record;\n ccipReadEnabled?: boolean;\n}\n\nexport interface TransactionResponse extends Transaction {\n hash: string;\n\n // Only if a transaction has been mined\n blockNumber?: number,\n blockHash?: string,\n timestamp?: number,\n\n confirmations: number,\n\n // Not optional (as it is in Transaction)\n from: string;\n\n // The raw transaction\n raw?: string,\n\n // This function waits until the transaction has been mined\n wait: (confirmations?: number) => Promise\n};\n\nexport type BlockTag = string | number;\n\nexport interface _Block {\n hash: string;\n parentHash: string;\n number: number;\n\n timestamp: number;\n nonce: string;\n difficulty: number;\n _difficulty: BigNumber;\n\n gasLimit: BigNumber;\n gasUsed: BigNumber;\n\n miner: string;\n extraData: string;\n\n baseFeePerGas?: null | BigNumber;\n}\n\nexport interface Block extends _Block {\n transactions: Array;\n}\n\nexport interface BlockWithTransactions extends _Block {\n transactions: Array;\n}\n\n\nexport interface Log {\n blockNumber: number;\n blockHash: string;\n transactionIndex: number;\n\n removed: boolean;\n\n address: string;\n data: string;\n\n topics: Array;\n\n transactionHash: string;\n logIndex: number;\n}\n\nexport interface TransactionReceipt {\n to: string;\n from: string;\n contractAddress: string,\n transactionIndex: number,\n root?: string,\n gasUsed: BigNumber,\n logsBloom: string,\n blockHash: string,\n transactionHash: string,\n logs: Array,\n blockNumber: number,\n confirmations: number,\n cumulativeGasUsed: BigNumber,\n effectiveGasPrice: BigNumber,\n byzantium: boolean,\n type: number;\n status?: number\n};\n\nexport interface FeeData {\n lastBaseFeePerGas: null | BigNumber;\n maxFeePerGas: null | BigNumber;\n maxPriorityFeePerGas: null | BigNumber;\n gasPrice: null | BigNumber;\n}\n\nexport interface EventFilter {\n address?: string;\n topics?: Array | null>;\n}\n\nexport interface Filter extends EventFilter {\n fromBlock?: BlockTag,\n toBlock?: BlockTag,\n}\n\nexport interface FilterByBlockHash extends EventFilter {\n blockHash?: string;\n}\n\n//export type CallTransactionable = {\n// call(transaction: TransactionRequest): Promise;\n//};\n\nexport abstract class ForkEvent extends Description {\n readonly expiry: number;\n\n readonly _isForkEvent?: boolean;\n\n static isForkEvent(value: any): value is ForkEvent {\n return !!(value && value._isForkEvent);\n }\n}\n\nexport class BlockForkEvent extends ForkEvent {\n readonly blockHash: string;\n\n readonly _isBlockForkEvent?: boolean;\n\n constructor(blockHash: string, expiry?: number) {\n if (!isHexString(blockHash, 32)) {\n logger.throwArgumentError(\"invalid blockHash\", \"blockHash\", blockHash);\n }\n\n super({\n _isForkEvent: true,\n _isBlockForkEvent: true,\n expiry: (expiry || 0),\n blockHash: blockHash\n });\n }\n}\n\nexport class TransactionForkEvent extends ForkEvent {\n readonly hash: string;\n\n readonly _isTransactionOrderForkEvent?: boolean;\n\n constructor(hash: string, expiry?: number) {\n if (!isHexString(hash, 32)) {\n logger.throwArgumentError(\"invalid transaction hash\", \"hash\", hash);\n }\n\n super({\n _isForkEvent: true,\n _isTransactionForkEvent: true,\n expiry: (expiry || 0),\n hash: hash\n });\n }\n}\n\nexport class TransactionOrderForkEvent extends ForkEvent {\n readonly beforeHash: string;\n readonly afterHash: string;\n\n constructor(beforeHash: string, afterHash: string, expiry?: number) {\n if (!isHexString(beforeHash, 32)) {\n logger.throwArgumentError(\"invalid transaction hash\", \"beforeHash\", beforeHash);\n }\n if (!isHexString(afterHash, 32)) {\n logger.throwArgumentError(\"invalid transaction hash\", \"afterHash\", afterHash);\n }\n\n super({\n _isForkEvent: true,\n _isTransactionOrderForkEvent: true,\n expiry: (expiry || 0),\n beforeHash: beforeHash,\n afterHash: afterHash\n });\n }\n}\n\nexport type EventType = string | Array> | EventFilter | ForkEvent;\n\nexport type Listener = (...args: Array) => void;\n\n///////////////////////////////\n// Exported Abstracts\nexport abstract class Provider implements OnceBlockable {\n\n // Network\n abstract getNetwork(): Promise;\n\n // Latest State\n abstract getBlockNumber(): Promise;\n abstract getGasPrice(): Promise;\n async getFeeData(): Promise {\n const { block, gasPrice } = await resolveProperties({\n block: this.getBlock(\"latest\"),\n gasPrice: this.getGasPrice().catch((error) => {\n // @TODO: Why is this now failing on Calaveras?\n //console.log(error);\n return null;\n })\n });\n\n let lastBaseFeePerGas = null, maxFeePerGas = null, maxPriorityFeePerGas = null;\n\n if (block && block.baseFeePerGas) {\n // We may want to compute this more accurately in the future,\n // using the formula \"check if the base fee is correct\".\n // See: https://eips.ethereum.org/EIPS/eip-1559\n lastBaseFeePerGas = block.baseFeePerGas;\n maxPriorityFeePerGas = BigNumber.from(\"1500000000\");\n maxFeePerGas = block.baseFeePerGas.mul(2).add(maxPriorityFeePerGas);\n }\n\n return { lastBaseFeePerGas, maxFeePerGas, maxPriorityFeePerGas, gasPrice };\n }\n\n // Account\n abstract getBalance(addressOrName: string | Promise, blockTag?: BlockTag | Promise): Promise;\n abstract getTransactionCount(addressOrName: string | Promise, blockTag?: BlockTag | Promise): Promise;\n abstract getCode(addressOrName: string | Promise, blockTag?: BlockTag | Promise): Promise ;\n abstract getStorageAt(addressOrName: string | Promise, position: BigNumberish | Promise, blockTag?: BlockTag | Promise): Promise;\n\n // Execution\n abstract sendTransaction(signedTransaction: string | Promise): Promise;\n abstract call(transaction: Deferrable, blockTag?: BlockTag | Promise): Promise;\n abstract estimateGas(transaction: Deferrable): Promise;\n\n // Queries\n abstract getBlock(blockHashOrBlockTag: BlockTag | string | Promise): Promise;\n abstract getBlockWithTransactions(blockHashOrBlockTag: BlockTag | string | Promise): Promise;\n abstract getTransaction(transactionHash: string): Promise;\n abstract getTransactionReceipt(transactionHash: string): Promise;\n\n // Bloom-filter Queries\n abstract getLogs(filter: Filter): Promise>;\n\n // ENS\n abstract resolveName(name: string | Promise): Promise;\n abstract lookupAddress(address: string | Promise): Promise;\n\n // Event Emitter (ish)\n abstract on(eventName: EventType, listener: Listener): Provider;\n abstract once(eventName: EventType, listener: Listener): Provider;\n abstract emit(eventName: EventType, ...args: Array): boolean\n abstract listenerCount(eventName?: EventType): number;\n abstract listeners(eventName?: EventType): Array;\n abstract off(eventName: EventType, listener?: Listener): Provider;\n abstract removeAllListeners(eventName?: EventType): Provider;\n\n // Alias for \"on\"\n addListener(eventName: EventType, listener: Listener): Provider {\n return this.on(eventName, listener);\n }\n\n // Alias for \"off\"\n removeListener(eventName: EventType, listener: Listener): Provider {\n return this.off(eventName, listener);\n }\n\n // @TODO: This *could* be implemented here, but would pull in events...\n abstract waitForTransaction(transactionHash: string, confirmations?: number, timeout?: number): Promise;\n\n readonly _isProvider: boolean;\n\n constructor() {\n logger.checkAbstract(new.target, Provider);\n defineReadOnly(this, \"_isProvider\", true);\n }\n\n static isProvider(value: any): value is Provider {\n return !!(value && value._isProvider);\n }\n\n/*\n static getResolver(network: Network, callable: CallTransactionable, namehash: string): string {\n // No ENS...\n if (!network.ensAddress) {\n errors.throwError(\n \"network does support ENS\",\n errors.UNSUPPORTED_OPERATION,\n { operation: \"ENS\", network: network.name }\n );\n }\n\n // Not a namehash\n if (!isHexString(namehash, 32)) {\n errors.throwArgumentError(\"invalid name hash\", \"namehash\", namehash);\n }\n\n // keccak256(\"resolver(bytes32)\")\n let data = \"0x0178b8bf\" + namehash.substring(2);\n let transaction = { to: network.ensAddress, data: data };\n\n return provider.call(transaction).then((data) => {\n return provider.formatter.callAddress(data);\n });\n }\n\n static resolveNamehash(network: Network, callable: CallTransactionable, namehash: string): string {\n return this.getResolver(network, callable, namehash).then((resolverAddress) => {\n if (!resolverAddress) { return null; }\n\n // keccak256(\"addr(bytes32)\")\n let data = \"0x3b3b57de\" + namehash(name).substring(2);\n let transaction = { to: resolverAddress, data: data };\n return callable.call(transaction).then((data) => {\n return this.formatter.callAddress(data);\n });\n\n })\n }\n*/\n}\n","export const version = \"abstract-provider/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"abstract-provider/5.7.0\";\n","\"use strict\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, hexConcat, hexDataLength, hexDataSlice, hexlify, hexZeroPad, isBytesLike, splitSignature, stripZeros, } from \"@ethersproject/bytes\";\nimport { Zero } from \"@ethersproject/constants\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { checkProperties } from \"@ethersproject/properties\";\nimport * as RLP from \"@ethersproject/rlp\";\nimport { computePublicKey, recoverPublicKey } from \"@ethersproject/signing-key\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nexport var TransactionTypes;\n(function (TransactionTypes) {\n TransactionTypes[TransactionTypes[\"legacy\"] = 0] = \"legacy\";\n TransactionTypes[TransactionTypes[\"eip2930\"] = 1] = \"eip2930\";\n TransactionTypes[TransactionTypes[\"eip1559\"] = 2] = \"eip1559\";\n})(TransactionTypes || (TransactionTypes = {}));\n;\n///////////////////////////////\nfunction handleAddress(value) {\n if (value === \"0x\") {\n return null;\n }\n return getAddress(value);\n}\nfunction handleNumber(value) {\n if (value === \"0x\") {\n return Zero;\n }\n return BigNumber.from(value);\n}\n// Legacy Transaction Fields\nconst transactionFields = [\n { name: \"nonce\", maxLength: 32, numeric: true },\n { name: \"gasPrice\", maxLength: 32, numeric: true },\n { name: \"gasLimit\", maxLength: 32, numeric: true },\n { name: \"to\", length: 20 },\n { name: \"value\", maxLength: 32, numeric: true },\n { name: \"data\" },\n];\nconst allowedTransactionKeys = {\n chainId: true, data: true, gasLimit: true, gasPrice: true, nonce: true, to: true, type: true, value: true\n};\nexport function computeAddress(key) {\n const publicKey = computePublicKey(key);\n return getAddress(hexDataSlice(keccak256(hexDataSlice(publicKey, 1)), 12));\n}\nexport function recoverAddress(digest, signature) {\n return computeAddress(recoverPublicKey(arrayify(digest), signature));\n}\nfunction formatNumber(value, name) {\n const result = stripZeros(BigNumber.from(value).toHexString());\n if (result.length > 32) {\n logger.throwArgumentError(\"invalid length for \" + name, (\"transaction:\" + name), value);\n }\n return result;\n}\nfunction accessSetify(addr, storageKeys) {\n return {\n address: getAddress(addr),\n storageKeys: (storageKeys || []).map((storageKey, index) => {\n if (hexDataLength(storageKey) !== 32) {\n logger.throwArgumentError(\"invalid access list storageKey\", `accessList[${addr}:${index}]`, storageKey);\n }\n return storageKey.toLowerCase();\n })\n };\n}\nexport function accessListify(value) {\n if (Array.isArray(value)) {\n return value.map((set, index) => {\n if (Array.isArray(set)) {\n if (set.length > 2) {\n logger.throwArgumentError(\"access list expected to be [ address, storageKeys[] ]\", `value[${index}]`, set);\n }\n return accessSetify(set[0], set[1]);\n }\n return accessSetify(set.address, set.storageKeys);\n });\n }\n const result = Object.keys(value).map((addr) => {\n const storageKeys = value[addr].reduce((accum, storageKey) => {\n accum[storageKey] = true;\n return accum;\n }, {});\n return accessSetify(addr, Object.keys(storageKeys).sort());\n });\n result.sort((a, b) => (a.address.localeCompare(b.address)));\n return result;\n}\nfunction formatAccessList(value) {\n return accessListify(value).map((set) => [set.address, set.storageKeys]);\n}\nfunction _serializeEip1559(transaction, signature) {\n // If there is an explicit gasPrice, make sure it matches the\n // EIP-1559 fees; otherwise they may not understand what they\n // think they are setting in terms of fee.\n if (transaction.gasPrice != null) {\n const gasPrice = BigNumber.from(transaction.gasPrice);\n const maxFeePerGas = BigNumber.from(transaction.maxFeePerGas || 0);\n if (!gasPrice.eq(maxFeePerGas)) {\n logger.throwArgumentError(\"mismatch EIP-1559 gasPrice != maxFeePerGas\", \"tx\", {\n gasPrice, maxFeePerGas\n });\n }\n }\n const fields = [\n formatNumber(transaction.chainId || 0, \"chainId\"),\n formatNumber(transaction.nonce || 0, \"nonce\"),\n formatNumber(transaction.maxPriorityFeePerGas || 0, \"maxPriorityFeePerGas\"),\n formatNumber(transaction.maxFeePerGas || 0, \"maxFeePerGas\"),\n formatNumber(transaction.gasLimit || 0, \"gasLimit\"),\n ((transaction.to != null) ? getAddress(transaction.to) : \"0x\"),\n formatNumber(transaction.value || 0, \"value\"),\n (transaction.data || \"0x\"),\n (formatAccessList(transaction.accessList || []))\n ];\n if (signature) {\n const sig = splitSignature(signature);\n fields.push(formatNumber(sig.recoveryParam, \"recoveryParam\"));\n fields.push(stripZeros(sig.r));\n fields.push(stripZeros(sig.s));\n }\n return hexConcat([\"0x02\", RLP.encode(fields)]);\n}\nfunction _serializeEip2930(transaction, signature) {\n const fields = [\n formatNumber(transaction.chainId || 0, \"chainId\"),\n formatNumber(transaction.nonce || 0, \"nonce\"),\n formatNumber(transaction.gasPrice || 0, \"gasPrice\"),\n formatNumber(transaction.gasLimit || 0, \"gasLimit\"),\n ((transaction.to != null) ? getAddress(transaction.to) : \"0x\"),\n formatNumber(transaction.value || 0, \"value\"),\n (transaction.data || \"0x\"),\n (formatAccessList(transaction.accessList || []))\n ];\n if (signature) {\n const sig = splitSignature(signature);\n fields.push(formatNumber(sig.recoveryParam, \"recoveryParam\"));\n fields.push(stripZeros(sig.r));\n fields.push(stripZeros(sig.s));\n }\n return hexConcat([\"0x01\", RLP.encode(fields)]);\n}\n// Legacy Transactions and EIP-155\nfunction _serialize(transaction, signature) {\n checkProperties(transaction, allowedTransactionKeys);\n const raw = [];\n transactionFields.forEach(function (fieldInfo) {\n let value = transaction[fieldInfo.name] || ([]);\n const options = {};\n if (fieldInfo.numeric) {\n options.hexPad = \"left\";\n }\n value = arrayify(hexlify(value, options));\n // Fixed-width field\n if (fieldInfo.length && value.length !== fieldInfo.length && value.length > 0) {\n logger.throwArgumentError(\"invalid length for \" + fieldInfo.name, (\"transaction:\" + fieldInfo.name), value);\n }\n // Variable-width (with a maximum)\n if (fieldInfo.maxLength) {\n value = stripZeros(value);\n if (value.length > fieldInfo.maxLength) {\n logger.throwArgumentError(\"invalid length for \" + fieldInfo.name, (\"transaction:\" + fieldInfo.name), value);\n }\n }\n raw.push(hexlify(value));\n });\n let chainId = 0;\n if (transaction.chainId != null) {\n // A chainId was provided; if non-zero we'll use EIP-155\n chainId = transaction.chainId;\n if (typeof (chainId) !== \"number\") {\n logger.throwArgumentError(\"invalid transaction.chainId\", \"transaction\", transaction);\n }\n }\n else if (signature && !isBytesLike(signature) && signature.v > 28) {\n // No chainId provided, but the signature is signing with EIP-155; derive chainId\n chainId = Math.floor((signature.v - 35) / 2);\n }\n // We have an EIP-155 transaction (chainId was specified and non-zero)\n if (chainId !== 0) {\n raw.push(hexlify(chainId)); // @TODO: hexValue?\n raw.push(\"0x\");\n raw.push(\"0x\");\n }\n // Requesting an unsigned transaction\n if (!signature) {\n return RLP.encode(raw);\n }\n // The splitSignature will ensure the transaction has a recoveryParam in the\n // case that the signTransaction function only adds a v.\n const sig = splitSignature(signature);\n // We pushed a chainId and null r, s on for hashing only; remove those\n let v = 27 + sig.recoveryParam;\n if (chainId !== 0) {\n raw.pop();\n raw.pop();\n raw.pop();\n v += chainId * 2 + 8;\n // If an EIP-155 v (directly or indirectly; maybe _vs) was provided, check it!\n if (sig.v > 28 && sig.v !== v) {\n logger.throwArgumentError(\"transaction.chainId/signature.v mismatch\", \"signature\", signature);\n }\n }\n else if (sig.v !== v) {\n logger.throwArgumentError(\"transaction.chainId/signature.v mismatch\", \"signature\", signature);\n }\n raw.push(hexlify(v));\n raw.push(stripZeros(arrayify(sig.r)));\n raw.push(stripZeros(arrayify(sig.s)));\n return RLP.encode(raw);\n}\nexport function serialize(transaction, signature) {\n // Legacy and EIP-155 Transactions\n if (transaction.type == null || transaction.type === 0) {\n if (transaction.accessList != null) {\n logger.throwArgumentError(\"untyped transactions do not support accessList; include type: 1\", \"transaction\", transaction);\n }\n return _serialize(transaction, signature);\n }\n // Typed Transactions (EIP-2718)\n switch (transaction.type) {\n case 1:\n return _serializeEip2930(transaction, signature);\n case 2:\n return _serializeEip1559(transaction, signature);\n default:\n break;\n }\n return logger.throwError(`unsupported transaction type: ${transaction.type}`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"serializeTransaction\",\n transactionType: transaction.type\n });\n}\nfunction _parseEipSignature(tx, fields, serialize) {\n try {\n const recid = handleNumber(fields[0]).toNumber();\n if (recid !== 0 && recid !== 1) {\n throw new Error(\"bad recid\");\n }\n tx.v = recid;\n }\n catch (error) {\n logger.throwArgumentError(\"invalid v for transaction type: 1\", \"v\", fields[0]);\n }\n tx.r = hexZeroPad(fields[1], 32);\n tx.s = hexZeroPad(fields[2], 32);\n try {\n const digest = keccak256(serialize(tx));\n tx.from = recoverAddress(digest, { r: tx.r, s: tx.s, recoveryParam: tx.v });\n }\n catch (error) { }\n}\nfunction _parseEip1559(payload) {\n const transaction = RLP.decode(payload.slice(1));\n if (transaction.length !== 9 && transaction.length !== 12) {\n logger.throwArgumentError(\"invalid component count for transaction type: 2\", \"payload\", hexlify(payload));\n }\n const maxPriorityFeePerGas = handleNumber(transaction[2]);\n const maxFeePerGas = handleNumber(transaction[3]);\n const tx = {\n type: 2,\n chainId: handleNumber(transaction[0]).toNumber(),\n nonce: handleNumber(transaction[1]).toNumber(),\n maxPriorityFeePerGas: maxPriorityFeePerGas,\n maxFeePerGas: maxFeePerGas,\n gasPrice: null,\n gasLimit: handleNumber(transaction[4]),\n to: handleAddress(transaction[5]),\n value: handleNumber(transaction[6]),\n data: transaction[7],\n accessList: accessListify(transaction[8]),\n };\n // Unsigned EIP-1559 Transaction\n if (transaction.length === 9) {\n return tx;\n }\n tx.hash = keccak256(payload);\n _parseEipSignature(tx, transaction.slice(9), _serializeEip1559);\n return tx;\n}\nfunction _parseEip2930(payload) {\n const transaction = RLP.decode(payload.slice(1));\n if (transaction.length !== 8 && transaction.length !== 11) {\n logger.throwArgumentError(\"invalid component count for transaction type: 1\", \"payload\", hexlify(payload));\n }\n const tx = {\n type: 1,\n chainId: handleNumber(transaction[0]).toNumber(),\n nonce: handleNumber(transaction[1]).toNumber(),\n gasPrice: handleNumber(transaction[2]),\n gasLimit: handleNumber(transaction[3]),\n to: handleAddress(transaction[4]),\n value: handleNumber(transaction[5]),\n data: transaction[6],\n accessList: accessListify(transaction[7])\n };\n // Unsigned EIP-2930 Transaction\n if (transaction.length === 8) {\n return tx;\n }\n tx.hash = keccak256(payload);\n _parseEipSignature(tx, transaction.slice(8), _serializeEip2930);\n return tx;\n}\n// Legacy Transactions and EIP-155\nfunction _parse(rawTransaction) {\n const transaction = RLP.decode(rawTransaction);\n if (transaction.length !== 9 && transaction.length !== 6) {\n logger.throwArgumentError(\"invalid raw transaction\", \"rawTransaction\", rawTransaction);\n }\n const tx = {\n nonce: handleNumber(transaction[0]).toNumber(),\n gasPrice: handleNumber(transaction[1]),\n gasLimit: handleNumber(transaction[2]),\n to: handleAddress(transaction[3]),\n value: handleNumber(transaction[4]),\n data: transaction[5],\n chainId: 0\n };\n // Legacy unsigned transaction\n if (transaction.length === 6) {\n return tx;\n }\n try {\n tx.v = BigNumber.from(transaction[6]).toNumber();\n }\n catch (error) {\n // @TODO: What makes snese to do? The v is too big\n return tx;\n }\n tx.r = hexZeroPad(transaction[7], 32);\n tx.s = hexZeroPad(transaction[8], 32);\n if (BigNumber.from(tx.r).isZero() && BigNumber.from(tx.s).isZero()) {\n // EIP-155 unsigned transaction\n tx.chainId = tx.v;\n tx.v = 0;\n }\n else {\n // Signed Transaction\n tx.chainId = Math.floor((tx.v - 35) / 2);\n if (tx.chainId < 0) {\n tx.chainId = 0;\n }\n let recoveryParam = tx.v - 27;\n const raw = transaction.slice(0, 6);\n if (tx.chainId !== 0) {\n raw.push(hexlify(tx.chainId));\n raw.push(\"0x\");\n raw.push(\"0x\");\n recoveryParam -= tx.chainId * 2 + 8;\n }\n const digest = keccak256(RLP.encode(raw));\n try {\n tx.from = recoverAddress(digest, { r: hexlify(tx.r), s: hexlify(tx.s), recoveryParam: recoveryParam });\n }\n catch (error) { }\n tx.hash = keccak256(rawTransaction);\n }\n tx.type = null;\n return tx;\n}\nexport function parse(rawTransaction) {\n const payload = arrayify(rawTransaction);\n // Legacy and EIP-155 Transactions\n if (payload[0] > 0x7f) {\n return _parse(payload);\n }\n // Typed Transaction (EIP-2718)\n switch (payload[0]) {\n case 1:\n return _parseEip2930(payload);\n case 2:\n return _parseEip1559(payload);\n default:\n break;\n }\n return logger.throwError(`unsupported transaction type: ${payload[0]}`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"parseTransaction\",\n transactionType: payload[0]\n });\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { getAddress } from \"@ethersproject/address\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { arrayify, BytesLike, DataOptions, hexConcat, hexDataLength, hexDataSlice, hexlify, hexZeroPad, isBytesLike, SignatureLike, splitSignature, stripZeros, } from \"@ethersproject/bytes\";\nimport { Zero } from \"@ethersproject/constants\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { checkProperties } from \"@ethersproject/properties\";\nimport * as RLP from \"@ethersproject/rlp\";\nimport { computePublicKey, recoverPublicKey } from \"@ethersproject/signing-key\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n///////////////////////////////\n// Exported Types\n\nexport type AccessList = Array<{ address: string, storageKeys: Array }>;\n\n// Input allows flexibility in describing an access list\nexport type AccessListish = AccessList |\n Array<[ string, Array ]> |\n Record>;\n\nexport enum TransactionTypes {\n legacy = 0,\n eip2930 = 1,\n eip1559 = 2,\n};\n\nexport type UnsignedTransaction = {\n to?: string;\n nonce?: number;\n\n gasLimit?: BigNumberish;\n gasPrice?: BigNumberish;\n\n data?: BytesLike;\n value?: BigNumberish;\n chainId?: number;\n\n // Typed-Transaction features\n type?: number | null;\n\n // EIP-2930; Type 1 & EIP-1559; Type 2\n accessList?: AccessListish;\n\n // EIP-1559; Type 2\n maxPriorityFeePerGas?: BigNumberish;\n maxFeePerGas?: BigNumberish;\n}\n\nexport interface Transaction {\n hash?: string;\n\n to?: string;\n from?: string;\n nonce: number;\n\n gasLimit: BigNumber;\n gasPrice?: BigNumber;\n\n data: string;\n value: BigNumber;\n chainId: number;\n\n r?: string;\n s?: string;\n v?: number;\n\n // Typed-Transaction features\n type?: number | null;\n\n // EIP-2930; Type 1 & EIP-1559; Type 2\n accessList?: AccessList;\n\n // EIP-1559; Type 2\n maxPriorityFeePerGas?: BigNumber;\n maxFeePerGas?: BigNumber;\n}\n\n///////////////////////////////\n\nfunction handleAddress(value: string): string {\n if (value === \"0x\") { return null; }\n return getAddress(value);\n}\n\nfunction handleNumber(value: string): BigNumber {\n if (value === \"0x\") { return Zero; }\n return BigNumber.from(value);\n}\n\n// Legacy Transaction Fields\nconst transactionFields = [\n { name: \"nonce\", maxLength: 32, numeric: true },\n { name: \"gasPrice\", maxLength: 32, numeric: true },\n { name: \"gasLimit\", maxLength: 32, numeric: true },\n { name: \"to\", length: 20 },\n { name: \"value\", maxLength: 32, numeric: true },\n { name: \"data\" },\n];\n\nconst allowedTransactionKeys: { [ key: string ]: boolean } = {\n chainId: true, data: true, gasLimit: true, gasPrice:true, nonce: true, to: true, type: true, value: true\n}\n\nexport function computeAddress(key: BytesLike | string): string {\n const publicKey = computePublicKey(key);\n return getAddress(hexDataSlice(keccak256(hexDataSlice(publicKey, 1)), 12));\n}\n\nexport function recoverAddress(digest: BytesLike, signature: SignatureLike): string {\n return computeAddress(recoverPublicKey(arrayify(digest), signature));\n}\n\nfunction formatNumber(value: BigNumberish, name: string): Uint8Array {\n const result = stripZeros(BigNumber.from(value).toHexString());\n if (result.length > 32) {\n logger.throwArgumentError(\"invalid length for \" + name, (\"transaction:\" + name), value);\n }\n return result;\n}\n\nfunction accessSetify(addr: string, storageKeys: Array): { address: string,storageKeys: Array } {\n return {\n address: getAddress(addr),\n storageKeys: (storageKeys || []).map((storageKey, index) => {\n if (hexDataLength(storageKey) !== 32) {\n logger.throwArgumentError(\"invalid access list storageKey\", `accessList[${ addr }:${ index }]`, storageKey)\n }\n return storageKey.toLowerCase();\n })\n };\n}\n\nexport function accessListify(value: AccessListish): AccessList {\n if (Array.isArray(value)) {\n return (] | { address: string, storageKeys: Array}>>value).map((set, index) => {\n if (Array.isArray(set)) {\n if (set.length > 2) {\n logger.throwArgumentError(\"access list expected to be [ address, storageKeys[] ]\", `value[${ index }]`, set);\n }\n return accessSetify(set[0], set[1])\n }\n return accessSetify(set.address, set.storageKeys);\n });\n }\n\n const result: Array<{ address: string, storageKeys: Array }> = Object.keys(value).map((addr) => {\n const storageKeys: Record = value[addr].reduce((accum, storageKey) => {\n accum[storageKey] = true;\n return accum;\n }, >{ });\n return accessSetify(addr, Object.keys(storageKeys).sort())\n });\n result.sort((a, b) => (a.address.localeCompare(b.address)));\n return result;\n}\n\nfunction formatAccessList(value: AccessListish): Array<[ string, Array ]> {\n return accessListify(value).map((set) => [ set.address, set.storageKeys ]);\n}\n\nfunction _serializeEip1559(transaction: UnsignedTransaction, signature?: SignatureLike): string {\n // If there is an explicit gasPrice, make sure it matches the\n // EIP-1559 fees; otherwise they may not understand what they\n // think they are setting in terms of fee.\n if (transaction.gasPrice != null) {\n const gasPrice = BigNumber.from(transaction.gasPrice);\n const maxFeePerGas = BigNumber.from(transaction.maxFeePerGas || 0);\n if (!gasPrice.eq(maxFeePerGas)) {\n logger.throwArgumentError(\"mismatch EIP-1559 gasPrice != maxFeePerGas\", \"tx\", {\n gasPrice, maxFeePerGas\n });\n }\n }\n\n const fields: any = [\n formatNumber(transaction.chainId || 0, \"chainId\"),\n formatNumber(transaction.nonce || 0, \"nonce\"),\n formatNumber(transaction.maxPriorityFeePerGas || 0, \"maxPriorityFeePerGas\"),\n formatNumber(transaction.maxFeePerGas || 0, \"maxFeePerGas\"),\n formatNumber(transaction.gasLimit || 0, \"gasLimit\"),\n ((transaction.to != null) ? getAddress(transaction.to): \"0x\"),\n formatNumber(transaction.value || 0, \"value\"),\n (transaction.data || \"0x\"),\n (formatAccessList(transaction.accessList || []))\n ];\n\n if (signature) {\n const sig = splitSignature(signature);\n fields.push(formatNumber(sig.recoveryParam, \"recoveryParam\"));\n fields.push(stripZeros(sig.r));\n fields.push(stripZeros(sig.s));\n }\n\n return hexConcat([ \"0x02\", RLP.encode(fields)]);\n}\n\nfunction _serializeEip2930(transaction: UnsignedTransaction, signature?: SignatureLike): string {\n const fields: any = [\n formatNumber(transaction.chainId || 0, \"chainId\"),\n formatNumber(transaction.nonce || 0, \"nonce\"),\n formatNumber(transaction.gasPrice || 0, \"gasPrice\"),\n formatNumber(transaction.gasLimit || 0, \"gasLimit\"),\n ((transaction.to != null) ? getAddress(transaction.to): \"0x\"),\n formatNumber(transaction.value || 0, \"value\"),\n (transaction.data || \"0x\"),\n (formatAccessList(transaction.accessList || []))\n ];\n\n if (signature) {\n const sig = splitSignature(signature);\n fields.push(formatNumber(sig.recoveryParam, \"recoveryParam\"));\n fields.push(stripZeros(sig.r));\n fields.push(stripZeros(sig.s));\n }\n\n return hexConcat([ \"0x01\", RLP.encode(fields)]);\n}\n\n// Legacy Transactions and EIP-155\nfunction _serialize(transaction: UnsignedTransaction, signature?: SignatureLike): string {\n checkProperties(transaction, allowedTransactionKeys);\n\n const raw: Array = [];\n\n transactionFields.forEach(function(fieldInfo) {\n let value = (transaction)[fieldInfo.name] || ([]);\n const options: DataOptions = { };\n if (fieldInfo.numeric) { options.hexPad = \"left\"; }\n value = arrayify(hexlify(value, options));\n\n // Fixed-width field\n if (fieldInfo.length && value.length !== fieldInfo.length && value.length > 0) {\n logger.throwArgumentError(\"invalid length for \" + fieldInfo.name, (\"transaction:\" + fieldInfo.name), value);\n }\n\n // Variable-width (with a maximum)\n if (fieldInfo.maxLength) {\n value = stripZeros(value);\n if (value.length > fieldInfo.maxLength) {\n logger.throwArgumentError(\"invalid length for \" + fieldInfo.name, (\"transaction:\" + fieldInfo.name), value );\n }\n }\n\n raw.push(hexlify(value));\n });\n\n let chainId = 0;\n if (transaction.chainId != null) {\n // A chainId was provided; if non-zero we'll use EIP-155\n chainId = transaction.chainId;\n\n if (typeof(chainId) !== \"number\") {\n logger.throwArgumentError(\"invalid transaction.chainId\", \"transaction\", transaction);\n }\n\n } else if (signature && !isBytesLike(signature) && signature.v > 28) {\n // No chainId provided, but the signature is signing with EIP-155; derive chainId\n chainId = Math.floor((signature.v - 35) / 2);\n }\n\n // We have an EIP-155 transaction (chainId was specified and non-zero)\n if (chainId !== 0) {\n raw.push(hexlify(chainId)); // @TODO: hexValue?\n raw.push(\"0x\");\n raw.push(\"0x\");\n }\n\n // Requesting an unsigned transaction\n if (!signature) {\n return RLP.encode(raw);\n }\n\n // The splitSignature will ensure the transaction has a recoveryParam in the\n // case that the signTransaction function only adds a v.\n const sig = splitSignature(signature);\n\n // We pushed a chainId and null r, s on for hashing only; remove those\n let v = 27 + sig.recoveryParam\n if (chainId !== 0) {\n raw.pop();\n raw.pop();\n raw.pop();\n v += chainId * 2 + 8;\n\n // If an EIP-155 v (directly or indirectly; maybe _vs) was provided, check it!\n if (sig.v > 28 && sig.v !== v) {\n logger.throwArgumentError(\"transaction.chainId/signature.v mismatch\", \"signature\", signature);\n }\n } else if (sig.v !== v) {\n logger.throwArgumentError(\"transaction.chainId/signature.v mismatch\", \"signature\", signature);\n }\n\n raw.push(hexlify(v));\n raw.push(stripZeros(arrayify(sig.r)));\n raw.push(stripZeros(arrayify(sig.s)));\n\n return RLP.encode(raw);\n}\n\nexport function serialize(transaction: UnsignedTransaction, signature?: SignatureLike): string {\n // Legacy and EIP-155 Transactions\n if (transaction.type == null || transaction.type === 0) {\n if (transaction.accessList != null) {\n logger.throwArgumentError(\"untyped transactions do not support accessList; include type: 1\", \"transaction\", transaction);\n }\n return _serialize(transaction, signature);\n }\n\n // Typed Transactions (EIP-2718)\n switch (transaction.type) {\n case 1:\n return _serializeEip2930(transaction, signature);\n case 2:\n return _serializeEip1559(transaction, signature);\n default:\n break;\n }\n\n return logger.throwError(`unsupported transaction type: ${ transaction.type }`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"serializeTransaction\",\n transactionType: transaction.type\n });\n}\n\nfunction _parseEipSignature(tx: Transaction, fields: Array, serialize: (tx: UnsignedTransaction) => string): void {\n try {\n const recid = handleNumber(fields[0]).toNumber();\n if (recid !== 0 && recid !== 1) { throw new Error(\"bad recid\"); }\n tx.v = recid;\n } catch (error) {\n logger.throwArgumentError(\"invalid v for transaction type: 1\", \"v\", fields[0]);\n }\n\n tx.r = hexZeroPad(fields[1], 32);\n tx.s = hexZeroPad(fields[2], 32);\n\n try {\n const digest = keccak256(serialize(tx));\n tx.from = recoverAddress(digest, { r: tx.r, s: tx.s, recoveryParam: tx.v });\n } catch (error) { }\n}\n\nfunction _parseEip1559(payload: Uint8Array): Transaction {\n const transaction = RLP.decode(payload.slice(1));\n\n if (transaction.length !== 9 && transaction.length !== 12) {\n logger.throwArgumentError(\"invalid component count for transaction type: 2\", \"payload\", hexlify(payload));\n }\n\n const maxPriorityFeePerGas = handleNumber(transaction[2]);\n const maxFeePerGas = handleNumber(transaction[3]);\n const tx: Transaction = {\n type: 2,\n chainId: handleNumber(transaction[0]).toNumber(),\n nonce: handleNumber(transaction[1]).toNumber(),\n maxPriorityFeePerGas: maxPriorityFeePerGas,\n maxFeePerGas: maxFeePerGas,\n gasPrice: null,\n gasLimit: handleNumber(transaction[4]),\n to: handleAddress(transaction[5]),\n value: handleNumber(transaction[6]),\n data: transaction[7],\n accessList: accessListify(transaction[8]),\n };\n\n // Unsigned EIP-1559 Transaction\n if (transaction.length === 9) { return tx; }\n\n tx.hash = keccak256(payload);\n\n _parseEipSignature(tx, transaction.slice(9), _serializeEip1559);\n\n return tx;\n}\n\nfunction _parseEip2930(payload: Uint8Array): Transaction {\n const transaction = RLP.decode(payload.slice(1));\n\n if (transaction.length !== 8 && transaction.length !== 11) {\n logger.throwArgumentError(\"invalid component count for transaction type: 1\", \"payload\", hexlify(payload));\n }\n\n const tx: Transaction = {\n type: 1,\n chainId: handleNumber(transaction[0]).toNumber(),\n nonce: handleNumber(transaction[1]).toNumber(),\n gasPrice: handleNumber(transaction[2]),\n gasLimit: handleNumber(transaction[3]),\n to: handleAddress(transaction[4]),\n value: handleNumber(transaction[5]),\n data: transaction[6],\n accessList: accessListify(transaction[7])\n };\n\n // Unsigned EIP-2930 Transaction\n if (transaction.length === 8) { return tx; }\n\n tx.hash = keccak256(payload);\n\n _parseEipSignature(tx, transaction.slice(8), _serializeEip2930);\n\n return tx;\n}\n\n// Legacy Transactions and EIP-155\nfunction _parse(rawTransaction: Uint8Array): Transaction {\n const transaction = RLP.decode(rawTransaction);\n\n if (transaction.length !== 9 && transaction.length !== 6) {\n logger.throwArgumentError(\"invalid raw transaction\", \"rawTransaction\", rawTransaction);\n }\n\n const tx: Transaction = {\n nonce: handleNumber(transaction[0]).toNumber(),\n gasPrice: handleNumber(transaction[1]),\n gasLimit: handleNumber(transaction[2]),\n to: handleAddress(transaction[3]),\n value: handleNumber(transaction[4]),\n data: transaction[5],\n chainId: 0\n };\n\n // Legacy unsigned transaction\n if (transaction.length === 6) { return tx; }\n\n try {\n tx.v = BigNumber.from(transaction[6]).toNumber();\n\n } catch (error) {\n // @TODO: What makes snese to do? The v is too big\n return tx;\n }\n\n tx.r = hexZeroPad(transaction[7], 32);\n tx.s = hexZeroPad(transaction[8], 32);\n\n if (BigNumber.from(tx.r).isZero() && BigNumber.from(tx.s).isZero()) {\n // EIP-155 unsigned transaction\n tx.chainId = tx.v;\n tx.v = 0;\n\n } else {\n // Signed Transaction\n\n tx.chainId = Math.floor((tx.v - 35) / 2);\n if (tx.chainId < 0) { tx.chainId = 0; }\n\n let recoveryParam = tx.v - 27;\n\n const raw = transaction.slice(0, 6);\n\n if (tx.chainId !== 0) {\n raw.push(hexlify(tx.chainId));\n raw.push(\"0x\");\n raw.push(\"0x\");\n recoveryParam -= tx.chainId * 2 + 8;\n }\n\n const digest = keccak256(RLP.encode(raw));\n try {\n tx.from = recoverAddress(digest, { r: hexlify(tx.r), s: hexlify(tx.s), recoveryParam: recoveryParam });\n } catch (error) { }\n\n tx.hash = keccak256(rawTransaction);\n }\n\n tx.type = null;\n\n return tx;\n}\n\n\nexport function parse(rawTransaction: BytesLike): Transaction {\n const payload = arrayify(rawTransaction);\n\n // Legacy and EIP-155 Transactions\n if (payload[0] > 0x7f) { return _parse(payload); }\n\n // Typed Transaction (EIP-2718)\n switch (payload[0]) {\n case 1:\n return _parseEip2930(payload);\n case 2:\n return _parseEip1559(payload);\n default:\n break;\n }\n\n return logger.throwError(`unsupported transaction type: ${ payload[0] }`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"parseTransaction\",\n transactionType: payload[0]\n });\n}\n\n","\"use strict\";\nimport { EC } from \"./elliptic\";\nimport { arrayify, hexDataLength, hexlify, hexZeroPad, splitSignature } from \"@ethersproject/bytes\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nlet _curve = null;\nfunction getCurve() {\n if (!_curve) {\n _curve = new EC(\"secp256k1\");\n }\n return _curve;\n}\nexport class SigningKey {\n constructor(privateKey) {\n defineReadOnly(this, \"curve\", \"secp256k1\");\n defineReadOnly(this, \"privateKey\", hexlify(privateKey));\n if (hexDataLength(this.privateKey) !== 32) {\n logger.throwArgumentError(\"invalid private key\", \"privateKey\", \"[[ REDACTED ]]\");\n }\n const keyPair = getCurve().keyFromPrivate(arrayify(this.privateKey));\n defineReadOnly(this, \"publicKey\", \"0x\" + keyPair.getPublic(false, \"hex\"));\n defineReadOnly(this, \"compressedPublicKey\", \"0x\" + keyPair.getPublic(true, \"hex\"));\n defineReadOnly(this, \"_isSigningKey\", true);\n }\n _addPoint(other) {\n const p0 = getCurve().keyFromPublic(arrayify(this.publicKey));\n const p1 = getCurve().keyFromPublic(arrayify(other));\n return \"0x\" + p0.pub.add(p1.pub).encodeCompressed(\"hex\");\n }\n signDigest(digest) {\n const keyPair = getCurve().keyFromPrivate(arrayify(this.privateKey));\n const digestBytes = arrayify(digest);\n if (digestBytes.length !== 32) {\n logger.throwArgumentError(\"bad digest length\", \"digest\", digest);\n }\n const signature = keyPair.sign(digestBytes, { canonical: true });\n return splitSignature({\n recoveryParam: signature.recoveryParam,\n r: hexZeroPad(\"0x\" + signature.r.toString(16), 32),\n s: hexZeroPad(\"0x\" + signature.s.toString(16), 32),\n });\n }\n computeSharedSecret(otherKey) {\n const keyPair = getCurve().keyFromPrivate(arrayify(this.privateKey));\n const otherKeyPair = getCurve().keyFromPublic(arrayify(computePublicKey(otherKey)));\n return hexZeroPad(\"0x\" + keyPair.derive(otherKeyPair.getPublic()).toString(16), 32);\n }\n static isSigningKey(value) {\n return !!(value && value._isSigningKey);\n }\n}\nexport function recoverPublicKey(digest, signature) {\n const sig = splitSignature(signature);\n const rs = { r: arrayify(sig.r), s: arrayify(sig.s) };\n return \"0x\" + getCurve().recoverPubKey(arrayify(digest), rs, sig.recoveryParam).encode(\"hex\", false);\n}\nexport function computePublicKey(key, compressed) {\n const bytes = arrayify(key);\n if (bytes.length === 32) {\n const signingKey = new SigningKey(bytes);\n if (compressed) {\n return \"0x\" + getCurve().keyFromPrivate(bytes).getPublic(true, \"hex\");\n }\n return signingKey.publicKey;\n }\n else if (bytes.length === 33) {\n if (compressed) {\n return hexlify(bytes);\n }\n return \"0x\" + getCurve().keyFromPublic(bytes).getPublic(false, \"hex\");\n }\n else if (bytes.length === 65) {\n if (!compressed) {\n return hexlify(bytes);\n }\n return \"0x\" + getCurve().keyFromPublic(bytes).getPublic(true, \"hex\");\n }\n return logger.throwArgumentError(\"invalid public or private key\", \"key\", \"[REDACTED]\");\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { EC } from \"./elliptic\";\n\nimport { arrayify, BytesLike, hexDataLength, hexlify, hexZeroPad, Signature, SignatureLike, splitSignature } from \"@ethersproject/bytes\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nlet _curve: EC = null\nfunction getCurve() {\n if (!_curve) {\n _curve = new EC(\"secp256k1\");\n }\n return _curve;\n}\n\nexport class SigningKey {\n\n readonly curve: string;\n\n readonly privateKey: string;\n readonly publicKey: string;\n readonly compressedPublicKey: string;\n\n //readonly address: string;\n\n readonly _isSigningKey: boolean;\n\n constructor(privateKey: BytesLike) {\n defineReadOnly(this, \"curve\", \"secp256k1\");\n\n defineReadOnly(this, \"privateKey\", hexlify(privateKey));\n if (hexDataLength(this.privateKey) !== 32) {\n logger.throwArgumentError(\"invalid private key\", \"privateKey\", \"[[ REDACTED ]]\");\n }\n\n const keyPair = getCurve().keyFromPrivate(arrayify(this.privateKey));\n\n defineReadOnly(this, \"publicKey\", \"0x\" + keyPair.getPublic(false, \"hex\"));\n defineReadOnly(this, \"compressedPublicKey\", \"0x\" + keyPair.getPublic(true, \"hex\"));\n\n defineReadOnly(this, \"_isSigningKey\", true);\n }\n\n _addPoint(other: BytesLike): string {\n const p0 = getCurve().keyFromPublic(arrayify(this.publicKey));\n const p1 = getCurve().keyFromPublic(arrayify(other));\n return \"0x\" + p0.pub.add(p1.pub).encodeCompressed(\"hex\");\n }\n\n signDigest(digest: BytesLike): Signature {\n const keyPair = getCurve().keyFromPrivate(arrayify(this.privateKey));\n const digestBytes = arrayify(digest);\n if (digestBytes.length !== 32) {\n logger.throwArgumentError(\"bad digest length\", \"digest\", digest);\n }\n const signature = keyPair.sign(digestBytes, { canonical: true });\n return splitSignature({\n recoveryParam: signature.recoveryParam,\n r: hexZeroPad(\"0x\" + signature.r.toString(16), 32),\n s: hexZeroPad(\"0x\" + signature.s.toString(16), 32),\n })\n }\n\n computeSharedSecret(otherKey: BytesLike): string {\n const keyPair = getCurve().keyFromPrivate(arrayify(this.privateKey));\n const otherKeyPair = getCurve().keyFromPublic(arrayify(computePublicKey(otherKey)));\n return hexZeroPad(\"0x\" + keyPair.derive(otherKeyPair.getPublic()).toString(16), 32);\n }\n\n static isSigningKey(value: any): value is SigningKey {\n return !!(value && value._isSigningKey);\n }\n}\n\nexport function recoverPublicKey(digest: BytesLike, signature: SignatureLike): string {\n const sig = splitSignature(signature);\n const rs = { r: arrayify(sig.r), s: arrayify(sig.s) };\n return \"0x\" + getCurve().recoverPubKey(arrayify(digest), rs, sig.recoveryParam).encode(\"hex\", false);\n}\n\nexport function computePublicKey(key: BytesLike, compressed?: boolean): string {\n const bytes = arrayify(key);\n\n if (bytes.length === 32) {\n const signingKey = new SigningKey(bytes);\n if (compressed) {\n return \"0x\" + getCurve().keyFromPrivate(bytes).getPublic(true, \"hex\");\n }\n return signingKey.publicKey;\n\n } else if (bytes.length === 33) {\n if (compressed) { return hexlify(bytes); }\n return \"0x\" + getCurve().keyFromPublic(bytes).getPublic(false, \"hex\");\n\n } else if (bytes.length === 65) {\n if (!compressed) { return hexlify(bytes); }\n return \"0x\" + getCurve().keyFromPublic(bytes).getPublic(true, \"hex\");\n }\n\n return logger.throwArgumentError(\"invalid public or private key\", \"key\", \"[REDACTED]\");\n}\n\n","import _ec from \"elliptic\";\nvar EC = _ec.ec;\nexport { EC };\n//# sourceMappingURL=elliptic.js.map","module.exports = assert;\n\nfunction assert(val, msg) {\n if (!val)\n throw new Error(msg || 'Assertion failed');\n}\n\nassert.equal = function assertEqual(l, r, msg) {\n if (l != r)\n throw new Error(msg || ('Assertion failed: ' + l + ' != ' + r));\n};\n","'use strict';\n\nvar utils = exports;\n\nfunction toArray(msg, enc) {\n if (Array.isArray(msg))\n return msg.slice();\n if (!msg)\n return [];\n var res = [];\n if (typeof msg !== 'string') {\n for (var i = 0; i < msg.length; i++)\n res[i] = msg[i] | 0;\n return res;\n }\n if (enc === 'hex') {\n msg = msg.replace(/[^a-z0-9]+/ig, '');\n if (msg.length % 2 !== 0)\n msg = '0' + msg;\n for (var i = 0; i < msg.length; i += 2)\n res.push(parseInt(msg[i] + msg[i + 1], 16));\n } else {\n for (var i = 0; i < msg.length; i++) {\n var c = msg.charCodeAt(i);\n var hi = c >> 8;\n var lo = c & 0xff;\n if (hi)\n res.push(hi, lo);\n else\n res.push(lo);\n }\n }\n return res;\n}\nutils.toArray = toArray;\n\nfunction zero2(word) {\n if (word.length === 1)\n return '0' + word;\n else\n return word;\n}\nutils.zero2 = zero2;\n\nfunction toHex(msg) {\n var res = '';\n for (var i = 0; i < msg.length; i++)\n res += zero2(msg[i].toString(16));\n return res;\n}\nutils.toHex = toHex;\n\nutils.encode = function encode(arr, enc) {\n if (enc === 'hex')\n return toHex(arr);\n else\n return arr;\n};\n","'use strict';\n\nvar utils = exports;\nvar BN = require('bn.js');\nvar minAssert = require('minimalistic-assert');\nvar minUtils = require('minimalistic-crypto-utils');\n\nutils.assert = minAssert;\nutils.toArray = minUtils.toArray;\nutils.zero2 = minUtils.zero2;\nutils.toHex = minUtils.toHex;\nutils.encode = minUtils.encode;\n\n// Represent num in a w-NAF form\nfunction getNAF(num, w, bits) {\n var naf = new Array(Math.max(num.bitLength(), bits) + 1);\n naf.fill(0);\n\n var ws = 1 << (w + 1);\n var k = num.clone();\n\n for (var i = 0; i < naf.length; i++) {\n var z;\n var mod = k.andln(ws - 1);\n if (k.isOdd()) {\n if (mod > (ws >> 1) - 1)\n z = (ws >> 1) - mod;\n else\n z = mod;\n k.isubn(z);\n } else {\n z = 0;\n }\n\n naf[i] = z;\n k.iushrn(1);\n }\n\n return naf;\n}\nutils.getNAF = getNAF;\n\n// Represent k1, k2 in a Joint Sparse Form\nfunction getJSF(k1, k2) {\n var jsf = [\n [],\n [],\n ];\n\n k1 = k1.clone();\n k2 = k2.clone();\n var d1 = 0;\n var d2 = 0;\n var m8;\n while (k1.cmpn(-d1) > 0 || k2.cmpn(-d2) > 0) {\n // First phase\n var m14 = (k1.andln(3) + d1) & 3;\n var m24 = (k2.andln(3) + d2) & 3;\n if (m14 === 3)\n m14 = -1;\n if (m24 === 3)\n m24 = -1;\n var u1;\n if ((m14 & 1) === 0) {\n u1 = 0;\n } else {\n m8 = (k1.andln(7) + d1) & 7;\n if ((m8 === 3 || m8 === 5) && m24 === 2)\n u1 = -m14;\n else\n u1 = m14;\n }\n jsf[0].push(u1);\n\n var u2;\n if ((m24 & 1) === 0) {\n u2 = 0;\n } else {\n m8 = (k2.andln(7) + d2) & 7;\n if ((m8 === 3 || m8 === 5) && m14 === 2)\n u2 = -m24;\n else\n u2 = m24;\n }\n jsf[1].push(u2);\n\n // Second phase\n if (2 * d1 === u1 + 1)\n d1 = 1 - d1;\n if (2 * d2 === u2 + 1)\n d2 = 1 - d2;\n k1.iushrn(1);\n k2.iushrn(1);\n }\n\n return jsf;\n}\nutils.getJSF = getJSF;\n\nfunction cachedProperty(obj, name, computer) {\n var key = '_' + name;\n obj.prototype[name] = function cachedProperty() {\n return this[key] !== undefined ? this[key] :\n this[key] = computer.call(this);\n };\n}\nutils.cachedProperty = cachedProperty;\n\nfunction parseBytes(bytes) {\n return typeof bytes === 'string' ? utils.toArray(bytes, 'hex') :\n bytes;\n}\nutils.parseBytes = parseBytes;\n\nfunction intFromLE(bytes) {\n return new BN(bytes, 'hex', 'le');\n}\nutils.intFromLE = intFromLE;\n\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar getNAF = utils.getNAF;\nvar getJSF = utils.getJSF;\nvar assert = utils.assert;\n\nfunction BaseCurve(type, conf) {\n this.type = type;\n this.p = new BN(conf.p, 16);\n\n // Use Montgomery, when there is no fast reduction for the prime\n this.red = conf.prime ? BN.red(conf.prime) : BN.mont(this.p);\n\n // Useful for many curves\n this.zero = new BN(0).toRed(this.red);\n this.one = new BN(1).toRed(this.red);\n this.two = new BN(2).toRed(this.red);\n\n // Curve configuration, optional\n this.n = conf.n && new BN(conf.n, 16);\n this.g = conf.g && this.pointFromJSON(conf.g, conf.gRed);\n\n // Temporary arrays\n this._wnafT1 = new Array(4);\n this._wnafT2 = new Array(4);\n this._wnafT3 = new Array(4);\n this._wnafT4 = new Array(4);\n\n this._bitLength = this.n ? this.n.bitLength() : 0;\n\n // Generalized Greg Maxwell's trick\n var adjustCount = this.n && this.p.div(this.n);\n if (!adjustCount || adjustCount.cmpn(100) > 0) {\n this.redN = null;\n } else {\n this._maxwellTrick = true;\n this.redN = this.n.toRed(this.red);\n }\n}\nmodule.exports = BaseCurve;\n\nBaseCurve.prototype.point = function point() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype.validate = function validate() {\n throw new Error('Not implemented');\n};\n\nBaseCurve.prototype._fixedNafMul = function _fixedNafMul(p, k) {\n assert(p.precomputed);\n var doubles = p._getDoubles();\n\n var naf = getNAF(k, 1, this._bitLength);\n var I = (1 << (doubles.step + 1)) - (doubles.step % 2 === 0 ? 2 : 1);\n I /= 3;\n\n // Translate into more windowed form\n var repr = [];\n var j;\n var nafW;\n for (j = 0; j < naf.length; j += doubles.step) {\n nafW = 0;\n for (var l = j + doubles.step - 1; l >= j; l--)\n nafW = (nafW << 1) + naf[l];\n repr.push(nafW);\n }\n\n var a = this.jpoint(null, null, null);\n var b = this.jpoint(null, null, null);\n for (var i = I; i > 0; i--) {\n for (j = 0; j < repr.length; j++) {\n nafW = repr[j];\n if (nafW === i)\n b = b.mixedAdd(doubles.points[j]);\n else if (nafW === -i)\n b = b.mixedAdd(doubles.points[j].neg());\n }\n a = a.add(b);\n }\n return a.toP();\n};\n\nBaseCurve.prototype._wnafMul = function _wnafMul(p, k) {\n var w = 4;\n\n // Precompute window\n var nafPoints = p._getNAFPoints(w);\n w = nafPoints.wnd;\n var wnd = nafPoints.points;\n\n // Get NAF form\n var naf = getNAF(k, w, this._bitLength);\n\n // Add `this`*(N+1) for every w-NAF index\n var acc = this.jpoint(null, null, null);\n for (var i = naf.length - 1; i >= 0; i--) {\n // Count zeroes\n for (var l = 0; i >= 0 && naf[i] === 0; i--)\n l++;\n if (i >= 0)\n l++;\n acc = acc.dblp(l);\n\n if (i < 0)\n break;\n var z = naf[i];\n assert(z !== 0);\n if (p.type === 'affine') {\n // J +- P\n if (z > 0)\n acc = acc.mixedAdd(wnd[(z - 1) >> 1]);\n else\n acc = acc.mixedAdd(wnd[(-z - 1) >> 1].neg());\n } else {\n // J +- J\n if (z > 0)\n acc = acc.add(wnd[(z - 1) >> 1]);\n else\n acc = acc.add(wnd[(-z - 1) >> 1].neg());\n }\n }\n return p.type === 'affine' ? acc.toP() : acc;\n};\n\nBaseCurve.prototype._wnafMulAdd = function _wnafMulAdd(defW,\n points,\n coeffs,\n len,\n jacobianResult) {\n var wndWidth = this._wnafT1;\n var wnd = this._wnafT2;\n var naf = this._wnafT3;\n\n // Fill all arrays\n var max = 0;\n var i;\n var j;\n var p;\n for (i = 0; i < len; i++) {\n p = points[i];\n var nafPoints = p._getNAFPoints(defW);\n wndWidth[i] = nafPoints.wnd;\n wnd[i] = nafPoints.points;\n }\n\n // Comb small window NAFs\n for (i = len - 1; i >= 1; i -= 2) {\n var a = i - 1;\n var b = i;\n if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {\n naf[a] = getNAF(coeffs[a], wndWidth[a], this._bitLength);\n naf[b] = getNAF(coeffs[b], wndWidth[b], this._bitLength);\n max = Math.max(naf[a].length, max);\n max = Math.max(naf[b].length, max);\n continue;\n }\n\n var comb = [\n points[a], /* 1 */\n null, /* 3 */\n null, /* 5 */\n points[b], /* 7 */\n ];\n\n // Try to avoid Projective points, if possible\n if (points[a].y.cmp(points[b].y) === 0) {\n comb[1] = points[a].add(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n } else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].add(points[b].neg());\n } else {\n comb[1] = points[a].toJ().mixedAdd(points[b]);\n comb[2] = points[a].toJ().mixedAdd(points[b].neg());\n }\n\n var index = [\n -3, /* -1 -1 */\n -1, /* -1 0 */\n -5, /* -1 1 */\n -7, /* 0 -1 */\n 0, /* 0 0 */\n 7, /* 0 1 */\n 5, /* 1 -1 */\n 1, /* 1 0 */\n 3, /* 1 1 */\n ];\n\n var jsf = getJSF(coeffs[a], coeffs[b]);\n max = Math.max(jsf[0].length, max);\n naf[a] = new Array(max);\n naf[b] = new Array(max);\n for (j = 0; j < max; j++) {\n var ja = jsf[0][j] | 0;\n var jb = jsf[1][j] | 0;\n\n naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];\n naf[b][j] = 0;\n wnd[a] = comb;\n }\n }\n\n var acc = this.jpoint(null, null, null);\n var tmp = this._wnafT4;\n for (i = max; i >= 0; i--) {\n var k = 0;\n\n while (i >= 0) {\n var zero = true;\n for (j = 0; j < len; j++) {\n tmp[j] = naf[j][i] | 0;\n if (tmp[j] !== 0)\n zero = false;\n }\n if (!zero)\n break;\n k++;\n i--;\n }\n if (i >= 0)\n k++;\n acc = acc.dblp(k);\n if (i < 0)\n break;\n\n for (j = 0; j < len; j++) {\n var z = tmp[j];\n p;\n if (z === 0)\n continue;\n else if (z > 0)\n p = wnd[j][(z - 1) >> 1];\n else if (z < 0)\n p = wnd[j][(-z - 1) >> 1].neg();\n\n if (p.type === 'affine')\n acc = acc.mixedAdd(p);\n else\n acc = acc.add(p);\n }\n }\n // Zeroify references\n for (i = 0; i < len; i++)\n wnd[i] = null;\n\n if (jacobianResult)\n return acc;\n else\n return acc.toP();\n};\n\nfunction BasePoint(curve, type) {\n this.curve = curve;\n this.type = type;\n this.precomputed = null;\n}\nBaseCurve.BasePoint = BasePoint;\n\nBasePoint.prototype.eq = function eq(/*other*/) {\n throw new Error('Not implemented');\n};\n\nBasePoint.prototype.validate = function validate() {\n return this.curve.validate(this);\n};\n\nBaseCurve.prototype.decodePoint = function decodePoint(bytes, enc) {\n bytes = utils.toArray(bytes, enc);\n\n var len = this.p.byteLength();\n\n // uncompressed, hybrid-odd, hybrid-even\n if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&\n bytes.length - 1 === 2 * len) {\n if (bytes[0] === 0x06)\n assert(bytes[bytes.length - 1] % 2 === 0);\n else if (bytes[0] === 0x07)\n assert(bytes[bytes.length - 1] % 2 === 1);\n\n var res = this.point(bytes.slice(1, 1 + len),\n bytes.slice(1 + len, 1 + 2 * len));\n\n return res;\n } else if ((bytes[0] === 0x02 || bytes[0] === 0x03) &&\n bytes.length - 1 === len) {\n return this.pointFromX(bytes.slice(1, 1 + len), bytes[0] === 0x03);\n }\n throw new Error('Unknown point format');\n};\n\nBasePoint.prototype.encodeCompressed = function encodeCompressed(enc) {\n return this.encode(enc, true);\n};\n\nBasePoint.prototype._encode = function _encode(compact) {\n var len = this.curve.p.byteLength();\n var x = this.getX().toArray('be', len);\n\n if (compact)\n return [ this.getY().isEven() ? 0x02 : 0x03 ].concat(x);\n\n return [ 0x04 ].concat(x, this.getY().toArray('be', len));\n};\n\nBasePoint.prototype.encode = function encode(enc, compact) {\n return utils.encode(this._encode(compact), enc);\n};\n\nBasePoint.prototype.precompute = function precompute(power) {\n if (this.precomputed)\n return this;\n\n var precomputed = {\n doubles: null,\n naf: null,\n beta: null,\n };\n precomputed.naf = this._getNAFPoints(8);\n precomputed.doubles = this._getDoubles(4, power);\n precomputed.beta = this._getBeta();\n this.precomputed = precomputed;\n\n return this;\n};\n\nBasePoint.prototype._hasDoubles = function _hasDoubles(k) {\n if (!this.precomputed)\n return false;\n\n var doubles = this.precomputed.doubles;\n if (!doubles)\n return false;\n\n return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);\n};\n\nBasePoint.prototype._getDoubles = function _getDoubles(step, power) {\n if (this.precomputed && this.precomputed.doubles)\n return this.precomputed.doubles;\n\n var doubles = [ this ];\n var acc = this;\n for (var i = 0; i < power; i += step) {\n for (var j = 0; j < step; j++)\n acc = acc.dbl();\n doubles.push(acc);\n }\n return {\n step: step,\n points: doubles,\n };\n};\n\nBasePoint.prototype._getNAFPoints = function _getNAFPoints(wnd) {\n if (this.precomputed && this.precomputed.naf)\n return this.precomputed.naf;\n\n var res = [ this ];\n var max = (1 << wnd) - 1;\n var dbl = max === 1 ? null : this.dbl();\n for (var i = 1; i < max; i++)\n res[i] = res[i - 1].add(dbl);\n return {\n wnd: wnd,\n points: res,\n };\n};\n\nBasePoint.prototype._getBeta = function _getBeta() {\n return null;\n};\n\nBasePoint.prototype.dblp = function dblp(k) {\n var r = this;\n for (var i = 0; i < k; i++)\n r = r.dbl();\n return r;\n};\n","if (typeof Object.create === 'function') {\n // implementation from standard node.js 'util' module\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n ctor.prototype = Object.create(superCtor.prototype, {\n constructor: {\n value: ctor,\n enumerable: false,\n writable: true,\n configurable: true\n }\n })\n }\n };\n} else {\n // old school shim for old browsers\n module.exports = function inherits(ctor, superCtor) {\n if (superCtor) {\n ctor.super_ = superCtor\n var TempCtor = function () {}\n TempCtor.prototype = superCtor.prototype\n ctor.prototype = new TempCtor()\n ctor.prototype.constructor = ctor\n }\n }\n}\n","'use strict';\n\nvar utils = require('../utils');\nvar BN = require('bn.js');\nvar inherits = require('inherits');\nvar Base = require('./base');\n\nvar assert = utils.assert;\n\nfunction ShortCurve(conf) {\n Base.call(this, 'short', conf);\n\n this.a = new BN(conf.a, 16).toRed(this.red);\n this.b = new BN(conf.b, 16).toRed(this.red);\n this.tinv = this.two.redInvm();\n\n this.zeroA = this.a.fromRed().cmpn(0) === 0;\n this.threeA = this.a.fromRed().sub(this.p).cmpn(-3) === 0;\n\n // If the curve is endomorphic, precalculate beta and lambda\n this.endo = this._getEndomorphism(conf);\n this._endoWnafT1 = new Array(4);\n this._endoWnafT2 = new Array(4);\n}\ninherits(ShortCurve, Base);\nmodule.exports = ShortCurve;\n\nShortCurve.prototype._getEndomorphism = function _getEndomorphism(conf) {\n // No efficient endomorphism\n if (!this.zeroA || !this.g || !this.n || this.p.modn(3) !== 1)\n return;\n\n // Compute beta and lambda, that lambda * P = (beta * Px; Py)\n var beta;\n var lambda;\n if (conf.beta) {\n beta = new BN(conf.beta, 16).toRed(this.red);\n } else {\n var betas = this._getEndoRoots(this.p);\n // Choose the smallest beta\n beta = betas[0].cmp(betas[1]) < 0 ? betas[0] : betas[1];\n beta = beta.toRed(this.red);\n }\n if (conf.lambda) {\n lambda = new BN(conf.lambda, 16);\n } else {\n // Choose the lambda that is matching selected beta\n var lambdas = this._getEndoRoots(this.n);\n if (this.g.mul(lambdas[0]).x.cmp(this.g.x.redMul(beta)) === 0) {\n lambda = lambdas[0];\n } else {\n lambda = lambdas[1];\n assert(this.g.mul(lambda).x.cmp(this.g.x.redMul(beta)) === 0);\n }\n }\n\n // Get basis vectors, used for balanced length-two representation\n var basis;\n if (conf.basis) {\n basis = conf.basis.map(function(vec) {\n return {\n a: new BN(vec.a, 16),\n b: new BN(vec.b, 16),\n };\n });\n } else {\n basis = this._getEndoBasis(lambda);\n }\n\n return {\n beta: beta,\n lambda: lambda,\n basis: basis,\n };\n};\n\nShortCurve.prototype._getEndoRoots = function _getEndoRoots(num) {\n // Find roots of for x^2 + x + 1 in F\n // Root = (-1 +- Sqrt(-3)) / 2\n //\n var red = num === this.p ? this.red : BN.mont(num);\n var tinv = new BN(2).toRed(red).redInvm();\n var ntinv = tinv.redNeg();\n\n var s = new BN(3).toRed(red).redNeg().redSqrt().redMul(tinv);\n\n var l1 = ntinv.redAdd(s).fromRed();\n var l2 = ntinv.redSub(s).fromRed();\n return [ l1, l2 ];\n};\n\nShortCurve.prototype._getEndoBasis = function _getEndoBasis(lambda) {\n // aprxSqrt >= sqrt(this.n)\n var aprxSqrt = this.n.ushrn(Math.floor(this.n.bitLength() / 2));\n\n // 3.74\n // Run EGCD, until r(L + 1) < aprxSqrt\n var u = lambda;\n var v = this.n.clone();\n var x1 = new BN(1);\n var y1 = new BN(0);\n var x2 = new BN(0);\n var y2 = new BN(1);\n\n // NOTE: all vectors are roots of: a + b * lambda = 0 (mod n)\n var a0;\n var b0;\n // First vector\n var a1;\n var b1;\n // Second vector\n var a2;\n var b2;\n\n var prevR;\n var i = 0;\n var r;\n var x;\n while (u.cmpn(0) !== 0) {\n var q = v.div(u);\n r = v.sub(q.mul(u));\n x = x2.sub(q.mul(x1));\n var y = y2.sub(q.mul(y1));\n\n if (!a1 && r.cmp(aprxSqrt) < 0) {\n a0 = prevR.neg();\n b0 = x1;\n a1 = r.neg();\n b1 = x;\n } else if (a1 && ++i === 2) {\n break;\n }\n prevR = r;\n\n v = u;\n u = r;\n x2 = x1;\n x1 = x;\n y2 = y1;\n y1 = y;\n }\n a2 = r.neg();\n b2 = x;\n\n var len1 = a1.sqr().add(b1.sqr());\n var len2 = a2.sqr().add(b2.sqr());\n if (len2.cmp(len1) >= 0) {\n a2 = a0;\n b2 = b0;\n }\n\n // Normalize signs\n if (a1.negative) {\n a1 = a1.neg();\n b1 = b1.neg();\n }\n if (a2.negative) {\n a2 = a2.neg();\n b2 = b2.neg();\n }\n\n return [\n { a: a1, b: b1 },\n { a: a2, b: b2 },\n ];\n};\n\nShortCurve.prototype._endoSplit = function _endoSplit(k) {\n var basis = this.endo.basis;\n var v1 = basis[0];\n var v2 = basis[1];\n\n var c1 = v2.b.mul(k).divRound(this.n);\n var c2 = v1.b.neg().mul(k).divRound(this.n);\n\n var p1 = c1.mul(v1.a);\n var p2 = c2.mul(v2.a);\n var q1 = c1.mul(v1.b);\n var q2 = c2.mul(v2.b);\n\n // Calculate answer\n var k1 = k.sub(p1).sub(p2);\n var k2 = q1.add(q2).neg();\n return { k1: k1, k2: k2 };\n};\n\nShortCurve.prototype.pointFromX = function pointFromX(x, odd) {\n x = new BN(x, 16);\n if (!x.red)\n x = x.toRed(this.red);\n\n var y2 = x.redSqr().redMul(x).redIAdd(x.redMul(this.a)).redIAdd(this.b);\n var y = y2.redSqrt();\n if (y.redSqr().redSub(y2).cmp(this.zero) !== 0)\n throw new Error('invalid point');\n\n // XXX Is there any way to tell if the number is odd without converting it\n // to non-red form?\n var isOdd = y.fromRed().isOdd();\n if (odd && !isOdd || !odd && isOdd)\n y = y.redNeg();\n\n return this.point(x, y);\n};\n\nShortCurve.prototype.validate = function validate(point) {\n if (point.inf)\n return true;\n\n var x = point.x;\n var y = point.y;\n\n var ax = this.a.redMul(x);\n var rhs = x.redSqr().redMul(x).redIAdd(ax).redIAdd(this.b);\n return y.redSqr().redISub(rhs).cmpn(0) === 0;\n};\n\nShortCurve.prototype._endoWnafMulAdd =\n function _endoWnafMulAdd(points, coeffs, jacobianResult) {\n var npoints = this._endoWnafT1;\n var ncoeffs = this._endoWnafT2;\n for (var i = 0; i < points.length; i++) {\n var split = this._endoSplit(coeffs[i]);\n var p = points[i];\n var beta = p._getBeta();\n\n if (split.k1.negative) {\n split.k1.ineg();\n p = p.neg(true);\n }\n if (split.k2.negative) {\n split.k2.ineg();\n beta = beta.neg(true);\n }\n\n npoints[i * 2] = p;\n npoints[i * 2 + 1] = beta;\n ncoeffs[i * 2] = split.k1;\n ncoeffs[i * 2 + 1] = split.k2;\n }\n var res = this._wnafMulAdd(1, npoints, ncoeffs, i * 2, jacobianResult);\n\n // Clean-up references to points and coefficients\n for (var j = 0; j < i * 2; j++) {\n npoints[j] = null;\n ncoeffs[j] = null;\n }\n return res;\n };\n\nfunction Point(curve, x, y, isRed) {\n Base.BasePoint.call(this, curve, 'affine');\n if (x === null && y === null) {\n this.x = null;\n this.y = null;\n this.inf = true;\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n // Force redgomery representation when loading from JSON\n if (isRed) {\n this.x.forceRed(this.curve.red);\n this.y.forceRed(this.curve.red);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n this.inf = false;\n }\n}\ninherits(Point, Base.BasePoint);\n\nShortCurve.prototype.point = function point(x, y, isRed) {\n return new Point(this, x, y, isRed);\n};\n\nShortCurve.prototype.pointFromJSON = function pointFromJSON(obj, red) {\n return Point.fromJSON(this, obj, red);\n};\n\nPoint.prototype._getBeta = function _getBeta() {\n if (!this.curve.endo)\n return;\n\n var pre = this.precomputed;\n if (pre && pre.beta)\n return pre.beta;\n\n var beta = this.curve.point(this.x.redMul(this.curve.endo.beta), this.y);\n if (pre) {\n var curve = this.curve;\n var endoMul = function(p) {\n return curve.point(p.x.redMul(curve.endo.beta), p.y);\n };\n pre.beta = beta;\n beta.precomputed = {\n beta: null,\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(endoMul),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(endoMul),\n },\n };\n }\n return beta;\n};\n\nPoint.prototype.toJSON = function toJSON() {\n if (!this.precomputed)\n return [ this.x, this.y ];\n\n return [ this.x, this.y, this.precomputed && {\n doubles: this.precomputed.doubles && {\n step: this.precomputed.doubles.step,\n points: this.precomputed.doubles.points.slice(1),\n },\n naf: this.precomputed.naf && {\n wnd: this.precomputed.naf.wnd,\n points: this.precomputed.naf.points.slice(1),\n },\n } ];\n};\n\nPoint.fromJSON = function fromJSON(curve, obj, red) {\n if (typeof obj === 'string')\n obj = JSON.parse(obj);\n var res = curve.point(obj[0], obj[1], red);\n if (!obj[2])\n return res;\n\n function obj2point(obj) {\n return curve.point(obj[0], obj[1], red);\n }\n\n var pre = obj[2];\n res.precomputed = {\n beta: null,\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: [ res ].concat(pre.doubles.points.map(obj2point)),\n },\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: [ res ].concat(pre.naf.points.map(obj2point)),\n },\n };\n return res;\n};\n\nPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nPoint.prototype.isInfinity = function isInfinity() {\n return this.inf;\n};\n\nPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.inf)\n return p;\n\n // P + O = P\n if (p.inf)\n return this;\n\n // P + P = 2P\n if (this.eq(p))\n return this.dbl();\n\n // P + (-P) = O\n if (this.neg().eq(p))\n return this.curve.point(null, null);\n\n // P + Q = O\n if (this.x.cmp(p.x) === 0)\n return this.curve.point(null, null);\n\n var c = this.y.redSub(p.y);\n if (c.cmpn(0) !== 0)\n c = c.redMul(this.x.redSub(p.x).redInvm());\n var nx = c.redSqr().redISub(this.x).redISub(p.x);\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.dbl = function dbl() {\n if (this.inf)\n return this;\n\n // 2P = O\n var ys1 = this.y.redAdd(this.y);\n if (ys1.cmpn(0) === 0)\n return this.curve.point(null, null);\n\n var a = this.curve.a;\n\n var x2 = this.x.redSqr();\n var dyinv = ys1.redInvm();\n var c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);\n\n var nx = c.redSqr().redISub(this.x.redAdd(this.x));\n var ny = c.redMul(this.x.redSub(nx)).redISub(this.y);\n return this.curve.point(nx, ny);\n};\n\nPoint.prototype.getX = function getX() {\n return this.x.fromRed();\n};\n\nPoint.prototype.getY = function getY() {\n return this.y.fromRed();\n};\n\nPoint.prototype.mul = function mul(k) {\n k = new BN(k, 16);\n if (this.isInfinity())\n return this;\n else if (this._hasDoubles(k))\n return this.curve._fixedNafMul(this, k);\n else if (this.curve.endo)\n return this.curve._endoWnafMulAdd([ this ], [ k ]);\n else\n return this.curve._wnafMul(this, k);\n};\n\nPoint.prototype.mulAdd = function mulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2);\n};\n\nPoint.prototype.jmulAdd = function jmulAdd(k1, p2, k2) {\n var points = [ this, p2 ];\n var coeffs = [ k1, k2 ];\n if (this.curve.endo)\n return this.curve._endoWnafMulAdd(points, coeffs, true);\n else\n return this.curve._wnafMulAdd(1, points, coeffs, 2, true);\n};\n\nPoint.prototype.eq = function eq(p) {\n return this === p ||\n this.inf === p.inf &&\n (this.inf || this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0);\n};\n\nPoint.prototype.neg = function neg(_precompute) {\n if (this.inf)\n return this;\n\n var res = this.curve.point(this.x, this.y.redNeg());\n if (_precompute && this.precomputed) {\n var pre = this.precomputed;\n var negate = function(p) {\n return p.neg();\n };\n res.precomputed = {\n naf: pre.naf && {\n wnd: pre.naf.wnd,\n points: pre.naf.points.map(negate),\n },\n doubles: pre.doubles && {\n step: pre.doubles.step,\n points: pre.doubles.points.map(negate),\n },\n };\n }\n return res;\n};\n\nPoint.prototype.toJ = function toJ() {\n if (this.inf)\n return this.curve.jpoint(null, null, null);\n\n var res = this.curve.jpoint(this.x, this.y, this.curve.one);\n return res;\n};\n\nfunction JPoint(curve, x, y, z) {\n Base.BasePoint.call(this, curve, 'jacobian');\n if (x === null && y === null && z === null) {\n this.x = this.curve.one;\n this.y = this.curve.one;\n this.z = new BN(0);\n } else {\n this.x = new BN(x, 16);\n this.y = new BN(y, 16);\n this.z = new BN(z, 16);\n }\n if (!this.x.red)\n this.x = this.x.toRed(this.curve.red);\n if (!this.y.red)\n this.y = this.y.toRed(this.curve.red);\n if (!this.z.red)\n this.z = this.z.toRed(this.curve.red);\n\n this.zOne = this.z === this.curve.one;\n}\ninherits(JPoint, Base.BasePoint);\n\nShortCurve.prototype.jpoint = function jpoint(x, y, z) {\n return new JPoint(this, x, y, z);\n};\n\nJPoint.prototype.toP = function toP() {\n if (this.isInfinity())\n return this.curve.point(null, null);\n\n var zinv = this.z.redInvm();\n var zinv2 = zinv.redSqr();\n var ax = this.x.redMul(zinv2);\n var ay = this.y.redMul(zinv2).redMul(zinv);\n\n return this.curve.point(ax, ay);\n};\n\nJPoint.prototype.neg = function neg() {\n return this.curve.jpoint(this.x, this.y.redNeg(), this.z);\n};\n\nJPoint.prototype.add = function add(p) {\n // O + P = P\n if (this.isInfinity())\n return p;\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 12M + 4S + 7A\n var pz2 = p.z.redSqr();\n var z2 = this.z.redSqr();\n var u1 = this.x.redMul(pz2);\n var u2 = p.x.redMul(z2);\n var s1 = this.y.redMul(pz2.redMul(p.z));\n var s2 = p.y.redMul(z2.redMul(this.z));\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(p.z).redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mixedAdd = function mixedAdd(p) {\n // O + P = P\n if (this.isInfinity())\n return p.toJ();\n\n // P + O = P\n if (p.isInfinity())\n return this;\n\n // 8M + 3S + 7A\n var z2 = this.z.redSqr();\n var u1 = this.x;\n var u2 = p.x.redMul(z2);\n var s1 = this.y;\n var s2 = p.y.redMul(z2).redMul(this.z);\n\n var h = u1.redSub(u2);\n var r = s1.redSub(s2);\n if (h.cmpn(0) === 0) {\n if (r.cmpn(0) !== 0)\n return this.curve.jpoint(null, null, null);\n else\n return this.dbl();\n }\n\n var h2 = h.redSqr();\n var h3 = h2.redMul(h);\n var v = u1.redMul(h2);\n\n var nx = r.redSqr().redIAdd(h3).redISub(v).redISub(v);\n var ny = r.redMul(v.redISub(nx)).redISub(s1.redMul(h3));\n var nz = this.z.redMul(h);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.dblp = function dblp(pow) {\n if (pow === 0)\n return this;\n if (this.isInfinity())\n return this;\n if (!pow)\n return this.dbl();\n\n var i;\n if (this.curve.zeroA || this.curve.threeA) {\n var r = this;\n for (i = 0; i < pow; i++)\n r = r.dbl();\n return r;\n }\n\n // 1M + 2S + 1A + N * (4S + 5M + 8A)\n // N = 1 => 6M + 6S + 9A\n var a = this.curve.a;\n var tinv = this.curve.tinv;\n\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n // Reuse results\n var jyd = jy.redAdd(jy);\n for (i = 0; i < pow; i++) {\n var jx2 = jx.redSqr();\n var jyd2 = jyd.redSqr();\n var jyd4 = jyd2.redSqr();\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var t1 = jx.redMul(jyd2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n var dny = c.redMul(t2);\n dny = dny.redIAdd(dny).redISub(jyd4);\n var nz = jyd.redMul(jz);\n if (i + 1 < pow)\n jz4 = jz4.redMul(jyd4);\n\n jx = nx;\n jz = nz;\n jyd = dny;\n }\n\n return this.curve.jpoint(jx, jyd.redMul(tinv), jz);\n};\n\nJPoint.prototype.dbl = function dbl() {\n if (this.isInfinity())\n return this;\n\n if (this.curve.zeroA)\n return this._zeroDbl();\n else if (this.curve.threeA)\n return this._threeDbl();\n else\n return this._dbl();\n};\n\nJPoint.prototype._zeroDbl = function _zeroDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 14A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // T = M ^ 2 - 2*S\n var t = m.redSqr().redISub(s).redISub(s);\n\n // 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2*Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html\n // #doubling-dbl-2009-l\n // 2M + 5S + 13A\n\n // A = X1^2\n var a = this.x.redSqr();\n // B = Y1^2\n var b = this.y.redSqr();\n // C = B^2\n var c = b.redSqr();\n // D = 2 * ((X1 + B)^2 - A - C)\n var d = this.x.redAdd(b).redSqr().redISub(a).redISub(c);\n d = d.redIAdd(d);\n // E = 3 * A\n var e = a.redAdd(a).redIAdd(a);\n // F = E^2\n var f = e.redSqr();\n\n // 8 * C\n var c8 = c.redIAdd(c);\n c8 = c8.redIAdd(c8);\n c8 = c8.redIAdd(c8);\n\n // X3 = F - 2 * D\n nx = f.redISub(d).redISub(d);\n // Y3 = E * (D - X3) - 8 * C\n ny = e.redMul(d.redISub(nx)).redISub(c8);\n // Z3 = 2 * Y1 * Z1\n nz = this.y.redMul(this.z);\n nz = nz.redIAdd(nz);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._threeDbl = function _threeDbl() {\n var nx;\n var ny;\n var nz;\n // Z = 1\n if (this.zOne) {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html\n // #doubling-mdbl-2007-bl\n // 1M + 5S + 15A\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // S = 2 * ((X1 + YY)^2 - XX - YYYY)\n var s = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n s = s.redIAdd(s);\n // M = 3 * XX + a\n var m = xx.redAdd(xx).redIAdd(xx).redIAdd(this.curve.a);\n // T = M^2 - 2 * S\n var t = m.redSqr().redISub(s).redISub(s);\n // X3 = T\n nx = t;\n // Y3 = M * (S - T) - 8 * YYYY\n var yyyy8 = yyyy.redIAdd(yyyy);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n yyyy8 = yyyy8.redIAdd(yyyy8);\n ny = m.redMul(s.redISub(t)).redISub(yyyy8);\n // Z3 = 2 * Y1\n nz = this.y.redAdd(this.y);\n } else {\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-3.html#doubling-dbl-2001-b\n // 3M + 5S\n\n // delta = Z1^2\n var delta = this.z.redSqr();\n // gamma = Y1^2\n var gamma = this.y.redSqr();\n // beta = X1 * gamma\n var beta = this.x.redMul(gamma);\n // alpha = 3 * (X1 - delta) * (X1 + delta)\n var alpha = this.x.redSub(delta).redMul(this.x.redAdd(delta));\n alpha = alpha.redAdd(alpha).redIAdd(alpha);\n // X3 = alpha^2 - 8 * beta\n var beta4 = beta.redIAdd(beta);\n beta4 = beta4.redIAdd(beta4);\n var beta8 = beta4.redAdd(beta4);\n nx = alpha.redSqr().redISub(beta8);\n // Z3 = (Y1 + Z1)^2 - gamma - delta\n nz = this.y.redAdd(this.z).redSqr().redISub(gamma).redISub(delta);\n // Y3 = alpha * (4 * beta - X3) - 8 * gamma^2\n var ggamma8 = gamma.redSqr();\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ggamma8 = ggamma8.redIAdd(ggamma8);\n ny = alpha.redMul(beta4.redISub(nx)).redISub(ggamma8);\n }\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype._dbl = function _dbl() {\n var a = this.curve.a;\n\n // 4M + 6S + 10A\n var jx = this.x;\n var jy = this.y;\n var jz = this.z;\n var jz4 = jz.redSqr().redSqr();\n\n var jx2 = jx.redSqr();\n var jy2 = jy.redSqr();\n\n var c = jx2.redAdd(jx2).redIAdd(jx2).redIAdd(a.redMul(jz4));\n\n var jxd4 = jx.redAdd(jx);\n jxd4 = jxd4.redIAdd(jxd4);\n var t1 = jxd4.redMul(jy2);\n var nx = c.redSqr().redISub(t1.redAdd(t1));\n var t2 = t1.redISub(nx);\n\n var jyd8 = jy2.redSqr();\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n jyd8 = jyd8.redIAdd(jyd8);\n var ny = c.redMul(t2).redISub(jyd8);\n var nz = jy.redAdd(jy).redMul(jz);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.trpl = function trpl() {\n if (!this.curve.zeroA)\n return this.dbl().add(this);\n\n // hyperelliptic.org/EFD/g1p/auto-shortw-jacobian-0.html#tripling-tpl-2007-bl\n // 5M + 10S + ...\n\n // XX = X1^2\n var xx = this.x.redSqr();\n // YY = Y1^2\n var yy = this.y.redSqr();\n // ZZ = Z1^2\n var zz = this.z.redSqr();\n // YYYY = YY^2\n var yyyy = yy.redSqr();\n // M = 3 * XX + a * ZZ2; a = 0\n var m = xx.redAdd(xx).redIAdd(xx);\n // MM = M^2\n var mm = m.redSqr();\n // E = 6 * ((X1 + YY)^2 - XX - YYYY) - MM\n var e = this.x.redAdd(yy).redSqr().redISub(xx).redISub(yyyy);\n e = e.redIAdd(e);\n e = e.redAdd(e).redIAdd(e);\n e = e.redISub(mm);\n // EE = E^2\n var ee = e.redSqr();\n // T = 16*YYYY\n var t = yyyy.redIAdd(yyyy);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n t = t.redIAdd(t);\n // U = (M + E)^2 - MM - EE - T\n var u = m.redIAdd(e).redSqr().redISub(mm).redISub(ee).redISub(t);\n // X3 = 4 * (X1 * EE - 4 * YY * U)\n var yyu4 = yy.redMul(u);\n yyu4 = yyu4.redIAdd(yyu4);\n yyu4 = yyu4.redIAdd(yyu4);\n var nx = this.x.redMul(ee).redISub(yyu4);\n nx = nx.redIAdd(nx);\n nx = nx.redIAdd(nx);\n // Y3 = 8 * Y1 * (U * (T - U) - E * EE)\n var ny = this.y.redMul(u.redMul(t.redISub(u)).redISub(e.redMul(ee)));\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n ny = ny.redIAdd(ny);\n // Z3 = (Z1 + E)^2 - ZZ - EE\n var nz = this.z.redAdd(e).redSqr().redISub(zz).redISub(ee);\n\n return this.curve.jpoint(nx, ny, nz);\n};\n\nJPoint.prototype.mul = function mul(k, kbase) {\n k = new BN(k, kbase);\n\n return this.curve._wnafMul(this, k);\n};\n\nJPoint.prototype.eq = function eq(p) {\n if (p.type === 'affine')\n return this.eq(p.toJ());\n\n if (this === p)\n return true;\n\n // x1 * z2^2 == x2 * z1^2\n var z2 = this.z.redSqr();\n var pz2 = p.z.redSqr();\n if (this.x.redMul(pz2).redISub(p.x.redMul(z2)).cmpn(0) !== 0)\n return false;\n\n // y1 * z2^3 == y2 * z1^3\n var z3 = z2.redMul(this.z);\n var pz3 = pz2.redMul(p.z);\n return this.y.redMul(pz3).redISub(p.y.redMul(z3)).cmpn(0) === 0;\n};\n\nJPoint.prototype.eqXToP = function eqXToP(x) {\n var zs = this.z.redSqr();\n var rx = x.toRed(this.curve.red).redMul(zs);\n if (this.x.cmp(rx) === 0)\n return true;\n\n var xc = x.clone();\n var t = this.curve.redN.redMul(zs);\n for (;;) {\n xc.iadd(this.curve.n);\n if (xc.cmp(this.curve.p) >= 0)\n return false;\n\n rx.redIAdd(t);\n if (this.x.cmp(rx) === 0)\n return true;\n }\n};\n\nJPoint.prototype.inspect = function inspect() {\n if (this.isInfinity())\n return '';\n return '';\n};\n\nJPoint.prototype.isInfinity = function isInfinity() {\n // XXX This code assumes that zero is always zero in red\n return this.z.cmpn(0) === 0;\n};\n","'use strict';\n\nvar curve = exports;\n\ncurve.base = require('./base');\ncurve.short = require('./short');\ncurve.mont = require('./mont');\ncurve.edwards = require('./edwards');\n","'use strict';\n\nvar curves = exports;\n\nvar hash = require('hash.js');\nvar curve = require('./curve');\nvar utils = require('./utils');\n\nvar assert = utils.assert;\n\nfunction PresetCurve(options) {\n if (options.type === 'short')\n this.curve = new curve.short(options);\n else if (options.type === 'edwards')\n this.curve = new curve.edwards(options);\n else\n this.curve = new curve.mont(options);\n this.g = this.curve.g;\n this.n = this.curve.n;\n this.hash = options.hash;\n\n assert(this.g.validate(), 'Invalid curve');\n assert(this.g.mul(this.n).isInfinity(), 'Invalid curve, G*N != O');\n}\ncurves.PresetCurve = PresetCurve;\n\nfunction defineCurve(name, options) {\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n get: function() {\n var curve = new PresetCurve(options);\n Object.defineProperty(curves, name, {\n configurable: true,\n enumerable: true,\n value: curve,\n });\n return curve;\n },\n });\n}\n\ndefineCurve('p192', {\n type: 'short',\n prime: 'p192',\n p: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc',\n b: '64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1',\n n: 'ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831',\n hash: hash.sha256,\n gRed: false,\n g: [\n '188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012',\n '07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811',\n ],\n});\n\ndefineCurve('p224', {\n type: 'short',\n prime: 'p224',\n p: 'ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001',\n a: 'ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe',\n b: 'b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4',\n n: 'ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d',\n hash: hash.sha256,\n gRed: false,\n g: [\n 'b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21',\n 'bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34',\n ],\n});\n\ndefineCurve('p256', {\n type: 'short',\n prime: null,\n p: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff',\n a: 'ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc',\n b: '5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b',\n n: 'ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551',\n hash: hash.sha256,\n gRed: false,\n g: [\n '6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296',\n '4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5',\n ],\n});\n\ndefineCurve('p384', {\n type: 'short',\n prime: null,\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 ffffffff',\n a: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'fffffffe ffffffff 00000000 00000000 fffffffc',\n b: 'b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f ' +\n '5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef',\n n: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 ' +\n 'f4372ddf 581a0db2 48b0a77a ecec196a ccc52973',\n hash: hash.sha384,\n gRed: false,\n g: [\n 'aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 ' +\n '5502f25d bf55296c 3a545e38 72760ab7',\n '3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 ' +\n '0a60b1ce 1d7e819d 7a431d7c 90ea0e5f',\n ],\n});\n\ndefineCurve('p521', {\n type: 'short',\n prime: null,\n p: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff',\n a: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff ffffffff ffffffff fffffffc',\n b: '00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b ' +\n '99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd ' +\n '3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00',\n n: '000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ' +\n 'ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 ' +\n 'f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409',\n hash: hash.sha512,\n gRed: false,\n g: [\n '000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 ' +\n '053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 ' +\n 'a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66',\n '00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 ' +\n '579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 ' +\n '3fad0761 353c7086 a272c240 88be9476 9fd16650',\n ],\n});\n\ndefineCurve('curve25519', {\n type: 'mont',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '76d06',\n b: '1',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '9',\n ],\n});\n\ndefineCurve('ed25519', {\n type: 'edwards',\n prime: 'p25519',\n p: '7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed',\n a: '-1',\n c: '1',\n // -121665 * (121666^(-1)) (mod P)\n d: '52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3',\n n: '1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed',\n hash: hash.sha256,\n gRed: false,\n g: [\n '216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a',\n\n // 4/5\n '6666666666666666666666666666666666666666666666666666666666666658',\n ],\n});\n\nvar pre;\ntry {\n pre = require('./precomputed/secp256k1');\n} catch (e) {\n pre = undefined;\n}\n\ndefineCurve('secp256k1', {\n type: 'short',\n prime: 'k256',\n p: 'ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f',\n a: '0',\n b: '7',\n n: 'ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141',\n h: '1',\n hash: hash.sha256,\n\n // Precomputed endomorphism\n beta: '7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee',\n lambda: '5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72',\n basis: [\n {\n a: '3086d221a7d46bcde86c90e49284eb15',\n b: '-e4437ed6010e88286f547fa90abfe4c3',\n },\n {\n a: '114ca50f7a8e2f3f657c1108d9d44cfd8',\n b: '3086d221a7d46bcde86c90e49284eb15',\n },\n ],\n\n gRed: false,\n g: [\n '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',\n '483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8',\n pre,\n ],\n});\n","'use strict';\n\nvar hash = require('hash.js');\nvar utils = require('minimalistic-crypto-utils');\nvar assert = require('minimalistic-assert');\n\nfunction HmacDRBG(options) {\n if (!(this instanceof HmacDRBG))\n return new HmacDRBG(options);\n this.hash = options.hash;\n this.predResist = !!options.predResist;\n\n this.outLen = this.hash.outSize;\n this.minEntropy = options.minEntropy || this.hash.hmacStrength;\n\n this._reseed = null;\n this.reseedInterval = null;\n this.K = null;\n this.V = null;\n\n var entropy = utils.toArray(options.entropy, options.entropyEnc || 'hex');\n var nonce = utils.toArray(options.nonce, options.nonceEnc || 'hex');\n var pers = utils.toArray(options.pers, options.persEnc || 'hex');\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n this._init(entropy, nonce, pers);\n}\nmodule.exports = HmacDRBG;\n\nHmacDRBG.prototype._init = function init(entropy, nonce, pers) {\n var seed = entropy.concat(nonce).concat(pers);\n\n this.K = new Array(this.outLen / 8);\n this.V = new Array(this.outLen / 8);\n for (var i = 0; i < this.V.length; i++) {\n this.K[i] = 0x00;\n this.V[i] = 0x01;\n }\n\n this._update(seed);\n this._reseed = 1;\n this.reseedInterval = 0x1000000000000; // 2^48\n};\n\nHmacDRBG.prototype._hmac = function hmac() {\n return new hash.hmac(this.hash, this.K);\n};\n\nHmacDRBG.prototype._update = function update(seed) {\n var kmac = this._hmac()\n .update(this.V)\n .update([ 0x00 ]);\n if (seed)\n kmac = kmac.update(seed);\n this.K = kmac.digest();\n this.V = this._hmac().update(this.V).digest();\n if (!seed)\n return;\n\n this.K = this._hmac()\n .update(this.V)\n .update([ 0x01 ])\n .update(seed)\n .digest();\n this.V = this._hmac().update(this.V).digest();\n};\n\nHmacDRBG.prototype.reseed = function reseed(entropy, entropyEnc, add, addEnc) {\n // Optional entropy enc\n if (typeof entropyEnc !== 'string') {\n addEnc = add;\n add = entropyEnc;\n entropyEnc = null;\n }\n\n entropy = utils.toArray(entropy, entropyEnc);\n add = utils.toArray(add, addEnc);\n\n assert(entropy.length >= (this.minEntropy / 8),\n 'Not enough entropy. Minimum is: ' + this.minEntropy + ' bits');\n\n this._update(entropy.concat(add || []));\n this._reseed = 1;\n};\n\nHmacDRBG.prototype.generate = function generate(len, enc, add, addEnc) {\n if (this._reseed > this.reseedInterval)\n throw new Error('Reseed is required');\n\n // Optional encoding\n if (typeof enc !== 'string') {\n addEnc = add;\n add = enc;\n enc = null;\n }\n\n // Optional additional data\n if (add) {\n add = utils.toArray(add, addEnc || 'hex');\n this._update(add);\n }\n\n var temp = [];\n while (temp.length < len) {\n this.V = this._hmac().update(this.V).digest();\n temp = temp.concat(this.V);\n }\n\n var res = temp.slice(0, len);\n this._update(add);\n this._reseed++;\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction KeyPair(ec, options) {\n this.ec = ec;\n this.priv = null;\n this.pub = null;\n\n // KeyPair(ec, { priv: ..., pub: ... })\n if (options.priv)\n this._importPrivate(options.priv, options.privEnc);\n if (options.pub)\n this._importPublic(options.pub, options.pubEnc);\n}\nmodule.exports = KeyPair;\n\nKeyPair.fromPublic = function fromPublic(ec, pub, enc) {\n if (pub instanceof KeyPair)\n return pub;\n\n return new KeyPair(ec, {\n pub: pub,\n pubEnc: enc,\n });\n};\n\nKeyPair.fromPrivate = function fromPrivate(ec, priv, enc) {\n if (priv instanceof KeyPair)\n return priv;\n\n return new KeyPair(ec, {\n priv: priv,\n privEnc: enc,\n });\n};\n\nKeyPair.prototype.validate = function validate() {\n var pub = this.getPublic();\n\n if (pub.isInfinity())\n return { result: false, reason: 'Invalid public key' };\n if (!pub.validate())\n return { result: false, reason: 'Public key is not a point' };\n if (!pub.mul(this.ec.curve.n).isInfinity())\n return { result: false, reason: 'Public key * N != O' };\n\n return { result: true, reason: null };\n};\n\nKeyPair.prototype.getPublic = function getPublic(compact, enc) {\n // compact is optional argument\n if (typeof compact === 'string') {\n enc = compact;\n compact = null;\n }\n\n if (!this.pub)\n this.pub = this.ec.g.mul(this.priv);\n\n if (!enc)\n return this.pub;\n\n return this.pub.encode(enc, compact);\n};\n\nKeyPair.prototype.getPrivate = function getPrivate(enc) {\n if (enc === 'hex')\n return this.priv.toString(16, 2);\n else\n return this.priv;\n};\n\nKeyPair.prototype._importPrivate = function _importPrivate(key, enc) {\n this.priv = new BN(key, enc || 16);\n\n // Ensure that the priv won't be bigger than n, otherwise we may fail\n // in fixed multiplication method\n this.priv = this.priv.umod(this.ec.curve.n);\n};\n\nKeyPair.prototype._importPublic = function _importPublic(key, enc) {\n if (key.x || key.y) {\n // Montgomery points only have an `x` coordinate.\n // Weierstrass/Edwards points on the other hand have both `x` and\n // `y` coordinates.\n if (this.ec.curve.type === 'mont') {\n assert(key.x, 'Need x coordinate');\n } else if (this.ec.curve.type === 'short' ||\n this.ec.curve.type === 'edwards') {\n assert(key.x && key.y, 'Need both x and y coordinate');\n }\n this.pub = this.ec.curve.point(key.x, key.y);\n return;\n }\n this.pub = this.ec.curve.decodePoint(key, enc);\n};\n\n// ECDH\nKeyPair.prototype.derive = function derive(pub) {\n if(!pub.validate()) {\n assert(pub.validate(), 'public point not validated');\n }\n return pub.mul(this.priv).getX();\n};\n\n// ECDSA\nKeyPair.prototype.sign = function sign(msg, enc, options) {\n return this.ec.sign(msg, this, enc, options);\n};\n\nKeyPair.prototype.verify = function verify(msg, signature) {\n return this.ec.verify(msg, signature, this);\n};\n\nKeyPair.prototype.inspect = function inspect() {\n return '';\n};\n","'use strict';\n\nvar BN = require('bn.js');\n\nvar utils = require('../utils');\nvar assert = utils.assert;\n\nfunction Signature(options, enc) {\n if (options instanceof Signature)\n return options;\n\n if (this._importDER(options, enc))\n return;\n\n assert(options.r && options.s, 'Signature without r or s');\n this.r = new BN(options.r, 16);\n this.s = new BN(options.s, 16);\n if (options.recoveryParam === undefined)\n this.recoveryParam = null;\n else\n this.recoveryParam = options.recoveryParam;\n}\nmodule.exports = Signature;\n\nfunction Position() {\n this.place = 0;\n}\n\nfunction getLength(buf, p) {\n var initial = buf[p.place++];\n if (!(initial & 0x80)) {\n return initial;\n }\n var octetLen = initial & 0xf;\n\n // Indefinite length or overflow\n if (octetLen === 0 || octetLen > 4) {\n return false;\n }\n\n var val = 0;\n for (var i = 0, off = p.place; i < octetLen; i++, off++) {\n val <<= 8;\n val |= buf[off];\n val >>>= 0;\n }\n\n // Leading zeroes\n if (val <= 0x7f) {\n return false;\n }\n\n p.place = off;\n return val;\n}\n\nfunction rmPadding(buf) {\n var i = 0;\n var len = buf.length - 1;\n while (!buf[i] && !(buf[i + 1] & 0x80) && i < len) {\n i++;\n }\n if (i === 0) {\n return buf;\n }\n return buf.slice(i);\n}\n\nSignature.prototype._importDER = function _importDER(data, enc) {\n data = utils.toArray(data, enc);\n var p = new Position();\n if (data[p.place++] !== 0x30) {\n return false;\n }\n var len = getLength(data, p);\n if (len === false) {\n return false;\n }\n if ((len + p.place) !== data.length) {\n return false;\n }\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var rlen = getLength(data, p);\n if (rlen === false) {\n return false;\n }\n var r = data.slice(p.place, rlen + p.place);\n p.place += rlen;\n if (data[p.place++] !== 0x02) {\n return false;\n }\n var slen = getLength(data, p);\n if (slen === false) {\n return false;\n }\n if (data.length !== slen + p.place) {\n return false;\n }\n var s = data.slice(p.place, slen + p.place);\n if (r[0] === 0) {\n if (r[1] & 0x80) {\n r = r.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n if (s[0] === 0) {\n if (s[1] & 0x80) {\n s = s.slice(1);\n } else {\n // Leading zeroes\n return false;\n }\n }\n\n this.r = new BN(r);\n this.s = new BN(s);\n this.recoveryParam = null;\n\n return true;\n};\n\nfunction constructLength(arr, len) {\n if (len < 0x80) {\n arr.push(len);\n return;\n }\n var octets = 1 + (Math.log(len) / Math.LN2 >>> 3);\n arr.push(octets | 0x80);\n while (--octets) {\n arr.push((len >>> (octets << 3)) & 0xff);\n }\n arr.push(len);\n}\n\nSignature.prototype.toDER = function toDER(enc) {\n var r = this.r.toArray();\n var s = this.s.toArray();\n\n // Pad values\n if (r[0] & 0x80)\n r = [ 0 ].concat(r);\n // Pad values\n if (s[0] & 0x80)\n s = [ 0 ].concat(s);\n\n r = rmPadding(r);\n s = rmPadding(s);\n\n while (!s[0] && !(s[1] & 0x80)) {\n s = s.slice(1);\n }\n var arr = [ 0x02 ];\n constructLength(arr, r.length);\n arr = arr.concat(r);\n arr.push(0x02);\n constructLength(arr, s.length);\n var backHalf = arr.concat(s);\n var res = [ 0x30 ];\n constructLength(res, backHalf.length);\n res = res.concat(backHalf);\n return utils.encode(res, enc);\n};\n","'use strict';\n\nvar BN = require('bn.js');\nvar HmacDRBG = require('hmac-drbg');\nvar utils = require('../utils');\nvar curves = require('../curves');\nvar rand = require('brorand');\nvar assert = utils.assert;\n\nvar KeyPair = require('./key');\nvar Signature = require('./signature');\n\nfunction EC(options) {\n if (!(this instanceof EC))\n return new EC(options);\n\n // Shortcut `elliptic.ec(curve-name)`\n if (typeof options === 'string') {\n assert(Object.prototype.hasOwnProperty.call(curves, options),\n 'Unknown curve ' + options);\n\n options = curves[options];\n }\n\n // Shortcut for `elliptic.ec(elliptic.curves.curveName)`\n if (options instanceof curves.PresetCurve)\n options = { curve: options };\n\n this.curve = options.curve.curve;\n this.n = this.curve.n;\n this.nh = this.n.ushrn(1);\n this.g = this.curve.g;\n\n // Point on curve\n this.g = options.curve.g;\n this.g.precompute(options.curve.n.bitLength() + 1);\n\n // Hash for function for DRBG\n this.hash = options.hash || options.curve.hash;\n}\nmodule.exports = EC;\n\nEC.prototype.keyPair = function keyPair(options) {\n return new KeyPair(this, options);\n};\n\nEC.prototype.keyFromPrivate = function keyFromPrivate(priv, enc) {\n return KeyPair.fromPrivate(this, priv, enc);\n};\n\nEC.prototype.keyFromPublic = function keyFromPublic(pub, enc) {\n return KeyPair.fromPublic(this, pub, enc);\n};\n\nEC.prototype.genKeyPair = function genKeyPair(options) {\n if (!options)\n options = {};\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n entropy: options.entropy || rand(this.hash.hmacStrength),\n entropyEnc: options.entropy && options.entropyEnc || 'utf8',\n nonce: this.n.toArray(),\n });\n\n var bytes = this.n.byteLength();\n var ns2 = this.n.sub(new BN(2));\n for (;;) {\n var priv = new BN(drbg.generate(bytes));\n if (priv.cmp(ns2) > 0)\n continue;\n\n priv.iaddn(1);\n return this.keyFromPrivate(priv);\n }\n};\n\nEC.prototype._truncateToN = function _truncateToN(msg, truncOnly) {\n var delta = msg.byteLength() * 8 - this.n.bitLength();\n if (delta > 0)\n msg = msg.ushrn(delta);\n if (!truncOnly && msg.cmp(this.n) >= 0)\n return msg.sub(this.n);\n else\n return msg;\n};\n\nEC.prototype.sign = function sign(msg, key, enc, options) {\n if (typeof enc === 'object') {\n options = enc;\n enc = null;\n }\n if (!options)\n options = {};\n\n key = this.keyFromPrivate(key, enc);\n msg = this._truncateToN(new BN(msg, 16));\n\n // Zero-extend key to provide enough entropy\n var bytes = this.n.byteLength();\n var bkey = key.getPrivate().toArray('be', bytes);\n\n // Zero-extend nonce to have the same byte size as N\n var nonce = msg.toArray('be', bytes);\n\n // Instantiate Hmac_DRBG\n var drbg = new HmacDRBG({\n hash: this.hash,\n entropy: bkey,\n nonce: nonce,\n pers: options.pers,\n persEnc: options.persEnc || 'utf8',\n });\n\n // Number of bytes to generate\n var ns1 = this.n.sub(new BN(1));\n\n for (var iter = 0; ; iter++) {\n var k = options.k ?\n options.k(iter) :\n new BN(drbg.generate(this.n.byteLength()));\n k = this._truncateToN(k, true);\n if (k.cmpn(1) <= 0 || k.cmp(ns1) >= 0)\n continue;\n\n var kp = this.g.mul(k);\n if (kp.isInfinity())\n continue;\n\n var kpX = kp.getX();\n var r = kpX.umod(this.n);\n if (r.cmpn(0) === 0)\n continue;\n\n var s = k.invm(this.n).mul(r.mul(key.getPrivate()).iadd(msg));\n s = s.umod(this.n);\n if (s.cmpn(0) === 0)\n continue;\n\n var recoveryParam = (kp.getY().isOdd() ? 1 : 0) |\n (kpX.cmp(r) !== 0 ? 2 : 0);\n\n // Use complement of `s`, if it is > `n / 2`\n if (options.canonical && s.cmp(this.nh) > 0) {\n s = this.n.sub(s);\n recoveryParam ^= 1;\n }\n\n return new Signature({ r: r, s: s, recoveryParam: recoveryParam });\n }\n};\n\nEC.prototype.verify = function verify(msg, signature, key, enc) {\n msg = this._truncateToN(new BN(msg, 16));\n key = this.keyFromPublic(key, enc);\n signature = new Signature(signature, 'hex');\n\n // Perform primitive values validation\n var r = signature.r;\n var s = signature.s;\n if (r.cmpn(1) < 0 || r.cmp(this.n) >= 0)\n return false;\n if (s.cmpn(1) < 0 || s.cmp(this.n) >= 0)\n return false;\n\n // Validate signature\n var sinv = s.invm(this.n);\n var u1 = sinv.mul(msg).umod(this.n);\n var u2 = sinv.mul(r).umod(this.n);\n var p;\n\n if (!this.curve._maxwellTrick) {\n p = this.g.mulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n return p.getX().umod(this.n).cmp(r) === 0;\n }\n\n // NOTE: Greg Maxwell's trick, inspired by:\n // https://git.io/vad3K\n\n p = this.g.jmulAdd(u1, key.getPublic(), u2);\n if (p.isInfinity())\n return false;\n\n // Compare `p.x` of Jacobian point with `r`,\n // this will do `p.x == r * p.z^2` instead of multiplying `p.x` by the\n // inverse of `p.z^2`\n return p.eqXToP(r);\n};\n\nEC.prototype.recoverPubKey = function(msg, signature, j, enc) {\n assert((3 & j) === j, 'The recovery param is more than two bits');\n signature = new Signature(signature, enc);\n\n var n = this.n;\n var e = new BN(msg);\n var r = signature.r;\n var s = signature.s;\n\n // A set LSB signifies that the y-coordinate is odd\n var isYOdd = j & 1;\n var isSecondKey = j >> 1;\n if (r.cmp(this.curve.p.umod(this.curve.n)) >= 0 && isSecondKey)\n throw new Error('Unable to find sencond key candinate');\n\n // 1.1. Let x = r + jn.\n if (isSecondKey)\n r = this.curve.pointFromX(r.add(this.curve.n), isYOdd);\n else\n r = this.curve.pointFromX(r, isYOdd);\n\n var rInv = signature.r.invm(n);\n var s1 = n.sub(e).mul(rInv).umod(n);\n var s2 = s.mul(rInv).umod(n);\n\n // 1.6.1 Compute Q = r^-1 (sR - eG)\n // Q = r^-1 (sR + -eG)\n return this.g.mulAdd(s1, r, s2);\n};\n\nEC.prototype.getKeyRecoveryParam = function(e, signature, Q, enc) {\n signature = new Signature(signature, enc);\n if (signature.recoveryParam !== null)\n return signature.recoveryParam;\n\n for (var i = 0; i < 4; i++) {\n var Qprime;\n try {\n Qprime = this.recoverPubKey(e, signature, i);\n } catch (e) {\n continue;\n }\n\n if (Qprime.eq(Q))\n return i;\n }\n throw new Error('Unable to find valid recovery factor');\n};\n","'use strict';\n\nvar elliptic = exports;\n\nelliptic.version = require('../package.json').version;\nelliptic.utils = require('./elliptic/utils');\nelliptic.rand = require('brorand');\nelliptic.curve = require('./elliptic/curve');\nelliptic.curves = require('./elliptic/curves');\n\n// Protocols\nelliptic.ec = require('./elliptic/ec');\nelliptic.eddsa = require('./elliptic/eddsa');\n","export const version = \"signing-key/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"signing-key/5.7.0\";\n","export const version = \"transactions/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"transactions/5.7.0\";\n","export const version = \"contracts/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"contracts/5.7.0\";\n","\"use strict\";\nimport { AbiCoder, checkResultErrors, ConstructorFragment, defaultAbiCoder, ErrorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, Indexed, Interface, LogDescription, ParamType, TransactionDescription } from \"@ethersproject/abi\";\nimport { getAddress, getCreate2Address, getContractAddress, getIcapAddress, isAddress } from \"@ethersproject/address\";\nimport * as base64 from \"@ethersproject/base64\";\nimport { Base58 as base58 } from \"@ethersproject/basex\";\nimport { arrayify, concat, hexConcat, hexDataSlice, hexDataLength, hexlify, hexStripZeros, hexValue, hexZeroPad, isBytes, isBytesLike, isHexString, joinSignature, zeroPad, splitSignature, stripZeros } from \"@ethersproject/bytes\";\nimport { _TypedDataEncoder, dnsEncode, hashMessage, id, isValidName, namehash } from \"@ethersproject/hash\";\nimport { defaultPath, entropyToMnemonic, getAccountPath, HDNode, isValidMnemonic, mnemonicToEntropy, mnemonicToSeed } from \"@ethersproject/hdnode\";\nimport { getJsonWalletAddress } from \"@ethersproject/json-wallets\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { computeHmac, ripemd160, sha256, sha512 } from \"@ethersproject/sha2\";\nimport { keccak256 as solidityKeccak256, pack as solidityPack, sha256 as soliditySha256 } from \"@ethersproject/solidity\";\nimport { randomBytes, shuffled } from \"@ethersproject/random\";\nimport { checkProperties, deepCopy, defineReadOnly, getStatic, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\nimport * as RLP from \"@ethersproject/rlp\";\nimport { computePublicKey, recoverPublicKey, SigningKey } from \"@ethersproject/signing-key\";\nimport { formatBytes32String, nameprep, parseBytes32String, _toEscapedUtf8String, toUtf8Bytes, toUtf8CodePoints, toUtf8String, Utf8ErrorFuncs } from \"@ethersproject/strings\";\nimport { accessListify, computeAddress, parse as parseTransaction, recoverAddress, serialize as serializeTransaction, TransactionTypes } from \"@ethersproject/transactions\";\nimport { commify, formatEther, parseEther, formatUnits, parseUnits } from \"@ethersproject/units\";\nimport { verifyMessage, verifyTypedData } from \"@ethersproject/wallet\";\nimport { _fetchData, fetchJson, poll } from \"@ethersproject/web\";\n////////////////////////\n// Enums\nimport { SupportedAlgorithm } from \"@ethersproject/sha2\";\nimport { UnicodeNormalizationForm, Utf8ErrorReason } from \"@ethersproject/strings\";\n////////////////////////\n// Exports\nexport { AbiCoder, defaultAbiCoder, Fragment, ConstructorFragment, ErrorFragment, EventFragment, FunctionFragment, ParamType, FormatTypes, checkResultErrors, Logger, RLP, _fetchData, fetchJson, poll, checkProperties, deepCopy, defineReadOnly, getStatic, resolveProperties, shallowCopy, arrayify, concat, stripZeros, zeroPad, isBytes, isBytesLike, defaultPath, HDNode, SigningKey, Interface, LogDescription, TransactionDescription, base58, base64, hexlify, isHexString, hexConcat, hexStripZeros, hexValue, hexZeroPad, hexDataLength, hexDataSlice, nameprep, _toEscapedUtf8String, toUtf8Bytes, toUtf8CodePoints, toUtf8String, Utf8ErrorFuncs, formatBytes32String, parseBytes32String, dnsEncode, hashMessage, namehash, isValidName, id, _TypedDataEncoder, getAddress, getIcapAddress, getContractAddress, getCreate2Address, isAddress, formatEther, parseEther, formatUnits, parseUnits, commify, computeHmac, keccak256, ripemd160, sha256, sha512, randomBytes, shuffled, solidityPack, solidityKeccak256, soliditySha256, splitSignature, joinSignature, accessListify, parseTransaction, serializeTransaction, TransactionTypes, getJsonWalletAddress, computeAddress, recoverAddress, computePublicKey, recoverPublicKey, verifyMessage, verifyTypedData, getAccountPath, mnemonicToEntropy, entropyToMnemonic, isValidMnemonic, mnemonicToSeed, \n////////////////////////\n// Enums\nSupportedAlgorithm, UnicodeNormalizationForm, Utf8ErrorReason, Indexed };\n//# sourceMappingURL=utils.js.map","\"use strict\";\n\nimport { AbiCoder, checkResultErrors, ConstructorFragment, defaultAbiCoder, ErrorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, Indexed, Interface, LogDescription, ParamType, Result, TransactionDescription }from \"@ethersproject/abi\";\nimport { getAddress, getCreate2Address, getContractAddress, getIcapAddress, isAddress } from \"@ethersproject/address\";\nimport * as base64 from \"@ethersproject/base64\";\nimport { Base58 as base58 } from \"@ethersproject/basex\";\nimport { arrayify, concat, hexConcat, hexDataSlice, hexDataLength, hexlify, hexStripZeros, hexValue, hexZeroPad, isBytes, isBytesLike, isHexString, joinSignature, zeroPad, splitSignature, stripZeros } from \"@ethersproject/bytes\";\nimport { _TypedDataEncoder, dnsEncode, hashMessage, id, isValidName, namehash } from \"@ethersproject/hash\";\nimport { defaultPath, entropyToMnemonic, getAccountPath, HDNode, isValidMnemonic, mnemonicToEntropy, mnemonicToSeed } from \"@ethersproject/hdnode\";\nimport { getJsonWalletAddress } from \"@ethersproject/json-wallets\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { computeHmac, ripemd160, sha256, sha512 } from \"@ethersproject/sha2\";\nimport { keccak256 as solidityKeccak256, pack as solidityPack, sha256 as soliditySha256 } from \"@ethersproject/solidity\";\nimport { randomBytes, shuffled } from \"@ethersproject/random\";\nimport { checkProperties, deepCopy, defineReadOnly, getStatic, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\nimport * as RLP from \"@ethersproject/rlp\";\nimport { computePublicKey, recoverPublicKey, SigningKey } from \"@ethersproject/signing-key\";\nimport { formatBytes32String, nameprep, parseBytes32String, _toEscapedUtf8String, toUtf8Bytes, toUtf8CodePoints, toUtf8String, Utf8ErrorFuncs } from \"@ethersproject/strings\";\nimport { accessListify, computeAddress, parse as parseTransaction, recoverAddress, serialize as serializeTransaction, TransactionTypes } from \"@ethersproject/transactions\";\nimport { commify, formatEther, parseEther, formatUnits, parseUnits } from \"@ethersproject/units\";\nimport { verifyMessage, verifyTypedData } from \"@ethersproject/wallet\";\nimport { _fetchData, fetchJson, poll } from \"@ethersproject/web\";\n\n////////////////////////\n// Enums\n\nimport { SupportedAlgorithm } from \"@ethersproject/sha2\";\nimport { UnicodeNormalizationForm, Utf8ErrorReason } from \"@ethersproject/strings\";\nimport { UnsignedTransaction } from \"@ethersproject/transactions\";\n\n////////////////////////\n// Types and Interfaces\n\nimport { CoerceFunc } from \"@ethersproject/abi\";\nimport { Bytes, BytesLike, Hexable } from \"@ethersproject/bytes\"\nimport { Mnemonic } from \"@ethersproject/hdnode\";\nimport { EncryptOptions, ProgressCallback } from \"@ethersproject/json-wallets\";\nimport { Deferrable } from \"@ethersproject/properties\";\nimport { Utf8ErrorFunc } from \"@ethersproject/strings\";\nimport { AccessList, AccessListish } from \"@ethersproject/transactions\";\nimport { ConnectionInfo, FetchJsonResponse, OnceBlockable, OncePollable, PollOptions } from \"@ethersproject/web\";\n\n////////////////////////\n// Exports\n\nexport {\n AbiCoder,\n defaultAbiCoder,\n\n Fragment,\n ConstructorFragment,\n ErrorFragment,\n EventFragment,\n FunctionFragment,\n ParamType,\n FormatTypes,\n\n checkResultErrors,\n Result,\n\n Logger,\n\n RLP,\n\n _fetchData,\n fetchJson,\n poll,\n\n checkProperties,\n deepCopy,\n defineReadOnly,\n getStatic,\n resolveProperties,\n shallowCopy,\n\n arrayify,\n\n concat,\n stripZeros,\n zeroPad,\n\n isBytes,\n isBytesLike,\n\n defaultPath,\n HDNode,\n SigningKey,\n\n Interface,\n\n LogDescription,\n TransactionDescription,\n\n base58,\n base64,\n\n hexlify,\n isHexString,\n hexConcat,\n hexStripZeros,\n hexValue,\n hexZeroPad,\n hexDataLength,\n hexDataSlice,\n\n nameprep,\n _toEscapedUtf8String,\n toUtf8Bytes,\n toUtf8CodePoints,\n toUtf8String,\n Utf8ErrorFuncs,\n\n formatBytes32String,\n parseBytes32String,\n\n dnsEncode,\n hashMessage,\n namehash,\n isValidName,\n id,\n\n _TypedDataEncoder,\n\n getAddress,\n getIcapAddress,\n getContractAddress,\n getCreate2Address,\n isAddress,\n\n formatEther,\n parseEther,\n\n formatUnits,\n parseUnits,\n\n commify,\n\n computeHmac,\n keccak256,\n ripemd160,\n sha256,\n sha512,\n\n randomBytes,\n shuffled,\n\n solidityPack,\n solidityKeccak256,\n soliditySha256,\n\n splitSignature,\n joinSignature,\n\n accessListify,\n parseTransaction,\n serializeTransaction,\n TransactionTypes,\n\n getJsonWalletAddress,\n\n computeAddress,\n recoverAddress,\n\n computePublicKey,\n recoverPublicKey,\n\n verifyMessage,\n verifyTypedData,\n\n getAccountPath,\n mnemonicToEntropy,\n entropyToMnemonic,\n isValidMnemonic,\n mnemonicToSeed,\n\n\n ////////////////////////\n // Enums\n\n SupportedAlgorithm,\n\n UnicodeNormalizationForm,\n Utf8ErrorReason,\n\n ////////////////////////\n // Types\n\n Bytes,\n BytesLike,\n Hexable,\n\n AccessList,\n AccessListish,\n UnsignedTransaction,\n\n CoerceFunc,\n\n Indexed,\n\n Mnemonic,\n\n Deferrable,\n\n Utf8ErrorFunc,\n\n ConnectionInfo,\n OnceBlockable,\n OncePollable,\n PollOptions,\n FetchJsonResponse,\n\n EncryptOptions,\n ProgressCallback\n}\n\n","\"use strict\";\nexport { decode, encode } from \"./base64\";\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nexport { decode, encode } from \"./base64\";\n","\"use strict\";\nimport { arrayify } from \"@ethersproject/bytes\";\nexport function decode(textData) {\n textData = atob(textData);\n const data = [];\n for (let i = 0; i < textData.length; i++) {\n data.push(textData.charCodeAt(i));\n }\n return arrayify(data);\n}\nexport function encode(data) {\n data = arrayify(data);\n let textData = \"\";\n for (let i = 0; i < data.length; i++) {\n textData += String.fromCharCode(data[i]);\n }\n return btoa(textData);\n}\n//# sourceMappingURL=base64.js.map","\"use strict\";\n\nimport { arrayify, BytesLike } from \"@ethersproject/bytes\";\n\nexport function decode(textData: string): Uint8Array {\n textData = atob(textData);\n const data = [];\n for (let i = 0; i < textData.length; i++) {\n data.push(textData.charCodeAt(i));\n }\n return arrayify(data);\n}\n\nexport function encode(data: BytesLike): string {\n data = arrayify(data);\n let textData = \"\";\n for (let i = 0; i < data.length; i++) {\n textData += String.fromCharCode(data[i]);\n }\n return btoa(textData);\n}\n\n\n","/**\n * var basex = require(\"base-x\");\n *\n * This implementation is heavily based on base-x. The main reason to\n * deviate was to prevent the dependency of Buffer.\n *\n * Contributors:\n *\n * base-x encoding\n * Forked from https://github.com/cryptocoinjs/bs58\n * Originally written by Mike Hearn for BitcoinJ\n * Copyright (c) 2011 Google Inc\n * Ported to JavaScript by Stefan Thomas\n * Merged Buffer refactorings from base58-native by Stephen Pair\n * Copyright (c) 2013 BitPay Inc\n *\n * The MIT License (MIT)\n *\n * Copyright base-x contributors (c) 2016\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n */\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nexport class BaseX {\n constructor(alphabet) {\n defineReadOnly(this, \"alphabet\", alphabet);\n defineReadOnly(this, \"base\", alphabet.length);\n defineReadOnly(this, \"_alphabetMap\", {});\n defineReadOnly(this, \"_leader\", alphabet.charAt(0));\n // pre-compute lookup table\n for (let i = 0; i < alphabet.length; i++) {\n this._alphabetMap[alphabet.charAt(i)] = i;\n }\n }\n encode(value) {\n let source = arrayify(value);\n if (source.length === 0) {\n return \"\";\n }\n let digits = [0];\n for (let i = 0; i < source.length; ++i) {\n let carry = source[i];\n for (let j = 0; j < digits.length; ++j) {\n carry += digits[j] << 8;\n digits[j] = carry % this.base;\n carry = (carry / this.base) | 0;\n }\n while (carry > 0) {\n digits.push(carry % this.base);\n carry = (carry / this.base) | 0;\n }\n }\n let string = \"\";\n // deal with leading zeros\n for (let k = 0; source[k] === 0 && k < source.length - 1; ++k) {\n string += this._leader;\n }\n // convert digits to a string\n for (let q = digits.length - 1; q >= 0; --q) {\n string += this.alphabet[digits[q]];\n }\n return string;\n }\n decode(value) {\n if (typeof (value) !== \"string\") {\n throw new TypeError(\"Expected String\");\n }\n let bytes = [];\n if (value.length === 0) {\n return new Uint8Array(bytes);\n }\n bytes.push(0);\n for (let i = 0; i < value.length; i++) {\n let byte = this._alphabetMap[value[i]];\n if (byte === undefined) {\n throw new Error(\"Non-base\" + this.base + \" character\");\n }\n let carry = byte;\n for (let j = 0; j < bytes.length; ++j) {\n carry += bytes[j] * this.base;\n bytes[j] = carry & 0xff;\n carry >>= 8;\n }\n while (carry > 0) {\n bytes.push(carry & 0xff);\n carry >>= 8;\n }\n }\n // deal with leading zeros\n for (let k = 0; value[k] === this._leader && k < value.length - 1; ++k) {\n bytes.push(0);\n }\n return arrayify(new Uint8Array(bytes.reverse()));\n }\n}\nconst Base32 = new BaseX(\"abcdefghijklmnopqrstuvwxyz234567\");\nconst Base58 = new BaseX(\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\");\nexport { Base32, Base58 };\n//console.log(Base58.decode(\"Qmd2V777o5XvJbYMeMb8k2nU5f8d3ciUQ5YpYuWhzv8iDj\"))\n//console.log(Base58.encode(Base58.decode(\"Qmd2V777o5XvJbYMeMb8k2nU5f8d3ciUQ5YpYuWhzv8iDj\")))\n//# sourceMappingURL=index.js.map","/**\n * var basex = require(\"base-x\");\n *\n * This implementation is heavily based on base-x. The main reason to\n * deviate was to prevent the dependency of Buffer.\n *\n * Contributors:\n *\n * base-x encoding\n * Forked from https://github.com/cryptocoinjs/bs58\n * Originally written by Mike Hearn for BitcoinJ\n * Copyright (c) 2011 Google Inc\n * Ported to JavaScript by Stefan Thomas\n * Merged Buffer refactorings from base58-native by Stephen Pair\n * Copyright (c) 2013 BitPay Inc\n *\n * The MIT License (MIT)\n *\n * Copyright base-x contributors (c) 2016\n *\n * Permission is hereby granted, free of charge, to any person obtaining a\n * copy of this software and associated documentation files (the \"Software\"),\n * to deal in the Software without restriction, including without limitation\n * the rights to use, copy, modify, merge, publish, distribute, sublicense,\n * and/or sell copies of the Software, and to permit persons to whom the\n * Software is furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\n * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS\n * IN THE SOFTWARE.\n *\n */\n\nimport { arrayify, BytesLike } from \"@ethersproject/bytes\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nexport class BaseX {\n readonly alphabet: string;\n readonly base: number;\n\n _alphabetMap: { [ character: string ]: number };\n _leader: string;\n\n constructor(alphabet: string) {\n defineReadOnly(this, \"alphabet\", alphabet);\n defineReadOnly(this, \"base\", alphabet.length);\n\n defineReadOnly(this, \"_alphabetMap\", { });\n defineReadOnly(this, \"_leader\", alphabet.charAt(0));\n\n // pre-compute lookup table\n for (let i = 0; i < alphabet.length; i++) {\n this._alphabetMap[alphabet.charAt(i)] = i;\n }\n }\n\n encode(value: BytesLike): string {\n let source = arrayify(value);\n\n if (source.length === 0) { return \"\"; }\n\n let digits = [ 0 ]\n for (let i = 0; i < source.length; ++i) {\n let carry = source[i];\n for (let j = 0; j < digits.length; ++j) {\n carry += digits[j] << 8;\n digits[j] = carry % this.base;\n carry = (carry / this.base) | 0;\n }\n\n while (carry > 0) {\n digits.push(carry % this.base);\n carry = (carry / this.base) | 0;\n }\n }\n\n let string = \"\"\n\n // deal with leading zeros\n for (let k = 0; source[k] === 0 && k < source.length - 1; ++k) {\n string += this._leader;\n }\n\n // convert digits to a string\n for (let q = digits.length - 1; q >= 0; --q) {\n string += this.alphabet[digits[q]];\n }\n\n return string;\n }\n\n decode(value: string): Uint8Array {\n if (typeof(value) !== \"string\") {\n throw new TypeError(\"Expected String\");\n }\n\n let bytes: Array = [];\n if (value.length === 0) { return new Uint8Array(bytes); }\n\n bytes.push(0);\n for (let i = 0; i < value.length; i++) {\n let byte = this._alphabetMap[value[i]];\n\n if (byte === undefined) {\n throw new Error(\"Non-base\" + this.base + \" character\");\n }\n\n let carry = byte;\n for (let j = 0; j < bytes.length; ++j) {\n carry += bytes[j] * this.base;\n bytes[j] = carry & 0xff;\n carry >>= 8;\n }\n\n while (carry > 0) {\n bytes.push(carry & 0xff);\n carry >>= 8;\n }\n }\n\n // deal with leading zeros\n for (let k = 0; value[k] === this._leader && k < value.length - 1; ++k) {\n bytes.push(0)\n }\n\n return arrayify(new Uint8Array(bytes.reverse()))\n }\n}\n\nconst Base32 = new BaseX(\"abcdefghijklmnopqrstuvwxyz234567\");\nconst Base58 = new BaseX(\"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz\");\n\nexport { Base32, Base58 };\n\n//console.log(Base58.decode(\"Qmd2V777o5XvJbYMeMb8k2nU5f8d3ciUQ5YpYuWhzv8iDj\"))\n//console.log(Base58.encode(Base58.decode(\"Qmd2V777o5XvJbYMeMb8k2nU5f8d3ciUQ5YpYuWhzv8iDj\")))\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { getAddress } from \"@ethersproject/address\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, hexConcat, hexlify, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { deepCopy, defineReadOnly, shallowCopy } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { id } from \"./id\";\nconst padding = new Uint8Array(32);\npadding.fill(0);\nconst NegativeOne = BigNumber.from(-1);\nconst Zero = BigNumber.from(0);\nconst One = BigNumber.from(1);\nconst MaxUint256 = BigNumber.from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\nfunction hexPadRight(value) {\n const bytes = arrayify(value);\n const padOffset = bytes.length % 32;\n if (padOffset) {\n return hexConcat([bytes, padding.slice(padOffset)]);\n }\n return hexlify(bytes);\n}\nconst hexTrue = hexZeroPad(One.toHexString(), 32);\nconst hexFalse = hexZeroPad(Zero.toHexString(), 32);\nconst domainFieldTypes = {\n name: \"string\",\n version: \"string\",\n chainId: \"uint256\",\n verifyingContract: \"address\",\n salt: \"bytes32\"\n};\nconst domainFieldNames = [\n \"name\", \"version\", \"chainId\", \"verifyingContract\", \"salt\"\n];\nfunction checkString(key) {\n return function (value) {\n if (typeof (value) !== \"string\") {\n logger.throwArgumentError(`invalid domain value for ${JSON.stringify(key)}`, `domain.${key}`, value);\n }\n return value;\n };\n}\nconst domainChecks = {\n name: checkString(\"name\"),\n version: checkString(\"version\"),\n chainId: function (value) {\n try {\n return BigNumber.from(value).toString();\n }\n catch (error) { }\n return logger.throwArgumentError(`invalid domain value for \"chainId\"`, \"domain.chainId\", value);\n },\n verifyingContract: function (value) {\n try {\n return getAddress(value).toLowerCase();\n }\n catch (error) { }\n return logger.throwArgumentError(`invalid domain value \"verifyingContract\"`, \"domain.verifyingContract\", value);\n },\n salt: function (value) {\n try {\n const bytes = arrayify(value);\n if (bytes.length !== 32) {\n throw new Error(\"bad length\");\n }\n return hexlify(bytes);\n }\n catch (error) { }\n return logger.throwArgumentError(`invalid domain value \"salt\"`, \"domain.salt\", value);\n }\n};\nfunction getBaseEncoder(type) {\n // intXX and uintXX\n {\n const match = type.match(/^(u?)int(\\d*)$/);\n if (match) {\n const signed = (match[1] === \"\");\n const width = parseInt(match[2] || \"256\");\n if (width % 8 !== 0 || width > 256 || (match[2] && match[2] !== String(width))) {\n logger.throwArgumentError(\"invalid numeric width\", \"type\", type);\n }\n const boundsUpper = MaxUint256.mask(signed ? (width - 1) : width);\n const boundsLower = signed ? boundsUpper.add(One).mul(NegativeOne) : Zero;\n return function (value) {\n const v = BigNumber.from(value);\n if (v.lt(boundsLower) || v.gt(boundsUpper)) {\n logger.throwArgumentError(`value out-of-bounds for ${type}`, \"value\", value);\n }\n return hexZeroPad(v.toTwos(256).toHexString(), 32);\n };\n }\n }\n // bytesXX\n {\n const match = type.match(/^bytes(\\d+)$/);\n if (match) {\n const width = parseInt(match[1]);\n if (width === 0 || width > 32 || match[1] !== String(width)) {\n logger.throwArgumentError(\"invalid bytes width\", \"type\", type);\n }\n return function (value) {\n const bytes = arrayify(value);\n if (bytes.length !== width) {\n logger.throwArgumentError(`invalid length for ${type}`, \"value\", value);\n }\n return hexPadRight(value);\n };\n }\n }\n switch (type) {\n case \"address\": return function (value) {\n return hexZeroPad(getAddress(value), 32);\n };\n case \"bool\": return function (value) {\n return ((!value) ? hexFalse : hexTrue);\n };\n case \"bytes\": return function (value) {\n return keccak256(value);\n };\n case \"string\": return function (value) {\n return id(value);\n };\n }\n return null;\n}\nfunction encodeType(name, fields) {\n return `${name}(${fields.map(({ name, type }) => (type + \" \" + name)).join(\",\")})`;\n}\nexport class TypedDataEncoder {\n constructor(types) {\n defineReadOnly(this, \"types\", Object.freeze(deepCopy(types)));\n defineReadOnly(this, \"_encoderCache\", {});\n defineReadOnly(this, \"_types\", {});\n // Link struct types to their direct child structs\n const links = {};\n // Link structs to structs which contain them as a child\n const parents = {};\n // Link all subtypes within a given struct\n const subtypes = {};\n Object.keys(types).forEach((type) => {\n links[type] = {};\n parents[type] = [];\n subtypes[type] = {};\n });\n for (const name in types) {\n const uniqueNames = {};\n types[name].forEach((field) => {\n // Check each field has a unique name\n if (uniqueNames[field.name]) {\n logger.throwArgumentError(`duplicate variable name ${JSON.stringify(field.name)} in ${JSON.stringify(name)}`, \"types\", types);\n }\n uniqueNames[field.name] = true;\n // Get the base type (drop any array specifiers)\n const baseType = field.type.match(/^([^\\x5b]*)(\\x5b|$)/)[1];\n if (baseType === name) {\n logger.throwArgumentError(`circular type reference to ${JSON.stringify(baseType)}`, \"types\", types);\n }\n // Is this a base encoding type?\n const encoder = getBaseEncoder(baseType);\n if (encoder) {\n return;\n }\n if (!parents[baseType]) {\n logger.throwArgumentError(`unknown type ${JSON.stringify(baseType)}`, \"types\", types);\n }\n // Add linkage\n parents[baseType].push(name);\n links[name][baseType] = true;\n });\n }\n // Deduce the primary type\n const primaryTypes = Object.keys(parents).filter((n) => (parents[n].length === 0));\n if (primaryTypes.length === 0) {\n logger.throwArgumentError(\"missing primary type\", \"types\", types);\n }\n else if (primaryTypes.length > 1) {\n logger.throwArgumentError(`ambiguous primary types or unused types: ${primaryTypes.map((t) => (JSON.stringify(t))).join(\", \")}`, \"types\", types);\n }\n defineReadOnly(this, \"primaryType\", primaryTypes[0]);\n // Check for circular type references\n function checkCircular(type, found) {\n if (found[type]) {\n logger.throwArgumentError(`circular type reference to ${JSON.stringify(type)}`, \"types\", types);\n }\n found[type] = true;\n Object.keys(links[type]).forEach((child) => {\n if (!parents[child]) {\n return;\n }\n // Recursively check children\n checkCircular(child, found);\n // Mark all ancestors as having this decendant\n Object.keys(found).forEach((subtype) => {\n subtypes[subtype][child] = true;\n });\n });\n delete found[type];\n }\n checkCircular(this.primaryType, {});\n // Compute each fully describe type\n for (const name in subtypes) {\n const st = Object.keys(subtypes[name]);\n st.sort();\n this._types[name] = encodeType(name, types[name]) + st.map((t) => encodeType(t, types[t])).join(\"\");\n }\n }\n getEncoder(type) {\n let encoder = this._encoderCache[type];\n if (!encoder) {\n encoder = this._encoderCache[type] = this._getEncoder(type);\n }\n return encoder;\n }\n _getEncoder(type) {\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = getBaseEncoder(type);\n if (encoder) {\n return encoder;\n }\n }\n // Array\n const match = type.match(/^(.*)(\\x5b(\\d*)\\x5d)$/);\n if (match) {\n const subtype = match[1];\n const subEncoder = this.getEncoder(subtype);\n const length = parseInt(match[3]);\n return (value) => {\n if (length >= 0 && value.length !== length) {\n logger.throwArgumentError(\"array length mismatch; expected length ${ arrayLength }\", \"value\", value);\n }\n let result = value.map(subEncoder);\n if (this._types[subtype]) {\n result = result.map(keccak256);\n }\n return keccak256(hexConcat(result));\n };\n }\n // Struct\n const fields = this.types[type];\n if (fields) {\n const encodedType = id(this._types[type]);\n return (value) => {\n const values = fields.map(({ name, type }) => {\n const result = this.getEncoder(type)(value[name]);\n if (this._types[type]) {\n return keccak256(result);\n }\n return result;\n });\n values.unshift(encodedType);\n return hexConcat(values);\n };\n }\n return logger.throwArgumentError(`unknown type: ${type}`, \"type\", type);\n }\n encodeType(name) {\n const result = this._types[name];\n if (!result) {\n logger.throwArgumentError(`unknown type: ${JSON.stringify(name)}`, \"name\", name);\n }\n return result;\n }\n encodeData(type, value) {\n return this.getEncoder(type)(value);\n }\n hashStruct(name, value) {\n return keccak256(this.encodeData(name, value));\n }\n encode(value) {\n return this.encodeData(this.primaryType, value);\n }\n hash(value) {\n return this.hashStruct(this.primaryType, value);\n }\n _visit(type, value, callback) {\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = getBaseEncoder(type);\n if (encoder) {\n return callback(type, value);\n }\n }\n // Array\n const match = type.match(/^(.*)(\\x5b(\\d*)\\x5d)$/);\n if (match) {\n const subtype = match[1];\n const length = parseInt(match[3]);\n if (length >= 0 && value.length !== length) {\n logger.throwArgumentError(\"array length mismatch; expected length ${ arrayLength }\", \"value\", value);\n }\n return value.map((v) => this._visit(subtype, v, callback));\n }\n // Struct\n const fields = this.types[type];\n if (fields) {\n return fields.reduce((accum, { name, type }) => {\n accum[name] = this._visit(type, value[name], callback);\n return accum;\n }, {});\n }\n return logger.throwArgumentError(`unknown type: ${type}`, \"type\", type);\n }\n visit(value, callback) {\n return this._visit(this.primaryType, value, callback);\n }\n static from(types) {\n return new TypedDataEncoder(types);\n }\n static getPrimaryType(types) {\n return TypedDataEncoder.from(types).primaryType;\n }\n static hashStruct(name, types, value) {\n return TypedDataEncoder.from(types).hashStruct(name, value);\n }\n static hashDomain(domain) {\n const domainFields = [];\n for (const name in domain) {\n const type = domainFieldTypes[name];\n if (!type) {\n logger.throwArgumentError(`invalid typed-data domain key: ${JSON.stringify(name)}`, \"domain\", domain);\n }\n domainFields.push({ name, type });\n }\n domainFields.sort((a, b) => {\n return domainFieldNames.indexOf(a.name) - domainFieldNames.indexOf(b.name);\n });\n return TypedDataEncoder.hashStruct(\"EIP712Domain\", { EIP712Domain: domainFields }, domain);\n }\n static encode(domain, types, value) {\n return hexConcat([\n \"0x1901\",\n TypedDataEncoder.hashDomain(domain),\n TypedDataEncoder.from(types).hash(value)\n ]);\n }\n static hash(domain, types, value) {\n return keccak256(TypedDataEncoder.encode(domain, types, value));\n }\n // Replaces all address types with ENS names with their looked up address\n static resolveNames(domain, types, value, resolveName) {\n return __awaiter(this, void 0, void 0, function* () {\n // Make a copy to isolate it from the object passed in\n domain = shallowCopy(domain);\n // Look up all ENS names\n const ensCache = {};\n // Do we need to look up the domain's verifyingContract?\n if (domain.verifyingContract && !isHexString(domain.verifyingContract, 20)) {\n ensCache[domain.verifyingContract] = \"0x\";\n }\n // We are going to use the encoder to visit all the base values\n const encoder = TypedDataEncoder.from(types);\n // Get a list of all the addresses\n encoder.visit(value, (type, value) => {\n if (type === \"address\" && !isHexString(value, 20)) {\n ensCache[value] = \"0x\";\n }\n return value;\n });\n // Lookup each name\n for (const name in ensCache) {\n ensCache[name] = yield resolveName(name);\n }\n // Replace the domain verifyingContract if needed\n if (domain.verifyingContract && ensCache[domain.verifyingContract]) {\n domain.verifyingContract = ensCache[domain.verifyingContract];\n }\n // Replace all ENS names with their address\n value = encoder.visit(value, (type, value) => {\n if (type === \"address\" && ensCache[value]) {\n return ensCache[value];\n }\n return value;\n });\n return { domain, value };\n });\n }\n static getPayload(domain, types, value) {\n // Validate the domain fields\n TypedDataEncoder.hashDomain(domain);\n // Derive the EIP712Domain Struct reference type\n const domainValues = {};\n const domainTypes = [];\n domainFieldNames.forEach((name) => {\n const value = domain[name];\n if (value == null) {\n return;\n }\n domainValues[name] = domainChecks[name](value);\n domainTypes.push({ name, type: domainFieldTypes[name] });\n });\n const encoder = TypedDataEncoder.from(types);\n const typesWithDomain = shallowCopy(types);\n if (typesWithDomain.EIP712Domain) {\n logger.throwArgumentError(\"types must not contain EIP712Domain type\", \"types.EIP712Domain\", types);\n }\n else {\n typesWithDomain.EIP712Domain = domainTypes;\n }\n // Validate the data structures and types\n encoder.encode(value);\n return {\n types: typesWithDomain,\n domain: domainValues,\n primaryType: encoder.primaryType,\n message: encoder.visit(value, (type, value) => {\n // bytes\n if (type.match(/^bytes(\\d*)/)) {\n return hexlify(arrayify(value));\n }\n // uint or int\n if (type.match(/^u?int/)) {\n return BigNumber.from(value).toString();\n }\n switch (type) {\n case \"address\":\n return value.toLowerCase();\n case \"bool\":\n return !!value;\n case \"string\":\n if (typeof (value) !== \"string\") {\n logger.throwArgumentError(`invalid string`, \"value\", value);\n }\n return value;\n }\n return logger.throwArgumentError(\"unsupported type\", \"type\", type);\n })\n };\n }\n}\n//# sourceMappingURL=typed-data.js.map","import { TypedDataDomain, TypedDataField } from \"@ethersproject/abstract-signer\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { arrayify, BytesLike, hexConcat, hexlify, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { deepCopy, defineReadOnly, shallowCopy } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { id } from \"./id\";\n\nconst padding = new Uint8Array(32);\npadding.fill(0);\n\nconst NegativeOne: BigNumber = BigNumber.from(-1);\nconst Zero: BigNumber = BigNumber.from(0);\nconst One: BigNumber = BigNumber.from(1);\nconst MaxUint256: BigNumber = BigNumber.from(\"0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\");\n\nfunction hexPadRight(value: BytesLike) {\n const bytes = arrayify(value);\n const padOffset = bytes.length % 32\n if (padOffset) {\n return hexConcat([ bytes, padding.slice(padOffset) ]);\n }\n return hexlify(bytes);\n}\n\nconst hexTrue = hexZeroPad(One.toHexString(), 32);\nconst hexFalse = hexZeroPad(Zero.toHexString(), 32);\n\nconst domainFieldTypes: Record = {\n name: \"string\",\n version: \"string\",\n chainId: \"uint256\",\n verifyingContract: \"address\",\n salt: \"bytes32\"\n};\n\nconst domainFieldNames: Array = [\n \"name\", \"version\", \"chainId\", \"verifyingContract\", \"salt\"\n];\n\nfunction checkString(key: string): (value: any) => string {\n return function (value: any){\n if (typeof(value) !== \"string\") {\n logger.throwArgumentError(`invalid domain value for ${ JSON.stringify(key) }`, `domain.${ key }`, value);\n }\n return value;\n }\n}\n\nconst domainChecks: Record any> = {\n name: checkString(\"name\"),\n version: checkString(\"version\"),\n chainId: function(value: any) {\n try {\n return BigNumber.from(value).toString()\n } catch (error) { }\n return logger.throwArgumentError(`invalid domain value for \"chainId\"`, \"domain.chainId\", value);\n },\n verifyingContract: function(value: any) {\n try {\n return getAddress(value).toLowerCase();\n } catch (error) { }\n return logger.throwArgumentError(`invalid domain value \"verifyingContract\"`, \"domain.verifyingContract\", value);\n },\n salt: function(value: any) {\n try {\n const bytes = arrayify(value);\n if (bytes.length !== 32) { throw new Error(\"bad length\"); }\n return hexlify(bytes);\n } catch (error) { }\n return logger.throwArgumentError(`invalid domain value \"salt\"`, \"domain.salt\", value);\n }\n}\n\nfunction getBaseEncoder(type: string): (value: any) => string {\n // intXX and uintXX\n {\n const match = type.match(/^(u?)int(\\d*)$/);\n if (match) {\n const signed = (match[1] === \"\");\n\n const width = parseInt(match[2] || \"256\");\n if (width % 8 !== 0 || width > 256 || (match[2] && match[2] !== String(width))) {\n logger.throwArgumentError(\"invalid numeric width\", \"type\", type);\n }\n\n const boundsUpper = MaxUint256.mask(signed ? (width - 1): width);\n const boundsLower = signed ? boundsUpper.add(One).mul(NegativeOne): Zero;\n\n return function(value: BigNumberish) {\n const v = BigNumber.from(value);\n\n if (v.lt(boundsLower) || v.gt(boundsUpper)) {\n logger.throwArgumentError(`value out-of-bounds for ${ type }`, \"value\", value);\n }\n\n return hexZeroPad(v.toTwos(256).toHexString(), 32);\n };\n }\n }\n\n // bytesXX\n {\n const match = type.match(/^bytes(\\d+)$/);\n if (match) {\n const width = parseInt(match[1]);\n if (width === 0 || width > 32 || match[1] !== String(width)) {\n logger.throwArgumentError(\"invalid bytes width\", \"type\", type);\n }\n\n return function(value: BytesLike) {\n const bytes = arrayify(value);\n if (bytes.length !== width) {\n logger.throwArgumentError(`invalid length for ${ type }`, \"value\", value);\n }\n return hexPadRight(value);\n };\n }\n }\n\n switch (type) {\n case \"address\": return function(value: string) {\n return hexZeroPad(getAddress(value), 32);\n };\n case \"bool\": return function(value: boolean) {\n return ((!value) ? hexFalse: hexTrue);\n };\n case \"bytes\": return function(value: BytesLike) {\n return keccak256(value);\n };\n case \"string\": return function(value: string) {\n return id(value);\n };\n }\n\n return null;\n}\n\nfunction encodeType(name: string, fields: Array): string {\n return `${ name }(${ fields.map(({ name, type }) => (type + \" \" + name)).join(\",\") })`;\n}\n\nexport class TypedDataEncoder {\n readonly primaryType: string;\n readonly types: Record>;\n\n readonly _encoderCache: Record string>;\n readonly _types: Record;\n\n constructor(types: Record>) {\n defineReadOnly(this, \"types\", Object.freeze(deepCopy(types)));\n\n defineReadOnly(this, \"_encoderCache\", { });\n defineReadOnly(this, \"_types\", { });\n\n // Link struct types to their direct child structs\n const links: Record> = { };\n\n // Link structs to structs which contain them as a child\n const parents: Record> = { };\n\n // Link all subtypes within a given struct\n const subtypes: Record> = { };\n\n Object.keys(types).forEach((type) => {\n links[type] = { };\n parents[type] = [ ];\n subtypes[type] = { }\n });\n\n for (const name in types) {\n\n const uniqueNames: Record = { };\n\n types[name].forEach((field) => {\n\n // Check each field has a unique name\n if (uniqueNames[field.name]) {\n logger.throwArgumentError(`duplicate variable name ${ JSON.stringify(field.name) } in ${ JSON.stringify(name) }`, \"types\", types);\n }\n uniqueNames[field.name] = true;\n\n // Get the base type (drop any array specifiers)\n const baseType = field.type.match(/^([^\\x5b]*)(\\x5b|$)/)[1];\n if (baseType === name) {\n logger.throwArgumentError(`circular type reference to ${ JSON.stringify(baseType) }`, \"types\", types);\n }\n\n // Is this a base encoding type?\n const encoder = getBaseEncoder(baseType);\n if (encoder) { return ;}\n\n if (!parents[baseType]) {\n logger.throwArgumentError(`unknown type ${ JSON.stringify(baseType) }`, \"types\", types);\n }\n\n // Add linkage\n parents[baseType].push(name);\n links[name][baseType] = true;\n });\n }\n\n // Deduce the primary type\n const primaryTypes = Object.keys(parents).filter((n) => (parents[n].length === 0));\n\n if (primaryTypes.length === 0) {\n logger.throwArgumentError(\"missing primary type\", \"types\", types);\n } else if (primaryTypes.length > 1) {\n logger.throwArgumentError(`ambiguous primary types or unused types: ${ primaryTypes.map((t) => (JSON.stringify(t))).join(\", \") }`, \"types\", types);\n }\n\n defineReadOnly(this, \"primaryType\", primaryTypes[0]);\n\n // Check for circular type references\n function checkCircular(type: string, found: Record) {\n if (found[type]) {\n logger.throwArgumentError(`circular type reference to ${ JSON.stringify(type) }`, \"types\", types);\n }\n\n found[type] = true;\n\n Object.keys(links[type]).forEach((child) => {\n if (!parents[child]) { return; }\n\n // Recursively check children\n checkCircular(child, found);\n\n // Mark all ancestors as having this decendant\n Object.keys(found).forEach((subtype) => {\n subtypes[subtype][child] = true;\n });\n });\n\n delete found[type];\n }\n checkCircular(this.primaryType, { });\n\n // Compute each fully describe type\n for (const name in subtypes) {\n const st = Object.keys(subtypes[name]);\n st.sort();\n this._types[name] = encodeType(name, types[name]) + st.map((t) => encodeType(t, types[t])).join(\"\");\n }\n }\n\n getEncoder(type: string): (value: any) => string {\n let encoder = this._encoderCache[type];\n if (!encoder) {\n encoder = this._encoderCache[type] = this._getEncoder(type);\n }\n return encoder;\n }\n\n _getEncoder(type: string): (value: any) => string {\n\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = getBaseEncoder(type);\n if (encoder) { return encoder; }\n }\n\n // Array\n const match = type.match(/^(.*)(\\x5b(\\d*)\\x5d)$/);\n if (match) {\n const subtype = match[1];\n const subEncoder = this.getEncoder(subtype);\n const length = parseInt(match[3]);\n return (value: Array) => {\n if (length >= 0 && value.length !== length) {\n logger.throwArgumentError(\"array length mismatch; expected length ${ arrayLength }\", \"value\", value);\n }\n\n let result = value.map(subEncoder);\n if (this._types[subtype]) {\n result = result.map(keccak256);\n }\n\n return keccak256(hexConcat(result));\n };\n }\n\n // Struct\n const fields = this.types[type];\n if (fields) {\n const encodedType = id(this._types[type]);\n return (value: Record) => {\n const values = fields.map(({ name, type }) => {\n const result = this.getEncoder(type)(value[name]);\n if (this._types[type]) { return keccak256(result); }\n return result;\n });\n values.unshift(encodedType);\n return hexConcat(values);\n }\n }\n\n return logger.throwArgumentError(`unknown type: ${ type }`, \"type\", type);\n }\n\n encodeType(name: string): string {\n const result = this._types[name];\n if (!result) {\n logger.throwArgumentError(`unknown type: ${ JSON.stringify(name) }`, \"name\", name);\n }\n return result;\n }\n\n encodeData(type: string, value: any): string {\n return this.getEncoder(type)(value);\n }\n\n hashStruct(name: string, value: Record): string {\n return keccak256(this.encodeData(name, value));\n }\n\n encode(value: Record): string {\n return this.encodeData(this.primaryType, value);\n }\n\n hash(value: Record): string {\n return this.hashStruct(this.primaryType, value);\n }\n\n _visit(type: string, value: any, callback: (type: string, data: any) => any): any {\n // Basic encoder type (address, bool, uint256, etc)\n {\n const encoder = getBaseEncoder(type);\n if (encoder) { return callback(type, value); }\n }\n\n // Array\n const match = type.match(/^(.*)(\\x5b(\\d*)\\x5d)$/);\n if (match) {\n const subtype = match[1];\n const length = parseInt(match[3]);\n if (length >= 0 && value.length !== length) {\n logger.throwArgumentError(\"array length mismatch; expected length ${ arrayLength }\", \"value\", value);\n }\n return value.map((v: any) => this._visit(subtype, v, callback));\n }\n\n // Struct\n const fields = this.types[type];\n if (fields) {\n return fields.reduce((accum, { name, type }) => {\n accum[name] = this._visit(type, value[name], callback);\n return accum;\n }, >{});\n }\n\n return logger.throwArgumentError(`unknown type: ${ type }`, \"type\", type);\n }\n\n visit(value: Record, callback: (type: string, data: any) => any): any {\n return this._visit(this.primaryType, value, callback);\n }\n\n static from(types: Record>): TypedDataEncoder {\n return new TypedDataEncoder(types);\n }\n\n static getPrimaryType(types: Record>): string {\n return TypedDataEncoder.from(types).primaryType;\n }\n\n static hashStruct(name: string, types: Record>, value: Record): string {\n return TypedDataEncoder.from(types).hashStruct(name, value);\n }\n\n static hashDomain(domain: TypedDataDomain): string {\n const domainFields: Array = [ ];\n for (const name in domain) {\n const type = domainFieldTypes[name];\n if (!type) {\n logger.throwArgumentError(`invalid typed-data domain key: ${ JSON.stringify(name) }`, \"domain\", domain);\n }\n domainFields.push({ name, type });\n }\n\n domainFields.sort((a, b) => {\n return domainFieldNames.indexOf(a.name) - domainFieldNames.indexOf(b.name);\n });\n\n return TypedDataEncoder.hashStruct(\"EIP712Domain\", { EIP712Domain: domainFields }, domain);\n }\n\n static encode(domain: TypedDataDomain, types: Record>, value: Record): string {\n return hexConcat([\n \"0x1901\",\n TypedDataEncoder.hashDomain(domain),\n TypedDataEncoder.from(types).hash(value)\n ]);\n }\n\n static hash(domain: TypedDataDomain, types: Record>, value: Record): string {\n return keccak256(TypedDataEncoder.encode(domain, types, value));\n }\n\n // Replaces all address types with ENS names with their looked up address\n static async resolveNames(domain: TypedDataDomain, types: Record>, value: Record, resolveName: (name: string) => Promise): Promise<{ domain: TypedDataDomain, value: any }> {\n // Make a copy to isolate it from the object passed in\n domain = shallowCopy(domain);\n\n // Look up all ENS names\n const ensCache: Record = { };\n\n // Do we need to look up the domain's verifyingContract?\n if (domain.verifyingContract && !isHexString(domain.verifyingContract, 20)) {\n ensCache[domain.verifyingContract] = \"0x\";\n }\n\n // We are going to use the encoder to visit all the base values\n const encoder = TypedDataEncoder.from(types);\n\n // Get a list of all the addresses\n encoder.visit(value, (type: string, value: any) => {\n if (type === \"address\" && !isHexString(value, 20)) {\n ensCache[value] = \"0x\";\n }\n return value;\n });\n\n // Lookup each name\n for (const name in ensCache) {\n ensCache[name] = await resolveName(name);\n }\n\n // Replace the domain verifyingContract if needed\n if (domain.verifyingContract && ensCache[domain.verifyingContract]) {\n domain.verifyingContract = ensCache[domain.verifyingContract];\n }\n\n // Replace all ENS names with their address\n value = encoder.visit(value, (type: string, value: any) => {\n if (type === \"address\" && ensCache[value]) { return ensCache[value]; }\n return value;\n });\n\n return { domain, value };\n }\n\n static getPayload(domain: TypedDataDomain, types: Record>, value: Record): any {\n // Validate the domain fields\n TypedDataEncoder.hashDomain(domain);\n\n // Derive the EIP712Domain Struct reference type\n const domainValues: Record = { };\n const domainTypes: Array<{ name: string, type:string }> = [ ];\n\n domainFieldNames.forEach((name) => {\n const value = (domain)[name];\n if (value == null) { return; }\n domainValues[name] = domainChecks[name](value);\n domainTypes.push({ name, type: domainFieldTypes[name] });\n });\n\n const encoder = TypedDataEncoder.from(types);\n\n const typesWithDomain = shallowCopy(types);\n if (typesWithDomain.EIP712Domain) {\n logger.throwArgumentError(\"types must not contain EIP712Domain type\", \"types.EIP712Domain\", types);\n } else {\n typesWithDomain.EIP712Domain = domainTypes;\n }\n\n // Validate the data structures and types\n encoder.encode(value);\n\n return {\n types: typesWithDomain,\n domain: domainValues,\n primaryType: encoder.primaryType,\n message: encoder.visit(value, (type: string, value: any) => {\n\n // bytes\n if (type.match(/^bytes(\\d*)/)) {\n return hexlify(arrayify(value));\n }\n\n // uint or int\n if (type.match(/^u?int/)) {\n return BigNumber.from(value).toString();\n }\n\n switch (type) {\n case \"address\":\n return value.toLowerCase();\n case \"bool\":\n return !!value;\n case \"string\":\n if (typeof(value) !== \"string\") {\n logger.throwArgumentError(`invalid string`, \"value\", value);\n }\n return value;\n }\n\n return logger.throwArgumentError(\"unsupported type\", \"type\", type);\n })\n };\n }\n}\n\n","export const version = \"hash/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"hash/5.7.0\";\n","import { concat, hexlify } from \"@ethersproject/bytes\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { ens_normalize } from \"./ens-normalize/lib\";\nconst Zeros = new Uint8Array(32);\nZeros.fill(0);\nfunction checkComponent(comp) {\n if (comp.length === 0) {\n throw new Error(\"invalid ENS name; empty component\");\n }\n return comp;\n}\nfunction ensNameSplit(name) {\n const bytes = toUtf8Bytes(ens_normalize(name));\n const comps = [];\n if (name.length === 0) {\n return comps;\n }\n let last = 0;\n for (let i = 0; i < bytes.length; i++) {\n const d = bytes[i];\n // A separator (i.e. \".\"); copy this component\n if (d === 0x2e) {\n comps.push(checkComponent(bytes.slice(last, i)));\n last = i + 1;\n }\n }\n // There was a stray separator at the end of the name\n if (last >= bytes.length) {\n throw new Error(\"invalid ENS name; empty component\");\n }\n comps.push(checkComponent(bytes.slice(last)));\n return comps;\n}\nexport function ensNormalize(name) {\n return ensNameSplit(name).map((comp) => toUtf8String(comp)).join(\".\");\n}\nexport function isValidName(name) {\n try {\n return (ensNameSplit(name).length !== 0);\n }\n catch (error) { }\n return false;\n}\nexport function namehash(name) {\n /* istanbul ignore if */\n if (typeof (name) !== \"string\") {\n logger.throwArgumentError(\"invalid ENS name; not a string\", \"name\", name);\n }\n let result = Zeros;\n const comps = ensNameSplit(name);\n while (comps.length) {\n result = keccak256(concat([result, keccak256(comps.pop())]));\n }\n return hexlify(result);\n}\nexport function dnsEncode(name) {\n return hexlify(concat(ensNameSplit(name).map((comp) => {\n // DNS does not allow components over 63 bytes in length\n if (comp.length > 63) {\n throw new Error(\"invalid DNS encoded entry; length exceeds 63 bytes\");\n }\n const bytes = new Uint8Array(comp.length + 1);\n bytes.set(comp, 1);\n bytes[0] = bytes.length - 1;\n return bytes;\n }))) + \"00\";\n}\n//# sourceMappingURL=namehash.js.map","import { concat, hexlify } from \"@ethersproject/bytes\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { ens_normalize } from \"./ens-normalize/lib\";\n\nconst Zeros = new Uint8Array(32);\nZeros.fill(0);\n\nfunction checkComponent(comp: Uint8Array): Uint8Array {\n if (comp.length === 0) { throw new Error(\"invalid ENS name; empty component\"); }\n return comp;\n}\n\nfunction ensNameSplit(name: string): Array {\n const bytes = toUtf8Bytes(ens_normalize(name));\n const comps: Array = [ ];\n\n if (name.length === 0) { return comps; }\n\n let last = 0;\n for (let i = 0; i < bytes.length; i++) {\n const d = bytes[i];\n\n // A separator (i.e. \".\"); copy this component\n if (d === 0x2e) {\n comps.push(checkComponent(bytes.slice(last, i)));\n last = i + 1;\n }\n }\n\n // There was a stray separator at the end of the name\n if (last >= bytes.length) { throw new Error(\"invalid ENS name; empty component\"); }\n\n comps.push(checkComponent(bytes.slice(last)));\n return comps;\n}\n\nexport function ensNormalize(name: string): string {\n return ensNameSplit(name).map((comp) => toUtf8String(comp)).join(\".\");\n}\n\nexport function isValidName(name: string): boolean {\n try {\n return (ensNameSplit(name).length !== 0);\n } catch (error) { }\n return false;\n}\n\nexport function namehash(name: string): string {\n /* istanbul ignore if */\n if (typeof(name) !== \"string\") {\n logger.throwArgumentError(\"invalid ENS name; not a string\", \"name\", name);\n }\n\n let result: string | Uint8Array = Zeros;\n\n const comps = ensNameSplit(name);\n while (comps.length) {\n result = keccak256(concat([result, keccak256(comps.pop())]));\n }\n\n return hexlify(result);\n}\n\nexport function dnsEncode(name: string): string {\n return hexlify(concat(ensNameSplit(name).map((comp) => {\n // DNS does not allow components over 63 bytes in length\n if (comp.length > 63) {\n throw new Error(\"invalid DNS encoded entry; length exceeds 63 bytes\");\n }\n\n const bytes = new Uint8Array(comp.length + 1);\n bytes.set(comp, 1);\n bytes[0] = bytes.length - 1;\n return bytes;\n\n }))) + \"00\";\n}\n","/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */\nimport { toUtf8CodePoints } from \"@ethersproject/strings\";\nimport { getData } from './include.js';\nconst r = getData();\nimport { read_member_array, read_mapped_map, read_emoji_trie } from './decoder.js';\n// @TODO: This should be lazily loaded\nconst VALID = new Set(read_member_array(r));\nconst IGNORED = new Set(read_member_array(r));\nconst MAPPED = read_mapped_map(r);\nconst EMOJI_ROOT = read_emoji_trie(r);\n//const NFC_CHECK = new Set(read_member_array(r, Array.from(VALID.values()).sort((a, b) => a - b)));\n//const STOP = 0x2E;\nconst HYPHEN = 0x2D;\nconst UNDERSCORE = 0x5F;\nfunction explode_cp(name) {\n return toUtf8CodePoints(name);\n}\nfunction filter_fe0f(cps) {\n return cps.filter(cp => cp != 0xFE0F);\n}\nexport function ens_normalize_post_check(name) {\n for (let label of name.split('.')) {\n let cps = explode_cp(label);\n try {\n for (let i = cps.lastIndexOf(UNDERSCORE) - 1; i >= 0; i--) {\n if (cps[i] !== UNDERSCORE) {\n throw new Error(`underscore only allowed at start`);\n }\n }\n if (cps.length >= 4 && cps.every(cp => cp < 0x80) && cps[2] === HYPHEN && cps[3] === HYPHEN) {\n throw new Error(`invalid label extension`);\n }\n }\n catch (err) {\n throw new Error(`Invalid label \"${label}\": ${err.message}`);\n }\n }\n return name;\n}\nexport function ens_normalize(name) {\n return ens_normalize_post_check(normalize(name, filter_fe0f));\n}\nfunction normalize(name, emoji_filter) {\n let input = explode_cp(name).reverse(); // flip for pop\n let output = [];\n while (input.length) {\n let emoji = consume_emoji_reversed(input);\n if (emoji) {\n output.push(...emoji_filter(emoji));\n continue;\n }\n let cp = input.pop();\n if (VALID.has(cp)) {\n output.push(cp);\n continue;\n }\n if (IGNORED.has(cp)) {\n continue;\n }\n let cps = MAPPED[cp];\n if (cps) {\n output.push(...cps);\n continue;\n }\n throw new Error(`Disallowed codepoint: 0x${cp.toString(16).toUpperCase()}`);\n }\n return ens_normalize_post_check(nfc(String.fromCodePoint(...output)));\n}\nfunction nfc(s) {\n return s.normalize('NFC');\n}\nfunction consume_emoji_reversed(cps, eaten) {\n var _a;\n let node = EMOJI_ROOT;\n let emoji;\n let saved;\n let stack = [];\n let pos = cps.length;\n if (eaten)\n eaten.length = 0; // clear input buffer (if needed)\n while (pos) {\n let cp = cps[--pos];\n node = (_a = node.branches.find(x => x.set.has(cp))) === null || _a === void 0 ? void 0 : _a.node;\n if (!node)\n break;\n if (node.save) { // remember\n saved = cp;\n }\n else if (node.check) { // check exclusion\n if (cp === saved)\n break;\n }\n stack.push(cp);\n if (node.fe0f) {\n stack.push(0xFE0F);\n if (pos > 0 && cps[pos - 1] == 0xFE0F)\n pos--; // consume optional FE0F\n }\n if (node.valid) { // this is a valid emoji (so far)\n emoji = stack.slice(); // copy stack\n if (node.valid == 2)\n emoji.splice(1, 1); // delete FE0F at position 1 (RGI ZWJ don't follow spec!)\n if (eaten)\n eaten.push(...cps.slice(pos).reverse()); // copy input (if needed)\n cps.length = pos; // truncate\n }\n }\n return emoji;\n}\n//# sourceMappingURL=lib.js.map","/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */\n\nimport { toUtf8CodePoints } from \"@ethersproject/strings\";\n\nimport { getData } from './include.js';\nconst r = getData();\n\nimport {read_member_array, read_mapped_map, read_emoji_trie} from './decoder.js';\n\n// @TODO: This should be lazily loaded\n\nconst VALID = new Set(read_member_array(r));\nconst IGNORED = new Set(read_member_array(r));\nconst MAPPED = read_mapped_map(r);\nconst EMOJI_ROOT = read_emoji_trie(r);\n//const NFC_CHECK = new Set(read_member_array(r, Array.from(VALID.values()).sort((a, b) => a - b)));\n\n//const STOP = 0x2E;\nconst HYPHEN = 0x2D;\nconst UNDERSCORE = 0x5F;\n\nfunction explode_cp(name: string): Array {\n return toUtf8CodePoints(name);\n}\n\nfunction filter_fe0f(cps: Array): Array {\n return cps.filter(cp => cp != 0xFE0F);\n}\n\nexport function ens_normalize_post_check(name: string): string {\n\tfor (let label of name.split('.')) {\n\t\tlet cps = explode_cp(label);\n\t\ttry {\n\t\t\tfor (let i = cps.lastIndexOf(UNDERSCORE) - 1; i >= 0; i--) {\n\t\t\t\tif (cps[i] !== UNDERSCORE) {\n\t\t\t\t\tthrow new Error(`underscore only allowed at start`);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (cps.length >= 4 && cps.every(cp => cp < 0x80) && cps[2] === HYPHEN && cps[3] === HYPHEN) {\n\t\t\t\tthrow new Error(`invalid label extension`);\n\t\t\t}\n\t\t} catch (err) {\n\t\t\tthrow new Error(`Invalid label \"${label}\": ${err.message}`);\n\t\t}\n\t}\n\treturn name;\n}\n\nexport function ens_normalize(name: string): string {\n\treturn ens_normalize_post_check(normalize(name, filter_fe0f));\n}\n\nfunction normalize(name: string, emoji_filter: (a: Array) => Array): string {\n\tlet input = explode_cp(name).reverse(); // flip for pop\n\tlet output = [];\n\twhile (input.length) {\t\t\n\t\tlet emoji = consume_emoji_reversed(input);\n\t\tif (emoji) {\n\t\t\toutput.push(...emoji_filter(emoji));\n\t\t\tcontinue;\n\t\t}\n\t\tlet cp = input.pop();\n\t\tif (VALID.has(cp)) {\n\t\t\toutput.push(cp);\n\t\t\tcontinue;\n\t\t} \n\t\tif (IGNORED.has(cp)) {\n\t\t\tcontinue;\n\t\t}\n\t\tlet cps = MAPPED[cp];\n\t\tif (cps) {\n\t\t\toutput.push(...cps);\n\t\t\tcontinue;\n\t\t}\n\t\tthrow new Error(`Disallowed codepoint: 0x${cp.toString(16).toUpperCase()}`);\n\t}\n\treturn ens_normalize_post_check(nfc(String.fromCodePoint(...output)));\n}\n\nfunction nfc(s: string): string {\n return s.normalize('NFC');\n}\n\nfunction consume_emoji_reversed(cps: Array, eaten?: Array) {\n\tlet node = EMOJI_ROOT;\n\tlet emoji;\n\tlet saved;\n\tlet stack = [];\n\tlet pos = cps.length;\n\tif (eaten) eaten.length = 0; // clear input buffer (if needed)\n\twhile (pos) {\n\t\tlet cp = cps[--pos];\n\t\tnode = node.branches.find(x => x.set.has(cp))?.node;\n\t\tif (!node) break;\n\t\tif (node.save) { // remember\n\t\t\tsaved = cp;\n\t\t} else if (node.check) { // check exclusion\n\t\t\tif (cp === saved) break;\n\t\t}\n\t\tstack.push(cp);\n\t\tif (node.fe0f) {\n\t\t\tstack.push(0xFE0F);\n\t\t\tif (pos > 0 && cps[pos - 1] == 0xFE0F) pos--; // consume optional FE0F\n\t\t}\n\t\tif (node.valid) { // this is a valid emoji (so far)\n\t\t\temoji = stack.slice(); // copy stack\n\t\t\tif (node.valid == 2) emoji.splice(1, 1); // delete FE0F at position 1 (RGI ZWJ don't follow spec!)\n\t\t\tif (eaten) eaten.push(...cps.slice(pos).reverse()); // copy input (if needed)\n\t\t\tcps.length = pos; // truncate\n\t\t}\n\t}\n\treturn emoji;\n}\n","/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */\nimport { decode } from \"@ethersproject/base64\";\nimport { read_compressed_payload } from './decoder.js';\nexport function getData() {\n return read_compressed_payload(decode('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'));\n}\n//# sourceMappingURL=include.js.map","/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */\n\nimport { decode } from \"@ethersproject/base64\";\n\nimport {read_compressed_payload} from './decoder.js';\n\nexport function getData(): () => number {\n return read_compressed_payload(decode('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'));\n}\n\n","/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */\n// https://github.com/behnammodi/polyfill/blob/master/array.polyfill.js\nfunction flat(array, depth) {\n if (depth == null) {\n depth = 1;\n }\n const result = [];\n const forEach = result.forEach;\n const flatDeep = function (arr, depth) {\n forEach.call(arr, function (val) {\n if (depth > 0 && Array.isArray(val)) {\n flatDeep(val, depth - 1);\n }\n else {\n result.push(val);\n }\n });\n };\n flatDeep(array, depth);\n return result;\n}\nfunction fromEntries(array) {\n const result = {};\n for (let i = 0; i < array.length; i++) {\n const value = array[i];\n result[value[0]] = value[1];\n }\n return result;\n}\nexport function decode_arithmetic(bytes) {\n let pos = 0;\n function u16() { return (bytes[pos++] << 8) | bytes[pos++]; }\n // decode the frequency table\n let symbol_count = u16();\n let total = 1;\n let acc = [0, 1]; // first symbol has frequency 1\n for (let i = 1; i < symbol_count; i++) {\n acc.push(total += u16());\n }\n // skip the sized-payload that the last 3 symbols index into\n let skip = u16();\n let pos_payload = pos;\n pos += skip;\n let read_width = 0;\n let read_buffer = 0;\n function read_bit() {\n if (read_width == 0) {\n // this will read beyond end of buffer\n // but (undefined|0) => zero pad\n read_buffer = (read_buffer << 8) | bytes[pos++];\n read_width = 8;\n }\n return (read_buffer >> --read_width) & 1;\n }\n const N = 31;\n const FULL = Math.pow(2, N);\n const HALF = FULL >>> 1;\n const QRTR = HALF >> 1;\n const MASK = FULL - 1;\n // fill register\n let register = 0;\n for (let i = 0; i < N; i++)\n register = (register << 1) | read_bit();\n let symbols = [];\n let low = 0;\n let range = FULL; // treat like a float\n while (true) {\n let value = Math.floor((((register - low + 1) * total) - 1) / range);\n let start = 0;\n let end = symbol_count;\n while (end - start > 1) { // binary search\n let mid = (start + end) >>> 1;\n if (value < acc[mid]) {\n end = mid;\n }\n else {\n start = mid;\n }\n }\n if (start == 0)\n break; // first symbol is end mark\n symbols.push(start);\n let a = low + Math.floor(range * acc[start] / total);\n let b = low + Math.floor(range * acc[start + 1] / total) - 1;\n while (((a ^ b) & HALF) == 0) {\n register = (register << 1) & MASK | read_bit();\n a = (a << 1) & MASK;\n b = (b << 1) & MASK | 1;\n }\n while (a & ~b & QRTR) {\n register = (register & HALF) | ((register << 1) & (MASK >>> 1)) | read_bit();\n a = (a << 1) ^ HALF;\n b = ((b ^ HALF) << 1) | HALF | 1;\n }\n low = a;\n range = 1 + b - a;\n }\n let offset = symbol_count - 4;\n return symbols.map(x => {\n switch (x - offset) {\n case 3: return offset + 0x10100 + ((bytes[pos_payload++] << 16) | (bytes[pos_payload++] << 8) | bytes[pos_payload++]);\n case 2: return offset + 0x100 + ((bytes[pos_payload++] << 8) | bytes[pos_payload++]);\n case 1: return offset + bytes[pos_payload++];\n default: return x - 1;\n }\n });\n}\n// returns an iterator which returns the next symbol\nexport function read_payload(v) {\n let pos = 0;\n return () => v[pos++];\n}\nexport function read_compressed_payload(bytes) {\n return read_payload(decode_arithmetic(bytes));\n}\n// eg. [0,1,2,3...] => [0,-1,1,-2,...]\nexport function signed(i) {\n return (i & 1) ? (~i >> 1) : (i >> 1);\n}\nfunction read_counts(n, next) {\n let v = Array(n);\n for (let i = 0; i < n; i++)\n v[i] = 1 + next();\n return v;\n}\nfunction read_ascending(n, next) {\n let v = Array(n);\n for (let i = 0, x = -1; i < n; i++)\n v[i] = x += 1 + next();\n return v;\n}\nfunction read_deltas(n, next) {\n let v = Array(n);\n for (let i = 0, x = 0; i < n; i++)\n v[i] = x += signed(next());\n return v;\n}\nexport function read_member_array(next, lookup) {\n let v = read_ascending(next(), next);\n let n = next();\n let vX = read_ascending(n, next);\n let vN = read_counts(n, next);\n for (let i = 0; i < n; i++) {\n for (let j = 0; j < vN[i]; j++) {\n v.push(vX[i] + j);\n }\n }\n return lookup ? v.map(x => lookup[x]) : v;\n}\n// returns array of \n// [x, ys] => single replacement rule\n// [x, ys, n, dx, dx] => linear map\nexport function read_mapped_map(next) {\n let ret = [];\n while (true) {\n let w = next();\n if (w == 0)\n break;\n ret.push(read_linear_table(w, next));\n }\n while (true) {\n let w = next() - 1;\n if (w < 0)\n break;\n ret.push(read_replacement_table(w, next));\n }\n return fromEntries(flat(ret));\n}\nexport function read_zero_terminated_array(next) {\n let v = [];\n while (true) {\n let i = next();\n if (i == 0)\n break;\n v.push(i);\n }\n return v;\n}\nfunction read_transposed(n, w, next) {\n let m = Array(n).fill(undefined).map(() => []);\n for (let i = 0; i < w; i++) {\n read_deltas(n, next).forEach((x, j) => m[j].push(x));\n }\n return m;\n}\nfunction read_linear_table(w, next) {\n let dx = 1 + next();\n let dy = next();\n let vN = read_zero_terminated_array(next);\n let m = read_transposed(vN.length, 1 + w, next);\n return flat(m.map((v, i) => {\n const x = v[0], ys = v.slice(1);\n //let [x, ...ys] = v;\n //return Array(vN[i]).fill().map((_, j) => {\n return Array(vN[i]).fill(undefined).map((_, j) => {\n let j_dy = j * dy;\n return [x + j * dx, ys.map(y => y + j_dy)];\n });\n }));\n}\nfunction read_replacement_table(w, next) {\n let n = 1 + next();\n let m = read_transposed(n, 1 + w, next);\n return m.map(v => [v[0], v.slice(1)]);\n}\nexport function read_emoji_trie(next) {\n let sorted = read_member_array(next).sort((a, b) => a - b);\n return read();\n function read() {\n let branches = [];\n while (true) {\n let keys = read_member_array(next, sorted);\n if (keys.length == 0)\n break;\n branches.push({ set: new Set(keys), node: read() });\n }\n branches.sort((a, b) => b.set.size - a.set.size); // sort by likelihood\n let temp = next();\n let valid = temp % 3;\n temp = (temp / 3) | 0;\n let fe0f = !!(temp & 1);\n temp >>= 1;\n let save = temp == 1;\n let check = temp == 2;\n return { branches, valid, fe0f, save, check };\n }\n}\n//# sourceMappingURL=decoder.js.map","/**\n * MIT License\n *\n * Copyright (c) 2021 Andrew Raffensperger\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n *\n * This is a near carbon-copy of the original source (link below) with the\n * TypeScript typings added and a few tweaks to make it ES3-compatible.\n *\n * See: https://github.com/adraffy/ens-normalize.js\n */\n\nexport type Numbers = Uint8Array | Array;\nexport type NextFunc = (...args: Array) => number;\n\n// https://github.com/behnammodi/polyfill/blob/master/array.polyfill.js\nfunction flat(array: Array, depth?: number): Array {\n if (depth == null) { depth = 1; }\n const result: Array = [];\n\n const forEach = result.forEach;\n\n const flatDeep = function (arr: Array, depth: number) {\n forEach.call(arr, function (val: any) {\n if (depth > 0 && Array.isArray(val)) {\n flatDeep(val, depth - 1);\n } else {\n result.push(val);\n }\n });\n };\n\n flatDeep(array, depth);\n return result;\n}\n\nfunction fromEntries(array: Array<[T, U]>): Record {\n const result: Record = >{ };\n for (let i = 0; i < array.length; i++) {\n const value = array[i];\n result[value[0]] = value[1];\n }\n return result;\n}\n\nexport function decode_arithmetic(bytes: Numbers): Array {\n\tlet pos = 0;\n\tfunction u16() { return (bytes[pos++] << 8) | bytes[pos++]; }\n\t\n\t// decode the frequency table\n\tlet symbol_count = u16();\n\tlet total = 1;\n\tlet acc = [0, 1]; // first symbol has frequency 1\n\tfor (let i = 1; i < symbol_count; i++) {\n\t\tacc.push(total += u16());\n\t}\n\n\t// skip the sized-payload that the last 3 symbols index into\n\tlet skip = u16();\n\tlet pos_payload = pos;\n\tpos += skip;\n\n\tlet read_width = 0;\n\tlet read_buffer = 0; \n\tfunction read_bit() {\n\t\tif (read_width == 0) {\n\t\t\t// this will read beyond end of buffer\n\t\t\t// but (undefined|0) => zero pad\n\t\t\tread_buffer = (read_buffer << 8) | bytes[pos++];\n\t\t\tread_width = 8;\n\t\t}\n\t\treturn (read_buffer >> --read_width) & 1;\n\t}\n\n\tconst N = 31;\n\tconst FULL = 2**N;\n\tconst HALF = FULL >>> 1;\n\tconst QRTR = HALF >> 1;\n\tconst MASK = FULL - 1;\n\n\t// fill register\n\tlet register = 0;\n\tfor (let i = 0; i < N; i++) register = (register << 1) | read_bit();\n\n\tlet symbols = [];\n\tlet low = 0;\n\tlet range = FULL; // treat like a float\n\twhile (true) {\n\t\tlet value = Math.floor((((register - low + 1) * total) - 1) / range);\n\t\tlet start = 0;\n\t\tlet end = symbol_count;\n\t\twhile (end - start > 1) { // binary search\n\t\t\tlet mid = (start + end) >>> 1;\n\t\t\tif (value < acc[mid]) {\n\t\t\t\tend = mid;\n\t\t\t} else {\n\t\t\t\tstart = mid;\n\t\t\t}\n\t\t}\n\t\tif (start == 0) break; // first symbol is end mark\n\t\tsymbols.push(start);\n\t\tlet a = low + Math.floor(range * acc[start] / total);\n\t\tlet b = low + Math.floor(range * acc[start+1] / total) - 1\n\t\twhile (((a ^ b) & HALF) == 0) {\n\t\t\tregister = (register << 1) & MASK | read_bit();\n\t\t\ta = (a << 1) & MASK;\n\t\t\tb = (b << 1) & MASK | 1;\n\t\t}\n\t\twhile (a & ~b & QRTR) {\n\t\t\tregister = (register & HALF) | ((register << 1) & (MASK >>> 1)) | read_bit();\n\t\t\ta = (a << 1) ^ HALF;\n\t\t\tb = ((b ^ HALF) << 1) | HALF | 1;\n\t\t}\n\t\tlow = a;\n\t\trange = 1 + b - a;\n\t}\n\tlet offset = symbol_count - 4;\n\treturn symbols.map(x => { // index into payload\n\t\tswitch (x - offset) {\n\t\t\tcase 3: return offset + 0x10100 + ((bytes[pos_payload++] << 16) | (bytes[pos_payload++] << 8) | bytes[pos_payload++]);\n\t\t\tcase 2: return offset + 0x100 + ((bytes[pos_payload++] << 8) | bytes[pos_payload++]);\n\t\t\tcase 1: return offset + bytes[pos_payload++];\n\t\t\tdefault: return x - 1;\n\t\t}\n\t});\n}\t\n\n\n// returns an iterator which returns the next symbol\nexport function read_payload(v: Numbers): NextFunc {\n\tlet pos = 0;\n\treturn () => v[pos++];\n}\nexport function read_compressed_payload(bytes: Numbers): NextFunc {\n\treturn read_payload(decode_arithmetic(bytes));\n}\n\n// eg. [0,1,2,3...] => [0,-1,1,-2,...]\nexport function signed(i: number): number { \n\treturn (i & 1) ? (~i >> 1) : (i >> 1);\n}\n\nfunction read_counts(n: number, next: NextFunc): Array {\n\tlet v = Array(n);\n\tfor (let i = 0; i < n; i++) v[i] = 1 + next();\n\treturn v;\n}\n\nfunction read_ascending(n: number, next: NextFunc): Array {\n\tlet v = Array(n);\n\tfor (let i = 0, x = -1; i < n; i++) v[i] = x += 1 + next();\n\treturn v;\n}\n\nfunction read_deltas(n: number, next: NextFunc): Array {\n\tlet v = Array(n);\n\tfor (let i = 0, x = 0; i < n; i++) v[i] = x += signed(next());\n\treturn v;\n}\n\nexport function read_member_array(next: NextFunc, lookup?: Record) {\n let v = read_ascending(next(), next);\n let n = next();\n let vX = read_ascending(n, next);\n let vN = read_counts(n, next);\n for (let i = 0; i < n; i++) {\n for (let j = 0; j < vN[i]; j++) {\n v.push(vX[i] + j);\n }\n }\n return lookup ? v.map(x => lookup[x]) : v;\n}\n\n// returns array of \n// [x, ys] => single replacement rule\n// [x, ys, n, dx, dx] => linear map\nexport function read_mapped_map(next: NextFunc): Record> {\n\tlet ret = [];\n\twhile (true) {\n\t\tlet w = next();\n\t\tif (w == 0) break;\n\t\tret.push(read_linear_table(w, next));\n\t}\n\twhile (true) {\n\t\tlet w = next() - 1;\n\t\tif (w < 0) break;\n\t\tret.push(read_replacement_table(w, next));\n\t}\n\treturn fromEntries>(flat(ret));\n}\n\nexport function read_zero_terminated_array(next: NextFunc): Array {\n\tlet v = [];\n\twhile (true) {\n\t\tlet i = next();\n\t\tif (i == 0) break;\n\t\tv.push(i);\n\t}\n\treturn v;\n}\n\nfunction read_transposed(n: number, w: number, next: NextFunc): Array> {\n let m = Array(n).fill(undefined).map(() => []);\n for (let i = 0; i < w; i++) {\n read_deltas(n, next).forEach((x, j) => m[j].push(x));\n }\n return m;\n}\n\n\nfunction read_linear_table(w: number, next: NextFunc): Array>> {\n\tlet dx = 1 + next();\n\tlet dy = next();\n\tlet vN = read_zero_terminated_array(next);\n\tlet m = read_transposed(vN.length, 1+w, next);\n\treturn flat(m.map((v, i) => {\n\t const x = v[0], ys = v.slice(1);\n\t\t//let [x, ...ys] = v;\n\t\t//return Array(vN[i]).fill().map((_, j) => {\n\t\treturn Array(vN[i]).fill(undefined).map((_, j) => {\n\t\t\tlet j_dy = j * dy;\n\t\t\treturn [x + j * dx, ys.map(y => y + j_dy)];\n\t\t});\n\t}));\n}\n\nfunction read_replacement_table(w: number, next: NextFunc): Array<[ number, Array ]> {\n\tlet n = 1 + next();\n\tlet m = read_transposed(n, 1+w, next);\n\treturn m.map(v => [v[0], v.slice(1)]);\n}\n\nexport type Branch = {\n set: Set;\n node: Node;\n};\n\nexport type Node = {\n branches: Array;\n valid: number;\n fe0f: boolean;\n save: boolean;\n check: boolean;\n};\n\nexport function read_emoji_trie(next: NextFunc): Node {\n\tlet sorted = read_member_array(next).sort((a, b) => a - b);\n\treturn read();\n\tfunction read(): Node {\n\t\tlet branches = [];\n\t\twhile (true) {\n\t\t\tlet keys = read_member_array(next, sorted);\n\t\t\tif (keys.length == 0) break;\n\t\t\tbranches.push({set: new Set(keys), node: read()});\n\t\t}\n branches.sort((a, b) => b.set.size - a.set.size); // sort by likelihood\n \t\tlet temp = next();\n \t\tlet valid = temp % 3;\n \t\ttemp = (temp / 3)|0;\n \t\tlet fe0f = !!(temp & 1);\n \t\ttemp >>= 1;\n \t\tlet save = temp == 1;\n \t\tlet check = temp == 2;\n \t\treturn {branches, valid, fe0f, save, check};\n\t}\n}\n","import { concat } from \"@ethersproject/bytes\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nexport const messagePrefix = \"\\x19Ethereum Signed Message:\\n\";\nexport function hashMessage(message) {\n if (typeof (message) === \"string\") {\n message = toUtf8Bytes(message);\n }\n return keccak256(concat([\n toUtf8Bytes(messagePrefix),\n toUtf8Bytes(String(message.length)),\n message\n ]));\n}\n//# sourceMappingURL=message.js.map","import { Bytes, concat } from \"@ethersproject/bytes\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\n\nexport const messagePrefix = \"\\x19Ethereum Signed Message:\\n\";\n\nexport function hashMessage(message: Bytes | string): string {\n if (typeof(message) === \"string\") { message = toUtf8Bytes(message); }\n return keccak256(concat([\n toUtf8Bytes(messagePrefix),\n toUtf8Bytes(String(message.length)),\n message\n ]));\n}\n\n","\"use strict\";\nimport { Base58 } from \"@ethersproject/basex\";\nimport { arrayify, concat, hexDataSlice, hexZeroPad, hexlify } from \"@ethersproject/bytes\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { toUtf8Bytes, UnicodeNormalizationForm } from \"@ethersproject/strings\";\nimport { pbkdf2 } from \"@ethersproject/pbkdf2\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { SigningKey } from \"@ethersproject/signing-key\";\nimport { computeHmac, ripemd160, sha256, SupportedAlgorithm } from \"@ethersproject/sha2\";\nimport { computeAddress } from \"@ethersproject/transactions\";\nimport { wordlists } from \"@ethersproject/wordlists\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nconst N = BigNumber.from(\"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\");\n// \"Bitcoin seed\"\nconst MasterSecret = toUtf8Bytes(\"Bitcoin seed\");\nconst HardenedBit = 0x80000000;\n// Returns a byte with the MSB bits set\nfunction getUpperMask(bits) {\n return ((1 << bits) - 1) << (8 - bits);\n}\n// Returns a byte with the LSB bits set\nfunction getLowerMask(bits) {\n return (1 << bits) - 1;\n}\nfunction bytes32(value) {\n return hexZeroPad(hexlify(value), 32);\n}\nfunction base58check(data) {\n return Base58.encode(concat([data, hexDataSlice(sha256(sha256(data)), 0, 4)]));\n}\nfunction getWordlist(wordlist) {\n if (wordlist == null) {\n return wordlists[\"en\"];\n }\n if (typeof (wordlist) === \"string\") {\n const words = wordlists[wordlist];\n if (words == null) {\n logger.throwArgumentError(\"unknown locale\", \"wordlist\", wordlist);\n }\n return words;\n }\n return wordlist;\n}\nconst _constructorGuard = {};\nexport const defaultPath = \"m/44'/60'/0'/0/0\";\n;\nexport class HDNode {\n /**\n * This constructor should not be called directly.\n *\n * Please use:\n * - fromMnemonic\n * - fromSeed\n */\n constructor(constructorGuard, privateKey, publicKey, parentFingerprint, chainCode, index, depth, mnemonicOrPath) {\n /* istanbul ignore if */\n if (constructorGuard !== _constructorGuard) {\n throw new Error(\"HDNode constructor cannot be called directly\");\n }\n if (privateKey) {\n const signingKey = new SigningKey(privateKey);\n defineReadOnly(this, \"privateKey\", signingKey.privateKey);\n defineReadOnly(this, \"publicKey\", signingKey.compressedPublicKey);\n }\n else {\n defineReadOnly(this, \"privateKey\", null);\n defineReadOnly(this, \"publicKey\", hexlify(publicKey));\n }\n defineReadOnly(this, \"parentFingerprint\", parentFingerprint);\n defineReadOnly(this, \"fingerprint\", hexDataSlice(ripemd160(sha256(this.publicKey)), 0, 4));\n defineReadOnly(this, \"address\", computeAddress(this.publicKey));\n defineReadOnly(this, \"chainCode\", chainCode);\n defineReadOnly(this, \"index\", index);\n defineReadOnly(this, \"depth\", depth);\n if (mnemonicOrPath == null) {\n // From a source that does not preserve the path (e.g. extended keys)\n defineReadOnly(this, \"mnemonic\", null);\n defineReadOnly(this, \"path\", null);\n }\n else if (typeof (mnemonicOrPath) === \"string\") {\n // From a source that does not preserve the mnemonic (e.g. neutered)\n defineReadOnly(this, \"mnemonic\", null);\n defineReadOnly(this, \"path\", mnemonicOrPath);\n }\n else {\n // From a fully qualified source\n defineReadOnly(this, \"mnemonic\", mnemonicOrPath);\n defineReadOnly(this, \"path\", mnemonicOrPath.path);\n }\n }\n get extendedKey() {\n // We only support the mainnet values for now, but if anyone needs\n // testnet values, let me know. I believe current sentiment is that\n // we should always use mainnet, and use BIP-44 to derive the network\n // - Mainnet: public=0x0488B21E, private=0x0488ADE4\n // - Testnet: public=0x043587CF, private=0x04358394\n if (this.depth >= 256) {\n throw new Error(\"Depth too large!\");\n }\n return base58check(concat([\n ((this.privateKey != null) ? \"0x0488ADE4\" : \"0x0488B21E\"),\n hexlify(this.depth),\n this.parentFingerprint,\n hexZeroPad(hexlify(this.index), 4),\n this.chainCode,\n ((this.privateKey != null) ? concat([\"0x00\", this.privateKey]) : this.publicKey),\n ]));\n }\n neuter() {\n return new HDNode(_constructorGuard, null, this.publicKey, this.parentFingerprint, this.chainCode, this.index, this.depth, this.path);\n }\n _derive(index) {\n if (index > 0xffffffff) {\n throw new Error(\"invalid index - \" + String(index));\n }\n // Base path\n let path = this.path;\n if (path) {\n path += \"/\" + (index & ~HardenedBit);\n }\n const data = new Uint8Array(37);\n if (index & HardenedBit) {\n if (!this.privateKey) {\n throw new Error(\"cannot derive child of neutered node\");\n }\n // Data = 0x00 || ser_256(k_par)\n data.set(arrayify(this.privateKey), 1);\n // Hardened path\n if (path) {\n path += \"'\";\n }\n }\n else {\n // Data = ser_p(point(k_par))\n data.set(arrayify(this.publicKey));\n }\n // Data += ser_32(i)\n for (let i = 24; i >= 0; i -= 8) {\n data[33 + (i >> 3)] = ((index >> (24 - i)) & 0xff);\n }\n const I = arrayify(computeHmac(SupportedAlgorithm.sha512, this.chainCode, data));\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n // The private key\n let ki = null;\n // The public key\n let Ki = null;\n if (this.privateKey) {\n ki = bytes32(BigNumber.from(IL).add(this.privateKey).mod(N));\n }\n else {\n const ek = new SigningKey(hexlify(IL));\n Ki = ek._addPoint(this.publicKey);\n }\n let mnemonicOrPath = path;\n const srcMnemonic = this.mnemonic;\n if (srcMnemonic) {\n mnemonicOrPath = Object.freeze({\n phrase: srcMnemonic.phrase,\n path: path,\n locale: (srcMnemonic.locale || \"en\")\n });\n }\n return new HDNode(_constructorGuard, ki, Ki, this.fingerprint, bytes32(IR), index, this.depth + 1, mnemonicOrPath);\n }\n derivePath(path) {\n const components = path.split(\"/\");\n if (components.length === 0 || (components[0] === \"m\" && this.depth !== 0)) {\n throw new Error(\"invalid path - \" + path);\n }\n if (components[0] === \"m\") {\n components.shift();\n }\n let result = this;\n for (let i = 0; i < components.length; i++) {\n const component = components[i];\n if (component.match(/^[0-9]+'$/)) {\n const index = parseInt(component.substring(0, component.length - 1));\n if (index >= HardenedBit) {\n throw new Error(\"invalid path index - \" + component);\n }\n result = result._derive(HardenedBit + index);\n }\n else if (component.match(/^[0-9]+$/)) {\n const index = parseInt(component);\n if (index >= HardenedBit) {\n throw new Error(\"invalid path index - \" + component);\n }\n result = result._derive(index);\n }\n else {\n throw new Error(\"invalid path component - \" + component);\n }\n }\n return result;\n }\n static _fromSeed(seed, mnemonic) {\n const seedArray = arrayify(seed);\n if (seedArray.length < 16 || seedArray.length > 64) {\n throw new Error(\"invalid seed\");\n }\n const I = arrayify(computeHmac(SupportedAlgorithm.sha512, MasterSecret, seedArray));\n return new HDNode(_constructorGuard, bytes32(I.slice(0, 32)), null, \"0x00000000\", bytes32(I.slice(32)), 0, 0, mnemonic);\n }\n static fromMnemonic(mnemonic, password, wordlist) {\n // If a locale name was passed in, find the associated wordlist\n wordlist = getWordlist(wordlist);\n // Normalize the case and spacing in the mnemonic (throws if the mnemonic is invalid)\n mnemonic = entropyToMnemonic(mnemonicToEntropy(mnemonic, wordlist), wordlist);\n return HDNode._fromSeed(mnemonicToSeed(mnemonic, password), {\n phrase: mnemonic,\n path: \"m\",\n locale: wordlist.locale\n });\n }\n static fromSeed(seed) {\n return HDNode._fromSeed(seed, null);\n }\n static fromExtendedKey(extendedKey) {\n const bytes = Base58.decode(extendedKey);\n if (bytes.length !== 82 || base58check(bytes.slice(0, 78)) !== extendedKey) {\n logger.throwArgumentError(\"invalid extended key\", \"extendedKey\", \"[REDACTED]\");\n }\n const depth = bytes[4];\n const parentFingerprint = hexlify(bytes.slice(5, 9));\n const index = parseInt(hexlify(bytes.slice(9, 13)).substring(2), 16);\n const chainCode = hexlify(bytes.slice(13, 45));\n const key = bytes.slice(45, 78);\n switch (hexlify(bytes.slice(0, 4))) {\n // Public Key\n case \"0x0488b21e\":\n case \"0x043587cf\":\n return new HDNode(_constructorGuard, null, hexlify(key), parentFingerprint, chainCode, index, depth, null);\n // Private Key\n case \"0x0488ade4\":\n case \"0x04358394 \":\n if (key[0] !== 0) {\n break;\n }\n return new HDNode(_constructorGuard, hexlify(key.slice(1)), null, parentFingerprint, chainCode, index, depth, null);\n }\n return logger.throwArgumentError(\"invalid extended key\", \"extendedKey\", \"[REDACTED]\");\n }\n}\nexport function mnemonicToSeed(mnemonic, password) {\n if (!password) {\n password = \"\";\n }\n const salt = toUtf8Bytes(\"mnemonic\" + password, UnicodeNormalizationForm.NFKD);\n return pbkdf2(toUtf8Bytes(mnemonic, UnicodeNormalizationForm.NFKD), salt, 2048, 64, \"sha512\");\n}\nexport function mnemonicToEntropy(mnemonic, wordlist) {\n wordlist = getWordlist(wordlist);\n logger.checkNormalize();\n const words = wordlist.split(mnemonic);\n if ((words.length % 3) !== 0) {\n throw new Error(\"invalid mnemonic\");\n }\n const entropy = arrayify(new Uint8Array(Math.ceil(11 * words.length / 8)));\n let offset = 0;\n for (let i = 0; i < words.length; i++) {\n let index = wordlist.getWordIndex(words[i].normalize(\"NFKD\"));\n if (index === -1) {\n throw new Error(\"invalid mnemonic\");\n }\n for (let bit = 0; bit < 11; bit++) {\n if (index & (1 << (10 - bit))) {\n entropy[offset >> 3] |= (1 << (7 - (offset % 8)));\n }\n offset++;\n }\n }\n const entropyBits = 32 * words.length / 3;\n const checksumBits = words.length / 3;\n const checksumMask = getUpperMask(checksumBits);\n const checksum = arrayify(sha256(entropy.slice(0, entropyBits / 8)))[0] & checksumMask;\n if (checksum !== (entropy[entropy.length - 1] & checksumMask)) {\n throw new Error(\"invalid checksum\");\n }\n return hexlify(entropy.slice(0, entropyBits / 8));\n}\nexport function entropyToMnemonic(entropy, wordlist) {\n wordlist = getWordlist(wordlist);\n entropy = arrayify(entropy);\n if ((entropy.length % 4) !== 0 || entropy.length < 16 || entropy.length > 32) {\n throw new Error(\"invalid entropy\");\n }\n const indices = [0];\n let remainingBits = 11;\n for (let i = 0; i < entropy.length; i++) {\n // Consume the whole byte (with still more to go)\n if (remainingBits > 8) {\n indices[indices.length - 1] <<= 8;\n indices[indices.length - 1] |= entropy[i];\n remainingBits -= 8;\n // This byte will complete an 11-bit index\n }\n else {\n indices[indices.length - 1] <<= remainingBits;\n indices[indices.length - 1] |= entropy[i] >> (8 - remainingBits);\n // Start the next word\n indices.push(entropy[i] & getLowerMask(8 - remainingBits));\n remainingBits += 3;\n }\n }\n // Compute the checksum bits\n const checksumBits = entropy.length / 4;\n const checksum = arrayify(sha256(entropy))[0] & getUpperMask(checksumBits);\n // Shift the checksum into the word indices\n indices[indices.length - 1] <<= checksumBits;\n indices[indices.length - 1] |= (checksum >> (8 - checksumBits));\n return wordlist.join(indices.map((index) => wordlist.getWord(index)));\n}\nexport function isValidMnemonic(mnemonic, wordlist) {\n try {\n mnemonicToEntropy(mnemonic, wordlist);\n return true;\n }\n catch (error) { }\n return false;\n}\nexport function getAccountPath(index) {\n if (typeof (index) !== \"number\" || index < 0 || index >= HardenedBit || index % 1) {\n logger.throwArgumentError(\"invalid account index\", \"index\", index);\n }\n return `m/44'/60'/${index}'/0/0`;\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\n// See: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki\n// See: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki\n\n\nimport { ExternallyOwnedAccount } from \"@ethersproject/abstract-signer\";\nimport { Base58 } from \"@ethersproject/basex\";\nimport { arrayify, BytesLike, concat, hexDataSlice, hexZeroPad, hexlify } from \"@ethersproject/bytes\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { toUtf8Bytes, UnicodeNormalizationForm } from \"@ethersproject/strings\";\nimport { pbkdf2 } from \"@ethersproject/pbkdf2\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { SigningKey } from \"@ethersproject/signing-key\";\nimport { computeHmac, ripemd160, sha256, SupportedAlgorithm } from \"@ethersproject/sha2\";\nimport { computeAddress } from \"@ethersproject/transactions\";\nimport { Wordlist, wordlists } from \"@ethersproject/wordlists\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nconst N = BigNumber.from(\"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141\");\n\n\n// \"Bitcoin seed\"\nconst MasterSecret = toUtf8Bytes(\"Bitcoin seed\");\n\nconst HardenedBit = 0x80000000;\n\n// Returns a byte with the MSB bits set\nfunction getUpperMask(bits: number): number {\n return ((1 << bits) - 1) << (8 - bits);\n}\n\n// Returns a byte with the LSB bits set\nfunction getLowerMask(bits: number): number {\n return (1 << bits) - 1;\n}\n\nfunction bytes32(value: BigNumber | Uint8Array): string {\n return hexZeroPad(hexlify(value), 32);\n}\n\nfunction base58check(data: Uint8Array): string {\n return Base58.encode(concat([ data, hexDataSlice(sha256(sha256(data)), 0, 4) ]));\n}\n\nfunction getWordlist(wordlist: string | Wordlist): Wordlist {\n if (wordlist == null) {\n return wordlists[\"en\"];\n }\n\n if (typeof(wordlist) === \"string\") {\n const words = wordlists[wordlist];\n if (words == null) {\n logger.throwArgumentError(\"unknown locale\", \"wordlist\", wordlist);\n }\n return words;\n }\n\n return wordlist;\n}\n\nconst _constructorGuard: any = {};\n\nexport const defaultPath = \"m/44'/60'/0'/0/0\";\n\nexport interface Mnemonic {\n readonly phrase: string;\n readonly path: string;\n readonly locale: string;\n};\n\nexport class HDNode implements ExternallyOwnedAccount {\n readonly privateKey: string;\n readonly publicKey: string;\n\n readonly fingerprint: string;\n readonly parentFingerprint: string;\n\n readonly address: string;\n\n readonly mnemonic?: Mnemonic;\n readonly path: string;\n\n readonly chainCode: string;\n\n readonly index: number;\n readonly depth: number;\n\n /**\n * This constructor should not be called directly.\n *\n * Please use:\n * - fromMnemonic\n * - fromSeed\n */\n constructor(constructorGuard: any, privateKey: string, publicKey: string, parentFingerprint: string, chainCode: string, index: number, depth: number, mnemonicOrPath: Mnemonic | string) {\n /* istanbul ignore if */\n if (constructorGuard !== _constructorGuard) {\n throw new Error(\"HDNode constructor cannot be called directly\");\n }\n\n if (privateKey) {\n const signingKey = new SigningKey(privateKey);\n defineReadOnly(this, \"privateKey\", signingKey.privateKey);\n defineReadOnly(this, \"publicKey\", signingKey.compressedPublicKey);\n } else {\n defineReadOnly(this, \"privateKey\", null);\n defineReadOnly(this, \"publicKey\", hexlify(publicKey));\n }\n\n defineReadOnly(this, \"parentFingerprint\", parentFingerprint);\n defineReadOnly(this, \"fingerprint\", hexDataSlice(ripemd160(sha256(this.publicKey)), 0, 4));\n\n defineReadOnly(this, \"address\", computeAddress(this.publicKey));\n\n defineReadOnly(this, \"chainCode\", chainCode);\n\n defineReadOnly(this, \"index\", index);\n defineReadOnly(this, \"depth\", depth);\n\n if (mnemonicOrPath == null) {\n // From a source that does not preserve the path (e.g. extended keys)\n defineReadOnly(this, \"mnemonic\", null);\n defineReadOnly(this, \"path\", null);\n\n } else if (typeof(mnemonicOrPath) === \"string\") {\n // From a source that does not preserve the mnemonic (e.g. neutered)\n defineReadOnly(this, \"mnemonic\", null);\n defineReadOnly(this, \"path\", mnemonicOrPath);\n\n } else {\n // From a fully qualified source\n defineReadOnly(this, \"mnemonic\", mnemonicOrPath);\n defineReadOnly(this, \"path\", mnemonicOrPath.path);\n }\n }\n\n get extendedKey(): string {\n // We only support the mainnet values for now, but if anyone needs\n // testnet values, let me know. I believe current sentiment is that\n // we should always use mainnet, and use BIP-44 to derive the network\n // - Mainnet: public=0x0488B21E, private=0x0488ADE4\n // - Testnet: public=0x043587CF, private=0x04358394\n\n if (this.depth >= 256) { throw new Error(\"Depth too large!\"); }\n\n return base58check(concat([\n ((this.privateKey != null) ? \"0x0488ADE4\": \"0x0488B21E\"),\n hexlify(this.depth),\n this.parentFingerprint,\n hexZeroPad(hexlify(this.index), 4),\n this.chainCode,\n ((this.privateKey != null) ? concat([ \"0x00\", this.privateKey ]): this.publicKey),\n ]));\n }\n\n neuter(): HDNode {\n return new HDNode(_constructorGuard, null, this.publicKey, this.parentFingerprint, this.chainCode, this.index, this.depth, this.path);\n }\n\n private _derive(index: number): HDNode {\n if (index > 0xffffffff) { throw new Error(\"invalid index - \" + String(index)); }\n\n // Base path\n let path = this.path;\n if (path) { path += \"/\" + (index & ~HardenedBit); }\n\n const data = new Uint8Array(37);\n\n if (index & HardenedBit) {\n if (!this.privateKey) {\n throw new Error(\"cannot derive child of neutered node\");\n }\n\n // Data = 0x00 || ser_256(k_par)\n data.set(arrayify(this.privateKey), 1);\n\n // Hardened path\n if (path) { path += \"'\"; }\n\n } else {\n // Data = ser_p(point(k_par))\n data.set(arrayify(this.publicKey));\n }\n\n // Data += ser_32(i)\n for (let i = 24; i >= 0; i -= 8) { data[33 + (i >> 3)] = ((index >> (24 - i)) & 0xff); }\n\n const I = arrayify(computeHmac(SupportedAlgorithm.sha512, this.chainCode, data));\n const IL = I.slice(0, 32);\n const IR = I.slice(32);\n\n // The private key\n let ki: string = null\n\n // The public key\n let Ki: string = null;\n\n if (this.privateKey) {\n ki = bytes32(BigNumber.from(IL).add(this.privateKey).mod(N));\n } else {\n const ek = new SigningKey(hexlify(IL));\n Ki = ek._addPoint(this.publicKey);\n }\n\n let mnemonicOrPath: Mnemonic | string = path;\n\n const srcMnemonic = this.mnemonic;\n if (srcMnemonic) {\n mnemonicOrPath = Object.freeze({\n phrase: srcMnemonic.phrase,\n path: path,\n locale: (srcMnemonic.locale || \"en\")\n });\n }\n\n return new HDNode(_constructorGuard, ki, Ki, this.fingerprint, bytes32(IR), index, this.depth + 1, mnemonicOrPath);\n }\n\n derivePath(path: string): HDNode {\n const components = path.split(\"/\");\n\n if (components.length === 0 || (components[0] === \"m\" && this.depth !== 0)) {\n throw new Error(\"invalid path - \" + path);\n }\n\n if (components[0] === \"m\") { components.shift(); }\n\n let result: HDNode = this;\n for (let i = 0; i < components.length; i++) {\n const component = components[i];\n if (component.match(/^[0-9]+'$/)) {\n const index = parseInt(component.substring(0, component.length - 1));\n if (index >= HardenedBit) { throw new Error(\"invalid path index - \" + component); }\n result = result._derive(HardenedBit + index);\n } else if (component.match(/^[0-9]+$/)) {\n const index = parseInt(component);\n if (index >= HardenedBit) { throw new Error(\"invalid path index - \" + component); }\n result = result._derive(index);\n } else {\n throw new Error(\"invalid path component - \" + component);\n }\n }\n\n return result;\n }\n\n\n static _fromSeed(seed: BytesLike, mnemonic: Mnemonic): HDNode {\n const seedArray: Uint8Array = arrayify(seed);\n if (seedArray.length < 16 || seedArray.length > 64) { throw new Error(\"invalid seed\"); }\n\n const I: Uint8Array = arrayify(computeHmac(SupportedAlgorithm.sha512, MasterSecret, seedArray));\n\n return new HDNode(_constructorGuard, bytes32(I.slice(0, 32)), null, \"0x00000000\", bytes32(I.slice(32)), 0, 0, mnemonic);\n }\n\n static fromMnemonic(mnemonic: string, password?: string, wordlist?: string | Wordlist): HDNode {\n\n // If a locale name was passed in, find the associated wordlist\n wordlist = getWordlist(wordlist);\n\n // Normalize the case and spacing in the mnemonic (throws if the mnemonic is invalid)\n mnemonic = entropyToMnemonic(mnemonicToEntropy(mnemonic, wordlist), wordlist);\n\n return HDNode._fromSeed(mnemonicToSeed(mnemonic, password), {\n phrase: mnemonic,\n path: \"m\",\n locale: wordlist.locale\n });\n }\n\n static fromSeed(seed: BytesLike): HDNode {\n return HDNode._fromSeed(seed, null);\n }\n\n static fromExtendedKey(extendedKey: string): HDNode {\n const bytes = Base58.decode(extendedKey);\n\n if (bytes.length !== 82 || base58check(bytes.slice(0, 78)) !== extendedKey) {\n logger.throwArgumentError(\"invalid extended key\", \"extendedKey\", \"[REDACTED]\");\n }\n\n const depth = bytes[4];\n const parentFingerprint = hexlify(bytes.slice(5, 9));\n const index = parseInt(hexlify(bytes.slice(9, 13)).substring(2), 16);\n const chainCode = hexlify(bytes.slice(13, 45));\n const key = bytes.slice(45, 78);\n\n switch (hexlify(bytes.slice(0, 4))) {\n // Public Key\n case \"0x0488b21e\": case \"0x043587cf\":\n return new HDNode(_constructorGuard, null, hexlify(key), parentFingerprint, chainCode, index, depth, null);\n\n // Private Key\n case \"0x0488ade4\": case \"0x04358394 \":\n if (key[0] !== 0) { break; }\n return new HDNode(_constructorGuard, hexlify(key.slice(1)), null, parentFingerprint, chainCode, index, depth, null);\n }\n\n return logger.throwArgumentError(\"invalid extended key\", \"extendedKey\", \"[REDACTED]\");\n }\n}\n\nexport function mnemonicToSeed(mnemonic: string, password?: string): string {\n if (!password) { password = \"\"; }\n\n const salt = toUtf8Bytes(\"mnemonic\" + password, UnicodeNormalizationForm.NFKD);\n\n return pbkdf2(toUtf8Bytes(mnemonic, UnicodeNormalizationForm.NFKD), salt, 2048, 64, \"sha512\");\n}\n\nexport function mnemonicToEntropy(mnemonic: string, wordlist?: string | Wordlist): string {\n wordlist = getWordlist(wordlist);\n\n logger.checkNormalize();\n\n const words = wordlist.split(mnemonic);\n if ((words.length % 3) !== 0) { throw new Error(\"invalid mnemonic\"); }\n\n const entropy = arrayify(new Uint8Array(Math.ceil(11 * words.length / 8)));\n\n let offset = 0;\n for (let i = 0; i < words.length; i++) {\n let index = wordlist.getWordIndex(words[i].normalize(\"NFKD\"));\n if (index === -1) { throw new Error(\"invalid mnemonic\"); }\n\n for (let bit = 0; bit < 11; bit++) {\n if (index & (1 << (10 - bit))) {\n entropy[offset >> 3] |= (1 << (7 - (offset % 8)));\n }\n offset++;\n }\n }\n\n const entropyBits = 32 * words.length / 3;\n\n const checksumBits = words.length / 3;\n const checksumMask = getUpperMask(checksumBits);\n\n const checksum = arrayify(sha256(entropy.slice(0, entropyBits / 8)))[0] & checksumMask;\n\n if (checksum !== (entropy[entropy.length - 1] & checksumMask)) {\n throw new Error(\"invalid checksum\");\n }\n\n return hexlify(entropy.slice(0, entropyBits / 8));\n}\n\nexport function entropyToMnemonic(entropy: BytesLike, wordlist?: string | Wordlist): string {\n wordlist = getWordlist(wordlist);\n\n entropy = arrayify(entropy);\n\n if ((entropy.length % 4) !== 0 || entropy.length < 16 || entropy.length > 32) {\n throw new Error(\"invalid entropy\");\n }\n\n const indices: Array = [ 0 ];\n\n let remainingBits = 11;\n for (let i = 0; i < entropy.length; i++) {\n\n // Consume the whole byte (with still more to go)\n if (remainingBits > 8) {\n indices[indices.length - 1] <<= 8;\n indices[indices.length - 1] |= entropy[i];\n\n remainingBits -= 8;\n\n // This byte will complete an 11-bit index\n } else {\n indices[indices.length - 1] <<= remainingBits;\n indices[indices.length - 1] |= entropy[i] >> (8 - remainingBits);\n\n // Start the next word\n indices.push(entropy[i] & getLowerMask(8 - remainingBits));\n\n remainingBits += 3;\n }\n }\n\n // Compute the checksum bits\n const checksumBits = entropy.length / 4;\n const checksum = arrayify(sha256(entropy))[0] & getUpperMask(checksumBits);\n\n // Shift the checksum into the word indices\n indices[indices.length - 1] <<= checksumBits;\n indices[indices.length - 1] |= (checksum >> (8 - checksumBits));\n\n return wordlist.join(indices.map((index) => (wordlist).getWord(index)));\n}\n\nexport function isValidMnemonic(mnemonic: string, wordlist?: Wordlist): boolean {\n try {\n mnemonicToEntropy(mnemonic, wordlist);\n return true;\n } catch (error) { }\n return false;\n}\n\nexport function getAccountPath(index: number): string {\n if (typeof(index) !== \"number\" || index < 0 || index >= HardenedBit || index % 1) {\n logger.throwArgumentError(\"invalid account index\", \"index\", index);\n }\n return `m/44'/60'/${ index }'/0/0`;\n}\n","\"use strict\";\nimport { arrayify, hexlify } from \"@ethersproject/bytes\";\nimport { computeHmac } from \"@ethersproject/sha2\";\nexport function pbkdf2(password, salt, iterations, keylen, hashAlgorithm) {\n password = arrayify(password);\n salt = arrayify(salt);\n let hLen;\n let l = 1;\n const DK = new Uint8Array(keylen);\n const block1 = new Uint8Array(salt.length + 4);\n block1.set(salt);\n //salt.copy(block1, 0, 0, salt.length)\n let r;\n let T;\n for (let i = 1; i <= l; i++) {\n //block1.writeUInt32BE(i, salt.length)\n block1[salt.length] = (i >> 24) & 0xff;\n block1[salt.length + 1] = (i >> 16) & 0xff;\n block1[salt.length + 2] = (i >> 8) & 0xff;\n block1[salt.length + 3] = i & 0xff;\n //let U = createHmac(password).update(block1).digest();\n let U = arrayify(computeHmac(hashAlgorithm, password, block1));\n if (!hLen) {\n hLen = U.length;\n T = new Uint8Array(hLen);\n l = Math.ceil(keylen / hLen);\n r = keylen - (l - 1) * hLen;\n }\n //U.copy(T, 0, 0, hLen)\n T.set(U);\n for (let j = 1; j < iterations; j++) {\n //U = createHmac(password).update(U).digest();\n U = arrayify(computeHmac(hashAlgorithm, password, U));\n for (let k = 0; k < hLen; k++)\n T[k] ^= U[k];\n }\n const destPos = (i - 1) * hLen;\n const len = (i === l ? r : hLen);\n //T.copy(DK, destPos, 0, len)\n DK.set(arrayify(T).slice(0, len), destPos);\n }\n return hexlify(DK);\n}\n//# sourceMappingURL=pbkdf2.js.map","\"use strict\";\n\nimport { arrayify, BytesLike, hexlify } from \"@ethersproject/bytes\";\nimport { computeHmac, SupportedAlgorithm } from \"@ethersproject/sha2\";\n\nexport function pbkdf2(password: BytesLike, salt: BytesLike, iterations: number, keylen: number, hashAlgorithm: string): string {\n password = arrayify(password);\n salt = arrayify(salt);\n let hLen;\n let l = 1;\n const DK = new Uint8Array(keylen)\n const block1 = new Uint8Array(salt.length + 4)\n block1.set(salt);\n //salt.copy(block1, 0, 0, salt.length)\n\n let r: number;\n let T: Uint8Array;\n\n for (let i = 1; i <= l; i++) {\n //block1.writeUInt32BE(i, salt.length)\n block1[salt.length] = (i >> 24) & 0xff;\n block1[salt.length + 1] = (i >> 16) & 0xff;\n block1[salt.length + 2] = (i >> 8) & 0xff;\n block1[salt.length + 3] = i & 0xff;\n\n //let U = createHmac(password).update(block1).digest();\n let U = arrayify(computeHmac(hashAlgorithm, password, block1));\n\n if (!hLen) {\n hLen = U.length\n T = new Uint8Array(hLen)\n l = Math.ceil(keylen / hLen)\n r = keylen - (l - 1) * hLen\n }\n\n //U.copy(T, 0, 0, hLen)\n T.set(U);\n\n\n for (let j = 1; j < iterations; j++) {\n //U = createHmac(password).update(U).digest();\n U = arrayify(computeHmac(hashAlgorithm, password, U));\n for (let k = 0; k < hLen; k++) T[k] ^= U[k]\n }\n\n\n const destPos = (i - 1) * hLen\n const len = (i === l ? r : hLen)\n //T.copy(DK, destPos, 0, len)\n DK.set(arrayify(T).slice(0, len), destPos);\n }\n\n return hexlify(DK)\n}\n\n","\"use strict\";\nimport { langEn as en } from \"./lang-en\";\nexport const wordlists = {\n en: en\n};\n//# sourceMappingURL=wordlists.js.map","\"use strict\";\n\n// Wordlists\n// See: https://github.com/bitcoin/bips/blob/master/bip-0039/bip-0039-wordlists.md\n\n// Browser; only include English by default\n\nimport { Wordlist } from \"./wordlist\";\n\nimport { langEn as en } from \"./lang-en\";\n\nexport const wordlists: { [ locale: string ]: Wordlist } = {\n en: en\n}\n","\"use strict\";\nimport { Wordlist } from \"./wordlist\";\nconst words = \"AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo\";\nlet wordlist = null;\nfunction loadWords(lang) {\n if (wordlist != null) {\n return;\n }\n wordlist = words.replace(/([A-Z])/g, \" $1\").toLowerCase().substring(1).split(\" \");\n // Verify the computed list matches the official list\n /* istanbul ignore if */\n if (Wordlist.check(lang) !== \"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60\") {\n wordlist = null;\n throw new Error(\"BIP39 Wordlist for en (English) FAILED\");\n }\n}\nclass LangEn extends Wordlist {\n constructor() {\n super(\"en\");\n }\n getWord(index) {\n loadWords(this);\n return wordlist[index];\n }\n getWordIndex(word) {\n loadWords(this);\n return wordlist.indexOf(word);\n }\n}\nconst langEn = new LangEn();\nWordlist.register(langEn);\nexport { langEn };\n//# sourceMappingURL=lang-en.js.map","\"use strict\";\n\nimport { Wordlist } from \"./wordlist\";\n\n\nconst words = \"AbandonAbilityAbleAboutAboveAbsentAbsorbAbstractAbsurdAbuseAccessAccidentAccountAccuseAchieveAcidAcousticAcquireAcrossActActionActorActressActualAdaptAddAddictAddressAdjustAdmitAdultAdvanceAdviceAerobicAffairAffordAfraidAgainAgeAgentAgreeAheadAimAirAirportAisleAlarmAlbumAlcoholAlertAlienAllAlleyAllowAlmostAloneAlphaAlreadyAlsoAlterAlwaysAmateurAmazingAmongAmountAmusedAnalystAnchorAncientAngerAngleAngryAnimalAnkleAnnounceAnnualAnotherAnswerAntennaAntiqueAnxietyAnyApartApologyAppearAppleApproveAprilArchArcticAreaArenaArgueArmArmedArmorArmyAroundArrangeArrestArriveArrowArtArtefactArtistArtworkAskAspectAssaultAssetAssistAssumeAsthmaAthleteAtomAttackAttendAttitudeAttractAuctionAuditAugustAuntAuthorAutoAutumnAverageAvocadoAvoidAwakeAwareAwayAwesomeAwfulAwkwardAxisBabyBachelorBaconBadgeBagBalanceBalconyBallBambooBananaBannerBarBarelyBargainBarrelBaseBasicBasketBattleBeachBeanBeautyBecauseBecomeBeefBeforeBeginBehaveBehindBelieveBelowBeltBenchBenefitBestBetrayBetterBetweenBeyondBicycleBidBikeBindBiologyBirdBirthBitterBlackBladeBlameBlanketBlastBleakBlessBlindBloodBlossomBlouseBlueBlurBlushBoardBoatBodyBoilBombBoneBonusBookBoostBorderBoringBorrowBossBottomBounceBoxBoyBracketBrainBrandBrassBraveBreadBreezeBrickBridgeBriefBrightBringBriskBroccoliBrokenBronzeBroomBrotherBrownBrushBubbleBuddyBudgetBuffaloBuildBulbBulkBulletBundleBunkerBurdenBurgerBurstBusBusinessBusyButterBuyerBuzzCabbageCabinCableCactusCageCakeCallCalmCameraCampCanCanalCancelCandyCannonCanoeCanvasCanyonCapableCapitalCaptainCarCarbonCardCargoCarpetCarryCartCaseCashCasinoCastleCasualCatCatalogCatchCategoryCattleCaughtCauseCautionCaveCeilingCeleryCementCensusCenturyCerealCertainChairChalkChampionChangeChaosChapterChargeChaseChatCheapCheckCheeseChefCherryChestChickenChiefChildChimneyChoiceChooseChronicChuckleChunkChurnCigarCinnamonCircleCitizenCityCivilClaimClapClarifyClawClayCleanClerkCleverClickClientCliffClimbClinicClipClockClogCloseClothCloudClownClubClumpClusterClutchCoachCoastCoconutCodeCoffeeCoilCoinCollectColorColumnCombineComeComfortComicCommonCompanyConcertConductConfirmCongressConnectConsiderControlConvinceCookCoolCopperCopyCoralCoreCornCorrectCostCottonCouchCountryCoupleCourseCousinCoverCoyoteCrackCradleCraftCramCraneCrashCraterCrawlCrazyCreamCreditCreekCrewCricketCrimeCrispCriticCropCrossCrouchCrowdCrucialCruelCruiseCrumbleCrunchCrushCryCrystalCubeCultureCupCupboardCuriousCurrentCurtainCurveCushionCustomCuteCycleDadDamageDampDanceDangerDaringDashDaughterDawnDayDealDebateDebrisDecadeDecemberDecideDeclineDecorateDecreaseDeerDefenseDefineDefyDegreeDelayDeliverDemandDemiseDenialDentistDenyDepartDependDepositDepthDeputyDeriveDescribeDesertDesignDeskDespairDestroyDetailDetectDevelopDeviceDevoteDiagramDialDiamondDiaryDiceDieselDietDifferDigitalDignityDilemmaDinnerDinosaurDirectDirtDisagreeDiscoverDiseaseDishDismissDisorderDisplayDistanceDivertDivideDivorceDizzyDoctorDocumentDogDollDolphinDomainDonateDonkeyDonorDoorDoseDoubleDoveDraftDragonDramaDrasticDrawDreamDressDriftDrillDrinkDripDriveDropDrumDryDuckDumbDuneDuringDustDutchDutyDwarfDynamicEagerEagleEarlyEarnEarthEasilyEastEasyEchoEcologyEconomyEdgeEditEducateEffortEggEightEitherElbowElderElectricElegantElementElephantElevatorEliteElseEmbarkEmbodyEmbraceEmergeEmotionEmployEmpowerEmptyEnableEnactEndEndlessEndorseEnemyEnergyEnforceEngageEngineEnhanceEnjoyEnlistEnoughEnrichEnrollEnsureEnterEntireEntryEnvelopeEpisodeEqualEquipEraEraseErodeErosionErrorEruptEscapeEssayEssenceEstateEternalEthicsEvidenceEvilEvokeEvolveExactExampleExcessExchangeExciteExcludeExcuseExecuteExerciseExhaustExhibitExileExistExitExoticExpandExpectExpireExplainExposeExpressExtendExtraEyeEyebrowFabricFaceFacultyFadeFaintFaithFallFalseFameFamilyFamousFanFancyFantasyFarmFashionFatFatalFatherFatigueFaultFavoriteFeatureFebruaryFederalFeeFeedFeelFemaleFenceFestivalFetchFeverFewFiberFictionFieldFigureFileFilmFilterFinalFindFineFingerFinishFireFirmFirstFiscalFishFitFitnessFixFlagFlameFlashFlatFlavorFleeFlightFlipFloatFlockFloorFlowerFluidFlushFlyFoamFocusFogFoilFoldFollowFoodFootForceForestForgetForkFortuneForumForwardFossilFosterFoundFoxFragileFrameFrequentFreshFriendFringeFrogFrontFrostFrownFrozenFruitFuelFunFunnyFurnaceFuryFutureGadgetGainGalaxyGalleryGameGapGarageGarbageGardenGarlicGarmentGasGaspGateGatherGaugeGazeGeneralGeniusGenreGentleGenuineGestureGhostGiantGiftGiggleGingerGiraffeGirlGiveGladGlanceGlareGlassGlideGlimpseGlobeGloomGloryGloveGlowGlueGoatGoddessGoldGoodGooseGorillaGospelGossipGovernGownGrabGraceGrainGrantGrapeGrassGravityGreatGreenGridGriefGritGroceryGroupGrowGruntGuardGuessGuideGuiltGuitarGunGymHabitHairHalfHammerHamsterHandHappyHarborHardHarshHarvestHatHaveHawkHazardHeadHealthHeartHeavyHedgehogHeightHelloHelmetHelpHenHeroHiddenHighHillHintHipHireHistoryHobbyHockeyHoldHoleHolidayHollowHomeHoneyHoodHopeHornHorrorHorseHospitalHostHotelHourHoverHubHugeHumanHumbleHumorHundredHungryHuntHurdleHurryHurtHusbandHybridIceIconIdeaIdentifyIdleIgnoreIllIllegalIllnessImageImitateImmenseImmuneImpactImposeImproveImpulseInchIncludeIncomeIncreaseIndexIndicateIndoorIndustryInfantInflictInformInhaleInheritInitialInjectInjuryInmateInnerInnocentInputInquiryInsaneInsectInsideInspireInstallIntactInterestIntoInvestInviteInvolveIronIslandIsolateIssueItemIvoryJacketJaguarJarJazzJealousJeansJellyJewelJobJoinJokeJourneyJoyJudgeJuiceJumpJungleJuniorJunkJustKangarooKeenKeepKetchupKeyKickKidKidneyKindKingdomKissKitKitchenKiteKittenKiwiKneeKnifeKnockKnowLabLabelLaborLadderLadyLakeLampLanguageLaptopLargeLaterLatinLaughLaundryLavaLawLawnLawsuitLayerLazyLeaderLeafLearnLeaveLectureLeftLegLegalLegendLeisureLemonLendLengthLensLeopardLessonLetterLevelLiarLibertyLibraryLicenseLifeLiftLightLikeLimbLimitLinkLionLiquidListLittleLiveLizardLoadLoanLobsterLocalLockLogicLonelyLongLoopLotteryLoudLoungeLoveLoyalLuckyLuggageLumberLunarLunchLuxuryLyricsMachineMadMagicMagnetMaidMailMainMajorMakeMammalManManageMandateMangoMansionManualMapleMarbleMarchMarginMarineMarketMarriageMaskMassMasterMatchMaterialMathMatrixMatterMaximumMazeMeadowMeanMeasureMeatMechanicMedalMediaMelodyMeltMemberMemoryMentionMenuMercyMergeMeritMerryMeshMessageMetalMethodMiddleMidnightMilkMillionMimicMindMinimumMinorMinuteMiracleMirrorMiseryMissMistakeMixMixedMixtureMobileModelModifyMomMomentMonitorMonkeyMonsterMonthMoonMoralMoreMorningMosquitoMotherMotionMotorMountainMouseMoveMovieMuchMuffinMuleMultiplyMuscleMuseumMushroomMusicMustMutualMyselfMysteryMythNaiveNameNapkinNarrowNastyNationNatureNearNeckNeedNegativeNeglectNeitherNephewNerveNestNetNetworkNeutralNeverNewsNextNiceNightNobleNoiseNomineeNoodleNormalNorthNoseNotableNoteNothingNoticeNovelNowNuclearNumberNurseNutOakObeyObjectObligeObscureObserveObtainObviousOccurOceanOctoberOdorOffOfferOfficeOftenOilOkayOldOliveOlympicOmitOnceOneOnionOnlineOnlyOpenOperaOpinionOpposeOptionOrangeOrbitOrchardOrderOrdinaryOrganOrientOriginalOrphanOstrichOtherOutdoorOuterOutputOutsideOvalOvenOverOwnOwnerOxygenOysterOzonePactPaddlePagePairPalacePalmPandaPanelPanicPantherPaperParadeParentParkParrotPartyPassPatchPathPatientPatrolPatternPausePavePaymentPeacePeanutPearPeasantPelicanPenPenaltyPencilPeoplePepperPerfectPermitPersonPetPhonePhotoPhrasePhysicalPianoPicnicPicturePiecePigPigeonPillPilotPinkPioneerPipePistolPitchPizzaPlacePlanetPlasticPlatePlayPleasePledgePluckPlugPlungePoemPoetPointPolarPolePolicePondPonyPoolPopularPortionPositionPossiblePostPotatoPotteryPovertyPowderPowerPracticePraisePredictPreferPreparePresentPrettyPreventPricePridePrimaryPrintPriorityPrisonPrivatePrizeProblemProcessProduceProfitProgramProjectPromoteProofPropertyProsperProtectProudProvidePublicPuddingPullPulpPulsePumpkinPunchPupilPuppyPurchasePurityPurposePursePushPutPuzzlePyramidQualityQuantumQuarterQuestionQuickQuitQuizQuoteRabbitRaccoonRaceRackRadarRadioRailRainRaiseRallyRampRanchRandomRangeRapidRareRateRatherRavenRawRazorReadyRealReasonRebelRebuildRecallReceiveRecipeRecordRecycleReduceReflectReformRefuseRegionRegretRegularRejectRelaxReleaseReliefRelyRemainRememberRemindRemoveRenderRenewRentReopenRepairRepeatReplaceReportRequireRescueResembleResistResourceResponseResultRetireRetreatReturnReunionRevealReviewRewardRhythmRibRibbonRiceRichRideRidgeRifleRightRigidRingRiotRippleRiskRitualRivalRiverRoadRoastRobotRobustRocketRomanceRoofRookieRoomRoseRotateRoughRoundRouteRoyalRubberRudeRugRuleRunRunwayRuralSadSaddleSadnessSafeSailSaladSalmonSalonSaltSaluteSameSampleSandSatisfySatoshiSauceSausageSaveSayScaleScanScareScatterSceneSchemeSchoolScienceScissorsScorpionScoutScrapScreenScriptScrubSeaSearchSeasonSeatSecondSecretSectionSecuritySeedSeekSegmentSelectSellSeminarSeniorSenseSentenceSeriesServiceSessionSettleSetupSevenShadowShaftShallowShareShedShellSheriffShieldShiftShineShipShiverShockShoeShootShopShortShoulderShoveShrimpShrugShuffleShySiblingSickSideSiegeSightSignSilentSilkSillySilverSimilarSimpleSinceSingSirenSisterSituateSixSizeSkateSketchSkiSkillSkinSkirtSkullSlabSlamSleepSlenderSliceSlideSlightSlimSloganSlotSlowSlushSmallSmartSmileSmokeSmoothSnackSnakeSnapSniffSnowSoapSoccerSocialSockSodaSoftSolarSoldierSolidSolutionSolveSomeoneSongSoonSorrySortSoulSoundSoupSourceSouthSpaceSpareSpatialSpawnSpeakSpecialSpeedSpellSpendSphereSpiceSpiderSpikeSpinSpiritSplitSpoilSponsorSpoonSportSpotSpraySpreadSpringSpySquareSqueezeSquirrelStableStadiumStaffStageStairsStampStandStartStateStaySteakSteelStemStepStereoStickStillStingStockStomachStoneStoolStoryStoveStrategyStreetStrikeStrongStruggleStudentStuffStumbleStyleSubjectSubmitSubwaySuccessSuchSuddenSufferSugarSuggestSuitSummerSunSunnySunsetSuperSupplySupremeSureSurfaceSurgeSurpriseSurroundSurveySuspectSustainSwallowSwampSwapSwarmSwearSweetSwiftSwimSwingSwitchSwordSymbolSymptomSyrupSystemTableTackleTagTailTalentTalkTankTapeTargetTaskTasteTattooTaxiTeachTeamTellTenTenantTennisTentTermTestTextThankThatThemeThenTheoryThereTheyThingThisThoughtThreeThriveThrowThumbThunderTicketTideTigerTiltTimberTimeTinyTipTiredTissueTitleToastTobaccoTodayToddlerToeTogetherToiletTokenTomatoTomorrowToneTongueTonightToolToothTopTopicToppleTorchTornadoTortoiseTossTotalTouristTowardTowerTownToyTrackTradeTrafficTragicTrainTransferTrapTrashTravelTrayTreatTreeTrendTrialTribeTrickTriggerTrimTripTrophyTroubleTruckTrueTrulyTrumpetTrustTruthTryTubeTuitionTumbleTunaTunnelTurkeyTurnTurtleTwelveTwentyTwiceTwinTwistTwoTypeTypicalUglyUmbrellaUnableUnawareUncleUncoverUnderUndoUnfairUnfoldUnhappyUniformUniqueUnitUniverseUnknownUnlockUntilUnusualUnveilUpdateUpgradeUpholdUponUpperUpsetUrbanUrgeUsageUseUsedUsefulUselessUsualUtilityVacantVacuumVagueValidValleyValveVanVanishVaporVariousVastVaultVehicleVelvetVendorVentureVenueVerbVerifyVersionVeryVesselVeteranViableVibrantViciousVictoryVideoViewVillageVintageViolinVirtualVirusVisaVisitVisualVitalVividVocalVoiceVoidVolcanoVolumeVoteVoyageWageWagonWaitWalkWallWalnutWantWarfareWarmWarriorWashWaspWasteWaterWaveWayWealthWeaponWearWeaselWeatherWebWeddingWeekendWeirdWelcomeWestWetWhaleWhatWheatWheelWhenWhereWhipWhisperWideWidthWifeWildWillWinWindowWineWingWinkWinnerWinterWireWisdomWiseWishWitnessWolfWomanWonderWoodWoolWordWorkWorldWorryWorthWrapWreckWrestleWristWriteWrongYardYearYellowYouYoungYouthZebraZeroZoneZoo\";\n\nlet wordlist: Array = null;\n\n\nfunction loadWords(lang: Wordlist): void {\n if (wordlist != null) { return; }\n wordlist = words.replace(/([A-Z])/g, \" $1\").toLowerCase().substring(1).split(\" \");\n\n // Verify the computed list matches the official list\n /* istanbul ignore if */\n if (Wordlist.check(lang) !== \"0x3c8acc1e7b08d8e76f9fda015ef48dc8c710a73cb7e0f77b2c18a9b5a7adde60\") {\n wordlist = null;\n throw new Error(\"BIP39 Wordlist for en (English) FAILED\");\n }\n}\n\nclass LangEn extends Wordlist {\n constructor() {\n super(\"en\");\n }\n\n getWord(index: number): string {\n loadWords(this);\n return wordlist[index];\n }\n\n getWordIndex(word: string): number {\n loadWords(this);\n return wordlist.indexOf(word);\n }\n}\n\nconst langEn = new LangEn();\nWordlist.register(langEn);\n\nexport { langEn };\n","\"use strict\";\n// This gets overridden by rollup\nconst exportWordlist = false;\nimport { id } from \"@ethersproject/hash\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nexport const logger = new Logger(version);\nexport class Wordlist {\n constructor(locale) {\n logger.checkAbstract(new.target, Wordlist);\n defineReadOnly(this, \"locale\", locale);\n }\n // Subclasses may override this\n split(mnemonic) {\n return mnemonic.toLowerCase().split(/ +/g);\n }\n // Subclasses may override this\n join(words) {\n return words.join(\" \");\n }\n static check(wordlist) {\n const words = [];\n for (let i = 0; i < 2048; i++) {\n const word = wordlist.getWord(i);\n /* istanbul ignore if */\n if (i !== wordlist.getWordIndex(word)) {\n return \"0x\";\n }\n words.push(word);\n }\n return id(words.join(\"\\n\") + \"\\n\");\n }\n static register(lang, name) {\n if (!name) {\n name = lang.locale;\n }\n /* istanbul ignore if */\n if (exportWordlist) {\n try {\n const anyGlobal = window;\n if (anyGlobal._ethers && anyGlobal._ethers.wordlists) {\n if (!anyGlobal._ethers.wordlists[name]) {\n defineReadOnly(anyGlobal._ethers.wordlists, name, lang);\n }\n }\n }\n catch (error) { }\n }\n }\n}\n//# sourceMappingURL=wordlist.js.map","\"use strict\";\n\n// This gets overridden by rollup\nconst exportWordlist = false;\n\nimport { id } from \"@ethersproject/hash\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nexport const logger = new Logger(version);\n\nexport abstract class Wordlist {\n readonly locale: string;\n\n constructor(locale: string) {\n logger.checkAbstract(new.target, Wordlist);\n defineReadOnly(this, \"locale\", locale);\n }\n\n abstract getWord(index: number): string;\n abstract getWordIndex(word: string): number;\n\n // Subclasses may override this\n split(mnemonic: string): Array {\n return mnemonic.toLowerCase().split(/ +/g)\n }\n\n // Subclasses may override this\n join(words: Array): string {\n return words.join(\" \");\n }\n\n static check(wordlist: Wordlist): string {\n const words = [];\n for (let i = 0; i < 2048; i++) {\n const word = wordlist.getWord(i);\n /* istanbul ignore if */\n if (i !== wordlist.getWordIndex(word)) { return \"0x\"; }\n words.push(word);\n }\n return id(words.join(\"\\n\") + \"\\n\");\n }\n\n static register(lang: Wordlist, name?: string): void {\n if (!name) { name = lang.locale; }\n\n /* istanbul ignore if */\n if (exportWordlist) {\n try {\n const anyGlobal = (window as any)\n if (anyGlobal._ethers && anyGlobal._ethers.wordlists) {\n if (!anyGlobal._ethers.wordlists[name]) {\n defineReadOnly(anyGlobal._ethers.wordlists, name, lang);\n }\n }\n } catch (error) { }\n }\n }\n\n}\n\n","export const version = \"wordlists/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"wordlists/5.7.0\";\n","export const version = \"hdnode/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"hdnode/5.7.0\";\n","\"use strict\";\nimport { getAddress } from \"@ethersproject/address\";\nexport function isCrowdsaleWallet(json) {\n let data = null;\n try {\n data = JSON.parse(json);\n }\n catch (error) {\n return false;\n }\n return (data.encseed && data.ethaddr);\n}\nexport function isKeystoreWallet(json) {\n let data = null;\n try {\n data = JSON.parse(json);\n }\n catch (error) {\n return false;\n }\n if (!data.version || parseInt(data.version) !== data.version || parseInt(data.version) !== 3) {\n return false;\n }\n // @TODO: Put more checks to make sure it has kdf, iv and all that good stuff\n return true;\n}\n//export function isJsonWallet(json: string): boolean {\n// return (isSecretStorageWallet(json) || isCrowdsaleWallet(json));\n//}\nexport function getJsonWalletAddress(json) {\n if (isCrowdsaleWallet(json)) {\n try {\n return getAddress(JSON.parse(json).ethaddr);\n }\n catch (error) {\n return null;\n }\n }\n if (isKeystoreWallet(json)) {\n try {\n return getAddress(JSON.parse(json).address);\n }\n catch (error) {\n return null;\n }\n }\n return null;\n}\n//# sourceMappingURL=inspect.js.map","\"use strict\";\n\nimport { getAddress } from \"@ethersproject/address\";\n\n\nexport function isCrowdsaleWallet(json: string): boolean {\n let data: any = null;\n try {\n data = JSON.parse(json);\n } catch (error) { return false; }\n\n return (data.encseed && data.ethaddr);\n}\n\nexport function isKeystoreWallet(json: string): boolean {\n let data: any = null;\n try {\n data = JSON.parse(json);\n } catch (error) { return false; }\n\n if (!data.version || parseInt(data.version) !== data.version || parseInt(data.version) !== 3) {\n return false;\n }\n\n // @TODO: Put more checks to make sure it has kdf, iv and all that good stuff\n return true;\n}\n\n//export function isJsonWallet(json: string): boolean {\n// return (isSecretStorageWallet(json) || isCrowdsaleWallet(json));\n//}\n\nexport function getJsonWalletAddress(json: string): string {\n if (isCrowdsaleWallet(json)) {\n try {\n return getAddress(JSON.parse(json).ethaddr);\n } catch (error) { return null; }\n }\n\n if (isKeystoreWallet(json)) {\n try {\n return getAddress(JSON.parse(json).address);\n } catch (error) { return null; }\n }\n\n return null;\n}\n\n","\"use strict\";\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n// Debugging line for testing browser lib in node\n//const window = { crypto: { getRandomValues: () => { } } };\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis\nfunction getGlobal() {\n if (typeof self !== 'undefined') {\n return self;\n }\n if (typeof window !== 'undefined') {\n return window;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n throw new Error('unable to locate global object');\n}\n;\nconst anyGlobal = getGlobal();\nlet crypto = anyGlobal.crypto || anyGlobal.msCrypto;\nif (!crypto || !crypto.getRandomValues) {\n logger.warn(\"WARNING: Missing strong random number source\");\n crypto = {\n getRandomValues: function (buffer) {\n return logger.throwError(\"no secure random source avaialble\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"crypto.getRandomValues\"\n });\n }\n };\n}\nexport function randomBytes(length) {\n if (length <= 0 || length > 1024 || (length % 1) || length != length) {\n logger.throwArgumentError(\"invalid length\", \"length\", length);\n }\n const result = new Uint8Array(length);\n crypto.getRandomValues(result);\n return arrayify(result);\n}\n;\n//# sourceMappingURL=random.js.map","\"use strict\";\n\nimport { arrayify } from \"@ethersproject/bytes\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n// Debugging line for testing browser lib in node\n//const window = { crypto: { getRandomValues: () => { } } };\n\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis\nfunction getGlobal(): any {\n if (typeof self !== 'undefined') { return self; }\n if (typeof window !== 'undefined') { return window; }\n if (typeof global !== 'undefined') { return global; }\n throw new Error('unable to locate global object');\n};\n\nconst anyGlobal = getGlobal();\n\nlet crypto: any = anyGlobal.crypto || anyGlobal.msCrypto;\nif (!crypto || !crypto.getRandomValues) {\n\n logger.warn(\"WARNING: Missing strong random number source\");\n\n crypto = {\n getRandomValues: function(buffer: Uint8Array): Uint8Array {\n return logger.throwError(\"no secure random source avaialble\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"crypto.getRandomValues\"\n });\n }\n };\n}\n\nexport function randomBytes(length: number): Uint8Array {\n if (length <= 0 || length > 1024 || (length % 1) || length != length) {\n logger.throwArgumentError(\"invalid length\", \"length\", length);\n }\n\n const result = new Uint8Array(length);\n crypto.getRandomValues(result);\n return arrayify(result);\n};\n","export const version = \"random/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"random/5.7.0\";\n","\"use strict\";\nexport function shuffled(array) {\n array = array.slice();\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n const tmp = array[i];\n array[i] = array[j];\n array[j] = tmp;\n }\n return array;\n}\n//# sourceMappingURL=shuffle.js.map","\"use strict\";\n\nexport function shuffled(array: Array): Array {\n array = array.slice();\n\n for (let i = array.length - 1; i > 0; i--) {\n const j = Math.floor(Math.random() * (i + 1));\n const tmp = array[i];\n array[i] = array[j];\n array[j] = tmp;\n }\n\n return array;\n}\n","\"use strict\";\nimport { HashZero } from \"@ethersproject/constants\";\nimport { arrayify, concat, hexlify } from \"@ethersproject/bytes\";\nimport { toUtf8Bytes, toUtf8String } from \"./utf8\";\nexport function formatBytes32String(text) {\n // Get the bytes\n const bytes = toUtf8Bytes(text);\n // Check we have room for null-termination\n if (bytes.length > 31) {\n throw new Error(\"bytes32 string must be less than 32 bytes\");\n }\n // Zero-pad (implicitly null-terminates)\n return hexlify(concat([bytes, HashZero]).slice(0, 32));\n}\nexport function parseBytes32String(bytes) {\n const data = arrayify(bytes);\n // Must be 32 bytes with a null-termination\n if (data.length !== 32) {\n throw new Error(\"invalid bytes32 - not 32 bytes long\");\n }\n if (data[31] !== 0) {\n throw new Error(\"invalid bytes32 string - no null terminator\");\n }\n // Find the null termination\n let length = 31;\n while (data[length - 1] === 0) {\n length--;\n }\n // Determine the string value\n return toUtf8String(data.slice(0, length));\n}\n//# sourceMappingURL=bytes32.js.map","\"use strict\";\n\nimport { HashZero } from \"@ethersproject/constants\";\nimport { arrayify, BytesLike, concat, hexlify } from \"@ethersproject/bytes\";\n\nimport { toUtf8Bytes, toUtf8String } from \"./utf8\";\n\n\nexport function formatBytes32String(text: string): string {\n\n // Get the bytes\n const bytes = toUtf8Bytes(text);\n\n // Check we have room for null-termination\n if (bytes.length > 31) { throw new Error(\"bytes32 string must be less than 32 bytes\"); }\n\n // Zero-pad (implicitly null-terminates)\n return hexlify(concat([ bytes, HashZero ]).slice(0, 32));\n}\n\nexport function parseBytes32String(bytes: BytesLike): string {\n const data = arrayify(bytes);\n\n // Must be 32 bytes with a null-termination\n if (data.length !== 32) { throw new Error(\"invalid bytes32 - not 32 bytes long\"); }\n if (data[31] !== 0) { throw new Error(\"invalid bytes32 string - no null terminator\"); }\n\n // Find the null termination\n let length = 31;\n while (data[length - 1] === 0) { length--; }\n\n // Determine the string value\n return toUtf8String(data.slice(0, length));\n}\n\n","export const HashZero = \"0x0000000000000000000000000000000000000000000000000000000000000000\";\n//# sourceMappingURL=hashes.js.map","export const HashZero = \"0x0000000000000000000000000000000000000000000000000000000000000000\";\n\n","\"use strict\";\nimport { toUtf8CodePoints, _toUtf8String, UnicodeNormalizationForm } from \"./utf8\";\nfunction bytes2(data) {\n if ((data.length % 4) !== 0) {\n throw new Error(\"bad data\");\n }\n let result = [];\n for (let i = 0; i < data.length; i += 4) {\n result.push(parseInt(data.substring(i, i + 4), 16));\n }\n return result;\n}\nfunction createTable(data, func) {\n if (!func) {\n func = function (value) { return [parseInt(value, 16)]; };\n }\n let lo = 0;\n let result = {};\n data.split(\",\").forEach((pair) => {\n let comps = pair.split(\":\");\n lo += parseInt(comps[0], 16);\n result[lo] = func(comps[1]);\n });\n return result;\n}\nfunction createRangeTable(data) {\n let hi = 0;\n return data.split(\",\").map((v) => {\n let comps = v.split(\"-\");\n if (comps.length === 1) {\n comps[1] = \"0\";\n }\n else if (comps[1] === \"\") {\n comps[1] = \"1\";\n }\n let lo = hi + parseInt(comps[0], 16);\n hi = parseInt(comps[1], 16);\n return { l: lo, h: hi };\n });\n}\nfunction matchMap(value, ranges) {\n let lo = 0;\n for (let i = 0; i < ranges.length; i++) {\n let range = ranges[i];\n lo += range.l;\n if (value >= lo && value <= lo + range.h && ((value - lo) % (range.d || 1)) === 0) {\n if (range.e && range.e.indexOf(value - lo) !== -1) {\n continue;\n }\n return range;\n }\n }\n return null;\n}\nconst Table_A_1_ranges = createRangeTable(\"221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d\");\n// @TODO: Make this relative...\nconst Table_B_1_flags = \"ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff\".split(\",\").map((v) => parseInt(v, 16));\nconst Table_B_2_ranges = [\n { h: 25, s: 32, l: 65 },\n { h: 30, s: 32, e: [23], l: 127 },\n { h: 54, s: 1, e: [48], l: 64, d: 2 },\n { h: 14, s: 1, l: 57, d: 2 },\n { h: 44, s: 1, l: 17, d: 2 },\n { h: 10, s: 1, e: [2, 6, 8], l: 61, d: 2 },\n { h: 16, s: 1, l: 68, d: 2 },\n { h: 84, s: 1, e: [18, 24, 66], l: 19, d: 2 },\n { h: 26, s: 32, e: [17], l: 435 },\n { h: 22, s: 1, l: 71, d: 2 },\n { h: 15, s: 80, l: 40 },\n { h: 31, s: 32, l: 16 },\n { h: 32, s: 1, l: 80, d: 2 },\n { h: 52, s: 1, l: 42, d: 2 },\n { h: 12, s: 1, l: 55, d: 2 },\n { h: 40, s: 1, e: [38], l: 15, d: 2 },\n { h: 14, s: 1, l: 48, d: 2 },\n { h: 37, s: 48, l: 49 },\n { h: 148, s: 1, l: 6351, d: 2 },\n { h: 88, s: 1, l: 160, d: 2 },\n { h: 15, s: 16, l: 704 },\n { h: 25, s: 26, l: 854 },\n { h: 25, s: 32, l: 55915 },\n { h: 37, s: 40, l: 1247 },\n { h: 25, s: -119711, l: 53248 },\n { h: 25, s: -119763, l: 52 },\n { h: 25, s: -119815, l: 52 },\n { h: 25, s: -119867, e: [1, 4, 5, 7, 8, 11, 12, 17], l: 52 },\n { h: 25, s: -119919, l: 52 },\n { h: 24, s: -119971, e: [2, 7, 8, 17], l: 52 },\n { h: 24, s: -120023, e: [2, 7, 13, 15, 16, 17], l: 52 },\n { h: 25, s: -120075, l: 52 },\n { h: 25, s: -120127, l: 52 },\n { h: 25, s: -120179, l: 52 },\n { h: 25, s: -120231, l: 52 },\n { h: 25, s: -120283, l: 52 },\n { h: 25, s: -120335, l: 52 },\n { h: 24, s: -119543, e: [17], l: 56 },\n { h: 24, s: -119601, e: [17], l: 58 },\n { h: 24, s: -119659, e: [17], l: 58 },\n { h: 24, s: -119717, e: [17], l: 58 },\n { h: 24, s: -119775, e: [17], l: 58 }\n];\nconst Table_B_2_lut_abs = createTable(\"b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3\");\nconst Table_B_2_lut_rel = createTable(\"179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7\");\nconst Table_B_2_complex = createTable(\"df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D\", bytes2);\nconst Table_C_ranges = createRangeTable(\"80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001\");\nfunction flatten(values) {\n return values.reduce((accum, value) => {\n value.forEach((value) => { accum.push(value); });\n return accum;\n }, []);\n}\nexport function _nameprepTableA1(codepoint) {\n return !!matchMap(codepoint, Table_A_1_ranges);\n}\nexport function _nameprepTableB2(codepoint) {\n let range = matchMap(codepoint, Table_B_2_ranges);\n if (range) {\n return [codepoint + range.s];\n }\n let codes = Table_B_2_lut_abs[codepoint];\n if (codes) {\n return codes;\n }\n let shift = Table_B_2_lut_rel[codepoint];\n if (shift) {\n return [codepoint + shift[0]];\n }\n let complex = Table_B_2_complex[codepoint];\n if (complex) {\n return complex;\n }\n return null;\n}\nexport function _nameprepTableC(codepoint) {\n return !!matchMap(codepoint, Table_C_ranges);\n}\nexport function nameprep(value) {\n // This allows platforms with incomplete normalize to bypass\n // it for very basic names which the built-in toLowerCase\n // will certainly handle correctly\n if (value.match(/^[a-z0-9-]*$/i) && value.length <= 59) {\n return value.toLowerCase();\n }\n // Get the code points (keeping the current normalization)\n let codes = toUtf8CodePoints(value);\n codes = flatten(codes.map((code) => {\n // Substitute Table B.1 (Maps to Nothing)\n if (Table_B_1_flags.indexOf(code) >= 0) {\n return [];\n }\n if (code >= 0xfe00 && code <= 0xfe0f) {\n return [];\n }\n // Substitute Table B.2 (Case Folding)\n let codesTableB2 = _nameprepTableB2(code);\n if (codesTableB2) {\n return codesTableB2;\n }\n // No Substitution\n return [code];\n }));\n // Normalize using form KC\n codes = toUtf8CodePoints(_toUtf8String(codes), UnicodeNormalizationForm.NFKC);\n // Prohibit Tables C.1.2, C.2.2, C.3, C.4, C.5, C.6, C.7, C.8, C.9\n codes.forEach((code) => {\n if (_nameprepTableC(code)) {\n throw new Error(\"STRINGPREP_CONTAINS_PROHIBITED\");\n }\n });\n // Prohibit Unassigned Code Points (Table A.1)\n codes.forEach((code) => {\n if (_nameprepTableA1(code)) {\n throw new Error(\"STRINGPREP_CONTAINS_UNASSIGNED\");\n }\n });\n // IDNA extras\n let name = _toUtf8String(codes);\n // IDNA: 4.2.3.1\n if (name.substring(0, 1) === \"-\" || name.substring(2, 4) === \"--\" || name.substring(name.length - 1) === \"-\") {\n throw new Error(\"invalid hyphen\");\n }\n return name;\n}\n//# sourceMappingURL=idna.js.map","\"use strict\";\n\nimport { toUtf8CodePoints, _toUtf8String, UnicodeNormalizationForm } from \"./utf8\";\n\ntype Ranged = {\n l: number, // Lo value\n h: number, // High value (less the lo)\n d?: number, // Delta/stride (default: 1)\n s?: number, // Shift (default: 1)\n e?: Array // Exceptions to skip\n};\n\ntype Table = { [ src: number ]: Array };\n\nfunction bytes2(data: string): Array {\n if ((data.length % 4) !== 0) { throw new Error(\"bad data\"); }\n let result = [];\n for (let i = 0; i < data.length; i += 4) {\n result.push(parseInt(data.substring(i, i + 4), 16));\n }\n return result;\n}\n\nfunction createTable(data: string, func?: (value: string) => Array): Table {\n if (!func) {\n func = function(value: string) { return [ parseInt(value, 16) ]; }\n }\n\n let lo = 0;\n\n let result: Table = { };\n data.split(\",\").forEach((pair) => {\n let comps = pair.split(\":\");\n lo += parseInt(comps[0], 16);\n result[lo] = func(comps[1]);\n });\n\n return result;\n}\n\nfunction createRangeTable(data: string): Array {\n let hi = 0;\n return data.split(\",\").map((v) => {\n let comps = v.split(\"-\");\n if (comps.length === 1) {\n comps[1] = \"0\";\n } else if (comps[1] === \"\") {\n comps[1] = \"1\";\n }\n\n let lo = hi + parseInt(comps[0], 16);\n hi = parseInt(comps[1], 16);\n return { l: lo, h: hi };\n });\n}\n\nfunction matchMap(value: number, ranges: Array): Ranged {\n let lo = 0;\n for (let i = 0; i < ranges.length; i++) {\n let range = ranges[i];\n lo += range.l;\n if (value >= lo && value <= lo + range.h && ((value - lo) % (range.d || 1)) === 0) {\n if (range.e && range.e.indexOf(value - lo) !== -1) { continue; }\n return range;\n }\n }\n return null;\n}\n\nconst Table_A_1_ranges = createRangeTable(\"221,13-1b,5f-,40-10,51-f,11-3,3-3,2-2,2-4,8,2,15,2d,28-8,88,48,27-,3-5,11-20,27-,8,28,3-5,12,18,b-a,1c-4,6-16,2-d,2-2,2,1b-4,17-9,8f-,10,f,1f-2,1c-34,33-14e,4,36-,13-,6-2,1a-f,4,9-,3-,17,8,2-2,5-,2,8-,3-,4-8,2-3,3,6-,16-6,2-,7-3,3-,17,8,3,3,3-,2,6-3,3-,4-a,5,2-6,10-b,4,8,2,4,17,8,3,6-,b,4,4-,2-e,2-4,b-10,4,9-,3-,17,8,3-,5-,9-2,3-,4-7,3-3,3,4-3,c-10,3,7-2,4,5-2,3,2,3-2,3-2,4-2,9,4-3,6-2,4,5-8,2-e,d-d,4,9,4,18,b,6-3,8,4,5-6,3-8,3-3,b-11,3,9,4,18,b,6-3,8,4,5-6,3-6,2,3-3,b-11,3,9,4,18,11-3,7-,4,5-8,2-7,3-3,b-11,3,13-2,19,a,2-,8-2,2-3,7,2,9-11,4-b,3b-3,1e-24,3,2-,3,2-,2-5,5,8,4,2,2-,3,e,4-,6,2,7-,b-,3-21,49,23-5,1c-3,9,25,10-,2-2f,23,6,3,8-2,5-5,1b-45,27-9,2a-,2-3,5b-4,45-4,53-5,8,40,2,5-,8,2,5-,28,2,5-,20,2,5-,8,2,5-,8,8,18,20,2,5-,8,28,14-5,1d-22,56-b,277-8,1e-2,52-e,e,8-a,18-8,15-b,e,4,3-b,5e-2,b-15,10,b-5,59-7,2b-555,9d-3,5b-5,17-,7-,27-,7-,9,2,2,2,20-,36,10,f-,7,14-,4,a,54-3,2-6,6-5,9-,1c-10,13-1d,1c-14,3c-,10-6,32-b,240-30,28-18,c-14,a0,115-,3,66-,b-76,5,5-,1d,24,2,5-2,2,8-,35-2,19,f-10,1d-3,311-37f,1b,5a-b,d7-19,d-3,41,57-,68-4,29-3,5f,29-37,2e-2,25-c,2c-2,4e-3,30,78-3,64-,20,19b7-49,51a7-59,48e-2,38-738,2ba5-5b,222f-,3c-94,8-b,6-4,1b,6,2,3,3,6d-20,16e-f,41-,37-7,2e-2,11-f,5-b,18-,b,14,5-3,6,88-,2,bf-2,7-,7-,7-,4-2,8,8-9,8-2ff,20,5-b,1c-b4,27-,27-cbb1,f7-9,28-2,b5-221,56,48,3-,2-,3-,5,d,2,5,3,42,5-,9,8,1d,5,6,2-2,8,153-3,123-3,33-27fd,a6da-5128,21f-5df,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3-fffd,3,2-1d,61-ff7d\");\n\n// @TODO: Make this relative...\nconst Table_B_1_flags = \"ad,34f,1806,180b,180c,180d,200b,200c,200d,2060,feff\".split(\",\").map((v) => parseInt(v, 16));\n\nconst Table_B_2_ranges: Array = [\n { h: 25, s: 32, l: 65 },\n { h: 30, s: 32, e: [ 23 ], l: 127 },\n { h: 54, s: 1, e: [ 48 ], l: 64, d: 2 },\n { h: 14, s: 1, l: 57, d: 2 },\n { h: 44, s: 1, l: 17, d: 2 },\n { h: 10, s: 1, e: [ 2, 6, 8 ], l: 61, d: 2 },\n { h: 16, s: 1, l: 68, d: 2 },\n { h: 84, s: 1, e: [ 18, 24, 66 ], l: 19, d: 2 },\n { h: 26, s: 32, e: [ 17 ], l: 435 },\n { h: 22, s: 1, l: 71, d: 2 },\n { h: 15, s: 80, l: 40 },\n { h: 31, s: 32, l: 16 },\n { h: 32, s: 1, l: 80, d: 2 },\n { h: 52, s: 1, l: 42, d: 2 },\n { h: 12, s: 1, l: 55, d: 2 },\n { h: 40, s: 1, e: [ 38 ], l: 15, d: 2 },\n { h: 14, s: 1, l: 48, d: 2 },\n { h: 37, s: 48, l: 49 },\n { h: 148, s: 1, l: 6351, d: 2 },\n { h: 88, s: 1, l: 160, d: 2 },\n { h: 15, s: 16, l: 704 },\n { h: 25, s: 26, l: 854 },\n { h: 25, s: 32, l: 55915 },\n { h: 37, s: 40, l: 1247 },\n { h: 25, s: -119711, l: 53248 },\n { h: 25, s: -119763, l: 52 },\n { h: 25, s: -119815, l: 52 },\n { h: 25, s: -119867, e: [ 1, 4, 5, 7, 8, 11, 12, 17 ], l: 52 },\n { h: 25, s: -119919, l: 52 },\n { h: 24, s: -119971, e: [ 2, 7, 8, 17 ], l: 52 },\n { h: 24, s: -120023, e: [ 2, 7, 13, 15, 16, 17 ], l: 52 },\n { h: 25, s: -120075, l: 52 },\n { h: 25, s: -120127, l: 52 },\n { h: 25, s: -120179, l: 52 },\n { h: 25, s: -120231, l: 52 },\n { h: 25, s: -120283, l: 52 },\n { h: 25, s: -120335, l: 52 },\n { h: 24, s: -119543, e: [ 17 ], l: 56 },\n { h: 24, s: -119601, e: [ 17 ], l: 58 },\n { h: 24, s: -119659, e: [ 17 ], l: 58 },\n { h: 24, s: -119717, e: [ 17 ], l: 58 },\n { h: 24, s: -119775, e: [ 17 ], l: 58 }\n];\nconst Table_B_2_lut_abs = createTable(\"b5:3bc,c3:ff,7:73,2:253,5:254,3:256,1:257,5:259,1:25b,3:260,1:263,2:269,1:268,5:26f,1:272,2:275,7:280,3:283,5:288,3:28a,1:28b,5:292,3f:195,1:1bf,29:19e,125:3b9,8b:3b2,1:3b8,1:3c5,3:3c6,1:3c0,1a:3ba,1:3c1,1:3c3,2:3b8,1:3b5,1bc9:3b9,1c:1f76,1:1f77,f:1f7a,1:1f7b,d:1f78,1:1f79,1:1f7c,1:1f7d,107:63,5:25b,4:68,1:68,1:68,3:69,1:69,1:6c,3:6e,4:70,1:71,1:72,1:72,1:72,7:7a,2:3c9,2:7a,2:6b,1:e5,1:62,1:63,3:65,1:66,2:6d,b:3b3,1:3c0,6:64,1b574:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3,20:3b8,1a:3c3\");\nconst Table_B_2_lut_rel = createTable(\"179:1,2:1,2:1,5:1,2:1,a:4f,a:1,8:1,2:1,2:1,3:1,5:1,3:1,4:1,2:1,3:1,4:1,8:2,1:1,2:2,1:1,2:2,27:2,195:26,2:25,1:25,1:25,2:40,2:3f,1:3f,33:1,11:-6,1:-9,1ac7:-3a,6d:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,b:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,c:-8,2:-8,2:-8,2:-8,9:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,1:-8,49:-8,1:-8,1:-4a,1:-4a,d:-56,1:-56,1:-56,1:-56,d:-8,1:-8,f:-8,1:-8,3:-7\");\nconst Table_B_2_complex = createTable(\"df:00730073,51:00690307,19:02BC006E,a7:006A030C,18a:002003B9,16:03B903080301,20:03C503080301,1d7:05650582,190f:00680331,1:00740308,1:0077030A,1:0079030A,1:006102BE,b6:03C50313,2:03C503130300,2:03C503130301,2:03C503130342,2a:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F0003B9,1:1F0103B9,1:1F0203B9,1:1F0303B9,1:1F0403B9,1:1F0503B9,1:1F0603B9,1:1F0703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F2003B9,1:1F2103B9,1:1F2203B9,1:1F2303B9,1:1F2403B9,1:1F2503B9,1:1F2603B9,1:1F2703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,1:1F6003B9,1:1F6103B9,1:1F6203B9,1:1F6303B9,1:1F6403B9,1:1F6503B9,1:1F6603B9,1:1F6703B9,3:1F7003B9,1:03B103B9,1:03AC03B9,2:03B10342,1:03B1034203B9,5:03B103B9,6:1F7403B9,1:03B703B9,1:03AE03B9,2:03B70342,1:03B7034203B9,5:03B703B9,6:03B903080300,1:03B903080301,3:03B90342,1:03B903080342,b:03C503080300,1:03C503080301,1:03C10313,2:03C50342,1:03C503080342,b:1F7C03B9,1:03C903B9,1:03CE03B9,2:03C90342,1:03C9034203B9,5:03C903B9,ac:00720073,5b:00B00063,6:00B00066,d:006E006F,a:0073006D,1:00740065006C,1:0074006D,124f:006800700061,2:00610075,2:006F0076,b:00700061,1:006E0061,1:03BC0061,1:006D0061,1:006B0061,1:006B0062,1:006D0062,1:00670062,3:00700066,1:006E0066,1:03BC0066,4:0068007A,1:006B0068007A,1:006D0068007A,1:00670068007A,1:00740068007A,15:00700061,1:006B00700061,1:006D00700061,1:006700700061,8:00700076,1:006E0076,1:03BC0076,1:006D0076,1:006B0076,1:006D0076,1:00700077,1:006E0077,1:03BC0077,1:006D0077,1:006B0077,1:006D0077,1:006B03C9,1:006D03C9,2:00620071,3:00632215006B0067,1:0063006F002E,1:00640062,1:00670079,2:00680070,2:006B006B,1:006B006D,9:00700068,2:00700070006D,1:00700072,2:00730076,1:00770062,c723:00660066,1:00660069,1:0066006C,1:006600660069,1:00660066006C,1:00730074,1:00730074,d:05740576,1:05740565,1:0574056B,1:057E0576,1:0574056D\", bytes2);\n\nconst Table_C_ranges = createRangeTable(\"80-20,2a0-,39c,32,f71,18e,7f2-f,19-7,30-4,7-5,f81-b,5,a800-20ff,4d1-1f,110,fa-6,d174-7,2e84-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,ffff-,2,1f-5f,ff7f-20001\");\n\n\nfunction flatten(values: Array>): Array {\n return values.reduce((accum, value) => {\n value.forEach((value) => { accum.push(value); });\n return accum;\n }, [ ]);\n}\n\nexport function _nameprepTableA1(codepoint: number): boolean {\n return !!matchMap(codepoint, Table_A_1_ranges);\n}\n\nexport function _nameprepTableB2(codepoint: number): Array {\n let range = matchMap(codepoint, Table_B_2_ranges);\n if (range) { return [ codepoint + range.s ]; }\n\n let codes = Table_B_2_lut_abs[codepoint];\n if (codes) { return codes; }\n\n let shift = Table_B_2_lut_rel[codepoint];\n if (shift) { return [ codepoint + shift[0] ]; }\n\n let complex = Table_B_2_complex[codepoint];\n if (complex) { return complex; }\n\n return null;\n}\n\nexport function _nameprepTableC(codepoint: number): boolean {\n return !!matchMap(codepoint, Table_C_ranges);\n}\n\nexport function nameprep(value: string): string {\n\n // This allows platforms with incomplete normalize to bypass\n // it for very basic names which the built-in toLowerCase\n // will certainly handle correctly\n if (value.match(/^[a-z0-9-]*$/i) && value.length <= 59) { return value.toLowerCase(); }\n\n // Get the code points (keeping the current normalization)\n let codes = toUtf8CodePoints(value);\n\n codes = flatten(codes.map((code) => {\n // Substitute Table B.1 (Maps to Nothing)\n if (Table_B_1_flags.indexOf(code) >= 0) { return [ ]; }\n if (code >= 0xfe00 && code <= 0xfe0f) { return [ ]; }\n\n // Substitute Table B.2 (Case Folding)\n let codesTableB2 = _nameprepTableB2(code);\n if (codesTableB2) { return codesTableB2; }\n\n // No Substitution\n return [ code ];\n }));\n\n // Normalize using form KC\n codes = toUtf8CodePoints(_toUtf8String(codes), UnicodeNormalizationForm.NFKC);\n\n // Prohibit Tables C.1.2, C.2.2, C.3, C.4, C.5, C.6, C.7, C.8, C.9\n codes.forEach((code) => {\n if (_nameprepTableC(code)) {\n throw new Error(\"STRINGPREP_CONTAINS_PROHIBITED\");\n }\n });\n\n // Prohibit Unassigned Code Points (Table A.1)\n codes.forEach((code) => {\n if (_nameprepTableA1(code)) {\n throw new Error(\"STRINGPREP_CONTAINS_UNASSIGNED\");\n }\n });\n\n // IDNA extras\n let name = _toUtf8String(codes);\n\n // IDNA: 4.2.3.1\n if (name.substring(0, 1) === \"-\" || name.substring(2, 4) === \"--\" || name.substring(name.length - 1) === \"-\") {\n throw new Error(\"invalid hyphen\");\n }\n\n return name;\n}\n\n","\"use strict\";\nimport { formatFixed, parseFixed } from \"@ethersproject/bignumber\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nconst names = [\n \"wei\",\n \"kwei\",\n \"mwei\",\n \"gwei\",\n \"szabo\",\n \"finney\",\n \"ether\",\n];\n// Some environments have issues with RegEx that contain back-tracking, so we cannot\n// use them.\nexport function commify(value) {\n const comps = String(value).split(\".\");\n if (comps.length > 2 || !comps[0].match(/^-?[0-9]*$/) || (comps[1] && !comps[1].match(/^[0-9]*$/)) || value === \".\" || value === \"-.\") {\n logger.throwArgumentError(\"invalid value\", \"value\", value);\n }\n // Make sure we have at least one whole digit (0 if none)\n let whole = comps[0];\n let negative = \"\";\n if (whole.substring(0, 1) === \"-\") {\n negative = \"-\";\n whole = whole.substring(1);\n }\n // Make sure we have at least 1 whole digit with no leading zeros\n while (whole.substring(0, 1) === \"0\") {\n whole = whole.substring(1);\n }\n if (whole === \"\") {\n whole = \"0\";\n }\n let suffix = \"\";\n if (comps.length === 2) {\n suffix = \".\" + (comps[1] || \"0\");\n }\n while (suffix.length > 2 && suffix[suffix.length - 1] === \"0\") {\n suffix = suffix.substring(0, suffix.length - 1);\n }\n const formatted = [];\n while (whole.length) {\n if (whole.length <= 3) {\n formatted.unshift(whole);\n break;\n }\n else {\n const index = whole.length - 3;\n formatted.unshift(whole.substring(index));\n whole = whole.substring(0, index);\n }\n }\n return negative + formatted.join(\",\") + suffix;\n}\nexport function formatUnits(value, unitName) {\n if (typeof (unitName) === \"string\") {\n const index = names.indexOf(unitName);\n if (index !== -1) {\n unitName = 3 * index;\n }\n }\n return formatFixed(value, (unitName != null) ? unitName : 18);\n}\nexport function parseUnits(value, unitName) {\n if (typeof (value) !== \"string\") {\n logger.throwArgumentError(\"value must be a string\", \"value\", value);\n }\n if (typeof (unitName) === \"string\") {\n const index = names.indexOf(unitName);\n if (index !== -1) {\n unitName = 3 * index;\n }\n }\n return parseFixed(value, (unitName != null) ? unitName : 18);\n}\nexport function formatEther(wei) {\n return formatUnits(wei, 18);\n}\nexport function parseEther(ether) {\n return parseUnits(ether, 18);\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { formatFixed, parseFixed } from \"@ethersproject/bignumber\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nconst names = [\n \"wei\",\n \"kwei\",\n \"mwei\",\n \"gwei\",\n \"szabo\",\n \"finney\",\n \"ether\",\n];\n\n\n// Some environments have issues with RegEx that contain back-tracking, so we cannot\n// use them.\nexport function commify(value: string | number): string {\n const comps = String(value).split(\".\");\n\n if (comps.length > 2 || !comps[0].match(/^-?[0-9]*$/) || (comps[1] && !comps[1].match(/^[0-9]*$/)) || value === \".\" || value === \"-.\") {\n logger.throwArgumentError(\"invalid value\", \"value\", value);\n }\n\n // Make sure we have at least one whole digit (0 if none)\n let whole = comps[0];\n\n let negative = \"\";\n if (whole.substring(0, 1) === \"-\") {\n negative = \"-\";\n whole = whole.substring(1);\n }\n\n // Make sure we have at least 1 whole digit with no leading zeros\n while (whole.substring(0, 1) === \"0\") { whole = whole.substring(1); }\n if (whole === \"\") { whole = \"0\"; }\n\n let suffix = \"\";\n if (comps.length === 2) { suffix = \".\" + (comps[1] || \"0\"); }\n while (suffix.length > 2 && suffix[suffix.length - 1] === \"0\") {\n suffix = suffix.substring(0, suffix.length - 1);\n }\n\n const formatted = [];\n while (whole.length) {\n if (whole.length <= 3) {\n formatted.unshift(whole);\n break;\n } else {\n const index = whole.length - 3;\n formatted.unshift(whole.substring(index));\n whole = whole.substring(0, index);\n }\n }\n\n return negative + formatted.join(\",\") + suffix;\n}\n\nexport function formatUnits(value: BigNumberish, unitName?: string | BigNumberish): string {\n if (typeof(unitName) === \"string\") {\n const index = names.indexOf(unitName);\n if (index !== -1) { unitName = 3 * index; }\n }\n return formatFixed(value, (unitName != null) ? unitName: 18);\n}\n\nexport function parseUnits(value: string, unitName?: BigNumberish): BigNumber {\n if (typeof(value) !== \"string\") {\n logger.throwArgumentError(\"value must be a string\", \"value\", value);\n }\n if (typeof(unitName) === \"string\") {\n const index = names.indexOf(unitName);\n if (index !== -1) { unitName = 3 * index; }\n }\n return parseFixed(value, (unitName != null) ? unitName: 18);\n}\n\nexport function formatEther(wei: BigNumberish): string {\n return formatUnits(wei, 18);\n}\n\nexport function parseEther(ether: string): BigNumber {\n return parseUnits(ether, 18);\n}\n\n","\"use strict\";\nimport { arrayify, hexZeroPad, isBytes } from \"@ethersproject/bytes\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { BigNumber, isBigNumberish } from \"./bignumber\";\nconst _constructorGuard = {};\nconst Zero = BigNumber.from(0);\nconst NegativeOne = BigNumber.from(-1);\nfunction throwFault(message, fault, operation, value) {\n const params = { fault: fault, operation: operation };\n if (value !== undefined) {\n params.value = value;\n }\n return logger.throwError(message, Logger.errors.NUMERIC_FAULT, params);\n}\n// Constant to pull zeros from for multipliers\nlet zeros = \"0\";\nwhile (zeros.length < 256) {\n zeros += zeros;\n}\n// Returns a string \"1\" followed by decimal \"0\"s\nfunction getMultiplier(decimals) {\n if (typeof (decimals) !== \"number\") {\n try {\n decimals = BigNumber.from(decimals).toNumber();\n }\n catch (e) { }\n }\n if (typeof (decimals) === \"number\" && decimals >= 0 && decimals <= 256 && !(decimals % 1)) {\n return (\"1\" + zeros.substring(0, decimals));\n }\n return logger.throwArgumentError(\"invalid decimal size\", \"decimals\", decimals);\n}\nexport function formatFixed(value, decimals) {\n if (decimals == null) {\n decimals = 0;\n }\n const multiplier = getMultiplier(decimals);\n // Make sure wei is a big number (convert as necessary)\n value = BigNumber.from(value);\n const negative = value.lt(Zero);\n if (negative) {\n value = value.mul(NegativeOne);\n }\n let fraction = value.mod(multiplier).toString();\n while (fraction.length < multiplier.length - 1) {\n fraction = \"0\" + fraction;\n }\n // Strip training 0\n fraction = fraction.match(/^([0-9]*[1-9]|0)(0*)/)[1];\n const whole = value.div(multiplier).toString();\n if (multiplier.length === 1) {\n value = whole;\n }\n else {\n value = whole + \".\" + fraction;\n }\n if (negative) {\n value = \"-\" + value;\n }\n return value;\n}\nexport function parseFixed(value, decimals) {\n if (decimals == null) {\n decimals = 0;\n }\n const multiplier = getMultiplier(decimals);\n if (typeof (value) !== \"string\" || !value.match(/^-?[0-9.]+$/)) {\n logger.throwArgumentError(\"invalid decimal value\", \"value\", value);\n }\n // Is it negative?\n const negative = (value.substring(0, 1) === \"-\");\n if (negative) {\n value = value.substring(1);\n }\n if (value === \".\") {\n logger.throwArgumentError(\"missing value\", \"value\", value);\n }\n // Split it into a whole and fractional part\n const comps = value.split(\".\");\n if (comps.length > 2) {\n logger.throwArgumentError(\"too many decimal points\", \"value\", value);\n }\n let whole = comps[0], fraction = comps[1];\n if (!whole) {\n whole = \"0\";\n }\n if (!fraction) {\n fraction = \"0\";\n }\n // Trim trailing zeros\n while (fraction[fraction.length - 1] === \"0\") {\n fraction = fraction.substring(0, fraction.length - 1);\n }\n // Check the fraction doesn't exceed our decimals size\n if (fraction.length > multiplier.length - 1) {\n throwFault(\"fractional component exceeds decimals\", \"underflow\", \"parseFixed\");\n }\n // If decimals is 0, we have an empty string for fraction\n if (fraction === \"\") {\n fraction = \"0\";\n }\n // Fully pad the string with zeros to get to wei\n while (fraction.length < multiplier.length - 1) {\n fraction += \"0\";\n }\n const wholeValue = BigNumber.from(whole);\n const fractionValue = BigNumber.from(fraction);\n let wei = (wholeValue.mul(multiplier)).add(fractionValue);\n if (negative) {\n wei = wei.mul(NegativeOne);\n }\n return wei;\n}\nexport class FixedFormat {\n constructor(constructorGuard, signed, width, decimals) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"cannot use FixedFormat constructor; use FixedFormat.from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new FixedFormat\"\n });\n }\n this.signed = signed;\n this.width = width;\n this.decimals = decimals;\n this.name = (signed ? \"\" : \"u\") + \"fixed\" + String(width) + \"x\" + String(decimals);\n this._multiplier = getMultiplier(decimals);\n Object.freeze(this);\n }\n static from(value) {\n if (value instanceof FixedFormat) {\n return value;\n }\n if (typeof (value) === \"number\") {\n value = `fixed128x${value}`;\n }\n let signed = true;\n let width = 128;\n let decimals = 18;\n if (typeof (value) === \"string\") {\n if (value === \"fixed\") {\n // defaults...\n }\n else if (value === \"ufixed\") {\n signed = false;\n }\n else {\n const match = value.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);\n if (!match) {\n logger.throwArgumentError(\"invalid fixed format\", \"format\", value);\n }\n signed = (match[1] !== \"u\");\n width = parseInt(match[2]);\n decimals = parseInt(match[3]);\n }\n }\n else if (value) {\n const check = (key, type, defaultValue) => {\n if (value[key] == null) {\n return defaultValue;\n }\n if (typeof (value[key]) !== type) {\n logger.throwArgumentError(\"invalid fixed format (\" + key + \" not \" + type + \")\", \"format.\" + key, value[key]);\n }\n return value[key];\n };\n signed = check(\"signed\", \"boolean\", signed);\n width = check(\"width\", \"number\", width);\n decimals = check(\"decimals\", \"number\", decimals);\n }\n if (width % 8) {\n logger.throwArgumentError(\"invalid fixed format width (not byte aligned)\", \"format.width\", width);\n }\n if (decimals > 80) {\n logger.throwArgumentError(\"invalid fixed format (decimals too large)\", \"format.decimals\", decimals);\n }\n return new FixedFormat(_constructorGuard, signed, width, decimals);\n }\n}\nexport class FixedNumber {\n constructor(constructorGuard, hex, value, format) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"cannot use FixedNumber constructor; use FixedNumber.from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new FixedFormat\"\n });\n }\n this.format = format;\n this._hex = hex;\n this._value = value;\n this._isFixedNumber = true;\n Object.freeze(this);\n }\n _checkFormat(other) {\n if (this.format.name !== other.format.name) {\n logger.throwArgumentError(\"incompatible format; use fixedNumber.toFormat\", \"other\", other);\n }\n }\n addUnsafe(other) {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.add(b), this.format.decimals, this.format);\n }\n subUnsafe(other) {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.sub(b), this.format.decimals, this.format);\n }\n mulUnsafe(other) {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.mul(b).div(this.format._multiplier), this.format.decimals, this.format);\n }\n divUnsafe(other) {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.mul(this.format._multiplier).div(b), this.format.decimals, this.format);\n }\n floor() {\n const comps = this.toString().split(\".\");\n if (comps.length === 1) {\n comps.push(\"0\");\n }\n let result = FixedNumber.from(comps[0], this.format);\n const hasFraction = !comps[1].match(/^(0*)$/);\n if (this.isNegative() && hasFraction) {\n result = result.subUnsafe(ONE.toFormat(result.format));\n }\n return result;\n }\n ceiling() {\n const comps = this.toString().split(\".\");\n if (comps.length === 1) {\n comps.push(\"0\");\n }\n let result = FixedNumber.from(comps[0], this.format);\n const hasFraction = !comps[1].match(/^(0*)$/);\n if (!this.isNegative() && hasFraction) {\n result = result.addUnsafe(ONE.toFormat(result.format));\n }\n return result;\n }\n // @TODO: Support other rounding algorithms\n round(decimals) {\n if (decimals == null) {\n decimals = 0;\n }\n // If we are already in range, we're done\n const comps = this.toString().split(\".\");\n if (comps.length === 1) {\n comps.push(\"0\");\n }\n if (decimals < 0 || decimals > 80 || (decimals % 1)) {\n logger.throwArgumentError(\"invalid decimal count\", \"decimals\", decimals);\n }\n if (comps[1].length <= decimals) {\n return this;\n }\n const factor = FixedNumber.from(\"1\" + zeros.substring(0, decimals), this.format);\n const bump = BUMP.toFormat(this.format);\n return this.mulUnsafe(factor).addUnsafe(bump).floor().divUnsafe(factor);\n }\n isZero() {\n return (this._value === \"0.0\" || this._value === \"0\");\n }\n isNegative() {\n return (this._value[0] === \"-\");\n }\n toString() { return this._value; }\n toHexString(width) {\n if (width == null) {\n return this._hex;\n }\n if (width % 8) {\n logger.throwArgumentError(\"invalid byte width\", \"width\", width);\n }\n const hex = BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(width).toHexString();\n return hexZeroPad(hex, width / 8);\n }\n toUnsafeFloat() { return parseFloat(this.toString()); }\n toFormat(format) {\n return FixedNumber.fromString(this._value, format);\n }\n static fromValue(value, decimals, format) {\n // If decimals looks more like a format, and there is no format, shift the parameters\n if (format == null && decimals != null && !isBigNumberish(decimals)) {\n format = decimals;\n decimals = null;\n }\n if (decimals == null) {\n decimals = 0;\n }\n if (format == null) {\n format = \"fixed\";\n }\n return FixedNumber.fromString(formatFixed(value, decimals), FixedFormat.from(format));\n }\n static fromString(value, format) {\n if (format == null) {\n format = \"fixed\";\n }\n const fixedFormat = FixedFormat.from(format);\n const numeric = parseFixed(value, fixedFormat.decimals);\n if (!fixedFormat.signed && numeric.lt(Zero)) {\n throwFault(\"unsigned value cannot be negative\", \"overflow\", \"value\", value);\n }\n let hex = null;\n if (fixedFormat.signed) {\n hex = numeric.toTwos(fixedFormat.width).toHexString();\n }\n else {\n hex = numeric.toHexString();\n hex = hexZeroPad(hex, fixedFormat.width / 8);\n }\n const decimal = formatFixed(numeric, fixedFormat.decimals);\n return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat);\n }\n static fromBytes(value, format) {\n if (format == null) {\n format = \"fixed\";\n }\n const fixedFormat = FixedFormat.from(format);\n if (arrayify(value).length > fixedFormat.width / 8) {\n throw new Error(\"overflow\");\n }\n let numeric = BigNumber.from(value);\n if (fixedFormat.signed) {\n numeric = numeric.fromTwos(fixedFormat.width);\n }\n const hex = numeric.toTwos((fixedFormat.signed ? 0 : 1) + fixedFormat.width).toHexString();\n const decimal = formatFixed(numeric, fixedFormat.decimals);\n return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat);\n }\n static from(value, format) {\n if (typeof (value) === \"string\") {\n return FixedNumber.fromString(value, format);\n }\n if (isBytes(value)) {\n return FixedNumber.fromBytes(value, format);\n }\n try {\n return FixedNumber.fromValue(value, 0, format);\n }\n catch (error) {\n // Allow NUMERIC_FAULT to bubble up\n if (error.code !== Logger.errors.INVALID_ARGUMENT) {\n throw error;\n }\n }\n return logger.throwArgumentError(\"invalid FixedNumber value\", \"value\", value);\n }\n static isFixedNumber(value) {\n return !!(value && value._isFixedNumber);\n }\n}\nconst ONE = FixedNumber.from(1);\nconst BUMP = FixedNumber.from(\"0.5\");\n//# sourceMappingURL=fixednumber.js.map","\"use strict\";\n\nimport { arrayify, BytesLike, hexZeroPad, isBytes } from \"@ethersproject/bytes\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { BigNumber, BigNumberish, isBigNumberish } from \"./bignumber\";\n\nconst _constructorGuard = { };\n\nconst Zero = BigNumber.from(0);\nconst NegativeOne = BigNumber.from(-1);\n\nfunction throwFault(message: string, fault: string, operation: string, value?: any): never {\n const params: any = { fault: fault, operation: operation };\n if (value !== undefined) { params.value = value; }\n return logger.throwError(message, Logger.errors.NUMERIC_FAULT, params);\n}\n\n// Constant to pull zeros from for multipliers\nlet zeros = \"0\";\nwhile (zeros.length < 256) { zeros += zeros; }\n\n// Returns a string \"1\" followed by decimal \"0\"s\nfunction getMultiplier(decimals: BigNumberish): string {\n\n if (typeof(decimals) !== \"number\") {\n try {\n decimals = BigNumber.from(decimals).toNumber();\n } catch (e) { }\n }\n\n if (typeof(decimals) === \"number\" && decimals >= 0 && decimals <= 256 && !(decimals % 1)) {\n return (\"1\" + zeros.substring(0, decimals));\n }\n\n return logger.throwArgumentError(\"invalid decimal size\", \"decimals\", decimals);\n}\n\nexport function formatFixed(value: BigNumberish, decimals?: string | BigNumberish): string {\n if (decimals == null) { decimals = 0; }\n const multiplier = getMultiplier(decimals);\n\n // Make sure wei is a big number (convert as necessary)\n value = BigNumber.from(value);\n\n const negative = value.lt(Zero);\n if (negative) { value = value.mul(NegativeOne); }\n\n let fraction = value.mod(multiplier).toString();\n while (fraction.length < multiplier.length - 1) { fraction = \"0\" + fraction; }\n\n // Strip training 0\n fraction = fraction.match(/^([0-9]*[1-9]|0)(0*)/)[1];\n\n const whole = value.div(multiplier).toString();\n if (multiplier.length === 1) {\n value = whole;\n } else {\n value = whole + \".\" + fraction;\n }\n\n if (negative) { value = \"-\" + value; }\n\n return value;\n}\n\nexport function parseFixed(value: string, decimals?: BigNumberish): BigNumber {\n\n if (decimals == null) { decimals = 0; }\n const multiplier = getMultiplier(decimals);\n\n if (typeof(value) !== \"string\" || !value.match(/^-?[0-9.]+$/)) {\n logger.throwArgumentError(\"invalid decimal value\", \"value\", value);\n }\n\n // Is it negative?\n const negative = (value.substring(0, 1) === \"-\");\n if (negative) { value = value.substring(1); }\n\n if (value === \".\") {\n logger.throwArgumentError(\"missing value\", \"value\", value);\n }\n\n // Split it into a whole and fractional part\n const comps = value.split(\".\");\n if (comps.length > 2) {\n logger.throwArgumentError(\"too many decimal points\", \"value\", value);\n }\n\n let whole = comps[0], fraction = comps[1];\n if (!whole) { whole = \"0\"; }\n if (!fraction) { fraction = \"0\"; }\n\n // Trim trailing zeros\n while (fraction[fraction.length - 1] === \"0\") {\n fraction = fraction.substring(0, fraction.length - 1);\n }\n\n // Check the fraction doesn't exceed our decimals size\n if (fraction.length > multiplier.length - 1) {\n throwFault(\"fractional component exceeds decimals\", \"underflow\", \"parseFixed\");\n }\n\n // If decimals is 0, we have an empty string for fraction\n if (fraction === \"\") { fraction = \"0\"; }\n\n // Fully pad the string with zeros to get to wei\n while (fraction.length < multiplier.length - 1) { fraction += \"0\"; }\n\n const wholeValue = BigNumber.from(whole);\n const fractionValue = BigNumber.from(fraction);\n\n let wei = (wholeValue.mul(multiplier)).add(fractionValue);\n\n if (negative) { wei = wei.mul(NegativeOne); }\n\n return wei;\n}\n\n\nexport class FixedFormat {\n readonly signed: boolean;\n readonly width: number;\n readonly decimals: number;\n readonly name: string;\n readonly _multiplier: string;\n\n constructor(constructorGuard: any, signed: boolean, width: number, decimals: number) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"cannot use FixedFormat constructor; use FixedFormat.from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new FixedFormat\"\n });\n }\n\n this.signed = signed;\n this.width = width;\n this.decimals = decimals;\n\n this.name = (signed ? \"\": \"u\") + \"fixed\" + String(width) + \"x\" + String(decimals);\n\n this._multiplier = getMultiplier(decimals);\n\n Object.freeze(this);\n }\n\n static from(value: any): FixedFormat {\n if (value instanceof FixedFormat) { return value; }\n\n if (typeof(value) === \"number\") {\n value = `fixed128x${value}`\n }\n\n let signed = true;\n let width = 128;\n let decimals = 18;\n\n if (typeof(value) === \"string\") {\n if (value === \"fixed\") {\n // defaults...\n } else if (value === \"ufixed\") {\n signed = false;\n } else {\n const match = value.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);\n if (!match) { logger.throwArgumentError(\"invalid fixed format\", \"format\", value); }\n signed = (match[1] !== \"u\");\n width = parseInt(match[2]);\n decimals = parseInt(match[3]);\n }\n } else if (value) {\n const check = (key: string, type: string, defaultValue: any): any => {\n if (value[key] == null) { return defaultValue; }\n if (typeof(value[key]) !== type) {\n logger.throwArgumentError(\"invalid fixed format (\" + key + \" not \" + type +\")\", \"format.\" + key, value[key]);\n }\n return value[key];\n }\n signed = check(\"signed\", \"boolean\", signed);\n width = check(\"width\", \"number\", width);\n decimals = check(\"decimals\", \"number\", decimals);\n }\n\n if (width % 8) {\n logger.throwArgumentError(\"invalid fixed format width (not byte aligned)\", \"format.width\", width);\n }\n\n if (decimals > 80) {\n logger.throwArgumentError(\"invalid fixed format (decimals too large)\", \"format.decimals\", decimals);\n }\n\n return new FixedFormat(_constructorGuard, signed, width, decimals);\n }\n}\n\nexport class FixedNumber {\n readonly format: FixedFormat;\n readonly _hex: string;\n readonly _value: string;\n\n readonly _isFixedNumber: boolean;\n\n constructor(constructorGuard: any, hex: string, value: string, format?: FixedFormat) {\n if (constructorGuard !== _constructorGuard) {\n logger.throwError(\"cannot use FixedNumber constructor; use FixedNumber.from\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new FixedFormat\"\n });\n }\n\n this.format = format;\n this._hex = hex;\n this._value = value;\n\n this._isFixedNumber = true;\n\n Object.freeze(this);\n }\n\n _checkFormat(other: FixedNumber): void {\n if (this.format.name !== other.format.name) {\n logger.throwArgumentError(\"incompatible format; use fixedNumber.toFormat\", \"other\", other);\n }\n }\n\n addUnsafe(other: FixedNumber): FixedNumber {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.add(b), this.format.decimals, this.format);\n }\n\n subUnsafe(other: FixedNumber): FixedNumber {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.sub(b), this.format.decimals, this.format);\n }\n\n mulUnsafe(other: FixedNumber): FixedNumber {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.mul(b).div(this.format._multiplier), this.format.decimals, this.format);\n }\n\n divUnsafe(other: FixedNumber): FixedNumber {\n this._checkFormat(other);\n const a = parseFixed(this._value, this.format.decimals);\n const b = parseFixed(other._value, other.format.decimals);\n return FixedNumber.fromValue(a.mul(this.format._multiplier).div(b), this.format.decimals, this.format);\n }\n\n floor(): FixedNumber {\n const comps = this.toString().split(\".\");\n if (comps.length === 1) { comps.push(\"0\"); }\n\n let result = FixedNumber.from(comps[0], this.format);\n\n const hasFraction = !comps[1].match(/^(0*)$/);\n if (this.isNegative() && hasFraction) {\n result = result.subUnsafe(ONE.toFormat(result.format));\n }\n\n return result;\n }\n\n ceiling(): FixedNumber {\n const comps = this.toString().split(\".\");\n if (comps.length === 1) { comps.push(\"0\"); }\n\n let result = FixedNumber.from(comps[0], this.format);\n\n const hasFraction = !comps[1].match(/^(0*)$/);\n if (!this.isNegative() && hasFraction) {\n result = result.addUnsafe(ONE.toFormat(result.format));\n }\n\n return result;\n }\n\n // @TODO: Support other rounding algorithms\n round(decimals?: number): FixedNumber {\n if (decimals == null) { decimals = 0; }\n\n // If we are already in range, we're done\n const comps = this.toString().split(\".\");\n if (comps.length === 1) { comps.push(\"0\"); }\n\n if (decimals < 0 || decimals > 80 || (decimals % 1)) {\n logger.throwArgumentError(\"invalid decimal count\", \"decimals\", decimals);\n }\n\n if (comps[1].length <= decimals) { return this; }\n\n const factor = FixedNumber.from(\"1\" + zeros.substring(0, decimals), this.format);\n const bump = BUMP.toFormat(this.format);\n\n return this.mulUnsafe(factor).addUnsafe(bump).floor().divUnsafe(factor);\n }\n\n isZero(): boolean {\n return (this._value === \"0.0\" || this._value === \"0\");\n }\n\n isNegative(): boolean {\n return (this._value[0] === \"-\");\n }\n\n toString(): string { return this._value; }\n\n toHexString(width?: number): string {\n if (width == null) { return this._hex; }\n if (width % 8) { logger.throwArgumentError(\"invalid byte width\", \"width\", width); }\n const hex = BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(width).toHexString();\n return hexZeroPad(hex, width / 8);\n }\n\n toUnsafeFloat(): number { return parseFloat(this.toString()); }\n\n toFormat(format: FixedFormat | string): FixedNumber {\n return FixedNumber.fromString(this._value, format);\n }\n\n\n static fromValue(value: BigNumber, decimals?: BigNumberish, format?: FixedFormat | string | number): FixedNumber {\n // If decimals looks more like a format, and there is no format, shift the parameters\n if (format == null && decimals != null && !isBigNumberish(decimals)) {\n format = decimals;\n decimals = null;\n }\n\n if (decimals == null) { decimals = 0; }\n if (format == null) { format = \"fixed\"; }\n\n return FixedNumber.fromString(formatFixed(value, decimals), FixedFormat.from(format));\n }\n\n\n static fromString(value: string, format?: FixedFormat | string | number): FixedNumber {\n if (format == null) { format = \"fixed\"; }\n\n const fixedFormat = FixedFormat.from(format);\n\n const numeric = parseFixed(value, fixedFormat.decimals);\n\n if (!fixedFormat.signed && numeric.lt(Zero)) {\n throwFault(\"unsigned value cannot be negative\", \"overflow\", \"value\", value);\n }\n\n let hex: string = null;\n if (fixedFormat.signed) {\n hex = numeric.toTwos(fixedFormat.width).toHexString();\n } else {\n hex = numeric.toHexString();\n hex = hexZeroPad(hex, fixedFormat.width / 8);\n }\n\n const decimal = formatFixed(numeric, fixedFormat.decimals);\n\n return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat);\n }\n\n static fromBytes(value: BytesLike, format?: FixedFormat | string | number): FixedNumber {\n if (format == null) { format = \"fixed\"; }\n\n const fixedFormat = FixedFormat.from(format);\n\n if (arrayify(value).length > fixedFormat.width / 8) {\n throw new Error(\"overflow\");\n }\n\n let numeric = BigNumber.from(value);\n if (fixedFormat.signed) { numeric = numeric.fromTwos(fixedFormat.width); }\n\n const hex = numeric.toTwos((fixedFormat.signed ? 0: 1) + fixedFormat.width).toHexString();\n const decimal = formatFixed(numeric, fixedFormat.decimals);\n\n return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat);\n }\n\n static from(value: any, format?: FixedFormat | string | number) {\n if (typeof(value) === \"string\") {\n return FixedNumber.fromString(value, format);\n }\n\n if (isBytes(value)) {\n return FixedNumber.fromBytes(value, format);\n }\n\n try {\n return FixedNumber.fromValue(value, 0, format);\n } catch (error) {\n // Allow NUMERIC_FAULT to bubble up\n if (error.code !== Logger.errors.INVALID_ARGUMENT) {\n throw error;\n }\n }\n\n return logger.throwArgumentError(\"invalid FixedNumber value\", \"value\", value);\n }\n\n static isFixedNumber(value: any): value is FixedNumber {\n return !!(value && value._isFixedNumber);\n }\n}\n\nconst ONE = FixedNumber.from(1);\nconst BUMP = FixedNumber.from(\"0.5\");\n","export const version = \"units/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"units/5.7.0\";\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { getAddress } from \"@ethersproject/address\";\nimport { Provider } from \"@ethersproject/abstract-provider\";\nimport { Signer } from \"@ethersproject/abstract-signer\";\nimport { arrayify, concat, hexDataSlice, isHexString, joinSignature } from \"@ethersproject/bytes\";\nimport { hashMessage, _TypedDataEncoder } from \"@ethersproject/hash\";\nimport { defaultPath, HDNode, entropyToMnemonic } from \"@ethersproject/hdnode\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { defineReadOnly, resolveProperties } from \"@ethersproject/properties\";\nimport { randomBytes } from \"@ethersproject/random\";\nimport { SigningKey } from \"@ethersproject/signing-key\";\nimport { decryptJsonWallet, decryptJsonWalletSync, encryptKeystore } from \"@ethersproject/json-wallets\";\nimport { computeAddress, recoverAddress, serialize } from \"@ethersproject/transactions\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nfunction isAccount(value) {\n return (value != null && isHexString(value.privateKey, 32) && value.address != null);\n}\nfunction hasMnemonic(value) {\n const mnemonic = value.mnemonic;\n return (mnemonic && mnemonic.phrase);\n}\nexport class Wallet extends Signer {\n constructor(privateKey, provider) {\n super();\n if (isAccount(privateKey)) {\n const signingKey = new SigningKey(privateKey.privateKey);\n defineReadOnly(this, \"_signingKey\", () => signingKey);\n defineReadOnly(this, \"address\", computeAddress(this.publicKey));\n if (this.address !== getAddress(privateKey.address)) {\n logger.throwArgumentError(\"privateKey/address mismatch\", \"privateKey\", \"[REDACTED]\");\n }\n if (hasMnemonic(privateKey)) {\n const srcMnemonic = privateKey.mnemonic;\n defineReadOnly(this, \"_mnemonic\", () => ({\n phrase: srcMnemonic.phrase,\n path: srcMnemonic.path || defaultPath,\n locale: srcMnemonic.locale || \"en\"\n }));\n const mnemonic = this.mnemonic;\n const node = HDNode.fromMnemonic(mnemonic.phrase, null, mnemonic.locale).derivePath(mnemonic.path);\n if (computeAddress(node.privateKey) !== this.address) {\n logger.throwArgumentError(\"mnemonic/address mismatch\", \"privateKey\", \"[REDACTED]\");\n }\n }\n else {\n defineReadOnly(this, \"_mnemonic\", () => null);\n }\n }\n else {\n if (SigningKey.isSigningKey(privateKey)) {\n /* istanbul ignore if */\n if (privateKey.curve !== \"secp256k1\") {\n logger.throwArgumentError(\"unsupported curve; must be secp256k1\", \"privateKey\", \"[REDACTED]\");\n }\n defineReadOnly(this, \"_signingKey\", () => privateKey);\n }\n else {\n // A lot of common tools do not prefix private keys with a 0x (see: #1166)\n if (typeof (privateKey) === \"string\") {\n if (privateKey.match(/^[0-9a-f]*$/i) && privateKey.length === 64) {\n privateKey = \"0x\" + privateKey;\n }\n }\n const signingKey = new SigningKey(privateKey);\n defineReadOnly(this, \"_signingKey\", () => signingKey);\n }\n defineReadOnly(this, \"_mnemonic\", () => null);\n defineReadOnly(this, \"address\", computeAddress(this.publicKey));\n }\n /* istanbul ignore if */\n if (provider && !Provider.isProvider(provider)) {\n logger.throwArgumentError(\"invalid provider\", \"provider\", provider);\n }\n defineReadOnly(this, \"provider\", provider || null);\n }\n get mnemonic() { return this._mnemonic(); }\n get privateKey() { return this._signingKey().privateKey; }\n get publicKey() { return this._signingKey().publicKey; }\n getAddress() {\n return Promise.resolve(this.address);\n }\n connect(provider) {\n return new Wallet(this, provider);\n }\n signTransaction(transaction) {\n return resolveProperties(transaction).then((tx) => {\n if (tx.from != null) {\n if (getAddress(tx.from) !== this.address) {\n logger.throwArgumentError(\"transaction from address mismatch\", \"transaction.from\", transaction.from);\n }\n delete tx.from;\n }\n const signature = this._signingKey().signDigest(keccak256(serialize(tx)));\n return serialize(tx, signature);\n });\n }\n signMessage(message) {\n return __awaiter(this, void 0, void 0, function* () {\n return joinSignature(this._signingKey().signDigest(hashMessage(message)));\n });\n }\n _signTypedData(domain, types, value) {\n return __awaiter(this, void 0, void 0, function* () {\n // Populate any ENS names\n const populated = yield _TypedDataEncoder.resolveNames(domain, types, value, (name) => {\n if (this.provider == null) {\n logger.throwError(\"cannot resolve ENS names without a provider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"resolveName\",\n value: name\n });\n }\n return this.provider.resolveName(name);\n });\n return joinSignature(this._signingKey().signDigest(_TypedDataEncoder.hash(populated.domain, types, populated.value)));\n });\n }\n encrypt(password, options, progressCallback) {\n if (typeof (options) === \"function\" && !progressCallback) {\n progressCallback = options;\n options = {};\n }\n if (progressCallback && typeof (progressCallback) !== \"function\") {\n throw new Error(\"invalid callback\");\n }\n if (!options) {\n options = {};\n }\n return encryptKeystore(this, password, options, progressCallback);\n }\n /**\n * Static methods to create Wallet instances.\n */\n static createRandom(options) {\n let entropy = randomBytes(16);\n if (!options) {\n options = {};\n }\n if (options.extraEntropy) {\n entropy = arrayify(hexDataSlice(keccak256(concat([entropy, options.extraEntropy])), 0, 16));\n }\n const mnemonic = entropyToMnemonic(entropy, options.locale);\n return Wallet.fromMnemonic(mnemonic, options.path, options.locale);\n }\n static fromEncryptedJson(json, password, progressCallback) {\n return decryptJsonWallet(json, password, progressCallback).then((account) => {\n return new Wallet(account);\n });\n }\n static fromEncryptedJsonSync(json, password) {\n return new Wallet(decryptJsonWalletSync(json, password));\n }\n static fromMnemonic(mnemonic, path, wordlist) {\n if (!path) {\n path = defaultPath;\n }\n return new Wallet(HDNode.fromMnemonic(mnemonic, null, wordlist).derivePath(path));\n }\n}\nexport function verifyMessage(message, signature) {\n return recoverAddress(hashMessage(message), signature);\n}\nexport function verifyTypedData(domain, types, value, signature) {\n return recoverAddress(_TypedDataEncoder.hash(domain, types, value), signature);\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { getAddress } from \"@ethersproject/address\";\nimport { Provider, TransactionRequest } from \"@ethersproject/abstract-provider\";\nimport { ExternallyOwnedAccount, Signer, TypedDataDomain, TypedDataField, TypedDataSigner } from \"@ethersproject/abstract-signer\";\nimport { arrayify, Bytes, BytesLike, concat, hexDataSlice, isHexString, joinSignature, SignatureLike } from \"@ethersproject/bytes\";\nimport { hashMessage, _TypedDataEncoder } from \"@ethersproject/hash\";\nimport { defaultPath, HDNode, entropyToMnemonic, Mnemonic } from \"@ethersproject/hdnode\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { defineReadOnly, resolveProperties } from \"@ethersproject/properties\";\nimport { randomBytes } from \"@ethersproject/random\";\nimport { SigningKey } from \"@ethersproject/signing-key\";\nimport { decryptJsonWallet, decryptJsonWalletSync, encryptKeystore, ProgressCallback } from \"@ethersproject/json-wallets\";\nimport { computeAddress, recoverAddress, serialize, UnsignedTransaction } from \"@ethersproject/transactions\";\nimport { Wordlist } from \"@ethersproject/wordlists\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nfunction isAccount(value: any): value is ExternallyOwnedAccount {\n return (value != null && isHexString(value.privateKey, 32) && value.address != null);\n}\n\nfunction hasMnemonic(value: any): value is { mnemonic: Mnemonic } {\n const mnemonic = value.mnemonic;\n return (mnemonic && mnemonic.phrase);\n}\n\nexport class Wallet extends Signer implements ExternallyOwnedAccount, TypedDataSigner {\n\n readonly address: string;\n readonly provider: Provider;\n\n // Wrapping the _signingKey and _mnemonic in a getter function prevents\n // leaking the private key in console.log; still, be careful! :)\n readonly _signingKey: () => SigningKey;\n readonly _mnemonic: () => Mnemonic;\n\n constructor(privateKey: BytesLike | ExternallyOwnedAccount | SigningKey, provider?: Provider) {\n super();\n\n if (isAccount(privateKey)) {\n const signingKey = new SigningKey(privateKey.privateKey);\n defineReadOnly(this, \"_signingKey\", () => signingKey);\n defineReadOnly(this, \"address\", computeAddress(this.publicKey));\n\n if (this.address !== getAddress(privateKey.address)) {\n logger.throwArgumentError(\"privateKey/address mismatch\", \"privateKey\", \"[REDACTED]\");\n }\n\n if (hasMnemonic(privateKey)) {\n const srcMnemonic = privateKey.mnemonic;\n defineReadOnly(this, \"_mnemonic\", () => (\n {\n phrase: srcMnemonic.phrase,\n path: srcMnemonic.path || defaultPath,\n locale: srcMnemonic.locale || \"en\"\n }\n ));\n const mnemonic = this.mnemonic;\n const node = HDNode.fromMnemonic(mnemonic.phrase, null, mnemonic.locale).derivePath(mnemonic.path);\n if (computeAddress(node.privateKey) !== this.address) {\n logger.throwArgumentError(\"mnemonic/address mismatch\", \"privateKey\", \"[REDACTED]\");\n }\n } else {\n defineReadOnly(this, \"_mnemonic\", (): Mnemonic => null);\n }\n\n\n } else {\n if (SigningKey.isSigningKey(privateKey)) {\n /* istanbul ignore if */\n if (privateKey.curve !== \"secp256k1\") {\n logger.throwArgumentError(\"unsupported curve; must be secp256k1\", \"privateKey\", \"[REDACTED]\");\n }\n defineReadOnly(this, \"_signingKey\", () => (privateKey));\n\n } else {\n // A lot of common tools do not prefix private keys with a 0x (see: #1166)\n if (typeof(privateKey) === \"string\") {\n if (privateKey.match(/^[0-9a-f]*$/i) && privateKey.length === 64) {\n privateKey = \"0x\" + privateKey;\n }\n }\n\n const signingKey = new SigningKey(privateKey);\n defineReadOnly(this, \"_signingKey\", () => signingKey);\n }\n\n defineReadOnly(this, \"_mnemonic\", (): Mnemonic => null);\n defineReadOnly(this, \"address\", computeAddress(this.publicKey));\n }\n\n /* istanbul ignore if */\n if (provider && !Provider.isProvider(provider)) {\n logger.throwArgumentError(\"invalid provider\", \"provider\", provider);\n }\n\n defineReadOnly(this, \"provider\", provider || null);\n }\n\n get mnemonic(): Mnemonic { return this._mnemonic(); }\n get privateKey(): string { return this._signingKey().privateKey; }\n get publicKey(): string { return this._signingKey().publicKey; }\n\n getAddress(): Promise {\n return Promise.resolve(this.address);\n }\n\n connect(provider: Provider): Wallet {\n return new Wallet(this, provider);\n }\n\n signTransaction(transaction: TransactionRequest): Promise {\n return resolveProperties(transaction).then((tx) => {\n if (tx.from != null) {\n if (getAddress(tx.from) !== this.address) {\n logger.throwArgumentError(\"transaction from address mismatch\", \"transaction.from\", transaction.from);\n }\n delete tx.from;\n }\n\n const signature = this._signingKey().signDigest(keccak256(serialize(tx)));\n return serialize(tx, signature);\n });\n }\n\n async signMessage(message: Bytes | string): Promise {\n return joinSignature(this._signingKey().signDigest(hashMessage(message)));\n }\n\n async _signTypedData(domain: TypedDataDomain, types: Record>, value: Record): Promise {\n // Populate any ENS names\n const populated = await _TypedDataEncoder.resolveNames(domain, types, value, (name: string) => {\n if (this.provider == null) {\n logger.throwError(\"cannot resolve ENS names without a provider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"resolveName\",\n value: name\n });\n }\n return this.provider.resolveName(name);\n });\n\n return joinSignature(this._signingKey().signDigest(_TypedDataEncoder.hash(populated.domain, types, populated.value)));\n }\n\n encrypt(password: Bytes | string, options?: any, progressCallback?: ProgressCallback): Promise {\n if (typeof(options) === \"function\" && !progressCallback) {\n progressCallback = options;\n options = {};\n }\n\n if (progressCallback && typeof(progressCallback) !== \"function\") {\n throw new Error(\"invalid callback\");\n }\n\n if (!options) { options = {}; }\n\n return encryptKeystore(this, password, options, progressCallback);\n }\n\n\n /**\n * Static methods to create Wallet instances.\n */\n static createRandom(options?: any): Wallet {\n let entropy: Uint8Array = randomBytes(16);\n\n if (!options) { options = { }; }\n\n if (options.extraEntropy) {\n entropy = arrayify(hexDataSlice(keccak256(concat([ entropy, options.extraEntropy ])), 0, 16));\n }\n\n const mnemonic = entropyToMnemonic(entropy, options.locale);\n return Wallet.fromMnemonic(mnemonic, options.path, options.locale);\n }\n\n static fromEncryptedJson(json: string, password: Bytes | string, progressCallback?: ProgressCallback): Promise {\n return decryptJsonWallet(json, password, progressCallback).then((account) => {\n return new Wallet(account);\n });\n }\n\n static fromEncryptedJsonSync(json: string, password: Bytes | string): Wallet {\n return new Wallet(decryptJsonWalletSync(json, password));\n }\n\n static fromMnemonic(mnemonic: string, path?: string, wordlist?: Wordlist): Wallet {\n if (!path) { path = defaultPath; }\n return new Wallet(HDNode.fromMnemonic(mnemonic, null, wordlist).derivePath(path));\n }\n}\n\nexport function verifyMessage(message: Bytes | string, signature: SignatureLike): string {\n return recoverAddress(hashMessage(message), signature);\n}\n\nexport function verifyTypedData(domain: TypedDataDomain, types: Record>, value: Record, signature: SignatureLike): string {\n return recoverAddress(_TypedDataEncoder.hash(domain, types, value), signature);\n}\n","\"use strict\";\nimport { decrypt as decryptCrowdsale } from \"./crowdsale\";\nimport { getJsonWalletAddress, isCrowdsaleWallet, isKeystoreWallet } from \"./inspect\";\nimport { decrypt as decryptKeystore, decryptSync as decryptKeystoreSync, encrypt as encryptKeystore } from \"./keystore\";\nfunction decryptJsonWallet(json, password, progressCallback) {\n if (isCrowdsaleWallet(json)) {\n if (progressCallback) {\n progressCallback(0);\n }\n const account = decryptCrowdsale(json, password);\n if (progressCallback) {\n progressCallback(1);\n }\n return Promise.resolve(account);\n }\n if (isKeystoreWallet(json)) {\n return decryptKeystore(json, password, progressCallback);\n }\n return Promise.reject(new Error(\"invalid JSON wallet\"));\n}\nfunction decryptJsonWalletSync(json, password) {\n if (isCrowdsaleWallet(json)) {\n return decryptCrowdsale(json, password);\n }\n if (isKeystoreWallet(json)) {\n return decryptKeystoreSync(json, password);\n }\n throw new Error(\"invalid JSON wallet\");\n}\nexport { decryptCrowdsale, decryptKeystore, decryptKeystoreSync, encryptKeystore, isCrowdsaleWallet, isKeystoreWallet, getJsonWalletAddress, decryptJsonWallet, decryptJsonWalletSync, };\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { Bytes } from \"@ethersproject/bytes\";\nimport { ExternallyOwnedAccount } from \"@ethersproject/abstract-signer\";\n\nimport { decrypt as decryptCrowdsale } from \"./crowdsale\";\nimport { getJsonWalletAddress, isCrowdsaleWallet, isKeystoreWallet } from \"./inspect\";\nimport { decrypt as decryptKeystore, decryptSync as decryptKeystoreSync, encrypt as encryptKeystore, EncryptOptions, ProgressCallback } from \"./keystore\";\n\nfunction decryptJsonWallet(json: string, password: Bytes | string, progressCallback?: ProgressCallback): Promise {\n if (isCrowdsaleWallet(json)) {\n if (progressCallback) { progressCallback(0); }\n const account = decryptCrowdsale(json, password)\n if (progressCallback) { progressCallback(1); }\n return Promise.resolve(account);\n }\n\n if (isKeystoreWallet(json)) {\n return decryptKeystore(json, password, progressCallback);\n }\n\n return Promise.reject(new Error(\"invalid JSON wallet\"));\n}\n\nfunction decryptJsonWalletSync(json: string, password: Bytes | string): ExternallyOwnedAccount {\n if (isCrowdsaleWallet(json)) {\n return decryptCrowdsale(json, password)\n }\n\n if (isKeystoreWallet(json)) {\n return decryptKeystoreSync(json, password);\n }\n\n throw new Error(\"invalid JSON wallet\");\n}\n\nexport {\n decryptCrowdsale,\n\n decryptKeystore,\n decryptKeystoreSync,\n encryptKeystore,\n\n isCrowdsaleWallet,\n isKeystoreWallet,\n getJsonWalletAddress,\n\n decryptJsonWallet,\n decryptJsonWalletSync,\n\n ProgressCallback,\n EncryptOptions,\n};\n","\"use strict\";\nimport aes from \"aes-js\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { arrayify } from \"@ethersproject/bytes\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { pbkdf2 } from \"@ethersproject/pbkdf2\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nimport { Description } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { getPassword, looseArrayify, searchPath } from \"./utils\";\nexport class CrowdsaleAccount extends Description {\n isCrowdsaleAccount(value) {\n return !!(value && value._isCrowdsaleAccount);\n }\n}\n// See: https://github.com/ethereum/pyethsaletool\nexport function decrypt(json, password) {\n const data = JSON.parse(json);\n password = getPassword(password);\n // Ethereum Address\n const ethaddr = getAddress(searchPath(data, \"ethaddr\"));\n // Encrypted Seed\n const encseed = looseArrayify(searchPath(data, \"encseed\"));\n if (!encseed || (encseed.length % 16) !== 0) {\n logger.throwArgumentError(\"invalid encseed\", \"json\", json);\n }\n const key = arrayify(pbkdf2(password, password, 2000, 32, \"sha256\")).slice(0, 16);\n const iv = encseed.slice(0, 16);\n const encryptedSeed = encseed.slice(16);\n // Decrypt the seed\n const aesCbc = new aes.ModeOfOperation.cbc(key, iv);\n const seed = aes.padding.pkcs7.strip(arrayify(aesCbc.decrypt(encryptedSeed)));\n // This wallet format is weird... Convert the binary encoded hex to a string.\n let seedHex = \"\";\n for (let i = 0; i < seed.length; i++) {\n seedHex += String.fromCharCode(seed[i]);\n }\n const seedHexBytes = toUtf8Bytes(seedHex);\n const privateKey = keccak256(seedHexBytes);\n return new CrowdsaleAccount({\n _isCrowdsaleAccount: true,\n address: ethaddr,\n privateKey: privateKey\n });\n}\n//# sourceMappingURL=crowdsale.js.map","\"use strict\";\n\nimport aes from \"aes-js\";\n\nimport { ExternallyOwnedAccount } from \"@ethersproject/abstract-signer\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { arrayify, Bytes } from \"@ethersproject/bytes\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { pbkdf2 } from \"@ethersproject/pbkdf2\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nimport { Description } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { getPassword, looseArrayify, searchPath } from \"./utils\";\n\nexport interface _CrowdsaleAccount {\n address: string;\n privateKey: string;\n\n _isCrowdsaleAccount: boolean;\n}\n\nexport class CrowdsaleAccount extends Description<_CrowdsaleAccount> implements ExternallyOwnedAccount {\n readonly address: string;\n readonly privateKey: string;\n readonly mnemonic?: string;\n readonly path?: string;\n\n readonly _isCrowdsaleAccount: boolean;\n\n isCrowdsaleAccount(value: any): value is CrowdsaleAccount {\n return !!(value && value._isCrowdsaleAccount);\n }\n}\n\n// See: https://github.com/ethereum/pyethsaletool\nexport function decrypt(json: string, password: Bytes | string): ExternallyOwnedAccount {\n const data = JSON.parse(json);\n\n password = getPassword(password);\n\n // Ethereum Address\n const ethaddr = getAddress(searchPath(data, \"ethaddr\"));\n\n // Encrypted Seed\n const encseed = looseArrayify(searchPath(data, \"encseed\"));\n if (!encseed || (encseed.length % 16) !== 0) {\n logger.throwArgumentError(\"invalid encseed\", \"json\", json);\n }\n\n const key = arrayify(pbkdf2(password, password, 2000, 32, \"sha256\")).slice(0, 16);\n\n const iv = encseed.slice(0, 16);\n const encryptedSeed = encseed.slice(16);\n\n // Decrypt the seed\n const aesCbc = new aes.ModeOfOperation.cbc(key, iv);\n const seed = aes.padding.pkcs7.strip(arrayify(aesCbc.decrypt(encryptedSeed)));\n\n // This wallet format is weird... Convert the binary encoded hex to a string.\n let seedHex = \"\";\n for (let i = 0; i < seed.length; i++) {\n seedHex += String.fromCharCode(seed[i]);\n }\n\n const seedHexBytes = toUtf8Bytes(seedHex);\n\n const privateKey = keccak256(seedHexBytes);\n\n return new CrowdsaleAccount ({\n _isCrowdsaleAccount: true,\n address: ethaddr,\n privateKey: privateKey\n });\n}\n\n","\"use strict\";\n\n(function(root) {\n\n function checkInt(value) {\n return (parseInt(value) === value);\n }\n\n function checkInts(arrayish) {\n if (!checkInt(arrayish.length)) { return false; }\n\n for (var i = 0; i < arrayish.length; i++) {\n if (!checkInt(arrayish[i]) || arrayish[i] < 0 || arrayish[i] > 255) {\n return false;\n }\n }\n\n return true;\n }\n\n function coerceArray(arg, copy) {\n\n // ArrayBuffer view\n if (arg.buffer && ArrayBuffer.isView(arg) && arg.name === 'Uint8Array') {\n\n if (copy) {\n if (arg.slice) {\n arg = arg.slice();\n } else {\n arg = Array.prototype.slice.call(arg);\n }\n }\n\n return arg;\n }\n\n // It's an array; check it is a valid representation of a byte\n if (Array.isArray(arg)) {\n if (!checkInts(arg)) {\n throw new Error('Array contains invalid value: ' + arg);\n }\n\n return new Uint8Array(arg);\n }\n\n // Something else, but behaves like an array (maybe a Buffer? Arguments?)\n if (checkInt(arg.length) && checkInts(arg)) {\n return new Uint8Array(arg);\n }\n\n throw new Error('unsupported array-like object');\n }\n\n function createArray(length) {\n return new Uint8Array(length);\n }\n\n function copyArray(sourceArray, targetArray, targetStart, sourceStart, sourceEnd) {\n if (sourceStart != null || sourceEnd != null) {\n if (sourceArray.slice) {\n sourceArray = sourceArray.slice(sourceStart, sourceEnd);\n } else {\n sourceArray = Array.prototype.slice.call(sourceArray, sourceStart, sourceEnd);\n }\n }\n targetArray.set(sourceArray, targetStart);\n }\n\n\n\n var convertUtf8 = (function() {\n function toBytes(text) {\n var result = [], i = 0;\n text = encodeURI(text);\n while (i < text.length) {\n var c = text.charCodeAt(i++);\n\n // if it is a % sign, encode the following 2 bytes as a hex value\n if (c === 37) {\n result.push(parseInt(text.substr(i, 2), 16))\n i += 2;\n\n // otherwise, just the actual byte\n } else {\n result.push(c)\n }\n }\n\n return coerceArray(result);\n }\n\n function fromBytes(bytes) {\n var result = [], i = 0;\n\n while (i < bytes.length) {\n var c = bytes[i];\n\n if (c < 128) {\n result.push(String.fromCharCode(c));\n i++;\n } else if (c > 191 && c < 224) {\n result.push(String.fromCharCode(((c & 0x1f) << 6) | (bytes[i + 1] & 0x3f)));\n i += 2;\n } else {\n result.push(String.fromCharCode(((c & 0x0f) << 12) | ((bytes[i + 1] & 0x3f) << 6) | (bytes[i + 2] & 0x3f)));\n i += 3;\n }\n }\n\n return result.join('');\n }\n\n return {\n toBytes: toBytes,\n fromBytes: fromBytes,\n }\n })();\n\n var convertHex = (function() {\n function toBytes(text) {\n var result = [];\n for (var i = 0; i < text.length; i += 2) {\n result.push(parseInt(text.substr(i, 2), 16));\n }\n\n return result;\n }\n\n // http://ixti.net/development/javascript/2011/11/11/base64-encodedecode-of-utf8-in-browser-with-js.html\n var Hex = '0123456789abcdef';\n\n function fromBytes(bytes) {\n var result = [];\n for (var i = 0; i < bytes.length; i++) {\n var v = bytes[i];\n result.push(Hex[(v & 0xf0) >> 4] + Hex[v & 0x0f]);\n }\n return result.join('');\n }\n\n return {\n toBytes: toBytes,\n fromBytes: fromBytes,\n }\n })();\n\n\n // Number of rounds by keysize\n var numberOfRounds = {16: 10, 24: 12, 32: 14}\n\n // Round constant words\n var rcon = [0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36, 0x6c, 0xd8, 0xab, 0x4d, 0x9a, 0x2f, 0x5e, 0xbc, 0x63, 0xc6, 0x97, 0x35, 0x6a, 0xd4, 0xb3, 0x7d, 0xfa, 0xef, 0xc5, 0x91];\n\n // S-box and Inverse S-box (S is for Substitution)\n var S = [0x63, 0x7c, 0x77, 0x7b, 0xf2, 0x6b, 0x6f, 0xc5, 0x30, 0x01, 0x67, 0x2b, 0xfe, 0xd7, 0xab, 0x76, 0xca, 0x82, 0xc9, 0x7d, 0xfa, 0x59, 0x47, 0xf0, 0xad, 0xd4, 0xa2, 0xaf, 0x9c, 0xa4, 0x72, 0xc0, 0xb7, 0xfd, 0x93, 0x26, 0x36, 0x3f, 0xf7, 0xcc, 0x34, 0xa5, 0xe5, 0xf1, 0x71, 0xd8, 0x31, 0x15, 0x04, 0xc7, 0x23, 0xc3, 0x18, 0x96, 0x05, 0x9a, 0x07, 0x12, 0x80, 0xe2, 0xeb, 0x27, 0xb2, 0x75, 0x09, 0x83, 0x2c, 0x1a, 0x1b, 0x6e, 0x5a, 0xa0, 0x52, 0x3b, 0xd6, 0xb3, 0x29, 0xe3, 0x2f, 0x84, 0x53, 0xd1, 0x00, 0xed, 0x20, 0xfc, 0xb1, 0x5b, 0x6a, 0xcb, 0xbe, 0x39, 0x4a, 0x4c, 0x58, 0xcf, 0xd0, 0xef, 0xaa, 0xfb, 0x43, 0x4d, 0x33, 0x85, 0x45, 0xf9, 0x02, 0x7f, 0x50, 0x3c, 0x9f, 0xa8, 0x51, 0xa3, 0x40, 0x8f, 0x92, 0x9d, 0x38, 0xf5, 0xbc, 0xb6, 0xda, 0x21, 0x10, 0xff, 0xf3, 0xd2, 0xcd, 0x0c, 0x13, 0xec, 0x5f, 0x97, 0x44, 0x17, 0xc4, 0xa7, 0x7e, 0x3d, 0x64, 0x5d, 0x19, 0x73, 0x60, 0x81, 0x4f, 0xdc, 0x22, 0x2a, 0x90, 0x88, 0x46, 0xee, 0xb8, 0x14, 0xde, 0x5e, 0x0b, 0xdb, 0xe0, 0x32, 0x3a, 0x0a, 0x49, 0x06, 0x24, 0x5c, 0xc2, 0xd3, 0xac, 0x62, 0x91, 0x95, 0xe4, 0x79, 0xe7, 0xc8, 0x37, 0x6d, 0x8d, 0xd5, 0x4e, 0xa9, 0x6c, 0x56, 0xf4, 0xea, 0x65, 0x7a, 0xae, 0x08, 0xba, 0x78, 0x25, 0x2e, 0x1c, 0xa6, 0xb4, 0xc6, 0xe8, 0xdd, 0x74, 0x1f, 0x4b, 0xbd, 0x8b, 0x8a, 0x70, 0x3e, 0xb5, 0x66, 0x48, 0x03, 0xf6, 0x0e, 0x61, 0x35, 0x57, 0xb9, 0x86, 0xc1, 0x1d, 0x9e, 0xe1, 0xf8, 0x98, 0x11, 0x69, 0xd9, 0x8e, 0x94, 0x9b, 0x1e, 0x87, 0xe9, 0xce, 0x55, 0x28, 0xdf, 0x8c, 0xa1, 0x89, 0x0d, 0xbf, 0xe6, 0x42, 0x68, 0x41, 0x99, 0x2d, 0x0f, 0xb0, 0x54, 0xbb, 0x16];\n var Si =[0x52, 0x09, 0x6a, 0xd5, 0x30, 0x36, 0xa5, 0x38, 0xbf, 0x40, 0xa3, 0x9e, 0x81, 0xf3, 0xd7, 0xfb, 0x7c, 0xe3, 0x39, 0x82, 0x9b, 0x2f, 0xff, 0x87, 0x34, 0x8e, 0x43, 0x44, 0xc4, 0xde, 0xe9, 0xcb, 0x54, 0x7b, 0x94, 0x32, 0xa6, 0xc2, 0x23, 0x3d, 0xee, 0x4c, 0x95, 0x0b, 0x42, 0xfa, 0xc3, 0x4e, 0x08, 0x2e, 0xa1, 0x66, 0x28, 0xd9, 0x24, 0xb2, 0x76, 0x5b, 0xa2, 0x49, 0x6d, 0x8b, 0xd1, 0x25, 0x72, 0xf8, 0xf6, 0x64, 0x86, 0x68, 0x98, 0x16, 0xd4, 0xa4, 0x5c, 0xcc, 0x5d, 0x65, 0xb6, 0x92, 0x6c, 0x70, 0x48, 0x50, 0xfd, 0xed, 0xb9, 0xda, 0x5e, 0x15, 0x46, 0x57, 0xa7, 0x8d, 0x9d, 0x84, 0x90, 0xd8, 0xab, 0x00, 0x8c, 0xbc, 0xd3, 0x0a, 0xf7, 0xe4, 0x58, 0x05, 0xb8, 0xb3, 0x45, 0x06, 0xd0, 0x2c, 0x1e, 0x8f, 0xca, 0x3f, 0x0f, 0x02, 0xc1, 0xaf, 0xbd, 0x03, 0x01, 0x13, 0x8a, 0x6b, 0x3a, 0x91, 0x11, 0x41, 0x4f, 0x67, 0xdc, 0xea, 0x97, 0xf2, 0xcf, 0xce, 0xf0, 0xb4, 0xe6, 0x73, 0x96, 0xac, 0x74, 0x22, 0xe7, 0xad, 0x35, 0x85, 0xe2, 0xf9, 0x37, 0xe8, 0x1c, 0x75, 0xdf, 0x6e, 0x47, 0xf1, 0x1a, 0x71, 0x1d, 0x29, 0xc5, 0x89, 0x6f, 0xb7, 0x62, 0x0e, 0xaa, 0x18, 0xbe, 0x1b, 0xfc, 0x56, 0x3e, 0x4b, 0xc6, 0xd2, 0x79, 0x20, 0x9a, 0xdb, 0xc0, 0xfe, 0x78, 0xcd, 0x5a, 0xf4, 0x1f, 0xdd, 0xa8, 0x33, 0x88, 0x07, 0xc7, 0x31, 0xb1, 0x12, 0x10, 0x59, 0x27, 0x80, 0xec, 0x5f, 0x60, 0x51, 0x7f, 0xa9, 0x19, 0xb5, 0x4a, 0x0d, 0x2d, 0xe5, 0x7a, 0x9f, 0x93, 0xc9, 0x9c, 0xef, 0xa0, 0xe0, 0x3b, 0x4d, 0xae, 0x2a, 0xf5, 0xb0, 0xc8, 0xeb, 0xbb, 0x3c, 0x83, 0x53, 0x99, 0x61, 0x17, 0x2b, 0x04, 0x7e, 0xba, 0x77, 0xd6, 0x26, 0xe1, 0x69, 0x14, 0x63, 0x55, 0x21, 0x0c, 0x7d];\n\n // Transformations for encryption\n var T1 = [0xc66363a5, 0xf87c7c84, 0xee777799, 0xf67b7b8d, 0xfff2f20d, 0xd66b6bbd, 0xde6f6fb1, 0x91c5c554, 0x60303050, 0x02010103, 0xce6767a9, 0x562b2b7d, 0xe7fefe19, 0xb5d7d762, 0x4dababe6, 0xec76769a, 0x8fcaca45, 0x1f82829d, 0x89c9c940, 0xfa7d7d87, 0xeffafa15, 0xb25959eb, 0x8e4747c9, 0xfbf0f00b, 0x41adadec, 0xb3d4d467, 0x5fa2a2fd, 0x45afafea, 0x239c9cbf, 0x53a4a4f7, 0xe4727296, 0x9bc0c05b, 0x75b7b7c2, 0xe1fdfd1c, 0x3d9393ae, 0x4c26266a, 0x6c36365a, 0x7e3f3f41, 0xf5f7f702, 0x83cccc4f, 0x6834345c, 0x51a5a5f4, 0xd1e5e534, 0xf9f1f108, 0xe2717193, 0xabd8d873, 0x62313153, 0x2a15153f, 0x0804040c, 0x95c7c752, 0x46232365, 0x9dc3c35e, 0x30181828, 0x379696a1, 0x0a05050f, 0x2f9a9ab5, 0x0e070709, 0x24121236, 0x1b80809b, 0xdfe2e23d, 0xcdebeb26, 0x4e272769, 0x7fb2b2cd, 0xea75759f, 0x1209091b, 0x1d83839e, 0x582c2c74, 0x341a1a2e, 0x361b1b2d, 0xdc6e6eb2, 0xb45a5aee, 0x5ba0a0fb, 0xa45252f6, 0x763b3b4d, 0xb7d6d661, 0x7db3b3ce, 0x5229297b, 0xdde3e33e, 0x5e2f2f71, 0x13848497, 0xa65353f5, 0xb9d1d168, 0x00000000, 0xc1eded2c, 0x40202060, 0xe3fcfc1f, 0x79b1b1c8, 0xb65b5bed, 0xd46a6abe, 0x8dcbcb46, 0x67bebed9, 0x7239394b, 0x944a4ade, 0x984c4cd4, 0xb05858e8, 0x85cfcf4a, 0xbbd0d06b, 0xc5efef2a, 0x4faaaae5, 0xedfbfb16, 0x864343c5, 0x9a4d4dd7, 0x66333355, 0x11858594, 0x8a4545cf, 0xe9f9f910, 0x04020206, 0xfe7f7f81, 0xa05050f0, 0x783c3c44, 0x259f9fba, 0x4ba8a8e3, 0xa25151f3, 0x5da3a3fe, 0x804040c0, 0x058f8f8a, 0x3f9292ad, 0x219d9dbc, 0x70383848, 0xf1f5f504, 0x63bcbcdf, 0x77b6b6c1, 0xafdada75, 0x42212163, 0x20101030, 0xe5ffff1a, 0xfdf3f30e, 0xbfd2d26d, 0x81cdcd4c, 0x180c0c14, 0x26131335, 0xc3ecec2f, 0xbe5f5fe1, 0x359797a2, 0x884444cc, 0x2e171739, 0x93c4c457, 0x55a7a7f2, 0xfc7e7e82, 0x7a3d3d47, 0xc86464ac, 0xba5d5de7, 0x3219192b, 0xe6737395, 0xc06060a0, 0x19818198, 0x9e4f4fd1, 0xa3dcdc7f, 0x44222266, 0x542a2a7e, 0x3b9090ab, 0x0b888883, 0x8c4646ca, 0xc7eeee29, 0x6bb8b8d3, 0x2814143c, 0xa7dede79, 0xbc5e5ee2, 0x160b0b1d, 0xaddbdb76, 0xdbe0e03b, 0x64323256, 0x743a3a4e, 0x140a0a1e, 0x924949db, 0x0c06060a, 0x4824246c, 0xb85c5ce4, 0x9fc2c25d, 0xbdd3d36e, 0x43acacef, 0xc46262a6, 0x399191a8, 0x319595a4, 0xd3e4e437, 0xf279798b, 0xd5e7e732, 0x8bc8c843, 0x6e373759, 0xda6d6db7, 0x018d8d8c, 0xb1d5d564, 0x9c4e4ed2, 0x49a9a9e0, 0xd86c6cb4, 0xac5656fa, 0xf3f4f407, 0xcfeaea25, 0xca6565af, 0xf47a7a8e, 0x47aeaee9, 0x10080818, 0x6fbabad5, 0xf0787888, 0x4a25256f, 0x5c2e2e72, 0x381c1c24, 0x57a6a6f1, 0x73b4b4c7, 0x97c6c651, 0xcbe8e823, 0xa1dddd7c, 0xe874749c, 0x3e1f1f21, 0x964b4bdd, 0x61bdbddc, 0x0d8b8b86, 0x0f8a8a85, 0xe0707090, 0x7c3e3e42, 0x71b5b5c4, 0xcc6666aa, 0x904848d8, 0x06030305, 0xf7f6f601, 0x1c0e0e12, 0xc26161a3, 0x6a35355f, 0xae5757f9, 0x69b9b9d0, 0x17868691, 0x99c1c158, 0x3a1d1d27, 0x279e9eb9, 0xd9e1e138, 0xebf8f813, 0x2b9898b3, 0x22111133, 0xd26969bb, 0xa9d9d970, 0x078e8e89, 0x339494a7, 0x2d9b9bb6, 0x3c1e1e22, 0x15878792, 0xc9e9e920, 0x87cece49, 0xaa5555ff, 0x50282878, 0xa5dfdf7a, 0x038c8c8f, 0x59a1a1f8, 0x09898980, 0x1a0d0d17, 0x65bfbfda, 0xd7e6e631, 0x844242c6, 0xd06868b8, 0x824141c3, 0x299999b0, 0x5a2d2d77, 0x1e0f0f11, 0x7bb0b0cb, 0xa85454fc, 0x6dbbbbd6, 0x2c16163a];\n var T2 = [0xa5c66363, 0x84f87c7c, 0x99ee7777, 0x8df67b7b, 0x0dfff2f2, 0xbdd66b6b, 0xb1de6f6f, 0x5491c5c5, 0x50603030, 0x03020101, 0xa9ce6767, 0x7d562b2b, 0x19e7fefe, 0x62b5d7d7, 0xe64dabab, 0x9aec7676, 0x458fcaca, 0x9d1f8282, 0x4089c9c9, 0x87fa7d7d, 0x15effafa, 0xebb25959, 0xc98e4747, 0x0bfbf0f0, 0xec41adad, 0x67b3d4d4, 0xfd5fa2a2, 0xea45afaf, 0xbf239c9c, 0xf753a4a4, 0x96e47272, 0x5b9bc0c0, 0xc275b7b7, 0x1ce1fdfd, 0xae3d9393, 0x6a4c2626, 0x5a6c3636, 0x417e3f3f, 0x02f5f7f7, 0x4f83cccc, 0x5c683434, 0xf451a5a5, 0x34d1e5e5, 0x08f9f1f1, 0x93e27171, 0x73abd8d8, 0x53623131, 0x3f2a1515, 0x0c080404, 0x5295c7c7, 0x65462323, 0x5e9dc3c3, 0x28301818, 0xa1379696, 0x0f0a0505, 0xb52f9a9a, 0x090e0707, 0x36241212, 0x9b1b8080, 0x3ddfe2e2, 0x26cdebeb, 0x694e2727, 0xcd7fb2b2, 0x9fea7575, 0x1b120909, 0x9e1d8383, 0x74582c2c, 0x2e341a1a, 0x2d361b1b, 0xb2dc6e6e, 0xeeb45a5a, 0xfb5ba0a0, 0xf6a45252, 0x4d763b3b, 0x61b7d6d6, 0xce7db3b3, 0x7b522929, 0x3edde3e3, 0x715e2f2f, 0x97138484, 0xf5a65353, 0x68b9d1d1, 0x00000000, 0x2cc1eded, 0x60402020, 0x1fe3fcfc, 0xc879b1b1, 0xedb65b5b, 0xbed46a6a, 0x468dcbcb, 0xd967bebe, 0x4b723939, 0xde944a4a, 0xd4984c4c, 0xe8b05858, 0x4a85cfcf, 0x6bbbd0d0, 0x2ac5efef, 0xe54faaaa, 0x16edfbfb, 0xc5864343, 0xd79a4d4d, 0x55663333, 0x94118585, 0xcf8a4545, 0x10e9f9f9, 0x06040202, 0x81fe7f7f, 0xf0a05050, 0x44783c3c, 0xba259f9f, 0xe34ba8a8, 0xf3a25151, 0xfe5da3a3, 0xc0804040, 0x8a058f8f, 0xad3f9292, 0xbc219d9d, 0x48703838, 0x04f1f5f5, 0xdf63bcbc, 0xc177b6b6, 0x75afdada, 0x63422121, 0x30201010, 0x1ae5ffff, 0x0efdf3f3, 0x6dbfd2d2, 0x4c81cdcd, 0x14180c0c, 0x35261313, 0x2fc3ecec, 0xe1be5f5f, 0xa2359797, 0xcc884444, 0x392e1717, 0x5793c4c4, 0xf255a7a7, 0x82fc7e7e, 0x477a3d3d, 0xacc86464, 0xe7ba5d5d, 0x2b321919, 0x95e67373, 0xa0c06060, 0x98198181, 0xd19e4f4f, 0x7fa3dcdc, 0x66442222, 0x7e542a2a, 0xab3b9090, 0x830b8888, 0xca8c4646, 0x29c7eeee, 0xd36bb8b8, 0x3c281414, 0x79a7dede, 0xe2bc5e5e, 0x1d160b0b, 0x76addbdb, 0x3bdbe0e0, 0x56643232, 0x4e743a3a, 0x1e140a0a, 0xdb924949, 0x0a0c0606, 0x6c482424, 0xe4b85c5c, 0x5d9fc2c2, 0x6ebdd3d3, 0xef43acac, 0xa6c46262, 0xa8399191, 0xa4319595, 0x37d3e4e4, 0x8bf27979, 0x32d5e7e7, 0x438bc8c8, 0x596e3737, 0xb7da6d6d, 0x8c018d8d, 0x64b1d5d5, 0xd29c4e4e, 0xe049a9a9, 0xb4d86c6c, 0xfaac5656, 0x07f3f4f4, 0x25cfeaea, 0xafca6565, 0x8ef47a7a, 0xe947aeae, 0x18100808, 0xd56fbaba, 0x88f07878, 0x6f4a2525, 0x725c2e2e, 0x24381c1c, 0xf157a6a6, 0xc773b4b4, 0x5197c6c6, 0x23cbe8e8, 0x7ca1dddd, 0x9ce87474, 0x213e1f1f, 0xdd964b4b, 0xdc61bdbd, 0x860d8b8b, 0x850f8a8a, 0x90e07070, 0x427c3e3e, 0xc471b5b5, 0xaacc6666, 0xd8904848, 0x05060303, 0x01f7f6f6, 0x121c0e0e, 0xa3c26161, 0x5f6a3535, 0xf9ae5757, 0xd069b9b9, 0x91178686, 0x5899c1c1, 0x273a1d1d, 0xb9279e9e, 0x38d9e1e1, 0x13ebf8f8, 0xb32b9898, 0x33221111, 0xbbd26969, 0x70a9d9d9, 0x89078e8e, 0xa7339494, 0xb62d9b9b, 0x223c1e1e, 0x92158787, 0x20c9e9e9, 0x4987cece, 0xffaa5555, 0x78502828, 0x7aa5dfdf, 0x8f038c8c, 0xf859a1a1, 0x80098989, 0x171a0d0d, 0xda65bfbf, 0x31d7e6e6, 0xc6844242, 0xb8d06868, 0xc3824141, 0xb0299999, 0x775a2d2d, 0x111e0f0f, 0xcb7bb0b0, 0xfca85454, 0xd66dbbbb, 0x3a2c1616];\n var T3 = [0x63a5c663, 0x7c84f87c, 0x7799ee77, 0x7b8df67b, 0xf20dfff2, 0x6bbdd66b, 0x6fb1de6f, 0xc55491c5, 0x30506030, 0x01030201, 0x67a9ce67, 0x2b7d562b, 0xfe19e7fe, 0xd762b5d7, 0xabe64dab, 0x769aec76, 0xca458fca, 0x829d1f82, 0xc94089c9, 0x7d87fa7d, 0xfa15effa, 0x59ebb259, 0x47c98e47, 0xf00bfbf0, 0xadec41ad, 0xd467b3d4, 0xa2fd5fa2, 0xafea45af, 0x9cbf239c, 0xa4f753a4, 0x7296e472, 0xc05b9bc0, 0xb7c275b7, 0xfd1ce1fd, 0x93ae3d93, 0x266a4c26, 0x365a6c36, 0x3f417e3f, 0xf702f5f7, 0xcc4f83cc, 0x345c6834, 0xa5f451a5, 0xe534d1e5, 0xf108f9f1, 0x7193e271, 0xd873abd8, 0x31536231, 0x153f2a15, 0x040c0804, 0xc75295c7, 0x23654623, 0xc35e9dc3, 0x18283018, 0x96a13796, 0x050f0a05, 0x9ab52f9a, 0x07090e07, 0x12362412, 0x809b1b80, 0xe23ddfe2, 0xeb26cdeb, 0x27694e27, 0xb2cd7fb2, 0x759fea75, 0x091b1209, 0x839e1d83, 0x2c74582c, 0x1a2e341a, 0x1b2d361b, 0x6eb2dc6e, 0x5aeeb45a, 0xa0fb5ba0, 0x52f6a452, 0x3b4d763b, 0xd661b7d6, 0xb3ce7db3, 0x297b5229, 0xe33edde3, 0x2f715e2f, 0x84971384, 0x53f5a653, 0xd168b9d1, 0x00000000, 0xed2cc1ed, 0x20604020, 0xfc1fe3fc, 0xb1c879b1, 0x5bedb65b, 0x6abed46a, 0xcb468dcb, 0xbed967be, 0x394b7239, 0x4ade944a, 0x4cd4984c, 0x58e8b058, 0xcf4a85cf, 0xd06bbbd0, 0xef2ac5ef, 0xaae54faa, 0xfb16edfb, 0x43c58643, 0x4dd79a4d, 0x33556633, 0x85941185, 0x45cf8a45, 0xf910e9f9, 0x02060402, 0x7f81fe7f, 0x50f0a050, 0x3c44783c, 0x9fba259f, 0xa8e34ba8, 0x51f3a251, 0xa3fe5da3, 0x40c08040, 0x8f8a058f, 0x92ad3f92, 0x9dbc219d, 0x38487038, 0xf504f1f5, 0xbcdf63bc, 0xb6c177b6, 0xda75afda, 0x21634221, 0x10302010, 0xff1ae5ff, 0xf30efdf3, 0xd26dbfd2, 0xcd4c81cd, 0x0c14180c, 0x13352613, 0xec2fc3ec, 0x5fe1be5f, 0x97a23597, 0x44cc8844, 0x17392e17, 0xc45793c4, 0xa7f255a7, 0x7e82fc7e, 0x3d477a3d, 0x64acc864, 0x5de7ba5d, 0x192b3219, 0x7395e673, 0x60a0c060, 0x81981981, 0x4fd19e4f, 0xdc7fa3dc, 0x22664422, 0x2a7e542a, 0x90ab3b90, 0x88830b88, 0x46ca8c46, 0xee29c7ee, 0xb8d36bb8, 0x143c2814, 0xde79a7de, 0x5ee2bc5e, 0x0b1d160b, 0xdb76addb, 0xe03bdbe0, 0x32566432, 0x3a4e743a, 0x0a1e140a, 0x49db9249, 0x060a0c06, 0x246c4824, 0x5ce4b85c, 0xc25d9fc2, 0xd36ebdd3, 0xacef43ac, 0x62a6c462, 0x91a83991, 0x95a43195, 0xe437d3e4, 0x798bf279, 0xe732d5e7, 0xc8438bc8, 0x37596e37, 0x6db7da6d, 0x8d8c018d, 0xd564b1d5, 0x4ed29c4e, 0xa9e049a9, 0x6cb4d86c, 0x56faac56, 0xf407f3f4, 0xea25cfea, 0x65afca65, 0x7a8ef47a, 0xaee947ae, 0x08181008, 0xbad56fba, 0x7888f078, 0x256f4a25, 0x2e725c2e, 0x1c24381c, 0xa6f157a6, 0xb4c773b4, 0xc65197c6, 0xe823cbe8, 0xdd7ca1dd, 0x749ce874, 0x1f213e1f, 0x4bdd964b, 0xbddc61bd, 0x8b860d8b, 0x8a850f8a, 0x7090e070, 0x3e427c3e, 0xb5c471b5, 0x66aacc66, 0x48d89048, 0x03050603, 0xf601f7f6, 0x0e121c0e, 0x61a3c261, 0x355f6a35, 0x57f9ae57, 0xb9d069b9, 0x86911786, 0xc15899c1, 0x1d273a1d, 0x9eb9279e, 0xe138d9e1, 0xf813ebf8, 0x98b32b98, 0x11332211, 0x69bbd269, 0xd970a9d9, 0x8e89078e, 0x94a73394, 0x9bb62d9b, 0x1e223c1e, 0x87921587, 0xe920c9e9, 0xce4987ce, 0x55ffaa55, 0x28785028, 0xdf7aa5df, 0x8c8f038c, 0xa1f859a1, 0x89800989, 0x0d171a0d, 0xbfda65bf, 0xe631d7e6, 0x42c68442, 0x68b8d068, 0x41c38241, 0x99b02999, 0x2d775a2d, 0x0f111e0f, 0xb0cb7bb0, 0x54fca854, 0xbbd66dbb, 0x163a2c16];\n var T4 = [0x6363a5c6, 0x7c7c84f8, 0x777799ee, 0x7b7b8df6, 0xf2f20dff, 0x6b6bbdd6, 0x6f6fb1de, 0xc5c55491, 0x30305060, 0x01010302, 0x6767a9ce, 0x2b2b7d56, 0xfefe19e7, 0xd7d762b5, 0xababe64d, 0x76769aec, 0xcaca458f, 0x82829d1f, 0xc9c94089, 0x7d7d87fa, 0xfafa15ef, 0x5959ebb2, 0x4747c98e, 0xf0f00bfb, 0xadadec41, 0xd4d467b3, 0xa2a2fd5f, 0xafafea45, 0x9c9cbf23, 0xa4a4f753, 0x727296e4, 0xc0c05b9b, 0xb7b7c275, 0xfdfd1ce1, 0x9393ae3d, 0x26266a4c, 0x36365a6c, 0x3f3f417e, 0xf7f702f5, 0xcccc4f83, 0x34345c68, 0xa5a5f451, 0xe5e534d1, 0xf1f108f9, 0x717193e2, 0xd8d873ab, 0x31315362, 0x15153f2a, 0x04040c08, 0xc7c75295, 0x23236546, 0xc3c35e9d, 0x18182830, 0x9696a137, 0x05050f0a, 0x9a9ab52f, 0x0707090e, 0x12123624, 0x80809b1b, 0xe2e23ddf, 0xebeb26cd, 0x2727694e, 0xb2b2cd7f, 0x75759fea, 0x09091b12, 0x83839e1d, 0x2c2c7458, 0x1a1a2e34, 0x1b1b2d36, 0x6e6eb2dc, 0x5a5aeeb4, 0xa0a0fb5b, 0x5252f6a4, 0x3b3b4d76, 0xd6d661b7, 0xb3b3ce7d, 0x29297b52, 0xe3e33edd, 0x2f2f715e, 0x84849713, 0x5353f5a6, 0xd1d168b9, 0x00000000, 0xeded2cc1, 0x20206040, 0xfcfc1fe3, 0xb1b1c879, 0x5b5bedb6, 0x6a6abed4, 0xcbcb468d, 0xbebed967, 0x39394b72, 0x4a4ade94, 0x4c4cd498, 0x5858e8b0, 0xcfcf4a85, 0xd0d06bbb, 0xefef2ac5, 0xaaaae54f, 0xfbfb16ed, 0x4343c586, 0x4d4dd79a, 0x33335566, 0x85859411, 0x4545cf8a, 0xf9f910e9, 0x02020604, 0x7f7f81fe, 0x5050f0a0, 0x3c3c4478, 0x9f9fba25, 0xa8a8e34b, 0x5151f3a2, 0xa3a3fe5d, 0x4040c080, 0x8f8f8a05, 0x9292ad3f, 0x9d9dbc21, 0x38384870, 0xf5f504f1, 0xbcbcdf63, 0xb6b6c177, 0xdada75af, 0x21216342, 0x10103020, 0xffff1ae5, 0xf3f30efd, 0xd2d26dbf, 0xcdcd4c81, 0x0c0c1418, 0x13133526, 0xecec2fc3, 0x5f5fe1be, 0x9797a235, 0x4444cc88, 0x1717392e, 0xc4c45793, 0xa7a7f255, 0x7e7e82fc, 0x3d3d477a, 0x6464acc8, 0x5d5de7ba, 0x19192b32, 0x737395e6, 0x6060a0c0, 0x81819819, 0x4f4fd19e, 0xdcdc7fa3, 0x22226644, 0x2a2a7e54, 0x9090ab3b, 0x8888830b, 0x4646ca8c, 0xeeee29c7, 0xb8b8d36b, 0x14143c28, 0xdede79a7, 0x5e5ee2bc, 0x0b0b1d16, 0xdbdb76ad, 0xe0e03bdb, 0x32325664, 0x3a3a4e74, 0x0a0a1e14, 0x4949db92, 0x06060a0c, 0x24246c48, 0x5c5ce4b8, 0xc2c25d9f, 0xd3d36ebd, 0xacacef43, 0x6262a6c4, 0x9191a839, 0x9595a431, 0xe4e437d3, 0x79798bf2, 0xe7e732d5, 0xc8c8438b, 0x3737596e, 0x6d6db7da, 0x8d8d8c01, 0xd5d564b1, 0x4e4ed29c, 0xa9a9e049, 0x6c6cb4d8, 0x5656faac, 0xf4f407f3, 0xeaea25cf, 0x6565afca, 0x7a7a8ef4, 0xaeaee947, 0x08081810, 0xbabad56f, 0x787888f0, 0x25256f4a, 0x2e2e725c, 0x1c1c2438, 0xa6a6f157, 0xb4b4c773, 0xc6c65197, 0xe8e823cb, 0xdddd7ca1, 0x74749ce8, 0x1f1f213e, 0x4b4bdd96, 0xbdbddc61, 0x8b8b860d, 0x8a8a850f, 0x707090e0, 0x3e3e427c, 0xb5b5c471, 0x6666aacc, 0x4848d890, 0x03030506, 0xf6f601f7, 0x0e0e121c, 0x6161a3c2, 0x35355f6a, 0x5757f9ae, 0xb9b9d069, 0x86869117, 0xc1c15899, 0x1d1d273a, 0x9e9eb927, 0xe1e138d9, 0xf8f813eb, 0x9898b32b, 0x11113322, 0x6969bbd2, 0xd9d970a9, 0x8e8e8907, 0x9494a733, 0x9b9bb62d, 0x1e1e223c, 0x87879215, 0xe9e920c9, 0xcece4987, 0x5555ffaa, 0x28287850, 0xdfdf7aa5, 0x8c8c8f03, 0xa1a1f859, 0x89898009, 0x0d0d171a, 0xbfbfda65, 0xe6e631d7, 0x4242c684, 0x6868b8d0, 0x4141c382, 0x9999b029, 0x2d2d775a, 0x0f0f111e, 0xb0b0cb7b, 0x5454fca8, 0xbbbbd66d, 0x16163a2c];\n\n // Transformations for decryption\n var T5 = [0x51f4a750, 0x7e416553, 0x1a17a4c3, 0x3a275e96, 0x3bab6bcb, 0x1f9d45f1, 0xacfa58ab, 0x4be30393, 0x2030fa55, 0xad766df6, 0x88cc7691, 0xf5024c25, 0x4fe5d7fc, 0xc52acbd7, 0x26354480, 0xb562a38f, 0xdeb15a49, 0x25ba1b67, 0x45ea0e98, 0x5dfec0e1, 0xc32f7502, 0x814cf012, 0x8d4697a3, 0x6bd3f9c6, 0x038f5fe7, 0x15929c95, 0xbf6d7aeb, 0x955259da, 0xd4be832d, 0x587421d3, 0x49e06929, 0x8ec9c844, 0x75c2896a, 0xf48e7978, 0x99583e6b, 0x27b971dd, 0xbee14fb6, 0xf088ad17, 0xc920ac66, 0x7dce3ab4, 0x63df4a18, 0xe51a3182, 0x97513360, 0x62537f45, 0xb16477e0, 0xbb6bae84, 0xfe81a01c, 0xf9082b94, 0x70486858, 0x8f45fd19, 0x94de6c87, 0x527bf8b7, 0xab73d323, 0x724b02e2, 0xe31f8f57, 0x6655ab2a, 0xb2eb2807, 0x2fb5c203, 0x86c57b9a, 0xd33708a5, 0x302887f2, 0x23bfa5b2, 0x02036aba, 0xed16825c, 0x8acf1c2b, 0xa779b492, 0xf307f2f0, 0x4e69e2a1, 0x65daf4cd, 0x0605bed5, 0xd134621f, 0xc4a6fe8a, 0x342e539d, 0xa2f355a0, 0x058ae132, 0xa4f6eb75, 0x0b83ec39, 0x4060efaa, 0x5e719f06, 0xbd6e1051, 0x3e218af9, 0x96dd063d, 0xdd3e05ae, 0x4de6bd46, 0x91548db5, 0x71c45d05, 0x0406d46f, 0x605015ff, 0x1998fb24, 0xd6bde997, 0x894043cc, 0x67d99e77, 0xb0e842bd, 0x07898b88, 0xe7195b38, 0x79c8eedb, 0xa17c0a47, 0x7c420fe9, 0xf8841ec9, 0x00000000, 0x09808683, 0x322bed48, 0x1e1170ac, 0x6c5a724e, 0xfd0efffb, 0x0f853856, 0x3daed51e, 0x362d3927, 0x0a0fd964, 0x685ca621, 0x9b5b54d1, 0x24362e3a, 0x0c0a67b1, 0x9357e70f, 0xb4ee96d2, 0x1b9b919e, 0x80c0c54f, 0x61dc20a2, 0x5a774b69, 0x1c121a16, 0xe293ba0a, 0xc0a02ae5, 0x3c22e043, 0x121b171d, 0x0e090d0b, 0xf28bc7ad, 0x2db6a8b9, 0x141ea9c8, 0x57f11985, 0xaf75074c, 0xee99ddbb, 0xa37f60fd, 0xf701269f, 0x5c72f5bc, 0x44663bc5, 0x5bfb7e34, 0x8b432976, 0xcb23c6dc, 0xb6edfc68, 0xb8e4f163, 0xd731dcca, 0x42638510, 0x13972240, 0x84c61120, 0x854a247d, 0xd2bb3df8, 0xaef93211, 0xc729a16d, 0x1d9e2f4b, 0xdcb230f3, 0x0d8652ec, 0x77c1e3d0, 0x2bb3166c, 0xa970b999, 0x119448fa, 0x47e96422, 0xa8fc8cc4, 0xa0f03f1a, 0x567d2cd8, 0x223390ef, 0x87494ec7, 0xd938d1c1, 0x8ccaa2fe, 0x98d40b36, 0xa6f581cf, 0xa57ade28, 0xdab78e26, 0x3fadbfa4, 0x2c3a9de4, 0x5078920d, 0x6a5fcc9b, 0x547e4662, 0xf68d13c2, 0x90d8b8e8, 0x2e39f75e, 0x82c3aff5, 0x9f5d80be, 0x69d0937c, 0x6fd52da9, 0xcf2512b3, 0xc8ac993b, 0x10187da7, 0xe89c636e, 0xdb3bbb7b, 0xcd267809, 0x6e5918f4, 0xec9ab701, 0x834f9aa8, 0xe6956e65, 0xaaffe67e, 0x21bccf08, 0xef15e8e6, 0xbae79bd9, 0x4a6f36ce, 0xea9f09d4, 0x29b07cd6, 0x31a4b2af, 0x2a3f2331, 0xc6a59430, 0x35a266c0, 0x744ebc37, 0xfc82caa6, 0xe090d0b0, 0x33a7d815, 0xf104984a, 0x41ecdaf7, 0x7fcd500e, 0x1791f62f, 0x764dd68d, 0x43efb04d, 0xccaa4d54, 0xe49604df, 0x9ed1b5e3, 0x4c6a881b, 0xc12c1fb8, 0x4665517f, 0x9d5eea04, 0x018c355d, 0xfa877473, 0xfb0b412e, 0xb3671d5a, 0x92dbd252, 0xe9105633, 0x6dd64713, 0x9ad7618c, 0x37a10c7a, 0x59f8148e, 0xeb133c89, 0xcea927ee, 0xb761c935, 0xe11ce5ed, 0x7a47b13c, 0x9cd2df59, 0x55f2733f, 0x1814ce79, 0x73c737bf, 0x53f7cdea, 0x5ffdaa5b, 0xdf3d6f14, 0x7844db86, 0xcaaff381, 0xb968c43e, 0x3824342c, 0xc2a3405f, 0x161dc372, 0xbce2250c, 0x283c498b, 0xff0d9541, 0x39a80171, 0x080cb3de, 0xd8b4e49c, 0x6456c190, 0x7bcb8461, 0xd532b670, 0x486c5c74, 0xd0b85742];\n var T6 = [0x5051f4a7, 0x537e4165, 0xc31a17a4, 0x963a275e, 0xcb3bab6b, 0xf11f9d45, 0xabacfa58, 0x934be303, 0x552030fa, 0xf6ad766d, 0x9188cc76, 0x25f5024c, 0xfc4fe5d7, 0xd7c52acb, 0x80263544, 0x8fb562a3, 0x49deb15a, 0x6725ba1b, 0x9845ea0e, 0xe15dfec0, 0x02c32f75, 0x12814cf0, 0xa38d4697, 0xc66bd3f9, 0xe7038f5f, 0x9515929c, 0xebbf6d7a, 0xda955259, 0x2dd4be83, 0xd3587421, 0x2949e069, 0x448ec9c8, 0x6a75c289, 0x78f48e79, 0x6b99583e, 0xdd27b971, 0xb6bee14f, 0x17f088ad, 0x66c920ac, 0xb47dce3a, 0x1863df4a, 0x82e51a31, 0x60975133, 0x4562537f, 0xe0b16477, 0x84bb6bae, 0x1cfe81a0, 0x94f9082b, 0x58704868, 0x198f45fd, 0x8794de6c, 0xb7527bf8, 0x23ab73d3, 0xe2724b02, 0x57e31f8f, 0x2a6655ab, 0x07b2eb28, 0x032fb5c2, 0x9a86c57b, 0xa5d33708, 0xf2302887, 0xb223bfa5, 0xba02036a, 0x5ced1682, 0x2b8acf1c, 0x92a779b4, 0xf0f307f2, 0xa14e69e2, 0xcd65daf4, 0xd50605be, 0x1fd13462, 0x8ac4a6fe, 0x9d342e53, 0xa0a2f355, 0x32058ae1, 0x75a4f6eb, 0x390b83ec, 0xaa4060ef, 0x065e719f, 0x51bd6e10, 0xf93e218a, 0x3d96dd06, 0xaedd3e05, 0x464de6bd, 0xb591548d, 0x0571c45d, 0x6f0406d4, 0xff605015, 0x241998fb, 0x97d6bde9, 0xcc894043, 0x7767d99e, 0xbdb0e842, 0x8807898b, 0x38e7195b, 0xdb79c8ee, 0x47a17c0a, 0xe97c420f, 0xc9f8841e, 0x00000000, 0x83098086, 0x48322bed, 0xac1e1170, 0x4e6c5a72, 0xfbfd0eff, 0x560f8538, 0x1e3daed5, 0x27362d39, 0x640a0fd9, 0x21685ca6, 0xd19b5b54, 0x3a24362e, 0xb10c0a67, 0x0f9357e7, 0xd2b4ee96, 0x9e1b9b91, 0x4f80c0c5, 0xa261dc20, 0x695a774b, 0x161c121a, 0x0ae293ba, 0xe5c0a02a, 0x433c22e0, 0x1d121b17, 0x0b0e090d, 0xadf28bc7, 0xb92db6a8, 0xc8141ea9, 0x8557f119, 0x4caf7507, 0xbbee99dd, 0xfda37f60, 0x9ff70126, 0xbc5c72f5, 0xc544663b, 0x345bfb7e, 0x768b4329, 0xdccb23c6, 0x68b6edfc, 0x63b8e4f1, 0xcad731dc, 0x10426385, 0x40139722, 0x2084c611, 0x7d854a24, 0xf8d2bb3d, 0x11aef932, 0x6dc729a1, 0x4b1d9e2f, 0xf3dcb230, 0xec0d8652, 0xd077c1e3, 0x6c2bb316, 0x99a970b9, 0xfa119448, 0x2247e964, 0xc4a8fc8c, 0x1aa0f03f, 0xd8567d2c, 0xef223390, 0xc787494e, 0xc1d938d1, 0xfe8ccaa2, 0x3698d40b, 0xcfa6f581, 0x28a57ade, 0x26dab78e, 0xa43fadbf, 0xe42c3a9d, 0x0d507892, 0x9b6a5fcc, 0x62547e46, 0xc2f68d13, 0xe890d8b8, 0x5e2e39f7, 0xf582c3af, 0xbe9f5d80, 0x7c69d093, 0xa96fd52d, 0xb3cf2512, 0x3bc8ac99, 0xa710187d, 0x6ee89c63, 0x7bdb3bbb, 0x09cd2678, 0xf46e5918, 0x01ec9ab7, 0xa8834f9a, 0x65e6956e, 0x7eaaffe6, 0x0821bccf, 0xe6ef15e8, 0xd9bae79b, 0xce4a6f36, 0xd4ea9f09, 0xd629b07c, 0xaf31a4b2, 0x312a3f23, 0x30c6a594, 0xc035a266, 0x37744ebc, 0xa6fc82ca, 0xb0e090d0, 0x1533a7d8, 0x4af10498, 0xf741ecda, 0x0e7fcd50, 0x2f1791f6, 0x8d764dd6, 0x4d43efb0, 0x54ccaa4d, 0xdfe49604, 0xe39ed1b5, 0x1b4c6a88, 0xb8c12c1f, 0x7f466551, 0x049d5eea, 0x5d018c35, 0x73fa8774, 0x2efb0b41, 0x5ab3671d, 0x5292dbd2, 0x33e91056, 0x136dd647, 0x8c9ad761, 0x7a37a10c, 0x8e59f814, 0x89eb133c, 0xeecea927, 0x35b761c9, 0xede11ce5, 0x3c7a47b1, 0x599cd2df, 0x3f55f273, 0x791814ce, 0xbf73c737, 0xea53f7cd, 0x5b5ffdaa, 0x14df3d6f, 0x867844db, 0x81caaff3, 0x3eb968c4, 0x2c382434, 0x5fc2a340, 0x72161dc3, 0x0cbce225, 0x8b283c49, 0x41ff0d95, 0x7139a801, 0xde080cb3, 0x9cd8b4e4, 0x906456c1, 0x617bcb84, 0x70d532b6, 0x74486c5c, 0x42d0b857];\n var T7 = [0xa75051f4, 0x65537e41, 0xa4c31a17, 0x5e963a27, 0x6bcb3bab, 0x45f11f9d, 0x58abacfa, 0x03934be3, 0xfa552030, 0x6df6ad76, 0x769188cc, 0x4c25f502, 0xd7fc4fe5, 0xcbd7c52a, 0x44802635, 0xa38fb562, 0x5a49deb1, 0x1b6725ba, 0x0e9845ea, 0xc0e15dfe, 0x7502c32f, 0xf012814c, 0x97a38d46, 0xf9c66bd3, 0x5fe7038f, 0x9c951592, 0x7aebbf6d, 0x59da9552, 0x832dd4be, 0x21d35874, 0x692949e0, 0xc8448ec9, 0x896a75c2, 0x7978f48e, 0x3e6b9958, 0x71dd27b9, 0x4fb6bee1, 0xad17f088, 0xac66c920, 0x3ab47dce, 0x4a1863df, 0x3182e51a, 0x33609751, 0x7f456253, 0x77e0b164, 0xae84bb6b, 0xa01cfe81, 0x2b94f908, 0x68587048, 0xfd198f45, 0x6c8794de, 0xf8b7527b, 0xd323ab73, 0x02e2724b, 0x8f57e31f, 0xab2a6655, 0x2807b2eb, 0xc2032fb5, 0x7b9a86c5, 0x08a5d337, 0x87f23028, 0xa5b223bf, 0x6aba0203, 0x825ced16, 0x1c2b8acf, 0xb492a779, 0xf2f0f307, 0xe2a14e69, 0xf4cd65da, 0xbed50605, 0x621fd134, 0xfe8ac4a6, 0x539d342e, 0x55a0a2f3, 0xe132058a, 0xeb75a4f6, 0xec390b83, 0xefaa4060, 0x9f065e71, 0x1051bd6e, 0x8af93e21, 0x063d96dd, 0x05aedd3e, 0xbd464de6, 0x8db59154, 0x5d0571c4, 0xd46f0406, 0x15ff6050, 0xfb241998, 0xe997d6bd, 0x43cc8940, 0x9e7767d9, 0x42bdb0e8, 0x8b880789, 0x5b38e719, 0xeedb79c8, 0x0a47a17c, 0x0fe97c42, 0x1ec9f884, 0x00000000, 0x86830980, 0xed48322b, 0x70ac1e11, 0x724e6c5a, 0xfffbfd0e, 0x38560f85, 0xd51e3dae, 0x3927362d, 0xd9640a0f, 0xa621685c, 0x54d19b5b, 0x2e3a2436, 0x67b10c0a, 0xe70f9357, 0x96d2b4ee, 0x919e1b9b, 0xc54f80c0, 0x20a261dc, 0x4b695a77, 0x1a161c12, 0xba0ae293, 0x2ae5c0a0, 0xe0433c22, 0x171d121b, 0x0d0b0e09, 0xc7adf28b, 0xa8b92db6, 0xa9c8141e, 0x198557f1, 0x074caf75, 0xddbbee99, 0x60fda37f, 0x269ff701, 0xf5bc5c72, 0x3bc54466, 0x7e345bfb, 0x29768b43, 0xc6dccb23, 0xfc68b6ed, 0xf163b8e4, 0xdccad731, 0x85104263, 0x22401397, 0x112084c6, 0x247d854a, 0x3df8d2bb, 0x3211aef9, 0xa16dc729, 0x2f4b1d9e, 0x30f3dcb2, 0x52ec0d86, 0xe3d077c1, 0x166c2bb3, 0xb999a970, 0x48fa1194, 0x642247e9, 0x8cc4a8fc, 0x3f1aa0f0, 0x2cd8567d, 0x90ef2233, 0x4ec78749, 0xd1c1d938, 0xa2fe8cca, 0x0b3698d4, 0x81cfa6f5, 0xde28a57a, 0x8e26dab7, 0xbfa43fad, 0x9de42c3a, 0x920d5078, 0xcc9b6a5f, 0x4662547e, 0x13c2f68d, 0xb8e890d8, 0xf75e2e39, 0xaff582c3, 0x80be9f5d, 0x937c69d0, 0x2da96fd5, 0x12b3cf25, 0x993bc8ac, 0x7da71018, 0x636ee89c, 0xbb7bdb3b, 0x7809cd26, 0x18f46e59, 0xb701ec9a, 0x9aa8834f, 0x6e65e695, 0xe67eaaff, 0xcf0821bc, 0xe8e6ef15, 0x9bd9bae7, 0x36ce4a6f, 0x09d4ea9f, 0x7cd629b0, 0xb2af31a4, 0x23312a3f, 0x9430c6a5, 0x66c035a2, 0xbc37744e, 0xcaa6fc82, 0xd0b0e090, 0xd81533a7, 0x984af104, 0xdaf741ec, 0x500e7fcd, 0xf62f1791, 0xd68d764d, 0xb04d43ef, 0x4d54ccaa, 0x04dfe496, 0xb5e39ed1, 0x881b4c6a, 0x1fb8c12c, 0x517f4665, 0xea049d5e, 0x355d018c, 0x7473fa87, 0x412efb0b, 0x1d5ab367, 0xd25292db, 0x5633e910, 0x47136dd6, 0x618c9ad7, 0x0c7a37a1, 0x148e59f8, 0x3c89eb13, 0x27eecea9, 0xc935b761, 0xe5ede11c, 0xb13c7a47, 0xdf599cd2, 0x733f55f2, 0xce791814, 0x37bf73c7, 0xcdea53f7, 0xaa5b5ffd, 0x6f14df3d, 0xdb867844, 0xf381caaf, 0xc43eb968, 0x342c3824, 0x405fc2a3, 0xc372161d, 0x250cbce2, 0x498b283c, 0x9541ff0d, 0x017139a8, 0xb3de080c, 0xe49cd8b4, 0xc1906456, 0x84617bcb, 0xb670d532, 0x5c74486c, 0x5742d0b8];\n var T8 = [0xf4a75051, 0x4165537e, 0x17a4c31a, 0x275e963a, 0xab6bcb3b, 0x9d45f11f, 0xfa58abac, 0xe303934b, 0x30fa5520, 0x766df6ad, 0xcc769188, 0x024c25f5, 0xe5d7fc4f, 0x2acbd7c5, 0x35448026, 0x62a38fb5, 0xb15a49de, 0xba1b6725, 0xea0e9845, 0xfec0e15d, 0x2f7502c3, 0x4cf01281, 0x4697a38d, 0xd3f9c66b, 0x8f5fe703, 0x929c9515, 0x6d7aebbf, 0x5259da95, 0xbe832dd4, 0x7421d358, 0xe0692949, 0xc9c8448e, 0xc2896a75, 0x8e7978f4, 0x583e6b99, 0xb971dd27, 0xe14fb6be, 0x88ad17f0, 0x20ac66c9, 0xce3ab47d, 0xdf4a1863, 0x1a3182e5, 0x51336097, 0x537f4562, 0x6477e0b1, 0x6bae84bb, 0x81a01cfe, 0x082b94f9, 0x48685870, 0x45fd198f, 0xde6c8794, 0x7bf8b752, 0x73d323ab, 0x4b02e272, 0x1f8f57e3, 0x55ab2a66, 0xeb2807b2, 0xb5c2032f, 0xc57b9a86, 0x3708a5d3, 0x2887f230, 0xbfa5b223, 0x036aba02, 0x16825ced, 0xcf1c2b8a, 0x79b492a7, 0x07f2f0f3, 0x69e2a14e, 0xdaf4cd65, 0x05bed506, 0x34621fd1, 0xa6fe8ac4, 0x2e539d34, 0xf355a0a2, 0x8ae13205, 0xf6eb75a4, 0x83ec390b, 0x60efaa40, 0x719f065e, 0x6e1051bd, 0x218af93e, 0xdd063d96, 0x3e05aedd, 0xe6bd464d, 0x548db591, 0xc45d0571, 0x06d46f04, 0x5015ff60, 0x98fb2419, 0xbde997d6, 0x4043cc89, 0xd99e7767, 0xe842bdb0, 0x898b8807, 0x195b38e7, 0xc8eedb79, 0x7c0a47a1, 0x420fe97c, 0x841ec9f8, 0x00000000, 0x80868309, 0x2bed4832, 0x1170ac1e, 0x5a724e6c, 0x0efffbfd, 0x8538560f, 0xaed51e3d, 0x2d392736, 0x0fd9640a, 0x5ca62168, 0x5b54d19b, 0x362e3a24, 0x0a67b10c, 0x57e70f93, 0xee96d2b4, 0x9b919e1b, 0xc0c54f80, 0xdc20a261, 0x774b695a, 0x121a161c, 0x93ba0ae2, 0xa02ae5c0, 0x22e0433c, 0x1b171d12, 0x090d0b0e, 0x8bc7adf2, 0xb6a8b92d, 0x1ea9c814, 0xf1198557, 0x75074caf, 0x99ddbbee, 0x7f60fda3, 0x01269ff7, 0x72f5bc5c, 0x663bc544, 0xfb7e345b, 0x4329768b, 0x23c6dccb, 0xedfc68b6, 0xe4f163b8, 0x31dccad7, 0x63851042, 0x97224013, 0xc6112084, 0x4a247d85, 0xbb3df8d2, 0xf93211ae, 0x29a16dc7, 0x9e2f4b1d, 0xb230f3dc, 0x8652ec0d, 0xc1e3d077, 0xb3166c2b, 0x70b999a9, 0x9448fa11, 0xe9642247, 0xfc8cc4a8, 0xf03f1aa0, 0x7d2cd856, 0x3390ef22, 0x494ec787, 0x38d1c1d9, 0xcaa2fe8c, 0xd40b3698, 0xf581cfa6, 0x7ade28a5, 0xb78e26da, 0xadbfa43f, 0x3a9de42c, 0x78920d50, 0x5fcc9b6a, 0x7e466254, 0x8d13c2f6, 0xd8b8e890, 0x39f75e2e, 0xc3aff582, 0x5d80be9f, 0xd0937c69, 0xd52da96f, 0x2512b3cf, 0xac993bc8, 0x187da710, 0x9c636ee8, 0x3bbb7bdb, 0x267809cd, 0x5918f46e, 0x9ab701ec, 0x4f9aa883, 0x956e65e6, 0xffe67eaa, 0xbccf0821, 0x15e8e6ef, 0xe79bd9ba, 0x6f36ce4a, 0x9f09d4ea, 0xb07cd629, 0xa4b2af31, 0x3f23312a, 0xa59430c6, 0xa266c035, 0x4ebc3774, 0x82caa6fc, 0x90d0b0e0, 0xa7d81533, 0x04984af1, 0xecdaf741, 0xcd500e7f, 0x91f62f17, 0x4dd68d76, 0xefb04d43, 0xaa4d54cc, 0x9604dfe4, 0xd1b5e39e, 0x6a881b4c, 0x2c1fb8c1, 0x65517f46, 0x5eea049d, 0x8c355d01, 0x877473fa, 0x0b412efb, 0x671d5ab3, 0xdbd25292, 0x105633e9, 0xd647136d, 0xd7618c9a, 0xa10c7a37, 0xf8148e59, 0x133c89eb, 0xa927eece, 0x61c935b7, 0x1ce5ede1, 0x47b13c7a, 0xd2df599c, 0xf2733f55, 0x14ce7918, 0xc737bf73, 0xf7cdea53, 0xfdaa5b5f, 0x3d6f14df, 0x44db8678, 0xaff381ca, 0x68c43eb9, 0x24342c38, 0xa3405fc2, 0x1dc37216, 0xe2250cbc, 0x3c498b28, 0x0d9541ff, 0xa8017139, 0x0cb3de08, 0xb4e49cd8, 0x56c19064, 0xcb84617b, 0x32b670d5, 0x6c5c7448, 0xb85742d0];\n\n // Transformations for decryption key expansion\n var U1 = [0x00000000, 0x0e090d0b, 0x1c121a16, 0x121b171d, 0x3824342c, 0x362d3927, 0x24362e3a, 0x2a3f2331, 0x70486858, 0x7e416553, 0x6c5a724e, 0x62537f45, 0x486c5c74, 0x4665517f, 0x547e4662, 0x5a774b69, 0xe090d0b0, 0xee99ddbb, 0xfc82caa6, 0xf28bc7ad, 0xd8b4e49c, 0xd6bde997, 0xc4a6fe8a, 0xcaaff381, 0x90d8b8e8, 0x9ed1b5e3, 0x8ccaa2fe, 0x82c3aff5, 0xa8fc8cc4, 0xa6f581cf, 0xb4ee96d2, 0xbae79bd9, 0xdb3bbb7b, 0xd532b670, 0xc729a16d, 0xc920ac66, 0xe31f8f57, 0xed16825c, 0xff0d9541, 0xf104984a, 0xab73d323, 0xa57ade28, 0xb761c935, 0xb968c43e, 0x9357e70f, 0x9d5eea04, 0x8f45fd19, 0x814cf012, 0x3bab6bcb, 0x35a266c0, 0x27b971dd, 0x29b07cd6, 0x038f5fe7, 0x0d8652ec, 0x1f9d45f1, 0x119448fa, 0x4be30393, 0x45ea0e98, 0x57f11985, 0x59f8148e, 0x73c737bf, 0x7dce3ab4, 0x6fd52da9, 0x61dc20a2, 0xad766df6, 0xa37f60fd, 0xb16477e0, 0xbf6d7aeb, 0x955259da, 0x9b5b54d1, 0x894043cc, 0x87494ec7, 0xdd3e05ae, 0xd33708a5, 0xc12c1fb8, 0xcf2512b3, 0xe51a3182, 0xeb133c89, 0xf9082b94, 0xf701269f, 0x4de6bd46, 0x43efb04d, 0x51f4a750, 0x5ffdaa5b, 0x75c2896a, 0x7bcb8461, 0x69d0937c, 0x67d99e77, 0x3daed51e, 0x33a7d815, 0x21bccf08, 0x2fb5c203, 0x058ae132, 0x0b83ec39, 0x1998fb24, 0x1791f62f, 0x764dd68d, 0x7844db86, 0x6a5fcc9b, 0x6456c190, 0x4e69e2a1, 0x4060efaa, 0x527bf8b7, 0x5c72f5bc, 0x0605bed5, 0x080cb3de, 0x1a17a4c3, 0x141ea9c8, 0x3e218af9, 0x302887f2, 0x223390ef, 0x2c3a9de4, 0x96dd063d, 0x98d40b36, 0x8acf1c2b, 0x84c61120, 0xaef93211, 0xa0f03f1a, 0xb2eb2807, 0xbce2250c, 0xe6956e65, 0xe89c636e, 0xfa877473, 0xf48e7978, 0xdeb15a49, 0xd0b85742, 0xc2a3405f, 0xccaa4d54, 0x41ecdaf7, 0x4fe5d7fc, 0x5dfec0e1, 0x53f7cdea, 0x79c8eedb, 0x77c1e3d0, 0x65daf4cd, 0x6bd3f9c6, 0x31a4b2af, 0x3fadbfa4, 0x2db6a8b9, 0x23bfa5b2, 0x09808683, 0x07898b88, 0x15929c95, 0x1b9b919e, 0xa17c0a47, 0xaf75074c, 0xbd6e1051, 0xb3671d5a, 0x99583e6b, 0x97513360, 0x854a247d, 0x8b432976, 0xd134621f, 0xdf3d6f14, 0xcd267809, 0xc32f7502, 0xe9105633, 0xe7195b38, 0xf5024c25, 0xfb0b412e, 0x9ad7618c, 0x94de6c87, 0x86c57b9a, 0x88cc7691, 0xa2f355a0, 0xacfa58ab, 0xbee14fb6, 0xb0e842bd, 0xea9f09d4, 0xe49604df, 0xf68d13c2, 0xf8841ec9, 0xd2bb3df8, 0xdcb230f3, 0xcea927ee, 0xc0a02ae5, 0x7a47b13c, 0x744ebc37, 0x6655ab2a, 0x685ca621, 0x42638510, 0x4c6a881b, 0x5e719f06, 0x5078920d, 0x0a0fd964, 0x0406d46f, 0x161dc372, 0x1814ce79, 0x322bed48, 0x3c22e043, 0x2e39f75e, 0x2030fa55, 0xec9ab701, 0xe293ba0a, 0xf088ad17, 0xfe81a01c, 0xd4be832d, 0xdab78e26, 0xc8ac993b, 0xc6a59430, 0x9cd2df59, 0x92dbd252, 0x80c0c54f, 0x8ec9c844, 0xa4f6eb75, 0xaaffe67e, 0xb8e4f163, 0xb6edfc68, 0x0c0a67b1, 0x02036aba, 0x10187da7, 0x1e1170ac, 0x342e539d, 0x3a275e96, 0x283c498b, 0x26354480, 0x7c420fe9, 0x724b02e2, 0x605015ff, 0x6e5918f4, 0x44663bc5, 0x4a6f36ce, 0x587421d3, 0x567d2cd8, 0x37a10c7a, 0x39a80171, 0x2bb3166c, 0x25ba1b67, 0x0f853856, 0x018c355d, 0x13972240, 0x1d9e2f4b, 0x47e96422, 0x49e06929, 0x5bfb7e34, 0x55f2733f, 0x7fcd500e, 0x71c45d05, 0x63df4a18, 0x6dd64713, 0xd731dcca, 0xd938d1c1, 0xcb23c6dc, 0xc52acbd7, 0xef15e8e6, 0xe11ce5ed, 0xf307f2f0, 0xfd0efffb, 0xa779b492, 0xa970b999, 0xbb6bae84, 0xb562a38f, 0x9f5d80be, 0x91548db5, 0x834f9aa8, 0x8d4697a3];\n var U2 = [0x00000000, 0x0b0e090d, 0x161c121a, 0x1d121b17, 0x2c382434, 0x27362d39, 0x3a24362e, 0x312a3f23, 0x58704868, 0x537e4165, 0x4e6c5a72, 0x4562537f, 0x74486c5c, 0x7f466551, 0x62547e46, 0x695a774b, 0xb0e090d0, 0xbbee99dd, 0xa6fc82ca, 0xadf28bc7, 0x9cd8b4e4, 0x97d6bde9, 0x8ac4a6fe, 0x81caaff3, 0xe890d8b8, 0xe39ed1b5, 0xfe8ccaa2, 0xf582c3af, 0xc4a8fc8c, 0xcfa6f581, 0xd2b4ee96, 0xd9bae79b, 0x7bdb3bbb, 0x70d532b6, 0x6dc729a1, 0x66c920ac, 0x57e31f8f, 0x5ced1682, 0x41ff0d95, 0x4af10498, 0x23ab73d3, 0x28a57ade, 0x35b761c9, 0x3eb968c4, 0x0f9357e7, 0x049d5eea, 0x198f45fd, 0x12814cf0, 0xcb3bab6b, 0xc035a266, 0xdd27b971, 0xd629b07c, 0xe7038f5f, 0xec0d8652, 0xf11f9d45, 0xfa119448, 0x934be303, 0x9845ea0e, 0x8557f119, 0x8e59f814, 0xbf73c737, 0xb47dce3a, 0xa96fd52d, 0xa261dc20, 0xf6ad766d, 0xfda37f60, 0xe0b16477, 0xebbf6d7a, 0xda955259, 0xd19b5b54, 0xcc894043, 0xc787494e, 0xaedd3e05, 0xa5d33708, 0xb8c12c1f, 0xb3cf2512, 0x82e51a31, 0x89eb133c, 0x94f9082b, 0x9ff70126, 0x464de6bd, 0x4d43efb0, 0x5051f4a7, 0x5b5ffdaa, 0x6a75c289, 0x617bcb84, 0x7c69d093, 0x7767d99e, 0x1e3daed5, 0x1533a7d8, 0x0821bccf, 0x032fb5c2, 0x32058ae1, 0x390b83ec, 0x241998fb, 0x2f1791f6, 0x8d764dd6, 0x867844db, 0x9b6a5fcc, 0x906456c1, 0xa14e69e2, 0xaa4060ef, 0xb7527bf8, 0xbc5c72f5, 0xd50605be, 0xde080cb3, 0xc31a17a4, 0xc8141ea9, 0xf93e218a, 0xf2302887, 0xef223390, 0xe42c3a9d, 0x3d96dd06, 0x3698d40b, 0x2b8acf1c, 0x2084c611, 0x11aef932, 0x1aa0f03f, 0x07b2eb28, 0x0cbce225, 0x65e6956e, 0x6ee89c63, 0x73fa8774, 0x78f48e79, 0x49deb15a, 0x42d0b857, 0x5fc2a340, 0x54ccaa4d, 0xf741ecda, 0xfc4fe5d7, 0xe15dfec0, 0xea53f7cd, 0xdb79c8ee, 0xd077c1e3, 0xcd65daf4, 0xc66bd3f9, 0xaf31a4b2, 0xa43fadbf, 0xb92db6a8, 0xb223bfa5, 0x83098086, 0x8807898b, 0x9515929c, 0x9e1b9b91, 0x47a17c0a, 0x4caf7507, 0x51bd6e10, 0x5ab3671d, 0x6b99583e, 0x60975133, 0x7d854a24, 0x768b4329, 0x1fd13462, 0x14df3d6f, 0x09cd2678, 0x02c32f75, 0x33e91056, 0x38e7195b, 0x25f5024c, 0x2efb0b41, 0x8c9ad761, 0x8794de6c, 0x9a86c57b, 0x9188cc76, 0xa0a2f355, 0xabacfa58, 0xb6bee14f, 0xbdb0e842, 0xd4ea9f09, 0xdfe49604, 0xc2f68d13, 0xc9f8841e, 0xf8d2bb3d, 0xf3dcb230, 0xeecea927, 0xe5c0a02a, 0x3c7a47b1, 0x37744ebc, 0x2a6655ab, 0x21685ca6, 0x10426385, 0x1b4c6a88, 0x065e719f, 0x0d507892, 0x640a0fd9, 0x6f0406d4, 0x72161dc3, 0x791814ce, 0x48322bed, 0x433c22e0, 0x5e2e39f7, 0x552030fa, 0x01ec9ab7, 0x0ae293ba, 0x17f088ad, 0x1cfe81a0, 0x2dd4be83, 0x26dab78e, 0x3bc8ac99, 0x30c6a594, 0x599cd2df, 0x5292dbd2, 0x4f80c0c5, 0x448ec9c8, 0x75a4f6eb, 0x7eaaffe6, 0x63b8e4f1, 0x68b6edfc, 0xb10c0a67, 0xba02036a, 0xa710187d, 0xac1e1170, 0x9d342e53, 0x963a275e, 0x8b283c49, 0x80263544, 0xe97c420f, 0xe2724b02, 0xff605015, 0xf46e5918, 0xc544663b, 0xce4a6f36, 0xd3587421, 0xd8567d2c, 0x7a37a10c, 0x7139a801, 0x6c2bb316, 0x6725ba1b, 0x560f8538, 0x5d018c35, 0x40139722, 0x4b1d9e2f, 0x2247e964, 0x2949e069, 0x345bfb7e, 0x3f55f273, 0x0e7fcd50, 0x0571c45d, 0x1863df4a, 0x136dd647, 0xcad731dc, 0xc1d938d1, 0xdccb23c6, 0xd7c52acb, 0xe6ef15e8, 0xede11ce5, 0xf0f307f2, 0xfbfd0eff, 0x92a779b4, 0x99a970b9, 0x84bb6bae, 0x8fb562a3, 0xbe9f5d80, 0xb591548d, 0xa8834f9a, 0xa38d4697];\n var U3 = [0x00000000, 0x0d0b0e09, 0x1a161c12, 0x171d121b, 0x342c3824, 0x3927362d, 0x2e3a2436, 0x23312a3f, 0x68587048, 0x65537e41, 0x724e6c5a, 0x7f456253, 0x5c74486c, 0x517f4665, 0x4662547e, 0x4b695a77, 0xd0b0e090, 0xddbbee99, 0xcaa6fc82, 0xc7adf28b, 0xe49cd8b4, 0xe997d6bd, 0xfe8ac4a6, 0xf381caaf, 0xb8e890d8, 0xb5e39ed1, 0xa2fe8cca, 0xaff582c3, 0x8cc4a8fc, 0x81cfa6f5, 0x96d2b4ee, 0x9bd9bae7, 0xbb7bdb3b, 0xb670d532, 0xa16dc729, 0xac66c920, 0x8f57e31f, 0x825ced16, 0x9541ff0d, 0x984af104, 0xd323ab73, 0xde28a57a, 0xc935b761, 0xc43eb968, 0xe70f9357, 0xea049d5e, 0xfd198f45, 0xf012814c, 0x6bcb3bab, 0x66c035a2, 0x71dd27b9, 0x7cd629b0, 0x5fe7038f, 0x52ec0d86, 0x45f11f9d, 0x48fa1194, 0x03934be3, 0x0e9845ea, 0x198557f1, 0x148e59f8, 0x37bf73c7, 0x3ab47dce, 0x2da96fd5, 0x20a261dc, 0x6df6ad76, 0x60fda37f, 0x77e0b164, 0x7aebbf6d, 0x59da9552, 0x54d19b5b, 0x43cc8940, 0x4ec78749, 0x05aedd3e, 0x08a5d337, 0x1fb8c12c, 0x12b3cf25, 0x3182e51a, 0x3c89eb13, 0x2b94f908, 0x269ff701, 0xbd464de6, 0xb04d43ef, 0xa75051f4, 0xaa5b5ffd, 0x896a75c2, 0x84617bcb, 0x937c69d0, 0x9e7767d9, 0xd51e3dae, 0xd81533a7, 0xcf0821bc, 0xc2032fb5, 0xe132058a, 0xec390b83, 0xfb241998, 0xf62f1791, 0xd68d764d, 0xdb867844, 0xcc9b6a5f, 0xc1906456, 0xe2a14e69, 0xefaa4060, 0xf8b7527b, 0xf5bc5c72, 0xbed50605, 0xb3de080c, 0xa4c31a17, 0xa9c8141e, 0x8af93e21, 0x87f23028, 0x90ef2233, 0x9de42c3a, 0x063d96dd, 0x0b3698d4, 0x1c2b8acf, 0x112084c6, 0x3211aef9, 0x3f1aa0f0, 0x2807b2eb, 0x250cbce2, 0x6e65e695, 0x636ee89c, 0x7473fa87, 0x7978f48e, 0x5a49deb1, 0x5742d0b8, 0x405fc2a3, 0x4d54ccaa, 0xdaf741ec, 0xd7fc4fe5, 0xc0e15dfe, 0xcdea53f7, 0xeedb79c8, 0xe3d077c1, 0xf4cd65da, 0xf9c66bd3, 0xb2af31a4, 0xbfa43fad, 0xa8b92db6, 0xa5b223bf, 0x86830980, 0x8b880789, 0x9c951592, 0x919e1b9b, 0x0a47a17c, 0x074caf75, 0x1051bd6e, 0x1d5ab367, 0x3e6b9958, 0x33609751, 0x247d854a, 0x29768b43, 0x621fd134, 0x6f14df3d, 0x7809cd26, 0x7502c32f, 0x5633e910, 0x5b38e719, 0x4c25f502, 0x412efb0b, 0x618c9ad7, 0x6c8794de, 0x7b9a86c5, 0x769188cc, 0x55a0a2f3, 0x58abacfa, 0x4fb6bee1, 0x42bdb0e8, 0x09d4ea9f, 0x04dfe496, 0x13c2f68d, 0x1ec9f884, 0x3df8d2bb, 0x30f3dcb2, 0x27eecea9, 0x2ae5c0a0, 0xb13c7a47, 0xbc37744e, 0xab2a6655, 0xa621685c, 0x85104263, 0x881b4c6a, 0x9f065e71, 0x920d5078, 0xd9640a0f, 0xd46f0406, 0xc372161d, 0xce791814, 0xed48322b, 0xe0433c22, 0xf75e2e39, 0xfa552030, 0xb701ec9a, 0xba0ae293, 0xad17f088, 0xa01cfe81, 0x832dd4be, 0x8e26dab7, 0x993bc8ac, 0x9430c6a5, 0xdf599cd2, 0xd25292db, 0xc54f80c0, 0xc8448ec9, 0xeb75a4f6, 0xe67eaaff, 0xf163b8e4, 0xfc68b6ed, 0x67b10c0a, 0x6aba0203, 0x7da71018, 0x70ac1e11, 0x539d342e, 0x5e963a27, 0x498b283c, 0x44802635, 0x0fe97c42, 0x02e2724b, 0x15ff6050, 0x18f46e59, 0x3bc54466, 0x36ce4a6f, 0x21d35874, 0x2cd8567d, 0x0c7a37a1, 0x017139a8, 0x166c2bb3, 0x1b6725ba, 0x38560f85, 0x355d018c, 0x22401397, 0x2f4b1d9e, 0x642247e9, 0x692949e0, 0x7e345bfb, 0x733f55f2, 0x500e7fcd, 0x5d0571c4, 0x4a1863df, 0x47136dd6, 0xdccad731, 0xd1c1d938, 0xc6dccb23, 0xcbd7c52a, 0xe8e6ef15, 0xe5ede11c, 0xf2f0f307, 0xfffbfd0e, 0xb492a779, 0xb999a970, 0xae84bb6b, 0xa38fb562, 0x80be9f5d, 0x8db59154, 0x9aa8834f, 0x97a38d46];\n var U4 = [0x00000000, 0x090d0b0e, 0x121a161c, 0x1b171d12, 0x24342c38, 0x2d392736, 0x362e3a24, 0x3f23312a, 0x48685870, 0x4165537e, 0x5a724e6c, 0x537f4562, 0x6c5c7448, 0x65517f46, 0x7e466254, 0x774b695a, 0x90d0b0e0, 0x99ddbbee, 0x82caa6fc, 0x8bc7adf2, 0xb4e49cd8, 0xbde997d6, 0xa6fe8ac4, 0xaff381ca, 0xd8b8e890, 0xd1b5e39e, 0xcaa2fe8c, 0xc3aff582, 0xfc8cc4a8, 0xf581cfa6, 0xee96d2b4, 0xe79bd9ba, 0x3bbb7bdb, 0x32b670d5, 0x29a16dc7, 0x20ac66c9, 0x1f8f57e3, 0x16825ced, 0x0d9541ff, 0x04984af1, 0x73d323ab, 0x7ade28a5, 0x61c935b7, 0x68c43eb9, 0x57e70f93, 0x5eea049d, 0x45fd198f, 0x4cf01281, 0xab6bcb3b, 0xa266c035, 0xb971dd27, 0xb07cd629, 0x8f5fe703, 0x8652ec0d, 0x9d45f11f, 0x9448fa11, 0xe303934b, 0xea0e9845, 0xf1198557, 0xf8148e59, 0xc737bf73, 0xce3ab47d, 0xd52da96f, 0xdc20a261, 0x766df6ad, 0x7f60fda3, 0x6477e0b1, 0x6d7aebbf, 0x5259da95, 0x5b54d19b, 0x4043cc89, 0x494ec787, 0x3e05aedd, 0x3708a5d3, 0x2c1fb8c1, 0x2512b3cf, 0x1a3182e5, 0x133c89eb, 0x082b94f9, 0x01269ff7, 0xe6bd464d, 0xefb04d43, 0xf4a75051, 0xfdaa5b5f, 0xc2896a75, 0xcb84617b, 0xd0937c69, 0xd99e7767, 0xaed51e3d, 0xa7d81533, 0xbccf0821, 0xb5c2032f, 0x8ae13205, 0x83ec390b, 0x98fb2419, 0x91f62f17, 0x4dd68d76, 0x44db8678, 0x5fcc9b6a, 0x56c19064, 0x69e2a14e, 0x60efaa40, 0x7bf8b752, 0x72f5bc5c, 0x05bed506, 0x0cb3de08, 0x17a4c31a, 0x1ea9c814, 0x218af93e, 0x2887f230, 0x3390ef22, 0x3a9de42c, 0xdd063d96, 0xd40b3698, 0xcf1c2b8a, 0xc6112084, 0xf93211ae, 0xf03f1aa0, 0xeb2807b2, 0xe2250cbc, 0x956e65e6, 0x9c636ee8, 0x877473fa, 0x8e7978f4, 0xb15a49de, 0xb85742d0, 0xa3405fc2, 0xaa4d54cc, 0xecdaf741, 0xe5d7fc4f, 0xfec0e15d, 0xf7cdea53, 0xc8eedb79, 0xc1e3d077, 0xdaf4cd65, 0xd3f9c66b, 0xa4b2af31, 0xadbfa43f, 0xb6a8b92d, 0xbfa5b223, 0x80868309, 0x898b8807, 0x929c9515, 0x9b919e1b, 0x7c0a47a1, 0x75074caf, 0x6e1051bd, 0x671d5ab3, 0x583e6b99, 0x51336097, 0x4a247d85, 0x4329768b, 0x34621fd1, 0x3d6f14df, 0x267809cd, 0x2f7502c3, 0x105633e9, 0x195b38e7, 0x024c25f5, 0x0b412efb, 0xd7618c9a, 0xde6c8794, 0xc57b9a86, 0xcc769188, 0xf355a0a2, 0xfa58abac, 0xe14fb6be, 0xe842bdb0, 0x9f09d4ea, 0x9604dfe4, 0x8d13c2f6, 0x841ec9f8, 0xbb3df8d2, 0xb230f3dc, 0xa927eece, 0xa02ae5c0, 0x47b13c7a, 0x4ebc3774, 0x55ab2a66, 0x5ca62168, 0x63851042, 0x6a881b4c, 0x719f065e, 0x78920d50, 0x0fd9640a, 0x06d46f04, 0x1dc37216, 0x14ce7918, 0x2bed4832, 0x22e0433c, 0x39f75e2e, 0x30fa5520, 0x9ab701ec, 0x93ba0ae2, 0x88ad17f0, 0x81a01cfe, 0xbe832dd4, 0xb78e26da, 0xac993bc8, 0xa59430c6, 0xd2df599c, 0xdbd25292, 0xc0c54f80, 0xc9c8448e, 0xf6eb75a4, 0xffe67eaa, 0xe4f163b8, 0xedfc68b6, 0x0a67b10c, 0x036aba02, 0x187da710, 0x1170ac1e, 0x2e539d34, 0x275e963a, 0x3c498b28, 0x35448026, 0x420fe97c, 0x4b02e272, 0x5015ff60, 0x5918f46e, 0x663bc544, 0x6f36ce4a, 0x7421d358, 0x7d2cd856, 0xa10c7a37, 0xa8017139, 0xb3166c2b, 0xba1b6725, 0x8538560f, 0x8c355d01, 0x97224013, 0x9e2f4b1d, 0xe9642247, 0xe0692949, 0xfb7e345b, 0xf2733f55, 0xcd500e7f, 0xc45d0571, 0xdf4a1863, 0xd647136d, 0x31dccad7, 0x38d1c1d9, 0x23c6dccb, 0x2acbd7c5, 0x15e8e6ef, 0x1ce5ede1, 0x07f2f0f3, 0x0efffbfd, 0x79b492a7, 0x70b999a9, 0x6bae84bb, 0x62a38fb5, 0x5d80be9f, 0x548db591, 0x4f9aa883, 0x4697a38d];\n\n function convertToInt32(bytes) {\n var result = [];\n for (var i = 0; i < bytes.length; i += 4) {\n result.push(\n (bytes[i ] << 24) |\n (bytes[i + 1] << 16) |\n (bytes[i + 2] << 8) |\n bytes[i + 3]\n );\n }\n return result;\n }\n\n var AES = function(key) {\n if (!(this instanceof AES)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n Object.defineProperty(this, 'key', {\n value: coerceArray(key, true)\n });\n\n this._prepare();\n }\n\n\n AES.prototype._prepare = function() {\n\n var rounds = numberOfRounds[this.key.length];\n if (rounds == null) {\n throw new Error('invalid key size (must be 16, 24 or 32 bytes)');\n }\n\n // encryption round keys\n this._Ke = [];\n\n // decryption round keys\n this._Kd = [];\n\n for (var i = 0; i <= rounds; i++) {\n this._Ke.push([0, 0, 0, 0]);\n this._Kd.push([0, 0, 0, 0]);\n }\n\n var roundKeyCount = (rounds + 1) * 4;\n var KC = this.key.length / 4;\n\n // convert the key into ints\n var tk = convertToInt32(this.key);\n\n // copy values into round key arrays\n var index;\n for (var i = 0; i < KC; i++) {\n index = i >> 2;\n this._Ke[index][i % 4] = tk[i];\n this._Kd[rounds - index][i % 4] = tk[i];\n }\n\n // key expansion (fips-197 section 5.2)\n var rconpointer = 0;\n var t = KC, tt;\n while (t < roundKeyCount) {\n tt = tk[KC - 1];\n tk[0] ^= ((S[(tt >> 16) & 0xFF] << 24) ^\n (S[(tt >> 8) & 0xFF] << 16) ^\n (S[ tt & 0xFF] << 8) ^\n S[(tt >> 24) & 0xFF] ^\n (rcon[rconpointer] << 24));\n rconpointer += 1;\n\n // key expansion (for non-256 bit)\n if (KC != 8) {\n for (var i = 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n\n // key expansion for 256-bit keys is \"slightly different\" (fips-197)\n } else {\n for (var i = 1; i < (KC / 2); i++) {\n tk[i] ^= tk[i - 1];\n }\n tt = tk[(KC / 2) - 1];\n\n tk[KC / 2] ^= (S[ tt & 0xFF] ^\n (S[(tt >> 8) & 0xFF] << 8) ^\n (S[(tt >> 16) & 0xFF] << 16) ^\n (S[(tt >> 24) & 0xFF] << 24));\n\n for (var i = (KC / 2) + 1; i < KC; i++) {\n tk[i] ^= tk[i - 1];\n }\n }\n\n // copy values into round key arrays\n var i = 0, r, c;\n while (i < KC && t < roundKeyCount) {\n r = t >> 2;\n c = t % 4;\n this._Ke[r][c] = tk[i];\n this._Kd[rounds - r][c] = tk[i++];\n t++;\n }\n }\n\n // inverse-cipher-ify the decryption round key (fips-197 section 5.3)\n for (var r = 1; r < rounds; r++) {\n for (var c = 0; c < 4; c++) {\n tt = this._Kd[r][c];\n this._Kd[r][c] = (U1[(tt >> 24) & 0xFF] ^\n U2[(tt >> 16) & 0xFF] ^\n U3[(tt >> 8) & 0xFF] ^\n U4[ tt & 0xFF]);\n }\n }\n }\n\n AES.prototype.encrypt = function(plaintext) {\n if (plaintext.length != 16) {\n throw new Error('invalid plaintext size (must be 16 bytes)');\n }\n\n var rounds = this._Ke.length - 1;\n var a = [0, 0, 0, 0];\n\n // convert plaintext to (ints ^ key)\n var t = convertToInt32(plaintext);\n for (var i = 0; i < 4; i++) {\n t[i] ^= this._Ke[0][i];\n }\n\n // apply round transforms\n for (var r = 1; r < rounds; r++) {\n for (var i = 0; i < 4; i++) {\n a[i] = (T1[(t[ i ] >> 24) & 0xff] ^\n T2[(t[(i + 1) % 4] >> 16) & 0xff] ^\n T3[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T4[ t[(i + 3) % 4] & 0xff] ^\n this._Ke[r][i]);\n }\n t = a.slice();\n }\n\n // the last round is special\n var result = createArray(16), tt;\n for (var i = 0; i < 4; i++) {\n tt = this._Ke[rounds][i];\n result[4 * i ] = (S[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (S[(t[(i + 1) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (S[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (S[ t[(i + 3) % 4] & 0xff] ^ tt ) & 0xff;\n }\n\n return result;\n }\n\n AES.prototype.decrypt = function(ciphertext) {\n if (ciphertext.length != 16) {\n throw new Error('invalid ciphertext size (must be 16 bytes)');\n }\n\n var rounds = this._Kd.length - 1;\n var a = [0, 0, 0, 0];\n\n // convert plaintext to (ints ^ key)\n var t = convertToInt32(ciphertext);\n for (var i = 0; i < 4; i++) {\n t[i] ^= this._Kd[0][i];\n }\n\n // apply round transforms\n for (var r = 1; r < rounds; r++) {\n for (var i = 0; i < 4; i++) {\n a[i] = (T5[(t[ i ] >> 24) & 0xff] ^\n T6[(t[(i + 3) % 4] >> 16) & 0xff] ^\n T7[(t[(i + 2) % 4] >> 8) & 0xff] ^\n T8[ t[(i + 1) % 4] & 0xff] ^\n this._Kd[r][i]);\n }\n t = a.slice();\n }\n\n // the last round is special\n var result = createArray(16), tt;\n for (var i = 0; i < 4; i++) {\n tt = this._Kd[rounds][i];\n result[4 * i ] = (Si[(t[ i ] >> 24) & 0xff] ^ (tt >> 24)) & 0xff;\n result[4 * i + 1] = (Si[(t[(i + 3) % 4] >> 16) & 0xff] ^ (tt >> 16)) & 0xff;\n result[4 * i + 2] = (Si[(t[(i + 2) % 4] >> 8) & 0xff] ^ (tt >> 8)) & 0xff;\n result[4 * i + 3] = (Si[ t[(i + 1) % 4] & 0xff] ^ tt ) & 0xff;\n }\n\n return result;\n }\n\n\n /**\n * Mode Of Operation - Electonic Codebook (ECB)\n */\n var ModeOfOperationECB = function(key) {\n if (!(this instanceof ModeOfOperationECB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Electronic Code Block\";\n this.name = \"ecb\";\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationECB.prototype.encrypt = function(plaintext) {\n plaintext = coerceArray(plaintext);\n\n if ((plaintext.length % 16) !== 0) {\n throw new Error('invalid plaintext size (must be multiple of 16 bytes)');\n }\n\n var ciphertext = createArray(plaintext.length);\n var block = createArray(16);\n\n for (var i = 0; i < plaintext.length; i += 16) {\n copyArray(plaintext, block, 0, i, i + 16);\n block = this._aes.encrypt(block);\n copyArray(block, ciphertext, i);\n }\n\n return ciphertext;\n }\n\n ModeOfOperationECB.prototype.decrypt = function(ciphertext) {\n ciphertext = coerceArray(ciphertext);\n\n if ((ciphertext.length % 16) !== 0) {\n throw new Error('invalid ciphertext size (must be multiple of 16 bytes)');\n }\n\n var plaintext = createArray(ciphertext.length);\n var block = createArray(16);\n\n for (var i = 0; i < ciphertext.length; i += 16) {\n copyArray(ciphertext, block, 0, i, i + 16);\n block = this._aes.decrypt(block);\n copyArray(block, plaintext, i);\n }\n\n return plaintext;\n }\n\n\n /**\n * Mode Of Operation - Cipher Block Chaining (CBC)\n */\n var ModeOfOperationCBC = function(key, iv) {\n if (!(this instanceof ModeOfOperationCBC)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Cipher Block Chaining\";\n this.name = \"cbc\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 bytes)');\n }\n\n this._lastCipherblock = coerceArray(iv, true);\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCBC.prototype.encrypt = function(plaintext) {\n plaintext = coerceArray(plaintext);\n\n if ((plaintext.length % 16) !== 0) {\n throw new Error('invalid plaintext size (must be multiple of 16 bytes)');\n }\n\n var ciphertext = createArray(plaintext.length);\n var block = createArray(16);\n\n for (var i = 0; i < plaintext.length; i += 16) {\n copyArray(plaintext, block, 0, i, i + 16);\n\n for (var j = 0; j < 16; j++) {\n block[j] ^= this._lastCipherblock[j];\n }\n\n this._lastCipherblock = this._aes.encrypt(block);\n copyArray(this._lastCipherblock, ciphertext, i);\n }\n\n return ciphertext;\n }\n\n ModeOfOperationCBC.prototype.decrypt = function(ciphertext) {\n ciphertext = coerceArray(ciphertext);\n\n if ((ciphertext.length % 16) !== 0) {\n throw new Error('invalid ciphertext size (must be multiple of 16 bytes)');\n }\n\n var plaintext = createArray(ciphertext.length);\n var block = createArray(16);\n\n for (var i = 0; i < ciphertext.length; i += 16) {\n copyArray(ciphertext, block, 0, i, i + 16);\n block = this._aes.decrypt(block);\n\n for (var j = 0; j < 16; j++) {\n plaintext[i + j] = block[j] ^ this._lastCipherblock[j];\n }\n\n copyArray(ciphertext, this._lastCipherblock, 0, i, i + 16);\n }\n\n return plaintext;\n }\n\n\n /**\n * Mode Of Operation - Cipher Feedback (CFB)\n */\n var ModeOfOperationCFB = function(key, iv, segmentSize) {\n if (!(this instanceof ModeOfOperationCFB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Cipher Feedback\";\n this.name = \"cfb\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 size)');\n }\n\n if (!segmentSize) { segmentSize = 1; }\n\n this.segmentSize = segmentSize;\n\n this._shiftRegister = coerceArray(iv, true);\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCFB.prototype.encrypt = function(plaintext) {\n if ((plaintext.length % this.segmentSize) != 0) {\n throw new Error('invalid plaintext size (must be segmentSize bytes)');\n }\n\n var encrypted = coerceArray(plaintext, true);\n\n var xorSegment;\n for (var i = 0; i < encrypted.length; i += this.segmentSize) {\n xorSegment = this._aes.encrypt(this._shiftRegister);\n for (var j = 0; j < this.segmentSize; j++) {\n encrypted[i + j] ^= xorSegment[j];\n }\n\n // Shift the register\n copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);\n copyArray(encrypted, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);\n }\n\n return encrypted;\n }\n\n ModeOfOperationCFB.prototype.decrypt = function(ciphertext) {\n if ((ciphertext.length % this.segmentSize) != 0) {\n throw new Error('invalid ciphertext size (must be segmentSize bytes)');\n }\n\n var plaintext = coerceArray(ciphertext, true);\n\n var xorSegment;\n for (var i = 0; i < plaintext.length; i += this.segmentSize) {\n xorSegment = this._aes.encrypt(this._shiftRegister);\n\n for (var j = 0; j < this.segmentSize; j++) {\n plaintext[i + j] ^= xorSegment[j];\n }\n\n // Shift the register\n copyArray(this._shiftRegister, this._shiftRegister, 0, this.segmentSize);\n copyArray(ciphertext, this._shiftRegister, 16 - this.segmentSize, i, i + this.segmentSize);\n }\n\n return plaintext;\n }\n\n /**\n * Mode Of Operation - Output Feedback (OFB)\n */\n var ModeOfOperationOFB = function(key, iv) {\n if (!(this instanceof ModeOfOperationOFB)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Output Feedback\";\n this.name = \"ofb\";\n\n if (!iv) {\n iv = createArray(16);\n\n } else if (iv.length != 16) {\n throw new Error('invalid initialation vector size (must be 16 bytes)');\n }\n\n this._lastPrecipher = coerceArray(iv, true);\n this._lastPrecipherIndex = 16;\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationOFB.prototype.encrypt = function(plaintext) {\n var encrypted = coerceArray(plaintext, true);\n\n for (var i = 0; i < encrypted.length; i++) {\n if (this._lastPrecipherIndex === 16) {\n this._lastPrecipher = this._aes.encrypt(this._lastPrecipher);\n this._lastPrecipherIndex = 0;\n }\n encrypted[i] ^= this._lastPrecipher[this._lastPrecipherIndex++];\n }\n\n return encrypted;\n }\n\n // Decryption is symetric\n ModeOfOperationOFB.prototype.decrypt = ModeOfOperationOFB.prototype.encrypt;\n\n\n /**\n * Counter object for CTR common mode of operation\n */\n var Counter = function(initialValue) {\n if (!(this instanceof Counter)) {\n throw Error('Counter must be instanitated with `new`');\n }\n\n // We allow 0, but anything false-ish uses the default 1\n if (initialValue !== 0 && !initialValue) { initialValue = 1; }\n\n if (typeof(initialValue) === 'number') {\n this._counter = createArray(16);\n this.setValue(initialValue);\n\n } else {\n this.setBytes(initialValue);\n }\n }\n\n Counter.prototype.setValue = function(value) {\n if (typeof(value) !== 'number' || parseInt(value) != value) {\n throw new Error('invalid counter value (must be an integer)');\n }\n\n for (var index = 15; index >= 0; --index) {\n this._counter[index] = value % 256;\n value = value >> 8;\n }\n }\n\n Counter.prototype.setBytes = function(bytes) {\n bytes = coerceArray(bytes, true);\n\n if (bytes.length != 16) {\n throw new Error('invalid counter bytes size (must be 16 bytes)');\n }\n\n this._counter = bytes;\n };\n\n Counter.prototype.increment = function() {\n for (var i = 15; i >= 0; i--) {\n if (this._counter[i] === 255) {\n this._counter[i] = 0;\n } else {\n this._counter[i]++;\n break;\n }\n }\n }\n\n\n /**\n * Mode Of Operation - Counter (CTR)\n */\n var ModeOfOperationCTR = function(key, counter) {\n if (!(this instanceof ModeOfOperationCTR)) {\n throw Error('AES must be instanitated with `new`');\n }\n\n this.description = \"Counter\";\n this.name = \"ctr\";\n\n if (!(counter instanceof Counter)) {\n counter = new Counter(counter)\n }\n\n this._counter = counter;\n\n this._remainingCounter = null;\n this._remainingCounterIndex = 16;\n\n this._aes = new AES(key);\n }\n\n ModeOfOperationCTR.prototype.encrypt = function(plaintext) {\n var encrypted = coerceArray(plaintext, true);\n\n for (var i = 0; i < encrypted.length; i++) {\n if (this._remainingCounterIndex === 16) {\n this._remainingCounter = this._aes.encrypt(this._counter._counter);\n this._remainingCounterIndex = 0;\n this._counter.increment();\n }\n encrypted[i] ^= this._remainingCounter[this._remainingCounterIndex++];\n }\n\n return encrypted;\n }\n\n // Decryption is symetric\n ModeOfOperationCTR.prototype.decrypt = ModeOfOperationCTR.prototype.encrypt;\n\n\n ///////////////////////\n // Padding\n\n // See:https://tools.ietf.org/html/rfc2315\n function pkcs7pad(data) {\n data = coerceArray(data, true);\n var padder = 16 - (data.length % 16);\n var result = createArray(data.length + padder);\n copyArray(data, result);\n for (var i = data.length; i < result.length; i++) {\n result[i] = padder;\n }\n return result;\n }\n\n function pkcs7strip(data) {\n data = coerceArray(data, true);\n if (data.length < 16) { throw new Error('PKCS#7 invalid length'); }\n\n var padder = data[data.length - 1];\n if (padder > 16) { throw new Error('PKCS#7 padding byte out of range'); }\n\n var length = data.length - padder;\n for (var i = 0; i < padder; i++) {\n if (data[length + i] !== padder) {\n throw new Error('PKCS#7 invalid padding byte');\n }\n }\n\n var result = createArray(length);\n copyArray(data, result, 0, 0, length);\n return result;\n }\n\n ///////////////////////\n // Exporting\n\n\n // The block cipher\n var aesjs = {\n AES: AES,\n Counter: Counter,\n\n ModeOfOperation: {\n ecb: ModeOfOperationECB,\n cbc: ModeOfOperationCBC,\n cfb: ModeOfOperationCFB,\n ofb: ModeOfOperationOFB,\n ctr: ModeOfOperationCTR\n },\n\n utils: {\n hex: convertHex,\n utf8: convertUtf8\n },\n\n padding: {\n pkcs7: {\n pad: pkcs7pad,\n strip: pkcs7strip\n }\n },\n\n _arrayTest: {\n coerceArray: coerceArray,\n createArray: createArray,\n copyArray: copyArray,\n }\n };\n\n\n // node.js\n if (typeof exports !== 'undefined') {\n module.exports = aesjs\n\n // RequireJS/AMD\n // http://www.requirejs.org/docs/api.html\n // https://github.com/amdjs/amdjs-api/wiki/AMD\n } else if (typeof(define) === 'function' && define.amd) {\n define(aesjs);\n\n // Web Browsers\n } else {\n\n // If there was an existing library at \"aesjs\" make sure it's still available\n if (root.aesjs) {\n aesjs._aesjs = root.aesjs;\n }\n\n root.aesjs = aesjs;\n }\n\n\n})(this);\n","export const version = \"json-wallets/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"json-wallets/5.7.0\";\n","\"use strict\";\nimport { arrayify, hexlify } from \"@ethersproject/bytes\";\nimport { toUtf8Bytes, UnicodeNormalizationForm } from '@ethersproject/strings';\nexport function looseArrayify(hexString) {\n if (typeof (hexString) === 'string' && hexString.substring(0, 2) !== '0x') {\n hexString = '0x' + hexString;\n }\n return arrayify(hexString);\n}\nexport function zpad(value, length) {\n value = String(value);\n while (value.length < length) {\n value = '0' + value;\n }\n return value;\n}\nexport function getPassword(password) {\n if (typeof (password) === 'string') {\n return toUtf8Bytes(password, UnicodeNormalizationForm.NFKC);\n }\n return arrayify(password);\n}\nexport function searchPath(object, path) {\n let currentChild = object;\n const comps = path.toLowerCase().split('/');\n for (let i = 0; i < comps.length; i++) {\n // Search for a child object with a case-insensitive matching key\n let matchingChild = null;\n for (const key in currentChild) {\n if (key.toLowerCase() === comps[i]) {\n matchingChild = currentChild[key];\n break;\n }\n }\n // Didn't find one. :'(\n if (matchingChild === null) {\n return null;\n }\n // Now check this child...\n currentChild = matchingChild;\n }\n return currentChild;\n}\n// See: https://www.ietf.org/rfc/rfc4122.txt (Section 4.4)\nexport function uuidV4(randomBytes) {\n const bytes = arrayify(randomBytes);\n // Section: 4.1.3:\n // - time_hi_and_version[12:16] = 0b0100\n bytes[6] = (bytes[6] & 0x0f) | 0x40;\n // Section 4.4\n // - clock_seq_hi_and_reserved[6] = 0b0\n // - clock_seq_hi_and_reserved[7] = 0b1\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n const value = hexlify(bytes);\n return [\n value.substring(2, 10),\n value.substring(10, 14),\n value.substring(14, 18),\n value.substring(18, 22),\n value.substring(22, 34),\n ].join(\"-\");\n}\n//# sourceMappingURL=utils.js.map","\"use strict\";\n\nimport { arrayify, Bytes, BytesLike, hexlify } from \"@ethersproject/bytes\";\nimport { toUtf8Bytes, UnicodeNormalizationForm } from '@ethersproject/strings';\n\nexport function looseArrayify(hexString: string): Uint8Array {\n if (typeof(hexString) === 'string' && hexString.substring(0, 2) !== '0x') {\n hexString = '0x' + hexString;\n }\n return arrayify(hexString);\n}\n\nexport function zpad(value: String | number, length: number): String {\n value = String(value);\n while (value.length < length) { value = '0' + value; }\n return value;\n}\n\nexport function getPassword(password: Bytes | string): Uint8Array {\n if (typeof(password) === 'string') {\n return toUtf8Bytes(password, UnicodeNormalizationForm.NFKC);\n }\n return arrayify(password);\n}\n\nexport function searchPath(object: any, path: string): string {\n let currentChild = object;\n\n const comps = path.toLowerCase().split('/');\n for (let i = 0; i < comps.length; i++) {\n\n // Search for a child object with a case-insensitive matching key\n let matchingChild = null;\n for (const key in currentChild) {\n if (key.toLowerCase() === comps[i]) {\n matchingChild = currentChild[key];\n break;\n }\n }\n\n // Didn't find one. :'(\n if (matchingChild === null) {\n return null;\n }\n\n // Now check this child...\n currentChild = matchingChild;\n }\n\n return currentChild;\n}\n\n// See: https://www.ietf.org/rfc/rfc4122.txt (Section 4.4)\nexport function uuidV4(randomBytes: BytesLike): string {\n const bytes = arrayify(randomBytes);\n\n // Section: 4.1.3:\n // - time_hi_and_version[12:16] = 0b0100\n bytes[6] = (bytes[6] & 0x0f) | 0x40;\n\n // Section 4.4\n // - clock_seq_hi_and_reserved[6] = 0b0\n // - clock_seq_hi_and_reserved[7] = 0b1\n bytes[8] = (bytes[8] & 0x3f) | 0x80;\n\n const value = hexlify(bytes);\n\n return [\n value.substring(2, 10),\n value.substring(10, 14),\n value.substring(14, 18),\n value.substring(18, 22),\n value.substring(22, 34),\n ].join(\"-\");\n}\n\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport aes from \"aes-js\";\nimport scrypt from \"scrypt-js\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { arrayify, concat, hexlify } from \"@ethersproject/bytes\";\nimport { defaultPath, entropyToMnemonic, HDNode, mnemonicToEntropy } from \"@ethersproject/hdnode\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { pbkdf2 as _pbkdf2 } from \"@ethersproject/pbkdf2\";\nimport { randomBytes } from \"@ethersproject/random\";\nimport { Description } from \"@ethersproject/properties\";\nimport { computeAddress } from \"@ethersproject/transactions\";\nimport { getPassword, looseArrayify, searchPath, uuidV4, zpad } from \"./utils\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n// Exported Types\nfunction hasMnemonic(value) {\n return (value != null && value.mnemonic && value.mnemonic.phrase);\n}\nexport class KeystoreAccount extends Description {\n isKeystoreAccount(value) {\n return !!(value && value._isKeystoreAccount);\n }\n}\nfunction _decrypt(data, key, ciphertext) {\n const cipher = searchPath(data, \"crypto/cipher\");\n if (cipher === \"aes-128-ctr\") {\n const iv = looseArrayify(searchPath(data, \"crypto/cipherparams/iv\"));\n const counter = new aes.Counter(iv);\n const aesCtr = new aes.ModeOfOperation.ctr(key, counter);\n return arrayify(aesCtr.decrypt(ciphertext));\n }\n return null;\n}\nfunction _getAccount(data, key) {\n const ciphertext = looseArrayify(searchPath(data, \"crypto/ciphertext\"));\n const computedMAC = hexlify(keccak256(concat([key.slice(16, 32), ciphertext]))).substring(2);\n if (computedMAC !== searchPath(data, \"crypto/mac\").toLowerCase()) {\n throw new Error(\"invalid password\");\n }\n const privateKey = _decrypt(data, key.slice(0, 16), ciphertext);\n if (!privateKey) {\n logger.throwError(\"unsupported cipher\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"decrypt\"\n });\n }\n const mnemonicKey = key.slice(32, 64);\n const address = computeAddress(privateKey);\n if (data.address) {\n let check = data.address.toLowerCase();\n if (check.substring(0, 2) !== \"0x\") {\n check = \"0x\" + check;\n }\n if (getAddress(check) !== address) {\n throw new Error(\"address mismatch\");\n }\n }\n const account = {\n _isKeystoreAccount: true,\n address: address,\n privateKey: hexlify(privateKey)\n };\n // Version 0.1 x-ethers metadata must contain an encrypted mnemonic phrase\n if (searchPath(data, \"x-ethers/version\") === \"0.1\") {\n const mnemonicCiphertext = looseArrayify(searchPath(data, \"x-ethers/mnemonicCiphertext\"));\n const mnemonicIv = looseArrayify(searchPath(data, \"x-ethers/mnemonicCounter\"));\n const mnemonicCounter = new aes.Counter(mnemonicIv);\n const mnemonicAesCtr = new aes.ModeOfOperation.ctr(mnemonicKey, mnemonicCounter);\n const path = searchPath(data, \"x-ethers/path\") || defaultPath;\n const locale = searchPath(data, \"x-ethers/locale\") || \"en\";\n const entropy = arrayify(mnemonicAesCtr.decrypt(mnemonicCiphertext));\n try {\n const mnemonic = entropyToMnemonic(entropy, locale);\n const node = HDNode.fromMnemonic(mnemonic, null, locale).derivePath(path);\n if (node.privateKey != account.privateKey) {\n throw new Error(\"mnemonic mismatch\");\n }\n account.mnemonic = node.mnemonic;\n }\n catch (error) {\n // If we don't have the locale wordlist installed to\n // read this mnemonic, just bail and don't set the\n // mnemonic\n if (error.code !== Logger.errors.INVALID_ARGUMENT || error.argument !== \"wordlist\") {\n throw error;\n }\n }\n }\n return new KeystoreAccount(account);\n}\nfunction pbkdf2Sync(passwordBytes, salt, count, dkLen, prfFunc) {\n return arrayify(_pbkdf2(passwordBytes, salt, count, dkLen, prfFunc));\n}\nfunction pbkdf2(passwordBytes, salt, count, dkLen, prfFunc) {\n return Promise.resolve(pbkdf2Sync(passwordBytes, salt, count, dkLen, prfFunc));\n}\nfunction _computeKdfKey(data, password, pbkdf2Func, scryptFunc, progressCallback) {\n const passwordBytes = getPassword(password);\n const kdf = searchPath(data, \"crypto/kdf\");\n if (kdf && typeof (kdf) === \"string\") {\n const throwError = function (name, value) {\n return logger.throwArgumentError(\"invalid key-derivation function parameters\", name, value);\n };\n if (kdf.toLowerCase() === \"scrypt\") {\n const salt = looseArrayify(searchPath(data, \"crypto/kdfparams/salt\"));\n const N = parseInt(searchPath(data, \"crypto/kdfparams/n\"));\n const r = parseInt(searchPath(data, \"crypto/kdfparams/r\"));\n const p = parseInt(searchPath(data, \"crypto/kdfparams/p\"));\n // Check for all required parameters\n if (!N || !r || !p) {\n throwError(\"kdf\", kdf);\n }\n // Make sure N is a power of 2\n if ((N & (N - 1)) !== 0) {\n throwError(\"N\", N);\n }\n const dkLen = parseInt(searchPath(data, \"crypto/kdfparams/dklen\"));\n if (dkLen !== 32) {\n throwError(\"dklen\", dkLen);\n }\n return scryptFunc(passwordBytes, salt, N, r, p, 64, progressCallback);\n }\n else if (kdf.toLowerCase() === \"pbkdf2\") {\n const salt = looseArrayify(searchPath(data, \"crypto/kdfparams/salt\"));\n let prfFunc = null;\n const prf = searchPath(data, \"crypto/kdfparams/prf\");\n if (prf === \"hmac-sha256\") {\n prfFunc = \"sha256\";\n }\n else if (prf === \"hmac-sha512\") {\n prfFunc = \"sha512\";\n }\n else {\n throwError(\"prf\", prf);\n }\n const count = parseInt(searchPath(data, \"crypto/kdfparams/c\"));\n const dkLen = parseInt(searchPath(data, \"crypto/kdfparams/dklen\"));\n if (dkLen !== 32) {\n throwError(\"dklen\", dkLen);\n }\n return pbkdf2Func(passwordBytes, salt, count, dkLen, prfFunc);\n }\n }\n return logger.throwArgumentError(\"unsupported key-derivation function\", \"kdf\", kdf);\n}\nexport function decryptSync(json, password) {\n const data = JSON.parse(json);\n const key = _computeKdfKey(data, password, pbkdf2Sync, scrypt.syncScrypt);\n return _getAccount(data, key);\n}\nexport function decrypt(json, password, progressCallback) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = JSON.parse(json);\n const key = yield _computeKdfKey(data, password, pbkdf2, scrypt.scrypt, progressCallback);\n return _getAccount(data, key);\n });\n}\nexport function encrypt(account, password, options, progressCallback) {\n try {\n // Check the address matches the private key\n if (getAddress(account.address) !== computeAddress(account.privateKey)) {\n throw new Error(\"address/privateKey mismatch\");\n }\n // Check the mnemonic (if any) matches the private key\n if (hasMnemonic(account)) {\n const mnemonic = account.mnemonic;\n const node = HDNode.fromMnemonic(mnemonic.phrase, null, mnemonic.locale).derivePath(mnemonic.path || defaultPath);\n if (node.privateKey != account.privateKey) {\n throw new Error(\"mnemonic mismatch\");\n }\n }\n }\n catch (e) {\n return Promise.reject(e);\n }\n // The options are optional, so adjust the call as needed\n if (typeof (options) === \"function\" && !progressCallback) {\n progressCallback = options;\n options = {};\n }\n if (!options) {\n options = {};\n }\n const privateKey = arrayify(account.privateKey);\n const passwordBytes = getPassword(password);\n let entropy = null;\n let path = null;\n let locale = null;\n if (hasMnemonic(account)) {\n const srcMnemonic = account.mnemonic;\n entropy = arrayify(mnemonicToEntropy(srcMnemonic.phrase, srcMnemonic.locale || \"en\"));\n path = srcMnemonic.path || defaultPath;\n locale = srcMnemonic.locale || \"en\";\n }\n let client = options.client;\n if (!client) {\n client = \"ethers.js\";\n }\n // Check/generate the salt\n let salt = null;\n if (options.salt) {\n salt = arrayify(options.salt);\n }\n else {\n salt = randomBytes(32);\n ;\n }\n // Override initialization vector\n let iv = null;\n if (options.iv) {\n iv = arrayify(options.iv);\n if (iv.length !== 16) {\n throw new Error(\"invalid iv\");\n }\n }\n else {\n iv = randomBytes(16);\n }\n // Override the uuid\n let uuidRandom = null;\n if (options.uuid) {\n uuidRandom = arrayify(options.uuid);\n if (uuidRandom.length !== 16) {\n throw new Error(\"invalid uuid\");\n }\n }\n else {\n uuidRandom = randomBytes(16);\n }\n // Override the scrypt password-based key derivation function parameters\n let N = (1 << 17), r = 8, p = 1;\n if (options.scrypt) {\n if (options.scrypt.N) {\n N = options.scrypt.N;\n }\n if (options.scrypt.r) {\n r = options.scrypt.r;\n }\n if (options.scrypt.p) {\n p = options.scrypt.p;\n }\n }\n // We take 64 bytes:\n // - 32 bytes As normal for the Web3 secret storage (derivedKey, macPrefix)\n // - 32 bytes AES key to encrypt mnemonic with (required here to be Ethers Wallet)\n return scrypt.scrypt(passwordBytes, salt, N, r, p, 64, progressCallback).then((key) => {\n key = arrayify(key);\n // This will be used to encrypt the wallet (as per Web3 secret storage)\n const derivedKey = key.slice(0, 16);\n const macPrefix = key.slice(16, 32);\n // This will be used to encrypt the mnemonic phrase (if any)\n const mnemonicKey = key.slice(32, 64);\n // Encrypt the private key\n const counter = new aes.Counter(iv);\n const aesCtr = new aes.ModeOfOperation.ctr(derivedKey, counter);\n const ciphertext = arrayify(aesCtr.encrypt(privateKey));\n // Compute the message authentication code, used to check the password\n const mac = keccak256(concat([macPrefix, ciphertext]));\n // See: https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition\n const data = {\n address: account.address.substring(2).toLowerCase(),\n id: uuidV4(uuidRandom),\n version: 3,\n crypto: {\n cipher: \"aes-128-ctr\",\n cipherparams: {\n iv: hexlify(iv).substring(2),\n },\n ciphertext: hexlify(ciphertext).substring(2),\n kdf: \"scrypt\",\n kdfparams: {\n salt: hexlify(salt).substring(2),\n n: N,\n dklen: 32,\n p: p,\n r: r\n },\n mac: mac.substring(2)\n }\n };\n // If we have a mnemonic, encrypt it into the JSON wallet\n if (entropy) {\n const mnemonicIv = randomBytes(16);\n const mnemonicCounter = new aes.Counter(mnemonicIv);\n const mnemonicAesCtr = new aes.ModeOfOperation.ctr(mnemonicKey, mnemonicCounter);\n const mnemonicCiphertext = arrayify(mnemonicAesCtr.encrypt(entropy));\n const now = new Date();\n const timestamp = (now.getUTCFullYear() + \"-\" +\n zpad(now.getUTCMonth() + 1, 2) + \"-\" +\n zpad(now.getUTCDate(), 2) + \"T\" +\n zpad(now.getUTCHours(), 2) + \"-\" +\n zpad(now.getUTCMinutes(), 2) + \"-\" +\n zpad(now.getUTCSeconds(), 2) + \".0Z\");\n data[\"x-ethers\"] = {\n client: client,\n gethFilename: (\"UTC--\" + timestamp + \"--\" + data.address),\n mnemonicCounter: hexlify(mnemonicIv).substring(2),\n mnemonicCiphertext: hexlify(mnemonicCiphertext).substring(2),\n path: path,\n locale: locale,\n version: \"0.1\"\n };\n }\n return JSON.stringify(data);\n });\n}\n//# sourceMappingURL=keystore.js.map","\"use strict\";\n\nimport aes from \"aes-js\";\nimport scrypt from \"scrypt-js\";\n\nimport { ExternallyOwnedAccount } from \"@ethersproject/abstract-signer\";\nimport { getAddress } from \"@ethersproject/address\";\nimport { arrayify, Bytes, BytesLike, concat, hexlify } from \"@ethersproject/bytes\";\nimport { defaultPath, entropyToMnemonic, HDNode, Mnemonic, mnemonicToEntropy } from \"@ethersproject/hdnode\";\nimport { keccak256 } from \"@ethersproject/keccak256\";\nimport { pbkdf2 as _pbkdf2 } from \"@ethersproject/pbkdf2\";\nimport { randomBytes } from \"@ethersproject/random\";\nimport { Description } from \"@ethersproject/properties\";\nimport { computeAddress } from \"@ethersproject/transactions\";\n\nimport { getPassword, looseArrayify, searchPath, uuidV4, zpad } from \"./utils\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n// Exported Types\n\nfunction hasMnemonic(value: any): value is { mnemonic: Mnemonic } {\n return (value != null && value.mnemonic && value.mnemonic.phrase);\n}\n\nexport interface _KeystoreAccount {\n address: string;\n privateKey: string;\n mnemonic?: Mnemonic;\n\n _isKeystoreAccount: boolean;\n}\n\nexport class KeystoreAccount extends Description<_KeystoreAccount> implements ExternallyOwnedAccount {\n readonly address: string;\n readonly privateKey: string;\n readonly mnemonic?: Mnemonic;\n\n readonly _isKeystoreAccount: boolean;\n\n isKeystoreAccount(value: any): value is KeystoreAccount {\n return !!(value && value._isKeystoreAccount);\n }\n}\n\nexport type ProgressCallback = (percent: number) => void;\n\nexport type EncryptOptions = {\n iv?: BytesLike;\n entropy?: BytesLike;\n client?: string;\n salt?: BytesLike;\n uuid?: string;\n scrypt?: {\n N?: number;\n r?: number;\n p?: number;\n }\n}\n\nfunction _decrypt(data: any, key: Uint8Array, ciphertext: Uint8Array): Uint8Array {\n const cipher = searchPath(data, \"crypto/cipher\");\n if (cipher === \"aes-128-ctr\") {\n const iv = looseArrayify(searchPath(data, \"crypto/cipherparams/iv\"))\n const counter = new aes.Counter(iv);\n\n const aesCtr = new aes.ModeOfOperation.ctr(key, counter);\n\n return arrayify(aesCtr.decrypt(ciphertext));\n }\n\n return null;\n}\n\nfunction _getAccount(data: any, key: Uint8Array): KeystoreAccount {\n const ciphertext = looseArrayify(searchPath(data, \"crypto/ciphertext\"));\n\n const computedMAC = hexlify(keccak256(concat([ key.slice(16, 32), ciphertext ]))).substring(2);\n if (computedMAC !== searchPath(data, \"crypto/mac\").toLowerCase()) {\n throw new Error(\"invalid password\");\n }\n\n const privateKey = _decrypt(data, key.slice(0, 16), ciphertext);\n\n if (!privateKey) {\n logger.throwError(\"unsupported cipher\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"decrypt\"\n });\n }\n\n const mnemonicKey = key.slice(32, 64);\n\n const address = computeAddress(privateKey);\n if (data.address) {\n let check = data.address.toLowerCase();\n if (check.substring(0, 2) !== \"0x\") { check = \"0x\" + check; }\n\n if (getAddress(check) !== address) {\n throw new Error(\"address mismatch\");\n }\n }\n\n const account: _KeystoreAccount = {\n _isKeystoreAccount: true,\n address: address,\n privateKey: hexlify(privateKey)\n };\n\n // Version 0.1 x-ethers metadata must contain an encrypted mnemonic phrase\n if (searchPath(data, \"x-ethers/version\") === \"0.1\") {\n const mnemonicCiphertext = looseArrayify(searchPath(data, \"x-ethers/mnemonicCiphertext\"));\n const mnemonicIv = looseArrayify(searchPath(data, \"x-ethers/mnemonicCounter\"));\n\n const mnemonicCounter = new aes.Counter(mnemonicIv);\n const mnemonicAesCtr = new aes.ModeOfOperation.ctr(mnemonicKey, mnemonicCounter);\n\n const path = searchPath(data, \"x-ethers/path\") || defaultPath;\n const locale = searchPath(data, \"x-ethers/locale\") || \"en\";\n\n const entropy = arrayify(mnemonicAesCtr.decrypt(mnemonicCiphertext));\n\n try {\n const mnemonic = entropyToMnemonic(entropy, locale);\n const node = HDNode.fromMnemonic(mnemonic, null, locale).derivePath(path);\n\n if (node.privateKey != account.privateKey) {\n throw new Error(\"mnemonic mismatch\");\n }\n\n account.mnemonic = node.mnemonic;\n\n } catch (error) {\n // If we don't have the locale wordlist installed to\n // read this mnemonic, just bail and don't set the\n // mnemonic\n if (error.code !== Logger.errors.INVALID_ARGUMENT || error.argument !== \"wordlist\") {\n throw error;\n }\n }\n }\n\n return new KeystoreAccount(account);\n}\n\ntype ScryptFunc = (pw: Uint8Array, salt: Uint8Array, n: number, r: number, p: number, dkLen: number, callback?: ProgressCallback) => T;\ntype Pbkdf2Func = (pw: Uint8Array, salt: Uint8Array, c: number, dkLen: number, prfFunc: string) => T;\n\nfunction pbkdf2Sync(passwordBytes: Uint8Array, salt: Uint8Array, count: number, dkLen: number, prfFunc: string): Uint8Array {\n return arrayify(_pbkdf2(passwordBytes, salt, count, dkLen, prfFunc));\n}\n\nfunction pbkdf2(passwordBytes: Uint8Array, salt: Uint8Array, count: number, dkLen: number, prfFunc: string): Promise {\n return Promise.resolve(pbkdf2Sync(passwordBytes, salt, count, dkLen, prfFunc));\n}\n\nfunction _computeKdfKey(data: any, password: Bytes | string, pbkdf2Func: Pbkdf2Func, scryptFunc: ScryptFunc, progressCallback?: ProgressCallback): T {\n const passwordBytes = getPassword(password);\n\n const kdf = searchPath(data, \"crypto/kdf\");\n\n if (kdf && typeof(kdf) === \"string\") {\n const throwError = function(name: string, value: any): never {\n return logger.throwArgumentError(\"invalid key-derivation function parameters\", name, value);\n }\n\n if (kdf.toLowerCase() === \"scrypt\") {\n const salt = looseArrayify(searchPath(data, \"crypto/kdfparams/salt\"));\n const N = parseInt(searchPath(data, \"crypto/kdfparams/n\"));\n const r = parseInt(searchPath(data, \"crypto/kdfparams/r\"));\n const p = parseInt(searchPath(data, \"crypto/kdfparams/p\"));\n\n // Check for all required parameters\n if (!N || !r || !p) { throwError(\"kdf\", kdf); }\n\n // Make sure N is a power of 2\n if ((N & (N - 1)) !== 0) { throwError(\"N\", N); }\n\n const dkLen = parseInt(searchPath(data, \"crypto/kdfparams/dklen\"));\n if (dkLen !== 32) { throwError(\"dklen\", dkLen); }\n\n return scryptFunc(passwordBytes, salt, N, r, p, 64, progressCallback);\n\n } else if (kdf.toLowerCase() === \"pbkdf2\") {\n\n const salt = looseArrayify(searchPath(data, \"crypto/kdfparams/salt\"));\n\n let prfFunc: string = null;\n const prf = searchPath(data, \"crypto/kdfparams/prf\");\n if (prf === \"hmac-sha256\") {\n prfFunc = \"sha256\";\n } else if (prf === \"hmac-sha512\") {\n prfFunc = \"sha512\";\n } else {\n throwError(\"prf\", prf);\n }\n\n const count = parseInt(searchPath(data, \"crypto/kdfparams/c\"));\n\n const dkLen = parseInt(searchPath(data, \"crypto/kdfparams/dklen\"));\n if (dkLen !== 32) { throwError(\"dklen\", dkLen); }\n\n return pbkdf2Func(passwordBytes, salt, count, dkLen, prfFunc);\n }\n }\n\n return logger.throwArgumentError(\"unsupported key-derivation function\", \"kdf\", kdf);\n}\n\n\nexport function decryptSync(json: string, password: Bytes | string): KeystoreAccount {\n const data = JSON.parse(json);\n\n const key = _computeKdfKey(data, password, pbkdf2Sync, scrypt.syncScrypt);\n return _getAccount(data, key);\n}\n\nexport async function decrypt(json: string, password: Bytes | string, progressCallback?: ProgressCallback): Promise {\n const data = JSON.parse(json);\n\n const key = await _computeKdfKey(data, password, pbkdf2, scrypt.scrypt, progressCallback);\n return _getAccount(data, key);\n}\n\n\nexport function encrypt(account: ExternallyOwnedAccount, password: Bytes | string, options?: EncryptOptions, progressCallback?: ProgressCallback): Promise {\n\n try {\n // Check the address matches the private key\n if (getAddress(account.address) !== computeAddress(account.privateKey)) {\n throw new Error(\"address/privateKey mismatch\");\n }\n\n // Check the mnemonic (if any) matches the private key\n if (hasMnemonic(account)) {\n const mnemonic = account.mnemonic;\n const node = HDNode.fromMnemonic(mnemonic.phrase, null, mnemonic.locale).derivePath(mnemonic.path || defaultPath);\n\n if (node.privateKey != account.privateKey) {\n throw new Error(\"mnemonic mismatch\");\n }\n }\n\n } catch (e) {\n return Promise.reject(e);\n }\n\n // The options are optional, so adjust the call as needed\n if (typeof(options) === \"function\" && !progressCallback) {\n progressCallback = options;\n options = {};\n }\n if (!options) { options = {}; }\n\n const privateKey: Uint8Array = arrayify(account.privateKey);\n const passwordBytes = getPassword(password);\n\n let entropy: Uint8Array = null\n let path: string = null;\n let locale: string = null;\n if (hasMnemonic(account)) {\n const srcMnemonic = account.mnemonic;\n entropy = arrayify(mnemonicToEntropy(srcMnemonic.phrase, srcMnemonic.locale || \"en\"));\n path = srcMnemonic.path || defaultPath;\n locale = srcMnemonic.locale || \"en\";\n }\n\n let client = options.client;\n if (!client) { client = \"ethers.js\"; }\n\n // Check/generate the salt\n let salt: Uint8Array = null;\n if (options.salt) {\n salt = arrayify(options.salt);\n } else {\n salt = randomBytes(32);;\n }\n\n // Override initialization vector\n let iv: Uint8Array = null;\n if (options.iv) {\n iv = arrayify(options.iv);\n if (iv.length !== 16) { throw new Error(\"invalid iv\"); }\n } else {\n iv = randomBytes(16);\n }\n\n // Override the uuid\n let uuidRandom: Uint8Array = null;\n if (options.uuid) {\n uuidRandom = arrayify(options.uuid);\n if (uuidRandom.length !== 16) { throw new Error(\"invalid uuid\"); }\n } else {\n uuidRandom = randomBytes(16);\n }\n\n // Override the scrypt password-based key derivation function parameters\n let N = (1 << 17), r = 8, p = 1;\n if (options.scrypt) {\n if (options.scrypt.N) { N = options.scrypt.N; }\n if (options.scrypt.r) { r = options.scrypt.r; }\n if (options.scrypt.p) { p = options.scrypt.p; }\n }\n\n // We take 64 bytes:\n // - 32 bytes As normal for the Web3 secret storage (derivedKey, macPrefix)\n // - 32 bytes AES key to encrypt mnemonic with (required here to be Ethers Wallet)\n return scrypt.scrypt(passwordBytes, salt, N, r, p, 64, progressCallback).then((key) => {\n key = arrayify(key);\n\n // This will be used to encrypt the wallet (as per Web3 secret storage)\n const derivedKey = key.slice(0, 16);\n const macPrefix = key.slice(16, 32);\n\n // This will be used to encrypt the mnemonic phrase (if any)\n const mnemonicKey = key.slice(32, 64);\n\n // Encrypt the private key\n const counter = new aes.Counter(iv);\n const aesCtr = new aes.ModeOfOperation.ctr(derivedKey, counter);\n const ciphertext = arrayify(aesCtr.encrypt(privateKey));\n\n // Compute the message authentication code, used to check the password\n const mac = keccak256(concat([macPrefix, ciphertext]))\n\n // See: https://github.com/ethereum/wiki/wiki/Web3-Secret-Storage-Definition\n const data: { [key: string]: any } = {\n address: account.address.substring(2).toLowerCase(),\n id: uuidV4(uuidRandom),\n version: 3,\n crypto: {\n cipher: \"aes-128-ctr\",\n cipherparams: {\n iv: hexlify(iv).substring(2),\n },\n ciphertext: hexlify(ciphertext).substring(2),\n kdf: \"scrypt\",\n kdfparams: {\n salt: hexlify(salt).substring(2),\n n: N,\n dklen: 32,\n p: p,\n r: r\n },\n mac: mac.substring(2)\n }\n };\n\n // If we have a mnemonic, encrypt it into the JSON wallet\n if (entropy) {\n const mnemonicIv = randomBytes(16);\n const mnemonicCounter = new aes.Counter(mnemonicIv);\n const mnemonicAesCtr = new aes.ModeOfOperation.ctr(mnemonicKey, mnemonicCounter);\n const mnemonicCiphertext = arrayify(mnemonicAesCtr.encrypt(entropy));\n const now = new Date();\n const timestamp = (now.getUTCFullYear() + \"-\" +\n zpad(now.getUTCMonth() + 1, 2) + \"-\" +\n zpad(now.getUTCDate(), 2) + \"T\" +\n zpad(now.getUTCHours(), 2) + \"-\" +\n zpad(now.getUTCMinutes(), 2) + \"-\" +\n zpad(now.getUTCSeconds(), 2) + \".0Z\"\n );\n data[\"x-ethers\"] = {\n client: client,\n gethFilename: (\"UTC--\" + timestamp + \"--\" + data.address),\n mnemonicCounter: hexlify(mnemonicIv).substring(2),\n mnemonicCiphertext: hexlify(mnemonicCiphertext).substring(2),\n path: path,\n locale: locale,\n version: \"0.1\"\n };\n }\n\n return JSON.stringify(data);\n });\n}\n","\"use strict\";\n\n(function(root) {\n const MAX_VALUE = 0x7fffffff;\n\n // The SHA256 and PBKDF2 implementation are from scrypt-async-js:\n // See: https://github.com/dchest/scrypt-async-js\n function SHA256(m) {\n const K = new Uint32Array([\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b,\n 0x59f111f1, 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01,\n 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7,\n 0xc19bf174, 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,\n 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da, 0x983e5152,\n 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,\n 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc,\n 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819,\n 0xd6990624, 0xf40e3585, 0x106aa070, 0x19a4c116, 0x1e376c08,\n 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f,\n 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,\n 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n ]);\n\n let h0 = 0x6a09e667, h1 = 0xbb67ae85, h2 = 0x3c6ef372, h3 = 0xa54ff53a;\n let h4 = 0x510e527f, h5 = 0x9b05688c, h6 = 0x1f83d9ab, h7 = 0x5be0cd19;\n const w = new Uint32Array(64);\n\n function blocks(p) {\n let off = 0, len = p.length;\n while (len >= 64) {\n let a = h0, b = h1, c = h2, d = h3, e = h4, f = h5, g = h6, h = h7, u, i, j, t1, t2;\n\n for (i = 0; i < 16; i++) {\n j = off + i*4;\n w[i] = ((p[j] & 0xff)<<24) | ((p[j+1] & 0xff)<<16) |\n ((p[j+2] & 0xff)<<8) | (p[j+3] & 0xff);\n }\n\n for (i = 16; i < 64; i++) {\n u = w[i-2];\n t1 = ((u>>>17) | (u<<(32-17))) ^ ((u>>>19) | (u<<(32-19))) ^ (u>>>10);\n\n u = w[i-15];\n t2 = ((u>>>7) | (u<<(32-7))) ^ ((u>>>18) | (u<<(32-18))) ^ (u>>>3);\n\n w[i] = (((t1 + w[i-7]) | 0) + ((t2 + w[i-16]) | 0)) | 0;\n }\n\n for (i = 0; i < 64; i++) {\n t1 = ((((((e>>>6) | (e<<(32-6))) ^ ((e>>>11) | (e<<(32-11))) ^\n ((e>>>25) | (e<<(32-25)))) + ((e & f) ^ (~e & g))) | 0) +\n ((h + ((K[i] + w[i]) | 0)) | 0)) | 0;\n\n t2 = ((((a>>>2) | (a<<(32-2))) ^ ((a>>>13) | (a<<(32-13))) ^\n ((a>>>22) | (a<<(32-22)))) + ((a & b) ^ (a & c) ^ (b & c))) | 0;\n\n h = g;\n g = f;\n f = e;\n e = (d + t1) | 0;\n d = c;\n c = b;\n b = a;\n a = (t1 + t2) | 0;\n }\n\n h0 = (h0 + a) | 0;\n h1 = (h1 + b) | 0;\n h2 = (h2 + c) | 0;\n h3 = (h3 + d) | 0;\n h4 = (h4 + e) | 0;\n h5 = (h5 + f) | 0;\n h6 = (h6 + g) | 0;\n h7 = (h7 + h) | 0;\n\n off += 64;\n len -= 64;\n }\n }\n\n blocks(m);\n\n let i, bytesLeft = m.length % 64,\n bitLenHi = (m.length / 0x20000000) | 0,\n bitLenLo = m.length << 3,\n numZeros = (bytesLeft < 56) ? 56 : 120,\n p = m.slice(m.length - bytesLeft, m.length);\n\n p.push(0x80);\n for (i = bytesLeft + 1; i < numZeros; i++) { p.push(0); }\n p.push((bitLenHi >>> 24) & 0xff);\n p.push((bitLenHi >>> 16) & 0xff);\n p.push((bitLenHi >>> 8) & 0xff);\n p.push((bitLenHi >>> 0) & 0xff);\n p.push((bitLenLo >>> 24) & 0xff);\n p.push((bitLenLo >>> 16) & 0xff);\n p.push((bitLenLo >>> 8) & 0xff);\n p.push((bitLenLo >>> 0) & 0xff);\n\n blocks(p);\n\n return [\n (h0 >>> 24) & 0xff, (h0 >>> 16) & 0xff, (h0 >>> 8) & 0xff, (h0 >>> 0) & 0xff,\n (h1 >>> 24) & 0xff, (h1 >>> 16) & 0xff, (h1 >>> 8) & 0xff, (h1 >>> 0) & 0xff,\n (h2 >>> 24) & 0xff, (h2 >>> 16) & 0xff, (h2 >>> 8) & 0xff, (h2 >>> 0) & 0xff,\n (h3 >>> 24) & 0xff, (h3 >>> 16) & 0xff, (h3 >>> 8) & 0xff, (h3 >>> 0) & 0xff,\n (h4 >>> 24) & 0xff, (h4 >>> 16) & 0xff, (h4 >>> 8) & 0xff, (h4 >>> 0) & 0xff,\n (h5 >>> 24) & 0xff, (h5 >>> 16) & 0xff, (h5 >>> 8) & 0xff, (h5 >>> 0) & 0xff,\n (h6 >>> 24) & 0xff, (h6 >>> 16) & 0xff, (h6 >>> 8) & 0xff, (h6 >>> 0) & 0xff,\n (h7 >>> 24) & 0xff, (h7 >>> 16) & 0xff, (h7 >>> 8) & 0xff, (h7 >>> 0) & 0xff\n ];\n }\n\n function PBKDF2_HMAC_SHA256_OneIter(password, salt, dkLen) {\n // compress password if it's longer than hash block length\n password = (password.length <= 64) ? password : SHA256(password);\n\n const innerLen = 64 + salt.length + 4;\n const inner = new Array(innerLen);\n const outerKey = new Array(64);\n\n let i;\n let dk = [];\n\n // inner = (password ^ ipad) || salt || counter\n for (i = 0; i < 64; i++) { inner[i] = 0x36; }\n for (i = 0; i < password.length; i++) { inner[i] ^= password[i]; }\n for (i = 0; i < salt.length; i++) { inner[64 + i] = salt[i]; }\n for (i = innerLen - 4; i < innerLen; i++) { inner[i] = 0; }\n\n // outerKey = password ^ opad\n for (i = 0; i < 64; i++) outerKey[i] = 0x5c;\n for (i = 0; i < password.length; i++) outerKey[i] ^= password[i];\n\n // increments counter inside inner\n function incrementCounter() {\n for (let i = innerLen - 1; i >= innerLen - 4; i--) {\n inner[i]++;\n if (inner[i] <= 0xff) return;\n inner[i] = 0;\n }\n }\n\n // output blocks = SHA256(outerKey || SHA256(inner)) ...\n while (dkLen >= 32) {\n incrementCounter();\n dk = dk.concat(SHA256(outerKey.concat(SHA256(inner))));\n dkLen -= 32;\n }\n if (dkLen > 0) {\n incrementCounter();\n dk = dk.concat(SHA256(outerKey.concat(SHA256(inner))).slice(0, dkLen));\n }\n\n return dk;\n }\n\n // The following is an adaptation of scryptsy\n // See: https://www.npmjs.com/package/scryptsy\n function blockmix_salsa8(BY, Yi, r, x, _X) {\n let i;\n\n arraycopy(BY, (2 * r - 1) * 16, _X, 0, 16);\n for (i = 0; i < 2 * r; i++) {\n blockxor(BY, i * 16, _X, 16);\n salsa20_8(_X, x);\n arraycopy(_X, 0, BY, Yi + (i * 16), 16);\n }\n\n for (i = 0; i < r; i++) {\n arraycopy(BY, Yi + (i * 2) * 16, BY, (i * 16), 16);\n }\n\n for (i = 0; i < r; i++) {\n arraycopy(BY, Yi + (i * 2 + 1) * 16, BY, (i + r) * 16, 16);\n }\n }\n\n function R(a, b) {\n return (a << b) | (a >>> (32 - b));\n }\n\n function salsa20_8(B, x) {\n arraycopy(B, 0, x, 0, 16);\n\n for (let i = 8; i > 0; i -= 2) {\n x[ 4] ^= R(x[ 0] + x[12], 7);\n x[ 8] ^= R(x[ 4] + x[ 0], 9);\n x[12] ^= R(x[ 8] + x[ 4], 13);\n x[ 0] ^= R(x[12] + x[ 8], 18);\n x[ 9] ^= R(x[ 5] + x[ 1], 7);\n x[13] ^= R(x[ 9] + x[ 5], 9);\n x[ 1] ^= R(x[13] + x[ 9], 13);\n x[ 5] ^= R(x[ 1] + x[13], 18);\n x[14] ^= R(x[10] + x[ 6], 7);\n x[ 2] ^= R(x[14] + x[10], 9);\n x[ 6] ^= R(x[ 2] + x[14], 13);\n x[10] ^= R(x[ 6] + x[ 2], 18);\n x[ 3] ^= R(x[15] + x[11], 7);\n x[ 7] ^= R(x[ 3] + x[15], 9);\n x[11] ^= R(x[ 7] + x[ 3], 13);\n x[15] ^= R(x[11] + x[ 7], 18);\n x[ 1] ^= R(x[ 0] + x[ 3], 7);\n x[ 2] ^= R(x[ 1] + x[ 0], 9);\n x[ 3] ^= R(x[ 2] + x[ 1], 13);\n x[ 0] ^= R(x[ 3] + x[ 2], 18);\n x[ 6] ^= R(x[ 5] + x[ 4], 7);\n x[ 7] ^= R(x[ 6] + x[ 5], 9);\n x[ 4] ^= R(x[ 7] + x[ 6], 13);\n x[ 5] ^= R(x[ 4] + x[ 7], 18);\n x[11] ^= R(x[10] + x[ 9], 7);\n x[ 8] ^= R(x[11] + x[10], 9);\n x[ 9] ^= R(x[ 8] + x[11], 13);\n x[10] ^= R(x[ 9] + x[ 8], 18);\n x[12] ^= R(x[15] + x[14], 7);\n x[13] ^= R(x[12] + x[15], 9);\n x[14] ^= R(x[13] + x[12], 13);\n x[15] ^= R(x[14] + x[13], 18);\n }\n\n for (let i = 0; i < 16; ++i) {\n B[i] += x[i];\n }\n }\n\n // naive approach... going back to loop unrolling may yield additional performance\n function blockxor(S, Si, D, len) {\n for (let i = 0; i < len; i++) {\n D[i] ^= S[Si + i]\n }\n }\n\n function arraycopy(src, srcPos, dest, destPos, length) {\n while (length--) {\n dest[destPos++] = src[srcPos++];\n }\n }\n\n function checkBufferish(o) {\n if (!o || typeof(o.length) !== 'number') { return false; }\n\n for (let i = 0; i < o.length; i++) {\n const v = o[i];\n if (typeof(v) !== 'number' || v % 1 || v < 0 || v >= 256) {\n return false;\n }\n }\n\n return true;\n }\n\n function ensureInteger(value, name) {\n if (typeof(value) !== \"number\" || (value % 1)) { throw new Error('invalid ' + name); }\n return value;\n }\n\n // N = Cpu cost, r = Memory cost, p = parallelization cost\n // callback(error, progress, key)\n function _scrypt(password, salt, N, r, p, dkLen, callback) {\n\n N = ensureInteger(N, 'N');\n r = ensureInteger(r, 'r');\n p = ensureInteger(p, 'p');\n\n dkLen = ensureInteger(dkLen, 'dkLen');\n\n if (N === 0 || (N & (N - 1)) !== 0) { throw new Error('N must be power of 2'); }\n\n if (N > MAX_VALUE / 128 / r) { throw new Error('N too large'); }\n if (r > MAX_VALUE / 128 / p) { throw new Error('r too large'); }\n\n if (!checkBufferish(password)) {\n throw new Error('password must be an array or buffer');\n }\n password = Array.prototype.slice.call(password);\n\n if (!checkBufferish(salt)) {\n throw new Error('salt must be an array or buffer');\n }\n salt = Array.prototype.slice.call(salt);\n\n let b = PBKDF2_HMAC_SHA256_OneIter(password, salt, p * 128 * r);\n const B = new Uint32Array(p * 32 * r)\n for (let i = 0; i < B.length; i++) {\n const j = i * 4;\n B[i] = ((b[j + 3] & 0xff) << 24) |\n ((b[j + 2] & 0xff) << 16) |\n ((b[j + 1] & 0xff) << 8) |\n ((b[j + 0] & 0xff) << 0);\n }\n\n const XY = new Uint32Array(64 * r);\n const V = new Uint32Array(32 * r * N);\n\n const Yi = 32 * r;\n\n // scratch space\n const x = new Uint32Array(16); // salsa20_8\n const _X = new Uint32Array(16); // blockmix_salsa8\n\n const totalOps = p * N * 2;\n let currentOp = 0;\n let lastPercent10 = null;\n\n // Set this to true to abandon the scrypt on the next step\n let stop = false;\n\n // State information\n let state = 0;\n let i0 = 0, i1;\n let Bi;\n\n // How many blockmix_salsa8 can we do per step?\n const limit = callback ? parseInt(1000 / r): 0xffffffff;\n\n // Trick from scrypt-async; if there is a setImmediate shim in place, use it\n const nextTick = (typeof(setImmediate) !== 'undefined') ? setImmediate : setTimeout;\n\n // This is really all I changed; making scryptsy a state machine so we occasionally\n // stop and give other evnts on the evnt loop a chance to run. ~RicMoo\n const incrementalSMix = function() {\n if (stop) {\n return callback(new Error('cancelled'), currentOp / totalOps);\n }\n\n let steps;\n\n switch (state) {\n case 0:\n // for (var i = 0; i < p; i++)...\n Bi = i0 * 32 * r;\n\n arraycopy(B, Bi, XY, 0, Yi); // ROMix - 1\n\n state = 1; // Move to ROMix 2\n i1 = 0;\n\n // Fall through\n\n case 1:\n\n // Run up to 1000 steps of the first inner smix loop\n steps = N - i1;\n if (steps > limit) { steps = limit; }\n for (let i = 0; i < steps; i++) { // ROMix - 2\n arraycopy(XY, 0, V, (i1 + i) * Yi, Yi) // ROMix - 3\n blockmix_salsa8(XY, Yi, r, x, _X); // ROMix - 4\n }\n\n // for (var i = 0; i < N; i++)\n i1 += steps;\n currentOp += steps;\n\n if (callback) {\n // Call the callback with the progress (optionally stopping us)\n const percent10 = parseInt(1000 * currentOp / totalOps);\n if (percent10 !== lastPercent10) {\n stop = callback(null, currentOp / totalOps);\n if (stop) { break; }\n lastPercent10 = percent10;\n }\n }\n\n if (i1 < N) { break; }\n\n i1 = 0; // Move to ROMix 6\n state = 2;\n\n // Fall through\n\n case 2:\n\n // Run up to 1000 steps of the second inner smix loop\n steps = N - i1;\n if (steps > limit) { steps = limit; }\n for (let i = 0; i < steps; i++) { // ROMix - 6\n const offset = (2 * r - 1) * 16; // ROMix - 7\n const j = XY[offset] & (N - 1);\n blockxor(V, j * Yi, XY, Yi); // ROMix - 8 (inner)\n blockmix_salsa8(XY, Yi, r, x, _X); // ROMix - 9 (outer)\n }\n\n // for (var i = 0; i < N; i++)...\n i1 += steps;\n currentOp += steps;\n\n // Call the callback with the progress (optionally stopping us)\n if (callback) {\n const percent10 = parseInt(1000 * currentOp / totalOps);\n if (percent10 !== lastPercent10) {\n stop = callback(null, currentOp / totalOps);\n if (stop) { break; }\n lastPercent10 = percent10;\n }\n }\n\n if (i1 < N) { break; }\n\n arraycopy(XY, 0, B, Bi, Yi); // ROMix - 10\n\n // for (var i = 0; i < p; i++)...\n i0++;\n if (i0 < p) {\n state = 0;\n break;\n }\n\n b = [];\n for (let i = 0; i < B.length; i++) {\n b.push((B[i] >> 0) & 0xff);\n b.push((B[i] >> 8) & 0xff);\n b.push((B[i] >> 16) & 0xff);\n b.push((B[i] >> 24) & 0xff);\n }\n\n const derivedKey = PBKDF2_HMAC_SHA256_OneIter(password, b, dkLen);\n\n // Send the result to the callback\n if (callback) { callback(null, 1.0, derivedKey); }\n\n // Done; don't break (which would reschedule)\n return derivedKey;\n }\n\n // Schedule the next steps\n if (callback) { nextTick(incrementalSMix); }\n }\n\n // Run the smix state machine until completion\n if (!callback) {\n while (true) {\n const derivedKey = incrementalSMix();\n if (derivedKey != undefined) { return derivedKey; }\n }\n }\n\n // Bootstrap the async incremental smix\n incrementalSMix();\n }\n\n const lib = {\n scrypt: function(password, salt, N, r, p, dkLen, progressCallback) {\n return new Promise(function(resolve, reject) {\n let lastProgress = 0;\n if (progressCallback) { progressCallback(0); }\n _scrypt(password, salt, N, r, p, dkLen, function(error, progress, key) {\n if (error) {\n reject(error);\n } else if (key) {\n if (progressCallback && lastProgress !== 1) {\n progressCallback(1);\n }\n resolve(new Uint8Array(key));\n } else if (progressCallback && progress !== lastProgress) {\n lastProgress = progress;\n return progressCallback(progress);\n }\n });\n });\n },\n syncScrypt: function(password, salt, N, r, p, dkLen) {\n return new Uint8Array(_scrypt(password, salt, N, r, p, dkLen));\n }\n };\n\n // node.js\n if (typeof(exports) !== 'undefined') {\n module.exports = lib;\n\n // RequireJS/AMD\n // http://www.requirejs.org/docs/api.html\n // https://github.com/amdjs/amdjs-api/wiki/AMD\n } else if (typeof(define) === 'function' && define.amd) {\n define(lib);\n\n // Web Browsers\n } else if (root) {\n\n // If there was an existing library \"scrypt\", make sure it is still available\n if (root.scrypt) {\n root._scrypt = root.scrypt;\n }\n\n root.scrypt = lib;\n }\n\n})(this);\n","export const version = \"wallet/5.7.0\";\n//# sourceMappingURL=_version.js.map","export const version = \"wallet/5.7.0\";\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { decode as base64Decode, encode as base64Encode } from \"@ethersproject/base64\";\nimport { hexlify, isBytesLike } from \"@ethersproject/bytes\";\nimport { shallowCopy } from \"@ethersproject/properties\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { getUrl } from \"./geturl\";\nfunction staller(duration) {\n return new Promise((resolve) => {\n setTimeout(resolve, duration);\n });\n}\nfunction bodyify(value, type) {\n if (value == null) {\n return null;\n }\n if (typeof (value) === \"string\") {\n return value;\n }\n if (isBytesLike(value)) {\n if (type && (type.split(\"/\")[0] === \"text\" || type.split(\";\")[0].trim() === \"application/json\")) {\n try {\n return toUtf8String(value);\n }\n catch (error) { }\n ;\n }\n return hexlify(value);\n }\n return value;\n}\nfunction unpercent(value) {\n return toUtf8Bytes(value.replace(/%([0-9a-f][0-9a-f])/gi, (all, code) => {\n return String.fromCharCode(parseInt(code, 16));\n }));\n}\n// This API is still a work in progress; the future changes will likely be:\n// - ConnectionInfo => FetchDataRequest\n// - FetchDataRequest.body? = string | Uint8Array | { contentType: string, data: string | Uint8Array }\n// - If string => text/plain, Uint8Array => application/octet-stream (if content-type unspecified)\n// - FetchDataRequest.processFunc = (body: Uint8Array, response: FetchDataResponse) => T\n// For this reason, it should be considered internal until the API is finalized\nexport function _fetchData(connection, body, processFunc) {\n // How many times to retry in the event of a throttle\n const attemptLimit = (typeof (connection) === \"object\" && connection.throttleLimit != null) ? connection.throttleLimit : 12;\n logger.assertArgument((attemptLimit > 0 && (attemptLimit % 1) === 0), \"invalid connection throttle limit\", \"connection.throttleLimit\", attemptLimit);\n const throttleCallback = ((typeof (connection) === \"object\") ? connection.throttleCallback : null);\n const throttleSlotInterval = ((typeof (connection) === \"object\" && typeof (connection.throttleSlotInterval) === \"number\") ? connection.throttleSlotInterval : 100);\n logger.assertArgument((throttleSlotInterval > 0 && (throttleSlotInterval % 1) === 0), \"invalid connection throttle slot interval\", \"connection.throttleSlotInterval\", throttleSlotInterval);\n const errorPassThrough = ((typeof (connection) === \"object\") ? !!(connection.errorPassThrough) : false);\n const headers = {};\n let url = null;\n // @TODO: Allow ConnectionInfo to override some of these values\n const options = {\n method: \"GET\",\n };\n let allow304 = false;\n let timeout = 2 * 60 * 1000;\n if (typeof (connection) === \"string\") {\n url = connection;\n }\n else if (typeof (connection) === \"object\") {\n if (connection == null || connection.url == null) {\n logger.throwArgumentError(\"missing URL\", \"connection.url\", connection);\n }\n url = connection.url;\n if (typeof (connection.timeout) === \"number\" && connection.timeout > 0) {\n timeout = connection.timeout;\n }\n if (connection.headers) {\n for (const key in connection.headers) {\n headers[key.toLowerCase()] = { key: key, value: String(connection.headers[key]) };\n if ([\"if-none-match\", \"if-modified-since\"].indexOf(key.toLowerCase()) >= 0) {\n allow304 = true;\n }\n }\n }\n options.allowGzip = !!connection.allowGzip;\n if (connection.user != null && connection.password != null) {\n if (url.substring(0, 6) !== \"https:\" && connection.allowInsecureAuthentication !== true) {\n logger.throwError(\"basic authentication requires a secure https url\", Logger.errors.INVALID_ARGUMENT, { argument: \"url\", url: url, user: connection.user, password: \"[REDACTED]\" });\n }\n const authorization = connection.user + \":\" + connection.password;\n headers[\"authorization\"] = {\n key: \"Authorization\",\n value: \"Basic \" + base64Encode(toUtf8Bytes(authorization))\n };\n }\n if (connection.skipFetchSetup != null) {\n options.skipFetchSetup = !!connection.skipFetchSetup;\n }\n if (connection.fetchOptions != null) {\n options.fetchOptions = shallowCopy(connection.fetchOptions);\n }\n }\n const reData = new RegExp(\"^data:([^;:]*)?(;base64)?,(.*)$\", \"i\");\n const dataMatch = ((url) ? url.match(reData) : null);\n if (dataMatch) {\n try {\n const response = {\n statusCode: 200,\n statusMessage: \"OK\",\n headers: { \"content-type\": (dataMatch[1] || \"text/plain\") },\n body: (dataMatch[2] ? base64Decode(dataMatch[3]) : unpercent(dataMatch[3]))\n };\n let result = response.body;\n if (processFunc) {\n result = processFunc(response.body, response);\n }\n return Promise.resolve(result);\n }\n catch (error) {\n logger.throwError(\"processing response error\", Logger.errors.SERVER_ERROR, {\n body: bodyify(dataMatch[1], dataMatch[2]),\n error: error,\n requestBody: null,\n requestMethod: \"GET\",\n url: url\n });\n }\n }\n if (body) {\n options.method = \"POST\";\n options.body = body;\n if (headers[\"content-type\"] == null) {\n headers[\"content-type\"] = { key: \"Content-Type\", value: \"application/octet-stream\" };\n }\n if (headers[\"content-length\"] == null) {\n headers[\"content-length\"] = { key: \"Content-Length\", value: String(body.length) };\n }\n }\n const flatHeaders = {};\n Object.keys(headers).forEach((key) => {\n const header = headers[key];\n flatHeaders[header.key] = header.value;\n });\n options.headers = flatHeaders;\n const runningTimeout = (function () {\n let timer = null;\n const promise = new Promise(function (resolve, reject) {\n if (timeout) {\n timer = setTimeout(() => {\n if (timer == null) {\n return;\n }\n timer = null;\n reject(logger.makeError(\"timeout\", Logger.errors.TIMEOUT, {\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n timeout: timeout,\n url: url\n }));\n }, timeout);\n }\n });\n const cancel = function () {\n if (timer == null) {\n return;\n }\n clearTimeout(timer);\n timer = null;\n };\n return { promise, cancel };\n })();\n const runningFetch = (function () {\n return __awaiter(this, void 0, void 0, function* () {\n for (let attempt = 0; attempt < attemptLimit; attempt++) {\n let response = null;\n try {\n response = yield getUrl(url, options);\n if (attempt < attemptLimit) {\n if (response.statusCode === 301 || response.statusCode === 302) {\n // Redirection; for now we only support absolute locataions\n const location = response.headers.location || \"\";\n if (options.method === \"GET\" && location.match(/^https:/)) {\n url = response.headers.location;\n continue;\n }\n }\n else if (response.statusCode === 429) {\n // Exponential back-off throttling\n let tryAgain = true;\n if (throttleCallback) {\n tryAgain = yield throttleCallback(attempt, url);\n }\n if (tryAgain) {\n let stall = 0;\n const retryAfter = response.headers[\"retry-after\"];\n if (typeof (retryAfter) === \"string\" && retryAfter.match(/^[1-9][0-9]*$/)) {\n stall = parseInt(retryAfter) * 1000;\n }\n else {\n stall = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n }\n //console.log(\"Stalling 429\");\n yield staller(stall);\n continue;\n }\n }\n }\n }\n catch (error) {\n response = error.response;\n if (response == null) {\n runningTimeout.cancel();\n logger.throwError(\"missing response\", Logger.errors.SERVER_ERROR, {\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n serverError: error,\n url: url\n });\n }\n }\n let body = response.body;\n if (allow304 && response.statusCode === 304) {\n body = null;\n }\n else if (!errorPassThrough && (response.statusCode < 200 || response.statusCode >= 300)) {\n runningTimeout.cancel();\n logger.throwError(\"bad response\", Logger.errors.SERVER_ERROR, {\n status: response.statusCode,\n headers: response.headers,\n body: bodyify(body, ((response.headers) ? response.headers[\"content-type\"] : null)),\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n }\n if (processFunc) {\n try {\n const result = yield processFunc(body, response);\n runningTimeout.cancel();\n return result;\n }\n catch (error) {\n // Allow the processFunc to trigger a throttle\n if (error.throttleRetry && attempt < attemptLimit) {\n let tryAgain = true;\n if (throttleCallback) {\n tryAgain = yield throttleCallback(attempt, url);\n }\n if (tryAgain) {\n const timeout = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n //console.log(\"Stalling callback\");\n yield staller(timeout);\n continue;\n }\n }\n runningTimeout.cancel();\n logger.throwError(\"processing response error\", Logger.errors.SERVER_ERROR, {\n body: bodyify(body, ((response.headers) ? response.headers[\"content-type\"] : null)),\n error: error,\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n }\n }\n runningTimeout.cancel();\n // If we had a processFunc, it either returned a T or threw above.\n // The \"body\" is now a Uint8Array.\n return body;\n }\n return logger.throwError(\"failed response\", Logger.errors.SERVER_ERROR, {\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n });\n })();\n return Promise.race([runningTimeout.promise, runningFetch]);\n}\nexport function fetchJson(connection, json, processFunc) {\n let processJsonFunc = (value, response) => {\n let result = null;\n if (value != null) {\n try {\n result = JSON.parse(toUtf8String(value));\n }\n catch (error) {\n logger.throwError(\"invalid JSON\", Logger.errors.SERVER_ERROR, {\n body: value,\n error: error\n });\n }\n }\n if (processFunc) {\n result = processFunc(result, response);\n }\n return result;\n };\n // If we have json to send, we must\n // - add content-type of application/json (unless already overridden)\n // - convert the json to bytes\n let body = null;\n if (json != null) {\n body = toUtf8Bytes(json);\n // Create a connection with the content-type set for JSON\n const updated = (typeof (connection) === \"string\") ? ({ url: connection }) : shallowCopy(connection);\n if (updated.headers) {\n const hasContentType = (Object.keys(updated.headers).filter((k) => (k.toLowerCase() === \"content-type\")).length) !== 0;\n if (!hasContentType) {\n updated.headers = shallowCopy(updated.headers);\n updated.headers[\"content-type\"] = \"application/json\";\n }\n }\n else {\n updated.headers = { \"content-type\": \"application/json\" };\n }\n connection = updated;\n }\n return _fetchData(connection, body, processJsonFunc);\n}\nexport function poll(func, options) {\n if (!options) {\n options = {};\n }\n options = shallowCopy(options);\n if (options.floor == null) {\n options.floor = 0;\n }\n if (options.ceiling == null) {\n options.ceiling = 10000;\n }\n if (options.interval == null) {\n options.interval = 250;\n }\n return new Promise(function (resolve, reject) {\n let timer = null;\n let done = false;\n // Returns true if cancel was successful. Unsuccessful cancel means we're already done.\n const cancel = () => {\n if (done) {\n return false;\n }\n done = true;\n if (timer) {\n clearTimeout(timer);\n }\n return true;\n };\n if (options.timeout) {\n timer = setTimeout(() => {\n if (cancel()) {\n reject(new Error(\"timeout\"));\n }\n }, options.timeout);\n }\n const retryLimit = options.retryLimit;\n let attempt = 0;\n function check() {\n return func().then(function (result) {\n // If we have a result, or are allowed null then we're done\n if (result !== undefined) {\n if (cancel()) {\n resolve(result);\n }\n }\n else if (options.oncePoll) {\n options.oncePoll.once(\"poll\", check);\n }\n else if (options.onceBlock) {\n options.onceBlock.once(\"block\", check);\n // Otherwise, exponential back-off (up to 10s) our next request\n }\n else if (!done) {\n attempt++;\n if (attempt > retryLimit) {\n if (cancel()) {\n reject(new Error(\"retry limit reached\"));\n }\n return;\n }\n let timeout = options.interval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n if (timeout < options.floor) {\n timeout = options.floor;\n }\n if (timeout > options.ceiling) {\n timeout = options.ceiling;\n }\n setTimeout(check, timeout);\n }\n return null;\n }, function (error) {\n if (cancel()) {\n reject(error);\n }\n });\n }\n check();\n });\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { decode as base64Decode, encode as base64Encode } from \"@ethersproject/base64\";\nimport { hexlify, isBytesLike } from \"@ethersproject/bytes\";\nimport { shallowCopy } from \"@ethersproject/properties\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { getUrl, GetUrlResponse, Options } from \"./geturl\";\n\nfunction staller(duration: number): Promise {\n return new Promise((resolve) => {\n setTimeout(resolve, duration);\n });\n}\n\nfunction bodyify(value: any, type: string): string {\n if (value == null) { return null; }\n\n if (typeof(value) === \"string\") { return value; }\n\n if (isBytesLike(value)) {\n if (type && (type.split(\"/\")[0] === \"text\" || type.split(\";\")[0].trim() === \"application/json\")) {\n try {\n return toUtf8String(value);\n } catch (error) { };\n }\n return hexlify(value);\n }\n\n return value;\n}\n\n// Exported Types\nexport type ConnectionInfo = {\n url: string,\n headers?: { [key: string]: string | number }\n\n user?: string,\n password?: string,\n\n allowInsecureAuthentication?: boolean,\n allowGzip?: boolean,\n\n throttleLimit?: number,\n throttleSlotInterval?: number;\n throttleCallback?: (attempt: number, url: string) => Promise,\n\n skipFetchSetup?: boolean;\n fetchOptions?: Record;\n errorPassThrough?: boolean;\n\n timeout?: number,\n};\n\nexport interface OnceBlockable {\n once(eventName: \"block\", handler: () => void): void;\n}\n\nexport interface OncePollable {\n once(eventName: \"poll\", handler: () => void): void;\n}\n\nexport type PollOptions = {\n timeout?: number,\n floor?: number,\n ceiling?: number,\n interval?: number,\n retryLimit?: number,\n onceBlock?: OnceBlockable\n oncePoll?: OncePollable\n};\n\nexport type FetchJsonResponse = {\n statusCode: number;\n headers: { [ header: string ]: string };\n};\n\n\ntype Header = { key: string, value: string };\n\nfunction unpercent(value: string): Uint8Array {\n return toUtf8Bytes(value.replace(/%([0-9a-f][0-9a-f])/gi, (all, code) => {\n return String.fromCharCode(parseInt(code, 16));\n }));\n}\n\n// This API is still a work in progress; the future changes will likely be:\n// - ConnectionInfo => FetchDataRequest\n// - FetchDataRequest.body? = string | Uint8Array | { contentType: string, data: string | Uint8Array }\n// - If string => text/plain, Uint8Array => application/octet-stream (if content-type unspecified)\n// - FetchDataRequest.processFunc = (body: Uint8Array, response: FetchDataResponse) => T\n// For this reason, it should be considered internal until the API is finalized\nexport function _fetchData(connection: string | ConnectionInfo, body?: Uint8Array, processFunc?: (value: Uint8Array, response: FetchJsonResponse) => T): Promise {\n\n // How many times to retry in the event of a throttle\n const attemptLimit = (typeof(connection) === \"object\" && connection.throttleLimit != null) ? connection.throttleLimit: 12;\n logger.assertArgument((attemptLimit > 0 && (attemptLimit % 1) === 0),\n \"invalid connection throttle limit\", \"connection.throttleLimit\", attemptLimit);\n\n const throttleCallback = ((typeof(connection) === \"object\") ? connection.throttleCallback: null);\n const throttleSlotInterval = ((typeof(connection) === \"object\" && typeof(connection.throttleSlotInterval) === \"number\") ? connection.throttleSlotInterval: 100);\n logger.assertArgument((throttleSlotInterval > 0 && (throttleSlotInterval % 1) === 0),\n \"invalid connection throttle slot interval\", \"connection.throttleSlotInterval\", throttleSlotInterval);\n\n const errorPassThrough = ((typeof(connection) === \"object\") ? !!(connection.errorPassThrough): false);\n\n const headers: { [key: string]: Header } = { };\n\n let url: string = null;\n\n // @TODO: Allow ConnectionInfo to override some of these values\n const options: Options = {\n method: \"GET\",\n };\n\n let allow304 = false;\n\n let timeout = 2 * 60 * 1000;\n\n if (typeof(connection) === \"string\") {\n url = connection;\n\n } else if (typeof(connection) === \"object\") {\n if (connection == null || connection.url == null) {\n logger.throwArgumentError(\"missing URL\", \"connection.url\", connection);\n }\n\n url = connection.url;\n\n if (typeof(connection.timeout) === \"number\" && connection.timeout > 0) {\n timeout = connection.timeout;\n }\n\n if (connection.headers) {\n for (const key in connection.headers) {\n headers[key.toLowerCase()] = { key: key, value: String(connection.headers[key]) };\n if ([\"if-none-match\", \"if-modified-since\"].indexOf(key.toLowerCase()) >= 0) {\n allow304 = true;\n }\n }\n }\n\n options.allowGzip = !!connection.allowGzip;\n\n if (connection.user != null && connection.password != null) {\n if (url.substring(0, 6) !== \"https:\" && connection.allowInsecureAuthentication !== true) {\n logger.throwError(\n \"basic authentication requires a secure https url\",\n Logger.errors.INVALID_ARGUMENT,\n { argument: \"url\", url: url, user: connection.user, password: \"[REDACTED]\" }\n );\n }\n\n const authorization = connection.user + \":\" + connection.password;\n headers[\"authorization\"] = {\n key: \"Authorization\",\n value: \"Basic \" + base64Encode(toUtf8Bytes(authorization))\n };\n }\n\n if (connection.skipFetchSetup != null) {\n options.skipFetchSetup = !!connection.skipFetchSetup;\n }\n\n if (connection.fetchOptions != null) {\n options.fetchOptions = shallowCopy(connection.fetchOptions);\n }\n }\n\n const reData = new RegExp(\"^data:([^;:]*)?(;base64)?,(.*)$\", \"i\");\n const dataMatch = ((url) ? url.match(reData): null);\n if (dataMatch) {\n try {\n const response = {\n statusCode: 200,\n statusMessage: \"OK\",\n headers: { \"content-type\": (dataMatch[1] || \"text/plain\")},\n body: (dataMatch[2] ? base64Decode(dataMatch[3]): unpercent(dataMatch[3]))\n };\n\n let result: T = response.body;\n if (processFunc) {\n result = processFunc(response.body, response);\n }\n return Promise.resolve(result);\n\n } catch (error) {\n logger.throwError(\"processing response error\", Logger.errors.SERVER_ERROR, {\n body: bodyify(dataMatch[1], dataMatch[2]),\n error: error,\n requestBody: null,\n requestMethod: \"GET\",\n url: url\n });\n }\n }\n\n if (body) {\n options.method = \"POST\";\n options.body = body;\n if (headers[\"content-type\"] == null) {\n headers[\"content-type\"] = { key: \"Content-Type\", value: \"application/octet-stream\" };\n }\n if (headers[\"content-length\"] == null) {\n headers[\"content-length\"] = { key: \"Content-Length\", value: String(body.length) };\n }\n }\n\n const flatHeaders: { [ key: string ]: string } = { };\n Object.keys(headers).forEach((key) => {\n const header = headers[key];\n flatHeaders[header.key] = header.value;\n });\n options.headers = flatHeaders;\n\n const runningTimeout = (function() {\n let timer: NodeJS.Timer = null;\n const promise: Promise = new Promise(function(resolve, reject) {\n if (timeout) {\n timer = setTimeout(() => {\n if (timer == null) { return; }\n timer = null;\n\n reject(logger.makeError(\"timeout\", Logger.errors.TIMEOUT, {\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n timeout: timeout,\n url: url\n }));\n }, timeout);\n }\n });\n\n const cancel = function() {\n if (timer == null) { return; }\n clearTimeout(timer);\n timer = null;\n }\n\n return { promise, cancel };\n })();\n\n const runningFetch = (async function() {\n\n for (let attempt = 0; attempt < attemptLimit; attempt++) {\n let response: GetUrlResponse = null;\n\n try {\n response = await getUrl(url, options);\n\n if (attempt < attemptLimit) {\n if (response.statusCode === 301 || response.statusCode === 302) {\n // Redirection; for now we only support absolute locataions\n const location = response.headers.location || \"\";\n if (options.method === \"GET\" && location.match(/^https:/)) {\n url = response.headers.location;\n continue;\n }\n\n } else if (response.statusCode === 429) {\n // Exponential back-off throttling\n let tryAgain = true;\n if (throttleCallback) {\n tryAgain = await throttleCallback(attempt, url);\n }\n\n if (tryAgain) {\n let stall = 0;\n\n const retryAfter = response.headers[\"retry-after\"];\n if (typeof(retryAfter) === \"string\" && retryAfter.match(/^[1-9][0-9]*$/)) {\n stall = parseInt(retryAfter) * 1000;\n } else {\n stall = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n }\n\n //console.log(\"Stalling 429\");\n await staller(stall);\n continue;\n }\n }\n }\n\n } catch (error) {\n response = (error).response;\n if (response == null) {\n runningTimeout.cancel();\n logger.throwError(\"missing response\", Logger.errors.SERVER_ERROR, {\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n serverError: error,\n url: url\n });\n }\n }\n\n\n let body = response.body;\n\n if (allow304 && response.statusCode === 304) {\n body = null;\n } else if (!errorPassThrough && (response.statusCode < 200 || response.statusCode >= 300)) {\n runningTimeout.cancel();\n logger.throwError(\"bad response\", Logger.errors.SERVER_ERROR, {\n status: response.statusCode,\n headers: response.headers,\n body: bodyify(body, ((response.headers) ? response.headers[\"content-type\"]: null)),\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n }\n\n if (processFunc) {\n try {\n const result = await processFunc(body, response);\n runningTimeout.cancel();\n return result;\n\n } catch (error) {\n // Allow the processFunc to trigger a throttle\n if (error.throttleRetry && attempt < attemptLimit) {\n let tryAgain = true;\n if (throttleCallback) {\n tryAgain = await throttleCallback(attempt, url);\n }\n\n if (tryAgain) {\n const timeout = throttleSlotInterval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n //console.log(\"Stalling callback\");\n await staller(timeout);\n continue;\n }\n }\n\n runningTimeout.cancel();\n logger.throwError(\"processing response error\", Logger.errors.SERVER_ERROR, {\n body: bodyify(body, ((response.headers) ? response.headers[\"content-type\"]: null)),\n error: error,\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n }\n }\n\n runningTimeout.cancel();\n\n // If we had a processFunc, it either returned a T or threw above.\n // The \"body\" is now a Uint8Array.\n return (body);\n }\n\n return logger.throwError(\"failed response\", Logger.errors.SERVER_ERROR, {\n requestBody: bodyify(options.body, flatHeaders[\"content-type\"]),\n requestMethod: options.method,\n url: url\n });\n })();\n\n return Promise.race([ runningTimeout.promise, runningFetch ]);\n}\n\nexport function fetchJson(connection: string | ConnectionInfo, json?: string, processFunc?: (value: any, response: FetchJsonResponse) => any): Promise {\n let processJsonFunc = (value: Uint8Array, response: FetchJsonResponse) => {\n let result: any = null;\n if (value != null) {\n try {\n result = JSON.parse(toUtf8String(value));\n } catch (error) {\n logger.throwError(\"invalid JSON\", Logger.errors.SERVER_ERROR, {\n body: value,\n error: error\n });\n }\n }\n\n if (processFunc) {\n result = processFunc(result, response);\n }\n\n return result;\n }\n\n // If we have json to send, we must\n // - add content-type of application/json (unless already overridden)\n // - convert the json to bytes\n let body: Uint8Array = null;\n if (json != null) {\n body = toUtf8Bytes(json);\n\n // Create a connection with the content-type set for JSON\n const updated: ConnectionInfo = (typeof(connection) === \"string\") ? ({ url: connection }): shallowCopy(connection);\n if (updated.headers) {\n const hasContentType = (Object.keys(updated.headers).filter((k) => (k.toLowerCase() === \"content-type\")).length) !== 0;\n if (!hasContentType) {\n updated.headers = shallowCopy(updated.headers);\n updated.headers[\"content-type\"] = \"application/json\";\n }\n } else {\n updated.headers = { \"content-type\": \"application/json\" };\n }\n connection = updated;\n }\n\n return _fetchData(connection, body, processJsonFunc);\n}\n\nexport function poll(func: () => Promise, options?: PollOptions): Promise {\n if (!options) { options = {}; }\n options = shallowCopy(options);\n if (options.floor == null) { options.floor = 0; }\n if (options.ceiling == null) { options.ceiling = 10000; }\n if (options.interval == null) { options.interval = 250; }\n\n return new Promise(function(resolve, reject) {\n\n let timer: NodeJS.Timer = null;\n let done: boolean = false;\n\n // Returns true if cancel was successful. Unsuccessful cancel means we're already done.\n const cancel = (): boolean => {\n if (done) { return false; }\n done = true;\n if (timer) { clearTimeout(timer); }\n return true;\n };\n\n if (options.timeout) {\n timer = setTimeout(() => {\n if (cancel()) { reject(new Error(\"timeout\")); }\n }, options.timeout)\n }\n\n const retryLimit = options.retryLimit;\n\n let attempt = 0;\n function check() {\n return func().then(function(result) {\n\n // If we have a result, or are allowed null then we're done\n if (result !== undefined) {\n if (cancel()) { resolve(result); }\n\n } else if (options.oncePoll) {\n options.oncePoll.once(\"poll\", check);\n\n } else if (options.onceBlock) {\n options.onceBlock.once(\"block\", check);\n\n // Otherwise, exponential back-off (up to 10s) our next request\n } else if (!done) {\n attempt++;\n if (attempt > retryLimit) {\n if (cancel()) { reject(new Error(\"retry limit reached\")); }\n return;\n }\n\n let timeout = options.interval * parseInt(String(Math.random() * Math.pow(2, attempt)));\n if (timeout < options.floor) { timeout = options.floor; }\n if (timeout > options.ceiling) { timeout = options.ceiling; }\n\n setTimeout(check, timeout);\n }\n\n return null;\n }, function(error) {\n if (cancel()) { reject(error); }\n });\n }\n check();\n });\n}\n\n","export const version = \"web/5.7.1\";\n//# sourceMappingURL=_version.js.map","export const version = \"web/5.7.1\";\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { arrayify } from \"@ethersproject/bytes\";\nexport function getUrl(href, options) {\n return __awaiter(this, void 0, void 0, function* () {\n if (options == null) {\n options = {};\n }\n const request = {\n method: (options.method || \"GET\"),\n headers: (options.headers || {}),\n body: (options.body || undefined),\n };\n if (options.skipFetchSetup !== true) {\n request.mode = \"cors\"; // no-cors, cors, *same-origin\n request.cache = \"no-cache\"; // *default, no-cache, reload, force-cache, only-if-cached\n request.credentials = \"same-origin\"; // include, *same-origin, omit\n request.redirect = \"follow\"; // manual, *follow, error\n request.referrer = \"client\"; // no-referrer, *client\n }\n ;\n if (options.fetchOptions != null) {\n const opts = options.fetchOptions;\n if (opts.mode) {\n request.mode = (opts.mode);\n }\n if (opts.cache) {\n request.cache = (opts.cache);\n }\n if (opts.credentials) {\n request.credentials = (opts.credentials);\n }\n if (opts.redirect) {\n request.redirect = (opts.redirect);\n }\n if (opts.referrer) {\n request.referrer = opts.referrer;\n }\n }\n const response = yield fetch(href, request);\n const body = yield response.arrayBuffer();\n const headers = {};\n if (response.headers.forEach) {\n response.headers.forEach((value, key) => {\n headers[key.toLowerCase()] = value;\n });\n }\n else {\n ((response.headers).keys)().forEach((key) => {\n headers[key.toLowerCase()] = response.headers.get(key);\n });\n }\n return {\n headers: headers,\n statusCode: response.status,\n statusMessage: response.statusText,\n body: arrayify(new Uint8Array(body)),\n };\n });\n}\n//# sourceMappingURL=geturl.js.map","\"use strict\";\n\nimport { arrayify } from \"@ethersproject/bytes\";\n\nimport type { GetUrlResponse, Options } from \"./types\";\n\nexport { GetUrlResponse, Options };\n\nexport async function getUrl(href: string, options?: Options): Promise {\n if (options == null) { options = { }; }\n\n const request: RequestInit = {\n method: (options.method || \"GET\"),\n headers: (options.headers || { }),\n body: (options.body || undefined),\n };\n\n if (options.skipFetchSetup !== true) {\n request.mode = \"cors\"; // no-cors, cors, *same-origin\n request.cache = \"no-cache\"; // *default, no-cache, reload, force-cache, only-if-cached\n request.credentials = \"same-origin\"; // include, *same-origin, omit\n request.redirect = \"follow\"; // manual, *follow, error\n request.referrer = \"client\"; // no-referrer, *client\n };\n\n if (options.fetchOptions != null) {\n const opts = options.fetchOptions;\n if (opts.mode) { request.mode = (opts.mode); }\n if (opts.cache) { request.cache = (opts.cache); }\n if (opts.credentials) { request.credentials = (opts.credentials); }\n if (opts.redirect) { request.redirect = (opts.redirect); }\n if (opts.referrer) { request.referrer = opts.referrer; }\n }\n\n const response = await fetch(href, request);\n const body = await response.arrayBuffer();\n\n const headers: { [ name: string ]: string } = { };\n if (response.headers.forEach) {\n response.headers.forEach((value, key) => {\n headers[key.toLowerCase()] = value;\n });\n } else {\n (<() => Array>(((response.headers)).keys))().forEach((key) => {\n headers[key.toLowerCase()] = response.headers.get(key);\n });\n }\n\n return {\n headers: headers,\n statusCode: response.status,\n statusMessage: response.statusText,\n body: arrayify(new Uint8Array(body)),\n }\n}\n","\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Proxy_factory__factory = void 0;\nconst ethers_1 = require(\"ethers\");\nconst _abi = [\n {\n constant: false,\n inputs: [\n {\n name: \"_mastercopy\",\n type: \"address\",\n },\n {\n name: \"initializer\",\n type: \"bytes\",\n },\n {\n name: \"saltNonce\",\n type: \"uint256\",\n },\n ],\n name: \"createProxyWithNonce\",\n outputs: [\n {\n name: \"proxy\",\n type: \"address\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"proxyCreationCode\",\n outputs: [\n {\n name: \"\",\n type: \"bytes\",\n },\n ],\n payable: false,\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n name: \"masterCopy\",\n type: \"address\",\n },\n {\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"createProxy\",\n outputs: [\n {\n name: \"proxy\",\n type: \"address\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"proxyRuntimeCode\",\n outputs: [\n {\n name: \"\",\n type: \"bytes\",\n },\n ],\n payable: false,\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n name: \"proxy\",\n type: \"address\",\n },\n ],\n name: \"ProxyCreation\",\n type: \"event\",\n },\n];\nclass Proxy_factory__factory {\n static createInterface() {\n return new ethers_1.utils.Interface(_abi);\n }\n static connect(address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n }\n}\nexports.Proxy_factory__factory = Proxy_factory__factory;\nProxy_factory__factory.abi = _abi;\n//# sourceMappingURL=Proxy_factory__factory.js.map",null,"\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Gnosis_safe__factory = void 0;\nconst ethers_1 = require(\"ethers\");\nconst _abi = [\n {\n inputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"AddedOwner\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"approvedHash\",\n type: \"bytes32\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"ApproveHash\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"masterCopy\",\n type: \"address\",\n },\n ],\n name: \"ChangedMasterCopy\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"threshold\",\n type: \"uint256\",\n },\n ],\n name: \"ChangedThreshold\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"DisabledModule\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"EnabledModule\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"txHash\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\",\n },\n ],\n name: \"ExecutionFailure\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"ExecutionFromModuleFailure\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"ExecutionFromModuleSuccess\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"txHash\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\",\n },\n ],\n name: \"ExecutionSuccess\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"RemovedOwner\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"msgHash\",\n type: \"bytes32\",\n },\n ],\n name: \"SignMsg\",\n type: \"event\",\n },\n {\n payable: true,\n stateMutability: \"payable\",\n type: \"fallback\",\n },\n {\n constant: true,\n inputs: [],\n name: \"NAME\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"VERSION\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\",\n },\n ],\n name: \"addOwnerWithThreshold\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n name: \"approvedHashes\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"_masterCopy\",\n type: \"address\",\n },\n ],\n name: \"changeMasterCopy\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\",\n },\n ],\n name: \"changeThreshold\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"contract Module\",\n name: \"prevModule\",\n type: \"address\",\n },\n {\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"disableModule\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"domainSeparator\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"enableModule\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n ],\n name: \"execTransactionFromModule\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n ],\n name: \"execTransactionFromModuleReturnData\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\",\n },\n {\n internalType: \"bytes\",\n name: \"returnData\",\n type: \"bytes\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"getModules\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"\",\n type: \"address[]\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"start\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"pageSize\",\n type: \"uint256\",\n },\n ],\n name: \"getModulesPaginated\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"array\",\n type: \"address[]\",\n },\n {\n internalType: \"address\",\n name: \"next\",\n type: \"address\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"getOwners\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"\",\n type: \"address[]\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"getThreshold\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"isOwner\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"nonce\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"prevOwner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\",\n },\n ],\n name: \"removeOwner\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"handler\",\n type: \"address\",\n },\n ],\n name: \"setFallbackHandler\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n name: \"signedMessages\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"prevOwner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"oldOwner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"swapOwner\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address[]\",\n name: \"_owners\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"address\",\n name: \"fallbackHandler\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"paymentToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\",\n },\n {\n internalType: \"address payable\",\n name: \"paymentReceiver\",\n type: \"address\",\n },\n ],\n name: \"setup\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\",\n },\n {\n internalType: \"address payable\",\n name: \"refundReceiver\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"signatures\",\n type: \"bytes\",\n },\n ],\n name: \"execTransaction\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n ],\n name: \"requiredTxGas\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"hashToApprove\",\n type: \"bytes32\",\n },\n ],\n name: \"approveHash\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\",\n },\n ],\n name: \"signMessage\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"_signature\",\n type: \"bytes\",\n },\n ],\n name: \"isValidSignature\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"message\",\n type: \"bytes\",\n },\n ],\n name: \"getMessageHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"refundReceiver\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_nonce\",\n type: \"uint256\",\n },\n ],\n name: \"encodeTransactionData\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"refundReceiver\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_nonce\",\n type: \"uint256\",\n },\n ],\n name: \"getTransactionHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n];\nclass Gnosis_safe__factory {\n static createInterface() {\n return new ethers_1.utils.Interface(_abi);\n }\n static connect(address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n }\n}\nexports.Gnosis_safe__factory = Gnosis_safe__factory;\nGnosis_safe__factory.abi = _abi;\n//# sourceMappingURL=Gnosis_safe__factory.js.map",null,"\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Multi_send__factory = void 0;\nconst ethers_1 = require(\"ethers\");\nconst _abi = [\n {\n inputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"transactions\",\n type: \"bytes\",\n },\n ],\n name: \"multiSend\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n];\nclass Multi_send__factory {\n static createInterface() {\n return new ethers_1.utils.Interface(_abi);\n }\n static connect(address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n }\n}\nexports.Multi_send__factory = Multi_send__factory;\nMulti_send__factory.abi = _abi;\n//# sourceMappingURL=Multi_send__factory.js.map",null,"\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Proxy_factory__factory = void 0;\nconst ethers_1 = require(\"ethers\");\nconst _abi = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\",\n },\n ],\n name: \"ProxyCreation\",\n type: \"event\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"masterCopy\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"createProxy\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"proxyRuntimeCode\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n payable: false,\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"proxyCreationCode\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n payable: false,\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"_mastercopy\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"initializer\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"saltNonce\",\n type: \"uint256\",\n },\n ],\n name: \"createProxyWithNonce\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"_mastercopy\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"initializer\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"saltNonce\",\n type: \"uint256\",\n },\n {\n internalType: \"contract IProxyCreationCallback\",\n name: \"callback\",\n type: \"address\",\n },\n ],\n name: \"createProxyWithCallback\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"_mastercopy\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"initializer\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"saltNonce\",\n type: \"uint256\",\n },\n ],\n name: \"calculateCreateProxyWithNonceAddress\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n];\nclass Proxy_factory__factory {\n static createInterface() {\n return new ethers_1.utils.Interface(_abi);\n }\n static connect(address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n }\n}\nexports.Proxy_factory__factory = Proxy_factory__factory;\nProxy_factory__factory.abi = _abi;\n//# sourceMappingURL=Proxy_factory__factory.js.map",null,"\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Gnosis_safe__factory = void 0;\nconst ethers_1 = require(\"ethers\");\nconst _abi = [\n {\n inputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"AddedOwner\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"approvedHash\",\n type: \"bytes32\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"ApproveHash\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"masterCopy\",\n type: \"address\",\n },\n ],\n name: \"ChangedMasterCopy\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"threshold\",\n type: \"uint256\",\n },\n ],\n name: \"ChangedThreshold\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"DisabledModule\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"EnabledModule\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"txHash\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\",\n },\n ],\n name: \"ExecutionFailure\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"ExecutionFromModuleFailure\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"ExecutionFromModuleSuccess\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"txHash\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\",\n },\n ],\n name: \"ExecutionSuccess\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"RemovedOwner\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"msgHash\",\n type: \"bytes32\",\n },\n ],\n name: \"SignMsg\",\n type: \"event\",\n },\n {\n payable: true,\n stateMutability: \"payable\",\n type: \"fallback\",\n },\n {\n constant: true,\n inputs: [],\n name: \"NAME\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"VERSION\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\",\n },\n ],\n name: \"addOwnerWithThreshold\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n name: \"approvedHashes\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"_masterCopy\",\n type: \"address\",\n },\n ],\n name: \"changeMasterCopy\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\",\n },\n ],\n name: \"changeThreshold\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"contract Module\",\n name: \"prevModule\",\n type: \"address\",\n },\n {\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"disableModule\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"domainSeparator\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"enableModule\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n ],\n name: \"execTransactionFromModule\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n ],\n name: \"execTransactionFromModuleReturnData\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\",\n },\n {\n internalType: \"bytes\",\n name: \"returnData\",\n type: \"bytes\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"getModules\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"\",\n type: \"address[]\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"start\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"pageSize\",\n type: \"uint256\",\n },\n ],\n name: \"getModulesPaginated\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"array\",\n type: \"address[]\",\n },\n {\n internalType: \"address\",\n name: \"next\",\n type: \"address\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"getOwners\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"\",\n type: \"address[]\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"getThreshold\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"contract Module\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"isModuleEnabled\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"isOwner\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [],\n name: \"nonce\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"prevOwner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\",\n },\n ],\n name: \"removeOwner\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"handler\",\n type: \"address\",\n },\n ],\n name: \"setFallbackHandler\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n name: \"signedMessages\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"prevOwner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"oldOwner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"swapOwner\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address[]\",\n name: \"_owners\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"address\",\n name: \"fallbackHandler\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"paymentToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\",\n },\n {\n internalType: \"address payable\",\n name: \"paymentReceiver\",\n type: \"address\",\n },\n ],\n name: \"setup\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\",\n },\n {\n internalType: \"address payable\",\n name: \"refundReceiver\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"signatures\",\n type: \"bytes\",\n },\n ],\n name: \"execTransaction\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\",\n },\n ],\n payable: true,\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n ],\n name: \"requiredTxGas\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"hashToApprove\",\n type: \"bytes32\",\n },\n ],\n name: \"approveHash\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\",\n },\n ],\n name: \"signMessage\",\n outputs: [],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: false,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"_signature\",\n type: \"bytes\",\n },\n ],\n name: \"isValidSignature\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\",\n },\n ],\n payable: false,\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"bytes\",\n name: \"message\",\n type: \"bytes\",\n },\n ],\n name: \"getMessageHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"refundReceiver\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_nonce\",\n type: \"uint256\",\n },\n ],\n name: \"encodeTransactionData\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n constant: true,\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"refundReceiver\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_nonce\",\n type: \"uint256\",\n },\n ],\n name: \"getTransactionHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n payable: false,\n stateMutability: \"view\",\n type: \"function\",\n },\n];\nclass Gnosis_safe__factory {\n static createInterface() {\n return new ethers_1.utils.Interface(_abi);\n }\n static connect(address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n }\n}\nexports.Gnosis_safe__factory = Gnosis_safe__factory;\nGnosis_safe__factory.abi = _abi;\n//# sourceMappingURL=Gnosis_safe__factory.js.map",null,"\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Compatibility_fallback_handler__factory = void 0;\nconst ethers_1 = require(\"ethers\");\nconst _abi = [\n {\n inputs: [],\n name: \"NAME\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"VERSION\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"message\",\n type: \"bytes\",\n },\n ],\n name: \"getMessageHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"contract GnosisSafe\",\n name: \"safe\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"message\",\n type: \"bytes\",\n },\n ],\n name: \"getMessageHashForSafe\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getModules\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"\",\n type: \"address[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"_dataHash\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"_signature\",\n type: \"bytes\",\n },\n ],\n name: \"isValidSignature\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"_signature\",\n type: \"bytes\",\n },\n ],\n name: \"isValidSignature\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\",\n },\n {\n internalType: \"uint256[]\",\n name: \"\",\n type: \"uint256[]\",\n },\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n name: \"onERC1155BatchReceived\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\",\n },\n ],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n name: \"onERC1155Received\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\",\n },\n ],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n name: \"onERC721Received\",\n outputs: [\n {\n internalType: \"bytes4\",\n name: \"\",\n type: \"bytes4\",\n },\n ],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"targetContract\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"calldataPayload\",\n type: \"bytes\",\n },\n ],\n name: \"simulate\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"response\",\n type: \"bytes\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes4\",\n name: \"interfaceId\",\n type: \"bytes4\",\n },\n ],\n name: \"supportsInterface\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n name: \"tokensReceived\",\n outputs: [],\n stateMutability: \"pure\",\n type: \"function\",\n },\n];\nclass Compatibility_fallback_handler__factory {\n static createInterface() {\n return new ethers_1.utils.Interface(_abi);\n }\n static connect(address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n }\n}\nexports.Compatibility_fallback_handler__factory = Compatibility_fallback_handler__factory;\nCompatibility_fallback_handler__factory.abi = _abi;\n//# sourceMappingURL=Compatibility_fallback_handler__factory.js.map",null,"\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Gnosis_safe__factory = void 0;\nconst ethers_1 = require(\"ethers\");\nconst _abi = [\n {\n inputs: [],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"AddedOwner\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"approvedHash\",\n type: \"bytes32\",\n },\n {\n indexed: true,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"ApproveHash\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"handler\",\n type: \"address\",\n },\n ],\n name: \"ChangedFallbackHandler\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"guard\",\n type: \"address\",\n },\n ],\n name: \"ChangedGuard\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"threshold\",\n type: \"uint256\",\n },\n ],\n name: \"ChangedThreshold\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"DisabledModule\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"EnabledModule\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"txHash\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\",\n },\n ],\n name: \"ExecutionFailure\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"ExecutionFromModuleFailure\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"ExecutionFromModuleSuccess\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"bytes32\",\n name: \"txHash\",\n type: \"bytes32\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\",\n },\n ],\n name: \"ExecutionSuccess\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"RemovedOwner\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"sender\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n ],\n name: \"SafeReceived\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"address\",\n name: \"initiator\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address[]\",\n name: \"owners\",\n type: \"address[]\",\n },\n {\n indexed: false,\n internalType: \"uint256\",\n name: \"threshold\",\n type: \"uint256\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"initializer\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"fallbackHandler\",\n type: \"address\",\n },\n ],\n name: \"SafeSetup\",\n type: \"event\",\n },\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"msgHash\",\n type: \"bytes32\",\n },\n ],\n name: \"SignMsg\",\n type: \"event\",\n },\n {\n stateMutability: \"nonpayable\",\n type: \"fallback\",\n },\n {\n inputs: [],\n name: \"VERSION\",\n outputs: [\n {\n internalType: \"string\",\n name: \"\",\n type: \"string\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\",\n },\n ],\n name: \"addOwnerWithThreshold\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"hashToApprove\",\n type: \"bytes32\",\n },\n ],\n name: \"approveHash\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"\",\n type: \"address\",\n },\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n name: \"approvedHashes\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\",\n },\n ],\n name: \"changeThreshold\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"dataHash\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"signatures\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"requiredSignatures\",\n type: \"uint256\",\n },\n ],\n name: \"checkNSignatures\",\n outputs: [],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"dataHash\",\n type: \"bytes32\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes\",\n name: \"signatures\",\n type: \"bytes\",\n },\n ],\n name: \"checkSignatures\",\n outputs: [],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"prevModule\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"disableModule\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"domainSeparator\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"enableModule\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"refundReceiver\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_nonce\",\n type: \"uint256\",\n },\n ],\n name: \"encodeTransactionData\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\",\n },\n {\n internalType: \"address payable\",\n name: \"refundReceiver\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"signatures\",\n type: \"bytes\",\n },\n ],\n name: \"execTransaction\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\",\n },\n ],\n stateMutability: \"payable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n ],\n name: \"execTransactionFromModule\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n ],\n name: \"execTransactionFromModuleReturnData\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"success\",\n type: \"bool\",\n },\n {\n internalType: \"bytes\",\n name: \"returnData\",\n type: \"bytes\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getChainId\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"start\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"pageSize\",\n type: \"uint256\",\n },\n ],\n name: \"getModulesPaginated\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"array\",\n type: \"address[]\",\n },\n {\n internalType: \"address\",\n name: \"next\",\n type: \"address\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getOwners\",\n outputs: [\n {\n internalType: \"address[]\",\n name: \"\",\n type: \"address[]\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"offset\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"length\",\n type: \"uint256\",\n },\n ],\n name: \"getStorageAt\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"getThreshold\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n {\n internalType: \"uint256\",\n name: \"safeTxGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"baseGas\",\n type: \"uint256\",\n },\n {\n internalType: \"uint256\",\n name: \"gasPrice\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"gasToken\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"refundReceiver\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_nonce\",\n type: \"uint256\",\n },\n ],\n name: \"getTransactionHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"module\",\n type: \"address\",\n },\n ],\n name: \"isModuleEnabled\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n ],\n name: \"isOwner\",\n outputs: [\n {\n internalType: \"bool\",\n name: \"\",\n type: \"bool\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"nonce\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"prevOwner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"owner\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\",\n },\n ],\n name: \"removeOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"enum Enum.Operation\",\n name: \"operation\",\n type: \"uint8\",\n },\n ],\n name: \"requiredTxGas\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"handler\",\n type: \"address\",\n },\n ],\n name: \"setFallbackHandler\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"guard\",\n type: \"address\",\n },\n ],\n name: \"setGuard\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address[]\",\n name: \"_owners\",\n type: \"address[]\",\n },\n {\n internalType: \"uint256\",\n name: \"_threshold\",\n type: \"uint256\",\n },\n {\n internalType: \"address\",\n name: \"to\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n {\n internalType: \"address\",\n name: \"fallbackHandler\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"paymentToken\",\n type: \"address\",\n },\n {\n internalType: \"uint256\",\n name: \"payment\",\n type: \"uint256\",\n },\n {\n internalType: \"address payable\",\n name: \"paymentReceiver\",\n type: \"address\",\n },\n ],\n name: \"setup\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n name: \"signedMessages\",\n outputs: [\n {\n internalType: \"uint256\",\n name: \"\",\n type: \"uint256\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"targetContract\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"calldataPayload\",\n type: \"bytes\",\n },\n ],\n name: \"simulateAndRevert\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"prevOwner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"oldOwner\",\n type: \"address\",\n },\n {\n internalType: \"address\",\n name: \"newOwner\",\n type: \"address\",\n },\n ],\n name: \"swapOwner\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n stateMutability: \"payable\",\n type: \"receive\",\n },\n];\nclass Gnosis_safe__factory {\n static createInterface() {\n return new ethers_1.utils.Interface(_abi);\n }\n static connect(address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n }\n}\nexports.Gnosis_safe__factory = Gnosis_safe__factory;\nGnosis_safe__factory.abi = _abi;\n//# sourceMappingURL=Gnosis_safe__factory.js.map",null,"\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Multi_send_call_only__factory = void 0;\nconst ethers_1 = require(\"ethers\");\nconst _abi = [\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"transactions\",\n type: \"bytes\",\n },\n ],\n name: \"multiSend\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n];\nclass Multi_send_call_only__factory {\n static createInterface() {\n return new ethers_1.utils.Interface(_abi);\n }\n static connect(address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n }\n}\nexports.Multi_send_call_only__factory = Multi_send_call_only__factory;\nMulti_send_call_only__factory.abi = _abi;\n//# sourceMappingURL=Multi_send_call_only__factory.js.map",null,"\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Multi_send__factory = void 0;\nconst ethers_1 = require(\"ethers\");\nconst _abi = [\n {\n inputs: [],\n stateMutability: \"nonpayable\",\n type: \"constructor\",\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"transactions\",\n type: \"bytes\",\n },\n ],\n name: \"multiSend\",\n outputs: [],\n stateMutability: \"payable\",\n type: \"function\",\n },\n];\nclass Multi_send__factory {\n static createInterface() {\n return new ethers_1.utils.Interface(_abi);\n }\n static connect(address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n }\n}\nexports.Multi_send__factory = Multi_send__factory;\nMulti_send__factory.abi = _abi;\n//# sourceMappingURL=Multi_send__factory.js.map",null,"\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Proxy_factory__factory = void 0;\nconst ethers_1 = require(\"ethers\");\nconst _abi = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\",\n },\n {\n indexed: false,\n internalType: \"address\",\n name: \"singleton\",\n type: \"address\",\n },\n ],\n name: \"ProxyCreation\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_singleton\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"initializer\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"saltNonce\",\n type: \"uint256\",\n },\n ],\n name: \"calculateCreateProxyWithNonceAddress\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"singleton\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"data\",\n type: \"bytes\",\n },\n ],\n name: \"createProxy\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_singleton\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"initializer\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"saltNonce\",\n type: \"uint256\",\n },\n {\n internalType: \"contract IProxyCreationCallback\",\n name: \"callback\",\n type: \"address\",\n },\n ],\n name: \"createProxyWithCallback\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"address\",\n name: \"_singleton\",\n type: \"address\",\n },\n {\n internalType: \"bytes\",\n name: \"initializer\",\n type: \"bytes\",\n },\n {\n internalType: \"uint256\",\n name: \"saltNonce\",\n type: \"uint256\",\n },\n ],\n name: \"createProxyWithNonce\",\n outputs: [\n {\n internalType: \"contract GnosisSafeProxy\",\n name: \"proxy\",\n type: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"proxyCreationCode\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n stateMutability: \"pure\",\n type: \"function\",\n },\n {\n inputs: [],\n name: \"proxyRuntimeCode\",\n outputs: [\n {\n internalType: \"bytes\",\n name: \"\",\n type: \"bytes\",\n },\n ],\n stateMutability: \"pure\",\n type: \"function\",\n },\n];\nclass Proxy_factory__factory {\n static createInterface() {\n return new ethers_1.utils.Interface(_abi);\n }\n static connect(address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n }\n}\nexports.Proxy_factory__factory = Proxy_factory__factory;\nProxy_factory__factory.abi = _abi;\n//# sourceMappingURL=Proxy_factory__factory.js.map",null,"\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sign_message_lib__factory = void 0;\nconst ethers_1 = require(\"ethers\");\nconst _abi = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: true,\n internalType: \"bytes32\",\n name: \"msgHash\",\n type: \"bytes32\",\n },\n ],\n name: \"SignMsg\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"message\",\n type: \"bytes\",\n },\n ],\n name: \"getMessageHash\",\n outputs: [\n {\n internalType: \"bytes32\",\n name: \"\",\n type: \"bytes32\",\n },\n ],\n stateMutability: \"view\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"bytes\",\n name: \"_data\",\n type: \"bytes\",\n },\n ],\n name: \"signMessage\",\n outputs: [],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n];\nclass Sign_message_lib__factory {\n static createInterface() {\n return new ethers_1.utils.Interface(_abi);\n }\n static connect(address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n }\n}\nexports.Sign_message_lib__factory = Sign_message_lib__factory;\nSign_message_lib__factory.abi = _abi;\n//# sourceMappingURL=Sign_message_lib__factory.js.map",null,"\"use strict\";\n/* Autogenerated file. Do not edit manually. */\n/* tslint:disable */\n/* eslint-disable */\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Create_call__factory = void 0;\nconst ethers_1 = require(\"ethers\");\nconst _abi = [\n {\n anonymous: false,\n inputs: [\n {\n indexed: false,\n internalType: \"address\",\n name: \"newContract\",\n type: \"address\",\n },\n ],\n name: \"ContractCreation\",\n type: \"event\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"deploymentData\",\n type: \"bytes\",\n },\n ],\n name: \"performCreate\",\n outputs: [\n {\n internalType: \"address\",\n name: \"newContract\",\n type: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n {\n inputs: [\n {\n internalType: \"uint256\",\n name: \"value\",\n type: \"uint256\",\n },\n {\n internalType: \"bytes\",\n name: \"deploymentData\",\n type: \"bytes\",\n },\n {\n internalType: \"bytes32\",\n name: \"salt\",\n type: \"bytes32\",\n },\n ],\n name: \"performCreate2\",\n outputs: [\n {\n internalType: \"address\",\n name: \"newContract\",\n type: \"address\",\n },\n ],\n stateMutability: \"nonpayable\",\n type: \"function\",\n },\n];\nclass Create_call__factory {\n static createInterface() {\n return new ethers_1.utils.Interface(_abi);\n }\n static connect(address, signerOrProvider) {\n return new ethers_1.Contract(address, _abi, signerOrProvider);\n }\n}\nexports.Create_call__factory = Create_call__factory;\nCreate_call__factory.abi = _abi;\n//# sourceMappingURL=Create_call__factory.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst CompatibilityFallbackHandlerEthersContract_1 = __importDefault(require(\"../CompatibilityFallbackHandlerEthersContract\"));\nclass CompatibilityFallbackHandler_V1_3_0_Ethers extends CompatibilityFallbackHandlerEthersContract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = CompatibilityFallbackHandler_V1_3_0_Ethers;\n//# sourceMappingURL=CompatibilityFallbackHandler_V1_3_0_Ethers.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass CompatibilityFallbackHandlerEthersContract {\n constructor(contract) {\n this.contract = contract;\n this.encode = (methodName, params) => {\n return this.contract.interface.encodeFunctionData(methodName, params);\n };\n }\n getAddress() {\n return this.contract.address;\n }\n}\nexports.default = CompatibilityFallbackHandlerEthersContract;\n//# sourceMappingURL=CompatibilityFallbackHandlerEthersContract.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst CreateCallEthersContract_1 = __importDefault(require(\"../CreateCallEthersContract\"));\nclass CreateCallContract_V1_3_0_Ethers extends CreateCallEthersContract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = CreateCallContract_V1_3_0_Ethers;\n//# sourceMappingURL=CreateCallEthersContract_V1_3_0_Ethers.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst constants_1 = require(\"../../../../../adapters/ethers/utils/constants\");\nconst utils_1 = require(\"../../../../../adapters/ethers/utils\");\nconst GnosisSafeContractEthers_1 = __importDefault(require(\"../GnosisSafeContractEthers\"));\nclass GnosisSafeContract_V1_0_0_Ethers extends GnosisSafeContractEthers_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners, threshold, to = constants_1.ZERO_ADDRESS, data = constants_1.EMPTY_DATA, paymentToken = constants_1.ZERO_ADDRESS, payment = 0, paymentReceiver = constants_1.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gasLimit) {\n options.gasLimit = await this.estimateGas('setup', [owners, threshold, to, data, paymentToken, payment, paymentReceiver], {\n ...options\n });\n }\n const txResponse = await this.contract.setup(owners, threshold, to, data, paymentToken, payment, paymentReceiver, options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async getModules() {\n return this.contract.getModules();\n }\n async isModuleEnabled(moduleAddress) {\n const modules = await this.getModules();\n const isModuleEnabled = modules.some((enabledModuleAddress) => (0, utils_1.sameString)(enabledModuleAddress, moduleAddress));\n return isModuleEnabled;\n }\n}\nexports.default = GnosisSafeContract_V1_0_0_Ethers;\n//# sourceMappingURL=GnosisSafeContract_V1_0_0_Ethers.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SENTINEL_ADDRESS = exports.EMPTY_DATA = exports.ZERO_ADDRESS = void 0;\nexports.ZERO_ADDRESS = `0x${'0'.repeat(40)}`;\nexports.EMPTY_DATA = '0x';\nexports.SENTINEL_ADDRESS = '0x0000000000000000000000000000000000000001';\n//# sourceMappingURL=constants.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst constants_1 = require(\"../../../../../adapters/ethers/utils/constants\");\nconst utils_1 = require(\"../../../../../adapters/ethers/utils\");\nconst GnosisSafeContractEthers_1 = __importDefault(require(\"../GnosisSafeContractEthers\"));\nclass GnosisSafeContract_V1_1_1_Ethers extends GnosisSafeContractEthers_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners, threshold, to = constants_1.ZERO_ADDRESS, data = constants_1.EMPTY_DATA, fallbackHandler = constants_1.ZERO_ADDRESS, paymentToken = constants_1.ZERO_ADDRESS, payment = 0, paymentReceiver = constants_1.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gasLimit) {\n options.gasLimit = await this.estimateGas('setup', [owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver], {\n ...options\n });\n }\n const txResponse = await this.contract.setup(owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver, options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async getModules() {\n return this.contract.getModules();\n }\n async isModuleEnabled(moduleAddress) {\n const modules = await this.getModules();\n const isModuleEnabled = modules.some((enabledModuleAddress) => (0, utils_1.sameString)(enabledModuleAddress, moduleAddress));\n return isModuleEnabled;\n }\n}\nexports.default = GnosisSafeContract_V1_1_1_Ethers;\n//# sourceMappingURL=GnosisSafeContract_V1_1_1_Ethers.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils_1 = require(\"../../../../../adapters/ethers/utils\");\nconst constants_1 = require(\"../../../../../adapters/ethers/utils/constants\");\nconst GnosisSafeContractEthers_1 = __importDefault(require(\"../GnosisSafeContractEthers\"));\nclass GnosisSafeContract_V1_2_0_Ethers extends GnosisSafeContractEthers_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners, threshold, to = constants_1.ZERO_ADDRESS, data = constants_1.EMPTY_DATA, fallbackHandler = constants_1.ZERO_ADDRESS, paymentToken = constants_1.ZERO_ADDRESS, payment = 0, paymentReceiver = constants_1.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gasLimit) {\n options.gasLimit = await this.estimateGas('setup', [owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver], {\n ...options\n });\n }\n const txResponse = await this.contract.setup(owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver, options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async getModules() {\n return this.contract.getModules();\n }\n async isModuleEnabled(moduleAddress) {\n return this.contract.isModuleEnabled(moduleAddress);\n }\n}\nexports.default = GnosisSafeContract_V1_2_0_Ethers;\n//# sourceMappingURL=GnosisSafeContract_V1_2_0_Ethers.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils_1 = require(\"../../../../../adapters/ethers/utils\");\nconst constants_1 = require(\"../../../../../adapters/ethers/utils/constants\");\nconst GnosisSafeContractEthers_1 = __importDefault(require(\"../GnosisSafeContractEthers\"));\nclass GnosisSafeContract_V1_3_0_Ethers extends GnosisSafeContractEthers_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners, threshold, to = constants_1.ZERO_ADDRESS, data = constants_1.EMPTY_DATA, fallbackHandler = constants_1.ZERO_ADDRESS, paymentToken = constants_1.ZERO_ADDRESS, payment = 0, paymentReceiver = constants_1.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gasLimit) {\n options.gasLimit = await this.estimateGas('setup', [owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver], {\n ...options\n });\n }\n const txResponse = await this.contract.setup(owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver, options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async getModules() {\n const { array } = await this.contract.getModulesPaginated(constants_1.SENTINEL_ADDRESS, 10);\n return array;\n }\n async isModuleEnabled(moduleAddress) {\n return this.contract.isModuleEnabled(moduleAddress);\n }\n}\nexports.default = GnosisSafeContract_V1_3_0_Ethers;\n//# sourceMappingURL=GnosisSafeContract_V1_3_0_Ethers.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GnosisSafeProxyFactoryEthersContract_1 = __importDefault(require(\"../GnosisSafeProxyFactoryEthersContract\"));\nclass GnosisSafeProxyFactoryContract_V1_0_0_Ethers extends GnosisSafeProxyFactoryEthersContract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = GnosisSafeProxyFactoryContract_V1_0_0_Ethers;\n//# sourceMappingURL=GnosisSafeProxyFactoryContract_V1_0_0_Ethers.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GnosisSafeProxyFactoryEthersContract_1 = __importDefault(require(\"../GnosisSafeProxyFactoryEthersContract\"));\nclass GnosisSafeProxyFactoryContract_V1_1_1_Ethers extends GnosisSafeProxyFactoryEthersContract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = GnosisSafeProxyFactoryContract_V1_1_1_Ethers;\n//# sourceMappingURL=GnosisSafeProxyFactoryContract_V1_1_1_Ethers.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GnosisSafeProxyFactoryEthersContract_1 = __importDefault(require(\"../GnosisSafeProxyFactoryEthersContract\"));\nclass GnosisSafeProxyFactoryContract_V1_3_0_Ethers extends GnosisSafeProxyFactoryEthersContract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = GnosisSafeProxyFactoryContract_V1_3_0_Ethers;\n//# sourceMappingURL=GnosisSafeProxyFactoryContract_V1_3_0_Ethers.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst MultiSendEthersContract_1 = __importDefault(require(\"../MultiSendEthersContract\"));\nclass MultiSendContract_V1_1_1_Ethers extends MultiSendEthersContract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = MultiSendContract_V1_1_1_Ethers;\n//# sourceMappingURL=MultiSendContract_V1_1_1_Ethers.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst MultiSendEthersContract_1 = __importDefault(require(\"../MultiSendEthersContract\"));\nclass MultiSendContract_V1_3_0_Ethers extends MultiSendEthersContract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = MultiSendContract_V1_3_0_Ethers;\n//# sourceMappingURL=MultiSendContract_V1_3_0_Ethers.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst MultiSendCallOnlyEthersContract_1 = __importDefault(require(\"../MultiSendCallOnlyEthersContract\"));\nclass MultiSendCallOnlyContract_V1_3_0_Ethers extends MultiSendCallOnlyEthersContract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = MultiSendCallOnlyContract_V1_3_0_Ethers;\n//# sourceMappingURL=MultiSendCallOnlyContract_V1_3_0_Ethers.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst SignMessageLibEthersContract_1 = __importDefault(require(\"../SignMessageLibEthersContract\"));\nclass SignMessageLibContract_V1_3_0_Ethers extends SignMessageLibEthersContract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = SignMessageLibContract_V1_3_0_Ethers;\n//# sourceMappingURL=SignMessageLibContract_V1_3_0_Ethers.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils_1 = require(\"../../../../adapters/web3/utils\");\nclass CreateCallWeb3Contract {\n constructor(contract) {\n this.contract = contract;\n }\n getAddress() {\n return this.contract.options.address;\n }\n async performCreate2(value, deploymentData, salt, options) {\n if (options && !options.gas) {\n options.gas = await this.estimateGas('performCreate2', [value, deploymentData, salt], {\n ...options\n });\n }\n const txResponse = this.contract.methods\n .performCreate2(value, deploymentData, salt)\n .send(options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async performCreate(value, deploymentData, options) {\n if (options && !options.gas) {\n options.gas = await this.estimateGas('performCreate', [value, deploymentData], { ...options });\n }\n const txResponse = this.contract.methods.performCreate(value, deploymentData).send(options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.methods[methodName](...params).estimateGas(options)).toString();\n }\n}\nexports.default = CreateCallWeb3Contract;\n//# sourceMappingURL=CreateCallWeb3Contract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.toTxResult = exports.sameString = void 0;\nfunction sameString(str1, str2) {\n return str1.toLowerCase() === str2.toLowerCase();\n}\nexports.sameString = sameString;\nasync function toTxResult(promiEvent, options) {\n return new Promise((resolve, reject) => promiEvent\n .once('transactionHash', (hash) => resolve({ hash, promiEvent, options }))\n .catch(reject));\n}\nexports.toTxResult = toTxResult;\n//# sourceMappingURL=index.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst bignumber_1 = require(\"@ethersproject/bignumber\");\nconst utils_1 = require(\"../../../../adapters/web3/utils\");\nclass GnosisSafeContractWeb3 {\n constructor(contract) {\n this.contract = contract;\n }\n async getVersion() {\n return (await this.contract.methods.VERSION().call());\n }\n getAddress() {\n return this.contract.options.address;\n }\n async getNonce() {\n return Number(await this.contract.methods.nonce().call());\n }\n async getThreshold() {\n return Number(await this.contract.methods.getThreshold().call());\n }\n async getOwners() {\n return this.contract.methods.getOwners().call();\n }\n async isOwner(address) {\n return this.contract.methods.isOwner(address).call();\n }\n async getTransactionHash(safeTransactionData) {\n return this.contract.methods\n .getTransactionHash(safeTransactionData.to, safeTransactionData.value, safeTransactionData.data, safeTransactionData.operation, safeTransactionData.safeTxGas, safeTransactionData.baseGas, safeTransactionData.gasPrice, safeTransactionData.gasToken, safeTransactionData.refundReceiver, safeTransactionData.nonce)\n .call();\n }\n async approvedHashes(ownerAddress, hash) {\n return bignumber_1.BigNumber.from(await this.contract.methods.approvedHashes(ownerAddress, hash).call());\n }\n async approveHash(hash, options) {\n if (options && !options.gas) {\n options.gas = await this.estimateGas('approveHash', [hash], { ...options });\n }\n const txResponse = this.contract.methods.approveHash(hash).send(options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async isValidTransaction(safeTransaction, options) {\n let isTxValid = false;\n try {\n if (options && !options.gas) {\n options.gas = await this.estimateGas('execTransaction', [\n safeTransaction.data.to,\n safeTransaction.data.value,\n safeTransaction.data.data,\n safeTransaction.data.operation,\n safeTransaction.data.safeTxGas,\n safeTransaction.data.baseGas,\n safeTransaction.data.gasPrice,\n safeTransaction.data.gasToken,\n safeTransaction.data.refundReceiver,\n safeTransaction.encodedSignatures()\n ], {\n ...options\n });\n }\n isTxValid = await this.contract.methods\n .execTransaction(safeTransaction.data.to, safeTransaction.data.value, safeTransaction.data.data, safeTransaction.data.operation, safeTransaction.data.safeTxGas, safeTransaction.data.baseGas, safeTransaction.data.gasPrice, safeTransaction.data.gasToken, safeTransaction.data.refundReceiver, safeTransaction.encodedSignatures())\n .call(options);\n }\n catch { }\n return isTxValid;\n }\n async execTransaction(safeTransaction, options) {\n if (options && !options.gas) {\n options.gas = await this.estimateGas('execTransaction', [\n safeTransaction.data.to,\n safeTransaction.data.value,\n safeTransaction.data.data,\n safeTransaction.data.operation,\n safeTransaction.data.safeTxGas,\n safeTransaction.data.baseGas,\n safeTransaction.data.gasPrice,\n safeTransaction.data.gasToken,\n safeTransaction.data.refundReceiver,\n safeTransaction.encodedSignatures()\n ], {\n ...options\n });\n }\n const txResponse = this.contract.methods\n .execTransaction(safeTransaction.data.to, safeTransaction.data.value, safeTransaction.data.data, safeTransaction.data.operation, safeTransaction.data.safeTxGas, safeTransaction.data.baseGas, safeTransaction.data.gasPrice, safeTransaction.data.gasToken, safeTransaction.data.refundReceiver, safeTransaction.encodedSignatures())\n .send(options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.methods[methodName](...params).estimateGas(options)).toString();\n }\n}\nexports.default = GnosisSafeContractWeb3;\n//# sourceMappingURL=GnosisSafeContractWeb3.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst bignumber_1 = require(\"@ethersproject/bignumber\");\nconst utils_1 = require(\"../../../../adapters/web3/utils\");\nclass GnosisSafeProxyFactoryWeb3Contract {\n constructor(contract) {\n this.contract = contract;\n }\n getAddress() {\n return this.contract.options.address;\n }\n async proxyCreationCode() {\n return this.contract.methods.proxyCreationCode().call();\n }\n async createProxy({ safeMasterCopyAddress, initializer, saltNonce, options, callback }) {\n var _a, _b, _c;\n if (bignumber_1.BigNumber.from(saltNonce).lt(0))\n throw new Error('saltNonce must be greater than or equal to 0');\n if (options && !options.gas) {\n options.gas = await this.estimateGas('createProxyWithNonce', [safeMasterCopyAddress, initializer, saltNonce], {\n ...options\n });\n }\n const txResponse = this.contract.methods\n .createProxyWithNonce(safeMasterCopyAddress, initializer, saltNonce)\n .send(options);\n if (callback) {\n const txResult = await (0, utils_1.toTxResult)(txResponse);\n callback(txResult.hash);\n }\n const txResult = await new Promise((resolve, reject) => txResponse.once('receipt', (receipt) => resolve(receipt)).catch(reject));\n const proxyAddress = (_c = (_b = (_a = txResult.events) === null || _a === void 0 ? void 0 : _a.ProxyCreation) === null || _b === void 0 ? void 0 : _b.returnValues) === null || _c === void 0 ? void 0 : _c.proxy;\n if (!proxyAddress) {\n throw new Error('SafeProxy was not deployed correctly');\n }\n return proxyAddress;\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.methods[methodName](...params).estimateGas(options)).toString();\n }\n}\nexports.default = GnosisSafeProxyFactoryWeb3Contract;\n//# sourceMappingURL=GnosisSafeProxyFactoryWeb3Contract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass MultiSendWeb3Contract {\n constructor(contract) {\n this.contract = contract;\n }\n getAddress() {\n return this.contract.options.address;\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n}\nexports.default = MultiSendWeb3Contract;\n//# sourceMappingURL=MultiSendWeb3Contract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass MultiSendCallOnlyWeb3Contract {\n constructor(contract) {\n this.contract = contract;\n }\n getAddress() {\n return this.contract.options.address;\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n}\nexports.default = MultiSendCallOnlyWeb3Contract;\n//# sourceMappingURL=MultiSendCallOnlyWeb3Contract.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils_1 = require(\"../../../../adapters/web3/utils\");\nclass SignMessageLibWeb3Contract {\n constructor(contract) {\n this.contract = contract;\n }\n getAddress() {\n return this.contract.options.address;\n }\n async signMessage(data, options) {\n if (options && !options.gas) {\n options.gas = await this.estimateGas('signMessage', [data], { ...options });\n }\n const txResponse = this.contract.methods.signMessage(data).send(options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async getMessageHash(message) {\n return this.contract.methods.getMessageHash(message).call();\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n async estimateGas(methodName, params, options) {\n return (await this.contract.methods[methodName](...params).estimateGas(options)).toString();\n }\n}\nexports.default = SignMessageLibWeb3Contract;\n//# sourceMappingURL=SignMessageLibWeb3Contract.js.map",null,"\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _Web3Adapter_web3, _Web3Adapter_signerAddress;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst bignumber_1 = require(\"@ethersproject/bignumber\");\nconst utils_1 = require(\"../../utils\");\nconst contractInstancesWeb3_1 = require(\"./contracts/contractInstancesWeb3\");\nclass Web3Adapter {\n constructor({ web3, signerAddress }) {\n _Web3Adapter_web3.set(this, void 0);\n _Web3Adapter_signerAddress.set(this, void 0);\n if (!web3) {\n throw new Error('web3 property missing from options');\n }\n __classPrivateFieldSet(this, _Web3Adapter_web3, web3, \"f\");\n __classPrivateFieldSet(this, _Web3Adapter_signerAddress, signerAddress, \"f\");\n }\n isAddress(address) {\n return __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").utils.isAddress(address);\n }\n async getEip3770Address(fullAddress) {\n const chainId = await this.getChainId();\n return (0, utils_1.validateEip3770Address)(fullAddress, chainId);\n }\n async getBalance(address, defaultBlock) {\n const balance = defaultBlock\n ? await __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.getBalance(address, defaultBlock)\n : await __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.getBalance(address);\n // FIXME Web3 Adapter is forced to return an Ethers type\n return bignumber_1.BigNumber.from(balance);\n }\n async getNonce(address, defaultBlock) {\n const nonce = defaultBlock\n ? await __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.getTransactionCount(address, defaultBlock)\n : await __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.getTransactionCount(address);\n return nonce;\n }\n async getChainId() {\n return __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.getChainId();\n }\n getChecksummedAddress(address) {\n return __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").utils.toChecksumAddress(address);\n }\n async getSafeContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid SafeProxy contract address');\n }\n const safeContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, contractInstancesWeb3_1.getSafeContractInstance)(safeVersion, safeContract);\n }\n async getSafeProxyFactoryContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid SafeProxyFactory contract address');\n }\n const proxyFactoryContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, contractInstancesWeb3_1.getGnosisSafeProxyFactoryContractInstance)(safeVersion, proxyFactoryContract);\n }\n async getMultiSendContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid MultiSend contract address');\n }\n const multiSendContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, contractInstancesWeb3_1.getMultiSendContractInstance)(safeVersion, multiSendContract);\n }\n async getMultiSendCallOnlyContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid MultiSendCallOnly contract address');\n }\n const multiSendContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, contractInstancesWeb3_1.getMultiSendCallOnlyContractInstance)(safeVersion, multiSendContract);\n }\n async getCompatibilityFallbackHandlerContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid Compatibility Fallback Handler contract address');\n }\n const multiSendContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, contractInstancesWeb3_1.getCompatibilityFallbackHandlerContractInstance)(safeVersion, multiSendContract);\n }\n async getSignMessageLibContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid SignMessageLib contract address');\n }\n const signMessageLibContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, contractInstancesWeb3_1.getSignMessageLibContractInstance)(safeVersion, signMessageLibContract);\n }\n async getCreateCallContract({ safeVersion, singletonDeployment, customContractAddress, customContractAbi }) {\n const chainId = await this.getChainId();\n const contractAddress = customContractAddress !== null && customContractAddress !== void 0 ? customContractAddress : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.networkAddresses[chainId];\n if (!contractAddress) {\n throw new Error('Invalid CreateCall contract address');\n }\n const createCallContract = this.getContract(contractAddress, customContractAbi !== null && customContractAbi !== void 0 ? customContractAbi : singletonDeployment === null || singletonDeployment === void 0 ? void 0 : singletonDeployment.abi);\n return (0, contractInstancesWeb3_1.getCreateCallContractInstance)(safeVersion, createCallContract);\n }\n getContract(address, abi, options) {\n return new (__classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.Contract)(abi, address, options);\n }\n async getContractCode(address, defaultBlock) {\n const code = defaultBlock\n ? await __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.getCode(address, defaultBlock)\n : await __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.getCode(address);\n return code;\n }\n async isContractDeployed(address, defaultBlock) {\n const contractCode = await this.getContractCode(address, defaultBlock);\n return contractCode !== '0x';\n }\n async getStorageAt(address, position) {\n const content = await __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.getStorageAt(address, position);\n const decodedContent = this.decodeParameters(['address'], content);\n return decodedContent[0];\n }\n async getTransaction(transactionHash) {\n return __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.getTransaction(transactionHash);\n }\n async getSignerAddress() {\n return __classPrivateFieldGet(this, _Web3Adapter_signerAddress, \"f\");\n }\n signMessage(message) {\n if (!__classPrivateFieldGet(this, _Web3Adapter_signerAddress, \"f\")) {\n throw new Error('EthAdapter must be initialized with a signer to use this method');\n }\n return __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.sign(message, __classPrivateFieldGet(this, _Web3Adapter_signerAddress, \"f\"));\n }\n async signTypedData(safeTransactionEIP712Args, methodVersion) {\n if (!__classPrivateFieldGet(this, _Web3Adapter_signerAddress, \"f\")) {\n throw new Error('This method requires a signer');\n }\n const typedData = (0, utils_1.generateTypedData)(safeTransactionEIP712Args);\n let method = 'eth_signTypedData_v3';\n if (methodVersion === 'v4') {\n method = 'eth_signTypedData_v4';\n }\n else if (!methodVersion) {\n method = 'eth_signTypedData';\n }\n const jsonTypedData = JSON.stringify(typedData);\n const signedTypedData = {\n jsonrpc: '2.0',\n method,\n params: methodVersion === 'v3' || methodVersion === 'v4'\n ? [__classPrivateFieldGet(this, _Web3Adapter_signerAddress, \"f\"), jsonTypedData]\n : [jsonTypedData, __classPrivateFieldGet(this, _Web3Adapter_signerAddress, \"f\")],\n from: __classPrivateFieldGet(this, _Web3Adapter_signerAddress, \"f\"),\n id: new Date().getTime()\n };\n return new Promise((resolve, reject) => {\n const provider = __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").currentProvider;\n function callback(err, val) {\n if (err) {\n reject(err);\n return;\n }\n if ((val === null || val === void 0 ? void 0 : val.result) == null) {\n reject(new Error(\"EIP-712 is not supported by user's wallet\"));\n return;\n }\n resolve(val.result);\n }\n provider.send(signedTypedData, callback);\n });\n }\n async estimateGas(transaction, callback) {\n return (await __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.estimateGas(transaction, callback)).toString();\n }\n call(transaction, defaultBlock) {\n return __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.call(transaction, defaultBlock);\n }\n encodeParameters(types, values) {\n return __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.abi.encodeParameters(types, values);\n }\n decodeParameters(types, values) {\n return __classPrivateFieldGet(this, _Web3Adapter_web3, \"f\").eth.abi.decodeParameters(types, values);\n }\n}\n_Web3Adapter_web3 = new WeakMap(), _Web3Adapter_signerAddress = new WeakMap();\nexports.default = Web3Adapter;\n//# sourceMappingURL=Web3Adapter.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCreateCallContractInstance = exports.getSignMessageLibContractInstance = exports.getGnosisSafeProxyFactoryContractInstance = exports.getMultiSendCallOnlyContractInstance = exports.getMultiSendContractInstance = exports.getCompatibilityFallbackHandlerContractInstance = exports.getSafeContractInstance = void 0;\nconst CompatibilityFallbackHandler_V1_3_0_Web3_1 = __importDefault(require(\"./CompatibilityFallbackHandler/v1.3.0/CompatibilityFallbackHandler_V1_3_0_Web3\"));\nconst CreateCallEthersContract_V1_3_0_Web3_1 = __importDefault(require(\"./CreateCall/v1.3.0/CreateCallEthersContract_V1_3_0_Web3\"));\nconst GnosisSafeContract_V1_0_0_Web3_1 = __importDefault(require(\"./GnosisSafe/v1.0.0/GnosisSafeContract_V1_0_0_Web3\"));\nconst GnosisSafeContract_V1_1_1_Web3_1 = __importDefault(require(\"./GnosisSafe/v1.1.1/GnosisSafeContract_V1_1_1_Web3\"));\nconst GnosisSafeContract_V1_2_0_Web3_1 = __importDefault(require(\"./GnosisSafe/v1.2.0/GnosisSafeContract_V1_2_0_Web3\"));\nconst GnosisSafeContract_V1_3_0_Web3_1 = __importDefault(require(\"./GnosisSafe/v1.3.0/GnosisSafeContract_V1_3_0_Web3\"));\nconst GnosisSafeProxyFactoryContract_V1_0_0_Web3_1 = __importDefault(require(\"./GnosisSafeProxyFactory/v1.0.0/GnosisSafeProxyFactoryContract_V1_0_0_Web3\"));\nconst GnosisSafeProxyFactoryContract_V1_1_1_Web3_1 = __importDefault(require(\"./GnosisSafeProxyFactory/v1.1.1/GnosisSafeProxyFactoryContract_V1_1_1_Web3\"));\nconst GnosisSafeProxyFactoryContract_V1_3_0_Web3_1 = __importDefault(require(\"./GnosisSafeProxyFactory/v1.3.0/GnosisSafeProxyFactoryContract_V1_3_0_Web3\"));\nconst MultiSendContract_V1_1_1_Web3_1 = __importDefault(require(\"./MultiSend/v1.1.1/MultiSendContract_V1_1_1_Web3\"));\nconst MultiSendContract_V1_3_0_Web3_1 = __importDefault(require(\"./MultiSend/v1.3.0/MultiSendContract_V1_3_0_Web3\"));\nconst MultiSendCallOnlyContract_V1_3_0_Web3_1 = __importDefault(require(\"./MultiSendCallOnly/v1.3.0/MultiSendCallOnlyContract_V1_3_0_Web3\"));\nconst SignMessageLibContract_V1_3_0_Web3_1 = __importDefault(require(\"./SignMessageLib/v1.3.0/SignMessageLibContract_V1_3_0_Web3\"));\nfunction getSafeContractInstance(safeVersion, safeContract) {\n switch (safeVersion) {\n case '1.3.0':\n return new GnosisSafeContract_V1_3_0_Web3_1.default(safeContract);\n case '1.2.0':\n return new GnosisSafeContract_V1_2_0_Web3_1.default(safeContract);\n case '1.1.1':\n return new GnosisSafeContract_V1_1_1_Web3_1.default(safeContract);\n case '1.0.0':\n return new GnosisSafeContract_V1_0_0_Web3_1.default(safeContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getSafeContractInstance = getSafeContractInstance;\nfunction getCompatibilityFallbackHandlerContractInstance(safeVersion, compatibilityFallbackhandlerContract) {\n switch (safeVersion) {\n case '1.3.0':\n case '1.2.0':\n case '1.1.1':\n return new CompatibilityFallbackHandler_V1_3_0_Web3_1.default(compatibilityFallbackhandlerContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getCompatibilityFallbackHandlerContractInstance = getCompatibilityFallbackHandlerContractInstance;\nfunction getMultiSendContractInstance(safeVersion, multiSendContract) {\n switch (safeVersion) {\n case '1.3.0':\n return new MultiSendContract_V1_3_0_Web3_1.default(multiSendContract);\n case '1.2.0':\n case '1.1.1':\n case '1.0.0':\n return new MultiSendContract_V1_1_1_Web3_1.default(multiSendContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getMultiSendContractInstance = getMultiSendContractInstance;\nfunction getMultiSendCallOnlyContractInstance(safeVersion, multiSendCallOnlyContract) {\n switch (safeVersion) {\n case '1.3.0':\n case '1.2.0':\n case '1.1.1':\n case '1.0.0':\n return new MultiSendCallOnlyContract_V1_3_0_Web3_1.default(multiSendCallOnlyContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getMultiSendCallOnlyContractInstance = getMultiSendCallOnlyContractInstance;\nfunction getGnosisSafeProxyFactoryContractInstance(safeVersion, gnosisSafeProxyFactoryContract) {\n switch (safeVersion) {\n case '1.3.0':\n return new GnosisSafeProxyFactoryContract_V1_3_0_Web3_1.default(gnosisSafeProxyFactoryContract);\n case '1.2.0':\n case '1.1.1':\n return new GnosisSafeProxyFactoryContract_V1_1_1_Web3_1.default(gnosisSafeProxyFactoryContract);\n case '1.0.0':\n return new GnosisSafeProxyFactoryContract_V1_0_0_Web3_1.default(gnosisSafeProxyFactoryContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getGnosisSafeProxyFactoryContractInstance = getGnosisSafeProxyFactoryContractInstance;\nfunction getSignMessageLibContractInstance(safeVersion, signMessageLibContract) {\n switch (safeVersion) {\n case '1.3.0':\n return new SignMessageLibContract_V1_3_0_Web3_1.default(signMessageLibContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getSignMessageLibContractInstance = getSignMessageLibContractInstance;\nfunction getCreateCallContractInstance(safeVersion, createCallContract) {\n switch (safeVersion) {\n case '1.3.0':\n case '1.2.0':\n case '1.1.1':\n case '1.0.0':\n return new CreateCallEthersContract_V1_3_0_Web3_1.default(createCallContract);\n default:\n throw new Error('Invalid Safe version');\n }\n}\nexports.getCreateCallContractInstance = getCreateCallContractInstance;\n//# sourceMappingURL=contractInstancesWeb3.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst CompatibilityFallbackHandlerWeb3Contract_1 = __importDefault(require(\"../CompatibilityFallbackHandlerWeb3Contract\"));\nclass CompatibilityFallbackHandler_V1_3_0_Web3 extends CompatibilityFallbackHandlerWeb3Contract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = CompatibilityFallbackHandler_V1_3_0_Web3;\n//# sourceMappingURL=CompatibilityFallbackHandler_V1_3_0_Web3.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nclass CompatibilityFallbackHandlerWeb3Contract {\n constructor(contract) {\n this.contract = contract;\n }\n getAddress() {\n return this.contract.options.address;\n }\n encode(methodName, params) {\n return this.contract.methods[methodName](...params).encodeABI();\n }\n}\nexports.default = CompatibilityFallbackHandlerWeb3Contract;\n//# sourceMappingURL=CompatibilityFallbackHandlerWeb3Contract.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst CreateCallWeb3Contract_1 = __importDefault(require(\"../CreateCallWeb3Contract\"));\nclass CreateCallContract_V1_3_0_Web3 extends CreateCallWeb3Contract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = CreateCallContract_V1_3_0_Web3;\n//# sourceMappingURL=CreateCallEthersContract_V1_3_0_Web3.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils_1 = require(\"../../../../../adapters/web3/utils\");\nconst constants_1 = require(\"../../../../../adapters/web3/utils/constants\");\nconst GnosisSafeContractWeb3_1 = __importDefault(require(\"../GnosisSafeContractWeb3\"));\nclass GnosisSafeContract_V1_0_0_Web3 extends GnosisSafeContractWeb3_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners, threshold, to = constants_1.ZERO_ADDRESS, data = constants_1.EMPTY_DATA, paymentToken = constants_1.ZERO_ADDRESS, payment = 0, paymentReceiver = constants_1.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gas) {\n options.gas = await this.estimateGas('setup', [owners, threshold, to, data, paymentToken, payment, paymentReceiver], {\n ...options\n });\n }\n const txResponse = this.contract.methods\n .setup(owners, threshold, to, data, paymentToken, payment, paymentReceiver)\n .send(options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async getModules() {\n return this.contract.methods.getModules().call();\n }\n async isModuleEnabled(moduleAddress) {\n const modules = await this.getModules();\n const isModuleEnabled = modules.some((enabledModuleAddress) => (0, utils_1.sameString)(enabledModuleAddress, moduleAddress));\n return isModuleEnabled;\n }\n}\nexports.default = GnosisSafeContract_V1_0_0_Web3;\n//# sourceMappingURL=GnosisSafeContract_V1_0_0_Web3.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SENTINEL_ADDRESS = exports.EMPTY_DATA = exports.ZERO_ADDRESS = void 0;\nexports.ZERO_ADDRESS = `0x${'0'.repeat(40)}`;\nexports.EMPTY_DATA = '0x';\nexports.SENTINEL_ADDRESS = '0x0000000000000000000000000000000000000001';\n//# sourceMappingURL=constants.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils_1 = require(\"../../../../../adapters/web3/utils\");\nconst constants_1 = require(\"../../../../../adapters/web3/utils/constants\");\nconst GnosisSafeContractWeb3_1 = __importDefault(require(\"../GnosisSafeContractWeb3\"));\nclass GnosisSafeContract_V1_1_1_Web3 extends GnosisSafeContractWeb3_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners, threshold, to = constants_1.ZERO_ADDRESS, data = constants_1.EMPTY_DATA, fallbackHandler = constants_1.ZERO_ADDRESS, paymentToken = constants_1.ZERO_ADDRESS, payment = 0, paymentReceiver = constants_1.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gas) {\n options.gas = await this.estimateGas('setup', [owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver], {\n ...options\n });\n }\n const txResponse = this.contract.methods\n .setup(owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver)\n .send(options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async getModules() {\n return this.contract.methods.getModules().call();\n }\n async isModuleEnabled(moduleAddress) {\n const modules = await this.getModules();\n const isModuleEnabled = modules.some((enabledModuleAddress) => (0, utils_1.sameString)(enabledModuleAddress, moduleAddress));\n return isModuleEnabled;\n }\n}\nexports.default = GnosisSafeContract_V1_1_1_Web3;\n//# sourceMappingURL=GnosisSafeContract_V1_1_1_Web3.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils_1 = require(\"../../../../../adapters/web3/utils\");\nconst constants_1 = require(\"../../../../../adapters/web3/utils/constants\");\nconst GnosisSafeContractWeb3_1 = __importDefault(require(\"../GnosisSafeContractWeb3\"));\nclass GnosisSafeContract_V1_2_0_Web3 extends GnosisSafeContractWeb3_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners, threshold, to = constants_1.ZERO_ADDRESS, data = constants_1.EMPTY_DATA, fallbackHandler = constants_1.ZERO_ADDRESS, paymentToken = constants_1.ZERO_ADDRESS, payment = 0, paymentReceiver = constants_1.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gas) {\n options.gas = await this.estimateGas('setup', [owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver], {\n ...options\n });\n }\n const txResponse = this.contract.methods\n .setup(owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver)\n .send(options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async getModules() {\n return this.contract.methods.getModules().call();\n }\n async isModuleEnabled(moduleAddress) {\n return this.contract.methods.isModuleEnabled(moduleAddress).call();\n }\n}\nexports.default = GnosisSafeContract_V1_2_0_Web3;\n//# sourceMappingURL=GnosisSafeContract_V1_2_0_Web3.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils_1 = require(\"../../../../../adapters/web3/utils\");\nconst constants_1 = require(\"../../../../../adapters/web3/utils/constants\");\nconst GnosisSafeContractWeb3_1 = __importDefault(require(\"../GnosisSafeContractWeb3\"));\nclass GnosisSafeContract_V1_3_0_Web3 extends GnosisSafeContractWeb3_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n async setup(setupConfig, options) {\n const { owners, threshold, to = constants_1.ZERO_ADDRESS, data = constants_1.EMPTY_DATA, fallbackHandler = constants_1.ZERO_ADDRESS, paymentToken = constants_1.ZERO_ADDRESS, payment = 0, paymentReceiver = constants_1.ZERO_ADDRESS } = setupConfig;\n if (options && !options.gas) {\n options.gas = await this.estimateGas('setup', [owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver], {\n ...options\n });\n }\n const txResponse = this.contract.methods\n .setup(owners, threshold, to, data, fallbackHandler, paymentToken, payment, paymentReceiver)\n .send(options);\n return (0, utils_1.toTxResult)(txResponse, options);\n }\n async getModules() {\n const { array } = await this.contract.methods.getModulesPaginated(constants_1.SENTINEL_ADDRESS, 10).call();\n return array;\n }\n async isModuleEnabled(moduleAddress) {\n return this.contract.methods.isModuleEnabled(moduleAddress).call();\n }\n}\nexports.default = GnosisSafeContract_V1_3_0_Web3;\n//# sourceMappingURL=GnosisSafeContract_V1_3_0_Web3.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GnosisSafeProxyFactoryWeb3Contract_1 = __importDefault(require(\"../GnosisSafeProxyFactoryWeb3Contract\"));\nclass GnosisSafeProxyFactoryContract_V1_0_0_Web3 extends GnosisSafeProxyFactoryWeb3Contract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = GnosisSafeProxyFactoryContract_V1_0_0_Web3;\n//# sourceMappingURL=GnosisSafeProxyFactoryContract_V1_0_0_Web3.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GnosisSafeProxyFactoryWeb3Contract_1 = __importDefault(require(\"../GnosisSafeProxyFactoryWeb3Contract\"));\nclass GnosisSafeProxyFactoryContract_V1_1_1_Web3 extends GnosisSafeProxyFactoryWeb3Contract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = GnosisSafeProxyFactoryContract_V1_1_1_Web3;\n//# sourceMappingURL=GnosisSafeProxyFactoryContract_V1_1_1_Web3.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst GnosisSafeProxyFactoryWeb3Contract_1 = __importDefault(require(\"../GnosisSafeProxyFactoryWeb3Contract\"));\nclass GnosisSafeProxyFactoryContract_V1_3_0_Web3 extends GnosisSafeProxyFactoryWeb3Contract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = GnosisSafeProxyFactoryContract_V1_3_0_Web3;\n//# sourceMappingURL=GnosisSafeProxyFactoryContract_V1_3_0_Web3.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst MultiSendWeb3Contract_1 = __importDefault(require(\"../MultiSendWeb3Contract\"));\nclass MultiSendContract_V1_1_1_Web3 extends MultiSendWeb3Contract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = MultiSendContract_V1_1_1_Web3;\n//# sourceMappingURL=MultiSendContract_V1_1_1_Web3.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst MultiSendWeb3Contract_1 = __importDefault(require(\"../MultiSendWeb3Contract\"));\nclass MultiSendContract_V1_3_0_Web3 extends MultiSendWeb3Contract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = MultiSendContract_V1_3_0_Web3;\n//# sourceMappingURL=MultiSendContract_V1_3_0_Web3.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst MultiSendCallOnlyWeb3Contract_1 = __importDefault(require(\"../MultiSendCallOnlyWeb3Contract\"));\nclass MultiSendCallOnlyContract_V1_3_0_Web3 extends MultiSendCallOnlyWeb3Contract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = MultiSendCallOnlyContract_V1_3_0_Web3;\n//# sourceMappingURL=MultiSendCallOnlyContract_V1_3_0_Web3.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst SignMessageLibWeb3Contract_1 = __importDefault(require(\"../SignMessageLibWeb3Contract\"));\nclass SignMessageLibContract_V1_3_0_Web3 extends SignMessageLibWeb3Contract_1.default {\n constructor(contract) {\n super(contract);\n this.contract = contract;\n }\n}\nexports.default = SignMessageLibContract_V1_3_0_Web3;\n//# sourceMappingURL=SignMessageLibContract_V1_3_0_Web3.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSafeL2SingletonDeployment = exports._safeL2Deployments = exports.getSafeSingletonDeployment = exports._safeDeployments = void 0;\nconst safe_l2_json_1 = __importDefault(require(\"./assets/v1.4.0/safe_l2.json\"));\nconst safe_json_1 = __importDefault(require(\"./assets/v1.4.0/safe.json\"));\nconst gnosis_safe_l2_json_1 = __importDefault(require(\"./assets/v1.3.0/gnosis_safe_l2.json\"));\nconst gnosis_safe_json_1 = __importDefault(require(\"./assets/v1.3.0/gnosis_safe.json\"));\nconst gnosis_safe_json_2 = __importDefault(require(\"./assets/v1.2.0/gnosis_safe.json\"));\nconst gnosis_safe_json_3 = __importDefault(require(\"./assets/v1.1.1/gnosis_safe.json\"));\nconst gnosis_safe_json_4 = __importDefault(require(\"./assets/v1.0.0/gnosis_safe.json\"));\nconst utils_1 = require(\"./utils\");\n// This is a sorted array (newest to oldest), exported for tests\nexports._safeDeployments = [\n safe_json_1.default, gnosis_safe_json_1.default, gnosis_safe_json_2.default, gnosis_safe_json_3.default, gnosis_safe_json_4.default\n];\nconst getSafeSingletonDeployment = (filter) => {\n return (0, utils_1.findDeployment)(filter, exports._safeDeployments);\n};\nexports.getSafeSingletonDeployment = getSafeSingletonDeployment;\n// This is a sorted array (newest to oldest), exported for tests\nexports._safeL2Deployments = [\n safe_l2_json_1.default, gnosis_safe_l2_json_1.default\n];\nconst getSafeL2SingletonDeployment = (filter) => {\n return (0, utils_1.findDeployment)(filter, exports._safeL2Deployments);\n};\nexports.getSafeL2SingletonDeployment = getSafeL2SingletonDeployment;\n","{\n \"defaultAddress\": \"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb\",\n \"released\": false,\n \"contractName\": \"SafeL2\",\n \"version\": \"1.4.0\",\n \"networkAddresses\": {\n \"5\": \"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb\",\n \"56\": \"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb\",\n \"100\": \"0x1eb4681c549d995AbdC4aB189cAbb9f00B508cAb\"\n },\n \"abi\": [\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AddedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"approvedHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ApproveHash\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"handler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ChangedFallbackHandler\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"guard\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ChangedGuard\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ChangedThreshold\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"DisabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"EnabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"txHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ExecutionFailure\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ExecutionFromModuleFailure\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ExecutionFromModuleSuccess\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"txHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ExecutionSuccess\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"RemovedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"SafeModuleTransaction\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address payable\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes\",\n \"name\": \"additionalInfo\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"SafeMultiSigTransaction\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"sender\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"SafeReceived\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"initiator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address[]\",\n \"name\": \"owners\",\n \"type\": \"address[]\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"threshold\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"initializer\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"fallbackHandler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"SafeSetup\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"msgHash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"SignMsg\",\n \"type\": \"event\"\n },\n {\n \"stateMutability\": \"nonpayable\",\n \"type\": \"fallback\"\n },\n {\n \"inputs\": [],\n \"name\": \"VERSION\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"addOwnerWithThreshold\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"hashToApprove\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"approveHash\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"approvedHashes\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"changeThreshold\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"dataHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"requiredSignatures\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"checkNSignatures\",\n \"outputs\": [],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"dataHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"checkSignatures\",\n \"outputs\": [],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevModule\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"disableModule\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"domainSeparator\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"enableModule\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_nonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"encodeTransactionData\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address payable\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"execTransaction\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"payable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"execTransactionFromModule\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"execTransactionFromModuleReturnData\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"returnData\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getChainId\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"start\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"pageSize\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getModulesPaginated\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"array\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"next\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getOwners\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"\",\n \"type\": \"address[]\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"offset\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"length\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getStorageAt\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getThreshold\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_nonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getTransactionHash\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isModuleEnabled\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isOwner\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"nonce\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"removeOwner\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"handler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setFallbackHandler\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"guard\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setGuard\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"_owners\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"fallbackHandler\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"paymentToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address payable\",\n \"name\": \"paymentReceiver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setup\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"signedMessages\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"targetContract\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"calldataPayload\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"simulateAndRevert\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"oldOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"newOwner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"swapOwner\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"stateMutability\": \"payable\",\n \"type\": \"receive\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0xc962E67D9490E154D81181879ddf4CD3b65D2132\",\n \"released\": false,\n \"contractName\": \"Safe\",\n \"version\": \"1.4.0\",\n \"networkAddresses\": {\n \"5\": \"0xc962E67D9490E154D81181879ddf4CD3b65D2132\",\n \"56\": \"0xc962E67D9490E154D81181879ddf4CD3b65D2132\",\n \"100\": \"0xc962E67D9490E154D81181879ddf4CD3b65D2132\"\n },\n \"abi\": [\n {\n \"inputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AddedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"approvedHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ApproveHash\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"handler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ChangedFallbackHandler\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"guard\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ChangedGuard\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ChangedThreshold\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"DisabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"EnabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"txHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ExecutionFailure\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ExecutionFromModuleFailure\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ExecutionFromModuleSuccess\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"txHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ExecutionSuccess\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"RemovedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"sender\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"SafeReceived\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"initiator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address[]\",\n \"name\": \"owners\",\n \"type\": \"address[]\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"threshold\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"initializer\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"fallbackHandler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"SafeSetup\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"msgHash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"SignMsg\",\n \"type\": \"event\"\n },\n {\n \"stateMutability\": \"nonpayable\",\n \"type\": \"fallback\"\n },\n {\n \"inputs\": [],\n \"name\": \"VERSION\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"addOwnerWithThreshold\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"hashToApprove\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"approveHash\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"approvedHashes\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"changeThreshold\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"dataHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"requiredSignatures\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"checkNSignatures\",\n \"outputs\": [],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"dataHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"checkSignatures\",\n \"outputs\": [],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevModule\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"disableModule\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"domainSeparator\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"enableModule\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_nonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"encodeTransactionData\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address payable\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"execTransaction\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"payable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"execTransactionFromModule\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"execTransactionFromModuleReturnData\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"returnData\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getChainId\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"start\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"pageSize\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getModulesPaginated\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"array\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"next\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getOwners\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"\",\n \"type\": \"address[]\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"offset\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"length\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getStorageAt\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getThreshold\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_nonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getTransactionHash\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isModuleEnabled\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isOwner\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"nonce\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"removeOwner\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"handler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setFallbackHandler\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"guard\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setGuard\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"_owners\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"fallbackHandler\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"paymentToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address payable\",\n \"name\": \"paymentReceiver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setup\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"signedMessages\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"targetContract\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"calldataPayload\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"simulateAndRevert\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"oldOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"newOwner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"swapOwner\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"stateMutability\": \"payable\",\n \"type\": \"receive\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"released\": true,\n \"contractName\": \"GnosisSafeL2\",\n \"version\": \"1.3.0\",\n \"networkAddresses\": {\n \"1\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"3\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"4\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"5\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"10\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"11\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"12\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"18\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"25\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"28\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"39\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"40\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"41\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"42\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"50\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"51\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"56\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"61\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"63\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"69\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"82\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"83\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"97\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"100\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"106\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"108\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"111\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"122\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"123\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"137\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"246\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"250\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"288\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"300\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"321\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"322\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"336\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"338\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"420\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"588\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"592\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"595\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"599\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"686\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"787\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"1001\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"1008\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"1088\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"1101\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"1111\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"1112\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"1115\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"1116\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"1284\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"1285\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"1287\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"1294\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"1807\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"1984\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"2001\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"2002\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"2008\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"2019\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"2020\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"2221\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"2222\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"3737\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"4002\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"4689\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"4918\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"4919\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"5001\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"7341\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"7700\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"8217\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"9000\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"9001\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"9728\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"10000\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"10001\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"10200\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"11235\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"11437\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"12357\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"23294\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"42161\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"42170\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"42220\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"43113\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"43114\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"43288\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"44787\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"45000\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"47805\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"54211\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"56288\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"59140\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"71401\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"71402\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"73799\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"80001\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"84531\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"200101\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"200202\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"333999\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"421611\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"421613\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"534353\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"11155111\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"245022926\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"1313161554\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"1313161555\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"1666600000\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"1666700000\": \"0xfb1bffC9d739B8D520DaF37dF666da4C687191EA\",\n \"11297108099\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n \"11297108109\": \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\"\n },\n \"abi\": [\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AddedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"approvedHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ApproveHash\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"handler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ChangedFallbackHandler\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"guard\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ChangedGuard\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ChangedThreshold\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"DisabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"EnabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"bytes32\",\n \"name\": \"txHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ExecutionFailure\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ExecutionFromModuleFailure\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ExecutionFromModuleSuccess\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"bytes32\",\n \"name\": \"txHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ExecutionSuccess\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"RemovedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"SafeModuleTransaction\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address payable\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"bytes\",\n \"name\": \"additionalInfo\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"SafeMultiSigTransaction\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"sender\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"SafeReceived\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"initiator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address[]\",\n \"name\": \"owners\",\n \"type\": \"address[]\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"threshold\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"initializer\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"fallbackHandler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"SafeSetup\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"msgHash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"SignMsg\",\n \"type\": \"event\"\n },\n {\n \"stateMutability\": \"nonpayable\",\n \"type\": \"fallback\"\n },\n {\n \"inputs\": [],\n \"name\": \"VERSION\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"addOwnerWithThreshold\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"hashToApprove\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"approveHash\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"approvedHashes\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"changeThreshold\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"dataHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"requiredSignatures\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"checkNSignatures\",\n \"outputs\": [],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"dataHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"checkSignatures\",\n \"outputs\": [],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevModule\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"disableModule\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"domainSeparator\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"enableModule\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_nonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"encodeTransactionData\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address payable\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"execTransaction\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"payable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"execTransactionFromModule\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"execTransactionFromModuleReturnData\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"returnData\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getChainId\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"start\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"pageSize\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getModulesPaginated\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"array\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"next\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getOwners\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"\",\n \"type\": \"address[]\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"offset\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"length\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getStorageAt\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getThreshold\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_nonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getTransactionHash\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isModuleEnabled\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isOwner\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"nonce\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"removeOwner\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"requiredTxGas\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"handler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setFallbackHandler\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"guard\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setGuard\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"_owners\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"fallbackHandler\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"paymentToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address payable\",\n \"name\": \"paymentReceiver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setup\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"signedMessages\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"targetContract\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"calldataPayload\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"simulateAndRevert\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"oldOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"newOwner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"swapOwner\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"stateMutability\": \"payable\",\n \"type\": \"receive\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"released\": true,\n \"contractName\": \"GnosisSafe\",\n \"version\": \"1.3.0\",\n \"networkAddresses\": {\n \"1\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"3\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"4\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"5\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"10\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"11\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"12\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"18\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"25\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"28\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"39\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"40\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"41\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"42\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"50\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"51\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"56\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"61\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"63\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"69\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"82\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"83\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"97\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"100\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"106\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"108\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"111\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"122\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"123\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"137\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"246\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"250\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"288\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"300\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"321\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"322\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"336\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"338\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"420\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"588\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"592\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"595\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"599\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"686\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"787\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"1001\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"1008\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"1088\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"1101\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"1111\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"1112\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"1115\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"1116\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"1284\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"1285\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"1287\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"1294\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"1807\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"1984\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"2001\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"2002\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"2008\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"2019\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"2020\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"2221\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"2222\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"3737\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"4002\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"4689\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"4918\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"4919\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"5001\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"7341\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"7700\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"8217\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"9000\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"9001\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"9728\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"10000\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"10001\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"10200\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"11235\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"11437\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"12357\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"23294\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"42161\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"42170\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"42220\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"43113\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"43114\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"43288\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"44787\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"45000\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"47805\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"54211\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"56288\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"59140\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"71401\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"71402\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"73799\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"80001\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"84531\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"200101\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"200202\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"333999\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"421611\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"421613\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"534353\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"11155111\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"245022926\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"1313161554\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"1313161555\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"1666600000\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"1666700000\": \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n \"11297108099\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\",\n \"11297108109\": \"0xd9Db270c1B5E3Bd161E8c8503c55cEABeE709552\"\n },\n \"abi\": [\n {\n \"inputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AddedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"approvedHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ApproveHash\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"handler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ChangedFallbackHandler\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"guard\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ChangedGuard\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ChangedThreshold\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"DisabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"EnabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"bytes32\",\n \"name\": \"txHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ExecutionFailure\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ExecutionFromModuleFailure\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ExecutionFromModuleSuccess\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"bytes32\",\n \"name\": \"txHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ExecutionSuccess\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"RemovedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"sender\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"SafeReceived\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"initiator\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address[]\",\n \"name\": \"owners\",\n \"type\": \"address[]\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"threshold\",\n \"type\": \"uint256\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"initializer\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"fallbackHandler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"SafeSetup\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"msgHash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"SignMsg\",\n \"type\": \"event\"\n },\n {\n \"stateMutability\": \"nonpayable\",\n \"type\": \"fallback\"\n },\n {\n \"inputs\": [],\n \"name\": \"VERSION\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"addOwnerWithThreshold\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"hashToApprove\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"approveHash\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"approvedHashes\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"changeThreshold\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"dataHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"requiredSignatures\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"checkNSignatures\",\n \"outputs\": [],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"dataHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"checkSignatures\",\n \"outputs\": [],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevModule\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"disableModule\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"domainSeparator\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"enableModule\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_nonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"encodeTransactionData\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address payable\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"execTransaction\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"payable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"execTransactionFromModule\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"execTransactionFromModuleReturnData\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"returnData\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getChainId\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"start\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"pageSize\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getModulesPaginated\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"array\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"next\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getOwners\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"\",\n \"type\": \"address[]\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"offset\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"length\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getStorageAt\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getThreshold\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_nonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getTransactionHash\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isModuleEnabled\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isOwner\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"nonce\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"removeOwner\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"requiredTxGas\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"handler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setFallbackHandler\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"guard\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setGuard\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"_owners\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"fallbackHandler\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"paymentToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address payable\",\n \"name\": \"paymentReceiver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setup\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"signedMessages\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"targetContract\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"calldataPayload\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"simulateAndRevert\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"oldOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"newOwner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"swapOwner\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"stateMutability\": \"payable\",\n \"type\": \"receive\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\n \"released\": true,\n \"contractName\": \"GnosisSafe\",\n \"version\": \"1.2.0\",\n \"networkAddresses\": {\n \"1\": \"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\n \"4\": \"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\n \"5\": \"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\n \"42\": \"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\n \"88\": \"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\n \"100\": \"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\n \"246\": \"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\",\n \"73799\": \"0x6851D6fDFAfD08c0295C392436245E5bc78B0185\"\n },\n \"abi\": [\n {\n \"inputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AddedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"approvedHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ApproveHash\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"masterCopy\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ChangedMasterCopy\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ChangedThreshold\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"contract Module\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"DisabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"contract Module\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"EnabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"bytes32\",\n \"name\": \"txHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ExecutionFailure\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ExecutionFromModuleFailure\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ExecutionFromModuleSuccess\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"bytes32\",\n \"name\": \"txHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ExecutionSuccess\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"RemovedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"msgHash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"SignMsg\",\n \"type\": \"event\"\n },\n {\n \"payable\": true,\n \"stateMutability\": \"payable\",\n \"type\": \"fallback\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"NAME\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"VERSION\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"addOwnerWithThreshold\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"approvedHashes\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_masterCopy\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"changeMasterCopy\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"changeThreshold\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"contract Module\",\n \"name\": \"prevModule\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"contract Module\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"disableModule\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"domainSeparator\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"contract Module\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"enableModule\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"execTransactionFromModule\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"execTransactionFromModuleReturnData\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"returnData\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"getModules\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"\",\n \"type\": \"address[]\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"start\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"pageSize\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getModulesPaginated\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"array\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"next\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"getOwners\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"\",\n \"type\": \"address[]\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"getThreshold\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"contract Module\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isModuleEnabled\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isOwner\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"nonce\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"removeOwner\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"handler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setFallbackHandler\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"signedMessages\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"oldOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"newOwner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"swapOwner\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"_owners\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"fallbackHandler\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"paymentToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address payable\",\n \"name\": \"paymentReceiver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setup\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address payable\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"execTransaction\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n }\n ],\n \"payable\": true,\n \"stateMutability\": \"payable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"requiredTxGas\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"hashToApprove\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"approveHash\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"_data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"signMessage\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"_data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"_signature\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"isValidSignature\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"message\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"getMessageHash\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_nonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"encodeTransactionData\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_nonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getTransactionHash\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\n \"released\": true,\n \"contractName\": \"GnosisSafe\",\n \"version\": \"1.1.1\",\n \"networkAddresses\": {\n \"1\": \"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\n \"4\": \"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\n \"5\": \"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\n \"42\": \"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\n \"88\": \"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\n \"100\": \"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\n \"246\": \"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\",\n \"73799\": \"0x34CfAC646f301356fAa8B21e94227e3583Fe3F5F\"\n },\n \"abi\": [\n {\n \"inputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"AddedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"approvedHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ApproveHash\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"masterCopy\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ChangedMasterCopy\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ChangedThreshold\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"contract Module\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"DisabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"contract Module\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"EnabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"bytes32\",\n \"name\": \"txHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ExecutionFailure\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ExecutionFromModuleFailure\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ExecutionFromModuleSuccess\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"bytes32\",\n \"name\": \"txHash\",\n \"type\": \"bytes32\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"ExecutionSuccess\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"RemovedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"msgHash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"SignMsg\",\n \"type\": \"event\"\n },\n {\n \"payable\": true,\n \"stateMutability\": \"payable\",\n \"type\": \"fallback\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"NAME\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"VERSION\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"addOwnerWithThreshold\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"approvedHashes\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_masterCopy\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"changeMasterCopy\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"changeThreshold\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"contract Module\",\n \"name\": \"prevModule\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"contract Module\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"disableModule\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"domainSeparator\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"contract Module\",\n \"name\": \"module\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"enableModule\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"execTransactionFromModule\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"execTransactionFromModuleReturnData\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"returnData\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"getModules\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"\",\n \"type\": \"address[]\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"start\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"pageSize\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getModulesPaginated\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"array\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"next\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"getOwners\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"\",\n \"type\": \"address[]\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"getThreshold\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"isOwner\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"nonce\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"owner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"removeOwner\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"handler\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setFallbackHandler\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"signedMessages\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"prevOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"oldOwner\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"newOwner\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"swapOwner\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"_owners\",\n \"type\": \"address[]\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_threshold\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"fallbackHandler\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"paymentToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"payment\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address payable\",\n \"name\": \"paymentReceiver\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"setup\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address payable\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"signatures\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"execTransaction\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"requiredTxGas\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"hashToApprove\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"approveHash\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"_data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"signMessage\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"_data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"_signature\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"isValidSignature\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"message\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"getMessageHash\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_nonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"encodeTransactionData\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"safeTxGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"baseGas\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"gasPrice\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"gasToken\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"refundReceiver\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"_nonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"getTransactionHash\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A\",\n \"released\": true,\n \"contractName\": \"GnosisSafe\",\n \"version\": \"1.0.0\",\n \"networkAddresses\": {\n \"1\": \"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A\",\n \"4\": \"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A\",\n \"5\": \"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A\",\n \"42\": \"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A\",\n \"100\": \"0xb6029EA3B2c51D09a50B53CA8012FeEB05bDa35A\"\n },\n \"abi\": [\n {\n \"constant\": false,\n \"inputs\": [\n { \"name\": \"owner\", \"type\": \"address\" },\n { \"name\": \"_threshold\", \"type\": \"uint256\" }\n ],\n \"name\": \"addOwnerWithThreshold\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"DOMAIN_SEPARATOR_TYPEHASH\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"bytes32\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [{ \"name\": \"owner\", \"type\": \"address\" }],\n \"name\": \"isOwner\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"bool\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n { \"name\": \"to\", \"type\": \"address\" },\n { \"name\": \"value\", \"type\": \"uint256\" },\n { \"name\": \"data\", \"type\": \"bytes\" },\n { \"name\": \"operation\", \"type\": \"uint8\" }\n ],\n \"name\": \"execTransactionFromModule\",\n \"outputs\": [{ \"name\": \"success\", \"type\": \"bool\" }],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [{ \"name\": \"\", \"type\": \"bytes32\" }],\n \"name\": \"signedMessages\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"uint256\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [{ \"name\": \"module\", \"type\": \"address\" }],\n \"name\": \"enableModule\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [{ \"name\": \"_threshold\", \"type\": \"uint256\" }],\n \"name\": \"changeThreshold\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n { \"name\": \"\", \"type\": \"address\" },\n { \"name\": \"\", \"type\": \"bytes32\" }\n ],\n \"name\": \"approvedHashes\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"uint256\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [{ \"name\": \"_masterCopy\", \"type\": \"address\" }],\n \"name\": \"changeMasterCopy\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"SENTINEL_MODULES\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"address\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"SENTINEL_OWNERS\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"address\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"getOwners\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"address[]\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"NAME\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"string\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"nonce\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"uint256\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"getModules\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"address[]\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"SAFE_MSG_TYPEHASH\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"bytes32\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"SAFE_TX_TYPEHASH\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"bytes32\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n { \"name\": \"prevModule\", \"type\": \"address\" },\n { \"name\": \"module\", \"type\": \"address\" }\n ],\n \"name\": \"disableModule\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n { \"name\": \"prevOwner\", \"type\": \"address\" },\n { \"name\": \"oldOwner\", \"type\": \"address\" },\n { \"name\": \"newOwner\", \"type\": \"address\" }\n ],\n \"name\": \"swapOwner\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"getThreshold\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"uint256\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"domainSeparator\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"bytes32\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n { \"name\": \"prevOwner\", \"type\": \"address\" },\n { \"name\": \"owner\", \"type\": \"address\" },\n { \"name\": \"_threshold\", \"type\": \"uint256\" }\n ],\n \"name\": \"removeOwner\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"VERSION\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"string\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n { \"payable\": true, \"stateMutability\": \"payable\", \"type\": \"fallback\" },\n {\n \"anonymous\": false,\n \"inputs\": [{ \"indexed\": false, \"name\": \"txHash\", \"type\": \"bytes32\" }],\n \"name\": \"ExecutionFailed\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [{ \"indexed\": false, \"name\": \"owner\", \"type\": \"address\" }],\n \"name\": \"AddedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [{ \"indexed\": false, \"name\": \"owner\", \"type\": \"address\" }],\n \"name\": \"RemovedOwner\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [{ \"indexed\": false, \"name\": \"threshold\", \"type\": \"uint256\" }],\n \"name\": \"ChangedThreshold\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [{ \"indexed\": false, \"name\": \"module\", \"type\": \"address\" }],\n \"name\": \"EnabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [{ \"indexed\": false, \"name\": \"module\", \"type\": \"address\" }],\n \"name\": \"DisabledModule\",\n \"type\": \"event\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n { \"indexed\": false, \"name\": \"newContract\", \"type\": \"address\" }\n ],\n \"name\": \"ContractCreation\",\n \"type\": \"event\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n { \"name\": \"_owners\", \"type\": \"address[]\" },\n { \"name\": \"_threshold\", \"type\": \"uint256\" },\n { \"name\": \"to\", \"type\": \"address\" },\n { \"name\": \"data\", \"type\": \"bytes\" },\n { \"name\": \"paymentToken\", \"type\": \"address\" },\n { \"name\": \"payment\", \"type\": \"uint256\" },\n { \"name\": \"paymentReceiver\", \"type\": \"address\" }\n ],\n \"name\": \"setup\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n { \"name\": \"to\", \"type\": \"address\" },\n { \"name\": \"value\", \"type\": \"uint256\" },\n { \"name\": \"data\", \"type\": \"bytes\" },\n { \"name\": \"operation\", \"type\": \"uint8\" },\n { \"name\": \"safeTxGas\", \"type\": \"uint256\" },\n { \"name\": \"baseGas\", \"type\": \"uint256\" },\n { \"name\": \"gasPrice\", \"type\": \"uint256\" },\n { \"name\": \"gasToken\", \"type\": \"address\" },\n { \"name\": \"refundReceiver\", \"type\": \"address\" },\n { \"name\": \"signatures\", \"type\": \"bytes\" }\n ],\n \"name\": \"execTransaction\",\n \"outputs\": [{ \"name\": \"success\", \"type\": \"bool\" }],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n { \"name\": \"to\", \"type\": \"address\" },\n { \"name\": \"value\", \"type\": \"uint256\" },\n { \"name\": \"data\", \"type\": \"bytes\" },\n { \"name\": \"operation\", \"type\": \"uint8\" }\n ],\n \"name\": \"requiredTxGas\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"uint256\" }],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [{ \"name\": \"hashToApprove\", \"type\": \"bytes32\" }],\n \"name\": \"approveHash\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [{ \"name\": \"_data\", \"type\": \"bytes\" }],\n \"name\": \"signMessage\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n { \"name\": \"_data\", \"type\": \"bytes\" },\n { \"name\": \"_signature\", \"type\": \"bytes\" }\n ],\n \"name\": \"isValidSignature\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"bytes4\" }],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [{ \"name\": \"message\", \"type\": \"bytes\" }],\n \"name\": \"getMessageHash\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"bytes32\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n { \"name\": \"to\", \"type\": \"address\" },\n { \"name\": \"value\", \"type\": \"uint256\" },\n { \"name\": \"data\", \"type\": \"bytes\" },\n { \"name\": \"operation\", \"type\": \"uint8\" },\n { \"name\": \"safeTxGas\", \"type\": \"uint256\" },\n { \"name\": \"baseGas\", \"type\": \"uint256\" },\n { \"name\": \"gasPrice\", \"type\": \"uint256\" },\n { \"name\": \"gasToken\", \"type\": \"address\" },\n { \"name\": \"refundReceiver\", \"type\": \"address\" },\n { \"name\": \"_nonce\", \"type\": \"uint256\" }\n ],\n \"name\": \"encodeTransactionData\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"bytes\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [\n { \"name\": \"to\", \"type\": \"address\" },\n { \"name\": \"value\", \"type\": \"uint256\" },\n { \"name\": \"data\", \"type\": \"bytes\" },\n { \"name\": \"operation\", \"type\": \"uint8\" },\n { \"name\": \"safeTxGas\", \"type\": \"uint256\" },\n { \"name\": \"baseGas\", \"type\": \"uint256\" },\n { \"name\": \"gasPrice\", \"type\": \"uint256\" },\n { \"name\": \"gasToken\", \"type\": \"address\" },\n { \"name\": \"refundReceiver\", \"type\": \"address\" },\n { \"name\": \"_nonce\", \"type\": \"uint256\" }\n ],\n \"name\": \"getTransactionHash\",\n \"outputs\": [{ \"name\": \"\", \"type\": \"bytes32\" }],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n }\n ]\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.findDeployment = void 0;\nconst satisfies_1 = __importDefault(require(\"semver/functions/satisfies\"));\nconst DEFAULT_FILTER = { released: true };\nconst findDeployment = (criteria = DEFAULT_FILTER, deployments) => {\n const criteriaWithDefaults = Object.assign(Object.assign({}, DEFAULT_FILTER), criteria);\n return deployments.find((deployment) => {\n if (typeof criteriaWithDefaults.version !== 'undefined' && !(0, satisfies_1.default)(deployment.version, criteriaWithDefaults.version))\n return false;\n if (typeof criteriaWithDefaults.released === 'boolean' && deployment.released != criteriaWithDefaults.released)\n return false;\n if (criteriaWithDefaults.network && !deployment.networkAddresses[criteriaWithDefaults.network])\n return false;\n return true;\n });\n};\nexports.findDeployment = findDeployment;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getProxyFactoryDeployment = void 0;\nconst proxy_factory_json_1 = __importDefault(require(\"./assets/v1.0.0/proxy_factory.json\"));\nconst proxy_factory_json_2 = __importDefault(require(\"./assets/v1.1.1/proxy_factory.json\"));\nconst proxy_factory_json_3 = __importDefault(require(\"./assets/v1.3.0/proxy_factory.json\"));\nconst safe_proxy_factory_json_1 = __importDefault(require(\"./assets/v1.4.0/safe_proxy_factory.json\"));\nconst utils_1 = require(\"./utils\");\n// This is a sorted array (newest to oldest)\nconst factoryDeployments = [\n safe_proxy_factory_json_1.default, proxy_factory_json_3.default, proxy_factory_json_2.default, proxy_factory_json_1.default\n];\nconst getProxyFactoryDeployment = (filter) => {\n return (0, utils_1.findDeployment)(filter, factoryDeployments);\n};\nexports.getProxyFactoryDeployment = getProxyFactoryDeployment;\n","{\n \"defaultAddress\": \"0x12302fE9c02ff50939BaAaaf415fc226C078613C\",\n \"released\": true,\n \"contractName\": \"ProxyFactory\",\n \"version\": \"1.0.0\",\n \"networkAddresses\": {\n \"1\": \"0x12302fE9c02ff50939BaAaaf415fc226C078613C\",\n \"4\": \"0x12302fE9c02ff50939BaAaaf415fc226C078613C\",\n \"5\": \"0x12302fE9c02ff50939BaAaaf415fc226C078613C\",\n \"42\": \"0x12302fE9c02ff50939BaAaaf415fc226C078613C\",\n \"100\": \"0x12302fE9c02ff50939BaAaaf415fc226C078613C\"\n },\n \"abi\": [\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"_mastercopy\",\n \"type\": \"address\"\n },\n {\n \"name\": \"initializer\",\n \"type\": \"bytes\"\n },\n {\n \"name\": \"saltNonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"createProxyWithNonce\",\n \"outputs\": [\n {\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"proxyCreationCode\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"name\": \"masterCopy\",\n \"type\": \"address\"\n },\n {\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"createProxy\",\n \"outputs\": [\n {\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"proxyRuntimeCode\",\n \"outputs\": [\n {\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ProxyCreation\",\n \"type\": \"event\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\n \"released\": true,\n \"contractName\": \"ProxyFactory\",\n \"version\": \"1.1.1\",\n \"networkAddresses\": {\n \"1\": \"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\n \"4\": \"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\n \"5\": \"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\n \"42\": \"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\n \"88\": \"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\n \"100\": \"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\n \"246\": \"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\",\n \"73799\": \"0x76E2cFc1F5Fa8F6a5b3fC4c8F4788F0116861F9B\"\n },\n \"abi\": [\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"contract GnosisSafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ProxyCreation\",\n \"type\": \"event\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"masterCopy\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"createProxy\",\n \"outputs\": [\n {\n \"internalType\": \"contract GnosisSafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"proxyRuntimeCode\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"proxyCreationCode\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_mastercopy\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"initializer\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"saltNonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"createProxyWithNonce\",\n \"outputs\": [\n {\n \"internalType\": \"contract GnosisSafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_mastercopy\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"initializer\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"saltNonce\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"contract IProxyCreationCallback\",\n \"name\": \"callback\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"createProxyWithCallback\",\n \"outputs\": [\n {\n \"internalType\": \"contract GnosisSafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_mastercopy\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"initializer\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"saltNonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"calculateCreateProxyWithNonceAddress\",\n \"outputs\": [\n {\n \"internalType\": \"contract GnosisSafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"released\": true,\n \"contractName\": \"GnosisSafeProxyFactory\",\n \"version\": \"1.3.0\",\n \"networkAddresses\": {\n \"1\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"3\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"4\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"5\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"10\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"11\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"12\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"18\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"25\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"28\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"39\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"40\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"41\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"42\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"50\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"51\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"56\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"61\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"63\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"69\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"82\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"83\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"97\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"100\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"106\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"108\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"111\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"122\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"123\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"137\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"246\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"250\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"288\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"300\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"321\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"322\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"336\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"338\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"420\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"588\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"592\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"595\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"599\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"686\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"787\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"1001\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"1008\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"1088\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"1101\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"1111\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"1112\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"1115\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"1116\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"1284\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"1285\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"1287\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"1294\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"1807\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"1984\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"2001\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"2002\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"2008\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"2019\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"2020\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"2221\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"2222\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"3737\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"4002\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"4689\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"4918\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"4919\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"5001\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"7341\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"7700\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"8217\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"9000\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"9001\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"9728\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"10000\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"10001\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"10200\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"11235\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"11437\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"12357\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"23294\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"42161\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"42170\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"42220\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"43113\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"43114\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"43288\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"44787\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"45000\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"47805\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"54211\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"56288\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"59140\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"71401\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"71402\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"73799\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"80001\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"84531\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"200101\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"200202\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"333999\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"421611\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"421613\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"534353\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"11155111\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"245022926\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"1313161554\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"1313161555\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"1666600000\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"1666700000\": \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n \"11297108099\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n \"11297108109\": \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\"\n },\n \"abi\": [\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"contract GnosisSafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"singleton\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ProxyCreation\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_singleton\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"initializer\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"saltNonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"calculateCreateProxyWithNonceAddress\",\n \"outputs\": [\n {\n \"internalType\": \"contract GnosisSafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"singleton\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"createProxy\",\n \"outputs\": [\n {\n \"internalType\": \"contract GnosisSafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_singleton\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"initializer\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"saltNonce\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"contract IProxyCreationCallback\",\n \"name\": \"callback\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"createProxyWithCallback\",\n \"outputs\": [\n {\n \"internalType\": \"contract GnosisSafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_singleton\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"initializer\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"saltNonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"createProxyWithNonce\",\n \"outputs\": [\n {\n \"internalType\": \"contract GnosisSafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"proxyCreationCode\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"proxyRuntimeCode\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67\",\n \"contractName\": \"SafeProxyFactory\",\n \"version\": \"1.4.0\",\n \"released\": false,\n \"networkAddresses\": {\n \"5\": \"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67\",\n \"56\": \"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67\",\n \"100\": \"0x4e1DCf7AD4e460CfD30791CCC4F9c8a4f820ec67\"\n },\n \"abi\": [\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"contract SafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n },\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"singleton\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ProxyCreation\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_singleton\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"initializer\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"saltNonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"createChainSpecificProxyWithNonce\",\n \"outputs\": [\n {\n \"internalType\": \"contract SafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_singleton\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"initializer\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"saltNonce\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"contract IProxyCreationCallback\",\n \"name\": \"callback\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"createProxyWithCallback\",\n \"outputs\": [\n {\n \"internalType\": \"contract SafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"_singleton\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"initializer\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"saltNonce\",\n \"type\": \"uint256\"\n }\n ],\n \"name\": \"createProxyWithNonce\",\n \"outputs\": [\n {\n \"internalType\": \"contract SafeProxy\",\n \"name\": \"proxy\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getChainId\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"proxyCreationCode\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n }\n ]\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSignMessageLibDeployment = exports.getCreateCallDeployment = exports.getMultiSendCallOnlyDeployment = exports.getMultiSendDeployment = void 0;\nconst create_call_json_1 = __importDefault(require(\"./assets/v1.3.0/create_call.json\"));\nconst create_call_json_2 = __importDefault(require(\"./assets/v1.4.0/create_call.json\"));\nconst multi_send_json_1 = __importDefault(require(\"./assets/v1.1.1/multi_send.json\"));\nconst multi_send_json_2 = __importDefault(require(\"./assets/v1.3.0/multi_send.json\"));\nconst multi_send_json_3 = __importDefault(require(\"./assets/v1.4.0/multi_send.json\"));\nconst multi_send_call_only_json_1 = __importDefault(require(\"./assets/v1.3.0/multi_send_call_only.json\"));\nconst multi_send_call_only_json_2 = __importDefault(require(\"./assets/v1.4.0/multi_send_call_only.json\"));\nconst sign_message_lib_json_1 = __importDefault(require(\"./assets/v1.3.0/sign_message_lib.json\"));\nconst sign_message_lib_json_2 = __importDefault(require(\"./assets/v1.4.0/sign_message_lib.json\"));\nconst utils_1 = require(\"./utils\");\n// This is a sorted array (by preference, currently we use 111 in most cases)\nconst multiSendDeployments = [\n multi_send_json_3.default, multi_send_json_2.default, multi_send_json_1.default\n];\nconst getMultiSendDeployment = (filter) => {\n return (0, utils_1.findDeployment)(filter, multiSendDeployments);\n};\nexports.getMultiSendDeployment = getMultiSendDeployment;\n// This is a sorted array (by preference)\nconst multiSendCallOnlyDeployments = [\n multi_send_call_only_json_2.default, multi_send_call_only_json_1.default\n];\nconst getMultiSendCallOnlyDeployment = (filter) => {\n return (0, utils_1.findDeployment)(filter, multiSendCallOnlyDeployments);\n};\nexports.getMultiSendCallOnlyDeployment = getMultiSendCallOnlyDeployment;\n// This is a sorted array (by preference)\nconst createCallDeployments = [\n create_call_json_2.default, create_call_json_1.default\n];\nconst getCreateCallDeployment = (filter) => {\n return (0, utils_1.findDeployment)(filter, createCallDeployments);\n};\nexports.getCreateCallDeployment = getCreateCallDeployment;\nconst signMessageLibDeployments = [\n sign_message_lib_json_2.default, sign_message_lib_json_1.default\n];\nconst getSignMessageLibDeployment = (filter) => {\n return (0, utils_1.findDeployment)(filter, signMessageLibDeployments);\n};\nexports.getSignMessageLibDeployment = getSignMessageLibDeployment;\n","{\n \"defaultAddress\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"released\": true,\n \"contractName\": \"CreateCall\",\n \"version\": \"1.3.0\",\n \"networkAddresses\": {\n \"1\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"3\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"4\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"5\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"10\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"11\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"12\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"18\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"25\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"28\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"39\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"40\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"41\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"42\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"50\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"51\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"56\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"61\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"63\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"69\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"82\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"83\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"97\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"100\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"106\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"108\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"111\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"122\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"123\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"137\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"246\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"250\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"288\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"300\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"321\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"322\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"336\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"338\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"420\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"588\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"592\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"595\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"599\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"686\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"787\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"1001\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"1008\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"1088\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"1101\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"1111\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"1112\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"1115\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"1116\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"1284\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"1285\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"1287\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"1294\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"1807\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"1984\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"2001\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"2002\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"2008\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"2019\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"2020\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"2221\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"2222\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"3737\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"4002\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"4689\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"4918\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"4919\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"5001\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"7341\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"7700\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"8217\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"9000\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"9001\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"9728\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"10000\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"10001\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"10200\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"11235\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"11437\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"12357\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"23294\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"42161\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"42170\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"42220\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"43113\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"43114\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"43288\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"44787\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"45000\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"47805\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"54211\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"56288\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"59140\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"71401\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"71402\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"73799\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"80001\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"84531\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"200101\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"200202\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"333999\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"421611\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"421613\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"534353\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"11155111\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"245022926\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"1313161554\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"1313161555\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"1666600000\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"1666700000\": \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n \"11297108099\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n \"11297108109\": \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\"\n },\n \"abi\": [\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": false,\n \"internalType\": \"address\",\n \"name\": \"newContract\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ContractCreation\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"deploymentData\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"performCreate\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"newContract\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"deploymentData\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"salt\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"performCreate2\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"newContract\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0x9b35Af71d77eaf8d7e40252370304687390A1A52\",\n \"released\": false,\n \"contractName\": \"CreateCall\",\n \"version\": \"1.4.0\",\n \"networkAddresses\": {\n \"5\": \"0x9b35Af71d77eaf8d7e40252370304687390A1A52\",\n \"56\": \"0x9b35Af71d77eaf8d7e40252370304687390A1A52\",\n \"100\": \"0x9b35Af71d77eaf8d7e40252370304687390A1A52\"\n },\n \"abi\": [\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"address\",\n \"name\": \"newContract\",\n \"type\": \"address\"\n }\n ],\n \"name\": \"ContractCreation\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"deploymentData\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"performCreate\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"newContract\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"deploymentData\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes32\",\n \"name\": \"salt\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"performCreate2\",\n \"outputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"newContract\",\n \"type\": \"address\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\n \"released\": true,\n \"contractName\": \"MultiSend\",\n \"version\": \"1.1.1\",\n \"networkAddresses\": {\n \"1\": \"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\n \"4\": \"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\n \"5\": \"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\n \"42\": \"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\n \"88\": \"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\n \"100\": \"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\n \"246\": \"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\",\n \"73799\": \"0x8D29bE29923b68abfDD21e541b9374737B49cdAD\"\n },\n \"abi\": [\n {\n \"inputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"transactions\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"multiSend\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"released\": true,\n \"contractName\": \"MultiSend\",\n \"version\": \"1.3.0\",\n \"networkAddresses\": {\n \"1\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"3\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"4\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"5\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"10\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"11\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"12\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"18\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"25\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"28\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"39\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"40\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"41\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"42\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"50\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"51\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"56\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"61\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"63\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"69\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"82\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"83\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"97\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"100\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"106\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"108\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"111\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"122\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"123\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"137\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"246\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"250\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"288\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"300\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"321\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"322\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"336\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"338\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"420\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"588\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"592\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"595\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"599\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"686\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"787\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"1001\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"1008\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"1088\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"1101\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"1111\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"1112\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"1115\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"1116\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"1284\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"1285\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"1287\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"1294\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"1807\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"1984\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"2001\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"2002\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"2008\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"2019\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"2020\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"2221\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"2222\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"3737\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"4002\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"4689\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"4918\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"4919\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"5001\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"7341\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"7700\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"8217\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"9000\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"9001\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"9728\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"10000\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"10001\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"10200\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"11235\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"11437\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"12357\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"23294\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"42161\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"42170\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"42220\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"43113\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"43114\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"43288\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"44787\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"45000\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"47805\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"54211\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"56288\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"59140\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"71401\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"71402\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"73799\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"80001\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"84531\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"200101\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"200202\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"333999\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"421611\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"421613\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"534353\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"11155111\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"245022926\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"1313161554\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"1313161555\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"1666600000\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"1666700000\": \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n \"11297108099\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n \"11297108109\": \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\"\n },\n \"abi\": [\n {\n \"inputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"transactions\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"multiSend\",\n \"outputs\": [],\n \"stateMutability\": \"payable\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526\",\n \"released\": false,\n \"contractName\": \"MultiSend\",\n \"version\": \"1.4.0\",\n \"networkAddresses\": {\n \"5\": \"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526\",\n \"56\": \"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526\",\n \"100\": \"0x38869bf66a61cF6bDB996A6aE40D5853Fd43B526\"\n },\n \"abi\": [\n {\n \"inputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"transactions\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"multiSend\",\n \"outputs\": [],\n \"stateMutability\": \"payable\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"released\": true,\n \"contractName\": \"MultiSendCallOnly\",\n \"version\": \"1.3.0\",\n \"networkAddresses\": {\n \"1\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"3\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"4\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"5\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"10\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"11\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"12\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"18\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"25\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"28\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"39\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"40\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"41\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"42\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"50\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"51\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"56\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"61\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"63\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"69\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"82\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"83\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"97\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"100\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"106\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"108\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"111\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"122\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"123\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"137\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"246\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"250\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"288\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"300\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"321\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"322\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"336\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"338\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"420\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"588\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"592\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"595\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"599\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"686\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"787\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"1001\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"1008\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"1088\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"1101\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"1111\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"1112\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"1115\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"1116\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"1284\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"1285\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"1287\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"1294\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"1807\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"1984\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"2001\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"2002\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"2008\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"2019\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"2020\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"2221\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"2222\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"3737\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"4002\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"4689\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"4918\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"4919\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"5001\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"7341\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"7700\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"8217\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"9000\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"9001\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"9728\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"10000\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"10001\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"10200\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"11235\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"11437\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"12357\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"23294\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"42161\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"42170\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"42220\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"43113\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"43114\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"43288\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"44787\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"45000\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"47805\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"54211\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"56288\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"59140\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"71401\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"71402\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"73799\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"80001\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"84531\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"200101\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"200202\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"333999\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"421611\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"421613\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"534353\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"11155111\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"245022926\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"1313161554\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"1313161555\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"1666600000\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"1666700000\": \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n \"11297108099\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n \"11297108109\": \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\"\n },\n \"abi\": [\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"transactions\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"multiSend\",\n \"outputs\": [],\n \"stateMutability\": \"payable\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0x9641d764fc13c8B624c04430C7356C1C7C8102e2\",\n \"released\": false,\n \"contractName\": \"MultiSendCallOnly\",\n \"version\": \"1.4.0\",\n \"networkAddresses\": {\n \"5\": \"0x9641d764fc13c8B624c04430C7356C1C7C8102e2\",\n \"56\": \"0x9641d764fc13c8B624c04430C7356C1C7C8102e2\",\n \"100\": \"0x9641d764fc13c8B624c04430C7356C1C7C8102e2\"\n },\n \"abi\": [\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"transactions\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"multiSend\",\n \"outputs\": [],\n \"stateMutability\": \"payable\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"contractName\": \"SignMessageLib\",\n \"version\": \"1.3.0\",\n \"released\": true,\n \"networkAddresses\": {\n \"1\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"3\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"4\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"5\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"10\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"11\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"12\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"18\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"25\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"28\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"39\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"40\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"41\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"42\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"50\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"51\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"56\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"61\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"63\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"69\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"82\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"83\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"97\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"100\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"106\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"108\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"111\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"122\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"123\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"137\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"246\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"250\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"288\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"300\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"321\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"322\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"336\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"338\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"420\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"588\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"592\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"595\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"599\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"686\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"787\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"1001\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"1008\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"1088\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"1101\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"1111\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"1112\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"1115\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"1116\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"1284\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"1285\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"1287\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"1294\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"1807\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"1984\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"2001\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"2002\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"2008\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"2019\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"2020\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"2221\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"2222\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"3737\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"4002\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"4689\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"4918\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"4919\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"5001\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"7341\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"7700\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"8217\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"9000\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"9001\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"9728\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"10000\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"10001\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"10200\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"11235\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"11437\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"12357\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"23294\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"42161\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"42170\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"42220\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"43113\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"43114\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"43288\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"44787\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"45000\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"47805\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"54211\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"56288\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"59140\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"71401\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"71402\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"73799\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"80001\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"84531\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"200101\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"200202\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"421611\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"421613\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"534353\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"11155111\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"245022926\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"1313161554\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"1313161555\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"1666600000\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"1666700000\": \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n \"11297108099\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n \"11297108109\": \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\"\n },\n \"abi\": [\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"msgHash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"SignMsg\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"message\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"getMessageHash\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"_data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"signMessage\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520\",\n \"contractName\": \"SignMessageLib\",\n \"version\": \"1.4.0\",\n \"released\": false,\n \"networkAddresses\": {\n \"5\": \"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520\",\n \"56\": \"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520\",\n \"100\": \"0x58FCe385Ed16beB4BCE49c8DF34c7d6975807520\"\n },\n \"abi\": [\n {\n \"anonymous\": false,\n \"inputs\": [\n {\n \"indexed\": true,\n \"internalType\": \"bytes32\",\n \"name\": \"msgHash\",\n \"type\": \"bytes32\"\n }\n ],\n \"name\": \"SignMsg\",\n \"type\": \"event\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"message\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"getMessageHash\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"_data\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"signMessage\",\n \"outputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n ]\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getFallbackHandlerDeployment = exports.getCompatibilityFallbackHandlerDeployment = exports.getDefaultCallbackHandlerDeployment = void 0;\nconst default_callback_handler_json_1 = __importDefault(require(\"./assets/v1.1.1/default_callback_handler.json\"));\nconst compatibility_fallback_handler_json_1 = __importDefault(require(\"./assets/v1.3.0/compatibility_fallback_handler.json\"));\nconst compatibility_fallback_handler_json_2 = __importDefault(require(\"./assets/v1.4.0/compatibility_fallback_handler.json\"));\nconst utils_1 = require(\"./utils\");\n// This is a sorted array (by preference)\nconst defaultCallbackHandlerDeployments = [\n default_callback_handler_json_1.default\n];\nconst getDefaultCallbackHandlerDeployment = (filter) => {\n return (0, utils_1.findDeployment)(filter, defaultCallbackHandlerDeployments);\n};\nexports.getDefaultCallbackHandlerDeployment = getDefaultCallbackHandlerDeployment;\n// This is a sorted array (by preference)\nconst compatFallbackHandlerDeployments = [\n compatibility_fallback_handler_json_2.default, compatibility_fallback_handler_json_1.default\n];\nconst getCompatibilityFallbackHandlerDeployment = (filter) => {\n return (0, utils_1.findDeployment)(filter, compatFallbackHandlerDeployments);\n};\nexports.getCompatibilityFallbackHandlerDeployment = getCompatibilityFallbackHandlerDeployment;\n// This is a sorted array (by preference)\nconst fallbackHandlerDeployments = [\n compatibility_fallback_handler_json_2.default, compatibility_fallback_handler_json_1.default, default_callback_handler_json_1.default\n];\nconst getFallbackHandlerDeployment = (filter) => {\n return (0, utils_1.findDeployment)(filter, fallbackHandlerDeployments);\n};\nexports.getFallbackHandlerDeployment = getFallbackHandlerDeployment;\n","{\n \"defaultAddress\": \"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\n \"released\": true,\n \"contractName\": \"DefaultCallbackHandler\",\n \"version\": \"1.1.1\",\n \"networkAddresses\": {\n \"1\": \"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\n \"4\": \"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\n \"5\": \"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\n \"42\": \"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\n \"88\": \"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\n \"100\": \"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\n \"246\": \"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\",\n \"73799\": \"0xd5D82B6aDDc9027B22dCA772Aa68D5d74cdBdF44\"\n },\n \"abi\": [\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"NAME\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": true,\n \"inputs\": [],\n \"name\": \"VERSION\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"onERC1155Received\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"\",\n \"type\": \"uint256[]\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"\",\n \"type\": \"uint256[]\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"onERC1155BatchReceived\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"onERC721Received\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"constant\": false,\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"tokensReceived\",\n \"outputs\": [],\n \"payable\": false,\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"released\": true,\n \"contractName\": \"CompatibilityFallbackHandler\",\n \"version\": \"1.3.0\",\n \"networkAddresses\": {\n \"1\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"3\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"4\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"5\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"10\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"11\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"12\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"18\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"25\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"28\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"39\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"40\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"41\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"42\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"50\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"51\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"56\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"61\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"63\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"69\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"82\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"83\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"97\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"100\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"106\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"108\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"111\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"122\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"123\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"137\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"246\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"250\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"288\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"300\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"321\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"322\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"336\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"338\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"420\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"588\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"592\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"595\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"599\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"686\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"787\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"1001\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"1008\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"1088\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"1101\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"1111\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"1112\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"1115\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"1116\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"1284\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"1285\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"1287\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"1294\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"1807\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"1984\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"2001\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"2002\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"2008\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"2019\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"2020\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"2221\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"2222\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"3737\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"4002\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"4689\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"4918\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"4919\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"5001\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"7341\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"7700\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"8217\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"9000\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"9001\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"9728\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"10000\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"10001\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"10200\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"11235\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"11437\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"12357\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"23294\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"42161\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"42170\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"42220\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"43113\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"43114\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"43288\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"44787\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"45000\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"47805\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"54211\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"56288\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"59140\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"71401\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"71402\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"73799\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"80001\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"84531\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"200101\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"200202\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"333999\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"421611\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"421613\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"534353\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"11155111\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"245022926\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"1313161554\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"1313161555\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"1666600000\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"1666700000\": \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n \"11297108099\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\",\n \"11297108109\": \"0xf48f2B2d2a534e402487b3ee7C18c33Aec0Fe5e4\"\n },\n \"abi\": [\n {\n \"inputs\": [],\n \"name\": \"NAME\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"VERSION\",\n \"outputs\": [\n {\n \"internalType\": \"string\",\n \"name\": \"\",\n \"type\": \"string\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"message\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"getMessageHash\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"contract GnosisSafe\",\n \"name\": \"safe\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"message\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"getMessageHashForSafe\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getModules\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"\",\n \"type\": \"address[]\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"_dataHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"_signature\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"isValidSignature\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"_data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"_signature\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"isValidSignature\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"\",\n \"type\": \"uint256[]\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"\",\n \"type\": \"uint256[]\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"onERC1155BatchReceived\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"onERC1155Received\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"onERC721Received\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"targetContract\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"calldataPayload\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"simulate\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"response\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"interfaceId\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"supportsInterface\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"tokensReceived\",\n \"outputs\": [],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820\",\n \"released\": false,\n \"contractName\": \"CompatibilityFallbackHandler\",\n \"version\": \"1.4.0\",\n \"networkAddresses\": {\n \"5\": \"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820\",\n \"56\": \"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820\",\n \"100\": \"0x2a15DE4410d4c8af0A7b6c12803120f43C42B820\"\n },\n \"abi\": [\n {\n \"inputs\": [\n {\n \"internalType\": \"contract Safe\",\n \"name\": \"safe\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"message\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"encodeMessageDataForSafe\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"message\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"getMessageHash\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"contract Safe\",\n \"name\": \"safe\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"message\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"getMessageHashForSafe\",\n \"outputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"\",\n \"type\": \"bytes32\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [],\n \"name\": \"getModules\",\n \"outputs\": [\n {\n \"internalType\": \"address[]\",\n \"name\": \"\",\n \"type\": \"address[]\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes32\",\n \"name\": \"_dataHash\",\n \"type\": \"bytes32\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"_signature\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"isValidSignature\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"_data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"_signature\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"isValidSignature\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"\",\n \"type\": \"uint256[]\"\n },\n {\n \"internalType\": \"uint256[]\",\n \"name\": \"\",\n \"type\": \"uint256[]\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"onERC1155BatchReceived\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"onERC1155Received\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"onERC721Received\",\n \"outputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"\",\n \"type\": \"bytes4\"\n }\n ],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"targetContract\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"calldataPayload\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"simulate\",\n \"outputs\": [\n {\n \"internalType\": \"bytes\",\n \"name\": \"response\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"bytes4\",\n \"name\": \"interfaceId\",\n \"type\": \"bytes4\"\n }\n ],\n \"name\": \"supportsInterface\",\n \"outputs\": [\n {\n \"internalType\": \"bool\",\n \"name\": \"\",\n \"type\": \"bool\"\n }\n ],\n \"stateMutability\": \"view\",\n \"type\": \"function\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"address\",\n \"name\": \"\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"\",\n \"type\": \"bytes\"\n }\n ],\n \"name\": \"tokensReceived\",\n \"outputs\": [],\n \"stateMutability\": \"pure\",\n \"type\": \"function\"\n }\n ]\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getSimulateTxAccessorDeployment = void 0;\nconst simulate_tx_accessor_json_1 = __importDefault(require(\"./assets/v1.3.0/simulate_tx_accessor.json\"));\nconst simulate_tx_accessor_json_2 = __importDefault(require(\"./assets/v1.4.0/simulate_tx_accessor.json\"));\nconst utils_1 = require(\"./utils\");\n// This is a sorted array (newest to oldest)\nconst accessorDeployments = [\n simulate_tx_accessor_json_2.default, simulate_tx_accessor_json_1.default\n];\nconst getSimulateTxAccessorDeployment = (filter) => {\n return (0, utils_1.findDeployment)(filter, accessorDeployments);\n};\nexports.getSimulateTxAccessorDeployment = getSimulateTxAccessorDeployment;\n","{\n \"defaultAddress\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"released\": true,\n \"contractName\": \"SimulateTxAccessor\",\n \"version\": \"1.3.0\",\n \"networkAddresses\": {\n \"1\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"3\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"4\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"5\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"10\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"11\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"12\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"18\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"25\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"28\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"39\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"40\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"41\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"42\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"50\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"51\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"56\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"61\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"63\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"69\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"82\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"83\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"97\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"100\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"106\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"108\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"111\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"122\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"123\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"137\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"246\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"250\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"288\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"300\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"321\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"322\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"336\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"338\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"420\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"588\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"592\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"595\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"599\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"686\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"787\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"1001\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"1008\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"1088\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"1101\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"1111\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"1112\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"1115\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"1116\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"1284\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"1285\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"1287\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"1294\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"1807\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"1984\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"2001\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"2002\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"2008\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"2019\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"2020\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"2221\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"2222\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"3737\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"4002\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"4689\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"4918\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"4919\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"5001\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"7341\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"7700\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"8217\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"9000\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"9001\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"9728\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"10000\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"10001\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"10200\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"11235\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"11437\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"12357\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"23294\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"42161\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"42170\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"42220\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"43113\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"43114\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"43288\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"44787\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"45000\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"47805\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"54211\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"56288\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"59140\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"71401\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"71402\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"73799\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"80001\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"84531\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"200101\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"200202\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"333999\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"421611\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"421613\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"534353\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"11155111\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"245022926\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"1313161554\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"1313161555\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"1666600000\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"1666700000\": \"0x727a77a074D1E6c4530e814F89E618a3298FC044\",\n \"11297108099\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\",\n \"11297108109\": \"0x59AD6735bCd8152B84860Cb256dD9e96b85F69Da\"\n },\n \"abi\": [\n {\n \"inputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"simulate\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"estimate\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"returnData\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n ]\n}\n","{\n \"defaultAddress\": \"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\",\n \"released\": false,\n \"contractName\": \"SimulateTxAccessor\",\n \"version\": \"1.4.0\",\n \"networkAddresses\": {\n \"5\": \"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\",\n \"56\": \"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\",\n \"100\": \"0x3d4BA2E0884aa488718476ca2FB8Efc291A46199\"\n },\n \"abi\": [\n {\n \"inputs\": [],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"constructor\"\n },\n {\n \"inputs\": [\n {\n \"internalType\": \"address\",\n \"name\": \"to\",\n \"type\": \"address\"\n },\n {\n \"internalType\": \"uint256\",\n \"name\": \"value\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"data\",\n \"type\": \"bytes\"\n },\n {\n \"internalType\": \"enum Enum.Operation\",\n \"name\": \"operation\",\n \"type\": \"uint8\"\n }\n ],\n \"name\": \"simulate\",\n \"outputs\": [\n {\n \"internalType\": \"uint256\",\n \"name\": \"estimate\",\n \"type\": \"uint256\"\n },\n {\n \"internalType\": \"bool\",\n \"name\": \"success\",\n \"type\": \"bool\"\n },\n {\n \"internalType\": \"bytes\",\n \"name\": \"returnData\",\n \"type\": \"bytes\"\n }\n ],\n \"stateMutability\": \"nonpayable\",\n \"type\": \"function\"\n }\n ]\n}\n","\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _ContractManager_contractNetworks, _ContractManager_isL1SafeMasterCopy, _ContractManager_safeContract, _ContractManager_multiSendContract, _ContractManager_multiSendCallOnlyContract;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst config_1 = require(\"../contracts/config\");\nconst safeDeploymentContracts_1 = require(\"../contracts/safeDeploymentContracts\");\nconst types_1 = require(\"../utils/types\");\nclass ContractManager {\n constructor() {\n _ContractManager_contractNetworks.set(this, void 0);\n _ContractManager_isL1SafeMasterCopy.set(this, void 0);\n _ContractManager_safeContract.set(this, void 0);\n _ContractManager_multiSendContract.set(this, void 0);\n _ContractManager_multiSendCallOnlyContract.set(this, void 0);\n }\n static async create(config) {\n const contractManager = new ContractManager();\n await contractManager.init(config);\n return contractManager;\n }\n async init(config) {\n var _a, _b;\n const { ethAdapter, isL1SafeMasterCopy, contractNetworks } = config;\n const chainId = await ethAdapter.getChainId();\n const customContracts = contractNetworks === null || contractNetworks === void 0 ? void 0 : contractNetworks[chainId];\n __classPrivateFieldSet(this, _ContractManager_contractNetworks, contractNetworks, \"f\");\n __classPrivateFieldSet(this, _ContractManager_isL1SafeMasterCopy, isL1SafeMasterCopy, \"f\");\n let safeVersion;\n if ((0, types_1.isSafeConfigWithPredictedSafe)(config)) {\n safeVersion = (_b = (_a = config.predictedSafe.safeDeploymentConfig) === null || _a === void 0 ? void 0 : _a.safeVersion) !== null && _b !== void 0 ? _b : config_1.SAFE_LAST_VERSION;\n }\n else {\n const temporarySafeContract = await (0, safeDeploymentContracts_1.getSafeContract)({\n ethAdapter,\n safeVersion: config_1.SAFE_LAST_VERSION,\n isL1SafeMasterCopy,\n customSafeAddress: config.safeAddress,\n customContracts\n });\n safeVersion = await temporarySafeContract.getVersion();\n __classPrivateFieldSet(this, _ContractManager_safeContract, await (0, safeDeploymentContracts_1.getSafeContract)({\n ethAdapter,\n safeVersion,\n isL1SafeMasterCopy,\n customSafeAddress: config.safeAddress,\n customContracts\n }), \"f\");\n }\n __classPrivateFieldSet(this, _ContractManager_multiSendContract, await (0, safeDeploymentContracts_1.getMultiSendContract)({\n ethAdapter,\n safeVersion,\n customContracts\n }), \"f\");\n __classPrivateFieldSet(this, _ContractManager_multiSendCallOnlyContract, await (0, safeDeploymentContracts_1.getMultiSendCallOnlyContract)({\n ethAdapter,\n safeVersion,\n customContracts\n }), \"f\");\n }\n get contractNetworks() {\n return __classPrivateFieldGet(this, _ContractManager_contractNetworks, \"f\");\n }\n get isL1SafeMasterCopy() {\n return __classPrivateFieldGet(this, _ContractManager_isL1SafeMasterCopy, \"f\");\n }\n get safeContract() {\n return __classPrivateFieldGet(this, _ContractManager_safeContract, \"f\");\n }\n get multiSendContract() {\n return __classPrivateFieldGet(this, _ContractManager_multiSendContract, \"f\");\n }\n get multiSendCallOnlyContract() {\n return __classPrivateFieldGet(this, _ContractManager_multiSendCallOnlyContract, \"f\");\n }\n}\n_ContractManager_contractNetworks = new WeakMap(), _ContractManager_isL1SafeMasterCopy = new WeakMap(), _ContractManager_safeContract = new WeakMap(), _ContractManager_multiSendContract = new WeakMap(), _ContractManager_multiSendCallOnlyContract = new WeakMap();\nexports.default = ContractManager;\n//# sourceMappingURL=contractManager.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.safeDeploymentsL1ChainIds = exports.safeDeploymentsVersions = exports.SAFE_BASE_VERSION = exports.SAFE_LAST_VERSION = void 0;\nexports.SAFE_LAST_VERSION = '1.3.0';\nexports.SAFE_BASE_VERSION = '1.0.0';\nexports.safeDeploymentsVersions = {\n '1.3.0': {\n safeMasterCopyVersion: '1.3.0',\n safeMasterCopyL2Version: '1.3.0',\n safeProxyFactoryVersion: '1.3.0',\n compatibilityFallbackHandler: '1.3.0',\n multiSendVersion: '1.3.0',\n multiSendCallOnlyVersion: '1.3.0',\n signMessageLibVersion: '1.3.0',\n createCallVersion: '1.3.0'\n },\n '1.2.0': {\n safeMasterCopyVersion: '1.2.0',\n safeMasterCopyL2Version: undefined,\n safeProxyFactoryVersion: '1.1.1',\n compatibilityFallbackHandler: '1.3.0',\n multiSendVersion: '1.1.1',\n multiSendCallOnlyVersion: '1.3.0',\n signMessageLibVersion: '1.3.0',\n createCallVersion: '1.3.0'\n },\n '1.1.1': {\n safeMasterCopyVersion: '1.1.1',\n safeMasterCopyL2Version: undefined,\n safeProxyFactoryVersion: '1.1.1',\n compatibilityFallbackHandler: '1.3.0',\n multiSendVersion: '1.1.1',\n multiSendCallOnlyVersion: '1.3.0',\n signMessageLibVersion: '1.3.0',\n createCallVersion: '1.3.0'\n },\n '1.0.0': {\n safeMasterCopyVersion: '1.0.0',\n safeMasterCopyL2Version: undefined,\n safeProxyFactoryVersion: '1.0.0',\n compatibilityFallbackHandler: '1.3.0',\n multiSendVersion: '1.1.1',\n multiSendCallOnlyVersion: '1.3.0',\n signMessageLibVersion: '1.3.0',\n createCallVersion: '1.3.0'\n }\n};\nexports.safeDeploymentsL1ChainIds = [\n 1 // Ethereum Mainnet\n];\n//# sourceMappingURL=config.js.map",null,"\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getCreateCallContract = exports.getSignMessageLibContract = exports.getMultiSendCallOnlyContract = exports.getMultiSendContract = exports.getCompatibilityFallbackHandlerContract = exports.getProxyFactoryContract = exports.getSafeContract = exports.getCreateCallContractDeployment = exports.getSignMessageLibContractDeployment = exports.getSafeProxyFactoryContractDeployment = exports.getMultiSendContractDeployment = exports.getMultiSendCallOnlyContractDeployment = exports.getCompatibilityFallbackHandlerContractDeployment = exports.getSafeContractDeployment = void 0;\nconst safe_deployments_1 = require(\"@safe-global/safe-deployments\");\nconst config_1 = require(\"./config\");\nfunction getSafeContractDeployment(safeVersion, chainId, isL1SafeMasterCopy = false) {\n const version = config_1.safeDeploymentsVersions[safeVersion].safeMasterCopyVersion;\n const filters = { version, network: chainId.toString(), released: true };\n if (config_1.safeDeploymentsL1ChainIds.includes(chainId) || isL1SafeMasterCopy) {\n return (0, safe_deployments_1.getSafeSingletonDeployment)(filters);\n }\n return (0, safe_deployments_1.getSafeL2SingletonDeployment)(filters);\n}\nexports.getSafeContractDeployment = getSafeContractDeployment;\nfunction getCompatibilityFallbackHandlerContractDeployment(safeVersion, chainId) {\n const version = config_1.safeDeploymentsVersions[safeVersion].compatibilityFallbackHandler;\n return (0, safe_deployments_1.getCompatibilityFallbackHandlerDeployment)({\n version,\n network: chainId.toString(),\n released: true\n });\n}\nexports.getCompatibilityFallbackHandlerContractDeployment = getCompatibilityFallbackHandlerContractDeployment;\nfunction getMultiSendCallOnlyContractDeployment(safeVersion, chainId) {\n const version = config_1.safeDeploymentsVersions[safeVersion].multiSendCallOnlyVersion;\n return (0, safe_deployments_1.getMultiSendCallOnlyDeployment)({ version, network: chainId.toString(), released: true });\n}\nexports.getMultiSendCallOnlyContractDeployment = getMultiSendCallOnlyContractDeployment;\nfunction getMultiSendContractDeployment(safeVersion, chainId) {\n const version = config_1.safeDeploymentsVersions[safeVersion].multiSendVersion;\n return (0, safe_deployments_1.getMultiSendDeployment)({ version, network: chainId.toString(), released: true });\n}\nexports.getMultiSendContractDeployment = getMultiSendContractDeployment;\nfunction getSafeProxyFactoryContractDeployment(safeVersion, chainId) {\n const version = config_1.safeDeploymentsVersions[safeVersion].safeProxyFactoryVersion;\n return (0, safe_deployments_1.getProxyFactoryDeployment)({ version, network: chainId.toString(), released: true });\n}\nexports.getSafeProxyFactoryContractDeployment = getSafeProxyFactoryContractDeployment;\nfunction getSignMessageLibContractDeployment(safeVersion, chainId) {\n const version = config_1.safeDeploymentsVersions[safeVersion].signMessageLibVersion;\n return (0, safe_deployments_1.getSignMessageLibDeployment)({ version, network: chainId.toString(), released: true });\n}\nexports.getSignMessageLibContractDeployment = getSignMessageLibContractDeployment;\nfunction getCreateCallContractDeployment(safeVersion, chainId) {\n const version = config_1.safeDeploymentsVersions[safeVersion].createCallVersion;\n return (0, safe_deployments_1.getCreateCallDeployment)({ version, network: chainId.toString(), released: true });\n}\nexports.getCreateCallContractDeployment = getCreateCallContractDeployment;\nasync function getSafeContract({ ethAdapter, safeVersion, customSafeAddress, isL1SafeMasterCopy, customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const singletonDeployment = getSafeContractDeployment(safeVersion, chainId, isL1SafeMasterCopy);\n const gnosisSafeContract = await ethAdapter.getSafeContract({\n safeVersion,\n singletonDeployment,\n customContractAddress: customSafeAddress !== null && customSafeAddress !== void 0 ? customSafeAddress : customContracts === null || customContracts === void 0 ? void 0 : customContracts.safeMasterCopyAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.safeMasterCopyAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(gnosisSafeContract.getAddress());\n if (!isContractDeployed) {\n throw new Error('SafeProxy contract is not deployed on the current network');\n }\n return gnosisSafeContract;\n}\nexports.getSafeContract = getSafeContract;\nasync function getProxyFactoryContract({ ethAdapter, safeVersion, customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const proxyFactoryDeployment = getSafeProxyFactoryContractDeployment(safeVersion, chainId);\n const safeProxyFactoryContract = await ethAdapter.getSafeProxyFactoryContract({\n safeVersion,\n singletonDeployment: proxyFactoryDeployment,\n customContractAddress: customContracts === null || customContracts === void 0 ? void 0 : customContracts.safeProxyFactoryAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.safeProxyFactoryAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(safeProxyFactoryContract.getAddress());\n if (!isContractDeployed) {\n throw new Error('SafeProxyFactory contract is not deployed on the current network');\n }\n return safeProxyFactoryContract;\n}\nexports.getProxyFactoryContract = getProxyFactoryContract;\nasync function getCompatibilityFallbackHandlerContract({ ethAdapter, safeVersion, customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const fallbackHandlerDeployment = getCompatibilityFallbackHandlerContractDeployment(safeVersion, chainId);\n const fallbackHandlerContract = await ethAdapter.getCompatibilityFallbackHandlerContract({\n safeVersion,\n singletonDeployment: fallbackHandlerDeployment,\n customContractAddress: customContracts === null || customContracts === void 0 ? void 0 : customContracts.fallbackHandlerAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.fallbackHandlerAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(fallbackHandlerContract.getAddress());\n if (!isContractDeployed) {\n throw new Error('CompatibilityFallbackHandler contract is not deployed on the current network');\n }\n return fallbackHandlerContract;\n}\nexports.getCompatibilityFallbackHandlerContract = getCompatibilityFallbackHandlerContract;\nasync function getMultiSendContract({ ethAdapter, safeVersion, customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const multiSendDeployment = getMultiSendContractDeployment(safeVersion, chainId);\n const multiSendContract = await ethAdapter.getMultiSendContract({\n safeVersion,\n singletonDeployment: multiSendDeployment,\n customContractAddress: customContracts === null || customContracts === void 0 ? void 0 : customContracts.multiSendAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.multiSendAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(multiSendContract.getAddress());\n if (!isContractDeployed) {\n throw new Error('MultiSend contract is not deployed on the current network');\n }\n return multiSendContract;\n}\nexports.getMultiSendContract = getMultiSendContract;\nasync function getMultiSendCallOnlyContract({ ethAdapter, safeVersion, customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const multiSendCallOnlyDeployment = getMultiSendCallOnlyContractDeployment(safeVersion, chainId);\n const multiSendCallOnlyContract = await ethAdapter.getMultiSendCallOnlyContract({\n safeVersion,\n singletonDeployment: multiSendCallOnlyDeployment,\n customContractAddress: customContracts === null || customContracts === void 0 ? void 0 : customContracts.multiSendCallOnlyAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.multiSendCallOnlyAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(multiSendCallOnlyContract.getAddress());\n if (!isContractDeployed) {\n throw new Error('MultiSendCallOnly contract is not deployed on the current network');\n }\n return multiSendCallOnlyContract;\n}\nexports.getMultiSendCallOnlyContract = getMultiSendCallOnlyContract;\nasync function getSignMessageLibContract({ ethAdapter, safeVersion, customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const signMessageLibDeployment = getSignMessageLibContractDeployment(safeVersion, chainId);\n const signMessageLibContract = await ethAdapter.getSignMessageLibContract({\n safeVersion,\n singletonDeployment: signMessageLibDeployment,\n customContractAddress: customContracts === null || customContracts === void 0 ? void 0 : customContracts.signMessageLibAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.signMessageLibAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(signMessageLibContract.getAddress());\n if (!isContractDeployed) {\n throw new Error('SignMessageLib contract is not deployed on the current network');\n }\n return signMessageLibContract;\n}\nexports.getSignMessageLibContract = getSignMessageLibContract;\nasync function getCreateCallContract({ ethAdapter, safeVersion, customContracts }) {\n const chainId = await ethAdapter.getChainId();\n const createCallDeployment = getCreateCallContractDeployment(safeVersion, chainId);\n const createCallContract = await ethAdapter.getCreateCallContract({\n safeVersion,\n singletonDeployment: createCallDeployment,\n customContractAddress: customContracts === null || customContracts === void 0 ? void 0 : customContracts.createCallAddress,\n customContractAbi: customContracts === null || customContracts === void 0 ? void 0 : customContracts.createCallAbi\n });\n const isContractDeployed = await ethAdapter.isContractDeployed(createCallContract.getAddress());\n if (!isContractDeployed) {\n throw new Error('CreateCall contract is not deployed on the current network');\n }\n return createCallContract;\n}\nexports.getCreateCallContract = getCreateCallContract;\n//# sourceMappingURL=safeDeploymentContracts.js.map",null,"\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __exportStar = (this && this.__exportStar) || function(m, exports) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\n__exportStar(require(\"./types\"), exports);\n__exportStar(require(\"./safes\"), exports);\n__exportStar(require(\"./factories\"), exports);\n__exportStar(require(\"./libs\"), exports);\n__exportStar(require(\"./handler\"), exports);\n__exportStar(require(\"./accessors\"), exports);\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isSafeConfigWithPredictedSafe = void 0;\nfunction isSafeConfigWithPredictedSafe(config) {\n return config.predictedSafe !== undefined;\n}\nexports.isSafeConfigWithPredictedSafe = isSafeConfigWithPredictedSafe;\n//# sourceMappingURL=types.js.map",null,"\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _Safe_predictedSafe, _Safe_ethAdapter, _Safe_contractManager, _Safe_ownerManager, _Safe_moduleManager, _Safe_guardManager, _Safe_fallbackHandlerManager;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst bignumber_1 = require(\"@ethersproject/bignumber\");\nconst safe_core_sdk_types_1 = require(\"@safe-global/safe-core-sdk-types\");\nconst config_1 = require(\"./contracts/config\");\nconst utils_1 = require(\"./contracts/utils\");\nconst contractManager_1 = __importDefault(require(\"./managers/contractManager\"));\nconst fallbackHandlerManager_1 = __importDefault(require(\"./managers/fallbackHandlerManager\"));\nconst guardManager_1 = __importDefault(require(\"./managers/guardManager\"));\nconst moduleManager_1 = __importDefault(require(\"./managers/moduleManager\"));\nconst ownerManager_1 = __importDefault(require(\"./managers/ownerManager\"));\nconst utils_2 = require(\"./utils\");\nconst utils_3 = require(\"./utils/signatures/utils\");\nconst SafeTransaction_1 = __importDefault(require(\"./utils/transactions/SafeTransaction\"));\nconst utils_4 = require(\"./utils/transactions/utils\");\nconst types_1 = require(\"./utils/types\");\nclass Safe {\n constructor() {\n _Safe_predictedSafe.set(this, void 0);\n _Safe_ethAdapter.set(this, void 0);\n _Safe_contractManager.set(this, void 0);\n _Safe_ownerManager.set(this, void 0);\n _Safe_moduleManager.set(this, void 0);\n _Safe_guardManager.set(this, void 0);\n _Safe_fallbackHandlerManager.set(this, void 0);\n }\n /**\n * Creates an instance of the Safe Core SDK.\n * @param config - Ethers Safe configuration\n * @returns The Safe Core SDK instance\n * @throws \"The SDK must be initialized with a safeAddress or a predictedSafe\"\n * @throws \"SafeProxy contract is not deployed on the current network\"\n * @throws \"MultiSend contract is not deployed on the current network\"\n * @throws \"MultiSendCallOnly contract is not deployed on the current network\"\n */\n static async create(config) {\n const safeSdk = new Safe();\n await safeSdk.init(config);\n return safeSdk;\n }\n /**\n * Initializes the Safe Core SDK instance.\n * @param config - Safe configuration\n * @throws \"Signer must be connected to a provider\"\n * @throws \"SafeProxy contract is not deployed on the current network\"\n * @throws \"MultiSend contract is not deployed on the current network\"\n * @throws \"MultiSendCallOnly contract is not deployed on the current network\"\n */\n async init(config) {\n const { ethAdapter, isL1SafeMasterCopy, contractNetworks } = config;\n __classPrivateFieldSet(this, _Safe_ethAdapter, ethAdapter, \"f\");\n if ((0, types_1.isSafeConfigWithPredictedSafe)(config)) {\n __classPrivateFieldSet(this, _Safe_predictedSafe, config.predictedSafe, \"f\");\n __classPrivateFieldSet(this, _Safe_contractManager, await contractManager_1.default.create({\n ethAdapter: __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\"),\n predictedSafe: __classPrivateFieldGet(this, _Safe_predictedSafe, \"f\"),\n isL1SafeMasterCopy,\n contractNetworks\n }), \"f\");\n }\n else {\n __classPrivateFieldSet(this, _Safe_contractManager, await contractManager_1.default.create({\n ethAdapter: __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\"),\n safeAddress: config.safeAddress,\n isL1SafeMasterCopy,\n contractNetworks\n }), \"f\");\n }\n __classPrivateFieldSet(this, _Safe_ownerManager, new ownerManager_1.default(__classPrivateFieldGet(this, _Safe_ethAdapter, \"f\"), __classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract), \"f\");\n __classPrivateFieldSet(this, _Safe_moduleManager, new moduleManager_1.default(__classPrivateFieldGet(this, _Safe_ethAdapter, \"f\"), __classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract), \"f\");\n __classPrivateFieldSet(this, _Safe_guardManager, new guardManager_1.default(__classPrivateFieldGet(this, _Safe_ethAdapter, \"f\"), __classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract), \"f\");\n __classPrivateFieldSet(this, _Safe_fallbackHandlerManager, new fallbackHandlerManager_1.default(__classPrivateFieldGet(this, _Safe_ethAdapter, \"f\"), __classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract), \"f\");\n }\n /**\n * Returns a new instance of the Safe Core SDK.\n * @param config - Connect Safe configuration\n * @throws \"A safeAddress and a predictedSafe cannot be connected at the same time\"\n * @throws \"SafeProxy contract is not deployed on the current network\"\n * @throws \"MultiSend contract is not deployed on the current network\"\n * @throws \"MultiSendCallOnly contract is not deployed on the current network\"\n */\n async connect(config) {\n const { ethAdapter, safeAddress, predictedSafe, isL1SafeMasterCopy, contractNetworks } = config;\n const configProps = {\n ethAdapter: ethAdapter || __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\"),\n isL1SafeMasterCopy: isL1SafeMasterCopy || __classPrivateFieldGet(this, _Safe_contractManager, \"f\").isL1SafeMasterCopy,\n contractNetworks: contractNetworks || __classPrivateFieldGet(this, _Safe_contractManager, \"f\").contractNetworks\n };\n // A new existing Safe is connected to the Signer\n if (safeAddress) {\n return await Safe.create({\n safeAddress,\n ...configProps\n });\n }\n // A new predicted Safe is connected to the Signer\n if (predictedSafe) {\n return await Safe.create({\n predictedSafe,\n ...configProps\n });\n }\n // The previous predicted Safe is connected to a new Signer\n if (__classPrivateFieldGet(this, _Safe_predictedSafe, \"f\")) {\n return await Safe.create({\n predictedSafe: __classPrivateFieldGet(this, _Safe_predictedSafe, \"f\"),\n ...configProps\n });\n }\n // The previous existing Safe is connected to a new Signer\n return await Safe.create({\n safeAddress: await this.getAddress(),\n ...configProps\n });\n }\n /**\n * Returns the address of the current SafeProxy contract.\n *\n * @returns The address of the SafeProxy contract\n */\n async getAddress() {\n var _a;\n if (__classPrivateFieldGet(this, _Safe_predictedSafe, \"f\")) {\n const safeVersion = await this.getContractVersion();\n if (!(0, utils_2.hasSafeFeature)(utils_2.SAFE_FEATURES.ACCOUNT_ABSTRACTION, safeVersion)) {\n throw new Error('Account Abstraction functionality is not available for Safes with version lower than v1.3.0');\n }\n const chainId = await __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\").getChainId();\n return (0, utils_1.predictSafeAddress)({\n ethAdapter: __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\"),\n customContracts: (_a = __classPrivateFieldGet(this, _Safe_contractManager, \"f\").contractNetworks) === null || _a === void 0 ? void 0 : _a[chainId],\n ...__classPrivateFieldGet(this, _Safe_predictedSafe, \"f\")\n });\n }\n if (!__classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract) {\n throw new Error('Safe is not deployed');\n }\n return Promise.resolve(__classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract.getAddress());\n }\n /**\n * Returns the ContractManager\n *\n * @returns The current ContractManager\n * */\n getContractManager() {\n return __classPrivateFieldGet(this, _Safe_contractManager, \"f\");\n }\n /**\n * Returns the current EthAdapter.\n *\n * @returns The current EthAdapter\n */\n getEthAdapter() {\n return __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\");\n }\n /**\n * Returns the address of the MultiSend contract.\n *\n * @returns The address of the MultiSend contract\n */\n getMultiSendAddress() {\n return __classPrivateFieldGet(this, _Safe_contractManager, \"f\").multiSendContract.getAddress();\n }\n /**\n * Returns the address of the MultiSendCallOnly contract.\n *\n * @returns The address of the MultiSendCallOnly contract\n */\n getMultiSendCallOnlyAddress() {\n return __classPrivateFieldGet(this, _Safe_contractManager, \"f\").multiSendCallOnlyContract.getAddress();\n }\n /**\n * Checks if the current Safe is deployed.\n *\n * @returns TRUE if the Safe contract is deployed\n */\n async isSafeDeployed() {\n const safeAddress = await this.getAddress();\n const isSafeDeployed = await __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\").isContractDeployed(safeAddress);\n return isSafeDeployed;\n }\n /**\n * Returns the Safe Master Copy contract version.\n *\n * @returns The Safe Master Copy contract version\n */\n async getContractVersion() {\n var _a, _b;\n if (__classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract) {\n return __classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract.getVersion();\n }\n if ((_b = (_a = __classPrivateFieldGet(this, _Safe_predictedSafe, \"f\")) === null || _a === void 0 ? void 0 : _a.safeDeploymentConfig) === null || _b === void 0 ? void 0 : _b.safeVersion) {\n return Promise.resolve(__classPrivateFieldGet(this, _Safe_predictedSafe, \"f\").safeDeploymentConfig.safeVersion);\n }\n return Promise.resolve(config_1.SAFE_LAST_VERSION);\n }\n /**\n * Returns the list of Safe owner accounts.\n *\n * @returns The list of owners\n */\n async getOwners() {\n var _a;\n if ((_a = __classPrivateFieldGet(this, _Safe_predictedSafe, \"f\")) === null || _a === void 0 ? void 0 : _a.safeAccountConfig.owners) {\n return Promise.resolve(__classPrivateFieldGet(this, _Safe_predictedSafe, \"f\").safeAccountConfig.owners);\n }\n return __classPrivateFieldGet(this, _Safe_ownerManager, \"f\").getOwners();\n }\n /**\n * Returns the Safe nonce.\n *\n * @returns The Safe nonce\n */\n async getNonce() {\n if (!__classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract) {\n return Promise.resolve(0);\n }\n return __classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract.getNonce();\n }\n /**\n * Returns the Safe threshold.\n *\n * @returns The Safe threshold\n */\n async getThreshold() {\n var _a;\n if ((_a = __classPrivateFieldGet(this, _Safe_predictedSafe, \"f\")) === null || _a === void 0 ? void 0 : _a.safeAccountConfig.threshold) {\n return Promise.resolve(__classPrivateFieldGet(this, _Safe_predictedSafe, \"f\").safeAccountConfig.threshold);\n }\n return __classPrivateFieldGet(this, _Safe_ownerManager, \"f\").getThreshold();\n }\n /**\n * Returns the chainId of the connected network.\n *\n * @returns The chainId of the connected network\n */\n async getChainId() {\n return __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\").getChainId();\n }\n /**\n * Returns the ETH balance of the Safe.\n *\n * @returns The ETH balance of the Safe\n */\n async getBalance() {\n return __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\").getBalance(await this.getAddress());\n }\n /**\n * Returns the address of the FallbackHandler contract.\n *\n * @returns The address of the FallbackHandler contract\n */\n getFallbackHandler() {\n return __classPrivateFieldGet(this, _Safe_fallbackHandlerManager, \"f\").getFallbackHandler();\n }\n /**\n * Returns the enabled Safe guard or 0x address if no guards are enabled.\n *\n * @returns The address of the enabled Safe guard\n * @throws \"Current version of the Safe does not support Safe transaction guards functionality\"\n */\n async getGuard() {\n return __classPrivateFieldGet(this, _Safe_guardManager, \"f\").getGuard();\n }\n /**\n * Returns the list of addresses of all the enabled Safe modules.\n *\n * @returns The list of addresses of all the enabled Safe modules\n */\n async getModules() {\n return __classPrivateFieldGet(this, _Safe_moduleManager, \"f\").getModules();\n }\n /**\n * Checks if a specific Safe module is enabled for the current Safe.\n *\n * @param moduleAddress - The desired module address\n * @returns TRUE if the module is enabled\n */\n async isModuleEnabled(moduleAddress) {\n return __classPrivateFieldGet(this, _Safe_moduleManager, \"f\").isModuleEnabled(moduleAddress);\n }\n /**\n * Checks if a specific address is an owner of the current Safe.\n *\n * @param ownerAddress - The account address\n * @returns TRUE if the account is an owner\n */\n async isOwner(ownerAddress) {\n var _a, _b;\n if ((_a = __classPrivateFieldGet(this, _Safe_predictedSafe, \"f\")) === null || _a === void 0 ? void 0 : _a.safeAccountConfig.owners) {\n return Promise.resolve((_b = __classPrivateFieldGet(this, _Safe_predictedSafe, \"f\")) === null || _b === void 0 ? void 0 : _b.safeAccountConfig.owners.some((owner) => (0, utils_2.sameString)(owner, ownerAddress)));\n }\n return __classPrivateFieldGet(this, _Safe_ownerManager, \"f\").isOwner(ownerAddress);\n }\n /**\n * Returns a Safe transaction ready to be signed by the owners.\n *\n * @param createTransactionProps - The createTransaction props\n * @returns The Safe transaction\n * @throws \"Invalid empty array of transactions\"\n */\n async createTransaction({ safeTransactionData, onlyCalls = false, options }) {\n const safeVersion = await this.getContractVersion();\n if (__classPrivateFieldGet(this, _Safe_predictedSafe, \"f\") && !(0, utils_2.hasSafeFeature)(utils_2.SAFE_FEATURES.ACCOUNT_ABSTRACTION, safeVersion)) {\n throw new Error('Account Abstraction functionality is not available for Safes with version lower than v1.3.0');\n }\n if ((0, utils_2.isMetaTransactionArray)(safeTransactionData) && safeTransactionData.length === 0) {\n throw new Error('Invalid empty array of transactions');\n }\n let newTransaction;\n if ((0, utils_2.isMetaTransactionArray)(safeTransactionData) && safeTransactionData.length > 1) {\n const multiSendContract = onlyCalls\n ? __classPrivateFieldGet(this, _Safe_contractManager, \"f\").multiSendCallOnlyContract\n : __classPrivateFieldGet(this, _Safe_contractManager, \"f\").multiSendContract;\n const multiSendData = (0, utils_4.encodeMultiSendData)(safeTransactionData.map(utils_4.standardizeMetaTransactionData));\n const multiSendTransaction = {\n ...options,\n to: multiSendContract.getAddress(),\n value: '0',\n data: multiSendContract.encode('multiSend', [multiSendData]),\n operation: safe_core_sdk_types_1.OperationType.DelegateCall\n };\n newTransaction = multiSendTransaction;\n }\n else {\n newTransaction = (0, utils_2.isMetaTransactionArray)(safeTransactionData)\n ? { ...options, ...safeTransactionData[0] }\n : safeTransactionData;\n }\n if (__classPrivateFieldGet(this, _Safe_predictedSafe, \"f\")) {\n return new SafeTransaction_1.default(await (0, utils_4.standardizeSafeTransactionData)({\n predictedSafe: __classPrivateFieldGet(this, _Safe_predictedSafe, \"f\"),\n ethAdapter: __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\"),\n tx: newTransaction\n }));\n }\n if (!__classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract) {\n throw new Error('Safe is not deployed');\n }\n return new SafeTransaction_1.default(await (0, utils_4.standardizeSafeTransactionData)({\n safeContract: __classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract,\n ethAdapter: __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\"),\n tx: newTransaction\n }));\n }\n /**\n * Returns a Safe transaction ready to be signed by the owners that invalidates the pending Safe transaction/s with a specific nonce.\n *\n * @param nonce - The nonce of the transaction/s that are going to be rejected\n * @returns The Safe transaction that invalidates the pending Safe transaction/s\n */\n async createRejectionTransaction(nonce) {\n const safeTransactionData = {\n to: await this.getAddress(),\n nonce,\n value: '0',\n data: '0x',\n safeTxGas: '0'\n };\n return this.createTransaction({ safeTransactionData });\n }\n /**\n * Copies a Safe transaction\n *\n * @param safeTransaction - The Safe transaction\n * @returns The new Safe transaction\n */\n async copyTransaction(safeTransaction) {\n const signedSafeTransaction = await this.createTransaction({\n safeTransactionData: safeTransaction.data\n });\n safeTransaction.signatures.forEach((signature) => {\n signedSafeTransaction.addSignature(signature);\n });\n return signedSafeTransaction;\n }\n /**\n * Returns the transaction hash of a Safe transaction.\n *\n * @param safeTransaction - The Safe transaction\n * @returns The transaction hash of the Safe transaction\n */\n async getTransactionHash(safeTransaction) {\n if (!__classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract) {\n throw new Error('Safe is not deployed');\n }\n const safeTransactionData = safeTransaction.data;\n const txHash = await __classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract.getTransactionHash(safeTransactionData);\n return txHash;\n }\n /**\n * Signs a hash using the current signer account.\n *\n * @param hash - The hash to sign\n * @returns The Safe signature\n */\n async signTransactionHash(hash) {\n return (0, utils_3.generateSignature)(__classPrivateFieldGet(this, _Safe_ethAdapter, \"f\"), hash);\n }\n /**\n * Signs a transaction according to the EIP-712 using the current signer account.\n *\n * @param safeTransaction - The Safe transaction to be signed\n * @param methodVersion - EIP-712 version. Optional\n * @returns The Safe signature\n */\n async signTypedData(safeTransaction, methodVersion) {\n const safeTransactionEIP712Args = {\n safeAddress: await this.getAddress(),\n safeVersion: await this.getContractVersion(),\n chainId: await this.getEthAdapter().getChainId(),\n safeTransactionData: safeTransaction.data\n };\n return (0, utils_3.generateEIP712Signature)(__classPrivateFieldGet(this, _Safe_ethAdapter, \"f\"), safeTransactionEIP712Args, methodVersion);\n }\n /**\n * Adds the signature of the current signer to the Safe transaction object.\n *\n * @param safeTransaction - The Safe transaction to be signed\n * @param signingMethod - Method followed to sign a transaction. Optional. Default value is \"eth_sign\"\n * @returns The signed Safe transaction\n * @throws \"Transactions can only be signed by Safe owners\"\n */\n async signTransaction(safeTransaction, signingMethod = 'eth_signTypedData_v4') {\n const transaction = (0, utils_2.isSafeMultisigTransactionResponse)(safeTransaction)\n ? await this.toSafeTransactionType(safeTransaction)\n : safeTransaction;\n const owners = await this.getOwners();\n const signerAddress = await __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\").getSignerAddress();\n if (!signerAddress) {\n throw new Error('EthAdapter must be initialized with a signer to use this method');\n }\n const addressIsOwner = owners.some((owner) => signerAddress && (0, utils_2.sameString)(owner, signerAddress));\n if (!addressIsOwner) {\n throw new Error('Transactions can only be signed by Safe owners');\n }\n let signature;\n if (signingMethod === 'eth_signTypedData_v4') {\n signature = await this.signTypedData(transaction, 'v4');\n }\n else if (signingMethod === 'eth_signTypedData_v3') {\n signature = await this.signTypedData(transaction, 'v3');\n }\n else if (signingMethod === 'eth_signTypedData') {\n signature = await this.signTypedData(transaction);\n }\n else {\n const safeVersion = await this.getContractVersion();\n if (!(0, utils_2.hasSafeFeature)(utils_2.SAFE_FEATURES.ETH_SIGN, safeVersion)) {\n throw new Error('eth_sign is only supported by Safes >= v1.1.0');\n }\n const txHash = await this.getTransactionHash(transaction);\n signature = await this.signTransactionHash(txHash);\n }\n const signedSafeTransaction = await this.createTransaction({\n safeTransactionData: transaction.data\n });\n transaction.signatures.forEach((signature) => {\n signedSafeTransaction.addSignature(signature);\n });\n signedSafeTransaction.addSignature(signature);\n return signedSafeTransaction;\n }\n /**\n * Approves on-chain a hash using the current signer account.\n *\n * @param hash - The hash to approve\n * @param options - The Safe transaction execution options. Optional\n * @returns The Safe transaction response\n * @throws \"Transaction hashes can only be approved by Safe owners\"\n * @throws \"Cannot specify gas and gasLimit together in transaction options\"\n */\n async approveTransactionHash(hash, options) {\n if (!__classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract) {\n throw new Error('Safe is not deployed');\n }\n const owners = await this.getOwners();\n const signerAddress = await __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\").getSignerAddress();\n if (!signerAddress) {\n throw new Error('EthAdapter must be initialized with a signer to use this method');\n }\n const addressIsOwner = owners.some((owner) => signerAddress && (0, utils_2.sameString)(owner, signerAddress));\n if (!addressIsOwner) {\n throw new Error('Transaction hashes can only be approved by Safe owners');\n }\n if ((options === null || options === void 0 ? void 0 : options.gas) && (options === null || options === void 0 ? void 0 : options.gasLimit)) {\n throw new Error('Cannot specify gas and gasLimit together in transaction options');\n }\n return __classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract.approveHash(hash, {\n from: signerAddress,\n ...options\n });\n }\n /**\n * Returns a list of owners who have approved a specific Safe transaction.\n *\n * @param txHash - The Safe transaction hash\n * @returns The list of owners\n */\n async getOwnersWhoApprovedTx(txHash) {\n if (!__classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract) {\n throw new Error('Safe is not deployed');\n }\n const owners = await this.getOwners();\n const ownersWhoApproved = [];\n for (const owner of owners) {\n const approved = await __classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract.approvedHashes(owner, txHash);\n if (approved.gt(0)) {\n ownersWhoApproved.push(owner);\n }\n }\n return ownersWhoApproved;\n }\n /**\n * Returns the Safe transaction to enable the fallback handler.\n *\n * @param address - The new fallback handler address\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid fallback handler address provided\"\n * @throws \"Fallback handler provided is already enabled\"\n * @throws \"Current version of the Safe does not support the fallback handler functionality\"\n */\n async createEnableFallbackHandlerTx(fallbackHandlerAddress, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: '0',\n data: await __classPrivateFieldGet(this, _Safe_fallbackHandlerManager, \"f\").encodeEnableFallbackHandlerData(fallbackHandlerAddress),\n ...options\n };\n const safeTransaction = await this.createTransaction({ safeTransactionData });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to disable the fallback handler.\n *\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"There is no fallback handler enabled yet\"\n * @throws \"Current version of the Safe does not support the fallback handler functionality\"\n */\n async createDisableFallbackHandlerTx(options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: '0',\n data: await __classPrivateFieldGet(this, _Safe_fallbackHandlerManager, \"f\").encodeDisableFallbackHandlerData(),\n ...options\n };\n const safeTransaction = await this.createTransaction({ safeTransactionData });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to enable a Safe guard.\n *\n * @param guardAddress - The desired guard address\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid guard address provided\"\n * @throws \"Guard provided is already enabled\"\n * @throws \"Current version of the Safe does not support Safe transaction guards functionality\"\n */\n async createEnableGuardTx(guardAddress, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: '0',\n data: await __classPrivateFieldGet(this, _Safe_guardManager, \"f\").encodeEnableGuardData(guardAddress),\n ...options\n };\n const safeTransaction = await this.createTransaction({ safeTransactionData });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to disable a Safe guard.\n *\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"There is no guard enabled yet\"\n * @throws \"Current version of the Safe does not support Safe transaction guards functionality\"\n */\n async createDisableGuardTx(options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: '0',\n data: await __classPrivateFieldGet(this, _Safe_guardManager, \"f\").encodeDisableGuardData(),\n ...options\n };\n const safeTransaction = await this.createTransaction({ safeTransactionData });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to enable a Safe module.\n *\n * @param moduleAddress - The desired module address\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid module address provided\"\n * @throws \"Module provided is already enabled\"\n */\n async createEnableModuleTx(moduleAddress, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: '0',\n data: await __classPrivateFieldGet(this, _Safe_moduleManager, \"f\").encodeEnableModuleData(moduleAddress),\n ...options\n };\n const safeTransaction = await this.createTransaction({ safeTransactionData });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to disable a Safe module.\n *\n * @param moduleAddress - The desired module address\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid module address provided\"\n * @throws \"Module provided is not enabled already\"\n */\n async createDisableModuleTx(moduleAddress, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: '0',\n data: await __classPrivateFieldGet(this, _Safe_moduleManager, \"f\").encodeDisableModuleData(moduleAddress),\n ...options\n };\n const safeTransaction = await this.createTransaction({ safeTransactionData });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to add an owner and optionally change the threshold.\n *\n * @param params - The transaction params\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid owner address provided\"\n * @throws \"Address provided is already an owner\"\n * @throws \"Threshold needs to be greater than 0\"\n * @throws \"Threshold cannot exceed owner count\"\n */\n async createAddOwnerTx({ ownerAddress, threshold }, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: '0',\n data: await __classPrivateFieldGet(this, _Safe_ownerManager, \"f\").encodeAddOwnerWithThresholdData(ownerAddress, threshold),\n ...options\n };\n const safeTransaction = await this.createTransaction({ safeTransactionData });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to remove an owner and optionally change the threshold.\n *\n * @param params - The transaction params\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid owner address provided\"\n * @throws \"Address provided is not an owner\"\n * @throws \"Threshold needs to be greater than 0\"\n * @throws \"Threshold cannot exceed owner count\"\n */\n async createRemoveOwnerTx({ ownerAddress, threshold }, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: '0',\n data: await __classPrivateFieldGet(this, _Safe_ownerManager, \"f\").encodeRemoveOwnerData(ownerAddress, threshold),\n ...options\n };\n const safeTransaction = await this.createTransaction({ safeTransactionData });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to replace an owner of the Safe with a new one.\n *\n * @param params - The transaction params\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Invalid new owner address provided\"\n * @throws \"Invalid old owner address provided\"\n * @throws \"New address provided is already an owner\"\n * @throws \"Old address provided is not an owner\"\n */\n async createSwapOwnerTx({ oldOwnerAddress, newOwnerAddress }, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: '0',\n data: await __classPrivateFieldGet(this, _Safe_ownerManager, \"f\").encodeSwapOwnerData(oldOwnerAddress, newOwnerAddress),\n ...options\n };\n const safeTransaction = await this.createTransaction({ safeTransactionData });\n return safeTransaction;\n }\n /**\n * Returns the Safe transaction to change the threshold.\n *\n * @param threshold - The new threshold\n * @param options - The transaction optional properties\n * @returns The Safe transaction ready to be signed\n * @throws \"Threshold needs to be greater than 0\"\n * @throws \"Threshold cannot exceed owner count\"\n */\n async createChangeThresholdTx(threshold, options) {\n const safeTransactionData = {\n to: await this.getAddress(),\n value: '0',\n data: await __classPrivateFieldGet(this, _Safe_ownerManager, \"f\").encodeChangeThresholdData(threshold),\n ...options\n };\n const safeTransaction = await this.createTransaction({ safeTransactionData });\n return safeTransaction;\n }\n /**\n * Converts a transaction from type SafeMultisigTransactionResponse to type SafeTransaction\n *\n * @param serviceTransactionResponse - The transaction to convert\n * @returns The converted transaction with type SafeTransaction\n */\n async toSafeTransactionType(serviceTransactionResponse) {\n var _a;\n const safeTransactionData = {\n to: serviceTransactionResponse.to,\n value: serviceTransactionResponse.value,\n data: serviceTransactionResponse.data || '0x',\n operation: serviceTransactionResponse.operation,\n safeTxGas: serviceTransactionResponse.safeTxGas.toString(),\n baseGas: serviceTransactionResponse.baseGas.toString(),\n gasPrice: serviceTransactionResponse.gasPrice,\n gasToken: serviceTransactionResponse.gasToken,\n refundReceiver: serviceTransactionResponse.refundReceiver,\n nonce: serviceTransactionResponse.nonce\n };\n const safeTransaction = await this.createTransaction({ safeTransactionData });\n (_a = serviceTransactionResponse.confirmations) === null || _a === void 0 ? void 0 : _a.map((confirmation) => {\n const signature = new utils_2.EthSafeSignature(confirmation.owner, confirmation.signature);\n safeTransaction.addSignature(signature);\n });\n return safeTransaction;\n }\n /**\n * Checks if a Safe transaction can be executed successfully with no errors.\n *\n * @param safeTransaction - The Safe transaction to check\n * @param options - The Safe transaction execution options. Optional\n * @returns TRUE if the Safe transaction can be executed successfully with no errors\n */\n async isValidTransaction(safeTransaction, options) {\n if (!__classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract) {\n throw new Error('Safe is not deployed');\n }\n const transaction = (0, utils_2.isSafeMultisigTransactionResponse)(safeTransaction)\n ? await this.toSafeTransactionType(safeTransaction)\n : safeTransaction;\n const signedSafeTransaction = await this.copyTransaction(transaction);\n const txHash = await this.getTransactionHash(signedSafeTransaction);\n const ownersWhoApprovedTx = await this.getOwnersWhoApprovedTx(txHash);\n for (const owner of ownersWhoApprovedTx) {\n signedSafeTransaction.addSignature((0, utils_3.generatePreValidatedSignature)(owner));\n }\n const owners = await this.getOwners();\n const signerAddress = await __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\").getSignerAddress();\n if (!signerAddress) {\n throw new Error('EthAdapter must be initialized with a signer to use this method');\n }\n if (owners.includes(signerAddress)) {\n signedSafeTransaction.addSignature((0, utils_3.generatePreValidatedSignature)(signerAddress));\n }\n const isTxValid = await __classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract.isValidTransaction(signedSafeTransaction, {\n from: signerAddress,\n ...options\n });\n return isTxValid;\n }\n /**\n * Executes a Safe transaction.\n *\n * @param safeTransaction - The Safe transaction to execute\n * @param options - The Safe transaction execution options. Optional\n * @returns The Safe transaction response\n * @throws \"No signer provided\"\n * @throws \"There are X signatures missing\"\n * @throws \"Cannot specify gas and gasLimit together in transaction options\"\n */\n async executeTransaction(safeTransaction, options) {\n if (!__classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract) {\n throw new Error('Safe is not deployed');\n }\n const transaction = (0, utils_2.isSafeMultisigTransactionResponse)(safeTransaction)\n ? await this.toSafeTransactionType(safeTransaction)\n : safeTransaction;\n const signedSafeTransaction = await this.copyTransaction(transaction);\n const txHash = await this.getTransactionHash(signedSafeTransaction);\n const ownersWhoApprovedTx = await this.getOwnersWhoApprovedTx(txHash);\n for (const owner of ownersWhoApprovedTx) {\n signedSafeTransaction.addSignature((0, utils_3.generatePreValidatedSignature)(owner));\n }\n const owners = await this.getOwners();\n const signerAddress = await __classPrivateFieldGet(this, _Safe_ethAdapter, \"f\").getSignerAddress();\n if (signerAddress && owners.includes(signerAddress)) {\n signedSafeTransaction.addSignature((0, utils_3.generatePreValidatedSignature)(signerAddress));\n }\n const threshold = await this.getThreshold();\n if (threshold > signedSafeTransaction.signatures.size) {\n const signaturesMissing = threshold - signedSafeTransaction.signatures.size;\n throw new Error(`There ${signaturesMissing > 1 ? 'are' : 'is'} ${signaturesMissing} signature${signaturesMissing > 1 ? 's' : ''} missing`);\n }\n const value = bignumber_1.BigNumber.from(signedSafeTransaction.data.value);\n if (!value.isZero()) {\n const balance = await this.getBalance();\n if (value.gt(bignumber_1.BigNumber.from(balance))) {\n throw new Error('Not enough Ether funds');\n }\n }\n if ((options === null || options === void 0 ? void 0 : options.gas) && (options === null || options === void 0 ? void 0 : options.gasLimit)) {\n throw new Error('Cannot specify gas and gasLimit together in transaction options');\n }\n const txResponse = await __classPrivateFieldGet(this, _Safe_contractManager, \"f\").safeContract.execTransaction(signedSafeTransaction, {\n from: signerAddress,\n ...options\n });\n return txResponse;\n }\n}\n_Safe_predictedSafe = new WeakMap(), _Safe_ethAdapter = new WeakMap(), _Safe_contractManager = new WeakMap(), _Safe_ownerManager = new WeakMap(), _Safe_moduleManager = new WeakMap(), _Safe_guardManager = new WeakMap(), _Safe_fallbackHandlerManager = new WeakMap();\nexports.default = Safe;\n//# sourceMappingURL=Safe.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.validateSafeDeploymentConfig = exports.validateSafeAccountConfig = exports.predictSafeAddress = exports.encodeSetupCallData = exports.encodeCreateProxyWithNonce = exports.PREDETERMINED_SALT_NONCE = void 0;\nconst ethereumjs_util_1 = require(\"ethereumjs-util\");\nconst address_1 = require(\"@ethersproject/address\");\nconst bignumber_1 = require(\"@ethersproject/bignumber\");\nconst satisfies_1 = __importDefault(require(\"semver/functions/satisfies\"));\nconst safeDeploymentContracts_1 = require(\"../contracts/safeDeploymentContracts\");\nconst constants_1 = require(\"../utils/constants\");\nconst config_1 = require(\"../contracts/config\");\n// keccak256(toUtf8Bytes('Safe Account Abstraction'))\nexports.PREDETERMINED_SALT_NONCE = '0xb1073742015cbcf5a3a4d9d1ae33ecf619439710b89475f92e2abd2117e90f90';\nfunction encodeCreateProxyWithNonce(safeProxyFactoryContract, safeSingletonAddress, initializer) {\n return safeProxyFactoryContract.encode('createProxyWithNonce', [\n safeSingletonAddress,\n initializer,\n exports.PREDETERMINED_SALT_NONCE\n ]);\n}\nexports.encodeCreateProxyWithNonce = encodeCreateProxyWithNonce;\nasync function encodeSetupCallData({ ethAdapter, safeAccountConfig, safeContract, customContracts }) {\n const { owners, threshold, to = constants_1.ZERO_ADDRESS, data = constants_1.EMPTY_DATA, fallbackHandler, paymentToken = constants_1.ZERO_ADDRESS, payment = 0, paymentReceiver = constants_1.ZERO_ADDRESS } = safeAccountConfig;\n const safeVersion = await safeContract.getVersion();\n if ((0, satisfies_1.default)(safeVersion, '<=1.0.0')) {\n return safeContract.encode('setup', [\n owners,\n threshold,\n to,\n data,\n paymentToken,\n payment,\n paymentReceiver\n ]);\n }\n let fallbackHandlerAddress = fallbackHandler;\n const isValidAddress = fallbackHandlerAddress !== undefined && (0, address_1.isAddress)(fallbackHandlerAddress);\n if (!isValidAddress) {\n const fallbackHandlerContract = await (0, safeDeploymentContracts_1.getCompatibilityFallbackHandlerContract)({\n ethAdapter,\n safeVersion,\n customContracts\n });\n fallbackHandlerAddress = fallbackHandlerContract.getAddress();\n }\n return safeContract.encode('setup', [\n owners,\n threshold,\n to,\n data,\n fallbackHandlerAddress,\n paymentToken,\n payment,\n paymentReceiver\n ]);\n}\nexports.encodeSetupCallData = encodeSetupCallData;\nasync function predictSafeAddress({ ethAdapter, safeAccountConfig, safeDeploymentConfig = {}, isL1SafeMasterCopy = false, customContracts }) {\n (0, exports.validateSafeAccountConfig)(safeAccountConfig);\n (0, exports.validateSafeDeploymentConfig)(safeDeploymentConfig);\n const { safeVersion = config_1.SAFE_LAST_VERSION, saltNonce = exports.PREDETERMINED_SALT_NONCE } = safeDeploymentConfig;\n const safeProxyFactoryContract = await (0, safeDeploymentContracts_1.getProxyFactoryContract)({\n ethAdapter,\n safeVersion,\n customContracts\n });\n const proxyCreationCode = await safeProxyFactoryContract.proxyCreationCode();\n const safeContract = await (0, safeDeploymentContracts_1.getSafeContract)({\n ethAdapter,\n safeVersion,\n isL1SafeMasterCopy,\n customContracts\n });\n const initializer = await encodeSetupCallData({\n ethAdapter,\n safeAccountConfig,\n safeContract,\n customContracts\n });\n const encodedNonce = (0, ethereumjs_util_1.toBuffer)(ethAdapter.encodeParameters(['uint256'], [saltNonce])).toString('hex');\n const salt = (0, ethereumjs_util_1.keccak256)((0, ethereumjs_util_1.toBuffer)('0x' + (0, ethereumjs_util_1.keccak256)((0, ethereumjs_util_1.toBuffer)(initializer)).toString('hex') + encodedNonce));\n const constructorData = (0, ethereumjs_util_1.toBuffer)(ethAdapter.encodeParameters(['address'], [safeContract.getAddress()])).toString('hex');\n const initCode = proxyCreationCode + constructorData;\n const proxyAddress = '0x' +\n (0, ethereumjs_util_1.generateAddress2)((0, ethereumjs_util_1.toBuffer)(safeProxyFactoryContract.getAddress()), (0, ethereumjs_util_1.toBuffer)(salt), (0, ethereumjs_util_1.toBuffer)(initCode)).toString('hex');\n return ethAdapter.getChecksummedAddress(proxyAddress);\n}\nexports.predictSafeAddress = predictSafeAddress;\nconst validateSafeAccountConfig = ({ owners, threshold }) => {\n if (owners.length <= 0)\n throw new Error('Owner list must have at least one owner');\n if (threshold <= 0)\n throw new Error('Threshold must be greater than or equal to 1');\n if (threshold > owners.length)\n throw new Error('Threshold must be lower than or equal to owners length');\n};\nexports.validateSafeAccountConfig = validateSafeAccountConfig;\nconst validateSafeDeploymentConfig = ({ saltNonce }) => {\n if (saltNonce && bignumber_1.BigNumber.from(saltNonce).lt(0))\n throw new Error('saltNonce must be greater than or equal to 0');\n};\nexports.validateSafeDeploymentConfig = validateSafeDeploymentConfig;\n//# sourceMappingURL=utils.js.map",null,"\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _FallbackHandlerManager_ethAdapter, _FallbackHandlerManager_safeContract, _FallbackHandlerManager_slot;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils_1 = require(\"../utils\");\nconst constants_1 = require(\"../utils/constants\");\nclass FallbackHandlerManager {\n constructor(ethAdapter, safeContract) {\n _FallbackHandlerManager_ethAdapter.set(this, void 0);\n _FallbackHandlerManager_safeContract.set(this, void 0);\n // keccak256(\"fallback_manager.handler.address\")\n _FallbackHandlerManager_slot.set(this, '0x6c9a6c4a39284e37ed1cf53d337577d14212a4870fb976a4366c693b939918d5');\n __classPrivateFieldSet(this, _FallbackHandlerManager_ethAdapter, ethAdapter, \"f\");\n __classPrivateFieldSet(this, _FallbackHandlerManager_safeContract, safeContract, \"f\");\n }\n validateFallbackHandlerAddress(fallbackHandlerAddress) {\n const isValidAddress = __classPrivateFieldGet(this, _FallbackHandlerManager_ethAdapter, \"f\").isAddress(fallbackHandlerAddress);\n if (!isValidAddress || (0, utils_1.isZeroAddress)(fallbackHandlerAddress)) {\n throw new Error('Invalid fallback handler address provided');\n }\n }\n validateFallbackHandlerIsNotEnabled(currentFallbackHandler, newFallbackHandlerAddress) {\n if ((0, utils_1.sameString)(currentFallbackHandler, newFallbackHandlerAddress)) {\n throw new Error('Fallback handler provided is already enabled');\n }\n }\n validateFallbackHandlerIsEnabled(fallbackHandlerAddress) {\n if ((0, utils_1.isZeroAddress)(fallbackHandlerAddress)) {\n throw new Error('There is no fallback handler enabled yet');\n }\n }\n async getFallbackHandler() {\n if (!__classPrivateFieldGet(this, _FallbackHandlerManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n const safeVersion = await __classPrivateFieldGet(this, _FallbackHandlerManager_safeContract, \"f\").getVersion();\n if ((0, utils_1.hasSafeFeature)(utils_1.SAFE_FEATURES.SAFE_FALLBACK_HANDLER, safeVersion)) {\n return __classPrivateFieldGet(this, _FallbackHandlerManager_ethAdapter, \"f\").getStorageAt(__classPrivateFieldGet(this, _FallbackHandlerManager_safeContract, \"f\").getAddress(), __classPrivateFieldGet(this, _FallbackHandlerManager_slot, \"f\"));\n }\n else {\n throw new Error('Current version of the Safe does not support the fallback handler functionality');\n }\n }\n async encodeEnableFallbackHandlerData(fallbackHandlerAddress) {\n if (!__classPrivateFieldGet(this, _FallbackHandlerManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n this.validateFallbackHandlerAddress(fallbackHandlerAddress);\n const currentFallbackHandler = await this.getFallbackHandler();\n this.validateFallbackHandlerIsNotEnabled(currentFallbackHandler, fallbackHandlerAddress);\n return __classPrivateFieldGet(this, _FallbackHandlerManager_safeContract, \"f\").encode('setFallbackHandler', [fallbackHandlerAddress]);\n }\n async encodeDisableFallbackHandlerData() {\n if (!__classPrivateFieldGet(this, _FallbackHandlerManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n const currentFallbackHandler = await this.getFallbackHandler();\n this.validateFallbackHandlerIsEnabled(currentFallbackHandler);\n return __classPrivateFieldGet(this, _FallbackHandlerManager_safeContract, \"f\").encode('setFallbackHandler', [constants_1.ZERO_ADDRESS]);\n }\n}\n_FallbackHandlerManager_ethAdapter = new WeakMap(), _FallbackHandlerManager_safeContract = new WeakMap(), _FallbackHandlerManager_slot = new WeakMap();\nexports.default = FallbackHandlerManager;\n//# sourceMappingURL=fallbackHandlerManager.js.map",null,"\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _GuardManager_ethAdapter, _GuardManager_safeContract, _GuardManager_slot;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst utils_1 = require(\"../utils\");\nconst constants_1 = require(\"../utils/constants\");\nclass GuardManager {\n constructor(ethAdapter, safeContract) {\n _GuardManager_ethAdapter.set(this, void 0);\n _GuardManager_safeContract.set(this, void 0);\n // keccak256(\"guard_manager.guard.address\")\n _GuardManager_slot.set(this, '0x4a204f620c8c5ccdca3fd54d003badd85ba500436a431f0cbda4f558c93c34c8');\n __classPrivateFieldSet(this, _GuardManager_ethAdapter, ethAdapter, \"f\");\n __classPrivateFieldSet(this, _GuardManager_safeContract, safeContract, \"f\");\n }\n validateGuardAddress(guardAddress) {\n const isValidAddress = __classPrivateFieldGet(this, _GuardManager_ethAdapter, \"f\").isAddress(guardAddress);\n if (!isValidAddress || (0, utils_1.isZeroAddress)(guardAddress)) {\n throw new Error('Invalid guard address provided');\n }\n }\n validateGuardIsNotEnabled(currentGuard, newGuardAddress) {\n if ((0, utils_1.sameString)(currentGuard, newGuardAddress)) {\n throw new Error('Guard provided is already enabled');\n }\n }\n validateGuardIsEnabled(guardAddress) {\n if ((0, utils_1.isZeroAddress)(guardAddress)) {\n throw new Error('There is no guard enabled yet');\n }\n }\n async getGuard() {\n if (!__classPrivateFieldGet(this, _GuardManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n const safeVersion = await __classPrivateFieldGet(this, _GuardManager_safeContract, \"f\").getVersion();\n if ((0, utils_1.hasSafeFeature)(utils_1.SAFE_FEATURES.SAFE_TX_GUARDS, safeVersion)) {\n return __classPrivateFieldGet(this, _GuardManager_ethAdapter, \"f\").getStorageAt(__classPrivateFieldGet(this, _GuardManager_safeContract, \"f\").getAddress(), __classPrivateFieldGet(this, _GuardManager_slot, \"f\"));\n }\n else {\n throw new Error('Current version of the Safe does not support Safe transaction guards functionality');\n }\n }\n async encodeEnableGuardData(guardAddress) {\n if (!__classPrivateFieldGet(this, _GuardManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n this.validateGuardAddress(guardAddress);\n const currentGuard = await this.getGuard();\n this.validateGuardIsNotEnabled(currentGuard, guardAddress);\n return __classPrivateFieldGet(this, _GuardManager_safeContract, \"f\").encode('setGuard', [guardAddress]);\n }\n async encodeDisableGuardData() {\n if (!__classPrivateFieldGet(this, _GuardManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n const currentGuard = await this.getGuard();\n this.validateGuardIsEnabled(currentGuard);\n return __classPrivateFieldGet(this, _GuardManager_safeContract, \"f\").encode('setGuard', [constants_1.ZERO_ADDRESS]);\n }\n}\n_GuardManager_ethAdapter = new WeakMap(), _GuardManager_safeContract = new WeakMap(), _GuardManager_slot = new WeakMap();\nexports.default = GuardManager;\n//# sourceMappingURL=guardManager.js.map",null,"\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _ModuleManager_ethAdapter, _ModuleManager_safeContract;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst address_1 = require(\"../utils/address\");\nconst constants_1 = require(\"../utils/constants\");\nclass ModuleManager {\n constructor(ethAdapter, safeContract) {\n _ModuleManager_ethAdapter.set(this, void 0);\n _ModuleManager_safeContract.set(this, void 0);\n __classPrivateFieldSet(this, _ModuleManager_ethAdapter, ethAdapter, \"f\");\n __classPrivateFieldSet(this, _ModuleManager_safeContract, safeContract, \"f\");\n }\n validateModuleAddress(moduleAddress) {\n const isValidAddress = __classPrivateFieldGet(this, _ModuleManager_ethAdapter, \"f\").isAddress(moduleAddress);\n if (!isValidAddress || (0, address_1.isRestrictedAddress)(moduleAddress)) {\n throw new Error('Invalid module address provided');\n }\n }\n validateModuleIsNotEnabled(moduleAddress, modules) {\n const moduleIndex = modules.findIndex((module) => (0, address_1.sameString)(module, moduleAddress));\n const isEnabled = moduleIndex >= 0;\n if (isEnabled) {\n throw new Error('Module provided is already enabled');\n }\n }\n validateModuleIsEnabled(moduleAddress, modules) {\n const moduleIndex = modules.findIndex((module) => (0, address_1.sameString)(module, moduleAddress));\n const isEnabled = moduleIndex >= 0;\n if (!isEnabled) {\n throw new Error('Module provided is not enabled yet');\n }\n return moduleIndex;\n }\n async getModules() {\n if (!__classPrivateFieldGet(this, _ModuleManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n return __classPrivateFieldGet(this, _ModuleManager_safeContract, \"f\").getModules();\n }\n async isModuleEnabled(moduleAddress) {\n if (!__classPrivateFieldGet(this, _ModuleManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n return __classPrivateFieldGet(this, _ModuleManager_safeContract, \"f\").isModuleEnabled(moduleAddress);\n }\n async encodeEnableModuleData(moduleAddress) {\n if (!__classPrivateFieldGet(this, _ModuleManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n this.validateModuleAddress(moduleAddress);\n const modules = await this.getModules();\n this.validateModuleIsNotEnabled(moduleAddress, modules);\n return __classPrivateFieldGet(this, _ModuleManager_safeContract, \"f\").encode('enableModule', [moduleAddress]);\n }\n async encodeDisableModuleData(moduleAddress) {\n if (!__classPrivateFieldGet(this, _ModuleManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n this.validateModuleAddress(moduleAddress);\n const modules = await this.getModules();\n const moduleIndex = this.validateModuleIsEnabled(moduleAddress, modules);\n const prevModuleAddress = moduleIndex === 0 ? constants_1.SENTINEL_ADDRESS : modules[moduleIndex - 1];\n return __classPrivateFieldGet(this, _ModuleManager_safeContract, \"f\").encode('disableModule', [prevModuleAddress, moduleAddress]);\n }\n}\n_ModuleManager_ethAdapter = new WeakMap(), _ModuleManager_safeContract = new WeakMap();\nexports.default = ModuleManager;\n//# sourceMappingURL=moduleManager.js.map",null,"\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar _OwnerManager_ethAdapter, _OwnerManager_safeContract;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst address_1 = require(\"../utils/address\");\nconst constants_1 = require(\"../utils/constants\");\nclass OwnerManager {\n constructor(ethAdapter, safeContract) {\n _OwnerManager_ethAdapter.set(this, void 0);\n _OwnerManager_safeContract.set(this, void 0);\n __classPrivateFieldSet(this, _OwnerManager_ethAdapter, ethAdapter, \"f\");\n __classPrivateFieldSet(this, _OwnerManager_safeContract, safeContract, \"f\");\n }\n validateOwnerAddress(ownerAddress, errorMessage) {\n const isValidAddress = __classPrivateFieldGet(this, _OwnerManager_ethAdapter, \"f\").isAddress(ownerAddress);\n if (!isValidAddress || (0, address_1.isRestrictedAddress)(ownerAddress)) {\n throw new Error(errorMessage || 'Invalid owner address provided');\n }\n }\n validateThreshold(threshold, numOwners) {\n if (threshold <= 0) {\n throw new Error('Threshold needs to be greater than 0');\n }\n if (threshold > numOwners) {\n throw new Error('Threshold cannot exceed owner count');\n }\n }\n validateAddressIsNotOwner(ownerAddress, owners, errorMessage) {\n const ownerIndex = owners.findIndex((owner) => (0, address_1.sameString)(owner, ownerAddress));\n const isOwner = ownerIndex >= 0;\n if (isOwner) {\n throw new Error(errorMessage || 'Address provided is already an owner');\n }\n }\n validateAddressIsOwner(ownerAddress, owners, errorMessage) {\n const ownerIndex = owners.findIndex((owner) => (0, address_1.sameString)(owner, ownerAddress));\n const isOwner = ownerIndex >= 0;\n if (!isOwner) {\n throw new Error(errorMessage || 'Address provided is not an owner');\n }\n return ownerIndex;\n }\n async getOwners() {\n if (!__classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n const owners = await __classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\").getOwners();\n return [...owners];\n }\n async getThreshold() {\n if (!__classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n return __classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\").getThreshold();\n }\n async isOwner(ownerAddress) {\n if (!__classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n return __classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\").isOwner(ownerAddress);\n }\n async encodeAddOwnerWithThresholdData(ownerAddress, threshold) {\n if (!__classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n this.validateOwnerAddress(ownerAddress);\n const owners = await this.getOwners();\n this.validateAddressIsNotOwner(ownerAddress, owners);\n const newThreshold = threshold !== null && threshold !== void 0 ? threshold : (await this.getThreshold());\n this.validateThreshold(newThreshold, owners.length + 1);\n return __classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\").encode('addOwnerWithThreshold', [ownerAddress, newThreshold]);\n }\n async encodeRemoveOwnerData(ownerAddress, threshold) {\n if (!__classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n this.validateOwnerAddress(ownerAddress);\n const owners = await this.getOwners();\n const ownerIndex = this.validateAddressIsOwner(ownerAddress, owners);\n const newThreshold = threshold !== null && threshold !== void 0 ? threshold : (await this.getThreshold()) - 1;\n this.validateThreshold(newThreshold, owners.length - 1);\n const prevOwnerAddress = ownerIndex === 0 ? constants_1.SENTINEL_ADDRESS : owners[ownerIndex - 1];\n return __classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\").encode('removeOwner', [prevOwnerAddress, ownerAddress, newThreshold]);\n }\n async encodeSwapOwnerData(oldOwnerAddress, newOwnerAddress) {\n if (!__classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n this.validateOwnerAddress(newOwnerAddress, 'Invalid new owner address provided');\n this.validateOwnerAddress(oldOwnerAddress, 'Invalid old owner address provided');\n const owners = await this.getOwners();\n this.validateAddressIsNotOwner(newOwnerAddress, owners, 'New address provided is already an owner');\n const oldOwnerIndex = this.validateAddressIsOwner(oldOwnerAddress, owners, 'Old address provided is not an owner');\n const prevOwnerAddress = oldOwnerIndex === 0 ? constants_1.SENTINEL_ADDRESS : owners[oldOwnerIndex - 1];\n return __classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\").encode('swapOwner', [\n prevOwnerAddress,\n oldOwnerAddress,\n newOwnerAddress\n ]);\n }\n async encodeChangeThresholdData(threshold) {\n if (!__classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\")) {\n throw new Error('Safe is not deployed');\n }\n const owners = await this.getOwners();\n this.validateThreshold(threshold, owners.length);\n return __classPrivateFieldGet(this, _OwnerManager_safeContract, \"f\").encode('changeThreshold', [threshold]);\n }\n}\n_OwnerManager_ethAdapter = new WeakMap(), _OwnerManager_safeContract = new WeakMap();\nexports.default = OwnerManager;\n//# sourceMappingURL=ownerManager.js.map",null,"\"use strict\";\nvar __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n};\nvar __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nvar _SafeFactory_contractNetworks, _SafeFactory_isL1SafeMasterCopy, _SafeFactory_safeVersion, _SafeFactory_ethAdapter, _SafeFactory_safeProxyFactoryContract, _SafeFactory_gnosisSafeContract;\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst config_1 = require(\"../contracts/config\");\nconst safeDeploymentContracts_1 = require(\"../contracts/safeDeploymentContracts\");\nconst Safe_1 = __importDefault(require(\"../Safe\"));\nconst utils_1 = require(\"../contracts/utils\");\nclass SafeFactory {\n constructor() {\n _SafeFactory_contractNetworks.set(this, void 0);\n _SafeFactory_isL1SafeMasterCopy.set(this, void 0);\n _SafeFactory_safeVersion.set(this, void 0);\n _SafeFactory_ethAdapter.set(this, void 0);\n _SafeFactory_safeProxyFactoryContract.set(this, void 0);\n _SafeFactory_gnosisSafeContract.set(this, void 0);\n }\n static async create({ ethAdapter, safeVersion = config_1.SAFE_LAST_VERSION, isL1SafeMasterCopy = false, contractNetworks }) {\n const safeFactorySdk = new SafeFactory();\n await safeFactorySdk.init({ ethAdapter, safeVersion, isL1SafeMasterCopy, contractNetworks });\n return safeFactorySdk;\n }\n async init({ ethAdapter, safeVersion, isL1SafeMasterCopy, contractNetworks }) {\n __classPrivateFieldSet(this, _SafeFactory_ethAdapter, ethAdapter, \"f\");\n __classPrivateFieldSet(this, _SafeFactory_safeVersion, safeVersion, \"f\");\n __classPrivateFieldSet(this, _SafeFactory_isL1SafeMasterCopy, isL1SafeMasterCopy, \"f\");\n __classPrivateFieldSet(this, _SafeFactory_contractNetworks, contractNetworks, \"f\");\n const chainId = await __classPrivateFieldGet(this, _SafeFactory_ethAdapter, \"f\").getChainId();\n const customContracts = contractNetworks === null || contractNetworks === void 0 ? void 0 : contractNetworks[chainId];\n __classPrivateFieldSet(this, _SafeFactory_safeProxyFactoryContract, await (0, safeDeploymentContracts_1.getProxyFactoryContract)({\n ethAdapter,\n safeVersion,\n customContracts\n }), \"f\");\n __classPrivateFieldSet(this, _SafeFactory_gnosisSafeContract, await (0, safeDeploymentContracts_1.getSafeContract)({\n ethAdapter,\n safeVersion,\n isL1SafeMasterCopy,\n customContracts\n }), \"f\");\n }\n getEthAdapter() {\n return __classPrivateFieldGet(this, _SafeFactory_ethAdapter, \"f\");\n }\n getSafeVersion() {\n return __classPrivateFieldGet(this, _SafeFactory_safeVersion, \"f\");\n }\n getAddress() {\n return __classPrivateFieldGet(this, _SafeFactory_safeProxyFactoryContract, \"f\").getAddress();\n }\n async getChainId() {\n return __classPrivateFieldGet(this, _SafeFactory_ethAdapter, \"f\").getChainId();\n }\n async predictSafeAddress(safeAccountConfig, saltNonce = utils_1.PREDETERMINED_SALT_NONCE) {\n var _a;\n const chainId = await __classPrivateFieldGet(this, _SafeFactory_ethAdapter, \"f\").getChainId();\n const customContracts = (_a = __classPrivateFieldGet(this, _SafeFactory_contractNetworks, \"f\")) === null || _a === void 0 ? void 0 : _a[chainId];\n const safeVersion = __classPrivateFieldGet(this, _SafeFactory_safeVersion, \"f\");\n const safeDeploymentConfig = { saltNonce, safeVersion };\n return (0, utils_1.predictSafeAddress)({\n ethAdapter: __classPrivateFieldGet(this, _SafeFactory_ethAdapter, \"f\"),\n safeAccountConfig,\n safeDeploymentConfig,\n isL1SafeMasterCopy: __classPrivateFieldGet(this, _SafeFactory_isL1SafeMasterCopy, \"f\"),\n customContracts\n });\n }\n async deploySafe({ safeAccountConfig, saltNonce = utils_1.PREDETERMINED_SALT_NONCE, options, callback }) {\n var _a;\n (0, utils_1.validateSafeAccountConfig)(safeAccountConfig);\n (0, utils_1.validateSafeDeploymentConfig)({ saltNonce });\n const signerAddress = await __classPrivateFieldGet(this, _SafeFactory_ethAdapter, \"f\").getSignerAddress();\n if (!signerAddress) {\n throw new Error('EthAdapter must be initialized with a signer to use this method');\n }\n const chainId = await this.getChainId();\n const customContracts = (_a = __classPrivateFieldGet(this, _SafeFactory_contractNetworks, \"f\")) === null || _a === void 0 ? void 0 : _a[chainId];\n const initializer = await (0, utils_1.encodeSetupCallData)({\n ethAdapter: __classPrivateFieldGet(this, _SafeFactory_ethAdapter, \"f\"),\n safeAccountConfig,\n safeContract: __classPrivateFieldGet(this, _SafeFactory_gnosisSafeContract, \"f\"),\n customContracts\n });\n if ((options === null || options === void 0 ? void 0 : options.gas) && (options === null || options === void 0 ? void 0 : options.gasLimit)) {\n throw new Error('Cannot specify gas and gasLimit together in transaction options');\n }\n const safeAddress = await __classPrivateFieldGet(this, _SafeFactory_safeProxyFactoryContract, \"f\").createProxy({\n safeMasterCopyAddress: __classPrivateFieldGet(this, _SafeFactory_gnosisSafeContract, \"f\").getAddress(),\n initializer,\n saltNonce,\n options: {\n from: signerAddress,\n ...options\n },\n callback\n });\n const isContractDeployed = await __classPrivateFieldGet(this, _SafeFactory_ethAdapter, \"f\").isContractDeployed(safeAddress);\n if (!isContractDeployed) {\n throw new Error('SafeProxy contract is not deployed on the current network');\n }\n const safe = await Safe_1.default.create({\n ethAdapter: __classPrivateFieldGet(this, _SafeFactory_ethAdapter, \"f\"),\n safeAddress,\n isL1SafeMasterCopy: __classPrivateFieldGet(this, _SafeFactory_isL1SafeMasterCopy, \"f\"),\n contractNetworks: __classPrivateFieldGet(this, _SafeFactory_contractNetworks, \"f\")\n });\n return safe;\n }\n}\n_SafeFactory_contractNetworks = new WeakMap(), _SafeFactory_isL1SafeMasterCopy = new WeakMap(), _SafeFactory_safeVersion = new WeakMap(), _SafeFactory_ethAdapter = new WeakMap(), _SafeFactory_safeProxyFactoryContract = new WeakMap(), _SafeFactory_gnosisSafeContract = new WeakMap();\nexports.default = SafeFactory;\n//# sourceMappingURL=index.js.map",null,"import Safe, {\n ContractNetworksConfig,\n EthersAdapter,\n SafeFactory,\n} from \"@safe-global/protocol-kit\";\nimport Toastify from \"toastify-js\";\nimport { ethers } from \"ethers\";\nimport { parseEther } from \"ethers/lib/utils\";\nimport \"@zoralabs/zorb/dist/component.umd\";\nimport \"toastify-js/src/toastify.css\";\nimport { contractNetworks } from \"./chains\";\n\nfunction log(text) {\n console.log(text);\n Toastify({\n text: text,\n }).showToast();\n const log = document.querySelector(\"#log\");\n if (!log) {\n return;\n }\n log.innerHTML += `
  • ${text}
  • `;\n}\n\nasync function getSigner() {\n await (window as any).ethereum.enable();\n\n return new ethers.providers.Web3Provider(\n (window as any).ethereum\n ).getSigner();\n}\n\nasync function getSafeSDK(safeAddress: string) {\n const signer = await getSigner();\n\n const ethAdapter = new EthersAdapter({\n ethers,\n signerOrProvider: signer,\n });\n\n log(`ChainId: ${await ethAdapter.getChainId()}`);\n\n const safeSdk: Safe = await Safe.create({\n ethAdapter: ethAdapter,\n safeAddress,\n contractNetworks,\n });\n\n const safeSdk2 = await safeSdk.connect({\n ethAdapter: new EthersAdapter({ ethers, signerOrProvider: signer }),\n safeAddress,\n contractNetworks,\n });\n return { safeSdk, safeSdk2, signer };\n}\n\nasync function runit(operation, safeAddress, transaction) {\n try {\n const { safeSdk, safeSdk2 } = await getSafeSDK(safeAddress);\n\n log(`creating txn for ${safeAddress.toString()}`);\n const txn = await safeSdk.createTransaction({\n safeTransactionData: transaction,\n });\n\n if (operation === \"execute\") {\n const execute = await safeSdk2.executeTransaction(txn);\n log(`publishing approval tx ${execute.hash}`);\n await execute.transactionResponse?.wait();\n log(\"executed\");\n }\n\n if (operation === \"sign\") {\n const txHash = await safeSdk2.getTransactionHash(txn);\n log(`has safe tx hash ${txHash}`);\n\n const approveTxResponse = await safeSdk2.approveTransactionHash(txHash);\n log(`publishing approval tx ${approveTxResponse.hash}`);\n await approveTxResponse.transactionResponse?.wait();\n log(\"transaction has been confirmed\");\n }\n } catch (err) {\n log(err.toString());\n }\n}\n\nasync function create(threshold: string, signers: string[]) {\n try {\n const signer = new ethers.providers.Web3Provider(\n (window as any).ethereum\n ).getSigner();\n const ethAdapter = new EthersAdapter({ ethers, signerOrProvider: signer });\n const adapter = await SafeFactory.create({ ethAdapter, contractNetworks });\n const sdk = await adapter.deploySafe({\n safeAccountConfig: {\n owners: signers,\n threshold: parseInt(threshold, 10),\n },\n });\n log(`deployed new safe: ${await sdk.getAddress()}`);\n } catch (err) {\n log(err.toString());\n throw err;\n }\n}\n\nasync function getSafeData(safeAddress: string) {\n try {\n const { safeSdk, signer } = await getSafeSDK(safeAddress);\n const owners = await safeSdk.getOwners();\n const threshold = await safeSdk.getThreshold();\n const chainId = await signer.getChainId();\n\n return { owners, threshold, chainId };\n } catch (err) {\n log(err.toString());\n throw err;\n }\n}\n\nasync function getSafeTxnApprovals(safeAddress: string, txnData: any) {\n const { safeSdk, safeSdk2 } = await getSafeSDK(safeAddress);\n const txn = await safeSdk.createTransaction({\n safeTransactionData: txnData,\n });\n const hash = await safeSdk2.getTransactionHash(txn);\n return await safeSdk2.getOwnersWhoApprovedTx(hash);\n}\n\nfunction formDataAsDict(form: HTMLFormElement) {\n const data = {};\n const formData = new FormData(form);\n for (const pair of formData.entries()) {\n data[pair[0]] = pair[1];\n }\n return data;\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", () => {\n (window as any).ethereum.on(\"chainChanged\", (networkId) => {\n document.querySelector(\"#network-id\")!.innerHTML = parseInt(\n networkId,\n 16\n ).toString();\n });\n (window as any).ethereum.on(\"accountsChanged\", (accounts) => {\n log(`Switched account to ${accounts[0]}`);\n document.querySelector(\"#user-account\")!.innerHTML =\n accounts[0];\n });\n (window as any).ethereum.on(\"connect\", async (connectInfo: any) => {\n const accounts = await (window as any).ethereum.send(\"eth_requestAccounts\");\n const firstAccount = accounts.result[0];\n document.querySelector(\"#user-account\")!.innerHTML =\n firstAccount;\n document.querySelector(\"#connect-section\")!.style.display =\n \"none\";\n const network = parseInt(connectInfo.chainId, 16).toString();\n document.querySelector(\"#network-id\")!.innerHTML = network;\n log(`Switched connected to ${network} with ${firstAccount}`);\n });\n});\n\nfunction setInput(name: string, value: string | null) {\n if (value === null) {\n value = \"\";\n }\n\n const safeAddress = document.querySelector(\n `input[name=${name}]`\n ) as HTMLInputElement;\n safeAddress.value = value;\n}\n\nconst getNetwork = async () =>\n (await (await getSigner()).getChainId()).toString();\n\nfunction app() {\n const signForm = document.querySelector(\"#sign\");\n\n async function getSafeInfo() {\n const data = formDataAsDict(signForm as HTMLFormElement);\n const safeData = await getSafeData(data[\"safeAddress\"]);\n document.querySelector(\"#safe-result\")!.innerHTML = JSON.stringify(\n safeData,\n null,\n 2\n );\n }\n\n document.addEventListener(\"DOMContentLoaded\", async () => {\n const params = new URLSearchParams(window.location.search);\n if (params.get(\"network\")) {\n let network = params.get(\"network\")!;\n if (network.startsWith(\"0x\")) {\n network = parseInt(network, 16).toString();\n }\n\n const currentNetwork = await getNetwork();\n console.log({ currentNetwork, network });\n if (currentNetwork !== network) {\n console.log(\"changing network\");\n await (window as any).ethereum.request({\n method: \"wallet_switchEthereumChain\",\n params: [{ chainId: `0x${parseInt(network, 10).toString(16)}` }],\n });\n }\n }\n if (params.get(\"safe\")) {\n console.log(\"has safe!\");\n console.log(params.get(\"safe\"));\n setInput(\"safeAddress\", params.get(\"safe\"));\n setInput(\"to\", params.get(\"to\"));\n setInput(\"value\", params.get(\"value\"));\n setInput(\"data\", params.get(\"data\"));\n getSafeInfo();\n (\n document.querySelector(\"summary.have-safe\") as any\n ).parentElement.setAttribute(\"open\", \"1\");\n }\n });\n\n if (signForm) {\n document\n .querySelector(\"#connect\")\n ?.addEventListener(\"click\", async (evt) => {\n evt.preventDefault();\n (window as any).ethereum.send(\"eth_requestAccounts\");\n });\n document\n .querySelector(\"button.share-txn\")\n ?.addEventListener(\"click\", async (evt) => {\n evt.preventDefault();\n const params = new URLSearchParams();\n const data: any = formDataAsDict(signForm as HTMLFormElement);\n params.set(\"safe\", data[\"safeAddress\"]);\n params.set(\"to\", data[\"to\"]);\n params.set(\"data\", data[\"data\"]);\n params.set(\"value\", data[\"value\"]);\n params.set(\"network\", await getNetwork());\n let location = window.location.href;\n if (location.indexOf(\"?\") !== -1) {\n location = location.substring(0, location.indexOf(\"?\"));\n }\n const url = `${location}?${params.toString()}`;\n (navigator as any).clipboard.writeText(url);\n });\n document\n .querySelector(\"#safe-info\")\n ?.addEventListener(\"click\", async (evt) => {\n evt.preventDefault();\n getSafeInfo();\n });\n signForm.addEventListener(\"submit\", (evt) => {\n evt.preventDefault();\n const data = formDataAsDict(signForm as HTMLFormElement);\n try {\n const txn = {\n to: data[\"to\"],\n value: parseEther(data[\"value\"] || \"0\").toString(),\n data: data[\"data\"] || \"0x\",\n };\n console.log({ txn });\n runit(data[\"operation\"], data[\"safeAddress\"], txn);\n } catch (e) {\n log(e);\n alert(e.toString());\n return;\n }\n });\n signForm.addEventListener(\"change\", async () => {\n const data: any = formDataAsDict(signForm as HTMLFormElement);\n if (data.safeAddress && data.to && data.value && data.data) {\n const txn = {\n to: data[\"to\"],\n value: parseEther(data[\"value\"] || \"0\").toString(),\n data: data[\"data\"] || \"0x\",\n };\n console.log({ txn, data });\n const approvals = await getSafeTxnApprovals(data[\"safeAddress\"], txn);\n const approvalsHtml = document.querySelector(\"#txn-approvals\")!;\n approvalsHtml.innerHTML = `${\n approvals.length\n } approvals for this txn [${approvals.join(\", \")}]`;\n }\n });\n }\n const executeForm = document.querySelector(\"#create\");\n if (executeForm) {\n executeForm.addEventListener(\"submit\", (evt) => {\n evt.preventDefault();\n const data = formDataAsDict(executeForm as HTMLFormElement);\n // do execute\n try {\n create(data[\"threshold\"], data[\"signers\"].split(\"\\n\"));\n } catch (e) {\n log(e.toString());\n console.error(e);\n }\n });\n }\n}\n\napp();\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EthSafeSignature = exports.encodeCreateProxyWithNonce = exports.PREDETERMINED_SALT_NONCE = exports.encodeSetupCallData = exports.predictSafeAddress = exports.getCreateCallContract = exports.getSignMessageLibContract = exports.getMultiSendCallOnlyContract = exports.getMultiSendContract = exports.getCompatibilityFallbackHandlerContract = exports.getProxyFactoryContract = exports.getSafeContract = exports.SignMessageLibWeb3Contract = exports.MultiSendCallOnlyWeb3Contract = exports.MultiSendWeb3Contract = exports.GnosisSafeProxyFactoryWeb3Contract = exports.GnosisSafeContractWeb3 = exports.CreateCallWeb3Contract = exports.Web3Adapter = exports.SignMessageLibEthersContract = exports.MultiSendCallOnlyEthersContract = exports.MultiSendEthersContract = exports.GnosisSafeProxyFactoryEthersContract = exports.GnosisSafeContractEthers = exports.CreateCallEthersContract = exports.EthersAdapter = exports.standardizeSafeTransactionData = exports.encodeMultiSendData = exports.SafeFactory = exports.ContractManager = void 0;\nconst ethers_1 = require(\"./adapters/ethers\");\nObject.defineProperty(exports, \"CreateCallEthersContract\", { enumerable: true, get: function () { return ethers_1.CreateCallEthersContract; } });\nObject.defineProperty(exports, \"EthersAdapter\", { enumerable: true, get: function () { return ethers_1.EthersAdapter; } });\nObject.defineProperty(exports, \"GnosisSafeContractEthers\", { enumerable: true, get: function () { return ethers_1.GnosisSafeContractEthers; } });\nObject.defineProperty(exports, \"GnosisSafeProxyFactoryEthersContract\", { enumerable: true, get: function () { return ethers_1.GnosisSafeProxyFactoryEthersContract; } });\nObject.defineProperty(exports, \"MultiSendCallOnlyEthersContract\", { enumerable: true, get: function () { return ethers_1.MultiSendCallOnlyEthersContract; } });\nObject.defineProperty(exports, \"MultiSendEthersContract\", { enumerable: true, get: function () { return ethers_1.MultiSendEthersContract; } });\nObject.defineProperty(exports, \"SignMessageLibEthersContract\", { enumerable: true, get: function () { return ethers_1.SignMessageLibEthersContract; } });\nconst web3_1 = require(\"./adapters/web3\");\nObject.defineProperty(exports, \"CreateCallWeb3Contract\", { enumerable: true, get: function () { return web3_1.CreateCallWeb3Contract; } });\nObject.defineProperty(exports, \"GnosisSafeContractWeb3\", { enumerable: true, get: function () { return web3_1.GnosisSafeContractWeb3; } });\nObject.defineProperty(exports, \"GnosisSafeProxyFactoryWeb3Contract\", { enumerable: true, get: function () { return web3_1.GnosisSafeProxyFactoryWeb3Contract; } });\nObject.defineProperty(exports, \"MultiSendCallOnlyWeb3Contract\", { enumerable: true, get: function () { return web3_1.MultiSendCallOnlyWeb3Contract; } });\nObject.defineProperty(exports, \"MultiSendWeb3Contract\", { enumerable: true, get: function () { return web3_1.MultiSendWeb3Contract; } });\nObject.defineProperty(exports, \"SignMessageLibWeb3Contract\", { enumerable: true, get: function () { return web3_1.SignMessageLibWeb3Contract; } });\nObject.defineProperty(exports, \"Web3Adapter\", { enumerable: true, get: function () { return web3_1.Web3Adapter; } });\nconst safeDeploymentContracts_1 = require(\"./contracts/safeDeploymentContracts\");\nObject.defineProperty(exports, \"getCompatibilityFallbackHandlerContract\", { enumerable: true, get: function () { return safeDeploymentContracts_1.getCompatibilityFallbackHandlerContract; } });\nObject.defineProperty(exports, \"getCreateCallContract\", { enumerable: true, get: function () { return safeDeploymentContracts_1.getCreateCallContract; } });\nObject.defineProperty(exports, \"getMultiSendCallOnlyContract\", { enumerable: true, get: function () { return safeDeploymentContracts_1.getMultiSendCallOnlyContract; } });\nObject.defineProperty(exports, \"getMultiSendContract\", { enumerable: true, get: function () { return safeDeploymentContracts_1.getMultiSendContract; } });\nObject.defineProperty(exports, \"getProxyFactoryContract\", { enumerable: true, get: function () { return safeDeploymentContracts_1.getProxyFactoryContract; } });\nObject.defineProperty(exports, \"getSafeContract\", { enumerable: true, get: function () { return safeDeploymentContracts_1.getSafeContract; } });\nObject.defineProperty(exports, \"getSignMessageLibContract\", { enumerable: true, get: function () { return safeDeploymentContracts_1.getSignMessageLibContract; } });\nconst utils_1 = require(\"./contracts/utils\");\nObject.defineProperty(exports, \"predictSafeAddress\", { enumerable: true, get: function () { return utils_1.predictSafeAddress; } });\nObject.defineProperty(exports, \"encodeSetupCallData\", { enumerable: true, get: function () { return utils_1.encodeSetupCallData; } });\nObject.defineProperty(exports, \"encodeCreateProxyWithNonce\", { enumerable: true, get: function () { return utils_1.encodeCreateProxyWithNonce; } });\nObject.defineProperty(exports, \"PREDETERMINED_SALT_NONCE\", { enumerable: true, get: function () { return utils_1.PREDETERMINED_SALT_NONCE; } });\nconst contractManager_1 = __importDefault(require(\"./managers/contractManager\"));\nexports.ContractManager = contractManager_1.default;\nconst Safe_1 = __importDefault(require(\"./Safe\"));\nconst safeFactory_1 = __importDefault(require(\"./safeFactory\"));\nexports.SafeFactory = safeFactory_1.default;\nconst utils_2 = require(\"./utils\");\nObject.defineProperty(exports, \"EthSafeSignature\", { enumerable: true, get: function () { return utils_2.EthSafeSignature; } });\nconst utils_3 = require(\"./utils/transactions/utils\");\nObject.defineProperty(exports, \"encodeMultiSendData\", { enumerable: true, get: function () { return utils_3.encodeMultiSendData; } });\nObject.defineProperty(exports, \"standardizeSafeTransactionData\", { enumerable: true, get: function () { return utils_3.standardizeSafeTransactionData; } });\nexports.default = Safe_1.default;\n//# sourceMappingURL=index.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SignMessageLibEthersContract = exports.MultiSendCallOnlyEthersContract = exports.MultiSendEthersContract = exports.GnosisSafeProxyFactoryEthersContract = exports.GnosisSafeContractEthers = exports.CreateCallEthersContract = exports.EthersAdapter = void 0;\nconst CreateCallEthersContract_1 = __importDefault(require(\"./contracts/CreateCall/CreateCallEthersContract\"));\nexports.CreateCallEthersContract = CreateCallEthersContract_1.default;\nconst GnosisSafeContractEthers_1 = __importDefault(require(\"./contracts/GnosisSafe/GnosisSafeContractEthers\"));\nexports.GnosisSafeContractEthers = GnosisSafeContractEthers_1.default;\nconst GnosisSafeProxyFactoryEthersContract_1 = __importDefault(require(\"./contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryEthersContract\"));\nexports.GnosisSafeProxyFactoryEthersContract = GnosisSafeProxyFactoryEthersContract_1.default;\nconst MultiSendEthersContract_1 = __importDefault(require(\"./contracts/MultiSend/MultiSendEthersContract\"));\nexports.MultiSendEthersContract = MultiSendEthersContract_1.default;\nconst MultiSendCallOnlyEthersContract_1 = __importDefault(require(\"./contracts/MultiSendCallOnly/MultiSendCallOnlyEthersContract\"));\nexports.MultiSendCallOnlyEthersContract = MultiSendCallOnlyEthersContract_1.default;\nconst SignMessageLibEthersContract_1 = __importDefault(require(\"./contracts/SignMessageLib/SignMessageLibEthersContract\"));\nexports.SignMessageLibEthersContract = SignMessageLibEthersContract_1.default;\nconst EthersAdapter_1 = __importDefault(require(\"./EthersAdapter\"));\nexports.EthersAdapter = EthersAdapter_1.default;\n//# sourceMappingURL=index.js.map",null,"\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SignMessageLibWeb3Contract = exports.MultiSendCallOnlyWeb3Contract = exports.MultiSendWeb3Contract = exports.GnosisSafeProxyFactoryWeb3Contract = exports.GnosisSafeContractWeb3 = exports.CreateCallWeb3Contract = exports.Web3Adapter = void 0;\nconst CreateCallWeb3Contract_1 = __importDefault(require(\"./contracts/CreateCall/CreateCallWeb3Contract\"));\nexports.CreateCallWeb3Contract = CreateCallWeb3Contract_1.default;\nconst GnosisSafeContractWeb3_1 = __importDefault(require(\"./contracts/GnosisSafe/GnosisSafeContractWeb3\"));\nexports.GnosisSafeContractWeb3 = GnosisSafeContractWeb3_1.default;\nconst GnosisSafeProxyFactoryWeb3Contract_1 = __importDefault(require(\"./contracts/GnosisSafeProxyFactory/GnosisSafeProxyFactoryWeb3Contract\"));\nexports.GnosisSafeProxyFactoryWeb3Contract = GnosisSafeProxyFactoryWeb3Contract_1.default;\nconst MultiSendWeb3Contract_1 = __importDefault(require(\"./contracts/MultiSend/MultiSendWeb3Contract\"));\nexports.MultiSendWeb3Contract = MultiSendWeb3Contract_1.default;\nconst MultiSendCallOnlyWeb3Contract_1 = __importDefault(require(\"./contracts/MultiSendCallOnly/MultiSendCallOnlyWeb3Contract\"));\nexports.MultiSendCallOnlyWeb3Contract = MultiSendCallOnlyWeb3Contract_1.default;\nconst SignMessageLibWeb3Contract_1 = __importDefault(require(\"./contracts/SignMessageLib/SignMessageLibWeb3Contract\"));\nexports.SignMessageLibWeb3Contract = SignMessageLibWeb3Contract_1.default;\nconst Web3Adapter_1 = __importDefault(require(\"./Web3Adapter\"));\nexports.Web3Adapter = Web3Adapter_1.default;\n//# sourceMappingURL=index.js.map",null,"/*!\n * Toastify js 1.12.0\n * https://github.com/apvarun/toastify-js\n * @license MIT licensed\n *\n * Copyright (C) 2018 Varun A P\n */\n(function(root, factory) {\n if (typeof module === \"object\" && module.exports) {\n module.exports = factory();\n } else {\n root.Toastify = factory();\n }\n})(this, function(global) {\n // Object initialization\n var Toastify = function(options) {\n // Returning a new init object\n return new Toastify.lib.init(options);\n },\n // Library version\n version = \"1.12.0\";\n\n // Set the default global options\n Toastify.defaults = {\n oldestFirst: true,\n text: \"Toastify is awesome!\",\n node: undefined,\n duration: 3000,\n selector: undefined,\n callback: function () {\n },\n destination: undefined,\n newWindow: false,\n close: false,\n gravity: \"toastify-top\",\n positionLeft: false,\n position: '',\n backgroundColor: '',\n avatar: \"\",\n className: \"\",\n stopOnFocus: true,\n onClick: function () {\n },\n offset: {x: 0, y: 0},\n escapeMarkup: true,\n ariaLive: 'polite',\n style: {background: ''}\n };\n\n // Defining the prototype of the object\n Toastify.lib = Toastify.prototype = {\n toastify: version,\n\n constructor: Toastify,\n\n // Initializing the object with required parameters\n init: function(options) {\n // Verifying and validating the input object\n if (!options) {\n options = {};\n }\n\n // Creating the options object\n this.options = {};\n\n this.toastElement = null;\n\n // Validating the options\n this.options.text = options.text || Toastify.defaults.text; // Display message\n this.options.node = options.node || Toastify.defaults.node; // Display content as node\n this.options.duration = options.duration === 0 ? 0 : options.duration || Toastify.defaults.duration; // Display duration\n this.options.selector = options.selector || Toastify.defaults.selector; // Parent selector\n this.options.callback = options.callback || Toastify.defaults.callback; // Callback after display\n this.options.destination = options.destination || Toastify.defaults.destination; // On-click destination\n this.options.newWindow = options.newWindow || Toastify.defaults.newWindow; // Open destination in new window\n this.options.close = options.close || Toastify.defaults.close; // Show toast close icon\n this.options.gravity = options.gravity === \"bottom\" ? \"toastify-bottom\" : Toastify.defaults.gravity; // toast position - top or bottom\n this.options.positionLeft = options.positionLeft || Toastify.defaults.positionLeft; // toast position - left or right\n this.options.position = options.position || Toastify.defaults.position; // toast position - left or right\n this.options.backgroundColor = options.backgroundColor || Toastify.defaults.backgroundColor; // toast background color\n this.options.avatar = options.avatar || Toastify.defaults.avatar; // img element src - url or a path\n this.options.className = options.className || Toastify.defaults.className; // additional class names for the toast\n this.options.stopOnFocus = options.stopOnFocus === undefined ? Toastify.defaults.stopOnFocus : options.stopOnFocus; // stop timeout on focus\n this.options.onClick = options.onClick || Toastify.defaults.onClick; // Callback after click\n this.options.offset = options.offset || Toastify.defaults.offset; // toast offset\n this.options.escapeMarkup = options.escapeMarkup !== undefined ? options.escapeMarkup : Toastify.defaults.escapeMarkup;\n this.options.ariaLive = options.ariaLive || Toastify.defaults.ariaLive;\n this.options.style = options.style || Toastify.defaults.style;\n if(options.backgroundColor) {\n this.options.style.background = options.backgroundColor;\n }\n\n // Returning the current object for chaining functions\n return this;\n },\n\n // Building the DOM element\n buildToast: function() {\n // Validating if the options are defined\n if (!this.options) {\n throw \"Toastify is not initialized\";\n }\n\n // Creating the DOM object\n var divElement = document.createElement(\"div\");\n divElement.className = \"toastify on \" + this.options.className;\n\n // Positioning toast to left or right or center\n if (!!this.options.position) {\n divElement.className += \" toastify-\" + this.options.position;\n } else {\n // To be depreciated in further versions\n if (this.options.positionLeft === true) {\n divElement.className += \" toastify-left\";\n console.warn('Property `positionLeft` will be depreciated in further versions. Please use `position` instead.')\n } else {\n // Default position\n divElement.className += \" toastify-right\";\n }\n }\n\n // Assigning gravity of element\n divElement.className += \" \" + this.options.gravity;\n\n if (this.options.backgroundColor) {\n // This is being deprecated in favor of using the style HTML DOM property\n console.warn('DEPRECATION NOTICE: \"backgroundColor\" is being deprecated. Please use the \"style.background\" property.');\n }\n\n // Loop through our style object and apply styles to divElement\n for (var property in this.options.style) {\n divElement.style[property] = this.options.style[property];\n }\n\n // Announce the toast to screen readers\n if (this.options.ariaLive) {\n divElement.setAttribute('aria-live', this.options.ariaLive)\n }\n\n // Adding the toast message/node\n if (this.options.node && this.options.node.nodeType === Node.ELEMENT_NODE) {\n // If we have a valid node, we insert it\n divElement.appendChild(this.options.node)\n } else {\n if (this.options.escapeMarkup) {\n divElement.innerText = this.options.text;\n } else {\n divElement.innerHTML = this.options.text;\n }\n\n if (this.options.avatar !== \"\") {\n var avatarElement = document.createElement(\"img\");\n avatarElement.src = this.options.avatar;\n\n avatarElement.className = \"toastify-avatar\";\n\n if (this.options.position == \"left\" || this.options.positionLeft === true) {\n // Adding close icon on the left of content\n divElement.appendChild(avatarElement);\n } else {\n // Adding close icon on the right of content\n divElement.insertAdjacentElement(\"afterbegin\", avatarElement);\n }\n }\n }\n\n // Adding a close icon to the toast\n if (this.options.close === true) {\n // Create a span for close element\n var closeElement = document.createElement(\"button\");\n closeElement.type = \"button\";\n closeElement.setAttribute(\"aria-label\", \"Close\");\n closeElement.className = \"toast-close\";\n closeElement.innerHTML = \"✖\";\n\n // Triggering the removal of toast from DOM on close click\n closeElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.removeElement(this.toastElement);\n window.clearTimeout(this.toastElement.timeOutValue);\n }.bind(this)\n );\n\n //Calculating screen width\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Adding the close icon to the toast element\n // Display on the right if screen width is less than or equal to 360px\n if ((this.options.position == \"left\" || this.options.positionLeft === true) && width > 360) {\n // Adding close icon on the left of content\n divElement.insertAdjacentElement(\"afterbegin\", closeElement);\n } else {\n // Adding close icon on the right of content\n divElement.appendChild(closeElement);\n }\n }\n\n // Clear timeout while toast is focused\n if (this.options.stopOnFocus && this.options.duration > 0) {\n var self = this;\n // stop countdown\n divElement.addEventListener(\n \"mouseover\",\n function(event) {\n window.clearTimeout(divElement.timeOutValue);\n }\n )\n // add back the timeout\n divElement.addEventListener(\n \"mouseleave\",\n function() {\n divElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n self.removeElement(divElement);\n },\n self.options.duration\n )\n }\n )\n }\n\n // Adding an on-click destination path\n if (typeof this.options.destination !== \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n if (this.options.newWindow === true) {\n window.open(this.options.destination, \"_blank\");\n } else {\n window.location = this.options.destination;\n }\n }.bind(this)\n );\n }\n\n if (typeof this.options.onClick === \"function\" && typeof this.options.destination === \"undefined\") {\n divElement.addEventListener(\n \"click\",\n function(event) {\n event.stopPropagation();\n this.options.onClick();\n }.bind(this)\n );\n }\n\n // Adding offset\n if(typeof this.options.offset === \"object\") {\n\n var x = getAxisOffsetAValue(\"x\", this.options);\n var y = getAxisOffsetAValue(\"y\", this.options);\n\n var xOffset = this.options.position == \"left\" ? x : \"-\" + x;\n var yOffset = this.options.gravity == \"toastify-top\" ? y : \"-\" + y;\n\n divElement.style.transform = \"translate(\" + xOffset + \",\" + yOffset + \")\";\n\n }\n\n // Returning the generated element\n return divElement;\n },\n\n // Displaying the toast\n showToast: function() {\n // Creating the DOM object for the toast\n this.toastElement = this.buildToast();\n\n // Getting the root element to with the toast needs to be added\n var rootElement;\n if (typeof this.options.selector === \"string\") {\n rootElement = document.getElementById(this.options.selector);\n } else if (this.options.selector instanceof HTMLElement || (typeof ShadowRoot !== 'undefined' && this.options.selector instanceof ShadowRoot)) {\n rootElement = this.options.selector;\n } else {\n rootElement = document.body;\n }\n\n // Validating if root element is present in DOM\n if (!rootElement) {\n throw \"Root element is not defined\";\n }\n\n // Adding the DOM element\n var elementToInsert = Toastify.defaults.oldestFirst ? rootElement.firstChild : rootElement.lastChild;\n rootElement.insertBefore(this.toastElement, elementToInsert);\n\n // Repositioning the toasts in case multiple toasts are present\n Toastify.reposition();\n\n if (this.options.duration > 0) {\n this.toastElement.timeOutValue = window.setTimeout(\n function() {\n // Remove the toast from DOM\n this.removeElement(this.toastElement);\n }.bind(this),\n this.options.duration\n ); // Binding `this` for function invocation\n }\n\n // Supporting function chaining\n return this;\n },\n\n hideToast: function() {\n if (this.toastElement.timeOutValue) {\n clearTimeout(this.toastElement.timeOutValue);\n }\n this.removeElement(this.toastElement);\n },\n\n // Removing the element from the DOM\n removeElement: function(toastElement) {\n // Hiding the element\n // toastElement.classList.remove(\"on\");\n toastElement.className = toastElement.className.replace(\" on\", \"\");\n\n // Removing the element from DOM after transition end\n window.setTimeout(\n function() {\n // remove options node if any\n if (this.options.node && this.options.node.parentNode) {\n this.options.node.parentNode.removeChild(this.options.node);\n }\n\n // Remove the element from the DOM, only when the parent node was not removed before.\n if (toastElement.parentNode) {\n toastElement.parentNode.removeChild(toastElement);\n }\n\n // Calling the callback function\n this.options.callback.call(toastElement);\n\n // Repositioning the toasts again\n Toastify.reposition();\n }.bind(this),\n 400\n ); // Binding `this` for function invocation\n },\n };\n\n // Positioning the toasts on the DOM\n Toastify.reposition = function() {\n\n // Top margins with gravity\n var topLeftOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var topRightOffsetSize = {\n top: 15,\n bottom: 15,\n };\n var offsetSize = {\n top: 15,\n bottom: 15,\n };\n\n // Get all toast messages on the DOM\n var allToasts = document.getElementsByClassName(\"toastify\");\n\n var classUsed;\n\n // Modifying the position of each toast element\n for (var i = 0; i < allToasts.length; i++) {\n // Getting the applied gravity\n if (containsClass(allToasts[i], \"toastify-top\") === true) {\n classUsed = \"toastify-top\";\n } else {\n classUsed = \"toastify-bottom\";\n }\n\n var height = allToasts[i].offsetHeight;\n classUsed = classUsed.substr(9, classUsed.length-1)\n // Spacing between toasts\n var offset = 15;\n\n var width = window.innerWidth > 0 ? window.innerWidth : screen.width;\n\n // Show toast in center if screen with less than or equal to 360px\n if (width <= 360) {\n // Setting the position\n allToasts[i].style[classUsed] = offsetSize[classUsed] + \"px\";\n\n offsetSize[classUsed] += height + offset;\n } else {\n if (containsClass(allToasts[i], \"toastify-left\") === true) {\n // Setting the position\n allToasts[i].style[classUsed] = topLeftOffsetSize[classUsed] + \"px\";\n\n topLeftOffsetSize[classUsed] += height + offset;\n } else {\n // Setting the position\n allToasts[i].style[classUsed] = topRightOffsetSize[classUsed] + \"px\";\n\n topRightOffsetSize[classUsed] += height + offset;\n }\n }\n }\n\n // Supporting function chaining\n return this;\n };\n\n // Helper function to get offset.\n function getAxisOffsetAValue(axis, options) {\n\n if(options.offset[axis]) {\n if(isNaN(options.offset[axis])) {\n return options.offset[axis];\n }\n else {\n return options.offset[axis] + 'px';\n }\n }\n\n return '0px';\n\n }\n\n function containsClass(elem, yourClass) {\n if (!elem || typeof yourClass !== \"string\") {\n return false;\n } else if (\n elem.className &&\n elem.className\n .trim()\n .split(/\\s+/gi)\n .indexOf(yourClass) > -1\n ) {\n return true;\n } else {\n return false;\n }\n }\n\n // Setting up the prototype for the init object\n Toastify.lib.init.prototype = Toastify.lib;\n\n // Returning the Toastify function to be assigned to the window object/module\n return Toastify;\n});\n","\"use strict\";\n// To modify this file, you must update ./misc/admin/lib/cmds/update-exports.js\nimport * as ethers from \"./ethers\";\ntry {\n const anyGlobal = window;\n if (anyGlobal._ethers == null) {\n anyGlobal._ethers = ethers;\n }\n}\ncatch (error) { }\nexport { ethers };\nexport { Signer, Wallet, VoidSigner, getDefaultProvider, providers, BaseContract, Contract, ContractFactory, BigNumber, FixedNumber, constants, errors, logger, utils, wordlists, \n////////////////////////\n// Compile-Time Constants\nversion, Wordlist } from \"./ethers\";\n//# sourceMappingURL=index.js.map","\"use strict\";\n\n// To modify this file, you must update ./misc/admin/lib/cmds/update-exports.js\n\nimport * as ethers from \"./ethers\";\n\ntry {\n const anyGlobal = (window as any);\n\n if (anyGlobal._ethers == null) {\n anyGlobal._ethers = ethers;\n }\n} catch (error) { }\n\nexport { ethers };\n\nexport {\n Signer,\n\n Wallet,\n VoidSigner,\n\n getDefaultProvider,\n providers,\n\n BaseContract,\n Contract,\n ContractFactory,\n\n BigNumber,\n FixedNumber,\n\n constants,\n errors,\n\n logger,\n\n utils,\n\n wordlists,\n\n\n ////////////////////////\n // Compile-Time Constants\n\n version,\n\n\n ////////////////////////\n // Types\n\n ContractFunction,\n ContractReceipt,\n ContractTransaction,\n Event,\n EventFilter,\n\n Overrides,\n PayableOverrides,\n CallOverrides,\n\n PopulatedTransaction,\n\n ContractInterface,\n\n TypedDataDomain,\n TypedDataField,\n\n BigNumberish,\n\n Bytes,\n BytesLike,\n\n Signature,\n\n Transaction,\n UnsignedTransaction,\n\n Wordlist\n} from \"./ethers\";\n","\"use strict\";\nimport { BaseContract, Contract, ContractFactory } from \"@ethersproject/contracts\";\nimport { BigNumber, FixedNumber } from \"@ethersproject/bignumber\";\nimport { Signer, VoidSigner } from \"@ethersproject/abstract-signer\";\nimport { Wallet } from \"@ethersproject/wallet\";\nimport * as constants from \"@ethersproject/constants\";\nimport * as providers from \"@ethersproject/providers\";\nimport { getDefaultProvider } from \"@ethersproject/providers\";\nimport { Wordlist, wordlists } from \"@ethersproject/wordlists\";\nimport * as utils from \"./utils\";\nimport { ErrorCode as errors, Logger } from \"@ethersproject/logger\";\n////////////////////////\n// Compile-Time Constants\n// This is generated by \"npm run dist\"\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n////////////////////////\n// Exports\nexport { Signer, Wallet, VoidSigner, getDefaultProvider, providers, BaseContract, Contract, ContractFactory, BigNumber, FixedNumber, constants, errors, logger, utils, wordlists, \n////////////////////////\n// Compile-Time Constants\nversion, Wordlist };\n//# sourceMappingURL=ethers.js.map","\"use strict\";\n\nimport { BaseContract, Contract, ContractFactory } from \"@ethersproject/contracts\";\n\nimport { BigNumber, FixedNumber } from \"@ethersproject/bignumber\";\n\nimport { Signer, VoidSigner } from \"@ethersproject/abstract-signer\";\nimport { Wallet } from \"@ethersproject/wallet\";\n\nimport * as constants from \"@ethersproject/constants\";\n\nimport * as providers from \"@ethersproject/providers\";\nimport { getDefaultProvider } from \"@ethersproject/providers\";\n\nimport { Wordlist, wordlists} from \"@ethersproject/wordlists\";\n\nimport * as utils from \"./utils\";\n\nimport { ErrorCode as errors, Logger } from \"@ethersproject/logger\";\n\n////////////////////////\n// Types\n\nimport type { TypedDataDomain, TypedDataField } from \"@ethersproject/abstract-signer\";\nimport { BigNumberish } from \"@ethersproject/bignumber\";\nimport { Bytes, BytesLike, Signature } from \"@ethersproject/bytes\";\nimport { Transaction, UnsignedTransaction } from \"@ethersproject/transactions\";\n\n\n////////////////////////\n// Compile-Time Constants\n\n// This is generated by \"npm run dist\"\nimport { version } from \"./_version\";\n\nconst logger = new Logger(version);\n\n////////////////////////\n// Types\n\nimport {\n ContractFunction,\n ContractReceipt,\n ContractTransaction,\n\n Event,\n EventFilter,\n\n Overrides,\n PayableOverrides,\n CallOverrides,\n\n PopulatedTransaction,\n\n ContractInterface\n} from \"@ethersproject/contracts\";\n\n\n////////////////////////\n// Exports\n\nexport {\n Signer,\n\n Wallet,\n VoidSigner,\n\n getDefaultProvider,\n providers,\n\n BaseContract,\n Contract,\n ContractFactory,\n\n BigNumber,\n FixedNumber,\n\n constants,\n errors,\n\n logger,\n\n utils,\n\n wordlists,\n\n\n ////////////////////////\n // Compile-Time Constants\n\n version,\n\n\n ////////////////////////\n // Types\n\n ContractFunction,\n ContractReceipt,\n ContractTransaction,\n Event,\n EventFilter,\n\n Overrides,\n PayableOverrides,\n CallOverrides,\n\n PopulatedTransaction,\n\n ContractInterface,\n\n TypedDataDomain,\n TypedDataField,\n\n BigNumberish,\n\n Bytes,\n BytesLike,\n\n Signature,\n\n Transaction,\n UnsignedTransaction,\n\n Wordlist\n};\n\n","\"use strict\";\nexport { AddressZero } from \"./addresses\";\nexport { NegativeOne, Zero, One, Two, WeiPerEther, MaxUint256, MinInt256, MaxInt256 } from \"./bignumbers\";\nexport { HashZero } from \"./hashes\";\nexport { EtherSymbol } from \"./strings\";\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nexport { AddressZero } from \"./addresses\";\nexport {\n NegativeOne,\n Zero,\n One,\n Two,\n WeiPerEther,\n MaxUint256,\n MinInt256,\n MaxInt256\n} from \"./bignumbers\";\nexport { HashZero } from \"./hashes\";\nexport { EtherSymbol } from \"./strings\";\n\n","export const AddressZero = \"0x0000000000000000000000000000000000000000\";\n//# sourceMappingURL=addresses.js.map","export const AddressZero = \"0x0000000000000000000000000000000000000000\";\n\n","// NFKC (composed) // (decomposed)\nexport const EtherSymbol = \"\\u039e\"; // \"\\uD835\\uDF63\";\n//# sourceMappingURL=strings.js.map","// NFKC (composed) // (decomposed)\nexport const EtherSymbol = \"\\u039e\"; // \"\\uD835\\uDF63\";\n","\"use strict\";\nimport { Provider } from \"@ethersproject/abstract-provider\";\nimport { getNetwork } from \"@ethersproject/networks\";\nimport { BaseProvider, Resolver } from \"./base-provider\";\nimport { AlchemyProvider, AlchemyWebSocketProvider } from \"./alchemy-provider\";\nimport { AnkrProvider } from \"./ankr-provider\";\nimport { CloudflareProvider } from \"./cloudflare-provider\";\nimport { EtherscanProvider } from \"./etherscan-provider\";\nimport { FallbackProvider } from \"./fallback-provider\";\nimport { IpcProvider } from \"./ipc-provider\";\nimport { InfuraProvider, InfuraWebSocketProvider } from \"./infura-provider\";\nimport { JsonRpcProvider, JsonRpcSigner } from \"./json-rpc-provider\";\nimport { JsonRpcBatchProvider } from \"./json-rpc-batch-provider\";\nimport { NodesmithProvider } from \"./nodesmith-provider\";\nimport { PocketProvider } from \"./pocket-provider\";\nimport { StaticJsonRpcProvider, UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\nimport { Web3Provider } from \"./web3-provider\";\nimport { WebSocketProvider } from \"./websocket-provider\";\nimport { Formatter, isCommunityResourcable, isCommunityResource, showThrottleMessage } from \"./formatter\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n////////////////////////\n// Helper Functions\nfunction getDefaultProvider(network, options) {\n if (network == null) {\n network = \"homestead\";\n }\n // If passed a URL, figure out the right type of provider based on the scheme\n if (typeof (network) === \"string\") {\n // @TODO: Add support for IpcProvider; maybe if it ends in \".ipc\"?\n // Handle http and ws (and their secure variants)\n const match = network.match(/^(ws|http)s?:/i);\n if (match) {\n switch (match[1].toLowerCase()) {\n case \"http\":\n case \"https\":\n return new JsonRpcProvider(network);\n case \"ws\":\n case \"wss\":\n return new WebSocketProvider(network);\n default:\n logger.throwArgumentError(\"unsupported URL scheme\", \"network\", network);\n }\n }\n }\n const n = getNetwork(network);\n if (!n || !n._defaultProvider) {\n logger.throwError(\"unsupported getDefaultProvider network\", Logger.errors.NETWORK_ERROR, {\n operation: \"getDefaultProvider\",\n network: network\n });\n }\n return n._defaultProvider({\n FallbackProvider,\n AlchemyProvider,\n AnkrProvider,\n CloudflareProvider,\n EtherscanProvider,\n InfuraProvider,\n JsonRpcProvider,\n NodesmithProvider,\n PocketProvider,\n Web3Provider,\n IpcProvider,\n }, options);\n}\n////////////////////////\n// Exports\nexport { \n// Abstract Providers (or Abstract-ish)\nProvider, BaseProvider, Resolver, UrlJsonRpcProvider, \n///////////////////////\n// Concrete Providers\nFallbackProvider, AlchemyProvider, AlchemyWebSocketProvider, AnkrProvider, CloudflareProvider, EtherscanProvider, InfuraProvider, InfuraWebSocketProvider, JsonRpcProvider, JsonRpcBatchProvider, NodesmithProvider, PocketProvider, StaticJsonRpcProvider, Web3Provider, WebSocketProvider, IpcProvider, \n///////////////////////\n// Signer\nJsonRpcSigner, \n///////////////////////\n// Functions\ngetDefaultProvider, getNetwork, isCommunityResource, isCommunityResourcable, showThrottleMessage, \n///////////////////////\n// Objects\nFormatter };\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport {\n Block,\n BlockTag,\n EventType,\n FeeData,\n Filter,\n Log,\n Listener,\n Provider,\n TransactionReceipt,\n TransactionRequest,\n TransactionResponse\n} from \"@ethersproject/abstract-provider\";\n\nimport { getNetwork } from \"@ethersproject/networks\";\nimport { Network, Networkish } from \"@ethersproject/networks\";\n\nimport { BaseProvider, EnsProvider, EnsResolver, Resolver } from \"./base-provider\";\n\nimport { AlchemyProvider, AlchemyWebSocketProvider } from \"./alchemy-provider\";\nimport { AnkrProvider } from \"./ankr-provider\";\nimport { CloudflareProvider } from \"./cloudflare-provider\";\nimport { EtherscanProvider } from \"./etherscan-provider\";\nimport { FallbackProvider, FallbackProviderConfig } from \"./fallback-provider\";\nimport { IpcProvider } from \"./ipc-provider\";\nimport { InfuraProvider, InfuraWebSocketProvider } from \"./infura-provider\";\nimport { JsonRpcProvider, JsonRpcSigner } from \"./json-rpc-provider\";\nimport { JsonRpcBatchProvider } from \"./json-rpc-batch-provider\";\nimport { NodesmithProvider } from \"./nodesmith-provider\";\nimport { PocketProvider } from \"./pocket-provider\";\nimport { StaticJsonRpcProvider, UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\nimport { Web3Provider } from \"./web3-provider\";\nimport { WebSocketProvider } from \"./websocket-provider\";\nimport { ExternalProvider, JsonRpcFetchFunc } from \"./web3-provider\";\n\nimport { CommunityResourcable, Formatter, isCommunityResourcable, isCommunityResource, showThrottleMessage } from \"./formatter\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n////////////////////////\n// Helper Functions\n\nfunction getDefaultProvider(network?: Networkish, options?: any): BaseProvider {\n if (network == null) { network = \"homestead\"; }\n\n // If passed a URL, figure out the right type of provider based on the scheme\n if (typeof(network) === \"string\") {\n // @TODO: Add support for IpcProvider; maybe if it ends in \".ipc\"?\n\n // Handle http and ws (and their secure variants)\n const match = network.match(/^(ws|http)s?:/i);\n if (match) {\n switch (match[1].toLowerCase()) {\n case \"http\": case \"https\":\n return new JsonRpcProvider(network);\n case \"ws\": case \"wss\":\n return new WebSocketProvider(network);\n default:\n logger.throwArgumentError(\"unsupported URL scheme\", \"network\", network);\n }\n }\n }\n\n const n = getNetwork(network);\n if (!n || !n._defaultProvider) {\n logger.throwError(\"unsupported getDefaultProvider network\", Logger.errors.NETWORK_ERROR, {\n operation: \"getDefaultProvider\",\n network: network\n });\n }\n\n return n._defaultProvider({\n FallbackProvider,\n\n AlchemyProvider,\n AnkrProvider,\n CloudflareProvider,\n EtherscanProvider,\n InfuraProvider,\n JsonRpcProvider,\n NodesmithProvider,\n PocketProvider,\n Web3Provider,\n\n IpcProvider,\n }, options);\n}\n\n////////////////////////\n// Exports\n\nexport {\n\n // Abstract Providers (or Abstract-ish)\n Provider,\n BaseProvider,\n\n Resolver,\n\n UrlJsonRpcProvider,\n\n ///////////////////////\n // Concrete Providers\n\n FallbackProvider,\n\n AlchemyProvider,\n AlchemyWebSocketProvider,\n AnkrProvider,\n CloudflareProvider,\n EtherscanProvider,\n InfuraProvider,\n InfuraWebSocketProvider,\n JsonRpcProvider,\n JsonRpcBatchProvider,\n NodesmithProvider,\n PocketProvider,\n StaticJsonRpcProvider,\n Web3Provider,\n WebSocketProvider,\n\n IpcProvider,\n\n\n ///////////////////////\n // Signer\n\n JsonRpcSigner,\n\n\n ///////////////////////\n // Functions\n\n getDefaultProvider,\n getNetwork,\n isCommunityResource,\n isCommunityResourcable,\n showThrottleMessage,\n\n\n ///////////////////////\n // Objects\n\n Formatter,\n\n\n ///////////////////////\n // Types\n\n Block,\n BlockTag,\n EventType,\n FeeData,\n Filter,\n Log,\n Listener,\n TransactionReceipt,\n TransactionRequest,\n TransactionResponse,\n\n ExternalProvider,\n JsonRpcFetchFunc,\n\n FallbackProviderConfig,\n\n Network,\n Networkish,\n\n EnsProvider,\n EnsResolver,\n\n CommunityResourcable\n};\n\n","\"use strict\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n;\nfunction isRenetworkable(value) {\n return (value && typeof (value.renetwork) === \"function\");\n}\nfunction ethDefaultProvider(network) {\n const func = function (providers, options) {\n if (options == null) {\n options = {};\n }\n const providerList = [];\n if (providers.InfuraProvider && options.infura !== \"-\") {\n try {\n providerList.push(new providers.InfuraProvider(network, options.infura));\n }\n catch (error) { }\n }\n if (providers.EtherscanProvider && options.etherscan !== \"-\") {\n try {\n providerList.push(new providers.EtherscanProvider(network, options.etherscan));\n }\n catch (error) { }\n }\n if (providers.AlchemyProvider && options.alchemy !== \"-\") {\n try {\n providerList.push(new providers.AlchemyProvider(network, options.alchemy));\n }\n catch (error) { }\n }\n if (providers.PocketProvider && options.pocket !== \"-\") {\n // These networks are currently faulty on Pocket as their\n // network does not handle the Berlin hardfork, which is\n // live on these ones.\n // @TODO: This goes away once Pocket has upgraded their nodes\n const skip = [\"goerli\", \"ropsten\", \"rinkeby\", \"sepolia\"];\n try {\n const provider = new providers.PocketProvider(network, options.pocket);\n if (provider.network && skip.indexOf(provider.network.name) === -1) {\n providerList.push(provider);\n }\n }\n catch (error) { }\n }\n if (providers.CloudflareProvider && options.cloudflare !== \"-\") {\n try {\n providerList.push(new providers.CloudflareProvider(network));\n }\n catch (error) { }\n }\n if (providers.AnkrProvider && options.ankr !== \"-\") {\n try {\n const skip = [\"ropsten\"];\n const provider = new providers.AnkrProvider(network, options.ankr);\n if (provider.network && skip.indexOf(provider.network.name) === -1) {\n providerList.push(provider);\n }\n }\n catch (error) { }\n }\n if (providerList.length === 0) {\n return null;\n }\n if (providers.FallbackProvider) {\n let quorum = 1;\n if (options.quorum != null) {\n quorum = options.quorum;\n }\n else if (network === \"homestead\") {\n quorum = 2;\n }\n return new providers.FallbackProvider(providerList, quorum);\n }\n return providerList[0];\n };\n func.renetwork = function (network) {\n return ethDefaultProvider(network);\n };\n return func;\n}\nfunction etcDefaultProvider(url, network) {\n const func = function (providers, options) {\n if (providers.JsonRpcProvider) {\n return new providers.JsonRpcProvider(url, network);\n }\n return null;\n };\n func.renetwork = function (network) {\n return etcDefaultProvider(url, network);\n };\n return func;\n}\nconst homestead = {\n chainId: 1,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"homestead\",\n _defaultProvider: ethDefaultProvider(\"homestead\")\n};\nconst ropsten = {\n chainId: 3,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"ropsten\",\n _defaultProvider: ethDefaultProvider(\"ropsten\")\n};\nconst classicMordor = {\n chainId: 63,\n name: \"classicMordor\",\n _defaultProvider: etcDefaultProvider(\"https://www.ethercluster.com/mordor\", \"classicMordor\")\n};\n// See: https://chainlist.org\nconst networks = {\n unspecified: { chainId: 0, name: \"unspecified\" },\n homestead: homestead,\n mainnet: homestead,\n morden: { chainId: 2, name: \"morden\" },\n ropsten: ropsten,\n testnet: ropsten,\n rinkeby: {\n chainId: 4,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"rinkeby\",\n _defaultProvider: ethDefaultProvider(\"rinkeby\")\n },\n kovan: {\n chainId: 42,\n name: \"kovan\",\n _defaultProvider: ethDefaultProvider(\"kovan\")\n },\n goerli: {\n chainId: 5,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"goerli\",\n _defaultProvider: ethDefaultProvider(\"goerli\")\n },\n kintsugi: { chainId: 1337702, name: \"kintsugi\" },\n sepolia: {\n chainId: 11155111,\n name: \"sepolia\",\n _defaultProvider: ethDefaultProvider(\"sepolia\")\n },\n // ETC (See: #351)\n classic: {\n chainId: 61,\n name: \"classic\",\n _defaultProvider: etcDefaultProvider(\"https:/\\/www.ethercluster.com/etc\", \"classic\")\n },\n classicMorden: { chainId: 62, name: \"classicMorden\" },\n classicMordor: classicMordor,\n classicTestnet: classicMordor,\n classicKotti: {\n chainId: 6,\n name: \"classicKotti\",\n _defaultProvider: etcDefaultProvider(\"https:/\\/www.ethercluster.com/kotti\", \"classicKotti\")\n },\n xdai: { chainId: 100, name: \"xdai\" },\n matic: {\n chainId: 137,\n name: \"matic\",\n _defaultProvider: ethDefaultProvider(\"matic\")\n },\n maticmum: { chainId: 80001, name: \"maticmum\" },\n optimism: {\n chainId: 10,\n name: \"optimism\",\n _defaultProvider: ethDefaultProvider(\"optimism\")\n },\n \"optimism-kovan\": { chainId: 69, name: \"optimism-kovan\" },\n \"optimism-goerli\": { chainId: 420, name: \"optimism-goerli\" },\n arbitrum: { chainId: 42161, name: \"arbitrum\" },\n \"arbitrum-rinkeby\": { chainId: 421611, name: \"arbitrum-rinkeby\" },\n \"arbitrum-goerli\": { chainId: 421613, name: \"arbitrum-goerli\" },\n bnb: { chainId: 56, name: \"bnb\" },\n bnbt: { chainId: 97, name: \"bnbt\" },\n};\n/**\n * getNetwork\n *\n * Converts a named common networks or chain ID (network ID) to a Network\n * and verifies a network is a valid Network..\n */\nexport function getNetwork(network) {\n // No network (null)\n if (network == null) {\n return null;\n }\n if (typeof (network) === \"number\") {\n for (const name in networks) {\n const standard = networks[name];\n if (standard.chainId === network) {\n return {\n name: standard.name,\n chainId: standard.chainId,\n ensAddress: (standard.ensAddress || null),\n _defaultProvider: (standard._defaultProvider || null)\n };\n }\n }\n return {\n chainId: network,\n name: \"unknown\"\n };\n }\n if (typeof (network) === \"string\") {\n const standard = networks[network];\n if (standard == null) {\n return null;\n }\n return {\n name: standard.name,\n chainId: standard.chainId,\n ensAddress: standard.ensAddress,\n _defaultProvider: (standard._defaultProvider || null)\n };\n }\n const standard = networks[network.name];\n // Not a standard network; check that it is a valid network in general\n if (!standard) {\n if (typeof (network.chainId) !== \"number\") {\n logger.throwArgumentError(\"invalid network chainId\", \"network\", network);\n }\n return network;\n }\n // Make sure the chainId matches the expected network chainId (or is 0; disable EIP-155)\n if (network.chainId !== 0 && network.chainId !== standard.chainId) {\n logger.throwArgumentError(\"network chainId mismatch\", \"network\", network);\n }\n // @TODO: In the next major version add an attach function to a defaultProvider\n // class and move the _defaultProvider internal to this file (extend Network)\n let defaultProvider = network._defaultProvider || null;\n if (defaultProvider == null && standard._defaultProvider) {\n if (isRenetworkable(standard._defaultProvider)) {\n defaultProvider = standard._defaultProvider.renetwork(network);\n }\n else {\n defaultProvider = standard._defaultProvider;\n }\n }\n // Standard Network (allow overriding the ENS address)\n return {\n name: network.name,\n chainId: standard.chainId,\n ensAddress: (network.ensAddress || standard.ensAddress || null),\n _defaultProvider: defaultProvider\n };\n}\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { Network, Networkish } from \"./types\";\n\nexport {\n Network,\n Networkish\n};\n\ntype DefaultProviderFunc = (providers: any, options?: any) => any;\n\ninterface Renetworkable extends DefaultProviderFunc {\n renetwork: (network: Network) => DefaultProviderFunc;\n};\n\nfunction isRenetworkable(value: any): value is Renetworkable {\n return (value && typeof(value.renetwork) === \"function\");\n}\n\nfunction ethDefaultProvider(network: string | Network): Renetworkable {\n const func = function(providers: any, options?: any): any {\n if (options == null) { options = { }; }\n const providerList: Array = [];\n\n if (providers.InfuraProvider && options.infura !== \"-\") {\n try {\n providerList.push(new providers.InfuraProvider(network, options.infura));\n } catch(error) { }\n }\n\n if (providers.EtherscanProvider && options.etherscan !== \"-\") {\n try {\n providerList.push(new providers.EtherscanProvider(network, options.etherscan));\n } catch(error) { }\n }\n\n if (providers.AlchemyProvider && options.alchemy !== \"-\") {\n try {\n providerList.push(new providers.AlchemyProvider(network, options.alchemy));\n } catch(error) { }\n }\n\n if (providers.PocketProvider && options.pocket !== \"-\") {\n // These networks are currently faulty on Pocket as their\n // network does not handle the Berlin hardfork, which is\n // live on these ones.\n // @TODO: This goes away once Pocket has upgraded their nodes\n const skip = [ \"goerli\", \"ropsten\", \"rinkeby\", \"sepolia\" ];\n try {\n const provider = new providers.PocketProvider(network, options.pocket);\n if (provider.network && skip.indexOf(provider.network.name) === -1) {\n providerList.push(provider);\n }\n } catch(error) { }\n }\n\n if (providers.CloudflareProvider && options.cloudflare !== \"-\") {\n try {\n providerList.push(new providers.CloudflareProvider(network));\n } catch(error) { }\n }\n\n if (providers.AnkrProvider && options.ankr !== \"-\") {\n try {\n const skip = [ \"ropsten\" ];\n const provider = new providers.AnkrProvider(network, options.ankr);\n if (provider.network && skip.indexOf(provider.network.name) === -1) {\n providerList.push(provider);\n }\n } catch(error) { }\n }\n\n if (providerList.length === 0) { return null; }\n\n if (providers.FallbackProvider) {\n let quorum = 1;\n if (options.quorum != null) {\n quorum = options.quorum;\n } else if (network === \"homestead\") {\n quorum = 2;\n }\n return new providers.FallbackProvider(providerList, quorum);\n }\n\n return providerList[0];\n };\n\n func.renetwork = function(network: Network) {\n return ethDefaultProvider(network);\n };\n\n return func;\n}\n\nfunction etcDefaultProvider(url: string, network: string | Network): Renetworkable {\n const func = function(providers: any, options?: any): any {\n if (providers.JsonRpcProvider) {\n return new providers.JsonRpcProvider(url, network);\n }\n\n return null;\n };\n\n func.renetwork = function(network: Network) {\n return etcDefaultProvider(url, network);\n };\n\n return func;\n}\n\nconst homestead: Network = {\n chainId: 1,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"homestead\",\n _defaultProvider: ethDefaultProvider(\"homestead\")\n};\n\nconst ropsten: Network = {\n chainId: 3,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"ropsten\",\n _defaultProvider: ethDefaultProvider(\"ropsten\")\n};\n\nconst classicMordor: Network = {\n chainId: 63,\n name: \"classicMordor\",\n _defaultProvider: etcDefaultProvider(\"https://www.ethercluster.com/mordor\", \"classicMordor\")\n};\n\n// See: https://chainlist.org\nconst networks: { [name: string]: Network } = {\n unspecified: { chainId: 0, name: \"unspecified\" },\n\n homestead: homestead,\n mainnet: homestead,\n\n morden: { chainId: 2, name: \"morden\" },\n\n ropsten: ropsten,\n testnet: ropsten,\n\n rinkeby: {\n chainId: 4,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"rinkeby\",\n _defaultProvider: ethDefaultProvider(\"rinkeby\")\n },\n\n kovan: {\n chainId: 42,\n name: \"kovan\",\n _defaultProvider: ethDefaultProvider(\"kovan\")\n },\n\n goerli: {\n chainId: 5,\n ensAddress: \"0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e\",\n name: \"goerli\",\n _defaultProvider: ethDefaultProvider(\"goerli\")\n },\n\n kintsugi: { chainId: 1337702, name: \"kintsugi\" },\n\n sepolia: {\n chainId: 11155111,\n name: \"sepolia\",\n _defaultProvider: ethDefaultProvider(\"sepolia\")\n },\n\n\n // ETC (See: #351)\n classic: {\n chainId: 61,\n name: \"classic\",\n _defaultProvider: etcDefaultProvider(\"https:/\\/www.ethercluster.com/etc\", \"classic\")\n },\n\n classicMorden: { chainId: 62, name: \"classicMorden\" },\n\n classicMordor: classicMordor,\n classicTestnet: classicMordor,\n\n classicKotti: {\n chainId: 6,\n name: \"classicKotti\",\n _defaultProvider: etcDefaultProvider(\"https:/\\/www.ethercluster.com/kotti\", \"classicKotti\")\n },\n\n xdai: { chainId: 100, name: \"xdai\" },\n\n matic: {\n chainId: 137,\n name: \"matic\",\n _defaultProvider: ethDefaultProvider(\"matic\")\n },\n maticmum: { chainId: 80001, name: \"maticmum\" },\n\n optimism: {\n chainId: 10,\n name: \"optimism\",\n _defaultProvider: ethDefaultProvider(\"optimism\")\n },\n \"optimism-kovan\": { chainId: 69, name: \"optimism-kovan\" },\n \"optimism-goerli\": { chainId: 420, name: \"optimism-goerli\" },\n\n arbitrum: { chainId: 42161, name: \"arbitrum\" },\n \"arbitrum-rinkeby\": { chainId: 421611, name: \"arbitrum-rinkeby\" },\n \"arbitrum-goerli\": { chainId: 421613, name: \"arbitrum-goerli\" },\n\n bnb: { chainId: 56, name: \"bnb\" },\n bnbt: { chainId: 97, name: \"bnbt\" },\n}\n\n/**\n * getNetwork\n *\n * Converts a named common networks or chain ID (network ID) to a Network\n * and verifies a network is a valid Network..\n */\nexport function getNetwork(network: Networkish): Network {\n // No network (null)\n if (network == null) { return null; }\n\n if (typeof(network) === \"number\") {\n for (const name in networks) {\n const standard = networks[name];\n if (standard.chainId === network) {\n return {\n name: standard.name,\n chainId: standard.chainId,\n ensAddress: (standard.ensAddress || null),\n _defaultProvider: (standard._defaultProvider || null)\n };\n }\n }\n\n return {\n chainId: network,\n name: \"unknown\"\n };\n }\n\n if (typeof(network) === \"string\") {\n const standard = networks[network];\n if (standard == null) { return null; }\n return {\n name: standard.name,\n chainId: standard.chainId,\n ensAddress: standard.ensAddress,\n _defaultProvider: (standard._defaultProvider || null)\n };\n }\n\n const standard = networks[network.name];\n\n // Not a standard network; check that it is a valid network in general\n if (!standard) {\n if (typeof(network.chainId) !== \"number\") {\n logger.throwArgumentError(\"invalid network chainId\", \"network\", network);\n }\n return network;\n }\n\n // Make sure the chainId matches the expected network chainId (or is 0; disable EIP-155)\n if (network.chainId !== 0 && network.chainId !== standard.chainId) {\n logger.throwArgumentError(\"network chainId mismatch\", \"network\", network);\n }\n\n // @TODO: In the next major version add an attach function to a defaultProvider\n // class and move the _defaultProvider internal to this file (extend Network)\n let defaultProvider: DefaultProviderFunc = network._defaultProvider || null;\n if (defaultProvider == null && standard._defaultProvider) {\n if (isRenetworkable(standard._defaultProvider)) {\n defaultProvider = standard._defaultProvider.renetwork(network);\n } else {\n defaultProvider = standard._defaultProvider;\n }\n }\n\n // Standard Network (allow overriding the ENS address)\n return {\n name: network.name,\n chainId: standard.chainId,\n ensAddress: (network.ensAddress || standard.ensAddress || null),\n _defaultProvider: defaultProvider\n };\n}\n","export const version = \"networks/5.7.1\";\n//# sourceMappingURL=_version.js.map","export const version = \"networks/5.7.1\";\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { ForkEvent, Provider } from \"@ethersproject/abstract-provider\";\nimport { encode as base64Encode } from \"@ethersproject/base64\";\nimport { Base58 } from \"@ethersproject/basex\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { arrayify, concat, hexConcat, hexDataLength, hexDataSlice, hexlify, hexValue, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { HashZero } from \"@ethersproject/constants\";\nimport { dnsEncode, namehash } from \"@ethersproject/hash\";\nimport { getNetwork } from \"@ethersproject/networks\";\nimport { defineReadOnly, getStatic, resolveProperties } from \"@ethersproject/properties\";\nimport { sha256 } from \"@ethersproject/sha2\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\nimport { fetchJson, poll } from \"@ethersproject/web\";\nimport bech32 from \"bech32\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { Formatter } from \"./formatter\";\nconst MAX_CCIP_REDIRECTS = 10;\n//////////////////////////////\n// Event Serializeing\nfunction checkTopic(topic) {\n if (topic == null) {\n return \"null\";\n }\n if (hexDataLength(topic) !== 32) {\n logger.throwArgumentError(\"invalid topic\", \"topic\", topic);\n }\n return topic.toLowerCase();\n}\nfunction serializeTopics(topics) {\n // Remove trailing null AND-topics; they are redundant\n topics = topics.slice();\n while (topics.length > 0 && topics[topics.length - 1] == null) {\n topics.pop();\n }\n return topics.map((topic) => {\n if (Array.isArray(topic)) {\n // Only track unique OR-topics\n const unique = {};\n topic.forEach((topic) => {\n unique[checkTopic(topic)] = true;\n });\n // The order of OR-topics does not matter\n const sorted = Object.keys(unique);\n sorted.sort();\n return sorted.join(\"|\");\n }\n else {\n return checkTopic(topic);\n }\n }).join(\"&\");\n}\nfunction deserializeTopics(data) {\n if (data === \"\") {\n return [];\n }\n return data.split(/&/g).map((topic) => {\n if (topic === \"\") {\n return [];\n }\n const comps = topic.split(\"|\").map((topic) => {\n return ((topic === \"null\") ? null : topic);\n });\n return ((comps.length === 1) ? comps[0] : comps);\n });\n}\nfunction getEventTag(eventName) {\n if (typeof (eventName) === \"string\") {\n eventName = eventName.toLowerCase();\n if (hexDataLength(eventName) === 32) {\n return \"tx:\" + eventName;\n }\n if (eventName.indexOf(\":\") === -1) {\n return eventName;\n }\n }\n else if (Array.isArray(eventName)) {\n return \"filter:*:\" + serializeTopics(eventName);\n }\n else if (ForkEvent.isForkEvent(eventName)) {\n logger.warn(\"not implemented\");\n throw new Error(\"not implemented\");\n }\n else if (eventName && typeof (eventName) === \"object\") {\n return \"filter:\" + (eventName.address || \"*\") + \":\" + serializeTopics(eventName.topics || []);\n }\n throw new Error(\"invalid event - \" + eventName);\n}\n//////////////////////////////\n// Helper Object\nfunction getTime() {\n return (new Date()).getTime();\n}\nfunction stall(duration) {\n return new Promise((resolve) => {\n setTimeout(resolve, duration);\n });\n}\n//////////////////////////////\n// Provider Object\n/**\n * EventType\n * - \"block\"\n * - \"poll\"\n * - \"didPoll\"\n * - \"pending\"\n * - \"error\"\n * - \"network\"\n * - filter\n * - topics array\n * - transaction hash\n */\nconst PollableEvents = [\"block\", \"network\", \"pending\", \"poll\"];\nexport class Event {\n constructor(tag, listener, once) {\n defineReadOnly(this, \"tag\", tag);\n defineReadOnly(this, \"listener\", listener);\n defineReadOnly(this, \"once\", once);\n this._lastBlockNumber = -2;\n this._inflight = false;\n }\n get event() {\n switch (this.type) {\n case \"tx\":\n return this.hash;\n case \"filter\":\n return this.filter;\n }\n return this.tag;\n }\n get type() {\n return this.tag.split(\":\")[0];\n }\n get hash() {\n const comps = this.tag.split(\":\");\n if (comps[0] !== \"tx\") {\n return null;\n }\n return comps[1];\n }\n get filter() {\n const comps = this.tag.split(\":\");\n if (comps[0] !== \"filter\") {\n return null;\n }\n const address = comps[1];\n const topics = deserializeTopics(comps[2]);\n const filter = {};\n if (topics.length > 0) {\n filter.topics = topics;\n }\n if (address && address !== \"*\") {\n filter.address = address;\n }\n return filter;\n }\n pollable() {\n return (this.tag.indexOf(\":\") >= 0 || PollableEvents.indexOf(this.tag) >= 0);\n }\n}\n;\n// https://github.com/satoshilabs/slips/blob/master/slip-0044.md\nconst coinInfos = {\n \"0\": { symbol: \"btc\", p2pkh: 0x00, p2sh: 0x05, prefix: \"bc\" },\n \"2\": { symbol: \"ltc\", p2pkh: 0x30, p2sh: 0x32, prefix: \"ltc\" },\n \"3\": { symbol: \"doge\", p2pkh: 0x1e, p2sh: 0x16 },\n \"60\": { symbol: \"eth\", ilk: \"eth\" },\n \"61\": { symbol: \"etc\", ilk: \"eth\" },\n \"700\": { symbol: \"xdai\", ilk: \"eth\" },\n};\nfunction bytes32ify(value) {\n return hexZeroPad(BigNumber.from(value).toHexString(), 32);\n}\n// Compute the Base58Check encoded data (checksum is first 4 bytes of sha256d)\nfunction base58Encode(data) {\n return Base58.encode(concat([data, hexDataSlice(sha256(sha256(data)), 0, 4)]));\n}\nconst matcherIpfs = new RegExp(\"^(ipfs):/\\/(.*)$\", \"i\");\nconst matchers = [\n new RegExp(\"^(https):/\\/(.*)$\", \"i\"),\n new RegExp(\"^(data):(.*)$\", \"i\"),\n matcherIpfs,\n new RegExp(\"^eip155:[0-9]+/(erc[0-9]+):(.*)$\", \"i\"),\n];\nfunction _parseString(result, start) {\n try {\n return toUtf8String(_parseBytes(result, start));\n }\n catch (error) { }\n return null;\n}\nfunction _parseBytes(result, start) {\n if (result === \"0x\") {\n return null;\n }\n const offset = BigNumber.from(hexDataSlice(result, start, start + 32)).toNumber();\n const length = BigNumber.from(hexDataSlice(result, offset, offset + 32)).toNumber();\n return hexDataSlice(result, offset + 32, offset + 32 + length);\n}\n// Trim off the ipfs:// prefix and return the default gateway URL\nfunction getIpfsLink(link) {\n if (link.match(/^ipfs:\\/\\/ipfs\\//i)) {\n link = link.substring(12);\n }\n else if (link.match(/^ipfs:\\/\\//i)) {\n link = link.substring(7);\n }\n else {\n logger.throwArgumentError(\"unsupported IPFS format\", \"link\", link);\n }\n return `https:/\\/gateway.ipfs.io/ipfs/${link}`;\n}\nfunction numPad(value) {\n const result = arrayify(value);\n if (result.length > 32) {\n throw new Error(\"internal; should not happen\");\n }\n const padded = new Uint8Array(32);\n padded.set(result, 32 - result.length);\n return padded;\n}\nfunction bytesPad(value) {\n if ((value.length % 32) === 0) {\n return value;\n }\n const result = new Uint8Array(Math.ceil(value.length / 32) * 32);\n result.set(value);\n return result;\n}\n// ABI Encodes a series of (bytes, bytes, ...)\nfunction encodeBytes(datas) {\n const result = [];\n let byteCount = 0;\n // Add place-holders for pointers as we add items\n for (let i = 0; i < datas.length; i++) {\n result.push(null);\n byteCount += 32;\n }\n for (let i = 0; i < datas.length; i++) {\n const data = arrayify(datas[i]);\n // Update the bytes offset\n result[i] = numPad(byteCount);\n // The length and padded value of data\n result.push(numPad(data.length));\n result.push(bytesPad(data));\n byteCount += 32 + Math.ceil(data.length / 32) * 32;\n }\n return hexConcat(result);\n}\nexport class Resolver {\n // The resolvedAddress is only for creating a ReverseLookup resolver\n constructor(provider, address, name, resolvedAddress) {\n defineReadOnly(this, \"provider\", provider);\n defineReadOnly(this, \"name\", name);\n defineReadOnly(this, \"address\", provider.formatter.address(address));\n defineReadOnly(this, \"_resolvedAddress\", resolvedAddress);\n }\n supportsWildcard() {\n if (!this._supportsEip2544) {\n // supportsInterface(bytes4 = selector(\"resolve(bytes,bytes)\"))\n this._supportsEip2544 = this.provider.call({\n to: this.address,\n data: \"0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000\"\n }).then((result) => {\n return BigNumber.from(result).eq(1);\n }).catch((error) => {\n if (error.code === Logger.errors.CALL_EXCEPTION) {\n return false;\n }\n // Rethrow the error: link is down, etc. Let future attempts retry.\n this._supportsEip2544 = null;\n throw error;\n });\n }\n return this._supportsEip2544;\n }\n _fetch(selector, parameters) {\n return __awaiter(this, void 0, void 0, function* () {\n // e.g. keccak256(\"addr(bytes32,uint256)\")\n const tx = {\n to: this.address,\n ccipReadEnabled: true,\n data: hexConcat([selector, namehash(this.name), (parameters || \"0x\")])\n };\n // Wildcard support; use EIP-2544 to resolve the request\n let parseBytes = false;\n if (yield this.supportsWildcard()) {\n parseBytes = true;\n // selector(\"resolve(bytes,bytes)\")\n tx.data = hexConcat([\"0x9061b923\", encodeBytes([dnsEncode(this.name), tx.data])]);\n }\n try {\n let result = yield this.provider.call(tx);\n if ((arrayify(result).length % 32) === 4) {\n logger.throwError(\"resolver threw error\", Logger.errors.CALL_EXCEPTION, {\n transaction: tx, data: result\n });\n }\n if (parseBytes) {\n result = _parseBytes(result, 0);\n }\n return result;\n }\n catch (error) {\n if (error.code === Logger.errors.CALL_EXCEPTION) {\n return null;\n }\n throw error;\n }\n });\n }\n _fetchBytes(selector, parameters) {\n return __awaiter(this, void 0, void 0, function* () {\n const result = yield this._fetch(selector, parameters);\n if (result != null) {\n return _parseBytes(result, 0);\n }\n return null;\n });\n }\n _getAddress(coinType, hexBytes) {\n const coinInfo = coinInfos[String(coinType)];\n if (coinInfo == null) {\n logger.throwError(`unsupported coin type: ${coinType}`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: `getAddress(${coinType})`\n });\n }\n if (coinInfo.ilk === \"eth\") {\n return this.provider.formatter.address(hexBytes);\n }\n const bytes = arrayify(hexBytes);\n // P2PKH: OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG\n if (coinInfo.p2pkh != null) {\n const p2pkh = hexBytes.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);\n if (p2pkh) {\n const length = parseInt(p2pkh[1], 16);\n if (p2pkh[2].length === length * 2 && length >= 1 && length <= 75) {\n return base58Encode(concat([[coinInfo.p2pkh], (\"0x\" + p2pkh[2])]));\n }\n }\n }\n // P2SH: OP_HASH160 OP_EQUAL\n if (coinInfo.p2sh != null) {\n const p2sh = hexBytes.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);\n if (p2sh) {\n const length = parseInt(p2sh[1], 16);\n if (p2sh[2].length === length * 2 && length >= 1 && length <= 75) {\n return base58Encode(concat([[coinInfo.p2sh], (\"0x\" + p2sh[2])]));\n }\n }\n }\n // Bech32\n if (coinInfo.prefix != null) {\n const length = bytes[1];\n // https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#witness-program\n let version = bytes[0];\n if (version === 0x00) {\n if (length !== 20 && length !== 32) {\n version = -1;\n }\n }\n else {\n version = -1;\n }\n if (version >= 0 && bytes.length === 2 + length && length >= 1 && length <= 75) {\n const words = bech32.toWords(bytes.slice(2));\n words.unshift(version);\n return bech32.encode(coinInfo.prefix, words);\n }\n }\n return null;\n }\n getAddress(coinType) {\n return __awaiter(this, void 0, void 0, function* () {\n if (coinType == null) {\n coinType = 60;\n }\n // If Ethereum, use the standard `addr(bytes32)`\n if (coinType === 60) {\n try {\n // keccak256(\"addr(bytes32)\")\n const result = yield this._fetch(\"0x3b3b57de\");\n // No address\n if (result === \"0x\" || result === HashZero) {\n return null;\n }\n return this.provider.formatter.callAddress(result);\n }\n catch (error) {\n if (error.code === Logger.errors.CALL_EXCEPTION) {\n return null;\n }\n throw error;\n }\n }\n // keccak256(\"addr(bytes32,uint256\")\n const hexBytes = yield this._fetchBytes(\"0xf1cb7e06\", bytes32ify(coinType));\n // No address\n if (hexBytes == null || hexBytes === \"0x\") {\n return null;\n }\n // Compute the address\n const address = this._getAddress(coinType, hexBytes);\n if (address == null) {\n logger.throwError(`invalid or unsupported coin data`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: `getAddress(${coinType})`,\n coinType: coinType,\n data: hexBytes\n });\n }\n return address;\n });\n }\n getAvatar() {\n return __awaiter(this, void 0, void 0, function* () {\n const linkage = [{ type: \"name\", content: this.name }];\n try {\n // test data for ricmoo.eth\n //const avatar = \"eip155:1/erc721:0x265385c7f4132228A0d54EB1A9e7460b91c0cC68/29233\";\n const avatar = yield this.getText(\"avatar\");\n if (avatar == null) {\n return null;\n }\n for (let i = 0; i < matchers.length; i++) {\n const match = avatar.match(matchers[i]);\n if (match == null) {\n continue;\n }\n const scheme = match[1].toLowerCase();\n switch (scheme) {\n case \"https\":\n linkage.push({ type: \"url\", content: avatar });\n return { linkage, url: avatar };\n case \"data\":\n linkage.push({ type: \"data\", content: avatar });\n return { linkage, url: avatar };\n case \"ipfs\":\n linkage.push({ type: \"ipfs\", content: avatar });\n return { linkage, url: getIpfsLink(avatar) };\n case \"erc721\":\n case \"erc1155\": {\n // Depending on the ERC type, use tokenURI(uint256) or url(uint256)\n const selector = (scheme === \"erc721\") ? \"0xc87b56dd\" : \"0x0e89341c\";\n linkage.push({ type: scheme, content: avatar });\n // The owner of this name\n const owner = (this._resolvedAddress || (yield this.getAddress()));\n const comps = (match[2] || \"\").split(\"/\");\n if (comps.length !== 2) {\n return null;\n }\n const addr = yield this.provider.formatter.address(comps[0]);\n const tokenId = hexZeroPad(BigNumber.from(comps[1]).toHexString(), 32);\n // Check that this account owns the token\n if (scheme === \"erc721\") {\n // ownerOf(uint256 tokenId)\n const tokenOwner = this.provider.formatter.callAddress(yield this.provider.call({\n to: addr, data: hexConcat([\"0x6352211e\", tokenId])\n }));\n if (owner !== tokenOwner) {\n return null;\n }\n linkage.push({ type: \"owner\", content: tokenOwner });\n }\n else if (scheme === \"erc1155\") {\n // balanceOf(address owner, uint256 tokenId)\n const balance = BigNumber.from(yield this.provider.call({\n to: addr, data: hexConcat([\"0x00fdd58e\", hexZeroPad(owner, 32), tokenId])\n }));\n if (balance.isZero()) {\n return null;\n }\n linkage.push({ type: \"balance\", content: balance.toString() });\n }\n // Call the token contract for the metadata URL\n const tx = {\n to: this.provider.formatter.address(comps[0]),\n data: hexConcat([selector, tokenId])\n };\n let metadataUrl = _parseString(yield this.provider.call(tx), 0);\n if (metadataUrl == null) {\n return null;\n }\n linkage.push({ type: \"metadata-url-base\", content: metadataUrl });\n // ERC-1155 allows a generic {id} in the URL\n if (scheme === \"erc1155\") {\n metadataUrl = metadataUrl.replace(\"{id}\", tokenId.substring(2));\n linkage.push({ type: \"metadata-url-expanded\", content: metadataUrl });\n }\n // Transform IPFS metadata links\n if (metadataUrl.match(/^ipfs:/i)) {\n metadataUrl = getIpfsLink(metadataUrl);\n }\n linkage.push({ type: \"metadata-url\", content: metadataUrl });\n // Get the token metadata\n const metadata = yield fetchJson(metadataUrl);\n if (!metadata) {\n return null;\n }\n linkage.push({ type: \"metadata\", content: JSON.stringify(metadata) });\n // Pull the image URL out\n let imageUrl = metadata.image;\n if (typeof (imageUrl) !== \"string\") {\n return null;\n }\n if (imageUrl.match(/^(https:\\/\\/|data:)/i)) {\n // Allow\n }\n else {\n // Transform IPFS link to gateway\n const ipfs = imageUrl.match(matcherIpfs);\n if (ipfs == null) {\n return null;\n }\n linkage.push({ type: \"url-ipfs\", content: imageUrl });\n imageUrl = getIpfsLink(imageUrl);\n }\n linkage.push({ type: \"url\", content: imageUrl });\n return { linkage, url: imageUrl };\n }\n }\n }\n }\n catch (error) { }\n return null;\n });\n }\n getContentHash() {\n return __awaiter(this, void 0, void 0, function* () {\n // keccak256(\"contenthash()\")\n const hexBytes = yield this._fetchBytes(\"0xbc1c58d1\");\n // No contenthash\n if (hexBytes == null || hexBytes === \"0x\") {\n return null;\n }\n // IPFS (CID: 1, Type: DAG-PB)\n const ipfs = hexBytes.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);\n if (ipfs) {\n const length = parseInt(ipfs[3], 16);\n if (ipfs[4].length === length * 2) {\n return \"ipfs:/\\/\" + Base58.encode(\"0x\" + ipfs[1]);\n }\n }\n // IPNS (CID: 1, Type: libp2p-key)\n const ipns = hexBytes.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);\n if (ipns) {\n const length = parseInt(ipns[3], 16);\n if (ipns[4].length === length * 2) {\n return \"ipns:/\\/\" + Base58.encode(\"0x\" + ipns[1]);\n }\n }\n // Swarm (CID: 1, Type: swarm-manifest; hash/length hard-coded to keccak256/32)\n const swarm = hexBytes.match(/^0xe40101fa011b20([0-9a-f]*)$/);\n if (swarm) {\n if (swarm[1].length === (32 * 2)) {\n return \"bzz:/\\/\" + swarm[1];\n }\n }\n const skynet = hexBytes.match(/^0x90b2c605([0-9a-f]*)$/);\n if (skynet) {\n if (skynet[1].length === (34 * 2)) {\n // URL Safe base64; https://datatracker.ietf.org/doc/html/rfc4648#section-5\n const urlSafe = { \"=\": \"\", \"+\": \"-\", \"/\": \"_\" };\n const hash = base64Encode(\"0x\" + skynet[1]).replace(/[=+\\/]/g, (a) => (urlSafe[a]));\n return \"sia:/\\/\" + hash;\n }\n }\n return logger.throwError(`invalid or unsupported content hash data`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"getContentHash()\",\n data: hexBytes\n });\n });\n }\n getText(key) {\n return __awaiter(this, void 0, void 0, function* () {\n // The key encoded as parameter to fetchBytes\n let keyBytes = toUtf8Bytes(key);\n // The nodehash consumes the first slot, so the string pointer targets\n // offset 64, with the length at offset 64 and data starting at offset 96\n keyBytes = concat([bytes32ify(64), bytes32ify(keyBytes.length), keyBytes]);\n // Pad to word-size (32 bytes)\n if ((keyBytes.length % 32) !== 0) {\n keyBytes = concat([keyBytes, hexZeroPad(\"0x\", 32 - (key.length % 32))]);\n }\n const hexBytes = yield this._fetchBytes(\"0x59d1d43c\", hexlify(keyBytes));\n if (hexBytes == null || hexBytes === \"0x\") {\n return null;\n }\n return toUtf8String(hexBytes);\n });\n }\n}\nlet defaultFormatter = null;\nlet nextPollId = 1;\nexport class BaseProvider extends Provider {\n /**\n * ready\n *\n * A Promise that resolves only once the provider is ready.\n *\n * Sub-classes that call the super with a network without a chainId\n * MUST set this. Standard named networks have a known chainId.\n *\n */\n constructor(network) {\n super();\n // Events being listened to\n this._events = [];\n this._emitted = { block: -2 };\n this.disableCcipRead = false;\n this.formatter = new.target.getFormatter();\n // If network is any, this Provider allows the underlying\n // network to change dynamically, and we auto-detect the\n // current network\n defineReadOnly(this, \"anyNetwork\", (network === \"any\"));\n if (this.anyNetwork) {\n network = this.detectNetwork();\n }\n if (network instanceof Promise) {\n this._networkPromise = network;\n // Squash any \"unhandled promise\" errors; that do not need to be handled\n network.catch((error) => { });\n // Trigger initial network setting (async)\n this._ready().catch((error) => { });\n }\n else {\n const knownNetwork = getStatic(new.target, \"getNetwork\")(network);\n if (knownNetwork) {\n defineReadOnly(this, \"_network\", knownNetwork);\n this.emit(\"network\", knownNetwork, null);\n }\n else {\n logger.throwArgumentError(\"invalid network\", \"network\", network);\n }\n }\n this._maxInternalBlockNumber = -1024;\n this._lastBlockNumber = -2;\n this._maxFilterBlockRange = 10;\n this._pollingInterval = 4000;\n this._fastQueryDate = 0;\n }\n _ready() {\n return __awaiter(this, void 0, void 0, function* () {\n if (this._network == null) {\n let network = null;\n if (this._networkPromise) {\n try {\n network = yield this._networkPromise;\n }\n catch (error) { }\n }\n // Try the Provider's network detection (this MUST throw if it cannot)\n if (network == null) {\n network = yield this.detectNetwork();\n }\n // This should never happen; every Provider sub-class should have\n // suggested a network by here (or have thrown).\n if (!network) {\n logger.throwError(\"no network detected\", Logger.errors.UNKNOWN_ERROR, {});\n }\n // Possible this call stacked so do not call defineReadOnly again\n if (this._network == null) {\n if (this.anyNetwork) {\n this._network = network;\n }\n else {\n defineReadOnly(this, \"_network\", network);\n }\n this.emit(\"network\", network, null);\n }\n }\n return this._network;\n });\n }\n // This will always return the most recently established network.\n // For \"any\", this can change (a \"network\" event is emitted before\n // any change is reflected); otherwise this cannot change\n get ready() {\n return poll(() => {\n return this._ready().then((network) => {\n return network;\n }, (error) => {\n // If the network isn't running yet, we will wait\n if (error.code === Logger.errors.NETWORK_ERROR && error.event === \"noNetwork\") {\n return undefined;\n }\n throw error;\n });\n });\n }\n // @TODO: Remove this and just create a singleton formatter\n static getFormatter() {\n if (defaultFormatter == null) {\n defaultFormatter = new Formatter();\n }\n return defaultFormatter;\n }\n // @TODO: Remove this and just use getNetwork\n static getNetwork(network) {\n return getNetwork((network == null) ? \"homestead\" : network);\n }\n ccipReadFetch(tx, calldata, urls) {\n return __awaiter(this, void 0, void 0, function* () {\n if (this.disableCcipRead || urls.length === 0) {\n return null;\n }\n const sender = tx.to.toLowerCase();\n const data = calldata.toLowerCase();\n const errorMessages = [];\n for (let i = 0; i < urls.length; i++) {\n const url = urls[i];\n // URL expansion\n const href = url.replace(\"{sender}\", sender).replace(\"{data}\", data);\n // If no {data} is present, use POST; otherwise GET\n const json = (url.indexOf(\"{data}\") >= 0) ? null : JSON.stringify({ data, sender });\n const result = yield fetchJson({ url: href, errorPassThrough: true }, json, (value, response) => {\n value.status = response.statusCode;\n return value;\n });\n if (result.data) {\n return result.data;\n }\n const errorMessage = (result.message || \"unknown error\");\n // 4xx indicates the result is not present; stop\n if (result.status >= 400 && result.status < 500) {\n return logger.throwError(`response not found during CCIP fetch: ${errorMessage}`, Logger.errors.SERVER_ERROR, { url, errorMessage });\n }\n // 5xx indicates server issue; try the next url\n errorMessages.push(errorMessage);\n }\n return logger.throwError(`error encountered during CCIP fetch: ${errorMessages.map((m) => JSON.stringify(m)).join(\", \")}`, Logger.errors.SERVER_ERROR, {\n urls, errorMessages\n });\n });\n }\n // Fetches the blockNumber, but will reuse any result that is less\n // than maxAge old or has been requested since the last request\n _getInternalBlockNumber(maxAge) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this._ready();\n // Allowing stale data up to maxAge old\n if (maxAge > 0) {\n // While there are pending internal block requests...\n while (this._internalBlockNumber) {\n // ...\"remember\" which fetch we started with\n const internalBlockNumber = this._internalBlockNumber;\n try {\n // Check the result is not too stale\n const result = yield internalBlockNumber;\n if ((getTime() - result.respTime) <= maxAge) {\n return result.blockNumber;\n }\n // Too old; fetch a new value\n break;\n }\n catch (error) {\n // The fetch rejected; if we are the first to get the\n // rejection, drop through so we replace it with a new\n // fetch; all others blocked will then get that fetch\n // which won't match the one they \"remembered\" and loop\n if (this._internalBlockNumber === internalBlockNumber) {\n break;\n }\n }\n }\n }\n const reqTime = getTime();\n const checkInternalBlockNumber = resolveProperties({\n blockNumber: this.perform(\"getBlockNumber\", {}),\n networkError: this.getNetwork().then((network) => (null), (error) => (error))\n }).then(({ blockNumber, networkError }) => {\n if (networkError) {\n // Unremember this bad internal block number\n if (this._internalBlockNumber === checkInternalBlockNumber) {\n this._internalBlockNumber = null;\n }\n throw networkError;\n }\n const respTime = getTime();\n blockNumber = BigNumber.from(blockNumber).toNumber();\n if (blockNumber < this._maxInternalBlockNumber) {\n blockNumber = this._maxInternalBlockNumber;\n }\n this._maxInternalBlockNumber = blockNumber;\n this._setFastBlockNumber(blockNumber); // @TODO: Still need this?\n return { blockNumber, reqTime, respTime };\n });\n this._internalBlockNumber = checkInternalBlockNumber;\n // Swallow unhandled exceptions; if needed they are handled else where\n checkInternalBlockNumber.catch((error) => {\n // Don't null the dead (rejected) fetch, if it has already been updated\n if (this._internalBlockNumber === checkInternalBlockNumber) {\n this._internalBlockNumber = null;\n }\n });\n return (yield checkInternalBlockNumber).blockNumber;\n });\n }\n poll() {\n return __awaiter(this, void 0, void 0, function* () {\n const pollId = nextPollId++;\n // Track all running promises, so we can trigger a post-poll once they are complete\n const runners = [];\n let blockNumber = null;\n try {\n blockNumber = yield this._getInternalBlockNumber(100 + this.pollingInterval / 2);\n }\n catch (error) {\n this.emit(\"error\", error);\n return;\n }\n this._setFastBlockNumber(blockNumber);\n // Emit a poll event after we have the latest (fast) block number\n this.emit(\"poll\", pollId, blockNumber);\n // If the block has not changed, meh.\n if (blockNumber === this._lastBlockNumber) {\n this.emit(\"didPoll\", pollId);\n return;\n }\n // First polling cycle, trigger a \"block\" events\n if (this._emitted.block === -2) {\n this._emitted.block = blockNumber - 1;\n }\n if (Math.abs((this._emitted.block) - blockNumber) > 1000) {\n logger.warn(`network block skew detected; skipping block events (emitted=${this._emitted.block} blockNumber${blockNumber})`);\n this.emit(\"error\", logger.makeError(\"network block skew detected\", Logger.errors.NETWORK_ERROR, {\n blockNumber: blockNumber,\n event: \"blockSkew\",\n previousBlockNumber: this._emitted.block\n }));\n this.emit(\"block\", blockNumber);\n }\n else {\n // Notify all listener for each block that has passed\n for (let i = this._emitted.block + 1; i <= blockNumber; i++) {\n this.emit(\"block\", i);\n }\n }\n // The emitted block was updated, check for obsolete events\n if (this._emitted.block !== blockNumber) {\n this._emitted.block = blockNumber;\n Object.keys(this._emitted).forEach((key) => {\n // The block event does not expire\n if (key === \"block\") {\n return;\n }\n // The block we were at when we emitted this event\n const eventBlockNumber = this._emitted[key];\n // We cannot garbage collect pending transactions or blocks here\n // They should be garbage collected by the Provider when setting\n // \"pending\" events\n if (eventBlockNumber === \"pending\") {\n return;\n }\n // Evict any transaction hashes or block hashes over 12 blocks\n // old, since they should not return null anyways\n if (blockNumber - eventBlockNumber > 12) {\n delete this._emitted[key];\n }\n });\n }\n // First polling cycle\n if (this._lastBlockNumber === -2) {\n this._lastBlockNumber = blockNumber - 1;\n }\n // Find all transaction hashes we are waiting on\n this._events.forEach((event) => {\n switch (event.type) {\n case \"tx\": {\n const hash = event.hash;\n let runner = this.getTransactionReceipt(hash).then((receipt) => {\n if (!receipt || receipt.blockNumber == null) {\n return null;\n }\n this._emitted[\"t:\" + hash] = receipt.blockNumber;\n this.emit(hash, receipt);\n return null;\n }).catch((error) => { this.emit(\"error\", error); });\n runners.push(runner);\n break;\n }\n case \"filter\": {\n // We only allow a single getLogs to be in-flight at a time\n if (!event._inflight) {\n event._inflight = true;\n // This is the first filter for this event, so we want to\n // restrict events to events that happened no earlier than now\n if (event._lastBlockNumber === -2) {\n event._lastBlockNumber = blockNumber - 1;\n }\n // Filter from the last *known* event; due to load-balancing\n // and some nodes returning updated block numbers before\n // indexing events, a logs result with 0 entries cannot be\n // trusted and we must retry a range which includes it again\n const filter = event.filter;\n filter.fromBlock = event._lastBlockNumber + 1;\n filter.toBlock = blockNumber;\n // Prevent fitler ranges from growing too wild, since it is quite\n // likely there just haven't been any events to move the lastBlockNumber.\n const minFromBlock = filter.toBlock - this._maxFilterBlockRange;\n if (minFromBlock > filter.fromBlock) {\n filter.fromBlock = minFromBlock;\n }\n if (filter.fromBlock < 0) {\n filter.fromBlock = 0;\n }\n const runner = this.getLogs(filter).then((logs) => {\n // Allow the next getLogs\n event._inflight = false;\n if (logs.length === 0) {\n return;\n }\n logs.forEach((log) => {\n // Only when we get an event for a given block number\n // can we trust the events are indexed\n if (log.blockNumber > event._lastBlockNumber) {\n event._lastBlockNumber = log.blockNumber;\n }\n // Make sure we stall requests to fetch blocks and txs\n this._emitted[\"b:\" + log.blockHash] = log.blockNumber;\n this._emitted[\"t:\" + log.transactionHash] = log.blockNumber;\n this.emit(filter, log);\n });\n }).catch((error) => {\n this.emit(\"error\", error);\n // Allow another getLogs (the range was not updated)\n event._inflight = false;\n });\n runners.push(runner);\n }\n break;\n }\n }\n });\n this._lastBlockNumber = blockNumber;\n // Once all events for this loop have been processed, emit \"didPoll\"\n Promise.all(runners).then(() => {\n this.emit(\"didPoll\", pollId);\n }).catch((error) => { this.emit(\"error\", error); });\n return;\n });\n }\n // Deprecated; do not use this\n resetEventsBlock(blockNumber) {\n this._lastBlockNumber = blockNumber - 1;\n if (this.polling) {\n this.poll();\n }\n }\n get network() {\n return this._network;\n }\n // This method should query the network if the underlying network\n // can change, such as when connected to a JSON-RPC backend\n detectNetwork() {\n return __awaiter(this, void 0, void 0, function* () {\n return logger.throwError(\"provider does not support network detection\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"provider.detectNetwork\"\n });\n });\n }\n getNetwork() {\n return __awaiter(this, void 0, void 0, function* () {\n const network = yield this._ready();\n // Make sure we are still connected to the same network; this is\n // only an external call for backends which can have the underlying\n // network change spontaneously\n const currentNetwork = yield this.detectNetwork();\n if (network.chainId !== currentNetwork.chainId) {\n // We are allowing network changes, things can get complex fast;\n // make sure you know what you are doing if you use \"any\"\n if (this.anyNetwork) {\n this._network = currentNetwork;\n // Reset all internal block number guards and caches\n this._lastBlockNumber = -2;\n this._fastBlockNumber = null;\n this._fastBlockNumberPromise = null;\n this._fastQueryDate = 0;\n this._emitted.block = -2;\n this._maxInternalBlockNumber = -1024;\n this._internalBlockNumber = null;\n // The \"network\" event MUST happen before this method resolves\n // so any events have a chance to unregister, so we stall an\n // additional event loop before returning from /this/ call\n this.emit(\"network\", currentNetwork, network);\n yield stall(0);\n return this._network;\n }\n const error = logger.makeError(\"underlying network changed\", Logger.errors.NETWORK_ERROR, {\n event: \"changed\",\n network: network,\n detectedNetwork: currentNetwork\n });\n this.emit(\"error\", error);\n throw error;\n }\n return network;\n });\n }\n get blockNumber() {\n this._getInternalBlockNumber(100 + this.pollingInterval / 2).then((blockNumber) => {\n this._setFastBlockNumber(blockNumber);\n }, (error) => { });\n return (this._fastBlockNumber != null) ? this._fastBlockNumber : -1;\n }\n get polling() {\n return (this._poller != null);\n }\n set polling(value) {\n if (value && !this._poller) {\n this._poller = setInterval(() => { this.poll(); }, this.pollingInterval);\n if (!this._bootstrapPoll) {\n this._bootstrapPoll = setTimeout(() => {\n this.poll();\n // We block additional polls until the polling interval\n // is done, to prevent overwhelming the poll function\n this._bootstrapPoll = setTimeout(() => {\n // If polling was disabled, something may require a poke\n // since starting the bootstrap poll and it was disabled\n if (!this._poller) {\n this.poll();\n }\n // Clear out the bootstrap so we can do another\n this._bootstrapPoll = null;\n }, this.pollingInterval);\n }, 0);\n }\n }\n else if (!value && this._poller) {\n clearInterval(this._poller);\n this._poller = null;\n }\n }\n get pollingInterval() {\n return this._pollingInterval;\n }\n set pollingInterval(value) {\n if (typeof (value) !== \"number\" || value <= 0 || parseInt(String(value)) != value) {\n throw new Error(\"invalid polling interval\");\n }\n this._pollingInterval = value;\n if (this._poller) {\n clearInterval(this._poller);\n this._poller = setInterval(() => { this.poll(); }, this._pollingInterval);\n }\n }\n _getFastBlockNumber() {\n const now = getTime();\n // Stale block number, request a newer value\n if ((now - this._fastQueryDate) > 2 * this._pollingInterval) {\n this._fastQueryDate = now;\n this._fastBlockNumberPromise = this.getBlockNumber().then((blockNumber) => {\n if (this._fastBlockNumber == null || blockNumber > this._fastBlockNumber) {\n this._fastBlockNumber = blockNumber;\n }\n return this._fastBlockNumber;\n });\n }\n return this._fastBlockNumberPromise;\n }\n _setFastBlockNumber(blockNumber) {\n // Older block, maybe a stale request\n if (this._fastBlockNumber != null && blockNumber < this._fastBlockNumber) {\n return;\n }\n // Update the time we updated the blocknumber\n this._fastQueryDate = getTime();\n // Newer block number, use it\n if (this._fastBlockNumber == null || blockNumber > this._fastBlockNumber) {\n this._fastBlockNumber = blockNumber;\n this._fastBlockNumberPromise = Promise.resolve(blockNumber);\n }\n }\n waitForTransaction(transactionHash, confirmations, timeout) {\n return __awaiter(this, void 0, void 0, function* () {\n return this._waitForTransaction(transactionHash, (confirmations == null) ? 1 : confirmations, timeout || 0, null);\n });\n }\n _waitForTransaction(transactionHash, confirmations, timeout, replaceable) {\n return __awaiter(this, void 0, void 0, function* () {\n const receipt = yield this.getTransactionReceipt(transactionHash);\n // Receipt is already good\n if ((receipt ? receipt.confirmations : 0) >= confirmations) {\n return receipt;\n }\n // Poll until the receipt is good...\n return new Promise((resolve, reject) => {\n const cancelFuncs = [];\n let done = false;\n const alreadyDone = function () {\n if (done) {\n return true;\n }\n done = true;\n cancelFuncs.forEach((func) => { func(); });\n return false;\n };\n const minedHandler = (receipt) => {\n if (receipt.confirmations < confirmations) {\n return;\n }\n if (alreadyDone()) {\n return;\n }\n resolve(receipt);\n };\n this.on(transactionHash, minedHandler);\n cancelFuncs.push(() => { this.removeListener(transactionHash, minedHandler); });\n if (replaceable) {\n let lastBlockNumber = replaceable.startBlock;\n let scannedBlock = null;\n const replaceHandler = (blockNumber) => __awaiter(this, void 0, void 0, function* () {\n if (done) {\n return;\n }\n // Wait 1 second; this is only used in the case of a fault, so\n // we will trade off a little bit of latency for more consistent\n // results and fewer JSON-RPC calls\n yield stall(1000);\n this.getTransactionCount(replaceable.from).then((nonce) => __awaiter(this, void 0, void 0, function* () {\n if (done) {\n return;\n }\n if (nonce <= replaceable.nonce) {\n lastBlockNumber = blockNumber;\n }\n else {\n // First check if the transaction was mined\n {\n const mined = yield this.getTransaction(transactionHash);\n if (mined && mined.blockNumber != null) {\n return;\n }\n }\n // First time scanning. We start a little earlier for some\n // wiggle room here to handle the eventually consistent nature\n // of blockchain (e.g. the getTransactionCount was for a\n // different block)\n if (scannedBlock == null) {\n scannedBlock = lastBlockNumber - 3;\n if (scannedBlock < replaceable.startBlock) {\n scannedBlock = replaceable.startBlock;\n }\n }\n while (scannedBlock <= blockNumber) {\n if (done) {\n return;\n }\n const block = yield this.getBlockWithTransactions(scannedBlock);\n for (let ti = 0; ti < block.transactions.length; ti++) {\n const tx = block.transactions[ti];\n // Successfully mined!\n if (tx.hash === transactionHash) {\n return;\n }\n // Matches our transaction from and nonce; its a replacement\n if (tx.from === replaceable.from && tx.nonce === replaceable.nonce) {\n if (done) {\n return;\n }\n // Get the receipt of the replacement\n const receipt = yield this.waitForTransaction(tx.hash, confirmations);\n // Already resolved or rejected (prolly a timeout)\n if (alreadyDone()) {\n return;\n }\n // The reason we were replaced\n let reason = \"replaced\";\n if (tx.data === replaceable.data && tx.to === replaceable.to && tx.value.eq(replaceable.value)) {\n reason = \"repriced\";\n }\n else if (tx.data === \"0x\" && tx.from === tx.to && tx.value.isZero()) {\n reason = \"cancelled\";\n }\n // Explain why we were replaced\n reject(logger.makeError(\"transaction was replaced\", Logger.errors.TRANSACTION_REPLACED, {\n cancelled: (reason === \"replaced\" || reason === \"cancelled\"),\n reason,\n replacement: this._wrapTransaction(tx),\n hash: transactionHash,\n receipt\n }));\n return;\n }\n }\n scannedBlock++;\n }\n }\n if (done) {\n return;\n }\n this.once(\"block\", replaceHandler);\n }), (error) => {\n if (done) {\n return;\n }\n this.once(\"block\", replaceHandler);\n });\n });\n if (done) {\n return;\n }\n this.once(\"block\", replaceHandler);\n cancelFuncs.push(() => {\n this.removeListener(\"block\", replaceHandler);\n });\n }\n if (typeof (timeout) === \"number\" && timeout > 0) {\n const timer = setTimeout(() => {\n if (alreadyDone()) {\n return;\n }\n reject(logger.makeError(\"timeout exceeded\", Logger.errors.TIMEOUT, { timeout: timeout }));\n }, timeout);\n if (timer.unref) {\n timer.unref();\n }\n cancelFuncs.push(() => { clearTimeout(timer); });\n }\n });\n });\n }\n getBlockNumber() {\n return __awaiter(this, void 0, void 0, function* () {\n return this._getInternalBlockNumber(0);\n });\n }\n getGasPrice() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const result = yield this.perform(\"getGasPrice\", {});\n try {\n return BigNumber.from(result);\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getGasPrice\",\n result, error\n });\n }\n });\n }\n getBalance(addressOrName, blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const params = yield resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n const result = yield this.perform(\"getBalance\", params);\n try {\n return BigNumber.from(result);\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getBalance\",\n params, result, error\n });\n }\n });\n }\n getTransactionCount(addressOrName, blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const params = yield resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n const result = yield this.perform(\"getTransactionCount\", params);\n try {\n return BigNumber.from(result).toNumber();\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getTransactionCount\",\n params, result, error\n });\n }\n });\n }\n getCode(addressOrName, blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const params = yield resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n const result = yield this.perform(\"getCode\", params);\n try {\n return hexlify(result);\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getCode\",\n params, result, error\n });\n }\n });\n }\n getStorageAt(addressOrName, position, blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const params = yield resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag),\n position: Promise.resolve(position).then((p) => hexValue(p))\n });\n const result = yield this.perform(\"getStorageAt\", params);\n try {\n return hexlify(result);\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getStorageAt\",\n params, result, error\n });\n }\n });\n }\n // This should be called by any subclass wrapping a TransactionResponse\n _wrapTransaction(tx, hash, startBlock) {\n if (hash != null && hexDataLength(hash) !== 32) {\n throw new Error(\"invalid response - sendTransaction\");\n }\n const result = tx;\n // Check the hash we expect is the same as the hash the server reported\n if (hash != null && tx.hash !== hash) {\n logger.throwError(\"Transaction hash mismatch from Provider.sendTransaction.\", Logger.errors.UNKNOWN_ERROR, { expectedHash: tx.hash, returnedHash: hash });\n }\n result.wait = (confirms, timeout) => __awaiter(this, void 0, void 0, function* () {\n if (confirms == null) {\n confirms = 1;\n }\n if (timeout == null) {\n timeout = 0;\n }\n // Get the details to detect replacement\n let replacement = undefined;\n if (confirms !== 0 && startBlock != null) {\n replacement = {\n data: tx.data,\n from: tx.from,\n nonce: tx.nonce,\n to: tx.to,\n value: tx.value,\n startBlock\n };\n }\n const receipt = yield this._waitForTransaction(tx.hash, confirms, timeout, replacement);\n if (receipt == null && confirms === 0) {\n return null;\n }\n // No longer pending, allow the polling loop to garbage collect this\n this._emitted[\"t:\" + tx.hash] = receipt.blockNumber;\n if (receipt.status === 0) {\n logger.throwError(\"transaction failed\", Logger.errors.CALL_EXCEPTION, {\n transactionHash: tx.hash,\n transaction: tx,\n receipt: receipt\n });\n }\n return receipt;\n });\n return result;\n }\n sendTransaction(signedTransaction) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const hexTx = yield Promise.resolve(signedTransaction).then(t => hexlify(t));\n const tx = this.formatter.transaction(signedTransaction);\n if (tx.confirmations == null) {\n tx.confirmations = 0;\n }\n const blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n try {\n const hash = yield this.perform(\"sendTransaction\", { signedTransaction: hexTx });\n return this._wrapTransaction(tx, hash, blockNumber);\n }\n catch (error) {\n error.transaction = tx;\n error.transactionHash = tx.hash;\n throw error;\n }\n });\n }\n _getTransactionRequest(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n const values = yield transaction;\n const tx = {};\n [\"from\", \"to\"].forEach((key) => {\n if (values[key] == null) {\n return;\n }\n tx[key] = Promise.resolve(values[key]).then((v) => (v ? this._getAddress(v) : null));\n });\n [\"gasLimit\", \"gasPrice\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"value\"].forEach((key) => {\n if (values[key] == null) {\n return;\n }\n tx[key] = Promise.resolve(values[key]).then((v) => (v ? BigNumber.from(v) : null));\n });\n [\"type\"].forEach((key) => {\n if (values[key] == null) {\n return;\n }\n tx[key] = Promise.resolve(values[key]).then((v) => ((v != null) ? v : null));\n });\n if (values.accessList) {\n tx.accessList = this.formatter.accessList(values.accessList);\n }\n [\"data\"].forEach((key) => {\n if (values[key] == null) {\n return;\n }\n tx[key] = Promise.resolve(values[key]).then((v) => (v ? hexlify(v) : null));\n });\n return this.formatter.transactionRequest(yield resolveProperties(tx));\n });\n }\n _getFilter(filter) {\n return __awaiter(this, void 0, void 0, function* () {\n filter = yield filter;\n const result = {};\n if (filter.address != null) {\n result.address = this._getAddress(filter.address);\n }\n [\"blockHash\", \"topics\"].forEach((key) => {\n if (filter[key] == null) {\n return;\n }\n result[key] = filter[key];\n });\n [\"fromBlock\", \"toBlock\"].forEach((key) => {\n if (filter[key] == null) {\n return;\n }\n result[key] = this._getBlockTag(filter[key]);\n });\n return this.formatter.filter(yield resolveProperties(result));\n });\n }\n _call(transaction, blockTag, attempt) {\n return __awaiter(this, void 0, void 0, function* () {\n if (attempt >= MAX_CCIP_REDIRECTS) {\n logger.throwError(\"CCIP read exceeded maximum redirections\", Logger.errors.SERVER_ERROR, {\n redirects: attempt, transaction\n });\n }\n const txSender = transaction.to;\n const result = yield this.perform(\"call\", { transaction, blockTag });\n // CCIP Read request via OffchainLookup(address,string[],bytes,bytes4,bytes)\n if (attempt >= 0 && blockTag === \"latest\" && txSender != null && result.substring(0, 10) === \"0x556f1830\" && (hexDataLength(result) % 32 === 4)) {\n try {\n const data = hexDataSlice(result, 4);\n // Check the sender of the OffchainLookup matches the transaction\n const sender = hexDataSlice(data, 0, 32);\n if (!BigNumber.from(sender).eq(txSender)) {\n logger.throwError(\"CCIP Read sender did not match\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n // Read the URLs from the response\n const urls = [];\n const urlsOffset = BigNumber.from(hexDataSlice(data, 32, 64)).toNumber();\n const urlsLength = BigNumber.from(hexDataSlice(data, urlsOffset, urlsOffset + 32)).toNumber();\n const urlsData = hexDataSlice(data, urlsOffset + 32);\n for (let u = 0; u < urlsLength; u++) {\n const url = _parseString(urlsData, u * 32);\n if (url == null) {\n logger.throwError(\"CCIP Read contained corrupt URL string\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n urls.push(url);\n }\n // Get the CCIP calldata to forward\n const calldata = _parseBytes(data, 64);\n // Get the callbackSelector (bytes4)\n if (!BigNumber.from(hexDataSlice(data, 100, 128)).isZero()) {\n logger.throwError(\"CCIP Read callback selector included junk\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n const callbackSelector = hexDataSlice(data, 96, 100);\n // Get the extra data to send back to the contract as context\n const extraData = _parseBytes(data, 128);\n const ccipResult = yield this.ccipReadFetch(transaction, calldata, urls);\n if (ccipResult == null) {\n logger.throwError(\"CCIP Read disabled or provided no URLs\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n const tx = {\n to: txSender,\n data: hexConcat([callbackSelector, encodeBytes([ccipResult, extraData])])\n };\n return this._call(tx, blockTag, attempt + 1);\n }\n catch (error) {\n if (error.code === Logger.errors.SERVER_ERROR) {\n throw error;\n }\n }\n }\n try {\n return hexlify(result);\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"call\",\n params: { transaction, blockTag }, result, error\n });\n }\n });\n }\n call(transaction, blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const resolved = yield resolveProperties({\n transaction: this._getTransactionRequest(transaction),\n blockTag: this._getBlockTag(blockTag),\n ccipReadEnabled: Promise.resolve(transaction.ccipReadEnabled)\n });\n return this._call(resolved.transaction, resolved.blockTag, resolved.ccipReadEnabled ? 0 : -1);\n });\n }\n estimateGas(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const params = yield resolveProperties({\n transaction: this._getTransactionRequest(transaction)\n });\n const result = yield this.perform(\"estimateGas\", params);\n try {\n return BigNumber.from(result);\n }\n catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"estimateGas\",\n params, result, error\n });\n }\n });\n }\n _getAddress(addressOrName) {\n return __awaiter(this, void 0, void 0, function* () {\n addressOrName = yield addressOrName;\n if (typeof (addressOrName) !== \"string\") {\n logger.throwArgumentError(\"invalid address or ENS name\", \"name\", addressOrName);\n }\n const address = yield this.resolveName(addressOrName);\n if (address == null) {\n logger.throwError(\"ENS name not configured\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: `resolveName(${JSON.stringify(addressOrName)})`\n });\n }\n return address;\n });\n }\n _getBlock(blockHashOrBlockTag, includeTransactions) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n blockHashOrBlockTag = yield blockHashOrBlockTag;\n // If blockTag is a number (not \"latest\", etc), this is the block number\n let blockNumber = -128;\n const params = {\n includeTransactions: !!includeTransactions\n };\n if (isHexString(blockHashOrBlockTag, 32)) {\n params.blockHash = blockHashOrBlockTag;\n }\n else {\n try {\n params.blockTag = yield this._getBlockTag(blockHashOrBlockTag);\n if (isHexString(params.blockTag)) {\n blockNumber = parseInt(params.blockTag.substring(2), 16);\n }\n }\n catch (error) {\n logger.throwArgumentError(\"invalid block hash or block tag\", \"blockHashOrBlockTag\", blockHashOrBlockTag);\n }\n }\n return poll(() => __awaiter(this, void 0, void 0, function* () {\n const block = yield this.perform(\"getBlock\", params);\n // Block was not found\n if (block == null) {\n // For blockhashes, if we didn't say it existed, that blockhash may\n // not exist. If we did see it though, perhaps from a log, we know\n // it exists, and this node is just not caught up yet.\n if (params.blockHash != null) {\n if (this._emitted[\"b:\" + params.blockHash] == null) {\n return null;\n }\n }\n // For block tags, if we are asking for a future block, we return null\n if (params.blockTag != null) {\n if (blockNumber > this._emitted.block) {\n return null;\n }\n }\n // Retry on the next block\n return undefined;\n }\n // Add transactions\n if (includeTransactions) {\n let blockNumber = null;\n for (let i = 0; i < block.transactions.length; i++) {\n const tx = block.transactions[i];\n if (tx.blockNumber == null) {\n tx.confirmations = 0;\n }\n else if (tx.confirmations == null) {\n if (blockNumber == null) {\n blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n }\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = (blockNumber - tx.blockNumber) + 1;\n if (confirmations <= 0) {\n confirmations = 1;\n }\n tx.confirmations = confirmations;\n }\n }\n const blockWithTxs = this.formatter.blockWithTransactions(block);\n blockWithTxs.transactions = blockWithTxs.transactions.map((tx) => this._wrapTransaction(tx));\n return blockWithTxs;\n }\n return this.formatter.block(block);\n }), { oncePoll: this });\n });\n }\n getBlock(blockHashOrBlockTag) {\n return (this._getBlock(blockHashOrBlockTag, false));\n }\n getBlockWithTransactions(blockHashOrBlockTag) {\n return (this._getBlock(blockHashOrBlockTag, true));\n }\n getTransaction(transactionHash) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n transactionHash = yield transactionHash;\n const params = { transactionHash: this.formatter.hash(transactionHash, true) };\n return poll(() => __awaiter(this, void 0, void 0, function* () {\n const result = yield this.perform(\"getTransaction\", params);\n if (result == null) {\n if (this._emitted[\"t:\" + transactionHash] == null) {\n return null;\n }\n return undefined;\n }\n const tx = this.formatter.transactionResponse(result);\n if (tx.blockNumber == null) {\n tx.confirmations = 0;\n }\n else if (tx.confirmations == null) {\n const blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = (blockNumber - tx.blockNumber) + 1;\n if (confirmations <= 0) {\n confirmations = 1;\n }\n tx.confirmations = confirmations;\n }\n return this._wrapTransaction(tx);\n }), { oncePoll: this });\n });\n }\n getTransactionReceipt(transactionHash) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n transactionHash = yield transactionHash;\n const params = { transactionHash: this.formatter.hash(transactionHash, true) };\n return poll(() => __awaiter(this, void 0, void 0, function* () {\n const result = yield this.perform(\"getTransactionReceipt\", params);\n if (result == null) {\n if (this._emitted[\"t:\" + transactionHash] == null) {\n return null;\n }\n return undefined;\n }\n // \"geth-etc\" returns receipts before they are ready\n if (result.blockHash == null) {\n return undefined;\n }\n const receipt = this.formatter.receipt(result);\n if (receipt.blockNumber == null) {\n receipt.confirmations = 0;\n }\n else if (receipt.confirmations == null) {\n const blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = (blockNumber - receipt.blockNumber) + 1;\n if (confirmations <= 0) {\n confirmations = 1;\n }\n receipt.confirmations = confirmations;\n }\n return receipt;\n }), { oncePoll: this });\n });\n }\n getLogs(filter) {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n const params = yield resolveProperties({ filter: this._getFilter(filter) });\n const logs = yield this.perform(\"getLogs\", params);\n logs.forEach((log) => {\n if (log.removed == null) {\n log.removed = false;\n }\n });\n return Formatter.arrayOf(this.formatter.filterLog.bind(this.formatter))(logs);\n });\n }\n getEtherPrice() {\n return __awaiter(this, void 0, void 0, function* () {\n yield this.getNetwork();\n return this.perform(\"getEtherPrice\", {});\n });\n }\n _getBlockTag(blockTag) {\n return __awaiter(this, void 0, void 0, function* () {\n blockTag = yield blockTag;\n if (typeof (blockTag) === \"number\" && blockTag < 0) {\n if (blockTag % 1) {\n logger.throwArgumentError(\"invalid BlockTag\", \"blockTag\", blockTag);\n }\n let blockNumber = yield this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n blockNumber += blockTag;\n if (blockNumber < 0) {\n blockNumber = 0;\n }\n return this.formatter.blockTag(blockNumber);\n }\n return this.formatter.blockTag(blockTag);\n });\n }\n getResolver(name) {\n return __awaiter(this, void 0, void 0, function* () {\n let currentName = name;\n while (true) {\n if (currentName === \"\" || currentName === \".\") {\n return null;\n }\n // Optimization since the eth node cannot change and does\n // not have a wildcard resolver\n if (name !== \"eth\" && currentName === \"eth\") {\n return null;\n }\n // Check the current node for a resolver\n const addr = yield this._getResolver(currentName, \"getResolver\");\n // Found a resolver!\n if (addr != null) {\n const resolver = new Resolver(this, addr, name);\n // Legacy resolver found, using EIP-2544 so it isn't safe to use\n if (currentName !== name && !(yield resolver.supportsWildcard())) {\n return null;\n }\n return resolver;\n }\n // Get the parent node\n currentName = currentName.split(\".\").slice(1).join(\".\");\n }\n });\n }\n _getResolver(name, operation) {\n return __awaiter(this, void 0, void 0, function* () {\n if (operation == null) {\n operation = \"ENS\";\n }\n const network = yield this.getNetwork();\n // No ENS...\n if (!network.ensAddress) {\n logger.throwError(\"network does not support ENS\", Logger.errors.UNSUPPORTED_OPERATION, { operation, network: network.name });\n }\n try {\n // keccak256(\"resolver(bytes32)\")\n const addrData = yield this.call({\n to: network.ensAddress,\n data: (\"0x0178b8bf\" + namehash(name).substring(2))\n });\n return this.formatter.callAddress(addrData);\n }\n catch (error) {\n // ENS registry cannot throw errors on resolver(bytes32)\n }\n return null;\n });\n }\n resolveName(name) {\n return __awaiter(this, void 0, void 0, function* () {\n name = yield name;\n // If it is already an address, nothing to resolve\n try {\n return Promise.resolve(this.formatter.address(name));\n }\n catch (error) {\n // If is is a hexstring, the address is bad (See #694)\n if (isHexString(name)) {\n throw error;\n }\n }\n if (typeof (name) !== \"string\") {\n logger.throwArgumentError(\"invalid ENS name\", \"name\", name);\n }\n // Get the addr from the resolver\n const resolver = yield this.getResolver(name);\n if (!resolver) {\n return null;\n }\n return yield resolver.getAddress();\n });\n }\n lookupAddress(address) {\n return __awaiter(this, void 0, void 0, function* () {\n address = yield address;\n address = this.formatter.address(address);\n const node = address.substring(2).toLowerCase() + \".addr.reverse\";\n const resolverAddr = yield this._getResolver(node, \"lookupAddress\");\n if (resolverAddr == null) {\n return null;\n }\n // keccak(\"name(bytes32)\")\n const name = _parseString(yield this.call({\n to: resolverAddr,\n data: (\"0x691f3431\" + namehash(node).substring(2))\n }), 0);\n const addr = yield this.resolveName(name);\n if (addr != address) {\n return null;\n }\n return name;\n });\n }\n getAvatar(nameOrAddress) {\n return __awaiter(this, void 0, void 0, function* () {\n let resolver = null;\n if (isHexString(nameOrAddress)) {\n // Address; reverse lookup\n const address = this.formatter.address(nameOrAddress);\n const node = address.substring(2).toLowerCase() + \".addr.reverse\";\n const resolverAddress = yield this._getResolver(node, \"getAvatar\");\n if (!resolverAddress) {\n return null;\n }\n // Try resolving the avatar against the addr.reverse resolver\n resolver = new Resolver(this, resolverAddress, node);\n try {\n const avatar = yield resolver.getAvatar();\n if (avatar) {\n return avatar.url;\n }\n }\n catch (error) {\n if (error.code !== Logger.errors.CALL_EXCEPTION) {\n throw error;\n }\n }\n // Try getting the name and performing forward lookup; allowing wildcards\n try {\n // keccak(\"name(bytes32)\")\n const name = _parseString(yield this.call({\n to: resolverAddress,\n data: (\"0x691f3431\" + namehash(node).substring(2))\n }), 0);\n resolver = yield this.getResolver(name);\n }\n catch (error) {\n if (error.code !== Logger.errors.CALL_EXCEPTION) {\n throw error;\n }\n return null;\n }\n }\n else {\n // ENS name; forward lookup with wildcard\n resolver = yield this.getResolver(nameOrAddress);\n if (!resolver) {\n return null;\n }\n }\n const avatar = yield resolver.getAvatar();\n if (avatar == null) {\n return null;\n }\n return avatar.url;\n });\n }\n perform(method, params) {\n return logger.throwError(method + \" not implemented\", Logger.errors.NOT_IMPLEMENTED, { operation: method });\n }\n _startEvent(event) {\n this.polling = (this._events.filter((e) => e.pollable()).length > 0);\n }\n _stopEvent(event) {\n this.polling = (this._events.filter((e) => e.pollable()).length > 0);\n }\n _addEventListener(eventName, listener, once) {\n const event = new Event(getEventTag(eventName), listener, once);\n this._events.push(event);\n this._startEvent(event);\n return this;\n }\n on(eventName, listener) {\n return this._addEventListener(eventName, listener, false);\n }\n once(eventName, listener) {\n return this._addEventListener(eventName, listener, true);\n }\n emit(eventName, ...args) {\n let result = false;\n let stopped = [];\n let eventTag = getEventTag(eventName);\n this._events = this._events.filter((event) => {\n if (event.tag !== eventTag) {\n return true;\n }\n setTimeout(() => {\n event.listener.apply(this, args);\n }, 0);\n result = true;\n if (event.once) {\n stopped.push(event);\n return false;\n }\n return true;\n });\n stopped.forEach((event) => { this._stopEvent(event); });\n return result;\n }\n listenerCount(eventName) {\n if (!eventName) {\n return this._events.length;\n }\n let eventTag = getEventTag(eventName);\n return this._events.filter((event) => {\n return (event.tag === eventTag);\n }).length;\n }\n listeners(eventName) {\n if (eventName == null) {\n return this._events.map((event) => event.listener);\n }\n let eventTag = getEventTag(eventName);\n return this._events\n .filter((event) => (event.tag === eventTag))\n .map((event) => event.listener);\n }\n off(eventName, listener) {\n if (listener == null) {\n return this.removeAllListeners(eventName);\n }\n const stopped = [];\n let found = false;\n let eventTag = getEventTag(eventName);\n this._events = this._events.filter((event) => {\n if (event.tag !== eventTag || event.listener != listener) {\n return true;\n }\n if (found) {\n return true;\n }\n found = true;\n stopped.push(event);\n return false;\n });\n stopped.forEach((event) => { this._stopEvent(event); });\n return this;\n }\n removeAllListeners(eventName) {\n let stopped = [];\n if (eventName == null) {\n stopped = this._events;\n this._events = [];\n }\n else {\n const eventTag = getEventTag(eventName);\n this._events = this._events.filter((event) => {\n if (event.tag !== eventTag) {\n return true;\n }\n stopped.push(event);\n return false;\n });\n }\n stopped.forEach((event) => { this._stopEvent(event); });\n return this;\n }\n}\n//# sourceMappingURL=base-provider.js.map","\"use strict\";\n\nimport {\n Block, BlockTag, BlockWithTransactions, EventType, Filter, FilterByBlockHash, ForkEvent,\n Listener, Log, Provider, TransactionReceipt, TransactionRequest, TransactionResponse\n} from \"@ethersproject/abstract-provider\";\nimport { encode as base64Encode } from \"@ethersproject/base64\";\nimport { Base58 } from \"@ethersproject/basex\";\nimport { BigNumber, BigNumberish } from \"@ethersproject/bignumber\";\nimport { arrayify, BytesLike, concat, hexConcat, hexDataLength, hexDataSlice, hexlify, hexValue, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { HashZero } from \"@ethersproject/constants\";\nimport { dnsEncode, namehash } from \"@ethersproject/hash\";\nimport { getNetwork, Network, Networkish } from \"@ethersproject/networks\";\nimport { Deferrable, defineReadOnly, getStatic, resolveProperties } from \"@ethersproject/properties\";\nimport { Transaction } from \"@ethersproject/transactions\";\nimport { sha256 } from \"@ethersproject/sha2\";\nimport { toUtf8Bytes, toUtf8String } from \"@ethersproject/strings\";\nimport { fetchJson, poll } from \"@ethersproject/web\";\n\nimport bech32 from \"bech32\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { Formatter } from \"./formatter\";\n\nconst MAX_CCIP_REDIRECTS = 10;\n\n//////////////////////////////\n// Event Serializeing\n\nfunction checkTopic(topic: string): string {\n if (topic == null) { return \"null\"; }\n if (hexDataLength(topic) !== 32) {\n logger.throwArgumentError(\"invalid topic\", \"topic\", topic);\n }\n return topic.toLowerCase();\n}\n\nfunction serializeTopics(topics: Array>): string {\n // Remove trailing null AND-topics; they are redundant\n topics = topics.slice();\n while (topics.length > 0 && topics[topics.length - 1] == null) { topics.pop(); }\n\n return topics.map((topic) => {\n if (Array.isArray(topic)) {\n\n // Only track unique OR-topics\n const unique: { [ topic: string ]: boolean } = { }\n topic.forEach((topic) => {\n unique[checkTopic(topic)] = true;\n });\n\n // The order of OR-topics does not matter\n const sorted = Object.keys(unique);\n sorted.sort();\n\n return sorted.join(\"|\");\n\n } else {\n return checkTopic(topic);\n }\n }).join(\"&\");\n}\n\nfunction deserializeTopics(data: string): Array> {\n if (data === \"\") { return [ ]; }\n\n return data.split(/&/g).map((topic) => {\n if (topic === \"\") { return [ ]; }\n\n const comps = topic.split(\"|\").map((topic) => {\n return ((topic === \"null\") ? null: topic);\n });\n\n return ((comps.length === 1) ? comps[0]: comps);\n });\n}\n\nfunction getEventTag(eventName: EventType): string {\n if (typeof(eventName) === \"string\") {\n eventName = eventName.toLowerCase();\n\n if (hexDataLength(eventName) === 32) {\n return \"tx:\" + eventName;\n }\n\n if (eventName.indexOf(\":\") === -1) {\n return eventName;\n }\n\n } else if (Array.isArray(eventName)) {\n return \"filter:*:\" + serializeTopics(eventName);\n\n } else if (ForkEvent.isForkEvent(eventName)) {\n logger.warn(\"not implemented\");\n throw new Error(\"not implemented\");\n\n } else if (eventName && typeof(eventName) === \"object\") {\n return \"filter:\" + (eventName.address || \"*\") + \":\" + serializeTopics(eventName.topics || []);\n }\n\n throw new Error(\"invalid event - \" + eventName);\n}\n\n//////////////////////////////\n// Helper Object\n\nfunction getTime() {\n return (new Date()).getTime();\n}\n\nfunction stall(duration: number): Promise {\n return new Promise((resolve) => {\n setTimeout(resolve, duration);\n });\n}\n\n//////////////////////////////\n// Provider Object\n\n\n/**\n * EventType\n * - \"block\"\n * - \"poll\"\n * - \"didPoll\"\n * - \"pending\"\n * - \"error\"\n * - \"network\"\n * - filter\n * - topics array\n * - transaction hash\n */\n\nconst PollableEvents = [ \"block\", \"network\", \"pending\", \"poll\" ];\n\nexport class Event {\n readonly listener: Listener;\n readonly once: boolean;\n readonly tag: string;\n\n _lastBlockNumber: number\n _inflight: boolean;\n\n constructor(tag: string, listener: Listener, once: boolean) {\n defineReadOnly(this, \"tag\", tag);\n defineReadOnly(this, \"listener\", listener);\n defineReadOnly(this, \"once\", once);\n\n this._lastBlockNumber = -2;\n this._inflight = false;\n }\n\n get event(): EventType {\n switch (this.type) {\n case \"tx\":\n return this.hash;\n case \"filter\":\n return this.filter;\n }\n return this.tag;\n }\n\n get type(): string {\n return this.tag.split(\":\")[0]\n }\n\n get hash(): string {\n const comps = this.tag.split(\":\");\n if (comps[0] !== \"tx\") { return null; }\n return comps[1];\n }\n\n get filter(): Filter {\n const comps = this.tag.split(\":\");\n if (comps[0] !== \"filter\") { return null; }\n const address = comps[1];\n\n const topics = deserializeTopics(comps[2]);\n const filter: Filter = { };\n\n if (topics.length > 0) { filter.topics = topics; }\n if (address && address !== \"*\") { filter.address = address; }\n\n return filter;\n }\n\n pollable(): boolean {\n return (this.tag.indexOf(\":\") >= 0 || PollableEvents.indexOf(this.tag) >= 0);\n }\n}\n\nexport interface EnsResolver {\n\n // Name this Resolver is associated with\n readonly name: string;\n\n // The address of the resolver\n readonly address: string;\n\n // Multichain address resolution (also normal address resolution)\n // See: https://eips.ethereum.org/EIPS/eip-2304\n getAddress(coinType?: 60): Promise\n\n // Contenthash field\n // See: https://eips.ethereum.org/EIPS/eip-1577\n getContentHash(): Promise;\n\n // Storage of text records\n // See: https://eips.ethereum.org/EIPS/eip-634\n getText(key: string): Promise;\n};\n\nexport interface EnsProvider {\n resolveName(name: string): Promise;\n lookupAddress(address: string): Promise;\n getResolver(name: string): Promise;\n}\n\ntype CoinInfo = {\n symbol: string,\n ilk?: string, // General family\n prefix?: string, // Bech32 prefix\n p2pkh?: number, // Pay-to-Public-Key-Hash Version\n p2sh?: number, // Pay-to-Script-Hash Version\n};\n\n// https://github.com/satoshilabs/slips/blob/master/slip-0044.md\nconst coinInfos: { [ coinType: string ]: CoinInfo } = {\n \"0\": { symbol: \"btc\", p2pkh: 0x00, p2sh: 0x05, prefix: \"bc\" },\n \"2\": { symbol: \"ltc\", p2pkh: 0x30, p2sh: 0x32, prefix: \"ltc\" },\n \"3\": { symbol: \"doge\", p2pkh: 0x1e, p2sh: 0x16 },\n \"60\": { symbol: \"eth\", ilk: \"eth\" },\n \"61\": { symbol: \"etc\", ilk: \"eth\" },\n \"700\": { symbol: \"xdai\", ilk: \"eth\" },\n};\n\nfunction bytes32ify(value: number): string {\n return hexZeroPad(BigNumber.from(value).toHexString(), 32);\n}\n\n// Compute the Base58Check encoded data (checksum is first 4 bytes of sha256d)\nfunction base58Encode(data: Uint8Array): string {\n return Base58.encode(concat([ data, hexDataSlice(sha256(sha256(data)), 0, 4) ]));\n}\n\nexport interface Avatar {\n url: string;\n linkage: Array<{ type: string, content: string }>;\n}\n\nconst matcherIpfs = new RegExp(\"^(ipfs):/\\/(.*)$\", \"i\");\nconst matchers = [\n new RegExp(\"^(https):/\\/(.*)$\", \"i\"),\n new RegExp(\"^(data):(.*)$\", \"i\"),\n matcherIpfs,\n new RegExp(\"^eip155:[0-9]+/(erc[0-9]+):(.*)$\", \"i\"),\n];\n\nfunction _parseString(result: string, start: number): null | string {\n try {\n return toUtf8String(_parseBytes(result, start));\n } catch(error) { }\n return null;\n}\n\nfunction _parseBytes(result: string, start: number): null | string {\n if (result === \"0x\") { return null; }\n\n const offset = BigNumber.from(hexDataSlice(result, start, start + 32)).toNumber();\n const length = BigNumber.from(hexDataSlice(result, offset, offset + 32)).toNumber();\n\n return hexDataSlice(result, offset + 32, offset + 32 + length);\n}\n\n// Trim off the ipfs:// prefix and return the default gateway URL\nfunction getIpfsLink(link: string): string {\n if (link.match(/^ipfs:\\/\\/ipfs\\//i)) {\n link = link.substring(12);\n } else if (link.match(/^ipfs:\\/\\//i)) {\n link = link.substring(7);\n } else {\n logger.throwArgumentError(\"unsupported IPFS format\", \"link\", link);\n }\n\n return `https:/\\/gateway.ipfs.io/ipfs/${ link }`;\n}\n\nfunction numPad(value: number): Uint8Array {\n const result = arrayify(value);\n if (result.length > 32) { throw new Error(\"internal; should not happen\"); }\n\n const padded = new Uint8Array(32);\n padded.set(result, 32 - result.length);\n return padded;\n}\n\nfunction bytesPad(value: Uint8Array): Uint8Array {\n if ((value.length % 32) === 0) { return value; }\n\n const result = new Uint8Array(Math.ceil(value.length / 32) * 32);\n result.set(value);\n return result;\n}\n\n// ABI Encodes a series of (bytes, bytes, ...)\nfunction encodeBytes(datas: Array) {\n const result: Array = [ ];\n\n let byteCount = 0;\n\n // Add place-holders for pointers as we add items\n for (let i = 0; i < datas.length; i++) {\n result.push(null);\n byteCount += 32;\n }\n\n for (let i = 0; i < datas.length; i++) {\n const data = arrayify(datas[i]);\n\n // Update the bytes offset\n result[i] = numPad(byteCount);\n\n // The length and padded value of data\n result.push(numPad(data.length));\n result.push(bytesPad(data));\n byteCount += 32 + Math.ceil(data.length / 32) * 32;\n }\n\n return hexConcat(result);\n}\n\nexport class Resolver implements EnsResolver {\n readonly provider: BaseProvider;\n\n readonly name: string;\n readonly address: string;\n\n readonly _resolvedAddress: null | string;\n\n // For EIP-2544 names, the ancestor that provided the resolver\n _supportsEip2544: null | Promise;\n\n // The resolvedAddress is only for creating a ReverseLookup resolver\n constructor(provider: BaseProvider, address: string, name: string, resolvedAddress?: string) {\n defineReadOnly(this, \"provider\", provider);\n defineReadOnly(this, \"name\", name);\n defineReadOnly(this, \"address\", provider.formatter.address(address));\n defineReadOnly(this, \"_resolvedAddress\", resolvedAddress);\n }\n\n supportsWildcard(): Promise {\n if (!this._supportsEip2544) {\n // supportsInterface(bytes4 = selector(\"resolve(bytes,bytes)\"))\n this._supportsEip2544 = this.provider.call({\n to: this.address,\n data: \"0x01ffc9a79061b92300000000000000000000000000000000000000000000000000000000\"\n }).then((result) => {\n return BigNumber.from(result).eq(1);\n }).catch((error) => {\n if (error.code === Logger.errors.CALL_EXCEPTION) { return false; }\n // Rethrow the error: link is down, etc. Let future attempts retry.\n this._supportsEip2544 = null;\n throw error;\n });\n }\n\n return this._supportsEip2544;\n }\n\n async _fetch(selector: string, parameters?: string): Promise {\n\n // e.g. keccak256(\"addr(bytes32,uint256)\")\n const tx = {\n to: this.address,\n ccipReadEnabled: true,\n data: hexConcat([ selector, namehash(this.name), (parameters || \"0x\") ])\n };\n\n // Wildcard support; use EIP-2544 to resolve the request\n let parseBytes = false;\n if (await this.supportsWildcard()) {\n parseBytes = true;\n\n // selector(\"resolve(bytes,bytes)\")\n tx.data = hexConcat([ \"0x9061b923\", encodeBytes([ dnsEncode(this.name), tx.data ]) ]);\n }\n\n try {\n let result = await this.provider.call(tx);\n if ((arrayify(result).length % 32) === 4) {\n logger.throwError(\"resolver threw error\", Logger.errors.CALL_EXCEPTION, {\n transaction: tx, data: result\n });\n }\n if (parseBytes) { result = _parseBytes(result, 0); }\n return result;\n } catch (error) {\n if (error.code === Logger.errors.CALL_EXCEPTION) { return null; }\n throw error;\n }\n }\n\n async _fetchBytes(selector: string, parameters?: string): Promise {\n const result = await this._fetch(selector, parameters);\n if (result != null) { return _parseBytes(result, 0); }\n return null;\n }\n\n _getAddress(coinType: number, hexBytes: string): string {\n const coinInfo = coinInfos[String(coinType)];\n\n if (coinInfo == null) {\n logger.throwError(`unsupported coin type: ${ coinType }`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: `getAddress(${ coinType })`\n });\n }\n\n if (coinInfo.ilk === \"eth\") {\n return this.provider.formatter.address(hexBytes);\n }\n\n const bytes = arrayify(hexBytes);\n\n // P2PKH: OP_DUP OP_HASH160 OP_EQUALVERIFY OP_CHECKSIG\n if (coinInfo.p2pkh != null) {\n const p2pkh = hexBytes.match(/^0x76a9([0-9a-f][0-9a-f])([0-9a-f]*)88ac$/);\n if (p2pkh) {\n const length = parseInt(p2pkh[1], 16);\n if (p2pkh[2].length === length * 2 && length >= 1 && length <= 75) {\n return base58Encode(concat([ [ coinInfo.p2pkh ], (\"0x\" + p2pkh[2]) ]));\n }\n }\n }\n\n // P2SH: OP_HASH160 OP_EQUAL\n if (coinInfo.p2sh != null) {\n const p2sh = hexBytes.match(/^0xa9([0-9a-f][0-9a-f])([0-9a-f]*)87$/);\n if (p2sh) {\n const length = parseInt(p2sh[1], 16);\n if (p2sh[2].length === length * 2 && length >= 1 && length <= 75) {\n return base58Encode(concat([ [ coinInfo.p2sh ], (\"0x\" + p2sh[2]) ]));\n }\n }\n }\n\n // Bech32\n if (coinInfo.prefix != null) {\n const length = bytes[1];\n\n // https://github.com/bitcoin/bips/blob/master/bip-0141.mediawiki#witness-program\n let version = bytes[0];\n if (version === 0x00) {\n if (length !== 20 && length !== 32) {\n version = -1;\n }\n } else {\n version = -1;\n }\n\n if (version >= 0 && bytes.length === 2 + length && length >= 1 && length <= 75) {\n const words = bech32.toWords(bytes.slice(2));\n words.unshift(version);\n return bech32.encode(coinInfo.prefix, words);\n }\n }\n\n return null;\n }\n\n\n async getAddress(coinType?: number): Promise {\n if (coinType == null) { coinType = 60; }\n\n // If Ethereum, use the standard `addr(bytes32)`\n if (coinType === 60) {\n try {\n // keccak256(\"addr(bytes32)\")\n const result = await this._fetch(\"0x3b3b57de\");\n\n // No address\n if (result === \"0x\" || result === HashZero) { return null; }\n\n return this.provider.formatter.callAddress(result);\n } catch (error) {\n if (error.code === Logger.errors.CALL_EXCEPTION) { return null; }\n throw error;\n }\n }\n\n // keccak256(\"addr(bytes32,uint256\")\n const hexBytes = await this._fetchBytes(\"0xf1cb7e06\", bytes32ify(coinType));\n\n // No address\n if (hexBytes == null || hexBytes === \"0x\") { return null; }\n\n // Compute the address\n const address = this._getAddress(coinType, hexBytes);\n\n if (address == null) {\n logger.throwError(`invalid or unsupported coin data`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: `getAddress(${ coinType })`,\n coinType: coinType,\n data: hexBytes\n });\n }\n\n return address;\n }\n\n async getAvatar(): Promise {\n const linkage: Array<{ type: string, content: string }> = [ { type: \"name\", content: this.name } ];\n try {\n // test data for ricmoo.eth\n //const avatar = \"eip155:1/erc721:0x265385c7f4132228A0d54EB1A9e7460b91c0cC68/29233\";\n const avatar = await this.getText(\"avatar\");\n if (avatar == null) { return null; }\n\n for (let i = 0; i < matchers.length; i++) {\n const match = avatar.match(matchers[i]);\n if (match == null) { continue; }\n\n const scheme = match[1].toLowerCase();\n\n switch (scheme) {\n case \"https\":\n linkage.push({ type: \"url\", content: avatar });\n return { linkage, url: avatar };\n\n case \"data\":\n linkage.push({ type: \"data\", content: avatar });\n return { linkage, url: avatar };\n\n case \"ipfs\":\n linkage.push({ type: \"ipfs\", content: avatar });\n return { linkage, url: getIpfsLink(avatar) };\n\n case \"erc721\":\n case \"erc1155\": {\n // Depending on the ERC type, use tokenURI(uint256) or url(uint256)\n const selector = (scheme === \"erc721\") ? \"0xc87b56dd\": \"0x0e89341c\";\n linkage.push({ type: scheme, content: avatar });\n\n // The owner of this name\n const owner = (this._resolvedAddress || await this.getAddress());\n\n const comps = (match[2] || \"\").split(\"/\");\n if (comps.length !== 2) { return null; }\n\n const addr = await this.provider.formatter.address(comps[0]);\n const tokenId = hexZeroPad(BigNumber.from(comps[1]).toHexString(), 32);\n\n // Check that this account owns the token\n if (scheme === \"erc721\") {\n // ownerOf(uint256 tokenId)\n const tokenOwner = this.provider.formatter.callAddress(await this.provider.call({\n to: addr, data: hexConcat([ \"0x6352211e\", tokenId ])\n }));\n if (owner !== tokenOwner) { return null; }\n linkage.push({ type: \"owner\", content: tokenOwner });\n\n } else if (scheme === \"erc1155\") {\n // balanceOf(address owner, uint256 tokenId)\n const balance = BigNumber.from(await this.provider.call({\n to: addr, data: hexConcat([ \"0x00fdd58e\", hexZeroPad(owner, 32), tokenId ])\n }));\n if (balance.isZero()) { return null; }\n linkage.push({ type: \"balance\", content: balance.toString() });\n }\n\n // Call the token contract for the metadata URL\n const tx = {\n to: this.provider.formatter.address(comps[0]),\n data: hexConcat([ selector, tokenId ])\n };\n\n let metadataUrl = _parseString(await this.provider.call(tx), 0);\n if (metadataUrl == null) { return null; }\n linkage.push({ type: \"metadata-url-base\", content: metadataUrl });\n\n // ERC-1155 allows a generic {id} in the URL\n if (scheme === \"erc1155\") {\n metadataUrl = metadataUrl.replace(\"{id}\", tokenId.substring(2));\n linkage.push({ type: \"metadata-url-expanded\", content: metadataUrl });\n }\n\n // Transform IPFS metadata links\n if (metadataUrl.match(/^ipfs:/i)) {\n metadataUrl = getIpfsLink(metadataUrl);\n }\n\n linkage.push({ type: \"metadata-url\", content: metadataUrl });\n\n // Get the token metadata\n const metadata = await fetchJson(metadataUrl);\n if (!metadata) { return null; }\n linkage.push({ type: \"metadata\", content: JSON.stringify(metadata) });\n\n // Pull the image URL out\n let imageUrl = metadata.image;\n if (typeof(imageUrl) !== \"string\") { return null; }\n\n if (imageUrl.match(/^(https:\\/\\/|data:)/i)) {\n // Allow\n } else {\n // Transform IPFS link to gateway\n const ipfs = imageUrl.match(matcherIpfs);\n if (ipfs == null) { return null; }\n\n linkage.push({ type: \"url-ipfs\", content: imageUrl });\n imageUrl = getIpfsLink(imageUrl);\n }\n\n linkage.push({ type: \"url\", content: imageUrl });\n\n return { linkage, url: imageUrl };\n }\n }\n }\n } catch (error) { }\n\n return null;\n }\n\n async getContentHash(): Promise {\n\n // keccak256(\"contenthash()\")\n const hexBytes = await this._fetchBytes(\"0xbc1c58d1\");\n\n // No contenthash\n if (hexBytes == null || hexBytes === \"0x\") { return null; }\n\n // IPFS (CID: 1, Type: DAG-PB)\n const ipfs = hexBytes.match(/^0xe3010170(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);\n if (ipfs) {\n const length = parseInt(ipfs[3], 16);\n if (ipfs[4].length === length * 2) {\n return \"ipfs:/\\/\" + Base58.encode(\"0x\" + ipfs[1]);\n }\n }\n\n // IPNS (CID: 1, Type: libp2p-key)\n const ipns = hexBytes.match(/^0xe5010172(([0-9a-f][0-9a-f])([0-9a-f][0-9a-f])([0-9a-f]*))$/);\n if (ipns) {\n const length = parseInt(ipns[3], 16);\n if (ipns[4].length === length * 2) {\n return \"ipns:/\\/\" + Base58.encode(\"0x\" + ipns[1]);\n }\n }\n\n // Swarm (CID: 1, Type: swarm-manifest; hash/length hard-coded to keccak256/32)\n const swarm = hexBytes.match(/^0xe40101fa011b20([0-9a-f]*)$/)\n if (swarm) {\n if (swarm[1].length === (32 * 2)) {\n return \"bzz:/\\/\" + swarm[1]\n }\n }\n\n const skynet = hexBytes.match(/^0x90b2c605([0-9a-f]*)$/);\n if (skynet) {\n if (skynet[1].length === (34 * 2)) {\n // URL Safe base64; https://datatracker.ietf.org/doc/html/rfc4648#section-5\n const urlSafe: Record = { \"=\": \"\", \"+\": \"-\", \"/\": \"_\" };\n const hash = base64Encode(\"0x\" + skynet[1]).replace(/[=+\\/]/g, (a) => (urlSafe[a]));\n return \"sia:/\\/\" + hash;\n }\n }\n\n return logger.throwError(`invalid or unsupported content hash data`, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"getContentHash()\",\n data: hexBytes\n });\n }\n\n async getText(key: string): Promise {\n\n // The key encoded as parameter to fetchBytes\n let keyBytes = toUtf8Bytes(key);\n\n // The nodehash consumes the first slot, so the string pointer targets\n // offset 64, with the length at offset 64 and data starting at offset 96\n keyBytes = concat([ bytes32ify(64), bytes32ify(keyBytes.length), keyBytes ]);\n\n // Pad to word-size (32 bytes)\n if ((keyBytes.length % 32) !== 0) {\n keyBytes = concat([ keyBytes, hexZeroPad(\"0x\", 32 - (key.length % 32)) ])\n }\n\n const hexBytes = await this._fetchBytes(\"0x59d1d43c\", hexlify(keyBytes));\n if (hexBytes == null || hexBytes === \"0x\") { return null; }\n\n return toUtf8String(hexBytes);\n }\n}\n\nlet defaultFormatter: Formatter = null;\n\nlet nextPollId = 1;\n\nexport class BaseProvider extends Provider implements EnsProvider {\n _networkPromise: Promise;\n _network: Network;\n\n _events: Array;\n\n formatter: Formatter;\n\n // To help mitigate the eventually consistent nature of the blockchain\n // we keep a mapping of events we emit. If we emit an event X, we expect\n // that a user should be able to query for that event in the callback,\n // if the node returns null, we stall the response until we get back a\n // meaningful value, since we may be hitting a re-org, or a node that\n // has not indexed the event yet.\n // Events:\n // - t:{hash} - Transaction hash\n // - b:{hash} - BlockHash\n // - block - The most recent emitted block\n _emitted: { [ eventName: string ]: number | \"pending\" };\n\n _pollingInterval: number;\n _poller: NodeJS.Timer;\n _bootstrapPoll: NodeJS.Timer;\n\n _lastBlockNumber: number;\n _maxFilterBlockRange: number;\n\n _fastBlockNumber: number;\n _fastBlockNumberPromise: Promise;\n _fastQueryDate: number;\n\n _maxInternalBlockNumber: number;\n _internalBlockNumber: Promise<{ blockNumber: number, reqTime: number, respTime: number }>;\n\n readonly anyNetwork: boolean;\n\n disableCcipRead: boolean;\n\n\n /**\n * ready\n *\n * A Promise that resolves only once the provider is ready.\n *\n * Sub-classes that call the super with a network without a chainId\n * MUST set this. Standard named networks have a known chainId.\n *\n */\n\n constructor(network: Networkish | Promise) {\n super();\n\n // Events being listened to\n this._events = [];\n\n this._emitted = { block: -2 };\n\n this.disableCcipRead = false;\n\n this.formatter = new.target.getFormatter();\n\n // If network is any, this Provider allows the underlying\n // network to change dynamically, and we auto-detect the\n // current network\n defineReadOnly(this, \"anyNetwork\", (network === \"any\"));\n if (this.anyNetwork) { network = this.detectNetwork(); }\n\n if (network instanceof Promise) {\n this._networkPromise = network;\n\n // Squash any \"unhandled promise\" errors; that do not need to be handled\n network.catch((error) => { });\n\n // Trigger initial network setting (async)\n this._ready().catch((error) => { });\n\n } else {\n const knownNetwork = getStatic<(network: Networkish) => Network>(new.target, \"getNetwork\")(network);\n if (knownNetwork) {\n defineReadOnly(this, \"_network\", knownNetwork);\n this.emit(\"network\", knownNetwork, null);\n\n } else {\n logger.throwArgumentError(\"invalid network\", \"network\", network);\n }\n }\n\n this._maxInternalBlockNumber = -1024;\n\n this._lastBlockNumber = -2;\n this._maxFilterBlockRange = 10;\n\n this._pollingInterval = 4000;\n\n this._fastQueryDate = 0;\n }\n\n async _ready(): Promise {\n if (this._network == null) {\n let network: Network = null;\n if (this._networkPromise) {\n try {\n network = await this._networkPromise;\n } catch (error) { }\n }\n\n // Try the Provider's network detection (this MUST throw if it cannot)\n if (network == null) {\n network = await this.detectNetwork();\n }\n\n // This should never happen; every Provider sub-class should have\n // suggested a network by here (or have thrown).\n if (!network) {\n logger.throwError(\"no network detected\", Logger.errors.UNKNOWN_ERROR, { });\n }\n\n // Possible this call stacked so do not call defineReadOnly again\n if (this._network == null) {\n if (this.anyNetwork) {\n this._network = network;\n } else {\n defineReadOnly(this, \"_network\", network);\n }\n this.emit(\"network\", network, null);\n }\n }\n\n return this._network;\n }\n\n // This will always return the most recently established network.\n // For \"any\", this can change (a \"network\" event is emitted before\n // any change is reflected); otherwise this cannot change\n get ready(): Promise {\n return poll(() => {\n return this._ready().then((network) => {\n return network;\n }, (error) => {\n // If the network isn't running yet, we will wait\n if (error.code === Logger.errors.NETWORK_ERROR && error.event === \"noNetwork\") {\n return undefined;\n }\n throw error;\n });\n });\n }\n\n // @TODO: Remove this and just create a singleton formatter\n static getFormatter(): Formatter {\n if (defaultFormatter == null) {\n defaultFormatter = new Formatter();\n }\n return defaultFormatter;\n }\n\n // @TODO: Remove this and just use getNetwork\n static getNetwork(network: Networkish): Network {\n return getNetwork((network == null) ? \"homestead\": network);\n }\n\n async ccipReadFetch(tx: Transaction, calldata: string, urls: Array): Promise {\n if (this.disableCcipRead || urls.length === 0) { return null; }\n\n const sender = tx.to.toLowerCase();\n const data = calldata.toLowerCase();\n\n const errorMessages: Array = [ ];\n\n for (let i = 0; i < urls.length; i++) {\n const url = urls[i];\n\n // URL expansion\n const href = url.replace(\"{sender}\", sender).replace(\"{data}\", data);\n\n // If no {data} is present, use POST; otherwise GET\n const json: string | null = (url.indexOf(\"{data}\") >= 0) ? null: JSON.stringify({ data, sender });\n\n const result = await fetchJson({ url: href, errorPassThrough: true }, json, (value, response) => {\n value.status = response.statusCode;\n return value;\n });\n\n if (result.data) { return result.data; }\n\n const errorMessage = (result.message || \"unknown error\");\n\n // 4xx indicates the result is not present; stop\n if (result.status >= 400 && result.status < 500) {\n return logger.throwError(`response not found during CCIP fetch: ${ errorMessage }`, Logger.errors.SERVER_ERROR, { url, errorMessage });\n }\n\n // 5xx indicates server issue; try the next url\n errorMessages.push(errorMessage);\n }\n\n return logger.throwError(`error encountered during CCIP fetch: ${ errorMessages.map((m) => JSON.stringify(m)).join(\", \") }`, Logger.errors.SERVER_ERROR, {\n urls, errorMessages\n });\n }\n\n // Fetches the blockNumber, but will reuse any result that is less\n // than maxAge old or has been requested since the last request\n async _getInternalBlockNumber(maxAge: number): Promise {\n await this._ready();\n\n // Allowing stale data up to maxAge old\n if (maxAge > 0) {\n\n // While there are pending internal block requests...\n while (this._internalBlockNumber) {\n\n // ...\"remember\" which fetch we started with\n const internalBlockNumber = this._internalBlockNumber;\n\n try {\n // Check the result is not too stale\n const result = await internalBlockNumber;\n if ((getTime() - result.respTime) <= maxAge) {\n return result.blockNumber;\n }\n\n // Too old; fetch a new value\n break;\n\n } catch(error) {\n\n // The fetch rejected; if we are the first to get the\n // rejection, drop through so we replace it with a new\n // fetch; all others blocked will then get that fetch\n // which won't match the one they \"remembered\" and loop\n if (this._internalBlockNumber === internalBlockNumber) {\n break;\n }\n }\n }\n }\n\n const reqTime = getTime();\n\n const checkInternalBlockNumber = resolveProperties({\n blockNumber: this.perform(\"getBlockNumber\", { }),\n networkError: this.getNetwork().then((network) => (null), (error) => (error))\n }).then(({ blockNumber, networkError }) => {\n if (networkError) {\n // Unremember this bad internal block number\n if (this._internalBlockNumber === checkInternalBlockNumber) {\n this._internalBlockNumber = null;\n }\n throw networkError;\n }\n\n const respTime = getTime();\n\n blockNumber = BigNumber.from(blockNumber).toNumber();\n if (blockNumber < this._maxInternalBlockNumber) { blockNumber = this._maxInternalBlockNumber; }\n\n this._maxInternalBlockNumber = blockNumber;\n this._setFastBlockNumber(blockNumber); // @TODO: Still need this?\n return { blockNumber, reqTime, respTime };\n });\n\n this._internalBlockNumber = checkInternalBlockNumber;\n\n // Swallow unhandled exceptions; if needed they are handled else where\n checkInternalBlockNumber.catch((error) => {\n // Don't null the dead (rejected) fetch, if it has already been updated\n if (this._internalBlockNumber === checkInternalBlockNumber) {\n this._internalBlockNumber = null;\n }\n });\n\n return (await checkInternalBlockNumber).blockNumber;\n }\n\n async poll(): Promise {\n const pollId = nextPollId++;\n\n // Track all running promises, so we can trigger a post-poll once they are complete\n const runners: Array> = [];\n\n let blockNumber: number = null;\n try {\n blockNumber = await this._getInternalBlockNumber(100 + this.pollingInterval / 2);\n } catch (error) {\n this.emit(\"error\", error);\n return;\n }\n this._setFastBlockNumber(blockNumber);\n\n // Emit a poll event after we have the latest (fast) block number\n this.emit(\"poll\", pollId, blockNumber);\n\n // If the block has not changed, meh.\n if (blockNumber === this._lastBlockNumber) {\n this.emit(\"didPoll\", pollId);\n return;\n }\n\n // First polling cycle, trigger a \"block\" events\n if (this._emitted.block === -2) {\n this._emitted.block = blockNumber - 1;\n }\n\n if (Math.abs(((this._emitted.block)) - blockNumber) > 1000) {\n logger.warn(`network block skew detected; skipping block events (emitted=${ this._emitted.block } blockNumber${ blockNumber })`);\n this.emit(\"error\", logger.makeError(\"network block skew detected\", Logger.errors.NETWORK_ERROR, {\n blockNumber: blockNumber,\n event: \"blockSkew\",\n previousBlockNumber: this._emitted.block\n }));\n this.emit(\"block\", blockNumber);\n\n } else {\n // Notify all listener for each block that has passed\n for (let i = (this._emitted.block) + 1; i <= blockNumber; i++) {\n this.emit(\"block\", i);\n }\n }\n\n // The emitted block was updated, check for obsolete events\n if ((this._emitted.block) !== blockNumber) {\n this._emitted.block = blockNumber;\n\n Object.keys(this._emitted).forEach((key) => {\n // The block event does not expire\n if (key === \"block\") { return; }\n\n // The block we were at when we emitted this event\n const eventBlockNumber = this._emitted[key];\n\n // We cannot garbage collect pending transactions or blocks here\n // They should be garbage collected by the Provider when setting\n // \"pending\" events\n if (eventBlockNumber === \"pending\") { return; }\n\n // Evict any transaction hashes or block hashes over 12 blocks\n // old, since they should not return null anyways\n if (blockNumber - eventBlockNumber > 12) {\n delete this._emitted[key];\n }\n });\n }\n\n // First polling cycle\n if (this._lastBlockNumber === -2) {\n this._lastBlockNumber = blockNumber - 1;\n }\n // Find all transaction hashes we are waiting on\n this._events.forEach((event) => {\n switch (event.type) {\n case \"tx\": {\n const hash = event.hash;\n let runner = this.getTransactionReceipt(hash).then((receipt) => {\n if (!receipt || receipt.blockNumber == null) { return null; }\n this._emitted[\"t:\" + hash] = receipt.blockNumber;\n this.emit(hash, receipt);\n return null;\n }).catch((error: Error) => { this.emit(\"error\", error); });\n\n runners.push(runner);\n\n break;\n }\n\n case \"filter\": {\n // We only allow a single getLogs to be in-flight at a time\n if (!event._inflight) {\n event._inflight = true;\n\n // This is the first filter for this event, so we want to\n // restrict events to events that happened no earlier than now\n if (event._lastBlockNumber === -2) {\n event._lastBlockNumber = blockNumber - 1;\n }\n\n // Filter from the last *known* event; due to load-balancing\n // and some nodes returning updated block numbers before\n // indexing events, a logs result with 0 entries cannot be\n // trusted and we must retry a range which includes it again\n const filter = event.filter;\n filter.fromBlock = event._lastBlockNumber + 1;\n filter.toBlock = blockNumber;\n\n // Prevent fitler ranges from growing too wild, since it is quite\n // likely there just haven't been any events to move the lastBlockNumber.\n const minFromBlock = filter.toBlock - this._maxFilterBlockRange;\n if (minFromBlock > filter.fromBlock) { filter.fromBlock = minFromBlock; }\n\n if (filter.fromBlock < 0) { filter.fromBlock = 0; }\n\n const runner = this.getLogs(filter).then((logs) => {\n // Allow the next getLogs\n event._inflight = false;\n\n if (logs.length === 0) { return; }\n\n logs.forEach((log: Log) => {\n // Only when we get an event for a given block number\n // can we trust the events are indexed\n if (log.blockNumber > event._lastBlockNumber) {\n event._lastBlockNumber = log.blockNumber;\n }\n\n // Make sure we stall requests to fetch blocks and txs\n this._emitted[\"b:\" + log.blockHash] = log.blockNumber;\n this._emitted[\"t:\" + log.transactionHash] = log.blockNumber;\n\n this.emit(filter, log);\n });\n }).catch((error: Error) => {\n this.emit(\"error\", error);\n\n // Allow another getLogs (the range was not updated)\n event._inflight = false;\n });\n runners.push(runner);\n }\n\n break;\n }\n }\n });\n\n this._lastBlockNumber = blockNumber;\n\n // Once all events for this loop have been processed, emit \"didPoll\"\n Promise.all(runners).then(() => {\n this.emit(\"didPoll\", pollId);\n }).catch((error) => { this.emit(\"error\", error); });\n\n return;\n }\n\n // Deprecated; do not use this\n resetEventsBlock(blockNumber: number): void {\n this._lastBlockNumber = blockNumber - 1;\n if (this.polling) { this.poll(); }\n }\n\n get network(): Network {\n return this._network;\n }\n\n // This method should query the network if the underlying network\n // can change, such as when connected to a JSON-RPC backend\n async detectNetwork(): Promise {\n return logger.throwError(\"provider does not support network detection\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"provider.detectNetwork\"\n });\n }\n\n async getNetwork(): Promise {\n const network = await this._ready();\n\n // Make sure we are still connected to the same network; this is\n // only an external call for backends which can have the underlying\n // network change spontaneously\n const currentNetwork = await this.detectNetwork();\n if (network.chainId !== currentNetwork.chainId) {\n\n // We are allowing network changes, things can get complex fast;\n // make sure you know what you are doing if you use \"any\"\n if (this.anyNetwork) {\n this._network = currentNetwork;\n\n // Reset all internal block number guards and caches\n this._lastBlockNumber = -2;\n this._fastBlockNumber = null;\n this._fastBlockNumberPromise = null;\n this._fastQueryDate = 0;\n this._emitted.block = -2;\n this._maxInternalBlockNumber = -1024;\n this._internalBlockNumber = null;\n\n // The \"network\" event MUST happen before this method resolves\n // so any events have a chance to unregister, so we stall an\n // additional event loop before returning from /this/ call\n this.emit(\"network\", currentNetwork, network);\n await stall(0);\n\n return this._network;\n }\n\n const error = logger.makeError(\"underlying network changed\", Logger.errors.NETWORK_ERROR, {\n event: \"changed\",\n network: network,\n detectedNetwork: currentNetwork\n });\n\n this.emit(\"error\", error);\n throw error;\n }\n\n return network;\n }\n\n get blockNumber(): number {\n this._getInternalBlockNumber(100 + this.pollingInterval / 2).then((blockNumber) => {\n this._setFastBlockNumber(blockNumber);\n }, (error) => { });\n\n return (this._fastBlockNumber != null) ? this._fastBlockNumber: -1;\n }\n\n get polling(): boolean {\n return (this._poller != null);\n }\n\n set polling(value: boolean) {\n if (value && !this._poller) {\n this._poller = setInterval(() => { this.poll(); }, this.pollingInterval);\n\n if (!this._bootstrapPoll) {\n this._bootstrapPoll = setTimeout(() => {\n this.poll();\n\n // We block additional polls until the polling interval\n // is done, to prevent overwhelming the poll function\n this._bootstrapPoll = setTimeout(() => {\n // If polling was disabled, something may require a poke\n // since starting the bootstrap poll and it was disabled\n if (!this._poller) { this.poll(); }\n\n // Clear out the bootstrap so we can do another\n this._bootstrapPoll = null;\n }, this.pollingInterval);\n }, 0);\n }\n\n } else if (!value && this._poller) {\n clearInterval(this._poller);\n this._poller = null;\n }\n }\n\n get pollingInterval(): number {\n return this._pollingInterval;\n }\n\n set pollingInterval(value: number) {\n if (typeof(value) !== \"number\" || value <= 0 || parseInt(String(value)) != value) {\n throw new Error(\"invalid polling interval\");\n }\n\n this._pollingInterval = value;\n\n if (this._poller) {\n clearInterval(this._poller);\n this._poller = setInterval(() => { this.poll(); }, this._pollingInterval);\n }\n }\n\n _getFastBlockNumber(): Promise {\n const now = getTime();\n\n // Stale block number, request a newer value\n if ((now - this._fastQueryDate) > 2 * this._pollingInterval) {\n this._fastQueryDate = now;\n this._fastBlockNumberPromise = this.getBlockNumber().then((blockNumber) => {\n if (this._fastBlockNumber == null || blockNumber > this._fastBlockNumber) {\n this._fastBlockNumber = blockNumber;\n }\n return this._fastBlockNumber;\n });\n }\n\n return this._fastBlockNumberPromise;\n }\n\n _setFastBlockNumber(blockNumber: number): void {\n // Older block, maybe a stale request\n if (this._fastBlockNumber != null && blockNumber < this._fastBlockNumber) { return; }\n\n // Update the time we updated the blocknumber\n this._fastQueryDate = getTime();\n\n // Newer block number, use it\n if (this._fastBlockNumber == null || blockNumber > this._fastBlockNumber) {\n this._fastBlockNumber = blockNumber;\n this._fastBlockNumberPromise = Promise.resolve(blockNumber);\n }\n }\n\n async waitForTransaction(transactionHash: string, confirmations?: number, timeout?: number): Promise {\n return this._waitForTransaction(transactionHash, (confirmations == null) ? 1: confirmations, timeout || 0, null);\n }\n\n async _waitForTransaction(transactionHash: string, confirmations: number, timeout: number, replaceable: { data: string, from: string, nonce: number, to: string, value: BigNumber, startBlock: number }): Promise {\n const receipt = await this.getTransactionReceipt(transactionHash);\n\n // Receipt is already good\n if ((receipt ? receipt.confirmations: 0) >= confirmations) { return receipt; }\n\n // Poll until the receipt is good...\n return new Promise((resolve, reject) => {\n const cancelFuncs: Array<() => void> = [];\n\n let done = false;\n const alreadyDone = function() {\n if (done) { return true; }\n done = true;\n cancelFuncs.forEach((func) => { func(); });\n return false;\n };\n\n const minedHandler = (receipt: TransactionReceipt) => {\n if (receipt.confirmations < confirmations) { return; }\n if (alreadyDone()) { return; }\n resolve(receipt);\n }\n this.on(transactionHash, minedHandler);\n cancelFuncs.push(() => { this.removeListener(transactionHash, minedHandler); });\n\n if (replaceable) {\n let lastBlockNumber = replaceable.startBlock;\n let scannedBlock: number = null;\n const replaceHandler = async (blockNumber: number) => {\n if (done) { return; }\n\n // Wait 1 second; this is only used in the case of a fault, so\n // we will trade off a little bit of latency for more consistent\n // results and fewer JSON-RPC calls\n await stall(1000);\n\n this.getTransactionCount(replaceable.from).then(async (nonce) => {\n if (done) { return; }\n\n if (nonce <= replaceable.nonce) {\n lastBlockNumber = blockNumber;\n\n } else {\n // First check if the transaction was mined\n {\n const mined = await this.getTransaction(transactionHash);\n if (mined && mined.blockNumber != null) { return; }\n }\n\n // First time scanning. We start a little earlier for some\n // wiggle room here to handle the eventually consistent nature\n // of blockchain (e.g. the getTransactionCount was for a\n // different block)\n if (scannedBlock == null) {\n scannedBlock = lastBlockNumber - 3;\n if (scannedBlock < replaceable.startBlock) {\n scannedBlock = replaceable.startBlock;\n }\n }\n\n while (scannedBlock <= blockNumber) {\n if (done) { return; }\n\n const block = await this.getBlockWithTransactions(scannedBlock);\n for (let ti = 0; ti < block.transactions.length; ti++) {\n const tx = block.transactions[ti];\n\n // Successfully mined!\n if (tx.hash === transactionHash) { return; }\n\n // Matches our transaction from and nonce; its a replacement\n if (tx.from === replaceable.from && tx.nonce === replaceable.nonce) {\n if (done) { return; }\n\n // Get the receipt of the replacement\n const receipt = await this.waitForTransaction(tx.hash, confirmations);\n\n // Already resolved or rejected (prolly a timeout)\n if (alreadyDone()) { return; }\n\n // The reason we were replaced\n let reason = \"replaced\";\n if (tx.data === replaceable.data && tx.to === replaceable.to && tx.value.eq(replaceable.value)) {\n reason = \"repriced\";\n } else if (tx.data === \"0x\" && tx.from === tx.to && tx.value.isZero()) {\n reason = \"cancelled\"\n }\n\n // Explain why we were replaced\n reject(logger.makeError(\"transaction was replaced\", Logger.errors.TRANSACTION_REPLACED, {\n cancelled: (reason === \"replaced\" || reason === \"cancelled\"),\n reason,\n replacement: this._wrapTransaction(tx),\n hash: transactionHash,\n receipt\n }));\n\n return;\n }\n }\n scannedBlock++;\n }\n }\n\n if (done) { return; }\n this.once(\"block\", replaceHandler);\n\n }, (error) => {\n if (done) { return; }\n this.once(\"block\", replaceHandler);\n });\n };\n\n if (done) { return; }\n this.once(\"block\", replaceHandler);\n\n cancelFuncs.push(() => {\n this.removeListener(\"block\", replaceHandler);\n });\n }\n\n if (typeof(timeout) === \"number\" && timeout > 0) {\n const timer = setTimeout(() => {\n if (alreadyDone()) { return; }\n reject(logger.makeError(\"timeout exceeded\", Logger.errors.TIMEOUT, { timeout: timeout }));\n }, timeout);\n if (timer.unref) { timer.unref(); }\n\n cancelFuncs.push(() => { clearTimeout(timer); });\n }\n });\n }\n\n async getBlockNumber(): Promise {\n return this._getInternalBlockNumber(0);\n }\n\n async getGasPrice(): Promise {\n await this.getNetwork();\n\n const result = await this.perform(\"getGasPrice\", { });\n try {\n return BigNumber.from(result);\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getGasPrice\",\n result, error\n });\n }\n }\n\n async getBalance(addressOrName: string | Promise, blockTag?: BlockTag | Promise): Promise {\n await this.getNetwork();\n const params = await resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n\n const result = await this.perform(\"getBalance\", params);\n try {\n return BigNumber.from(result);\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getBalance\",\n params, result, error\n });\n }\n }\n\n async getTransactionCount(addressOrName: string | Promise, blockTag?: BlockTag | Promise): Promise {\n await this.getNetwork();\n const params = await resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n\n const result = await this.perform(\"getTransactionCount\", params);\n try {\n return BigNumber.from(result).toNumber();\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getTransactionCount\",\n params, result, error\n });\n }\n }\n\n async getCode(addressOrName: string | Promise, blockTag?: BlockTag | Promise): Promise {\n await this.getNetwork();\n const params = await resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag)\n });\n\n const result = await this.perform(\"getCode\", params);\n try {\n return hexlify(result);\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getCode\",\n params, result, error\n });\n }\n }\n\n async getStorageAt(addressOrName: string | Promise, position: BigNumberish | Promise, blockTag?: BlockTag | Promise): Promise {\n await this.getNetwork();\n const params = await resolveProperties({\n address: this._getAddress(addressOrName),\n blockTag: this._getBlockTag(blockTag),\n position: Promise.resolve(position).then((p) => hexValue(p))\n });\n const result = await this.perform(\"getStorageAt\", params);\n try {\n return hexlify(result);\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"getStorageAt\",\n params, result, error\n });\n }\n }\n\n // This should be called by any subclass wrapping a TransactionResponse\n _wrapTransaction(tx: Transaction, hash?: string, startBlock?: number): TransactionResponse {\n if (hash != null && hexDataLength(hash) !== 32) { throw new Error(\"invalid response - sendTransaction\"); }\n\n const result = tx;\n\n // Check the hash we expect is the same as the hash the server reported\n if (hash != null && tx.hash !== hash) {\n logger.throwError(\"Transaction hash mismatch from Provider.sendTransaction.\", Logger.errors.UNKNOWN_ERROR, { expectedHash: tx.hash, returnedHash: hash });\n }\n\n result.wait = async (confirms?: number, timeout?: number) => {\n if (confirms == null) { confirms = 1; }\n if (timeout == null) { timeout = 0; }\n\n // Get the details to detect replacement\n let replacement = undefined;\n if (confirms !== 0 && startBlock != null) {\n replacement = {\n data: tx.data,\n from: tx.from,\n nonce: tx.nonce,\n to: tx.to,\n value: tx.value,\n startBlock\n };\n }\n\n const receipt = await this._waitForTransaction(tx.hash, confirms, timeout, replacement);\n if (receipt == null && confirms === 0) { return null; }\n\n // No longer pending, allow the polling loop to garbage collect this\n this._emitted[\"t:\" + tx.hash] = receipt.blockNumber;\n\n if (receipt.status === 0) {\n logger.throwError(\"transaction failed\", Logger.errors.CALL_EXCEPTION, {\n transactionHash: tx.hash,\n transaction: tx,\n receipt: receipt\n });\n }\n return receipt;\n };\n\n return result;\n }\n\n async sendTransaction(signedTransaction: string | Promise): Promise {\n await this.getNetwork();\n const hexTx = await Promise.resolve(signedTransaction).then(t => hexlify(t));\n const tx = this.formatter.transaction(signedTransaction);\n if (tx.confirmations == null) { tx.confirmations = 0; }\n const blockNumber = await this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n try {\n const hash = await this.perform(\"sendTransaction\", { signedTransaction: hexTx });\n return this._wrapTransaction(tx, hash, blockNumber);\n } catch (error) {\n (error).transaction = tx;\n (error).transactionHash = tx.hash;\n throw error;\n }\n }\n\n async _getTransactionRequest(transaction: Deferrable): Promise {\n const values: any = await transaction;\n\n const tx: any = { };\n\n [\"from\", \"to\"].forEach((key) => {\n if (values[key] == null) { return; }\n tx[key] = Promise.resolve(values[key]).then((v) => (v ? this._getAddress(v): null))\n });\n\n [\"gasLimit\", \"gasPrice\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"value\"].forEach((key) => {\n if (values[key] == null) { return; }\n tx[key] = Promise.resolve(values[key]).then((v) => (v ? BigNumber.from(v): null));\n });\n\n [\"type\"].forEach((key) => {\n if (values[key] == null) { return; }\n tx[key] = Promise.resolve(values[key]).then((v) => ((v != null) ? v: null));\n });\n\n if (values.accessList) {\n tx.accessList = this.formatter.accessList(values.accessList);\n }\n\n [\"data\"].forEach((key) => {\n if (values[key] == null) { return; }\n tx[key] = Promise.resolve(values[key]).then((v) => (v ? hexlify(v): null));\n });\n\n return this.formatter.transactionRequest(await resolveProperties(tx));\n }\n\n async _getFilter(filter: Filter | FilterByBlockHash | Promise): Promise {\n filter = await filter;\n\n const result: any = { };\n\n if (filter.address != null) {\n result.address = this._getAddress(filter.address);\n }\n\n [\"blockHash\", \"topics\"].forEach((key) => {\n if ((filter)[key] == null) { return; }\n result[key] = (filter)[key];\n });\n\n [\"fromBlock\", \"toBlock\"].forEach((key) => {\n if ((filter)[key] == null) { return; }\n result[key] = this._getBlockTag((filter)[key]);\n });\n\n return this.formatter.filter(await resolveProperties(result));\n }\n\n async _call(transaction: TransactionRequest, blockTag: BlockTag, attempt: number): Promise {\n if (attempt >= MAX_CCIP_REDIRECTS) {\n logger.throwError(\"CCIP read exceeded maximum redirections\", Logger.errors.SERVER_ERROR, {\n redirects: attempt, transaction\n });\n }\n\n const txSender = transaction.to;\n\n const result = await this.perform(\"call\", { transaction, blockTag });\n\n // CCIP Read request via OffchainLookup(address,string[],bytes,bytes4,bytes)\n if (attempt >= 0 && blockTag === \"latest\" && txSender != null && result.substring(0, 10) === \"0x556f1830\" && (hexDataLength(result) % 32 === 4)) {\n try {\n const data = hexDataSlice(result, 4);\n\n // Check the sender of the OffchainLookup matches the transaction\n const sender = hexDataSlice(data, 0, 32);\n if (!BigNumber.from(sender).eq(txSender)) {\n logger.throwError(\"CCIP Read sender did not match\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n\n // Read the URLs from the response\n const urls: Array = [];\n const urlsOffset = BigNumber.from(hexDataSlice(data, 32, 64)).toNumber();\n const urlsLength = BigNumber.from(hexDataSlice(data, urlsOffset, urlsOffset + 32)).toNumber();\n const urlsData = hexDataSlice(data, urlsOffset + 32);\n for (let u = 0; u < urlsLength; u++) {\n const url = _parseString(urlsData, u * 32);\n if (url == null) {\n logger.throwError(\"CCIP Read contained corrupt URL string\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n urls.push(url);\n }\n\n // Get the CCIP calldata to forward\n const calldata = _parseBytes(data, 64);\n\n // Get the callbackSelector (bytes4)\n if (!BigNumber.from(hexDataSlice(data, 100, 128)).isZero()) {\n logger.throwError(\"CCIP Read callback selector included junk\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n const callbackSelector = hexDataSlice(data, 96, 100);\n\n // Get the extra data to send back to the contract as context\n const extraData = _parseBytes(data, 128);\n\n const ccipResult = await this.ccipReadFetch(transaction, calldata, urls);\n if (ccipResult == null) {\n logger.throwError(\"CCIP Read disabled or provided no URLs\", Logger.errors.CALL_EXCEPTION, {\n name: \"OffchainLookup\",\n signature: \"OffchainLookup(address,string[],bytes,bytes4,bytes)\",\n transaction, data: result\n });\n }\n\n const tx = {\n to: txSender,\n data: hexConcat([ callbackSelector, encodeBytes([ ccipResult, extraData ]) ])\n };\n\n return this._call(tx, blockTag, attempt + 1);\n\n } catch (error) {\n if (error.code === Logger.errors.SERVER_ERROR) { throw error; }\n }\n }\n\n try {\n return hexlify(result);\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"call\",\n params: { transaction, blockTag }, result, error\n });\n }\n\n }\n\n async call(transaction: Deferrable, blockTag?: BlockTag | Promise): Promise {\n await this.getNetwork();\n const resolved = await resolveProperties({\n transaction: this._getTransactionRequest(transaction),\n blockTag: this._getBlockTag(blockTag),\n ccipReadEnabled: Promise.resolve(transaction.ccipReadEnabled)\n });\n return this._call(resolved.transaction, resolved.blockTag, resolved.ccipReadEnabled ? 0: -1);\n }\n\n async estimateGas(transaction: Deferrable): Promise {\n await this.getNetwork();\n const params = await resolveProperties({\n transaction: this._getTransactionRequest(transaction)\n });\n\n const result = await this.perform(\"estimateGas\", params);\n try {\n return BigNumber.from(result);\n } catch (error) {\n return logger.throwError(\"bad result from backend\", Logger.errors.SERVER_ERROR, {\n method: \"estimateGas\",\n params, result, error\n });\n }\n }\n\n async _getAddress(addressOrName: string | Promise): Promise {\n addressOrName = await addressOrName;\n if (typeof(addressOrName) !== \"string\") {\n logger.throwArgumentError(\"invalid address or ENS name\", \"name\", addressOrName);\n }\n\n const address = await this.resolveName(addressOrName);\n if (address == null) {\n logger.throwError(\"ENS name not configured\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: `resolveName(${ JSON.stringify(addressOrName) })`\n });\n }\n return address;\n }\n\n async _getBlock(blockHashOrBlockTag: BlockTag | string | Promise, includeTransactions?: boolean): Promise {\n await this.getNetwork();\n\n blockHashOrBlockTag = await blockHashOrBlockTag;\n\n // If blockTag is a number (not \"latest\", etc), this is the block number\n let blockNumber = -128;\n\n const params: { [key: string]: any } = {\n includeTransactions: !!includeTransactions\n };\n\n if (isHexString(blockHashOrBlockTag, 32)) {\n params.blockHash = blockHashOrBlockTag;\n } else {\n try {\n params.blockTag = await this._getBlockTag(blockHashOrBlockTag);\n if (isHexString(params.blockTag)) {\n blockNumber = parseInt(params.blockTag.substring(2), 16);\n }\n } catch (error) {\n logger.throwArgumentError(\"invalid block hash or block tag\", \"blockHashOrBlockTag\", blockHashOrBlockTag);\n }\n }\n\n return poll(async () => {\n const block = await this.perform(\"getBlock\", params);\n\n // Block was not found\n if (block == null) {\n\n // For blockhashes, if we didn't say it existed, that blockhash may\n // not exist. If we did see it though, perhaps from a log, we know\n // it exists, and this node is just not caught up yet.\n if (params.blockHash != null) {\n if (this._emitted[\"b:\" + params.blockHash] == null) { return null; }\n }\n\n // For block tags, if we are asking for a future block, we return null\n if (params.blockTag != null) {\n if (blockNumber > this._emitted.block) { return null; }\n }\n\n // Retry on the next block\n return undefined;\n }\n\n // Add transactions\n if (includeTransactions) {\n let blockNumber: number = null;\n for (let i = 0; i < block.transactions.length; i++) {\n const tx = block.transactions[i];\n if (tx.blockNumber == null) {\n tx.confirmations = 0;\n\n } else if (tx.confirmations == null) {\n if (blockNumber == null) {\n blockNumber = await this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n }\n\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = (blockNumber - tx.blockNumber) + 1;\n if (confirmations <= 0) { confirmations = 1; }\n tx.confirmations = confirmations;\n }\n }\n\n const blockWithTxs: any = this.formatter.blockWithTransactions(block);\n blockWithTxs.transactions = blockWithTxs.transactions.map((tx: TransactionResponse) => this._wrapTransaction(tx));\n return blockWithTxs;\n }\n\n return this.formatter.block(block);\n\n }, { oncePoll: this });\n }\n\n getBlock(blockHashOrBlockTag: BlockTag | string | Promise): Promise {\n return >(this._getBlock(blockHashOrBlockTag, false));\n }\n\n getBlockWithTransactions(blockHashOrBlockTag: BlockTag | string | Promise): Promise {\n return >(this._getBlock(blockHashOrBlockTag, true));\n }\n\n async getTransaction(transactionHash: string | Promise): Promise {\n await this.getNetwork();\n transactionHash = await transactionHash;\n\n const params = { transactionHash: this.formatter.hash(transactionHash, true) };\n\n return poll(async () => {\n const result = await this.perform(\"getTransaction\", params);\n\n if (result == null) {\n if (this._emitted[\"t:\" + transactionHash] == null) {\n return null;\n }\n return undefined;\n }\n\n const tx = this.formatter.transactionResponse(result);\n\n if (tx.blockNumber == null) {\n tx.confirmations = 0;\n\n } else if (tx.confirmations == null) {\n const blockNumber = await this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = (blockNumber - tx.blockNumber) + 1;\n if (confirmations <= 0) { confirmations = 1; }\n tx.confirmations = confirmations;\n }\n\n return this._wrapTransaction(tx);\n }, { oncePoll: this });\n }\n\n async getTransactionReceipt(transactionHash: string | Promise): Promise {\n await this.getNetwork();\n\n transactionHash = await transactionHash;\n\n const params = { transactionHash: this.formatter.hash(transactionHash, true) };\n\n return poll(async () => {\n const result = await this.perform(\"getTransactionReceipt\", params);\n\n if (result == null) {\n if (this._emitted[\"t:\" + transactionHash] == null) {\n return null;\n }\n return undefined;\n }\n\n // \"geth-etc\" returns receipts before they are ready\n if (result.blockHash == null) { return undefined; }\n\n const receipt = this.formatter.receipt(result);\n\n if (receipt.blockNumber == null) {\n receipt.confirmations = 0;\n\n } else if (receipt.confirmations == null) {\n const blockNumber = await this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n\n // Add the confirmations using the fast block number (pessimistic)\n let confirmations = (blockNumber - receipt.blockNumber) + 1;\n if (confirmations <= 0) { confirmations = 1; }\n receipt.confirmations = confirmations;\n }\n\n return receipt;\n }, { oncePoll: this });\n }\n\n async getLogs(filter: Filter | FilterByBlockHash | Promise): Promise> {\n await this.getNetwork();\n const params = await resolveProperties({ filter: this._getFilter(filter) });\n const logs: Array = await this.perform(\"getLogs\", params);\n logs.forEach((log) => {\n if (log.removed == null) { log.removed = false; }\n });\n return Formatter.arrayOf(this.formatter.filterLog.bind(this.formatter))(logs);\n }\n\n async getEtherPrice(): Promise {\n await this.getNetwork();\n return this.perform(\"getEtherPrice\", { });\n }\n\n async _getBlockTag(blockTag: BlockTag | Promise): Promise {\n blockTag = await blockTag;\n\n if (typeof(blockTag) === \"number\" && blockTag < 0) {\n if (blockTag % 1) {\n logger.throwArgumentError(\"invalid BlockTag\", \"blockTag\", blockTag);\n }\n\n let blockNumber = await this._getInternalBlockNumber(100 + 2 * this.pollingInterval);\n blockNumber += blockTag;\n if (blockNumber < 0) { blockNumber = 0; }\n return this.formatter.blockTag(blockNumber)\n }\n\n return this.formatter.blockTag(blockTag);\n }\n\n\n async getResolver(name: string): Promise {\n let currentName = name;\n while (true) {\n if (currentName === \"\" || currentName === \".\") { return null; }\n\n // Optimization since the eth node cannot change and does\n // not have a wildcard resolver\n if (name !== \"eth\" && currentName === \"eth\") { return null; }\n\n // Check the current node for a resolver\n const addr = await this._getResolver(currentName, \"getResolver\");\n\n // Found a resolver!\n if (addr != null) {\n const resolver = new Resolver(this, addr, name);\n\n // Legacy resolver found, using EIP-2544 so it isn't safe to use\n if (currentName !== name && !(await resolver.supportsWildcard())) { return null; }\n\n return resolver;\n }\n\n // Get the parent node\n currentName = currentName.split(\".\").slice(1).join(\".\");\n }\n\n }\n\n async _getResolver(name: string, operation?: string): Promise {\n if (operation == null) { operation = \"ENS\"; }\n\n const network = await this.getNetwork();\n\n // No ENS...\n if (!network.ensAddress) {\n logger.throwError(\n \"network does not support ENS\",\n Logger.errors.UNSUPPORTED_OPERATION,\n { operation, network: network.name }\n );\n }\n\n try {\n // keccak256(\"resolver(bytes32)\")\n const addrData = await this.call({\n to: network.ensAddress,\n data: (\"0x0178b8bf\" + namehash(name).substring(2))\n });\n return this.formatter.callAddress(addrData);\n } catch (error) {\n // ENS registry cannot throw errors on resolver(bytes32)\n }\n\n return null;\n }\n\n async resolveName(name: string | Promise): Promise {\n name = await name;\n\n // If it is already an address, nothing to resolve\n try {\n return Promise.resolve(this.formatter.address(name));\n } catch (error) {\n // If is is a hexstring, the address is bad (See #694)\n if (isHexString(name)) { throw error; }\n }\n\n if (typeof(name) !== \"string\") {\n logger.throwArgumentError(\"invalid ENS name\", \"name\", name);\n }\n\n // Get the addr from the resolver\n const resolver = await this.getResolver(name);\n if (!resolver) { return null; }\n\n return await resolver.getAddress();\n }\n\n async lookupAddress(address: string | Promise): Promise {\n address = await address;\n address = this.formatter.address(address);\n\n const node = address.substring(2).toLowerCase() + \".addr.reverse\";\n\n const resolverAddr = await this._getResolver(node, \"lookupAddress\");\n if (resolverAddr == null) { return null; }\n\n // keccak(\"name(bytes32)\")\n const name = _parseString(await this.call({\n to: resolverAddr,\n data: (\"0x691f3431\" + namehash(node).substring(2))\n }), 0);\n\n const addr = await this.resolveName(name);\n if (addr != address) { return null; }\n\n return name;\n }\n\n async getAvatar(nameOrAddress: string): Promise {\n let resolver: Resolver = null;\n if (isHexString(nameOrAddress)) {\n // Address; reverse lookup\n const address = this.formatter.address(nameOrAddress);\n\n const node = address.substring(2).toLowerCase() + \".addr.reverse\";\n\n const resolverAddress = await this._getResolver(node, \"getAvatar\");\n if (!resolverAddress) { return null; }\n\n // Try resolving the avatar against the addr.reverse resolver\n resolver = new Resolver(this, resolverAddress, node);\n try {\n const avatar = await resolver.getAvatar();\n if (avatar) { return avatar.url; }\n } catch (error) {\n if (error.code !== Logger.errors.CALL_EXCEPTION) { throw error; }\n }\n\n // Try getting the name and performing forward lookup; allowing wildcards\n try {\n // keccak(\"name(bytes32)\")\n const name = _parseString(await this.call({\n to: resolverAddress,\n data: (\"0x691f3431\" + namehash(node).substring(2))\n }), 0);\n resolver = await this.getResolver(name);\n } catch (error) {\n if (error.code !== Logger.errors.CALL_EXCEPTION) { throw error; }\n return null;\n }\n\n } else {\n // ENS name; forward lookup with wildcard\n resolver = await this.getResolver(nameOrAddress);\n if (!resolver) { return null; }\n }\n\n const avatar = await resolver.getAvatar();\n if (avatar == null) { return null; }\n\n return avatar.url;\n }\n\n perform(method: string, params: any): Promise {\n return logger.throwError(method + \" not implemented\", Logger.errors.NOT_IMPLEMENTED, { operation: method });\n }\n\n _startEvent(event: Event): void {\n this.polling = (this._events.filter((e) => e.pollable()).length > 0);\n }\n\n _stopEvent(event: Event): void {\n this.polling = (this._events.filter((e) => e.pollable()).length > 0);\n }\n\n _addEventListener(eventName: EventType, listener: Listener, once: boolean): this {\n const event = new Event(getEventTag(eventName), listener, once)\n this._events.push(event);\n this._startEvent(event);\n\n return this;\n }\n\n on(eventName: EventType, listener: Listener): this {\n return this._addEventListener(eventName, listener, false);\n }\n\n once(eventName: EventType, listener: Listener): this {\n return this._addEventListener(eventName, listener, true);\n }\n\n\n emit(eventName: EventType, ...args: Array): boolean {\n let result = false;\n\n let stopped: Array = [ ];\n\n let eventTag = getEventTag(eventName);\n this._events = this._events.filter((event) => {\n if (event.tag !== eventTag) { return true; }\n\n setTimeout(() => {\n event.listener.apply(this, args);\n }, 0);\n\n result = true;\n\n if (event.once) {\n stopped.push(event);\n return false;\n }\n\n return true;\n });\n\n stopped.forEach((event) => { this._stopEvent(event); });\n\n return result;\n }\n\n listenerCount(eventName?: EventType): number {\n if (!eventName) { return this._events.length; }\n\n let eventTag = getEventTag(eventName);\n return this._events.filter((event) => {\n return (event.tag === eventTag);\n }).length;\n }\n\n listeners(eventName?: EventType): Array {\n if (eventName == null) {\n return this._events.map((event) => event.listener);\n }\n\n let eventTag = getEventTag(eventName);\n return this._events\n .filter((event) => (event.tag === eventTag))\n .map((event) => event.listener);\n }\n\n off(eventName: EventType, listener?: Listener): this {\n if (listener == null) {\n return this.removeAllListeners(eventName);\n }\n\n const stopped: Array = [ ];\n\n let found = false;\n\n let eventTag = getEventTag(eventName);\n this._events = this._events.filter((event) => {\n if (event.tag !== eventTag || event.listener != listener) { return true; }\n if (found) { return true; }\n found = true;\n stopped.push(event);\n return false;\n });\n\n stopped.forEach((event) => { this._stopEvent(event); });\n\n return this;\n }\n\n removeAllListeners(eventName?: EventType): this {\n let stopped: Array = [ ];\n if (eventName == null) {\n stopped = this._events;\n\n this._events = [ ];\n } else {\n const eventTag = getEventTag(eventName);\n this._events = this._events.filter((event) => {\n if (event.tag !== eventTag) { return true; }\n stopped.push(event);\n return false;\n });\n }\n\n stopped.forEach((event) => { this._stopEvent(event); });\n\n return this;\n }\n}\n","'use strict'\nvar ALPHABET = 'qpzry9x8gf2tvdw0s3jn54khce6mua7l'\n\n// pre-compute lookup table\nvar ALPHABET_MAP = {}\nfor (var z = 0; z < ALPHABET.length; z++) {\n var x = ALPHABET.charAt(z)\n\n if (ALPHABET_MAP[x] !== undefined) throw new TypeError(x + ' is ambiguous')\n ALPHABET_MAP[x] = z\n}\n\nfunction polymodStep (pre) {\n var b = pre >> 25\n return ((pre & 0x1FFFFFF) << 5) ^\n (-((b >> 0) & 1) & 0x3b6a57b2) ^\n (-((b >> 1) & 1) & 0x26508e6d) ^\n (-((b >> 2) & 1) & 0x1ea119fa) ^\n (-((b >> 3) & 1) & 0x3d4233dd) ^\n (-((b >> 4) & 1) & 0x2a1462b3)\n}\n\nfunction prefixChk (prefix) {\n var chk = 1\n for (var i = 0; i < prefix.length; ++i) {\n var c = prefix.charCodeAt(i)\n if (c < 33 || c > 126) return 'Invalid prefix (' + prefix + ')'\n\n chk = polymodStep(chk) ^ (c >> 5)\n }\n chk = polymodStep(chk)\n\n for (i = 0; i < prefix.length; ++i) {\n var v = prefix.charCodeAt(i)\n chk = polymodStep(chk) ^ (v & 0x1f)\n }\n return chk\n}\n\nfunction encode (prefix, words, LIMIT) {\n LIMIT = LIMIT || 90\n if ((prefix.length + 7 + words.length) > LIMIT) throw new TypeError('Exceeds length limit')\n\n prefix = prefix.toLowerCase()\n\n // determine chk mod\n var chk = prefixChk(prefix)\n if (typeof chk === 'string') throw new Error(chk)\n\n var result = prefix + '1'\n for (var i = 0; i < words.length; ++i) {\n var x = words[i]\n if ((x >> 5) !== 0) throw new Error('Non 5-bit word')\n\n chk = polymodStep(chk) ^ x\n result += ALPHABET.charAt(x)\n }\n\n for (i = 0; i < 6; ++i) {\n chk = polymodStep(chk)\n }\n chk ^= 1\n\n for (i = 0; i < 6; ++i) {\n var v = (chk >> ((5 - i) * 5)) & 0x1f\n result += ALPHABET.charAt(v)\n }\n\n return result\n}\n\nfunction __decode (str, LIMIT) {\n LIMIT = LIMIT || 90\n if (str.length < 8) return str + ' too short'\n if (str.length > LIMIT) return 'Exceeds length limit'\n\n // don't allow mixed case\n var lowered = str.toLowerCase()\n var uppered = str.toUpperCase()\n if (str !== lowered && str !== uppered) return 'Mixed-case string ' + str\n str = lowered\n\n var split = str.lastIndexOf('1')\n if (split === -1) return 'No separator character for ' + str\n if (split === 0) return 'Missing prefix for ' + str\n\n var prefix = str.slice(0, split)\n var wordChars = str.slice(split + 1)\n if (wordChars.length < 6) return 'Data too short'\n\n var chk = prefixChk(prefix)\n if (typeof chk === 'string') return chk\n\n var words = []\n for (var i = 0; i < wordChars.length; ++i) {\n var c = wordChars.charAt(i)\n var v = ALPHABET_MAP[c]\n if (v === undefined) return 'Unknown character ' + c\n chk = polymodStep(chk) ^ v\n\n // not in the checksum?\n if (i + 6 >= wordChars.length) continue\n words.push(v)\n }\n\n if (chk !== 1) return 'Invalid checksum for ' + str\n return { prefix: prefix, words: words }\n}\n\nfunction decodeUnsafe () {\n var res = __decode.apply(null, arguments)\n if (typeof res === 'object') return res\n}\n\nfunction decode (str) {\n var res = __decode.apply(null, arguments)\n if (typeof res === 'object') return res\n\n throw new Error(res)\n}\n\nfunction convert (data, inBits, outBits, pad) {\n var value = 0\n var bits = 0\n var maxV = (1 << outBits) - 1\n\n var result = []\n for (var i = 0; i < data.length; ++i) {\n value = (value << inBits) | data[i]\n bits += inBits\n\n while (bits >= outBits) {\n bits -= outBits\n result.push((value >> bits) & maxV)\n }\n }\n\n if (pad) {\n if (bits > 0) {\n result.push((value << (outBits - bits)) & maxV)\n }\n } else {\n if (bits >= inBits) return 'Excess padding'\n if ((value << (outBits - bits)) & maxV) return 'Non-zero padding'\n }\n\n return result\n}\n\nfunction toWordsUnsafe (bytes) {\n var res = convert(bytes, 8, 5, true)\n if (Array.isArray(res)) return res\n}\n\nfunction toWords (bytes) {\n var res = convert(bytes, 8, 5, true)\n if (Array.isArray(res)) return res\n\n throw new Error(res)\n}\n\nfunction fromWordsUnsafe (words) {\n var res = convert(words, 5, 8, false)\n if (Array.isArray(res)) return res\n}\n\nfunction fromWords (words) {\n var res = convert(words, 5, 8, false)\n if (Array.isArray(res)) return res\n\n throw new Error(res)\n}\n\nmodule.exports = {\n decodeUnsafe: decodeUnsafe,\n decode: decode,\n encode: encode,\n toWordsUnsafe: toWordsUnsafe,\n toWords: toWords,\n fromWordsUnsafe: fromWordsUnsafe,\n fromWords: fromWords\n}\n","export const version = \"providers/5.7.2\";\n//# sourceMappingURL=_version.js.map","export const version = \"providers/5.7.2\";\n","\"use strict\";\nimport { getAddress, getContractAddress } from \"@ethersproject/address\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { hexDataLength, hexDataSlice, hexValue, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { AddressZero } from \"@ethersproject/constants\";\nimport { shallowCopy } from \"@ethersproject/properties\";\nimport { accessListify, parse as parseTransaction } from \"@ethersproject/transactions\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nexport class Formatter {\n constructor() {\n this.formats = this.getDefaultFormats();\n }\n getDefaultFormats() {\n const formats = ({});\n const address = this.address.bind(this);\n const bigNumber = this.bigNumber.bind(this);\n const blockTag = this.blockTag.bind(this);\n const data = this.data.bind(this);\n const hash = this.hash.bind(this);\n const hex = this.hex.bind(this);\n const number = this.number.bind(this);\n const type = this.type.bind(this);\n const strictData = (v) => { return this.data(v, true); };\n formats.transaction = {\n hash: hash,\n type: type,\n accessList: Formatter.allowNull(this.accessList.bind(this), null),\n blockHash: Formatter.allowNull(hash, null),\n blockNumber: Formatter.allowNull(number, null),\n transactionIndex: Formatter.allowNull(number, null),\n confirmations: Formatter.allowNull(number, null),\n from: address,\n // either (gasPrice) or (maxPriorityFeePerGas + maxFeePerGas)\n // must be set\n gasPrice: Formatter.allowNull(bigNumber),\n maxPriorityFeePerGas: Formatter.allowNull(bigNumber),\n maxFeePerGas: Formatter.allowNull(bigNumber),\n gasLimit: bigNumber,\n to: Formatter.allowNull(address, null),\n value: bigNumber,\n nonce: number,\n data: data,\n r: Formatter.allowNull(this.uint256),\n s: Formatter.allowNull(this.uint256),\n v: Formatter.allowNull(number),\n creates: Formatter.allowNull(address, null),\n raw: Formatter.allowNull(data),\n };\n formats.transactionRequest = {\n from: Formatter.allowNull(address),\n nonce: Formatter.allowNull(number),\n gasLimit: Formatter.allowNull(bigNumber),\n gasPrice: Formatter.allowNull(bigNumber),\n maxPriorityFeePerGas: Formatter.allowNull(bigNumber),\n maxFeePerGas: Formatter.allowNull(bigNumber),\n to: Formatter.allowNull(address),\n value: Formatter.allowNull(bigNumber),\n data: Formatter.allowNull(strictData),\n type: Formatter.allowNull(number),\n accessList: Formatter.allowNull(this.accessList.bind(this), null),\n };\n formats.receiptLog = {\n transactionIndex: number,\n blockNumber: number,\n transactionHash: hash,\n address: address,\n topics: Formatter.arrayOf(hash),\n data: data,\n logIndex: number,\n blockHash: hash,\n };\n formats.receipt = {\n to: Formatter.allowNull(this.address, null),\n from: Formatter.allowNull(this.address, null),\n contractAddress: Formatter.allowNull(address, null),\n transactionIndex: number,\n // should be allowNull(hash), but broken-EIP-658 support is handled in receipt\n root: Formatter.allowNull(hex),\n gasUsed: bigNumber,\n logsBloom: Formatter.allowNull(data),\n blockHash: hash,\n transactionHash: hash,\n logs: Formatter.arrayOf(this.receiptLog.bind(this)),\n blockNumber: number,\n confirmations: Formatter.allowNull(number, null),\n cumulativeGasUsed: bigNumber,\n effectiveGasPrice: Formatter.allowNull(bigNumber),\n status: Formatter.allowNull(number),\n type: type\n };\n formats.block = {\n hash: Formatter.allowNull(hash),\n parentHash: hash,\n number: number,\n timestamp: number,\n nonce: Formatter.allowNull(hex),\n difficulty: this.difficulty.bind(this),\n gasLimit: bigNumber,\n gasUsed: bigNumber,\n miner: Formatter.allowNull(address),\n extraData: data,\n transactions: Formatter.allowNull(Formatter.arrayOf(hash)),\n baseFeePerGas: Formatter.allowNull(bigNumber)\n };\n formats.blockWithTransactions = shallowCopy(formats.block);\n formats.blockWithTransactions.transactions = Formatter.allowNull(Formatter.arrayOf(this.transactionResponse.bind(this)));\n formats.filter = {\n fromBlock: Formatter.allowNull(blockTag, undefined),\n toBlock: Formatter.allowNull(blockTag, undefined),\n blockHash: Formatter.allowNull(hash, undefined),\n address: Formatter.allowNull(address, undefined),\n topics: Formatter.allowNull(this.topics.bind(this), undefined),\n };\n formats.filterLog = {\n blockNumber: Formatter.allowNull(number),\n blockHash: Formatter.allowNull(hash),\n transactionIndex: number,\n removed: Formatter.allowNull(this.boolean.bind(this)),\n address: address,\n data: Formatter.allowFalsish(data, \"0x\"),\n topics: Formatter.arrayOf(hash),\n transactionHash: hash,\n logIndex: number,\n };\n return formats;\n }\n accessList(accessList) {\n return accessListify(accessList || []);\n }\n // Requires a BigNumberish that is within the IEEE754 safe integer range; returns a number\n // Strict! Used on input.\n number(number) {\n if (number === \"0x\") {\n return 0;\n }\n return BigNumber.from(number).toNumber();\n }\n type(number) {\n if (number === \"0x\" || number == null) {\n return 0;\n }\n return BigNumber.from(number).toNumber();\n }\n // Strict! Used on input.\n bigNumber(value) {\n return BigNumber.from(value);\n }\n // Requires a boolean, \"true\" or \"false\"; returns a boolean\n boolean(value) {\n if (typeof (value) === \"boolean\") {\n return value;\n }\n if (typeof (value) === \"string\") {\n value = value.toLowerCase();\n if (value === \"true\") {\n return true;\n }\n if (value === \"false\") {\n return false;\n }\n }\n throw new Error(\"invalid boolean - \" + value);\n }\n hex(value, strict) {\n if (typeof (value) === \"string\") {\n if (!strict && value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n if (isHexString(value)) {\n return value.toLowerCase();\n }\n }\n return logger.throwArgumentError(\"invalid hash\", \"value\", value);\n }\n data(value, strict) {\n const result = this.hex(value, strict);\n if ((result.length % 2) !== 0) {\n throw new Error(\"invalid data; odd-length - \" + value);\n }\n return result;\n }\n // Requires an address\n // Strict! Used on input.\n address(value) {\n return getAddress(value);\n }\n callAddress(value) {\n if (!isHexString(value, 32)) {\n return null;\n }\n const address = getAddress(hexDataSlice(value, 12));\n return (address === AddressZero) ? null : address;\n }\n contractAddress(value) {\n return getContractAddress(value);\n }\n // Strict! Used on input.\n blockTag(blockTag) {\n if (blockTag == null) {\n return \"latest\";\n }\n if (blockTag === \"earliest\") {\n return \"0x0\";\n }\n switch (blockTag) {\n case \"earliest\": return \"0x0\";\n case \"latest\":\n case \"pending\":\n case \"safe\":\n case \"finalized\":\n return blockTag;\n }\n if (typeof (blockTag) === \"number\" || isHexString(blockTag)) {\n return hexValue(blockTag);\n }\n throw new Error(\"invalid blockTag\");\n }\n // Requires a hash, optionally requires 0x prefix; returns prefixed lowercase hash.\n hash(value, strict) {\n const result = this.hex(value, strict);\n if (hexDataLength(result) !== 32) {\n return logger.throwArgumentError(\"invalid hash\", \"value\", value);\n }\n return result;\n }\n // Returns the difficulty as a number, or if too large (i.e. PoA network) null\n difficulty(value) {\n if (value == null) {\n return null;\n }\n const v = BigNumber.from(value);\n try {\n return v.toNumber();\n }\n catch (error) { }\n return null;\n }\n uint256(value) {\n if (!isHexString(value)) {\n throw new Error(\"invalid uint256\");\n }\n return hexZeroPad(value, 32);\n }\n _block(value, format) {\n if (value.author != null && value.miner == null) {\n value.miner = value.author;\n }\n // The difficulty may need to come from _difficulty in recursed blocks\n const difficulty = (value._difficulty != null) ? value._difficulty : value.difficulty;\n const result = Formatter.check(format, value);\n result._difficulty = ((difficulty == null) ? null : BigNumber.from(difficulty));\n return result;\n }\n block(value) {\n return this._block(value, this.formats.block);\n }\n blockWithTransactions(value) {\n return this._block(value, this.formats.blockWithTransactions);\n }\n // Strict! Used on input.\n transactionRequest(value) {\n return Formatter.check(this.formats.transactionRequest, value);\n }\n transactionResponse(transaction) {\n // Rename gas to gasLimit\n if (transaction.gas != null && transaction.gasLimit == null) {\n transaction.gasLimit = transaction.gas;\n }\n // Some clients (TestRPC) do strange things like return 0x0 for the\n // 0 address; correct this to be a real address\n if (transaction.to && BigNumber.from(transaction.to).isZero()) {\n transaction.to = \"0x0000000000000000000000000000000000000000\";\n }\n // Rename input to data\n if (transaction.input != null && transaction.data == null) {\n transaction.data = transaction.input;\n }\n // If to and creates are empty, populate the creates from the transaction\n if (transaction.to == null && transaction.creates == null) {\n transaction.creates = this.contractAddress(transaction);\n }\n if ((transaction.type === 1 || transaction.type === 2) && transaction.accessList == null) {\n transaction.accessList = [];\n }\n const result = Formatter.check(this.formats.transaction, transaction);\n if (transaction.chainId != null) {\n let chainId = transaction.chainId;\n if (isHexString(chainId)) {\n chainId = BigNumber.from(chainId).toNumber();\n }\n result.chainId = chainId;\n }\n else {\n let chainId = transaction.networkId;\n // geth-etc returns chainId\n if (chainId == null && result.v == null) {\n chainId = transaction.chainId;\n }\n if (isHexString(chainId)) {\n chainId = BigNumber.from(chainId).toNumber();\n }\n if (typeof (chainId) !== \"number\" && result.v != null) {\n chainId = (result.v - 35) / 2;\n if (chainId < 0) {\n chainId = 0;\n }\n chainId = parseInt(chainId);\n }\n if (typeof (chainId) !== \"number\") {\n chainId = 0;\n }\n result.chainId = chainId;\n }\n // 0x0000... should actually be null\n if (result.blockHash && result.blockHash.replace(/0/g, \"\") === \"x\") {\n result.blockHash = null;\n }\n return result;\n }\n transaction(value) {\n return parseTransaction(value);\n }\n receiptLog(value) {\n return Formatter.check(this.formats.receiptLog, value);\n }\n receipt(value) {\n const result = Formatter.check(this.formats.receipt, value);\n // RSK incorrectly implemented EIP-658, so we munge things a bit here for it\n if (result.root != null) {\n if (result.root.length <= 4) {\n // Could be 0x00, 0x0, 0x01 or 0x1\n const value = BigNumber.from(result.root).toNumber();\n if (value === 0 || value === 1) {\n // Make sure if both are specified, they match\n if (result.status != null && (result.status !== value)) {\n logger.throwArgumentError(\"alt-root-status/status mismatch\", \"value\", { root: result.root, status: result.status });\n }\n result.status = value;\n delete result.root;\n }\n else {\n logger.throwArgumentError(\"invalid alt-root-status\", \"value.root\", result.root);\n }\n }\n else if (result.root.length !== 66) {\n // Must be a valid bytes32\n logger.throwArgumentError(\"invalid root hash\", \"value.root\", result.root);\n }\n }\n if (result.status != null) {\n result.byzantium = true;\n }\n return result;\n }\n topics(value) {\n if (Array.isArray(value)) {\n return value.map((v) => this.topics(v));\n }\n else if (value != null) {\n return this.hash(value, true);\n }\n return null;\n }\n filter(value) {\n return Formatter.check(this.formats.filter, value);\n }\n filterLog(value) {\n return Formatter.check(this.formats.filterLog, value);\n }\n static check(format, object) {\n const result = {};\n for (const key in format) {\n try {\n const value = format[key](object[key]);\n if (value !== undefined) {\n result[key] = value;\n }\n }\n catch (error) {\n error.checkKey = key;\n error.checkValue = object[key];\n throw error;\n }\n }\n return result;\n }\n // if value is null-ish, nullValue is returned\n static allowNull(format, nullValue) {\n return (function (value) {\n if (value == null) {\n return nullValue;\n }\n return format(value);\n });\n }\n // If value is false-ish, replaceValue is returned\n static allowFalsish(format, replaceValue) {\n return (function (value) {\n if (!value) {\n return replaceValue;\n }\n return format(value);\n });\n }\n // Requires an Array satisfying check\n static arrayOf(format) {\n return (function (array) {\n if (!Array.isArray(array)) {\n throw new Error(\"not an array\");\n }\n const result = [];\n array.forEach(function (value) {\n result.push(format(value));\n });\n return result;\n });\n }\n}\nexport function isCommunityResourcable(value) {\n return (value && typeof (value.isCommunityResource) === \"function\");\n}\nexport function isCommunityResource(value) {\n return (isCommunityResourcable(value) && value.isCommunityResource());\n}\n// Show the throttle message only once\nlet throttleMessage = false;\nexport function showThrottleMessage() {\n if (throttleMessage) {\n return;\n }\n throttleMessage = true;\n console.log(\"========= NOTICE =========\");\n console.log(\"Request-Rate Exceeded (this message will not be repeated)\");\n console.log(\"\");\n console.log(\"The default API keys for each service are provided as a highly-throttled,\");\n console.log(\"community resource for low-traffic projects and early prototyping.\");\n console.log(\"\");\n console.log(\"While your application will continue to function, we highly recommended\");\n console.log(\"signing up for your own API keys to improve performance, increase your\");\n console.log(\"request rate/limit and enable other perks, such as metrics and advanced APIs.\");\n console.log(\"\");\n console.log(\"For more details: https:/\\/docs.ethers.io/api-keys/\");\n console.log(\"==========================\");\n}\n//# sourceMappingURL=formatter.js.map","\"use strict\";\n\nimport { Block, TransactionReceipt, TransactionResponse } from \"@ethersproject/abstract-provider\";\nimport { getAddress, getContractAddress } from \"@ethersproject/address\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { hexDataLength, hexDataSlice, hexValue, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { AddressZero } from \"@ethersproject/constants\";\nimport { shallowCopy } from \"@ethersproject/properties\";\nimport { AccessList, accessListify, parse as parseTransaction } from \"@ethersproject/transactions\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nexport type FormatFunc = (value: any) => any;\n\nexport type FormatFuncs = { [ key: string ]: FormatFunc };\n\nexport type Formats = {\n transaction: FormatFuncs,\n transactionRequest: FormatFuncs,\n receipt: FormatFuncs,\n receiptLog: FormatFuncs,\n block: FormatFuncs,\n blockWithTransactions: FormatFuncs,\n filter: FormatFuncs,\n filterLog: FormatFuncs,\n};\n\nexport class Formatter {\n readonly formats: Formats;\n\n constructor() {\n this.formats = this.getDefaultFormats();\n }\n\n getDefaultFormats(): Formats {\n const formats: Formats = ({ });\n\n const address = this.address.bind(this);\n const bigNumber = this.bigNumber.bind(this);\n const blockTag = this.blockTag.bind(this);\n const data = this.data.bind(this);\n const hash = this.hash.bind(this);\n const hex = this.hex.bind(this);\n const number = this.number.bind(this);\n const type = this.type.bind(this);\n\n const strictData = (v: any) => { return this.data(v, true); };\n\n formats.transaction = {\n hash: hash,\n\n type: type,\n accessList: Formatter.allowNull(this.accessList.bind(this), null),\n\n blockHash: Formatter.allowNull(hash, null),\n blockNumber: Formatter.allowNull(number, null),\n transactionIndex: Formatter.allowNull(number, null),\n\n confirmations: Formatter.allowNull(number, null),\n\n from: address,\n\n // either (gasPrice) or (maxPriorityFeePerGas + maxFeePerGas)\n // must be set\n gasPrice: Formatter.allowNull(bigNumber),\n maxPriorityFeePerGas: Formatter.allowNull(bigNumber),\n maxFeePerGas: Formatter.allowNull(bigNumber),\n\n gasLimit: bigNumber,\n to: Formatter.allowNull(address, null),\n value: bigNumber,\n nonce: number,\n data: data,\n\n r: Formatter.allowNull(this.uint256),\n s: Formatter.allowNull(this.uint256),\n v: Formatter.allowNull(number),\n\n creates: Formatter.allowNull(address, null),\n\n raw: Formatter.allowNull(data),\n };\n\n formats.transactionRequest = {\n from: Formatter.allowNull(address),\n nonce: Formatter.allowNull(number),\n gasLimit: Formatter.allowNull(bigNumber),\n gasPrice: Formatter.allowNull(bigNumber),\n maxPriorityFeePerGas: Formatter.allowNull(bigNumber),\n maxFeePerGas: Formatter.allowNull(bigNumber),\n to: Formatter.allowNull(address),\n value: Formatter.allowNull(bigNumber),\n data: Formatter.allowNull(strictData),\n type: Formatter.allowNull(number),\n accessList: Formatter.allowNull(this.accessList.bind(this), null),\n };\n\n formats.receiptLog = {\n transactionIndex: number,\n blockNumber: number,\n transactionHash: hash,\n address: address,\n topics: Formatter.arrayOf(hash),\n data: data,\n logIndex: number,\n blockHash: hash,\n };\n\n formats.receipt = {\n to: Formatter.allowNull(this.address, null),\n from: Formatter.allowNull(this.address, null),\n contractAddress: Formatter.allowNull(address, null),\n transactionIndex: number,\n // should be allowNull(hash), but broken-EIP-658 support is handled in receipt\n root: Formatter.allowNull(hex),\n gasUsed: bigNumber,\n logsBloom: Formatter.allowNull(data),// @TODO: should this be data?\n blockHash: hash,\n transactionHash: hash,\n logs: Formatter.arrayOf(this.receiptLog.bind(this)),\n blockNumber: number,\n confirmations: Formatter.allowNull(number, null),\n cumulativeGasUsed: bigNumber,\n effectiveGasPrice: Formatter.allowNull(bigNumber),\n status: Formatter.allowNull(number),\n type: type\n };\n\n formats.block = {\n hash: Formatter.allowNull(hash),\n parentHash: hash,\n number: number,\n\n timestamp: number,\n nonce: Formatter.allowNull(hex),\n difficulty: this.difficulty.bind(this),\n\n gasLimit: bigNumber,\n gasUsed: bigNumber,\n\n miner: Formatter.allowNull(address),\n extraData: data,\n\n transactions: Formatter.allowNull(Formatter.arrayOf(hash)),\n\n baseFeePerGas: Formatter.allowNull(bigNumber)\n };\n\n formats.blockWithTransactions = shallowCopy(formats.block);\n formats.blockWithTransactions.transactions = Formatter.allowNull(Formatter.arrayOf(this.transactionResponse.bind(this)));\n\n formats.filter = {\n fromBlock: Formatter.allowNull(blockTag, undefined),\n toBlock: Formatter.allowNull(blockTag, undefined),\n blockHash: Formatter.allowNull(hash, undefined),\n address: Formatter.allowNull(address, undefined),\n topics: Formatter.allowNull(this.topics.bind(this), undefined),\n };\n\n formats.filterLog = {\n blockNumber: Formatter.allowNull(number),\n blockHash: Formatter.allowNull(hash),\n transactionIndex: number,\n\n removed: Formatter.allowNull(this.boolean.bind(this)),\n\n address: address,\n data: Formatter.allowFalsish(data, \"0x\"),\n\n topics: Formatter.arrayOf(hash),\n\n transactionHash: hash,\n logIndex: number,\n };\n\n return formats;\n }\n\n accessList(accessList: Array): AccessList {\n return accessListify(accessList || []);\n }\n\n // Requires a BigNumberish that is within the IEEE754 safe integer range; returns a number\n // Strict! Used on input.\n number(number: any): number {\n if (number === \"0x\") { return 0; }\n return BigNumber.from(number).toNumber();\n }\n\n type(number: any): number {\n if (number === \"0x\" || number == null) { return 0; }\n return BigNumber.from(number).toNumber();\n }\n\n // Strict! Used on input.\n bigNumber(value: any): BigNumber {\n return BigNumber.from(value);\n }\n\n // Requires a boolean, \"true\" or \"false\"; returns a boolean\n boolean(value: any): boolean {\n if (typeof(value) === \"boolean\") { return value; }\n if (typeof(value) === \"string\") {\n value = value.toLowerCase();\n if (value === \"true\") { return true; }\n if (value === \"false\") { return false; }\n }\n throw new Error(\"invalid boolean - \" + value);\n }\n\n hex(value: any, strict?: boolean): string {\n if (typeof(value) === \"string\") {\n if (!strict && value.substring(0, 2) !== \"0x\") { value = \"0x\" + value; }\n if (isHexString(value)) {\n return value.toLowerCase();\n }\n }\n return logger.throwArgumentError(\"invalid hash\", \"value\", value);\n }\n\n data(value: any, strict?: boolean): string {\n const result = this.hex(value, strict);\n if ((result.length % 2) !== 0) {\n throw new Error(\"invalid data; odd-length - \" + value);\n }\n return result;\n }\n\n // Requires an address\n // Strict! Used on input.\n address(value: any): string {\n return getAddress(value);\n }\n\n callAddress(value: any): string {\n if (!isHexString(value, 32)) { return null; }\n const address = getAddress(hexDataSlice(value, 12));\n return (address === AddressZero) ? null: address;\n }\n\n contractAddress(value: any): string {\n return getContractAddress(value);\n }\n\n // Strict! Used on input.\n blockTag(blockTag: any): string {\n if (blockTag == null) { return \"latest\"; }\n\n if (blockTag === \"earliest\") { return \"0x0\"; }\n\n switch (blockTag) {\n case \"earliest\": return \"0x0\";\n case \"latest\": case \"pending\": case \"safe\": case \"finalized\":\n return blockTag;\n }\n\n if (typeof(blockTag) === \"number\" || isHexString(blockTag)) {\n return hexValue(blockTag);\n }\n\n throw new Error(\"invalid blockTag\");\n }\n\n // Requires a hash, optionally requires 0x prefix; returns prefixed lowercase hash.\n hash(value: any, strict?: boolean): string {\n const result = this.hex(value, strict);\n if (hexDataLength(result) !== 32) {\n return logger.throwArgumentError(\"invalid hash\", \"value\", value);\n }\n return result;\n }\n\n // Returns the difficulty as a number, or if too large (i.e. PoA network) null\n difficulty(value: any): number {\n if (value == null) { return null; }\n\n const v = BigNumber.from(value);\n\n try {\n return v.toNumber();\n } catch (error) { }\n\n return null;\n }\n\n uint256(value: any): string {\n if (!isHexString(value)) {\n throw new Error(\"invalid uint256\");\n }\n return hexZeroPad(value, 32);\n }\n\n _block(value: any, format: any): Block {\n if (value.author != null && value.miner == null) {\n value.miner = value.author;\n }\n // The difficulty may need to come from _difficulty in recursed blocks\n const difficulty = (value._difficulty != null) ? value._difficulty: value.difficulty;\n const result = Formatter.check(format, value);\n result._difficulty = ((difficulty == null) ? null: BigNumber.from(difficulty));\n return result;\n }\n\n block(value: any): Block {\n return this._block(value, this.formats.block);\n }\n\n blockWithTransactions(value: any): Block {\n return this._block(value, this.formats.blockWithTransactions);\n }\n\n // Strict! Used on input.\n transactionRequest(value: any): any {\n return Formatter.check(this.formats.transactionRequest, value);\n }\n\n transactionResponse(transaction: any): TransactionResponse {\n\n // Rename gas to gasLimit\n if (transaction.gas != null && transaction.gasLimit == null) {\n transaction.gasLimit = transaction.gas;\n }\n\n // Some clients (TestRPC) do strange things like return 0x0 for the\n // 0 address; correct this to be a real address\n if (transaction.to && BigNumber.from(transaction.to).isZero()) {\n transaction.to = \"0x0000000000000000000000000000000000000000\";\n }\n\n // Rename input to data\n if (transaction.input != null && transaction.data == null) {\n transaction.data = transaction.input;\n }\n\n // If to and creates are empty, populate the creates from the transaction\n if (transaction.to == null && transaction.creates == null) {\n transaction.creates = this.contractAddress(transaction);\n }\n\n if ((transaction.type === 1 || transaction.type === 2)&& transaction.accessList == null) {\n transaction.accessList = [ ];\n }\n\n const result: TransactionResponse = Formatter.check(this.formats.transaction, transaction);\n\n if (transaction.chainId != null) {\n let chainId = transaction.chainId;\n\n if (isHexString(chainId)) {\n chainId = BigNumber.from(chainId).toNumber();\n }\n\n result.chainId = chainId;\n\n } else {\n let chainId = transaction.networkId;\n\n // geth-etc returns chainId\n if (chainId == null && result.v == null) {\n chainId = transaction.chainId;\n }\n\n if (isHexString(chainId)) {\n chainId = BigNumber.from(chainId).toNumber();\n }\n\n if (typeof(chainId) !== \"number\" && result.v != null) {\n chainId = (result.v - 35) / 2;\n if (chainId < 0) { chainId = 0; }\n chainId = parseInt(chainId);\n }\n\n if (typeof(chainId) !== \"number\") { chainId = 0; }\n\n result.chainId = chainId;\n }\n\n // 0x0000... should actually be null\n if (result.blockHash && result.blockHash.replace(/0/g, \"\") === \"x\") {\n result.blockHash = null;\n }\n\n return result;\n }\n\n transaction(value: any): any {\n return parseTransaction(value);\n }\n\n receiptLog(value: any): any {\n return Formatter.check(this.formats.receiptLog, value);\n }\n\n receipt(value: any): TransactionReceipt {\n const result: TransactionReceipt = Formatter.check(this.formats.receipt, value);\n\n // RSK incorrectly implemented EIP-658, so we munge things a bit here for it\n if (result.root != null) {\n if (result.root.length <= 4) {\n // Could be 0x00, 0x0, 0x01 or 0x1\n const value = BigNumber.from(result.root).toNumber();\n if (value === 0 || value === 1) {\n // Make sure if both are specified, they match\n if (result.status != null && (result.status !== value)) {\n logger.throwArgumentError(\"alt-root-status/status mismatch\", \"value\", { root: result.root, status: result.status });\n }\n result.status = value;\n delete result.root;\n } else {\n logger.throwArgumentError(\"invalid alt-root-status\", \"value.root\", result.root);\n }\n } else if (result.root.length !== 66) {\n // Must be a valid bytes32\n logger.throwArgumentError(\"invalid root hash\", \"value.root\", result.root);\n }\n }\n\n if (result.status != null) {\n result.byzantium = true;\n }\n\n return result;\n }\n\n topics(value: any): any {\n if (Array.isArray(value)) {\n return value.map((v) => this.topics(v));\n\n } else if (value != null) {\n return this.hash(value, true);\n }\n\n return null;\n }\n\n filter(value: any): any {\n return Formatter.check(this.formats.filter, value);\n }\n\n filterLog(value: any): any {\n return Formatter.check(this.formats.filterLog, value);\n }\n\n static check(format: { [ name: string ]: FormatFunc }, object: any): any {\n const result: any = {};\n for (const key in format) {\n try {\n const value = format[key](object[key]);\n if (value !== undefined) { result[key] = value; }\n } catch (error) {\n error.checkKey = key;\n error.checkValue = object[key];\n throw error;\n }\n }\n return result;\n }\n\n // if value is null-ish, nullValue is returned\n static allowNull(format: FormatFunc, nullValue?: any): FormatFunc {\n return (function(value: any) {\n if (value == null) { return nullValue; }\n return format(value);\n });\n }\n\n // If value is false-ish, replaceValue is returned\n static allowFalsish(format: FormatFunc, replaceValue: any): FormatFunc {\n return (function(value: any) {\n if (!value) { return replaceValue; }\n return format(value);\n });\n }\n\n // Requires an Array satisfying check\n static arrayOf(format: FormatFunc): FormatFunc {\n return (function(array: any): Array {\n if (!Array.isArray(array)) { throw new Error(\"not an array\"); }\n\n const result: any = [];\n\n array.forEach(function(value) {\n result.push(format(value));\n });\n\n return result;\n });\n }\n}\n\nexport interface CommunityResourcable {\n isCommunityResource(): boolean;\n}\n\nexport function isCommunityResourcable(value: any): value is CommunityResourcable {\n return (value && typeof(value.isCommunityResource) === \"function\");\n}\n\nexport function isCommunityResource(value: any): boolean {\n return (isCommunityResourcable(value) && value.isCommunityResource());\n}\n\n// Show the throttle message only once\nlet throttleMessage = false;\nexport function showThrottleMessage() {\n if (throttleMessage) { return; }\n throttleMessage = true;\n\n console.log(\"========= NOTICE =========\")\n console.log(\"Request-Rate Exceeded (this message will not be repeated)\");\n console.log(\"\");\n console.log(\"The default API keys for each service are provided as a highly-throttled,\");\n console.log(\"community resource for low-traffic projects and early prototyping.\");\n console.log(\"\");\n console.log(\"While your application will continue to function, we highly recommended\");\n console.log(\"signing up for your own API keys to improve performance, increase your\");\n console.log(\"request rate/limit and enable other perks, such as metrics and advanced APIs.\");\n console.log(\"\");\n console.log(\"For more details: https:/\\/docs.ethers.io/api-keys/\");\n console.log(\"==========================\");\n}\n\n","\"use strict\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { showThrottleMessage } from \"./formatter\";\nimport { WebSocketProvider } from \"./websocket-provider\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\n// This key was provided to ethers.js by Alchemy to be used by the\n// default provider, but it is recommended that for your own\n// production environments, that you acquire your own API key at:\n// https://dashboard.alchemyapi.io\nconst defaultApiKey = \"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\";\nexport class AlchemyWebSocketProvider extends WebSocketProvider {\n constructor(network, apiKey) {\n const provider = new AlchemyProvider(network, apiKey);\n const url = provider.connection.url.replace(/^http/i, \"ws\")\n .replace(\".alchemyapi.\", \".ws.alchemyapi.\");\n super(url, provider.network);\n defineReadOnly(this, \"apiKey\", provider.apiKey);\n }\n isCommunityResource() {\n return (this.apiKey === defaultApiKey);\n }\n}\nexport class AlchemyProvider extends UrlJsonRpcProvider {\n static getWebSocketProvider(network, apiKey) {\n return new AlchemyWebSocketProvider(network, apiKey);\n }\n static getApiKey(apiKey) {\n if (apiKey == null) {\n return defaultApiKey;\n }\n if (apiKey && typeof (apiKey) !== \"string\") {\n logger.throwArgumentError(\"invalid apiKey\", \"apiKey\", apiKey);\n }\n return apiKey;\n }\n static getUrl(network, apiKey) {\n let host = null;\n switch (network.name) {\n case \"homestead\":\n host = \"eth-mainnet.alchemyapi.io/v2/\";\n break;\n case \"goerli\":\n host = \"eth-goerli.g.alchemy.com/v2/\";\n break;\n case \"matic\":\n host = \"polygon-mainnet.g.alchemy.com/v2/\";\n break;\n case \"maticmum\":\n host = \"polygon-mumbai.g.alchemy.com/v2/\";\n break;\n case \"arbitrum\":\n host = \"arb-mainnet.g.alchemy.com/v2/\";\n break;\n case \"arbitrum-goerli\":\n host = \"arb-goerli.g.alchemy.com/v2/\";\n break;\n case \"optimism\":\n host = \"opt-mainnet.g.alchemy.com/v2/\";\n break;\n case \"optimism-goerli\":\n host = \"opt-goerli.g.alchemy.com/v2/\";\n break;\n default:\n logger.throwArgumentError(\"unsupported network\", \"network\", arguments[0]);\n }\n return {\n allowGzip: true,\n url: (\"https:/\" + \"/\" + host + apiKey),\n throttleCallback: (attempt, url) => {\n if (apiKey === defaultApiKey) {\n showThrottleMessage();\n }\n return Promise.resolve(true);\n }\n };\n }\n isCommunityResource() {\n return (this.apiKey === defaultApiKey);\n }\n}\n//# sourceMappingURL=alchemy-provider.js.map","\"use strict\";\n\nimport { Network, Networkish } from \"@ethersproject/networks\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { ConnectionInfo } from \"@ethersproject/web\";\n\nimport { CommunityResourcable, showThrottleMessage } from \"./formatter\";\nimport { WebSocketProvider } from \"./websocket-provider\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\n\n// This key was provided to ethers.js by Alchemy to be used by the\n// default provider, but it is recommended that for your own\n// production environments, that you acquire your own API key at:\n// https://dashboard.alchemyapi.io\n\nconst defaultApiKey = \"_gg7wSSi0KMBsdKnGVfHDueq6xMB9EkC\"\n\nexport class AlchemyWebSocketProvider extends WebSocketProvider implements CommunityResourcable {\n readonly apiKey: string;\n\n constructor(network?: Networkish, apiKey?: any) {\n const provider = new AlchemyProvider(network, apiKey);\n\n const url = provider.connection.url.replace(/^http/i, \"ws\")\n .replace(\".alchemyapi.\", \".ws.alchemyapi.\");\n\n super(url, provider.network);\n defineReadOnly(this, \"apiKey\", provider.apiKey);\n }\n\n isCommunityResource(): boolean {\n return (this.apiKey === defaultApiKey);\n }\n}\n\nexport class AlchemyProvider extends UrlJsonRpcProvider {\n\n static getWebSocketProvider(network?: Networkish, apiKey?: any): AlchemyWebSocketProvider {\n return new AlchemyWebSocketProvider(network, apiKey);\n }\n\n static getApiKey(apiKey: any): any {\n if (apiKey == null) { return defaultApiKey; }\n if (apiKey && typeof(apiKey) !== \"string\") {\n logger.throwArgumentError(\"invalid apiKey\", \"apiKey\", apiKey);\n }\n return apiKey;\n }\n\n static getUrl(network: Network, apiKey: string): ConnectionInfo {\n let host = null;\n switch (network.name) {\n case \"homestead\":\n host = \"eth-mainnet.alchemyapi.io/v2/\";\n break;\n case \"goerli\":\n host = \"eth-goerli.g.alchemy.com/v2/\";\n break;\n case \"matic\":\n host = \"polygon-mainnet.g.alchemy.com/v2/\";\n break;\n case \"maticmum\":\n host = \"polygon-mumbai.g.alchemy.com/v2/\";\n break;\n case \"arbitrum\":\n host = \"arb-mainnet.g.alchemy.com/v2/\";\n break;\n case \"arbitrum-goerli\":\n host = \"arb-goerli.g.alchemy.com/v2/\";\n break;\n case \"optimism\":\n host = \"opt-mainnet.g.alchemy.com/v2/\";\n break;\n case \"optimism-goerli\":\n host = \"opt-goerli.g.alchemy.com/v2/\"\n break;\n default:\n logger.throwArgumentError(\"unsupported network\", \"network\", arguments[0]);\n }\n\n return {\n allowGzip: true,\n url: (\"https:/\" + \"/\" + host + apiKey),\n throttleCallback: (attempt: number, url: string) => {\n if (apiKey === defaultApiKey) {\n showThrottleMessage();\n }\n return Promise.resolve(true);\n }\n };\n }\n\n isCommunityResource(): boolean {\n return (this.apiKey === defaultApiKey);\n }\n}\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { JsonRpcProvider } from \"./json-rpc-provider\";\nimport { WebSocket } from \"./ws\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n/**\n * Notes:\n *\n * This provider differs a bit from the polling providers. One main\n * difference is how it handles consistency. The polling providers\n * will stall responses to ensure a consistent state, while this\n * WebSocket provider assumes the connected backend will manage this.\n *\n * For example, if a polling provider emits an event which indicates\n * the event occurred in blockhash XXX, a call to fetch that block by\n * its hash XXX, if not present will retry until it is present. This\n * can occur when querying a pool of nodes that are mildly out of sync\n * with each other.\n */\nlet NextId = 1;\n// For more info about the Real-time Event API see:\n// https://geth.ethereum.org/docs/rpc/pubsub\nexport class WebSocketProvider extends JsonRpcProvider {\n constructor(url, network) {\n // This will be added in the future; please open an issue to expedite\n if (network === \"any\") {\n logger.throwError(\"WebSocketProvider does not support 'any' network yet\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"network:any\"\n });\n }\n if (typeof (url) === \"string\") {\n super(url, network);\n }\n else {\n super(\"_websocket\", network);\n }\n this._pollingInterval = -1;\n this._wsReady = false;\n if (typeof (url) === \"string\") {\n defineReadOnly(this, \"_websocket\", new WebSocket(this.connection.url));\n }\n else {\n defineReadOnly(this, \"_websocket\", url);\n }\n defineReadOnly(this, \"_requests\", {});\n defineReadOnly(this, \"_subs\", {});\n defineReadOnly(this, \"_subIds\", {});\n defineReadOnly(this, \"_detectNetwork\", super.detectNetwork());\n // Stall sending requests until the socket is open...\n this.websocket.onopen = () => {\n this._wsReady = true;\n Object.keys(this._requests).forEach((id) => {\n this.websocket.send(this._requests[id].payload);\n });\n };\n this.websocket.onmessage = (messageEvent) => {\n const data = messageEvent.data;\n const result = JSON.parse(data);\n if (result.id != null) {\n const id = String(result.id);\n const request = this._requests[id];\n delete this._requests[id];\n if (result.result !== undefined) {\n request.callback(null, result.result);\n this.emit(\"debug\", {\n action: \"response\",\n request: JSON.parse(request.payload),\n response: result.result,\n provider: this\n });\n }\n else {\n let error = null;\n if (result.error) {\n error = new Error(result.error.message || \"unknown error\");\n defineReadOnly(error, \"code\", result.error.code || null);\n defineReadOnly(error, \"response\", data);\n }\n else {\n error = new Error(\"unknown error\");\n }\n request.callback(error, undefined);\n this.emit(\"debug\", {\n action: \"response\",\n error: error,\n request: JSON.parse(request.payload),\n provider: this\n });\n }\n }\n else if (result.method === \"eth_subscription\") {\n // Subscription...\n const sub = this._subs[result.params.subscription];\n if (sub) {\n //this.emit.apply(this, );\n sub.processFunc(result.params.result);\n }\n }\n else {\n console.warn(\"this should not happen\");\n }\n };\n // This Provider does not actually poll, but we want to trigger\n // poll events for things that depend on them (like stalling for\n // block and transaction lookups)\n const fauxPoll = setInterval(() => {\n this.emit(\"poll\");\n }, 1000);\n if (fauxPoll.unref) {\n fauxPoll.unref();\n }\n }\n // Cannot narrow the type of _websocket, as that is not backwards compatible\n // so we add a getter and let the WebSocket be a public API.\n get websocket() { return this._websocket; }\n detectNetwork() {\n return this._detectNetwork;\n }\n get pollingInterval() {\n return 0;\n }\n resetEventsBlock(blockNumber) {\n logger.throwError(\"cannot reset events block on WebSocketProvider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"resetEventBlock\"\n });\n }\n set pollingInterval(value) {\n logger.throwError(\"cannot set polling interval on WebSocketProvider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setPollingInterval\"\n });\n }\n poll() {\n return __awaiter(this, void 0, void 0, function* () {\n return null;\n });\n }\n set polling(value) {\n if (!value) {\n return;\n }\n logger.throwError(\"cannot set polling on WebSocketProvider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setPolling\"\n });\n }\n send(method, params) {\n const rid = NextId++;\n return new Promise((resolve, reject) => {\n function callback(error, result) {\n if (error) {\n return reject(error);\n }\n return resolve(result);\n }\n const payload = JSON.stringify({\n method: method,\n params: params,\n id: rid,\n jsonrpc: \"2.0\"\n });\n this.emit(\"debug\", {\n action: \"request\",\n request: JSON.parse(payload),\n provider: this\n });\n this._requests[String(rid)] = { callback, payload };\n if (this._wsReady) {\n this.websocket.send(payload);\n }\n });\n }\n static defaultUrl() {\n return \"ws:/\\/localhost:8546\";\n }\n _subscribe(tag, param, processFunc) {\n return __awaiter(this, void 0, void 0, function* () {\n let subIdPromise = this._subIds[tag];\n if (subIdPromise == null) {\n subIdPromise = Promise.all(param).then((param) => {\n return this.send(\"eth_subscribe\", param);\n });\n this._subIds[tag] = subIdPromise;\n }\n const subId = yield subIdPromise;\n this._subs[subId] = { tag, processFunc };\n });\n }\n _startEvent(event) {\n switch (event.type) {\n case \"block\":\n this._subscribe(\"block\", [\"newHeads\"], (result) => {\n const blockNumber = BigNumber.from(result.number).toNumber();\n this._emitted.block = blockNumber;\n this.emit(\"block\", blockNumber);\n });\n break;\n case \"pending\":\n this._subscribe(\"pending\", [\"newPendingTransactions\"], (result) => {\n this.emit(\"pending\", result);\n });\n break;\n case \"filter\":\n this._subscribe(event.tag, [\"logs\", this._getFilter(event.filter)], (result) => {\n if (result.removed == null) {\n result.removed = false;\n }\n this.emit(event.filter, this.formatter.filterLog(result));\n });\n break;\n case \"tx\": {\n const emitReceipt = (event) => {\n const hash = event.hash;\n this.getTransactionReceipt(hash).then((receipt) => {\n if (!receipt) {\n return;\n }\n this.emit(hash, receipt);\n });\n };\n // In case it is already mined\n emitReceipt(event);\n // To keep things simple, we start up a single newHeads subscription\n // to keep an eye out for transactions we are watching for.\n // Starting a subscription for an event (i.e. \"tx\") that is already\n // running is (basically) a nop.\n this._subscribe(\"tx\", [\"newHeads\"], (result) => {\n this._events.filter((e) => (e.type === \"tx\")).forEach(emitReceipt);\n });\n break;\n }\n // Nothing is needed\n case \"debug\":\n case \"poll\":\n case \"willPoll\":\n case \"didPoll\":\n case \"error\":\n break;\n default:\n console.log(\"unhandled:\", event);\n break;\n }\n }\n _stopEvent(event) {\n let tag = event.tag;\n if (event.type === \"tx\") {\n // There are remaining transaction event listeners\n if (this._events.filter((e) => (e.type === \"tx\")).length) {\n return;\n }\n tag = \"tx\";\n }\n else if (this.listenerCount(event.event)) {\n // There are remaining event listeners\n return;\n }\n const subId = this._subIds[tag];\n if (!subId) {\n return;\n }\n delete this._subIds[tag];\n subId.then((subId) => {\n if (!this._subs[subId]) {\n return;\n }\n delete this._subs[subId];\n this.send(\"eth_unsubscribe\", [subId]);\n });\n }\n destroy() {\n return __awaiter(this, void 0, void 0, function* () {\n // Wait until we have connected before trying to disconnect\n if (this.websocket.readyState === WebSocket.CONNECTING) {\n yield (new Promise((resolve) => {\n this.websocket.onopen = function () {\n resolve(true);\n };\n this.websocket.onerror = function () {\n resolve(false);\n };\n }));\n }\n // Hangup\n // See: https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent#Status_codes\n this.websocket.close(1000);\n });\n }\n}\n//# sourceMappingURL=websocket-provider.js.map","\"use strict\";\n\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { Network, Networkish } from \"@ethersproject/networks\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Event } from \"./base-provider\";\nimport { JsonRpcProvider } from \"./json-rpc-provider\";\nimport { WebSocket } from \"./ws\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n/**\n * Notes:\n *\n * This provider differs a bit from the polling providers. One main\n * difference is how it handles consistency. The polling providers\n * will stall responses to ensure a consistent state, while this\n * WebSocket provider assumes the connected backend will manage this.\n *\n * For example, if a polling provider emits an event which indicates\n * the event occurred in blockhash XXX, a call to fetch that block by\n * its hash XXX, if not present will retry until it is present. This\n * can occur when querying a pool of nodes that are mildly out of sync\n * with each other.\n */\n\nlet NextId = 1;\n\nexport type InflightRequest = {\n callback: (error: Error, result: any) => void;\n payload: string;\n};\n\nexport type Subscription = {\n tag: string;\n processFunc: (payload: any) => void;\n};\n\nexport interface WebSocketLike {\n onopen: ((...args: Array) => any) | null;\n onmessage: ((...args: Array) => any) | null;\n onerror: ((...args: Array) => any) | null;\n\n readyState: number;\n\n send(payload: any): void;\n close(code?: number, reason?: string): void;\n}\n\n// For more info about the Real-time Event API see:\n// https://geth.ethereum.org/docs/rpc/pubsub\n\nexport class WebSocketProvider extends JsonRpcProvider {\n readonly _websocket: any;\n readonly _requests: { [ name: string ]: InflightRequest };\n readonly _detectNetwork: Promise;\n\n // Maps event tag to subscription ID (we dedupe identical events)\n readonly _subIds: { [ tag: string ]: Promise };\n\n // Maps Subscription ID to Subscription\n readonly _subs: { [ name: string ]: Subscription };\n\n _wsReady: boolean;\n\n constructor(url: string | WebSocketLike, network?: Networkish) {\n\n // This will be added in the future; please open an issue to expedite\n if (network === \"any\") {\n logger.throwError(\"WebSocketProvider does not support 'any' network yet\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"network:any\"\n });\n }\n\n if (typeof(url) === \"string\") {\n super(url, network);\n } else {\n super(\"_websocket\", network);\n }\n\n this._pollingInterval = -1;\n\n this._wsReady = false;\n\n if (typeof(url) === \"string\") {\n defineReadOnly(this, \"_websocket\", new WebSocket(this.connection.url));\n } else {\n defineReadOnly(this, \"_websocket\", url);\n }\n\n defineReadOnly(this, \"_requests\", { });\n defineReadOnly(this, \"_subs\", { });\n defineReadOnly(this, \"_subIds\", { });\n defineReadOnly(this, \"_detectNetwork\", super.detectNetwork());\n\n // Stall sending requests until the socket is open...\n this.websocket.onopen = () => {\n this._wsReady = true;\n Object.keys(this._requests).forEach((id) => {\n this.websocket.send(this._requests[id].payload);\n });\n };\n\n this.websocket.onmessage = (messageEvent: { data: string }) => {\n const data = messageEvent.data;\n const result = JSON.parse(data);\n if (result.id != null) {\n const id = String(result.id);\n const request = this._requests[id];\n delete this._requests[id];\n\n if (result.result !== undefined) {\n request.callback(null, result.result);\n\n this.emit(\"debug\", {\n action: \"response\",\n request: JSON.parse(request.payload),\n response: result.result,\n provider: this\n });\n\n } else {\n let error: Error = null;\n if (result.error) {\n error = new Error(result.error.message || \"unknown error\");\n defineReadOnly(error, \"code\", result.error.code || null);\n defineReadOnly(error, \"response\", data);\n } else {\n error = new Error(\"unknown error\");\n }\n\n request.callback(error, undefined);\n\n this.emit(\"debug\", {\n action: \"response\",\n error: error,\n request: JSON.parse(request.payload),\n provider: this\n });\n\n }\n\n } else if (result.method === \"eth_subscription\") {\n // Subscription...\n const sub = this._subs[result.params.subscription];\n if (sub) {\n //this.emit.apply(this, );\n sub.processFunc(result.params.result)\n }\n\n } else {\n console.warn(\"this should not happen\");\n }\n };\n\n // This Provider does not actually poll, but we want to trigger\n // poll events for things that depend on them (like stalling for\n // block and transaction lookups)\n const fauxPoll = setInterval(() => {\n this.emit(\"poll\");\n }, 1000);\n if (fauxPoll.unref) { fauxPoll.unref(); }\n }\n\n // Cannot narrow the type of _websocket, as that is not backwards compatible\n // so we add a getter and let the WebSocket be a public API.\n get websocket(): WebSocketLike { return this._websocket; }\n\n detectNetwork(): Promise {\n return this._detectNetwork;\n }\n\n get pollingInterval(): number {\n return 0;\n }\n\n resetEventsBlock(blockNumber: number): void {\n logger.throwError(\"cannot reset events block on WebSocketProvider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"resetEventBlock\"\n });\n }\n\n set pollingInterval(value: number) {\n logger.throwError(\"cannot set polling interval on WebSocketProvider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setPollingInterval\"\n });\n }\n\n async poll(): Promise {\n return null;\n }\n\n set polling(value: boolean) {\n if (!value) { return; }\n\n logger.throwError(\"cannot set polling on WebSocketProvider\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setPolling\"\n });\n }\n\n send(method: string, params?: Array): Promise {\n const rid = NextId++;\n\n return new Promise((resolve, reject) => {\n function callback(error: Error, result: any) {\n if (error) { return reject(error); }\n return resolve(result);\n }\n\n const payload = JSON.stringify({\n method: method,\n params: params,\n id: rid,\n jsonrpc: \"2.0\"\n });\n\n this.emit(\"debug\", {\n action: \"request\",\n request: JSON.parse(payload),\n provider: this\n });\n\n this._requests[String(rid)] = { callback, payload };\n\n if (this._wsReady) { this.websocket.send(payload); }\n });\n }\n\n static defaultUrl(): string {\n return \"ws:/\\/localhost:8546\";\n }\n\n async _subscribe(tag: string, param: Array, processFunc: (result: any) => void): Promise {\n let subIdPromise = this._subIds[tag];\n if (subIdPromise == null) {\n subIdPromise = Promise.all(param).then((param) => {\n return this.send(\"eth_subscribe\", param);\n });\n this._subIds[tag] = subIdPromise;\n }\n const subId = await subIdPromise;\n this._subs[subId] = { tag, processFunc };\n }\n\n _startEvent(event: Event): void {\n switch (event.type) {\n case \"block\":\n this._subscribe(\"block\", [ \"newHeads\" ], (result: any) => {\n const blockNumber = BigNumber.from(result.number).toNumber();\n this._emitted.block = blockNumber;\n this.emit(\"block\", blockNumber);\n });\n break;\n\n case \"pending\":\n this._subscribe(\"pending\", [ \"newPendingTransactions\" ], (result: any) => {\n this.emit(\"pending\", result);\n });\n break;\n\n case \"filter\":\n this._subscribe(event.tag, [ \"logs\", this._getFilter(event.filter) ], (result: any) => {\n if (result.removed == null) { result.removed = false; }\n this.emit(event.filter, this.formatter.filterLog(result));\n });\n break;\n\n case \"tx\": {\n const emitReceipt = (event: Event) => {\n const hash = event.hash;\n this.getTransactionReceipt(hash).then((receipt) => {\n if (!receipt) { return; }\n this.emit(hash, receipt);\n });\n };\n\n // In case it is already mined\n emitReceipt(event);\n\n // To keep things simple, we start up a single newHeads subscription\n // to keep an eye out for transactions we are watching for.\n // Starting a subscription for an event (i.e. \"tx\") that is already\n // running is (basically) a nop.\n this._subscribe(\"tx\", [ \"newHeads\" ], (result: any) => {\n this._events.filter((e) => (e.type === \"tx\")).forEach(emitReceipt);\n });\n break;\n }\n\n // Nothing is needed\n case \"debug\":\n case \"poll\":\n case \"willPoll\":\n case \"didPoll\":\n case \"error\":\n break;\n\n default:\n console.log(\"unhandled:\", event);\n break;\n }\n }\n\n _stopEvent(event: Event): void {\n let tag = event.tag;\n\n if (event.type === \"tx\") {\n // There are remaining transaction event listeners\n if (this._events.filter((e) => (e.type === \"tx\")).length) {\n return;\n }\n tag = \"tx\";\n } else if (this.listenerCount(event.event)) {\n // There are remaining event listeners\n return;\n }\n\n const subId = this._subIds[tag];\n if (!subId) { return; }\n\n delete this._subIds[tag];\n subId.then((subId) => {\n if (!this._subs[subId]) { return; }\n delete this._subs[subId];\n this.send(\"eth_unsubscribe\", [ subId ]);\n });\n }\n\n async destroy(): Promise {\n // Wait until we have connected before trying to disconnect\n if (this.websocket.readyState === WebSocket.CONNECTING) {\n await (new Promise((resolve) => {\n this.websocket.onopen = function() {\n resolve(true);\n };\n\n this.websocket.onerror = function() {\n resolve(false);\n };\n }));\n }\n\n // Hangup\n // See: https://developer.mozilla.org/en-US/docs/Web/API/CloseEvent#Status_codes\n this.websocket.close(1000);\n }\n}\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Signer } from \"@ethersproject/abstract-signer\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { hexlify, hexValue, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { _TypedDataEncoder } from \"@ethersproject/hash\";\nimport { checkProperties, deepCopy, defineReadOnly, getStatic, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nimport { accessListify } from \"@ethersproject/transactions\";\nimport { fetchJson, poll } from \"@ethersproject/web\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { BaseProvider } from \"./base-provider\";\nconst errorGas = [\"call\", \"estimateGas\"];\nfunction spelunk(value, requireData) {\n if (value == null) {\n return null;\n }\n // These *are* the droids we're looking for.\n if (typeof (value.message) === \"string\" && value.message.match(\"reverted\")) {\n const data = isHexString(value.data) ? value.data : null;\n if (!requireData || data) {\n return { message: value.message, data };\n }\n }\n // Spelunk further...\n if (typeof (value) === \"object\") {\n for (const key in value) {\n const result = spelunk(value[key], requireData);\n if (result) {\n return result;\n }\n }\n return null;\n }\n // Might be a JSON string we can further descend...\n if (typeof (value) === \"string\") {\n try {\n return spelunk(JSON.parse(value), requireData);\n }\n catch (error) { }\n }\n return null;\n}\nfunction checkError(method, error, params) {\n const transaction = params.transaction || params.signedTransaction;\n // Undo the \"convenience\" some nodes are attempting to prevent backwards\n // incompatibility; maybe for v6 consider forwarding reverts as errors\n if (method === \"call\") {\n const result = spelunk(error, true);\n if (result) {\n return result.data;\n }\n // Nothing descriptive..\n logger.throwError(\"missing revert data in call exception; Transaction reverted without a reason string\", Logger.errors.CALL_EXCEPTION, {\n data: \"0x\", transaction, error\n });\n }\n if (method === \"estimateGas\") {\n // Try to find something, with a preference on SERVER_ERROR body\n let result = spelunk(error.body, false);\n if (result == null) {\n result = spelunk(error, false);\n }\n // Found \"reverted\", this is a CALL_EXCEPTION\n if (result) {\n logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n reason: result.message, method, transaction, error\n });\n }\n }\n // @TODO: Should we spelunk for message too?\n let message = error.message;\n if (error.code === Logger.errors.SERVER_ERROR && error.error && typeof (error.error.message) === \"string\") {\n message = error.error.message;\n }\n else if (typeof (error.body) === \"string\") {\n message = error.body;\n }\n else if (typeof (error.responseText) === \"string\") {\n message = error.responseText;\n }\n message = (message || \"\").toLowerCase();\n // \"insufficient funds for gas * price + value + cost(data)\"\n if (message.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)) {\n logger.throwError(\"insufficient funds for intrinsic transaction cost\", Logger.errors.INSUFFICIENT_FUNDS, {\n error, method, transaction\n });\n }\n // \"nonce too low\"\n if (message.match(/nonce (is )?too low/i)) {\n logger.throwError(\"nonce has already been used\", Logger.errors.NONCE_EXPIRED, {\n error, method, transaction\n });\n }\n // \"replacement transaction underpriced\"\n if (message.match(/replacement transaction underpriced|transaction gas price.*too low/i)) {\n logger.throwError(\"replacement fee too low\", Logger.errors.REPLACEMENT_UNDERPRICED, {\n error, method, transaction\n });\n }\n // \"replacement transaction underpriced\"\n if (message.match(/only replay-protected/i)) {\n logger.throwError(\"legacy pre-eip-155 transactions not supported\", Logger.errors.UNSUPPORTED_OPERATION, {\n error, method, transaction\n });\n }\n if (errorGas.indexOf(method) >= 0 && message.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)) {\n logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n error, method, transaction\n });\n }\n throw error;\n}\nfunction timer(timeout) {\n return new Promise(function (resolve) {\n setTimeout(resolve, timeout);\n });\n}\nfunction getResult(payload) {\n if (payload.error) {\n // @TODO: not any\n const error = new Error(payload.error.message);\n error.code = payload.error.code;\n error.data = payload.error.data;\n throw error;\n }\n return payload.result;\n}\nfunction getLowerCase(value) {\n if (value) {\n return value.toLowerCase();\n }\n return value;\n}\nconst _constructorGuard = {};\nexport class JsonRpcSigner extends Signer {\n constructor(constructorGuard, provider, addressOrIndex) {\n super();\n if (constructorGuard !== _constructorGuard) {\n throw new Error(\"do not call the JsonRpcSigner constructor directly; use provider.getSigner\");\n }\n defineReadOnly(this, \"provider\", provider);\n if (addressOrIndex == null) {\n addressOrIndex = 0;\n }\n if (typeof (addressOrIndex) === \"string\") {\n defineReadOnly(this, \"_address\", this.provider.formatter.address(addressOrIndex));\n defineReadOnly(this, \"_index\", null);\n }\n else if (typeof (addressOrIndex) === \"number\") {\n defineReadOnly(this, \"_index\", addressOrIndex);\n defineReadOnly(this, \"_address\", null);\n }\n else {\n logger.throwArgumentError(\"invalid address or index\", \"addressOrIndex\", addressOrIndex);\n }\n }\n connect(provider) {\n return logger.throwError(\"cannot alter JSON-RPC Signer connection\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"connect\"\n });\n }\n connectUnchecked() {\n return new UncheckedJsonRpcSigner(_constructorGuard, this.provider, this._address || this._index);\n }\n getAddress() {\n if (this._address) {\n return Promise.resolve(this._address);\n }\n return this.provider.send(\"eth_accounts\", []).then((accounts) => {\n if (accounts.length <= this._index) {\n logger.throwError(\"unknown account #\" + this._index, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"getAddress\"\n });\n }\n return this.provider.formatter.address(accounts[this._index]);\n });\n }\n sendUncheckedTransaction(transaction) {\n transaction = shallowCopy(transaction);\n const fromAddress = this.getAddress().then((address) => {\n if (address) {\n address = address.toLowerCase();\n }\n return address;\n });\n // The JSON-RPC for eth_sendTransaction uses 90000 gas; if the user\n // wishes to use this, it is easy to specify explicitly, otherwise\n // we look it up for them.\n if (transaction.gasLimit == null) {\n const estimate = shallowCopy(transaction);\n estimate.from = fromAddress;\n transaction.gasLimit = this.provider.estimateGas(estimate);\n }\n if (transaction.to != null) {\n transaction.to = Promise.resolve(transaction.to).then((to) => __awaiter(this, void 0, void 0, function* () {\n if (to == null) {\n return null;\n }\n const address = yield this.provider.resolveName(to);\n if (address == null) {\n logger.throwArgumentError(\"provided ENS name resolves to null\", \"tx.to\", to);\n }\n return address;\n }));\n }\n return resolveProperties({\n tx: resolveProperties(transaction),\n sender: fromAddress\n }).then(({ tx, sender }) => {\n if (tx.from != null) {\n if (tx.from.toLowerCase() !== sender) {\n logger.throwArgumentError(\"from address mismatch\", \"transaction\", transaction);\n }\n }\n else {\n tx.from = sender;\n }\n const hexTx = this.provider.constructor.hexlifyTransaction(tx, { from: true });\n return this.provider.send(\"eth_sendTransaction\", [hexTx]).then((hash) => {\n return hash;\n }, (error) => {\n if (typeof (error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected transaction\", Logger.errors.ACTION_REJECTED, {\n action: \"sendTransaction\",\n transaction: tx\n });\n }\n return checkError(\"sendTransaction\", error, hexTx);\n });\n });\n }\n signTransaction(transaction) {\n return logger.throwError(\"signing transactions is unsupported\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"signTransaction\"\n });\n }\n sendTransaction(transaction) {\n return __awaiter(this, void 0, void 0, function* () {\n // This cannot be mined any earlier than any recent block\n const blockNumber = yield this.provider._getInternalBlockNumber(100 + 2 * this.provider.pollingInterval);\n // Send the transaction\n const hash = yield this.sendUncheckedTransaction(transaction);\n try {\n // Unfortunately, JSON-RPC only provides and opaque transaction hash\n // for a response, and we need the actual transaction, so we poll\n // for it; it should show up very quickly\n return yield poll(() => __awaiter(this, void 0, void 0, function* () {\n const tx = yield this.provider.getTransaction(hash);\n if (tx === null) {\n return undefined;\n }\n return this.provider._wrapTransaction(tx, hash, blockNumber);\n }), { oncePoll: this.provider });\n }\n catch (error) {\n error.transactionHash = hash;\n throw error;\n }\n });\n }\n signMessage(message) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = ((typeof (message) === \"string\") ? toUtf8Bytes(message) : message);\n const address = yield this.getAddress();\n try {\n return yield this.provider.send(\"personal_sign\", [hexlify(data), address.toLowerCase()]);\n }\n catch (error) {\n if (typeof (error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected signing\", Logger.errors.ACTION_REJECTED, {\n action: \"signMessage\",\n from: address,\n messageData: message\n });\n }\n throw error;\n }\n });\n }\n _legacySignMessage(message) {\n return __awaiter(this, void 0, void 0, function* () {\n const data = ((typeof (message) === \"string\") ? toUtf8Bytes(message) : message);\n const address = yield this.getAddress();\n try {\n // https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign\n return yield this.provider.send(\"eth_sign\", [address.toLowerCase(), hexlify(data)]);\n }\n catch (error) {\n if (typeof (error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected signing\", Logger.errors.ACTION_REJECTED, {\n action: \"_legacySignMessage\",\n from: address,\n messageData: message\n });\n }\n throw error;\n }\n });\n }\n _signTypedData(domain, types, value) {\n return __awaiter(this, void 0, void 0, function* () {\n // Populate any ENS names (in-place)\n const populated = yield _TypedDataEncoder.resolveNames(domain, types, value, (name) => {\n return this.provider.resolveName(name);\n });\n const address = yield this.getAddress();\n try {\n return yield this.provider.send(\"eth_signTypedData_v4\", [\n address.toLowerCase(),\n JSON.stringify(_TypedDataEncoder.getPayload(populated.domain, types, populated.value))\n ]);\n }\n catch (error) {\n if (typeof (error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected signing\", Logger.errors.ACTION_REJECTED, {\n action: \"_signTypedData\",\n from: address,\n messageData: { domain: populated.domain, types, value: populated.value }\n });\n }\n throw error;\n }\n });\n }\n unlock(password) {\n return __awaiter(this, void 0, void 0, function* () {\n const provider = this.provider;\n const address = yield this.getAddress();\n return provider.send(\"personal_unlockAccount\", [address.toLowerCase(), password, null]);\n });\n }\n}\nclass UncheckedJsonRpcSigner extends JsonRpcSigner {\n sendTransaction(transaction) {\n return this.sendUncheckedTransaction(transaction).then((hash) => {\n return {\n hash: hash,\n nonce: null,\n gasLimit: null,\n gasPrice: null,\n data: null,\n value: null,\n chainId: null,\n confirmations: 0,\n from: null,\n wait: (confirmations) => { return this.provider.waitForTransaction(hash, confirmations); }\n };\n });\n }\n}\nconst allowedTransactionKeys = {\n chainId: true, data: true, gasLimit: true, gasPrice: true, nonce: true, to: true, value: true,\n type: true, accessList: true,\n maxFeePerGas: true, maxPriorityFeePerGas: true\n};\nexport class JsonRpcProvider extends BaseProvider {\n constructor(url, network) {\n let networkOrReady = network;\n // The network is unknown, query the JSON-RPC for it\n if (networkOrReady == null) {\n networkOrReady = new Promise((resolve, reject) => {\n setTimeout(() => {\n this.detectNetwork().then((network) => {\n resolve(network);\n }, (error) => {\n reject(error);\n });\n }, 0);\n });\n }\n super(networkOrReady);\n // Default URL\n if (!url) {\n url = getStatic(this.constructor, \"defaultUrl\")();\n }\n if (typeof (url) === \"string\") {\n defineReadOnly(this, \"connection\", Object.freeze({\n url: url\n }));\n }\n else {\n defineReadOnly(this, \"connection\", Object.freeze(shallowCopy(url)));\n }\n this._nextId = 42;\n }\n get _cache() {\n if (this._eventLoopCache == null) {\n this._eventLoopCache = {};\n }\n return this._eventLoopCache;\n }\n static defaultUrl() {\n return \"http:/\\/localhost:8545\";\n }\n detectNetwork() {\n if (!this._cache[\"detectNetwork\"]) {\n this._cache[\"detectNetwork\"] = this._uncachedDetectNetwork();\n // Clear this cache at the beginning of the next event loop\n setTimeout(() => {\n this._cache[\"detectNetwork\"] = null;\n }, 0);\n }\n return this._cache[\"detectNetwork\"];\n }\n _uncachedDetectNetwork() {\n return __awaiter(this, void 0, void 0, function* () {\n yield timer(0);\n let chainId = null;\n try {\n chainId = yield this.send(\"eth_chainId\", []);\n }\n catch (error) {\n try {\n chainId = yield this.send(\"net_version\", []);\n }\n catch (error) { }\n }\n if (chainId != null) {\n const getNetwork = getStatic(this.constructor, \"getNetwork\");\n try {\n return getNetwork(BigNumber.from(chainId).toNumber());\n }\n catch (error) {\n return logger.throwError(\"could not detect network\", Logger.errors.NETWORK_ERROR, {\n chainId: chainId,\n event: \"invalidNetwork\",\n serverError: error\n });\n }\n }\n return logger.throwError(\"could not detect network\", Logger.errors.NETWORK_ERROR, {\n event: \"noNetwork\"\n });\n });\n }\n getSigner(addressOrIndex) {\n return new JsonRpcSigner(_constructorGuard, this, addressOrIndex);\n }\n getUncheckedSigner(addressOrIndex) {\n return this.getSigner(addressOrIndex).connectUnchecked();\n }\n listAccounts() {\n return this.send(\"eth_accounts\", []).then((accounts) => {\n return accounts.map((a) => this.formatter.address(a));\n });\n }\n send(method, params) {\n const request = {\n method: method,\n params: params,\n id: (this._nextId++),\n jsonrpc: \"2.0\"\n };\n this.emit(\"debug\", {\n action: \"request\",\n request: deepCopy(request),\n provider: this\n });\n // We can expand this in the future to any call, but for now these\n // are the biggest wins and do not require any serializing parameters.\n const cache = ([\"eth_chainId\", \"eth_blockNumber\"].indexOf(method) >= 0);\n if (cache && this._cache[method]) {\n return this._cache[method];\n }\n const result = fetchJson(this.connection, JSON.stringify(request), getResult).then((result) => {\n this.emit(\"debug\", {\n action: \"response\",\n request: request,\n response: result,\n provider: this\n });\n return result;\n }, (error) => {\n this.emit(\"debug\", {\n action: \"response\",\n error: error,\n request: request,\n provider: this\n });\n throw error;\n });\n // Cache the fetch, but clear it on the next event loop\n if (cache) {\n this._cache[method] = result;\n setTimeout(() => {\n this._cache[method] = null;\n }, 0);\n }\n return result;\n }\n prepareRequest(method, params) {\n switch (method) {\n case \"getBlockNumber\":\n return [\"eth_blockNumber\", []];\n case \"getGasPrice\":\n return [\"eth_gasPrice\", []];\n case \"getBalance\":\n return [\"eth_getBalance\", [getLowerCase(params.address), params.blockTag]];\n case \"getTransactionCount\":\n return [\"eth_getTransactionCount\", [getLowerCase(params.address), params.blockTag]];\n case \"getCode\":\n return [\"eth_getCode\", [getLowerCase(params.address), params.blockTag]];\n case \"getStorageAt\":\n return [\"eth_getStorageAt\", [getLowerCase(params.address), hexZeroPad(params.position, 32), params.blockTag]];\n case \"sendTransaction\":\n return [\"eth_sendRawTransaction\", [params.signedTransaction]];\n case \"getBlock\":\n if (params.blockTag) {\n return [\"eth_getBlockByNumber\", [params.blockTag, !!params.includeTransactions]];\n }\n else if (params.blockHash) {\n return [\"eth_getBlockByHash\", [params.blockHash, !!params.includeTransactions]];\n }\n return null;\n case \"getTransaction\":\n return [\"eth_getTransactionByHash\", [params.transactionHash]];\n case \"getTransactionReceipt\":\n return [\"eth_getTransactionReceipt\", [params.transactionHash]];\n case \"call\": {\n const hexlifyTransaction = getStatic(this.constructor, \"hexlifyTransaction\");\n return [\"eth_call\", [hexlifyTransaction(params.transaction, { from: true }), params.blockTag]];\n }\n case \"estimateGas\": {\n const hexlifyTransaction = getStatic(this.constructor, \"hexlifyTransaction\");\n return [\"eth_estimateGas\", [hexlifyTransaction(params.transaction, { from: true })]];\n }\n case \"getLogs\":\n if (params.filter && params.filter.address != null) {\n params.filter.address = getLowerCase(params.filter.address);\n }\n return [\"eth_getLogs\", [params.filter]];\n default:\n break;\n }\n return null;\n }\n perform(method, params) {\n return __awaiter(this, void 0, void 0, function* () {\n // Legacy networks do not like the type field being passed along (which\n // is fair), so we delete type if it is 0 and a non-EIP-1559 network\n if (method === \"call\" || method === \"estimateGas\") {\n const tx = params.transaction;\n if (tx && tx.type != null && BigNumber.from(tx.type).isZero()) {\n // If there are no EIP-1559 properties, it might be non-EIP-1559\n if (tx.maxFeePerGas == null && tx.maxPriorityFeePerGas == null) {\n const feeData = yield this.getFeeData();\n if (feeData.maxFeePerGas == null && feeData.maxPriorityFeePerGas == null) {\n // Network doesn't know about EIP-1559 (and hence type)\n params = shallowCopy(params);\n params.transaction = shallowCopy(tx);\n delete params.transaction.type;\n }\n }\n }\n }\n const args = this.prepareRequest(method, params);\n if (args == null) {\n logger.throwError(method + \" not implemented\", Logger.errors.NOT_IMPLEMENTED, { operation: method });\n }\n try {\n return yield this.send(args[0], args[1]);\n }\n catch (error) {\n return checkError(method, error, params);\n }\n });\n }\n _startEvent(event) {\n if (event.tag === \"pending\") {\n this._startPending();\n }\n super._startEvent(event);\n }\n _startPending() {\n if (this._pendingFilter != null) {\n return;\n }\n const self = this;\n const pendingFilter = this.send(\"eth_newPendingTransactionFilter\", []);\n this._pendingFilter = pendingFilter;\n pendingFilter.then(function (filterId) {\n function poll() {\n self.send(\"eth_getFilterChanges\", [filterId]).then(function (hashes) {\n if (self._pendingFilter != pendingFilter) {\n return null;\n }\n let seq = Promise.resolve();\n hashes.forEach(function (hash) {\n // @TODO: This should be garbage collected at some point... How? When?\n self._emitted[\"t:\" + hash.toLowerCase()] = \"pending\";\n seq = seq.then(function () {\n return self.getTransaction(hash).then(function (tx) {\n self.emit(\"pending\", tx);\n return null;\n });\n });\n });\n return seq.then(function () {\n return timer(1000);\n });\n }).then(function () {\n if (self._pendingFilter != pendingFilter) {\n self.send(\"eth_uninstallFilter\", [filterId]);\n return;\n }\n setTimeout(function () { poll(); }, 0);\n return null;\n }).catch((error) => { });\n }\n poll();\n return filterId;\n }).catch((error) => { });\n }\n _stopEvent(event) {\n if (event.tag === \"pending\" && this.listenerCount(\"pending\") === 0) {\n this._pendingFilter = null;\n }\n super._stopEvent(event);\n }\n // Convert an ethers.js transaction into a JSON-RPC transaction\n // - gasLimit => gas\n // - All values hexlified\n // - All numeric values zero-striped\n // - All addresses are lowercased\n // NOTE: This allows a TransactionRequest, but all values should be resolved\n // before this is called\n // @TODO: This will likely be removed in future versions and prepareRequest\n // will be the preferred method for this.\n static hexlifyTransaction(transaction, allowExtra) {\n // Check only allowed properties are given\n const allowed = shallowCopy(allowedTransactionKeys);\n if (allowExtra) {\n for (const key in allowExtra) {\n if (allowExtra[key]) {\n allowed[key] = true;\n }\n }\n }\n checkProperties(transaction, allowed);\n const result = {};\n // JSON-RPC now requires numeric values to be \"quantity\" values\n [\"chainId\", \"gasLimit\", \"gasPrice\", \"type\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"nonce\", \"value\"].forEach(function (key) {\n if (transaction[key] == null) {\n return;\n }\n const value = hexValue(BigNumber.from(transaction[key]));\n if (key === \"gasLimit\") {\n key = \"gas\";\n }\n result[key] = value;\n });\n [\"from\", \"to\", \"data\"].forEach(function (key) {\n if (transaction[key] == null) {\n return;\n }\n result[key] = hexlify(transaction[key]);\n });\n if (transaction.accessList) {\n result[\"accessList\"] = accessListify(transaction.accessList);\n }\n return result;\n }\n}\n//# sourceMappingURL=json-rpc-provider.js.map","\"use strict\";\n\n// See: https://github.com/ethereum/wiki/wiki/JSON-RPC\n\nimport { Provider, TransactionRequest, TransactionResponse } from \"@ethersproject/abstract-provider\";\nimport { Signer, TypedDataDomain, TypedDataField, TypedDataSigner } from \"@ethersproject/abstract-signer\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { Bytes, hexlify, hexValue, hexZeroPad, isHexString } from \"@ethersproject/bytes\";\nimport { _TypedDataEncoder } from \"@ethersproject/hash\";\nimport { Network, Networkish } from \"@ethersproject/networks\";\nimport { checkProperties, deepCopy, Deferrable, defineReadOnly, getStatic, resolveProperties, shallowCopy } from \"@ethersproject/properties\";\nimport { toUtf8Bytes } from \"@ethersproject/strings\";\nimport { AccessList, accessListify } from \"@ethersproject/transactions\";\nimport { ConnectionInfo, fetchJson, poll } from \"@ethersproject/web\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { BaseProvider, Event } from \"./base-provider\";\n\n\nconst errorGas = [ \"call\", \"estimateGas\" ];\n\nfunction spelunk(value: any, requireData: boolean): null | { message: string, data: null | string } {\n if (value == null) { return null; }\n\n // These *are* the droids we're looking for.\n if (typeof(value.message) === \"string\" && value.message.match(\"reverted\")) {\n const data = isHexString(value.data) ? value.data: null;\n if (!requireData || data) {\n return { message: value.message, data };\n }\n }\n\n // Spelunk further...\n if (typeof(value) === \"object\") {\n for (const key in value) {\n const result = spelunk(value[key], requireData);\n if (result) { return result; }\n }\n return null;\n }\n\n // Might be a JSON string we can further descend...\n if (typeof(value) === \"string\") {\n try {\n return spelunk(JSON.parse(value), requireData);\n } catch (error) { }\n }\n\n return null;\n}\n\nfunction checkError(method: string, error: any, params: any): any {\n\n const transaction = params.transaction || params.signedTransaction;\n\n // Undo the \"convenience\" some nodes are attempting to prevent backwards\n // incompatibility; maybe for v6 consider forwarding reverts as errors\n if (method === \"call\") {\n const result = spelunk(error, true);\n if (result) { return result.data; }\n\n // Nothing descriptive..\n logger.throwError(\"missing revert data in call exception; Transaction reverted without a reason string\", Logger.errors.CALL_EXCEPTION, {\n data: \"0x\", transaction, error\n });\n }\n\n if (method === \"estimateGas\") {\n // Try to find something, with a preference on SERVER_ERROR body\n let result = spelunk(error.body, false);\n if (result == null) { result = spelunk(error, false); }\n\n // Found \"reverted\", this is a CALL_EXCEPTION\n if (result) {\n logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n reason: result.message, method, transaction, error\n });\n }\n }\n\n // @TODO: Should we spelunk for message too?\n\n let message = error.message;\n if (error.code === Logger.errors.SERVER_ERROR && error.error && typeof(error.error.message) === \"string\") {\n message = error.error.message;\n } else if (typeof(error.body) === \"string\") {\n message = error.body;\n } else if (typeof(error.responseText) === \"string\") {\n message = error.responseText;\n }\n message = (message || \"\").toLowerCase();\n\n // \"insufficient funds for gas * price + value + cost(data)\"\n if (message.match(/insufficient funds|base fee exceeds gas limit|InsufficientFunds/i)) {\n logger.throwError(\"insufficient funds for intrinsic transaction cost\", Logger.errors.INSUFFICIENT_FUNDS, {\n error, method, transaction\n });\n }\n\n // \"nonce too low\"\n if (message.match(/nonce (is )?too low/i)) {\n logger.throwError(\"nonce has already been used\", Logger.errors.NONCE_EXPIRED, {\n error, method, transaction\n });\n }\n\n // \"replacement transaction underpriced\"\n if (message.match(/replacement transaction underpriced|transaction gas price.*too low/i)) {\n logger.throwError(\"replacement fee too low\", Logger.errors.REPLACEMENT_UNDERPRICED, {\n error, method, transaction\n });\n }\n\n // \"replacement transaction underpriced\"\n if (message.match(/only replay-protected/i)) {\n logger.throwError(\"legacy pre-eip-155 transactions not supported\", Logger.errors.UNSUPPORTED_OPERATION, {\n error, method, transaction\n });\n }\n\n if (errorGas.indexOf(method) >= 0 && message.match(/gas required exceeds allowance|always failing transaction|execution reverted|revert/)) {\n logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n error, method, transaction\n });\n }\n\n throw error;\n}\n\nfunction timer(timeout: number): Promise {\n return new Promise(function(resolve) {\n setTimeout(resolve, timeout);\n });\n}\n\nfunction getResult(payload: { error?: { code?: number, data?: any, message?: string }, result?: any }): any {\n if (payload.error) {\n // @TODO: not any\n const error: any = new Error(payload.error.message);\n error.code = payload.error.code;\n error.data = payload.error.data;\n throw error;\n }\n\n return payload.result;\n}\n\nfunction getLowerCase(value: string): string {\n if (value) { return value.toLowerCase(); }\n return value;\n}\n\nconst _constructorGuard = {};\n\nexport class JsonRpcSigner extends Signer implements TypedDataSigner {\n readonly provider: JsonRpcProvider;\n _index: number;\n _address: string;\n\n constructor(constructorGuard: any, provider: JsonRpcProvider, addressOrIndex?: string | number) {\n super();\n\n if (constructorGuard !== _constructorGuard) {\n throw new Error(\"do not call the JsonRpcSigner constructor directly; use provider.getSigner\");\n }\n\n defineReadOnly(this, \"provider\", provider);\n\n if (addressOrIndex == null) { addressOrIndex = 0; }\n\n if (typeof(addressOrIndex) === \"string\") {\n defineReadOnly(this, \"_address\", this.provider.formatter.address(addressOrIndex));\n defineReadOnly(this, \"_index\", null);\n\n } else if (typeof(addressOrIndex) === \"number\") {\n defineReadOnly(this, \"_index\", addressOrIndex);\n defineReadOnly(this, \"_address\", null);\n\n } else {\n logger.throwArgumentError(\"invalid address or index\", \"addressOrIndex\", addressOrIndex);\n }\n }\n\n connect(provider: Provider): JsonRpcSigner {\n return logger.throwError(\"cannot alter JSON-RPC Signer connection\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"connect\"\n });\n }\n\n connectUnchecked(): JsonRpcSigner {\n return new UncheckedJsonRpcSigner(_constructorGuard, this.provider, this._address || this._index);\n }\n\n getAddress(): Promise {\n if (this._address) {\n return Promise.resolve(this._address);\n }\n\n return this.provider.send(\"eth_accounts\", []).then((accounts) => {\n if (accounts.length <= this._index) {\n logger.throwError(\"unknown account #\" + this._index, Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"getAddress\"\n });\n }\n return this.provider.formatter.address(accounts[this._index])\n });\n }\n\n sendUncheckedTransaction(transaction: Deferrable): Promise {\n transaction = shallowCopy(transaction);\n\n const fromAddress = this.getAddress().then((address) => {\n if (address) { address = address.toLowerCase(); }\n return address;\n });\n\n // The JSON-RPC for eth_sendTransaction uses 90000 gas; if the user\n // wishes to use this, it is easy to specify explicitly, otherwise\n // we look it up for them.\n if (transaction.gasLimit == null) {\n const estimate = shallowCopy(transaction);\n estimate.from = fromAddress;\n transaction.gasLimit = this.provider.estimateGas(estimate);\n }\n\n if (transaction.to != null) {\n transaction.to = Promise.resolve(transaction.to).then(async (to) => {\n if (to == null) { return null; }\n const address = await this.provider.resolveName(to);\n if (address == null) {\n logger.throwArgumentError(\"provided ENS name resolves to null\", \"tx.to\", to);\n }\n return address;\n });\n }\n\n return resolveProperties({\n tx: resolveProperties(transaction),\n sender: fromAddress\n }).then(({ tx, sender }) => {\n\n if (tx.from != null) {\n if (tx.from.toLowerCase() !== sender) {\n logger.throwArgumentError(\"from address mismatch\", \"transaction\", transaction);\n }\n } else {\n tx.from = sender;\n }\n\n const hexTx = (this.provider.constructor).hexlifyTransaction(tx, { from: true });\n\n return this.provider.send(\"eth_sendTransaction\", [ hexTx ]).then((hash) => {\n return hash;\n }, (error) => {\n if (typeof(error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected transaction\", Logger.errors.ACTION_REJECTED, {\n action: \"sendTransaction\",\n transaction: tx\n });\n }\n\n return checkError(\"sendTransaction\", error, hexTx);\n });\n });\n }\n\n signTransaction(transaction: Deferrable): Promise {\n return logger.throwError(\"signing transactions is unsupported\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"signTransaction\"\n });\n }\n\n async sendTransaction(transaction: Deferrable): Promise {\n // This cannot be mined any earlier than any recent block\n const blockNumber = await this.provider._getInternalBlockNumber(100 + 2 * this.provider.pollingInterval);\n\n // Send the transaction\n const hash = await this.sendUncheckedTransaction(transaction);\n\n try {\n // Unfortunately, JSON-RPC only provides and opaque transaction hash\n // for a response, and we need the actual transaction, so we poll\n // for it; it should show up very quickly\n return await poll(async () => {\n const tx = await this.provider.getTransaction(hash);\n if (tx === null) { return undefined; }\n return this.provider._wrapTransaction(tx, hash, blockNumber);\n }, { oncePoll: this.provider });\n } catch (error) {\n (error).transactionHash = hash;\n throw error;\n }\n }\n\n async signMessage(message: Bytes | string): Promise {\n const data = ((typeof(message) === \"string\") ? toUtf8Bytes(message): message);\n const address = await this.getAddress();\n try {\n return await this.provider.send(\"personal_sign\", [ hexlify(data), address.toLowerCase() ]);\n } catch (error) {\n if (typeof(error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected signing\", Logger.errors.ACTION_REJECTED, {\n action: \"signMessage\",\n from: address,\n messageData: message\n });\n }\n throw error;\n }\n }\n\n async _legacySignMessage(message: Bytes | string): Promise {\n const data = ((typeof(message) === \"string\") ? toUtf8Bytes(message): message);\n const address = await this.getAddress();\n\n try {\n // https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sign\n return await this.provider.send(\"eth_sign\", [ address.toLowerCase(), hexlify(data) ]);\n } catch (error) {\n if (typeof(error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected signing\", Logger.errors.ACTION_REJECTED, {\n action: \"_legacySignMessage\",\n from: address,\n messageData: message\n });\n }\n throw error;\n }\n }\n\n async _signTypedData(domain: TypedDataDomain, types: Record>, value: Record): Promise {\n // Populate any ENS names (in-place)\n const populated = await _TypedDataEncoder.resolveNames(domain, types, value, (name: string) => {\n return this.provider.resolveName(name);\n });\n\n const address = await this.getAddress();\n\n try {\n return await this.provider.send(\"eth_signTypedData_v4\", [\n address.toLowerCase(),\n JSON.stringify(_TypedDataEncoder.getPayload(populated.domain, types, populated.value))\n ]);\n } catch (error) {\n if (typeof(error.message) === \"string\" && error.message.match(/user denied/i)) {\n logger.throwError(\"user rejected signing\", Logger.errors.ACTION_REJECTED, {\n action: \"_signTypedData\",\n from: address,\n messageData: { domain: populated.domain, types, value: populated.value }\n });\n }\n throw error;\n }\n }\n\n async unlock(password: string): Promise {\n const provider = this.provider;\n\n const address = await this.getAddress();\n\n return provider.send(\"personal_unlockAccount\", [ address.toLowerCase(), password, null ]);\n }\n}\n\nclass UncheckedJsonRpcSigner extends JsonRpcSigner {\n sendTransaction(transaction: Deferrable): Promise {\n return this.sendUncheckedTransaction(transaction).then((hash) => {\n return {\n hash: hash,\n nonce: null,\n gasLimit: null,\n gasPrice: null,\n data: null,\n value: null,\n chainId: null,\n confirmations: 0,\n from: null,\n wait: (confirmations?: number) => { return this.provider.waitForTransaction(hash, confirmations); }\n };\n });\n }\n}\n\nconst allowedTransactionKeys: { [ key: string ]: boolean } = {\n chainId: true, data: true, gasLimit: true, gasPrice:true, nonce: true, to: true, value: true,\n type: true, accessList: true,\n maxFeePerGas: true, maxPriorityFeePerGas: true\n}\n\nexport class JsonRpcProvider extends BaseProvider {\n readonly connection: ConnectionInfo;\n\n _pendingFilter: Promise;\n _nextId: number;\n\n // During any given event loop, the results for a given call will\n // all be the same, so we can dedup the calls to save requests and\n // bandwidth. @TODO: Try out generalizing this against send?\n _eventLoopCache: Record>;\n get _cache(): Record> {\n if (this._eventLoopCache == null) {\n this._eventLoopCache = { };\n }\n return this._eventLoopCache;\n }\n\n constructor(url?: ConnectionInfo | string, network?: Networkish) {\n let networkOrReady: Networkish | Promise = network;\n\n // The network is unknown, query the JSON-RPC for it\n if (networkOrReady == null) {\n networkOrReady = new Promise((resolve, reject) => {\n setTimeout(() => {\n this.detectNetwork().then((network) => {\n resolve(network);\n }, (error) => {\n reject(error);\n });\n }, 0);\n });\n }\n\n super(networkOrReady);\n\n // Default URL\n if (!url) { url = getStatic<() => string>(this.constructor, \"defaultUrl\")(); }\n\n if (typeof(url) === \"string\") {\n defineReadOnly(this, \"connection\",Object.freeze({\n url: url\n }));\n } else {\n defineReadOnly(this, \"connection\", Object.freeze(shallowCopy(url)));\n }\n\n this._nextId = 42;\n }\n\n static defaultUrl(): string {\n return \"http:/\\/localhost:8545\";\n }\n\n detectNetwork(): Promise {\n if (!this._cache[\"detectNetwork\"]) {\n this._cache[\"detectNetwork\"] = this._uncachedDetectNetwork();\n\n // Clear this cache at the beginning of the next event loop\n setTimeout(() => {\n this._cache[\"detectNetwork\"] = null;\n }, 0);\n }\n return this._cache[\"detectNetwork\"];\n }\n\n async _uncachedDetectNetwork(): Promise {\n await timer(0);\n\n let chainId = null;\n try {\n chainId = await this.send(\"eth_chainId\", [ ]);\n } catch (error) {\n try {\n chainId = await this.send(\"net_version\", [ ]);\n } catch (error) { }\n }\n\n if (chainId != null) {\n const getNetwork = getStatic<(network: Networkish) => Network>(this.constructor, \"getNetwork\");\n try {\n return getNetwork(BigNumber.from(chainId).toNumber());\n } catch (error) {\n return logger.throwError(\"could not detect network\", Logger.errors.NETWORK_ERROR, {\n chainId: chainId,\n event: \"invalidNetwork\",\n serverError: error\n });\n }\n }\n\n return logger.throwError(\"could not detect network\", Logger.errors.NETWORK_ERROR, {\n event: \"noNetwork\"\n });\n }\n\n getSigner(addressOrIndex?: string | number): JsonRpcSigner {\n return new JsonRpcSigner(_constructorGuard, this, addressOrIndex);\n }\n\n getUncheckedSigner(addressOrIndex?: string | number): UncheckedJsonRpcSigner {\n return this.getSigner(addressOrIndex).connectUnchecked();\n }\n\n listAccounts(): Promise> {\n return this.send(\"eth_accounts\", []).then((accounts: Array) => {\n return accounts.map((a) => this.formatter.address(a));\n });\n }\n\n send(method: string, params: Array): Promise {\n const request = {\n method: method,\n params: params,\n id: (this._nextId++),\n jsonrpc: \"2.0\"\n };\n\n this.emit(\"debug\", {\n action: \"request\",\n request: deepCopy(request),\n provider: this\n });\n\n // We can expand this in the future to any call, but for now these\n // are the biggest wins and do not require any serializing parameters.\n const cache = ([ \"eth_chainId\", \"eth_blockNumber\" ].indexOf(method) >= 0);\n if (cache && this._cache[method]) {\n return this._cache[method];\n }\n\n const result = fetchJson(this.connection, JSON.stringify(request), getResult).then((result) => {\n this.emit(\"debug\", {\n action: \"response\",\n request: request,\n response: result,\n provider: this\n });\n\n return result;\n\n }, (error) => {\n this.emit(\"debug\", {\n action: \"response\",\n error: error,\n request: request,\n provider: this\n });\n\n throw error;\n });\n\n // Cache the fetch, but clear it on the next event loop\n if (cache) {\n this._cache[method] = result;\n setTimeout(() => {\n this._cache[method] = null;\n }, 0);\n }\n\n return result;\n }\n\n prepareRequest(method: string, params: any): [ string, Array ] {\n switch (method) {\n case \"getBlockNumber\":\n return [ \"eth_blockNumber\", [] ];\n\n case \"getGasPrice\":\n return [ \"eth_gasPrice\", [] ];\n\n case \"getBalance\":\n return [ \"eth_getBalance\", [ getLowerCase(params.address), params.blockTag ] ];\n\n case \"getTransactionCount\":\n return [ \"eth_getTransactionCount\", [ getLowerCase(params.address), params.blockTag ] ];\n\n case \"getCode\":\n return [ \"eth_getCode\", [ getLowerCase(params.address), params.blockTag ] ];\n\n case \"getStorageAt\":\n return [ \"eth_getStorageAt\", [ getLowerCase(params.address), hexZeroPad(params.position, 32), params.blockTag ] ];\n\n case \"sendTransaction\":\n return [ \"eth_sendRawTransaction\", [ params.signedTransaction ] ]\n\n case \"getBlock\":\n if (params.blockTag) {\n return [ \"eth_getBlockByNumber\", [ params.blockTag, !!params.includeTransactions ] ];\n } else if (params.blockHash) {\n return [ \"eth_getBlockByHash\", [ params.blockHash, !!params.includeTransactions ] ];\n }\n return null;\n\n case \"getTransaction\":\n return [ \"eth_getTransactionByHash\", [ params.transactionHash ] ];\n\n case \"getTransactionReceipt\":\n return [ \"eth_getTransactionReceipt\", [ params.transactionHash ] ];\n\n case \"call\": {\n const hexlifyTransaction = getStatic<(t: TransactionRequest, a?: { [key: string]: boolean }) => { [key: string]: string }>(this.constructor, \"hexlifyTransaction\");\n return [ \"eth_call\", [ hexlifyTransaction(params.transaction, { from: true }), params.blockTag ] ];\n }\n\n case \"estimateGas\": {\n const hexlifyTransaction = getStatic<(t: TransactionRequest, a?: { [key: string]: boolean }) => { [key: string]: string }>(this.constructor, \"hexlifyTransaction\");\n return [ \"eth_estimateGas\", [ hexlifyTransaction(params.transaction, { from: true }) ] ];\n }\n\n case \"getLogs\":\n if (params.filter && params.filter.address != null) {\n params.filter.address = getLowerCase(params.filter.address);\n }\n return [ \"eth_getLogs\", [ params.filter ] ];\n\n default:\n break;\n }\n\n return null;\n }\n\n async perform(method: string, params: any): Promise {\n // Legacy networks do not like the type field being passed along (which\n // is fair), so we delete type if it is 0 and a non-EIP-1559 network\n if (method === \"call\" || method === \"estimateGas\") {\n const tx = params.transaction;\n if (tx && tx.type != null && BigNumber.from(tx.type).isZero()) {\n // If there are no EIP-1559 properties, it might be non-EIP-1559\n if (tx.maxFeePerGas == null && tx.maxPriorityFeePerGas == null) {\n const feeData = await this.getFeeData();\n if (feeData.maxFeePerGas == null && feeData.maxPriorityFeePerGas == null) {\n // Network doesn't know about EIP-1559 (and hence type)\n params = shallowCopy(params);\n params.transaction = shallowCopy(tx);\n delete params.transaction.type;\n }\n }\n }\n }\n\n const args = this.prepareRequest(method, params);\n\n if (args == null) {\n logger.throwError(method + \" not implemented\", Logger.errors.NOT_IMPLEMENTED, { operation: method });\n }\n try {\n return await this.send(args[0], args[1])\n } catch (error) {\n return checkError(method, error, params);\n }\n }\n\n _startEvent(event: Event): void {\n if (event.tag === \"pending\") { this._startPending(); }\n super._startEvent(event);\n }\n\n _startPending(): void {\n if (this._pendingFilter != null) { return; }\n const self = this;\n\n const pendingFilter: Promise = this.send(\"eth_newPendingTransactionFilter\", []);\n this._pendingFilter = pendingFilter;\n\n pendingFilter.then(function(filterId) {\n function poll() {\n self.send(\"eth_getFilterChanges\", [ filterId ]).then(function(hashes: Array) {\n if (self._pendingFilter != pendingFilter) { return null; }\n\n let seq = Promise.resolve();\n hashes.forEach(function(hash) {\n // @TODO: This should be garbage collected at some point... How? When?\n self._emitted[\"t:\" + hash.toLowerCase()] = \"pending\";\n seq = seq.then(function() {\n return self.getTransaction(hash).then(function(tx) {\n self.emit(\"pending\", tx);\n return null;\n });\n });\n });\n\n return seq.then(function() {\n return timer(1000);\n });\n }).then(function() {\n if (self._pendingFilter != pendingFilter) {\n self.send(\"eth_uninstallFilter\", [ filterId ]);\n return;\n }\n setTimeout(function() { poll(); }, 0);\n\n return null;\n }).catch((error: Error) => { });\n }\n poll();\n\n return filterId;\n }).catch((error: Error) => { });\n }\n\n _stopEvent(event: Event): void {\n if (event.tag === \"pending\" && this.listenerCount(\"pending\") === 0) {\n this._pendingFilter = null;\n }\n super._stopEvent(event);\n }\n\n // Convert an ethers.js transaction into a JSON-RPC transaction\n // - gasLimit => gas\n // - All values hexlified\n // - All numeric values zero-striped\n // - All addresses are lowercased\n // NOTE: This allows a TransactionRequest, but all values should be resolved\n // before this is called\n // @TODO: This will likely be removed in future versions and prepareRequest\n // will be the preferred method for this.\n static hexlifyTransaction(transaction: TransactionRequest, allowExtra?: { [key: string]: boolean }): { [key: string]: string | AccessList } {\n // Check only allowed properties are given\n const allowed = shallowCopy(allowedTransactionKeys);\n if (allowExtra) {\n for (const key in allowExtra) {\n if (allowExtra[key]) { allowed[key] = true; }\n }\n }\n\n checkProperties(transaction, allowed);\n\n const result: { [key: string]: string | AccessList } = {};\n\n // JSON-RPC now requires numeric values to be \"quantity\" values\n [\"chainId\", \"gasLimit\", \"gasPrice\", \"type\", \"maxFeePerGas\", \"maxPriorityFeePerGas\", \"nonce\", \"value\"].forEach(function(key) {\n if ((transaction)[key] == null) { return; }\n const value = hexValue(BigNumber.from((transaction)[key]));\n if (key === \"gasLimit\") { key = \"gas\"; }\n result[key] = value;\n });\n\n [\"from\", \"to\", \"data\"].forEach(function(key) {\n if ((transaction)[key] == null) { return; }\n result[key] = hexlify((transaction)[key]);\n });\n\n if ((transaction).accessList) {\n result[\"accessList\"] = accessListify((transaction).accessList);\n }\n\n return result;\n }\n}\n","\"use strict\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nlet WS = null;\ntry {\n WS = WebSocket;\n if (WS == null) {\n throw new Error(\"inject please\");\n }\n}\ncatch (error) {\n const logger = new Logger(version);\n WS = function () {\n logger.throwError(\"WebSockets not supported in this environment\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new WebSocket()\"\n });\n };\n}\n//export default WS;\n//module.exports = WS;\nexport { WS as WebSocket };\n//# sourceMappingURL=ws.js.map","\"use strict\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\n\nlet WS: any = null;\n\ntry {\n WS = (WebSocket as any);\n if (WS == null) { throw new Error(\"inject please\"); }\n} catch (error) {\n const logger = new Logger(version);\n WS = function() {\n logger.throwError(\"WebSockets not supported in this environment\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"new WebSocket()\"\n });\n }\n}\n//export default WS;\n//module.exports = WS;\nexport { WS as WebSocket };\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { defineReadOnly, getStatic } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { JsonRpcProvider } from \"./json-rpc-provider\";\n// A StaticJsonRpcProvider is useful when you *know* for certain that\n// the backend will never change, as it never calls eth_chainId to\n// verify its backend. However, if the backend does change, the effects\n// are undefined and may include:\n// - inconsistent results\n// - locking up the UI\n// - block skew warnings\n// - wrong results\n// If the network is not explicit (i.e. auto-detection is expected), the\n// node MUST be running and available to respond to requests BEFORE this\n// is instantiated.\nexport class StaticJsonRpcProvider extends JsonRpcProvider {\n detectNetwork() {\n const _super = Object.create(null, {\n detectNetwork: { get: () => super.detectNetwork }\n });\n return __awaiter(this, void 0, void 0, function* () {\n let network = this.network;\n if (network == null) {\n network = yield _super.detectNetwork.call(this);\n if (!network) {\n logger.throwError(\"no network detected\", Logger.errors.UNKNOWN_ERROR, {});\n }\n // If still not set, set it\n if (this._network == null) {\n // A static network does not support \"any\"\n defineReadOnly(this, \"_network\", network);\n this.emit(\"network\", network, null);\n }\n }\n return network;\n });\n }\n}\nexport class UrlJsonRpcProvider extends StaticJsonRpcProvider {\n constructor(network, apiKey) {\n logger.checkAbstract(new.target, UrlJsonRpcProvider);\n // Normalize the Network and API Key\n network = getStatic(new.target, \"getNetwork\")(network);\n apiKey = getStatic(new.target, \"getApiKey\")(apiKey);\n const connection = getStatic(new.target, \"getUrl\")(network, apiKey);\n super(connection, network);\n if (typeof (apiKey) === \"string\") {\n defineReadOnly(this, \"apiKey\", apiKey);\n }\n else if (apiKey != null) {\n Object.keys(apiKey).forEach((key) => {\n defineReadOnly(this, key, apiKey[key]);\n });\n }\n }\n _startPending() {\n logger.warn(\"WARNING: API provider does not support pending filters\");\n }\n isCommunityResource() {\n return false;\n }\n getSigner(address) {\n return logger.throwError(\"API provider does not support signing\", Logger.errors.UNSUPPORTED_OPERATION, { operation: \"getSigner\" });\n }\n listAccounts() {\n return Promise.resolve([]);\n }\n // Return a defaultApiKey if null, otherwise validate the API key\n static getApiKey(apiKey) {\n return apiKey;\n }\n // Returns the url or connection for the given network and API key. The\n // API key will have been sanitized by the getApiKey first, so any validation\n // or transformations can be done there.\n static getUrl(network, apiKey) {\n return logger.throwError(\"not implemented; sub-classes must override getUrl\", Logger.errors.NOT_IMPLEMENTED, {\n operation: \"getUrl\"\n });\n }\n}\n//# sourceMappingURL=url-json-rpc-provider.js.map","\n\"use strict\";\n\nimport { Network, Networkish } from \"@ethersproject/networks\";\nimport { defineReadOnly, getStatic } from \"@ethersproject/properties\";\nimport { ConnectionInfo } from \"@ethersproject/web\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { CommunityResourcable } from \"./formatter\";\nimport { JsonRpcProvider, JsonRpcSigner } from \"./json-rpc-provider\";\n\ntype getUrlFunc = (network: Network, apiKey: string) => string | ConnectionInfo;\n\n// A StaticJsonRpcProvider is useful when you *know* for certain that\n// the backend will never change, as it never calls eth_chainId to\n// verify its backend. However, if the backend does change, the effects\n// are undefined and may include:\n// - inconsistent results\n// - locking up the UI\n// - block skew warnings\n// - wrong results\n// If the network is not explicit (i.e. auto-detection is expected), the\n// node MUST be running and available to respond to requests BEFORE this\n// is instantiated.\nexport class StaticJsonRpcProvider extends JsonRpcProvider {\n async detectNetwork(): Promise {\n let network = this.network;\n if (network == null) {\n network = await super.detectNetwork();\n\n if (!network) {\n logger.throwError(\"no network detected\", Logger.errors.UNKNOWN_ERROR, { });\n }\n\n // If still not set, set it\n if (this._network == null) {\n // A static network does not support \"any\"\n defineReadOnly(this, \"_network\", network);\n\n this.emit(\"network\", network, null);\n }\n }\n return network;\n }\n}\n\nexport abstract class UrlJsonRpcProvider extends StaticJsonRpcProvider implements CommunityResourcable {\n readonly apiKey: any;\n\n constructor(network?: Networkish, apiKey?: any) {\n logger.checkAbstract(new.target, UrlJsonRpcProvider);\n\n // Normalize the Network and API Key\n network = getStatic<(network: Networkish) => Network>(new.target, \"getNetwork\")(network);\n apiKey = getStatic<(apiKey: string) => string>(new.target, \"getApiKey\")(apiKey);\n\n const connection = getStatic(new.target, \"getUrl\")(network, apiKey);\n\n super(connection, network);\n\n if (typeof(apiKey) === \"string\") {\n defineReadOnly(this, \"apiKey\", apiKey);\n } else if (apiKey != null) {\n Object.keys(apiKey).forEach((key) => {\n defineReadOnly(this, key, apiKey[key]);\n });\n }\n }\n\n _startPending(): void {\n logger.warn(\"WARNING: API provider does not support pending filters\");\n }\n\n isCommunityResource(): boolean {\n return false;\n }\n\n getSigner(address?: string): JsonRpcSigner {\n return logger.throwError(\n \"API provider does not support signing\",\n Logger.errors.UNSUPPORTED_OPERATION,\n { operation: \"getSigner\" }\n );\n }\n\n listAccounts(): Promise> {\n return Promise.resolve([]);\n }\n\n // Return a defaultApiKey if null, otherwise validate the API key\n static getApiKey(apiKey: any): any {\n return apiKey;\n }\n\n // Returns the url or connection for the given network and API key. The\n // API key will have been sanitized by the getApiKey first, so any validation\n // or transformations can be done there.\n static getUrl(network: Network, apiKey: any): string | ConnectionInfo {\n return logger.throwError(\"not implemented; sub-classes must override getUrl\", Logger.errors.NOT_IMPLEMENTED, {\n operation: \"getUrl\"\n });\n }\n}\n","import { showThrottleMessage } from \"./formatter\";\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nconst defaultApiKey = \"9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972\";\nfunction getHost(name) {\n switch (name) {\n case \"homestead\":\n return \"rpc.ankr.com/eth/\";\n case \"ropsten\":\n return \"rpc.ankr.com/eth_ropsten/\";\n case \"rinkeby\":\n return \"rpc.ankr.com/eth_rinkeby/\";\n case \"goerli\":\n return \"rpc.ankr.com/eth_goerli/\";\n case \"matic\":\n return \"rpc.ankr.com/polygon/\";\n case \"arbitrum\":\n return \"rpc.ankr.com/arbitrum/\";\n }\n return logger.throwArgumentError(\"unsupported network\", \"name\", name);\n}\nexport class AnkrProvider extends UrlJsonRpcProvider {\n isCommunityResource() {\n return (this.apiKey === defaultApiKey);\n }\n static getApiKey(apiKey) {\n if (apiKey == null) {\n return defaultApiKey;\n }\n return apiKey;\n }\n static getUrl(network, apiKey) {\n if (apiKey == null) {\n apiKey = defaultApiKey;\n }\n const connection = {\n allowGzip: true,\n url: (\"https:/\\/\" + getHost(network.name) + apiKey),\n throttleCallback: (attempt, url) => {\n if (apiKey.apiKey === defaultApiKey) {\n showThrottleMessage();\n }\n return Promise.resolve(true);\n }\n };\n if (apiKey.projectSecret != null) {\n connection.user = \"\";\n connection.password = apiKey.projectSecret;\n }\n return connection;\n }\n}\n//# sourceMappingURL=ankr-provider.js.map","\nimport { Network } from \"@ethersproject/networks\";\n\nimport { showThrottleMessage } from \"./formatter\";\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\n\nimport type { ConnectionInfo } from \"@ethersproject/web\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n\nconst defaultApiKey = \"9f7d929b018cdffb338517efa06f58359e86ff1ffd350bc889738523659e7972\";\n\nfunction getHost(name: string): string {\n switch (name) {\n case \"homestead\":\n return \"rpc.ankr.com/eth/\";\n case \"ropsten\":\n return \"rpc.ankr.com/eth_ropsten/\";\n case \"rinkeby\":\n return \"rpc.ankr.com/eth_rinkeby/\";\n case \"goerli\":\n return \"rpc.ankr.com/eth_goerli/\";\n\n case \"matic\":\n return \"rpc.ankr.com/polygon/\";\n\n case \"arbitrum\":\n return \"rpc.ankr.com/arbitrum/\";\n }\n return logger.throwArgumentError(\"unsupported network\", \"name\", name);\n}\n\nexport class AnkrProvider extends UrlJsonRpcProvider {\n readonly apiKey: string;\n\n isCommunityResource(): boolean {\n return (this.apiKey === defaultApiKey);\n }\n\n static getApiKey(apiKey: any): any {\n if (apiKey == null) { return defaultApiKey; }\n return apiKey;\n }\n\n static getUrl(network: Network, apiKey: any): ConnectionInfo {\n if (apiKey == null) { apiKey = defaultApiKey; }\n const connection: ConnectionInfo = {\n allowGzip: true,\n url: (\"https:/\\/\" + getHost(network.name) + apiKey),\n throttleCallback: (attempt: number, url: string) => {\n if (apiKey.apiKey === defaultApiKey) {\n showThrottleMessage();\n }\n return Promise.resolve(true);\n }\n };\n\n if (apiKey.projectSecret != null) {\n connection.user = \"\";\n connection.password = apiKey.projectSecret\n }\n\n return connection;\n }\n}\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nexport class CloudflareProvider extends UrlJsonRpcProvider {\n static getApiKey(apiKey) {\n if (apiKey != null) {\n logger.throwArgumentError(\"apiKey not supported for cloudflare\", \"apiKey\", apiKey);\n }\n return null;\n }\n static getUrl(network, apiKey) {\n let host = null;\n switch (network.name) {\n case \"homestead\":\n host = \"https://cloudflare-eth.com/\";\n break;\n default:\n logger.throwArgumentError(\"unsupported network\", \"network\", arguments[0]);\n }\n return host;\n }\n perform(method, params) {\n const _super = Object.create(null, {\n perform: { get: () => super.perform }\n });\n return __awaiter(this, void 0, void 0, function* () {\n // The Cloudflare provider does not support eth_blockNumber,\n // so we get the latest block and pull it from that\n if (method === \"getBlockNumber\") {\n const block = yield _super.perform.call(this, \"getBlock\", { blockTag: \"latest\" });\n return block.number;\n }\n return _super.perform.call(this, method, params);\n });\n }\n}\n//# sourceMappingURL=cloudflare-provider.js.map","\"use strict\";\n\nimport { Network } from \"@ethersproject/networks\";\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nexport class CloudflareProvider extends UrlJsonRpcProvider {\n\n static getApiKey(apiKey: any): any {\n if (apiKey != null) {\n logger.throwArgumentError(\"apiKey not supported for cloudflare\", \"apiKey\", apiKey);\n }\n return null;\n }\n\n static getUrl(network: Network, apiKey?: any): string {\n let host = null;\n switch (network.name) {\n case \"homestead\":\n host = \"https://cloudflare-eth.com/\";\n break;\n default:\n logger.throwArgumentError(\"unsupported network\", \"network\", arguments[0]);\n }\n\n return host;\n }\n\n async perform(method: string, params: any): Promise {\n // The Cloudflare provider does not support eth_blockNumber,\n // so we get the latest block and pull it from that\n if (method === \"getBlockNumber\") {\n const block = await super.perform(\"getBlock\", { blockTag: \"latest\" });\n return block.number;\n }\n\n return super.perform(method, params);\n }\n}\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { hexlify, hexValue, isHexString } from \"@ethersproject/bytes\";\nimport { deepCopy, defineReadOnly } from \"@ethersproject/properties\";\nimport { accessListify } from \"@ethersproject/transactions\";\nimport { fetchJson } from \"@ethersproject/web\";\nimport { showThrottleMessage } from \"./formatter\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { BaseProvider } from \"./base-provider\";\n// The transaction has already been sanitized by the calls in Provider\nfunction getTransactionPostData(transaction) {\n const result = {};\n for (let key in transaction) {\n if (transaction[key] == null) {\n continue;\n }\n let value = transaction[key];\n if (key === \"type\" && value === 0) {\n continue;\n }\n // Quantity-types require no leading zero, unless 0\n if ({ type: true, gasLimit: true, gasPrice: true, maxFeePerGs: true, maxPriorityFeePerGas: true, nonce: true, value: true }[key]) {\n value = hexValue(hexlify(value));\n }\n else if (key === \"accessList\") {\n value = \"[\" + accessListify(value).map((set) => {\n return `{address:\"${set.address}\",storageKeys:[\"${set.storageKeys.join('\",\"')}\"]}`;\n }).join(\",\") + \"]\";\n }\n else {\n value = hexlify(value);\n }\n result[key] = value;\n }\n return result;\n}\nfunction getResult(result) {\n // getLogs, getHistory have weird success responses\n if (result.status == 0 && (result.message === \"No records found\" || result.message === \"No transactions found\")) {\n return result.result;\n }\n if (result.status != 1 || typeof (result.message) !== \"string\" || !result.message.match(/^OK/)) {\n const error = new Error(\"invalid response\");\n error.result = JSON.stringify(result);\n if ((result.result || \"\").toLowerCase().indexOf(\"rate limit\") >= 0) {\n error.throttleRetry = true;\n }\n throw error;\n }\n return result.result;\n}\nfunction getJsonResult(result) {\n // This response indicates we are being throttled\n if (result && result.status == 0 && result.message == \"NOTOK\" && (result.result || \"\").toLowerCase().indexOf(\"rate limit\") >= 0) {\n const error = new Error(\"throttled response\");\n error.result = JSON.stringify(result);\n error.throttleRetry = true;\n throw error;\n }\n if (result.jsonrpc != \"2.0\") {\n // @TODO: not any\n const error = new Error(\"invalid response\");\n error.result = JSON.stringify(result);\n throw error;\n }\n if (result.error) {\n // @TODO: not any\n const error = new Error(result.error.message || \"unknown error\");\n if (result.error.code) {\n error.code = result.error.code;\n }\n if (result.error.data) {\n error.data = result.error.data;\n }\n throw error;\n }\n return result.result;\n}\n// The blockTag was normalized as a string by the Provider pre-perform operations\nfunction checkLogTag(blockTag) {\n if (blockTag === \"pending\") {\n throw new Error(\"pending not supported\");\n }\n if (blockTag === \"latest\") {\n return blockTag;\n }\n return parseInt(blockTag.substring(2), 16);\n}\nfunction checkError(method, error, transaction) {\n // Undo the \"convenience\" some nodes are attempting to prevent backwards\n // incompatibility; maybe for v6 consider forwarding reverts as errors\n if (method === \"call\" && error.code === Logger.errors.SERVER_ERROR) {\n const e = error.error;\n // Etherscan keeps changing their string\n if (e && (e.message.match(/reverted/i) || e.message.match(/VM execution error/i))) {\n // Etherscan prefixes the data like \"Reverted 0x1234\"\n let data = e.data;\n if (data) {\n data = \"0x\" + data.replace(/^.*0x/i, \"\");\n }\n if (isHexString(data)) {\n return data;\n }\n logger.throwError(\"missing revert data in call exception\", Logger.errors.CALL_EXCEPTION, {\n error, data: \"0x\"\n });\n }\n }\n // Get the message from any nested error structure\n let message = error.message;\n if (error.code === Logger.errors.SERVER_ERROR) {\n if (error.error && typeof (error.error.message) === \"string\") {\n message = error.error.message;\n }\n else if (typeof (error.body) === \"string\") {\n message = error.body;\n }\n else if (typeof (error.responseText) === \"string\") {\n message = error.responseText;\n }\n }\n message = (message || \"\").toLowerCase();\n // \"Insufficient funds. The account you tried to send transaction from does not have enough funds. Required 21464000000000 and got: 0\"\n if (message.match(/insufficient funds/)) {\n logger.throwError(\"insufficient funds for intrinsic transaction cost\", Logger.errors.INSUFFICIENT_FUNDS, {\n error, method, transaction\n });\n }\n // \"Transaction with the same hash was already imported.\"\n if (message.match(/same hash was already imported|transaction nonce is too low|nonce too low/)) {\n logger.throwError(\"nonce has already been used\", Logger.errors.NONCE_EXPIRED, {\n error, method, transaction\n });\n }\n // \"Transaction gas price is too low. There is another transaction with same nonce in the queue. Try increasing the gas price or incrementing the nonce.\"\n if (message.match(/another transaction with same nonce/)) {\n logger.throwError(\"replacement fee too low\", Logger.errors.REPLACEMENT_UNDERPRICED, {\n error, method, transaction\n });\n }\n if (message.match(/execution failed due to an exception|execution reverted/)) {\n logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n error, method, transaction\n });\n }\n throw error;\n}\nexport class EtherscanProvider extends BaseProvider {\n constructor(network, apiKey) {\n super(network);\n defineReadOnly(this, \"baseUrl\", this.getBaseUrl());\n defineReadOnly(this, \"apiKey\", apiKey || null);\n }\n getBaseUrl() {\n switch (this.network ? this.network.name : \"invalid\") {\n case \"homestead\":\n return \"https:/\\/api.etherscan.io\";\n case \"goerli\":\n return \"https:/\\/api-goerli.etherscan.io\";\n case \"sepolia\":\n return \"https:/\\/api-sepolia.etherscan.io\";\n case \"matic\":\n return \"https:/\\/api.polygonscan.com\";\n case \"maticmum\":\n return \"https:/\\/api-testnet.polygonscan.com\";\n case \"arbitrum\":\n return \"https:/\\/api.arbiscan.io\";\n case \"arbitrum-goerli\":\n return \"https:/\\/api-goerli.arbiscan.io\";\n case \"optimism\":\n return \"https:/\\/api-optimistic.etherscan.io\";\n case \"optimism-goerli\":\n return \"https:/\\/api-goerli-optimistic.etherscan.io\";\n default:\n }\n return logger.throwArgumentError(\"unsupported network\", \"network\", this.network.name);\n }\n getUrl(module, params) {\n const query = Object.keys(params).reduce((accum, key) => {\n const value = params[key];\n if (value != null) {\n accum += `&${key}=${value}`;\n }\n return accum;\n }, \"\");\n const apiKey = ((this.apiKey) ? `&apikey=${this.apiKey}` : \"\");\n return `${this.baseUrl}/api?module=${module}${query}${apiKey}`;\n }\n getPostUrl() {\n return `${this.baseUrl}/api`;\n }\n getPostData(module, params) {\n params.module = module;\n params.apikey = this.apiKey;\n return params;\n }\n fetch(module, params, post) {\n return __awaiter(this, void 0, void 0, function* () {\n const url = (post ? this.getPostUrl() : this.getUrl(module, params));\n const payload = (post ? this.getPostData(module, params) : null);\n const procFunc = (module === \"proxy\") ? getJsonResult : getResult;\n this.emit(\"debug\", {\n action: \"request\",\n request: url,\n provider: this\n });\n const connection = {\n url: url,\n throttleSlotInterval: 1000,\n throttleCallback: (attempt, url) => {\n if (this.isCommunityResource()) {\n showThrottleMessage();\n }\n return Promise.resolve(true);\n }\n };\n let payloadStr = null;\n if (payload) {\n connection.headers = { \"content-type\": \"application/x-www-form-urlencoded; charset=UTF-8\" };\n payloadStr = Object.keys(payload).map((key) => {\n return `${key}=${payload[key]}`;\n }).join(\"&\");\n }\n const result = yield fetchJson(connection, payloadStr, procFunc || getJsonResult);\n this.emit(\"debug\", {\n action: \"response\",\n request: url,\n response: deepCopy(result),\n provider: this\n });\n return result;\n });\n }\n detectNetwork() {\n return __awaiter(this, void 0, void 0, function* () {\n return this.network;\n });\n }\n perform(method, params) {\n const _super = Object.create(null, {\n perform: { get: () => super.perform }\n });\n return __awaiter(this, void 0, void 0, function* () {\n switch (method) {\n case \"getBlockNumber\":\n return this.fetch(\"proxy\", { action: \"eth_blockNumber\" });\n case \"getGasPrice\":\n return this.fetch(\"proxy\", { action: \"eth_gasPrice\" });\n case \"getBalance\":\n // Returns base-10 result\n return this.fetch(\"account\", {\n action: \"balance\",\n address: params.address,\n tag: params.blockTag\n });\n case \"getTransactionCount\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionCount\",\n address: params.address,\n tag: params.blockTag\n });\n case \"getCode\":\n return this.fetch(\"proxy\", {\n action: \"eth_getCode\",\n address: params.address,\n tag: params.blockTag\n });\n case \"getStorageAt\":\n return this.fetch(\"proxy\", {\n action: \"eth_getStorageAt\",\n address: params.address,\n position: params.position,\n tag: params.blockTag\n });\n case \"sendTransaction\":\n return this.fetch(\"proxy\", {\n action: \"eth_sendRawTransaction\",\n hex: params.signedTransaction\n }, true).catch((error) => {\n return checkError(\"sendTransaction\", error, params.signedTransaction);\n });\n case \"getBlock\":\n if (params.blockTag) {\n return this.fetch(\"proxy\", {\n action: \"eth_getBlockByNumber\",\n tag: params.blockTag,\n boolean: (params.includeTransactions ? \"true\" : \"false\")\n });\n }\n throw new Error(\"getBlock by blockHash not implemented\");\n case \"getTransaction\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionByHash\",\n txhash: params.transactionHash\n });\n case \"getTransactionReceipt\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionReceipt\",\n txhash: params.transactionHash\n });\n case \"call\": {\n if (params.blockTag !== \"latest\") {\n throw new Error(\"EtherscanProvider does not support blockTag for call\");\n }\n const postData = getTransactionPostData(params.transaction);\n postData.module = \"proxy\";\n postData.action = \"eth_call\";\n try {\n return yield this.fetch(\"proxy\", postData, true);\n }\n catch (error) {\n return checkError(\"call\", error, params.transaction);\n }\n }\n case \"estimateGas\": {\n const postData = getTransactionPostData(params.transaction);\n postData.module = \"proxy\";\n postData.action = \"eth_estimateGas\";\n try {\n return yield this.fetch(\"proxy\", postData, true);\n }\n catch (error) {\n return checkError(\"estimateGas\", error, params.transaction);\n }\n }\n case \"getLogs\": {\n const args = { action: \"getLogs\" };\n if (params.filter.fromBlock) {\n args.fromBlock = checkLogTag(params.filter.fromBlock);\n }\n if (params.filter.toBlock) {\n args.toBlock = checkLogTag(params.filter.toBlock);\n }\n if (params.filter.address) {\n args.address = params.filter.address;\n }\n // @TODO: We can handle slightly more complicated logs using the logs API\n if (params.filter.topics && params.filter.topics.length > 0) {\n if (params.filter.topics.length > 1) {\n logger.throwError(\"unsupported topic count\", Logger.errors.UNSUPPORTED_OPERATION, { topics: params.filter.topics });\n }\n if (params.filter.topics.length === 1) {\n const topic0 = params.filter.topics[0];\n if (typeof (topic0) !== \"string\" || topic0.length !== 66) {\n logger.throwError(\"unsupported topic format\", Logger.errors.UNSUPPORTED_OPERATION, { topic0: topic0 });\n }\n args.topic0 = topic0;\n }\n }\n const logs = yield this.fetch(\"logs\", args);\n // Cache txHash => blockHash\n let blocks = {};\n // Add any missing blockHash to the logs\n for (let i = 0; i < logs.length; i++) {\n const log = logs[i];\n if (log.blockHash != null) {\n continue;\n }\n if (blocks[log.blockNumber] == null) {\n const block = yield this.getBlock(log.blockNumber);\n if (block) {\n blocks[log.blockNumber] = block.hash;\n }\n }\n log.blockHash = blocks[log.blockNumber];\n }\n return logs;\n }\n case \"getEtherPrice\":\n if (this.network.name !== \"homestead\") {\n return 0.0;\n }\n return parseFloat((yield this.fetch(\"stats\", { action: \"ethprice\" })).ethusd);\n default:\n break;\n }\n return _super.perform.call(this, method, params);\n });\n }\n // Note: The `page` page parameter only allows pagination within the\n // 10,000 window available without a page and offset parameter\n // Error: Result window is too large, PageNo x Offset size must\n // be less than or equal to 10000\n getHistory(addressOrName, startBlock, endBlock) {\n return __awaiter(this, void 0, void 0, function* () {\n const params = {\n action: \"txlist\",\n address: (yield this.resolveName(addressOrName)),\n startblock: ((startBlock == null) ? 0 : startBlock),\n endblock: ((endBlock == null) ? 99999999 : endBlock),\n sort: \"asc\"\n };\n const result = yield this.fetch(\"account\", params);\n return result.map((tx) => {\n [\"contractAddress\", \"to\"].forEach(function (key) {\n if (tx[key] == \"\") {\n delete tx[key];\n }\n });\n if (tx.creates == null && tx.contractAddress != null) {\n tx.creates = tx.contractAddress;\n }\n const item = this.formatter.transactionResponse(tx);\n if (tx.timeStamp) {\n item.timestamp = parseInt(tx.timeStamp);\n }\n return item;\n });\n });\n }\n isCommunityResource() {\n return (this.apiKey == null);\n }\n}\n//# sourceMappingURL=etherscan-provider.js.map","\"use strict\";\n\nimport { BlockTag, TransactionRequest, TransactionResponse } from \"@ethersproject/abstract-provider\";\nimport { hexlify, hexValue, isHexString } from \"@ethersproject/bytes\";\nimport { Network, Networkish } from \"@ethersproject/networks\";\nimport { deepCopy, defineReadOnly } from \"@ethersproject/properties\";\nimport { accessListify } from \"@ethersproject/transactions\";\nimport { ConnectionInfo, fetchJson } from \"@ethersproject/web\";\n\nimport { showThrottleMessage } from \"./formatter\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { BaseProvider } from \"./base-provider\";\n\n\n// The transaction has already been sanitized by the calls in Provider\nfunction getTransactionPostData(transaction: TransactionRequest): Record {\n const result: Record = { };\n for (let key in transaction) {\n if ((transaction)[key] == null) { continue; }\n let value = (transaction)[key];\n if (key === \"type\" && value === 0) { continue; }\n\n // Quantity-types require no leading zero, unless 0\n if (({ type: true, gasLimit: true, gasPrice: true, maxFeePerGs: true, maxPriorityFeePerGas: true, nonce: true, value: true })[key]) {\n value = hexValue(hexlify(value));\n } else if (key === \"accessList\") {\n value = \"[\" + accessListify(value).map((set) => {\n return `{address:\"${ set.address }\",storageKeys:[\"${ set.storageKeys.join('\",\"') }\"]}`;\n }).join(\",\") + \"]\";\n } else {\n value = hexlify(value);\n }\n result[key] = value;\n }\n return result;\n}\n\nfunction getResult(result: { status?: number, message?: string, result?: any }): any {\n // getLogs, getHistory have weird success responses\n if (result.status == 0 && (result.message === \"No records found\" || result.message === \"No transactions found\")) {\n return result.result;\n }\n\n if (result.status != 1 || typeof(result.message) !== \"string\" || !result.message.match(/^OK/)) {\n const error: any = new Error(\"invalid response\");\n error.result = JSON.stringify(result);\n if ((result.result || \"\").toLowerCase().indexOf(\"rate limit\") >= 0) {\n error.throttleRetry = true;\n }\n throw error;\n }\n\n return result.result;\n}\n\nfunction getJsonResult(result: { jsonrpc: string, result?: any, error?: { code?: number, data?: any, message?: string} } ): any {\n // This response indicates we are being throttled\n if (result && (result).status == 0 && (result).message == \"NOTOK\" && (result.result || \"\").toLowerCase().indexOf(\"rate limit\") >= 0) {\n const error: any = new Error(\"throttled response\");\n error.result = JSON.stringify(result);\n error.throttleRetry = true;\n throw error;\n }\n\n if (result.jsonrpc != \"2.0\") {\n // @TODO: not any\n const error: any = new Error(\"invalid response\");\n error.result = JSON.stringify(result);\n throw error;\n }\n\n if (result.error) {\n // @TODO: not any\n const error: any = new Error(result.error.message || \"unknown error\");\n if (result.error.code) { error.code = result.error.code; }\n if (result.error.data) { error.data = result.error.data; }\n throw error;\n }\n\n return result.result;\n}\n\n// The blockTag was normalized as a string by the Provider pre-perform operations\nfunction checkLogTag(blockTag: string): number | \"latest\" {\n if (blockTag === \"pending\") { throw new Error(\"pending not supported\"); }\n if (blockTag === \"latest\") { return blockTag; }\n\n return parseInt(blockTag.substring(2), 16);\n}\n\n\nfunction checkError(method: string, error: any, transaction: any): any {\n // Undo the \"convenience\" some nodes are attempting to prevent backwards\n // incompatibility; maybe for v6 consider forwarding reverts as errors\n if (method === \"call\" && error.code === Logger.errors.SERVER_ERROR) {\n const e = error.error;\n\n // Etherscan keeps changing their string\n if (e && (e.message.match(/reverted/i) || e.message.match(/VM execution error/i))) {\n // Etherscan prefixes the data like \"Reverted 0x1234\"\n let data = e.data;\n if (data) { data = \"0x\" + data.replace(/^.*0x/i, \"\"); }\n\n if (isHexString(data)) { return data; }\n\n logger.throwError(\"missing revert data in call exception\", Logger.errors.CALL_EXCEPTION, {\n error, data: \"0x\"\n });\n }\n }\n\n // Get the message from any nested error structure\n let message = error.message;\n if (error.code === Logger.errors.SERVER_ERROR) {\n if (error.error && typeof(error.error.message) === \"string\") {\n message = error.error.message;\n } else if (typeof(error.body) === \"string\") {\n message = error.body;\n } else if (typeof(error.responseText) === \"string\") {\n message = error.responseText;\n }\n }\n message = (message || \"\").toLowerCase();\n\n // \"Insufficient funds. The account you tried to send transaction from does not have enough funds. Required 21464000000000 and got: 0\"\n if (message.match(/insufficient funds/)) {\n logger.throwError(\"insufficient funds for intrinsic transaction cost\", Logger.errors.INSUFFICIENT_FUNDS, {\n error, method, transaction\n });\n }\n\n // \"Transaction with the same hash was already imported.\"\n if (message.match(/same hash was already imported|transaction nonce is too low|nonce too low/)) {\n logger.throwError(\"nonce has already been used\", Logger.errors.NONCE_EXPIRED, {\n error, method, transaction\n });\n }\n\n // \"Transaction gas price is too low. There is another transaction with same nonce in the queue. Try increasing the gas price or incrementing the nonce.\"\n if (message.match(/another transaction with same nonce/)) {\n logger.throwError(\"replacement fee too low\", Logger.errors.REPLACEMENT_UNDERPRICED, {\n error, method, transaction\n });\n }\n\n if (message.match(/execution failed due to an exception|execution reverted/)) {\n logger.throwError(\"cannot estimate gas; transaction may fail or may require manual gas limit\", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {\n error, method, transaction\n });\n }\n\n throw error;\n}\n\nexport class EtherscanProvider extends BaseProvider{\n readonly baseUrl: string;\n readonly apiKey: string | null;\n\n constructor(network?: Networkish, apiKey?: string) {\n super(network);\n\n defineReadOnly(this, \"baseUrl\", this.getBaseUrl());\n defineReadOnly(this, \"apiKey\", apiKey || null);\n }\n\n getBaseUrl(): string {\n switch(this.network ? this.network.name: \"invalid\") {\n case \"homestead\":\n return \"https:/\\/api.etherscan.io\";\n case \"goerli\":\n return \"https:/\\/api-goerli.etherscan.io\";\n case \"sepolia\":\n return \"https:/\\/api-sepolia.etherscan.io\";\n case \"matic\":\n return \"https:/\\/api.polygonscan.com\";\n case \"maticmum\":\n return \"https:/\\/api-testnet.polygonscan.com\";\n case \"arbitrum\":\n return \"https:/\\/api.arbiscan.io\";\n case \"arbitrum-goerli\":\n return \"https:/\\/api-goerli.arbiscan.io\";\n case \"optimism\":\n return \"https:/\\/api-optimistic.etherscan.io\";\n case \"optimism-goerli\":\n return \"https:/\\/api-goerli-optimistic.etherscan.io\";\n default:\n }\n\n return logger.throwArgumentError(\"unsupported network\", \"network\", this.network.name);\n }\n\n getUrl(module: string, params: Record): string {\n const query = Object.keys(params).reduce((accum, key) => {\n const value = params[key];\n if (value != null) {\n accum += `&${ key }=${ value }`\n }\n return accum\n }, \"\");\n const apiKey = ((this.apiKey) ? `&apikey=${ this.apiKey }`: \"\");\n return `${ this.baseUrl }/api?module=${ module }${ query }${ apiKey }`;\n }\n\n getPostUrl(): string {\n return `${ this.baseUrl }/api`;\n }\n\n getPostData(module: string, params: Record): Record {\n params.module = module;\n params.apikey = this.apiKey;\n return params;\n }\n\n async fetch(module: string, params: Record, post?: boolean): Promise {\n const url = (post ? this.getPostUrl(): this.getUrl(module, params));\n const payload = (post ? this.getPostData(module, params): null);\n const procFunc = (module === \"proxy\") ? getJsonResult: getResult;\n\n this.emit(\"debug\", {\n action: \"request\",\n request: url,\n provider: this\n });\n\n const connection: ConnectionInfo = {\n url: url,\n throttleSlotInterval: 1000,\n throttleCallback: (attempt: number, url: string) => {\n if (this.isCommunityResource()) {\n showThrottleMessage();\n }\n return Promise.resolve(true);\n }\n };\n\n let payloadStr: string = null;\n if (payload) {\n connection.headers = { \"content-type\": \"application/x-www-form-urlencoded; charset=UTF-8\" };\n payloadStr = Object.keys(payload).map((key) => {\n return `${ key }=${ payload[key] }`\n }).join(\"&\");\n }\n\n const result = await fetchJson(connection, payloadStr, procFunc || getJsonResult);\n\n this.emit(\"debug\", {\n action: \"response\",\n request: url,\n response: deepCopy(result),\n provider: this\n });\n\n return result;\n }\n\n async detectNetwork(): Promise {\n return this.network;\n }\n\n async perform(method: string, params: any): Promise {\n\n switch (method) {\n case \"getBlockNumber\":\n return this.fetch(\"proxy\", { action: \"eth_blockNumber\" });\n\n case \"getGasPrice\":\n return this.fetch(\"proxy\", { action: \"eth_gasPrice\" });\n\n case \"getBalance\":\n // Returns base-10 result\n return this.fetch(\"account\", {\n action: \"balance\",\n address: params.address,\n tag: params.blockTag\n });\n\n case \"getTransactionCount\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionCount\",\n address: params.address,\n tag: params.blockTag\n });\n\n case \"getCode\":\n return this.fetch(\"proxy\", {\n action: \"eth_getCode\",\n address: params.address,\n tag: params.blockTag\n });\n\n case \"getStorageAt\":\n return this.fetch(\"proxy\", {\n action: \"eth_getStorageAt\",\n address: params.address,\n position: params.position,\n tag: params.blockTag\n });\n\n case \"sendTransaction\":\n return this.fetch(\"proxy\", {\n action: \"eth_sendRawTransaction\",\n hex: params.signedTransaction\n }, true).catch((error) => {\n return checkError(\"sendTransaction\", error, params.signedTransaction);\n });\n\n case \"getBlock\":\n if (params.blockTag) {\n return this.fetch(\"proxy\", {\n action: \"eth_getBlockByNumber\",\n tag: params.blockTag,\n boolean: (params.includeTransactions ? \"true\": \"false\")\n });\n }\n throw new Error(\"getBlock by blockHash not implemented\");\n\n case \"getTransaction\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionByHash\",\n txhash: params.transactionHash\n });\n\n case \"getTransactionReceipt\":\n return this.fetch(\"proxy\", {\n action: \"eth_getTransactionReceipt\",\n txhash: params.transactionHash\n });\n\n case \"call\": {\n if (params.blockTag !== \"latest\") {\n throw new Error(\"EtherscanProvider does not support blockTag for call\");\n }\n\n const postData = getTransactionPostData(params.transaction);\n postData.module = \"proxy\";\n postData.action = \"eth_call\";\n\n try {\n return await this.fetch(\"proxy\", postData, true);\n } catch (error) {\n return checkError(\"call\", error, params.transaction);\n }\n }\n\n case \"estimateGas\": {\n const postData = getTransactionPostData(params.transaction);\n postData.module = \"proxy\";\n postData.action = \"eth_estimateGas\";\n\n try {\n return await this.fetch(\"proxy\", postData, true);\n } catch (error) {\n return checkError(\"estimateGas\", error, params.transaction);\n }\n }\n\n case \"getLogs\": {\n const args: Record = { action: \"getLogs\" }\n\n if (params.filter.fromBlock) {\n args.fromBlock = checkLogTag(params.filter.fromBlock);\n }\n\n if (params.filter.toBlock) {\n args.toBlock = checkLogTag(params.filter.toBlock);\n }\n\n if (params.filter.address) {\n args.address = params.filter.address;\n }\n\n // @TODO: We can handle slightly more complicated logs using the logs API\n if (params.filter.topics && params.filter.topics.length > 0) {\n if (params.filter.topics.length > 1) {\n logger.throwError(\"unsupported topic count\", Logger.errors.UNSUPPORTED_OPERATION, { topics: params.filter.topics });\n }\n\n if (params.filter.topics.length === 1) {\n const topic0 = params.filter.topics[0];\n if (typeof(topic0) !== \"string\" || topic0.length !== 66) {\n logger.throwError(\"unsupported topic format\", Logger.errors.UNSUPPORTED_OPERATION, { topic0: topic0 });\n }\n args.topic0 = topic0;\n }\n }\n\n const logs: Array = await this.fetch(\"logs\", args);\n\n // Cache txHash => blockHash\n let blocks: { [tag: string]: string } = {};\n\n // Add any missing blockHash to the logs\n for (let i = 0; i < logs.length; i++) {\n const log = logs[i];\n if (log.blockHash != null) { continue; }\n if (blocks[log.blockNumber] == null) {\n const block = await this.getBlock(log.blockNumber);\n if (block) {\n blocks[log.blockNumber] = block.hash;\n }\n }\n log.blockHash = blocks[log.blockNumber];\n }\n\n return logs;\n }\n\n case \"getEtherPrice\":\n if (this.network.name !== \"homestead\") { return 0.0; }\n return parseFloat((await this.fetch(\"stats\", { action: \"ethprice\" })).ethusd);\n\n default:\n break;\n }\n\n return super.perform(method, params);\n }\n\n // Note: The `page` page parameter only allows pagination within the\n // 10,000 window available without a page and offset parameter\n // Error: Result window is too large, PageNo x Offset size must\n // be less than or equal to 10000\n async getHistory(addressOrName: string | Promise, startBlock?: BlockTag, endBlock?: BlockTag): Promise> {\n const params = {\n action: \"txlist\",\n address: (await this.resolveName(addressOrName)),\n startblock: ((startBlock == null) ? 0: startBlock),\n endblock: ((endBlock == null) ? 99999999: endBlock),\n sort: \"asc\"\n };\n\n const result = await this.fetch(\"account\", params);\n\n return result.map((tx: any) => {\n [\"contractAddress\", \"to\"].forEach(function(key) {\n if (tx[key] == \"\") { delete tx[key]; }\n });\n if (tx.creates == null && tx.contractAddress != null) {\n tx.creates = tx.contractAddress;\n }\n const item = this.formatter.transactionResponse(tx);\n if (tx.timeStamp) { item.timestamp = parseInt(tx.timeStamp); }\n return item;\n });\n }\n\n isCommunityResource(): boolean {\n return (this.apiKey == null);\n }\n}\n","\"use strict\";\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nimport { Provider } from \"@ethersproject/abstract-provider\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { isHexString } from \"@ethersproject/bytes\";\nimport { deepCopy, defineReadOnly, shallowCopy } from \"@ethersproject/properties\";\nimport { shuffled } from \"@ethersproject/random\";\nimport { poll } from \"@ethersproject/web\";\nimport { BaseProvider } from \"./base-provider\";\nimport { isCommunityResource } from \"./formatter\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nfunction now() { return (new Date()).getTime(); }\n// Returns to network as long as all agree, or null if any is null.\n// Throws an error if any two networks do not match.\nfunction checkNetworks(networks) {\n let result = null;\n for (let i = 0; i < networks.length; i++) {\n const network = networks[i];\n // Null! We do not know our network; bail.\n if (network == null) {\n return null;\n }\n if (result) {\n // Make sure the network matches the previous networks\n if (!(result.name === network.name && result.chainId === network.chainId &&\n ((result.ensAddress === network.ensAddress) || (result.ensAddress == null && network.ensAddress == null)))) {\n logger.throwArgumentError(\"provider mismatch\", \"networks\", networks);\n }\n }\n else {\n result = network;\n }\n }\n return result;\n}\nfunction median(values, maxDelta) {\n values = values.slice().sort();\n const middle = Math.floor(values.length / 2);\n // Odd length; take the middle\n if (values.length % 2) {\n return values[middle];\n }\n // Even length; take the average of the two middle\n const a = values[middle - 1], b = values[middle];\n if (maxDelta != null && Math.abs(a - b) > maxDelta) {\n return null;\n }\n return (a + b) / 2;\n}\nfunction serialize(value) {\n if (value === null) {\n return \"null\";\n }\n else if (typeof (value) === \"number\" || typeof (value) === \"boolean\") {\n return JSON.stringify(value);\n }\n else if (typeof (value) === \"string\") {\n return value;\n }\n else if (BigNumber.isBigNumber(value)) {\n return value.toString();\n }\n else if (Array.isArray(value)) {\n return JSON.stringify(value.map((i) => serialize(i)));\n }\n else if (typeof (value) === \"object\") {\n const keys = Object.keys(value);\n keys.sort();\n return \"{\" + keys.map((key) => {\n let v = value[key];\n if (typeof (v) === \"function\") {\n v = \"[function]\";\n }\n else {\n v = serialize(v);\n }\n return JSON.stringify(key) + \":\" + v;\n }).join(\",\") + \"}\";\n }\n throw new Error(\"unknown value type: \" + typeof (value));\n}\n// Next request ID to use for emitting debug info\nlet nextRid = 1;\n;\nfunction stall(duration) {\n let cancel = null;\n let timer = null;\n let promise = (new Promise((resolve) => {\n cancel = function () {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n resolve();\n };\n timer = setTimeout(cancel, duration);\n }));\n const wait = (func) => {\n promise = promise.then(func);\n return promise;\n };\n function getPromise() {\n return promise;\n }\n return { cancel, getPromise, wait };\n}\nconst ForwardErrors = [\n Logger.errors.CALL_EXCEPTION,\n Logger.errors.INSUFFICIENT_FUNDS,\n Logger.errors.NONCE_EXPIRED,\n Logger.errors.REPLACEMENT_UNDERPRICED,\n Logger.errors.UNPREDICTABLE_GAS_LIMIT\n];\nconst ForwardProperties = [\n \"address\",\n \"args\",\n \"errorArgs\",\n \"errorSignature\",\n \"method\",\n \"transaction\",\n];\n;\nfunction exposeDebugConfig(config, now) {\n const result = {\n weight: config.weight\n };\n Object.defineProperty(result, \"provider\", { get: () => config.provider });\n if (config.start) {\n result.start = config.start;\n }\n if (now) {\n result.duration = (now - config.start);\n }\n if (config.done) {\n if (config.error) {\n result.error = config.error;\n }\n else {\n result.result = config.result || null;\n }\n }\n return result;\n}\nfunction normalizedTally(normalize, quorum) {\n return function (configs) {\n // Count the votes for each result\n const tally = {};\n configs.forEach((c) => {\n const value = normalize(c.result);\n if (!tally[value]) {\n tally[value] = { count: 0, result: c.result };\n }\n tally[value].count++;\n });\n // Check for a quorum on any given result\n const keys = Object.keys(tally);\n for (let i = 0; i < keys.length; i++) {\n const check = tally[keys[i]];\n if (check.count >= quorum) {\n return check.result;\n }\n }\n // No quroum\n return undefined;\n };\n}\nfunction getProcessFunc(provider, method, params) {\n let normalize = serialize;\n switch (method) {\n case \"getBlockNumber\":\n // Return the median value, unless there is (median + 1) is also\n // present, in which case that is probably true and the median\n // is going to be stale soon. In the event of a malicious node,\n // the lie will be true soon enough.\n return function (configs) {\n const values = configs.map((c) => c.result);\n // Get the median block number\n let blockNumber = median(configs.map((c) => c.result), 2);\n if (blockNumber == null) {\n return undefined;\n }\n blockNumber = Math.ceil(blockNumber);\n // If the next block height is present, its prolly safe to use\n if (values.indexOf(blockNumber + 1) >= 0) {\n blockNumber++;\n }\n // Don't ever roll back the blockNumber\n if (blockNumber >= provider._highestBlockNumber) {\n provider._highestBlockNumber = blockNumber;\n }\n return provider._highestBlockNumber;\n };\n case \"getGasPrice\":\n // Return the middle (round index up) value, similar to median\n // but do not average even entries and choose the higher.\n // Malicious actors must compromise 50% of the nodes to lie.\n return function (configs) {\n const values = configs.map((c) => c.result);\n values.sort();\n return values[Math.floor(values.length / 2)];\n };\n case \"getEtherPrice\":\n // Returns the median price. Malicious actors must compromise at\n // least 50% of the nodes to lie (in a meaningful way).\n return function (configs) {\n return median(configs.map((c) => c.result));\n };\n // No additional normalizing required; serialize is enough\n case \"getBalance\":\n case \"getTransactionCount\":\n case \"getCode\":\n case \"getStorageAt\":\n case \"call\":\n case \"estimateGas\":\n case \"getLogs\":\n break;\n // We drop the confirmations from transactions as it is approximate\n case \"getTransaction\":\n case \"getTransactionReceipt\":\n normalize = function (tx) {\n if (tx == null) {\n return null;\n }\n tx = shallowCopy(tx);\n tx.confirmations = -1;\n return serialize(tx);\n };\n break;\n // We drop the confirmations from transactions as it is approximate\n case \"getBlock\":\n // We drop the confirmations from transactions as it is approximate\n if (params.includeTransactions) {\n normalize = function (block) {\n if (block == null) {\n return null;\n }\n block = shallowCopy(block);\n block.transactions = block.transactions.map((tx) => {\n tx = shallowCopy(tx);\n tx.confirmations = -1;\n return tx;\n });\n return serialize(block);\n };\n }\n else {\n normalize = function (block) {\n if (block == null) {\n return null;\n }\n return serialize(block);\n };\n }\n break;\n default:\n throw new Error(\"unknown method: \" + method);\n }\n // Return the result if and only if the expected quorum is\n // satisfied and agreed upon for the final result.\n return normalizedTally(normalize, provider.quorum);\n}\n// If we are doing a blockTag query, we need to make sure the backend is\n// caught up to the FallbackProvider, before sending a request to it.\nfunction waitForSync(config, blockNumber) {\n return __awaiter(this, void 0, void 0, function* () {\n const provider = (config.provider);\n if ((provider.blockNumber != null && provider.blockNumber >= blockNumber) || blockNumber === -1) {\n return provider;\n }\n return poll(() => {\n return new Promise((resolve, reject) => {\n setTimeout(function () {\n // We are synced\n if (provider.blockNumber >= blockNumber) {\n return resolve(provider);\n }\n // We're done; just quit\n if (config.cancelled) {\n return resolve(null);\n }\n // Try again, next block\n return resolve(undefined);\n }, 0);\n });\n }, { oncePoll: provider });\n });\n}\nfunction getRunner(config, currentBlockNumber, method, params) {\n return __awaiter(this, void 0, void 0, function* () {\n let provider = config.provider;\n switch (method) {\n case \"getBlockNumber\":\n case \"getGasPrice\":\n return provider[method]();\n case \"getEtherPrice\":\n if (provider.getEtherPrice) {\n return provider.getEtherPrice();\n }\n break;\n case \"getBalance\":\n case \"getTransactionCount\":\n case \"getCode\":\n if (params.blockTag && isHexString(params.blockTag)) {\n provider = yield waitForSync(config, currentBlockNumber);\n }\n return provider[method](params.address, params.blockTag || \"latest\");\n case \"getStorageAt\":\n if (params.blockTag && isHexString(params.blockTag)) {\n provider = yield waitForSync(config, currentBlockNumber);\n }\n return provider.getStorageAt(params.address, params.position, params.blockTag || \"latest\");\n case \"getBlock\":\n if (params.blockTag && isHexString(params.blockTag)) {\n provider = yield waitForSync(config, currentBlockNumber);\n }\n return provider[(params.includeTransactions ? \"getBlockWithTransactions\" : \"getBlock\")](params.blockTag || params.blockHash);\n case \"call\":\n case \"estimateGas\":\n if (params.blockTag && isHexString(params.blockTag)) {\n provider = yield waitForSync(config, currentBlockNumber);\n }\n if (method === \"call\" && params.blockTag) {\n return provider[method](params.transaction, params.blockTag);\n }\n return provider[method](params.transaction);\n case \"getTransaction\":\n case \"getTransactionReceipt\":\n return provider[method](params.transactionHash);\n case \"getLogs\": {\n let filter = params.filter;\n if ((filter.fromBlock && isHexString(filter.fromBlock)) || (filter.toBlock && isHexString(filter.toBlock))) {\n provider = yield waitForSync(config, currentBlockNumber);\n }\n return provider.getLogs(filter);\n }\n }\n return logger.throwError(\"unknown method error\", Logger.errors.UNKNOWN_ERROR, {\n method: method,\n params: params\n });\n });\n}\nexport class FallbackProvider extends BaseProvider {\n constructor(providers, quorum) {\n if (providers.length === 0) {\n logger.throwArgumentError(\"missing providers\", \"providers\", providers);\n }\n const providerConfigs = providers.map((configOrProvider, index) => {\n if (Provider.isProvider(configOrProvider)) {\n const stallTimeout = isCommunityResource(configOrProvider) ? 2000 : 750;\n const priority = 1;\n return Object.freeze({ provider: configOrProvider, weight: 1, stallTimeout, priority });\n }\n const config = shallowCopy(configOrProvider);\n if (config.priority == null) {\n config.priority = 1;\n }\n if (config.stallTimeout == null) {\n config.stallTimeout = isCommunityResource(configOrProvider) ? 2000 : 750;\n }\n if (config.weight == null) {\n config.weight = 1;\n }\n const weight = config.weight;\n if (weight % 1 || weight > 512 || weight < 1) {\n logger.throwArgumentError(\"invalid weight; must be integer in [1, 512]\", `providers[${index}].weight`, weight);\n }\n return Object.freeze(config);\n });\n const total = providerConfigs.reduce((accum, c) => (accum + c.weight), 0);\n if (quorum == null) {\n quorum = total / 2;\n }\n else if (quorum > total) {\n logger.throwArgumentError(\"quorum will always fail; larger than total weight\", \"quorum\", quorum);\n }\n // Are all providers' networks are known\n let networkOrReady = checkNetworks(providerConfigs.map((c) => (c.provider).network));\n // Not all networks are known; we must stall\n if (networkOrReady == null) {\n networkOrReady = new Promise((resolve, reject) => {\n setTimeout(() => {\n this.detectNetwork().then(resolve, reject);\n }, 0);\n });\n }\n super(networkOrReady);\n // Preserve a copy, so we do not get mutated\n defineReadOnly(this, \"providerConfigs\", Object.freeze(providerConfigs));\n defineReadOnly(this, \"quorum\", quorum);\n this._highestBlockNumber = -1;\n }\n detectNetwork() {\n return __awaiter(this, void 0, void 0, function* () {\n const networks = yield Promise.all(this.providerConfigs.map((c) => c.provider.getNetwork()));\n return checkNetworks(networks);\n });\n }\n perform(method, params) {\n return __awaiter(this, void 0, void 0, function* () {\n // Sending transactions is special; always broadcast it to all backends\n if (method === \"sendTransaction\") {\n const results = yield Promise.all(this.providerConfigs.map((c) => {\n return c.provider.sendTransaction(params.signedTransaction).then((result) => {\n return result.hash;\n }, (error) => {\n return error;\n });\n }));\n // Any success is good enough (other errors are likely \"already seen\" errors\n for (let i = 0; i < results.length; i++) {\n const result = results[i];\n if (typeof (result) === \"string\") {\n return result;\n }\n }\n // They were all an error; pick the first error\n throw results[0];\n }\n // We need to make sure we are in sync with our backends, so we need\n // to know this before we can make a lot of calls\n if (this._highestBlockNumber === -1 && method !== \"getBlockNumber\") {\n yield this.getBlockNumber();\n }\n const processFunc = getProcessFunc(this, method, params);\n // Shuffle the providers and then sort them by their priority; we\n // shallowCopy them since we will store the result in them too\n const configs = shuffled(this.providerConfigs.map(shallowCopy));\n configs.sort((a, b) => (a.priority - b.priority));\n const currentBlockNumber = this._highestBlockNumber;\n let i = 0;\n let first = true;\n while (true) {\n const t0 = now();\n // Compute the inflight weight (exclude anything past)\n let inflightWeight = configs.filter((c) => (c.runner && ((t0 - c.start) < c.stallTimeout)))\n .reduce((accum, c) => (accum + c.weight), 0);\n // Start running enough to meet quorum\n while (inflightWeight < this.quorum && i < configs.length) {\n const config = configs[i++];\n const rid = nextRid++;\n config.start = now();\n config.staller = stall(config.stallTimeout);\n config.staller.wait(() => { config.staller = null; });\n config.runner = getRunner(config, currentBlockNumber, method, params).then((result) => {\n config.done = true;\n config.result = result;\n if (this.listenerCount(\"debug\")) {\n this.emit(\"debug\", {\n action: \"request\",\n rid: rid,\n backend: exposeDebugConfig(config, now()),\n request: { method: method, params: deepCopy(params) },\n provider: this\n });\n }\n }, (error) => {\n config.done = true;\n config.error = error;\n if (this.listenerCount(\"debug\")) {\n this.emit(\"debug\", {\n action: \"request\",\n rid: rid,\n backend: exposeDebugConfig(config, now()),\n request: { method: method, params: deepCopy(params) },\n provider: this\n });\n }\n });\n if (this.listenerCount(\"debug\")) {\n this.emit(\"debug\", {\n action: \"request\",\n rid: rid,\n backend: exposeDebugConfig(config, null),\n request: { method: method, params: deepCopy(params) },\n provider: this\n });\n }\n inflightWeight += config.weight;\n }\n // Wait for anything meaningful to finish or stall out\n const waiting = [];\n configs.forEach((c) => {\n if (c.done || !c.runner) {\n return;\n }\n waiting.push(c.runner);\n if (c.staller) {\n waiting.push(c.staller.getPromise());\n }\n });\n if (waiting.length) {\n yield Promise.race(waiting);\n }\n // Check the quorum and process the results; the process function\n // may additionally decide the quorum is not met\n const results = configs.filter((c) => (c.done && c.error == null));\n if (results.length >= this.quorum) {\n const result = processFunc(results);\n if (result !== undefined) {\n // Shut down any stallers\n configs.forEach(c => {\n if (c.staller) {\n c.staller.cancel();\n }\n c.cancelled = true;\n });\n return result;\n }\n if (!first) {\n yield stall(100).getPromise();\n }\n first = false;\n }\n // No result, check for errors that should be forwarded\n const errors = configs.reduce((accum, c) => {\n if (!c.done || c.error == null) {\n return accum;\n }\n const code = (c.error).code;\n if (ForwardErrors.indexOf(code) >= 0) {\n if (!accum[code]) {\n accum[code] = { error: c.error, weight: 0 };\n }\n accum[code].weight += c.weight;\n }\n return accum;\n }, ({}));\n Object.keys(errors).forEach((errorCode) => {\n const tally = errors[errorCode];\n if (tally.weight < this.quorum) {\n return;\n }\n // Shut down any stallers\n configs.forEach(c => {\n if (c.staller) {\n c.staller.cancel();\n }\n c.cancelled = true;\n });\n const e = (tally.error);\n const props = {};\n ForwardProperties.forEach((name) => {\n if (e[name] == null) {\n return;\n }\n props[name] = e[name];\n });\n logger.throwError(e.reason || e.message, errorCode, props);\n });\n // All configs have run to completion; we will never get more data\n if (configs.filter((c) => !c.done).length === 0) {\n break;\n }\n }\n // Shut down any stallers; shouldn't be any\n configs.forEach(c => {\n if (c.staller) {\n c.staller.cancel();\n }\n c.cancelled = true;\n });\n return logger.throwError(\"failed to meet quorum\", Logger.errors.SERVER_ERROR, {\n method: method,\n params: params,\n //results: configs.map((c) => c.result),\n //errors: configs.map((c) => c.error),\n results: configs.map((c) => exposeDebugConfig(c)),\n provider: this\n });\n });\n }\n}\n//# sourceMappingURL=fallback-provider.js.map","\"use strict\";\n\nimport { Block, BlockWithTransactions, Provider } from \"@ethersproject/abstract-provider\";\nimport { BigNumber } from \"@ethersproject/bignumber\";\nimport { isHexString } from \"@ethersproject/bytes\";\nimport { Network } from \"@ethersproject/networks\";\nimport { deepCopy, defineReadOnly, shallowCopy } from \"@ethersproject/properties\";\nimport { shuffled } from \"@ethersproject/random\";\nimport { poll } from \"@ethersproject/web\";\n\nimport { BaseProvider } from \"./base-provider\";\nimport { isCommunityResource } from \"./formatter\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nfunction now() { return (new Date()).getTime(); }\n\n// Returns to network as long as all agree, or null if any is null.\n// Throws an error if any two networks do not match.\nfunction checkNetworks(networks: Array): Network {\n let result = null;\n\n for (let i = 0; i < networks.length; i++) {\n const network = networks[i];\n\n // Null! We do not know our network; bail.\n if (network == null) { return null; }\n\n if (result) {\n // Make sure the network matches the previous networks\n if (!(result.name === network.name && result.chainId === network.chainId &&\n ((result.ensAddress === network.ensAddress) || (result.ensAddress == null && network.ensAddress == null)))) {\n\n logger.throwArgumentError(\"provider mismatch\", \"networks\", networks);\n }\n } else {\n result = network;\n }\n }\n\n return result;\n}\n\nfunction median(values: Array, maxDelta?: number): number {\n values = values.slice().sort();\n const middle = Math.floor(values.length / 2);\n\n // Odd length; take the middle\n if (values.length % 2) {\n return values[middle];\n }\n\n // Even length; take the average of the two middle\n const a = values[middle - 1], b = values[middle];\n\n if (maxDelta != null && Math.abs(a - b) > maxDelta) {\n return null;\n }\n\n return (a + b) / 2;\n}\n\nfunction serialize(value: any): string {\n if (value === null) {\n return \"null\";\n } else if (typeof(value) === \"number\" || typeof(value) === \"boolean\") {\n return JSON.stringify(value);\n } else if (typeof(value) === \"string\") {\n return value;\n } else if (BigNumber.isBigNumber(value)) {\n return value.toString();\n } else if (Array.isArray(value)) {\n return JSON.stringify(value.map((i) => serialize(i)));\n } else if (typeof(value) === \"object\") {\n const keys = Object.keys(value);\n keys.sort();\n return \"{\" + keys.map((key) => {\n let v = value[key];\n if (typeof(v) === \"function\") {\n v = \"[function]\";\n } else {\n v = serialize(v);\n }\n return JSON.stringify(key) + \":\" + v;\n }).join(\",\") + \"}\";\n }\n\n throw new Error(\"unknown value type: \" + typeof(value));\n}\n\n// Next request ID to use for emitting debug info\nlet nextRid = 1;\n\n\nexport interface FallbackProviderConfig {\n // The Provider\n provider: Provider;\n\n // The priority to favour this Provider; lower values are used first (higher priority)\n priority?: number;\n\n // Timeout before also triggering the next provider; this does not stop\n // this provider and if its result comes back before a quorum is reached\n // it will be incorporated into the vote\n // - lower values will cause more network traffic but may result in a\n // faster result.\n stallTimeout?: number;\n\n // How much this provider contributes to the quorum; sometimes a specific\n // provider may be more reliable or trustworthy than others, but usually\n // this should be left as the default\n weight?: number;\n};\n\n// A Staller is used to provide a delay to give a Provider a chance to response\n// before asking the next Provider to try.\ntype Staller = {\n wait: (func: () => void) => Promise\n getPromise: () => Promise,\n cancel: () => void\n};\n\nfunction stall(duration: number): Staller {\n let cancel: () => void = null;\n\n let timer: NodeJS.Timer = null;\n let promise = >(new Promise((resolve) => {\n cancel = function() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n resolve();\n }\n timer = setTimeout(cancel, duration);\n }));\n\n const wait = (func: () => void) => {\n promise = promise.then(func);\n return promise;\n }\n\n function getPromise(): Promise {\n return promise;\n }\n\n return { cancel, getPromise, wait };\n}\n\nconst ForwardErrors = [\n Logger.errors.CALL_EXCEPTION,\n Logger.errors.INSUFFICIENT_FUNDS,\n Logger.errors.NONCE_EXPIRED,\n Logger.errors.REPLACEMENT_UNDERPRICED,\n Logger.errors.UNPREDICTABLE_GAS_LIMIT\n];\n\nconst ForwardProperties = [\n \"address\",\n \"args\",\n \"errorArgs\",\n \"errorSignature\",\n \"method\",\n \"transaction\",\n];\n\n\n// @TODO: Make this an object with staller and cancel built-in\ninterface RunningConfig extends FallbackProviderConfig {\n start?: number;\n done?: boolean;\n cancelled?: boolean;\n runner?: Promise;\n staller?: Staller;\n result?: any;\n error?: Error;\n};\n\nfunction exposeDebugConfig(config: RunningConfig, now?: number): any {\n const result: any = {\n weight: config.weight\n };\n Object.defineProperty(result, \"provider\", { get: () => config.provider });\n if (config.start) { result.start = config.start; }\n if (now) { result.duration = (now - config.start); }\n if (config.done) {\n if (config.error) {\n result.error = config.error;\n } else {\n result.result = config.result || null;\n }\n }\n return result;\n}\n\nfunction normalizedTally(normalize: (value: any) => string, quorum: number): (configs: Array) => any {\n return function(configs: Array): any {\n\n // Count the votes for each result\n const tally: { [ key: string]: { count: number, result: any } } = { };\n configs.forEach((c) => {\n const value = normalize(c.result);\n if (!tally[value]) { tally[value] = { count: 0, result: c.result }; }\n tally[value].count++;\n });\n\n // Check for a quorum on any given result\n const keys = Object.keys(tally);\n for (let i = 0; i < keys.length; i++) {\n const check = tally[keys[i]];\n if (check.count >= quorum) {\n return check.result;\n }\n }\n\n // No quroum\n return undefined;\n }\n}\nfunction getProcessFunc(provider: FallbackProvider, method: string, params: { [ key: string ]: any }): (configs: Array) => any {\n\n let normalize = serialize;\n\n switch (method) {\n case \"getBlockNumber\":\n // Return the median value, unless there is (median + 1) is also\n // present, in which case that is probably true and the median\n // is going to be stale soon. In the event of a malicious node,\n // the lie will be true soon enough.\n return function(configs: Array): number {\n const values = configs.map((c) => c.result);\n\n // Get the median block number\n let blockNumber = median(configs.map((c) => c.result), 2);\n if (blockNumber == null) { return undefined; }\n\n blockNumber = Math.ceil(blockNumber);\n\n // If the next block height is present, its prolly safe to use\n if (values.indexOf(blockNumber + 1) >= 0) { blockNumber++; }\n\n // Don't ever roll back the blockNumber\n if (blockNumber >= provider._highestBlockNumber) {\n provider._highestBlockNumber = blockNumber;\n }\n\n return provider._highestBlockNumber;\n };\n\n case \"getGasPrice\":\n // Return the middle (round index up) value, similar to median\n // but do not average even entries and choose the higher.\n // Malicious actors must compromise 50% of the nodes to lie.\n return function(configs: Array): BigNumber {\n const values = configs.map((c) => c.result);\n values.sort();\n return values[Math.floor(values.length / 2)];\n }\n\n case \"getEtherPrice\":\n // Returns the median price. Malicious actors must compromise at\n // least 50% of the nodes to lie (in a meaningful way).\n return function(configs: Array): number {\n return median(configs.map((c) => c.result));\n }\n\n // No additional normalizing required; serialize is enough\n case \"getBalance\":\n case \"getTransactionCount\":\n case \"getCode\":\n case \"getStorageAt\":\n case \"call\":\n case \"estimateGas\":\n case \"getLogs\":\n break;\n\n // We drop the confirmations from transactions as it is approximate\n case \"getTransaction\":\n case \"getTransactionReceipt\":\n normalize = function(tx: any): string {\n if (tx == null) { return null; }\n\n tx = shallowCopy(tx);\n tx.confirmations = -1;\n return serialize(tx);\n }\n break;\n\n // We drop the confirmations from transactions as it is approximate\n case \"getBlock\":\n // We drop the confirmations from transactions as it is approximate\n if (params.includeTransactions) {\n normalize = function(block: BlockWithTransactions): string {\n if (block == null) { return null; }\n\n block = shallowCopy(block);\n block.transactions = block.transactions.map((tx) => {\n tx = shallowCopy(tx);\n tx.confirmations = -1;\n return tx;\n });\n return serialize(block);\n };\n } else {\n normalize = function(block: Block): string {\n if (block == null) { return null; }\n return serialize(block);\n }\n }\n break;\n\n default:\n throw new Error(\"unknown method: \" + method);\n }\n\n // Return the result if and only if the expected quorum is\n // satisfied and agreed upon for the final result.\n return normalizedTally(normalize, provider.quorum);\n\n}\n\n// If we are doing a blockTag query, we need to make sure the backend is\n// caught up to the FallbackProvider, before sending a request to it.\nasync function waitForSync(config: RunningConfig, blockNumber: number): Promise {\n const provider = (config.provider);\n\n if ((provider.blockNumber != null && provider.blockNumber >= blockNumber) || blockNumber === -1) {\n return provider;\n }\n\n return poll(() => {\n return new Promise((resolve, reject) => {\n setTimeout(function() {\n\n // We are synced\n if (provider.blockNumber >= blockNumber) { return resolve(provider); }\n\n // We're done; just quit\n if (config.cancelled) { return resolve(null); }\n\n // Try again, next block\n return resolve(undefined);\n }, 0);\n });\n }, { oncePoll: provider });\n}\n\nasync function getRunner(config: RunningConfig, currentBlockNumber: number, method: string, params: { [ key: string]: any }): Promise {\n let provider = config.provider;\n\n switch (method) {\n case \"getBlockNumber\":\n case \"getGasPrice\":\n return provider[method]();\n case \"getEtherPrice\":\n if ((provider).getEtherPrice) {\n return (provider).getEtherPrice();\n }\n break;\n case \"getBalance\":\n case \"getTransactionCount\":\n case \"getCode\":\n if (params.blockTag && isHexString(params.blockTag)) {\n provider = await waitForSync(config, currentBlockNumber)\n }\n return provider[method](params.address, params.blockTag || \"latest\");\n case \"getStorageAt\":\n if (params.blockTag && isHexString(params.blockTag)) {\n provider = await waitForSync(config, currentBlockNumber)\n }\n return provider.getStorageAt(params.address, params.position, params.blockTag || \"latest\");\n case \"getBlock\":\n if (params.blockTag && isHexString(params.blockTag)) {\n provider = await waitForSync(config, currentBlockNumber)\n }\n return provider[(params.includeTransactions ? \"getBlockWithTransactions\": \"getBlock\")](params.blockTag || params.blockHash);\n case \"call\":\n case \"estimateGas\":\n if (params.blockTag && isHexString(params.blockTag)) {\n provider = await waitForSync(config, currentBlockNumber)\n }\n if (method === \"call\" && params.blockTag) {\n return provider[method](params.transaction, params.blockTag);\n }\n return provider[method](params.transaction);\n case \"getTransaction\":\n case \"getTransactionReceipt\":\n return provider[method](params.transactionHash);\n case \"getLogs\": {\n let filter = params.filter;\n if ((filter.fromBlock && isHexString(filter.fromBlock)) || (filter.toBlock && isHexString(filter.toBlock))) {\n provider = await waitForSync(config, currentBlockNumber)\n }\n return provider.getLogs(filter);\n }\n }\n\n return logger.throwError(\"unknown method error\", Logger.errors.UNKNOWN_ERROR, {\n method: method,\n params: params\n });\n}\n\nexport class FallbackProvider extends BaseProvider {\n readonly providerConfigs: ReadonlyArray;\n readonly quorum: number;\n\n // Due to the highly asyncronous nature of the blockchain, we need\n // to make sure we never unroll the blockNumber due to our random\n // sample of backends\n _highestBlockNumber: number;\n\n constructor(providers: Array, quorum?: number) {\n if (providers.length === 0) {\n logger.throwArgumentError(\"missing providers\", \"providers\", providers);\n }\n\n const providerConfigs: Array = providers.map((configOrProvider, index) => {\n if (Provider.isProvider(configOrProvider)) {\n const stallTimeout = isCommunityResource(configOrProvider) ? 2000: 750;\n const priority = 1;\n return Object.freeze({ provider: configOrProvider, weight: 1, stallTimeout, priority });\n }\n\n const config: FallbackProviderConfig = shallowCopy(configOrProvider);\n\n if (config.priority == null) { config.priority = 1; }\n if (config.stallTimeout == null) {\n config.stallTimeout = isCommunityResource(configOrProvider) ? 2000: 750;\n }\n if (config.weight == null) { config.weight = 1; }\n\n const weight = config.weight;\n if (weight % 1 || weight > 512 || weight < 1) {\n logger.throwArgumentError(\"invalid weight; must be integer in [1, 512]\", `providers[${ index }].weight`, weight);\n }\n\n return Object.freeze(config);\n });\n\n const total = providerConfigs.reduce((accum, c) => (accum + c.weight), 0);\n\n if (quorum == null) {\n quorum = total / 2;\n } else if (quorum > total) {\n logger.throwArgumentError(\"quorum will always fail; larger than total weight\", \"quorum\", quorum);\n }\n\n // Are all providers' networks are known\n let networkOrReady: Network | Promise = checkNetworks(providerConfigs.map((c) => ((c.provider)).network));\n\n // Not all networks are known; we must stall\n if (networkOrReady == null) {\n networkOrReady = new Promise((resolve, reject) => {\n setTimeout(() => {\n this.detectNetwork().then(resolve, reject);\n }, 0);\n });\n }\n\n super(networkOrReady);\n\n // Preserve a copy, so we do not get mutated\n defineReadOnly(this, \"providerConfigs\", Object.freeze(providerConfigs));\n defineReadOnly(this, \"quorum\", quorum);\n\n this._highestBlockNumber = -1;\n }\n\n async detectNetwork(): Promise {\n const networks = await Promise.all(this.providerConfigs.map((c) => c.provider.getNetwork()));\n return checkNetworks(networks);\n }\n\n async perform(method: string, params: { [name: string]: any }): Promise {\n // Sending transactions is special; always broadcast it to all backends\n if (method === \"sendTransaction\") {\n const results: Array = await Promise.all(this.providerConfigs.map((c) => {\n return c.provider.sendTransaction(params.signedTransaction).then((result) => {\n return result.hash;\n }, (error) => {\n return error;\n });\n }));\n\n // Any success is good enough (other errors are likely \"already seen\" errors\n for (let i = 0; i < results.length; i++) {\n const result = results[i];\n if (typeof(result) === \"string\") { return result; }\n }\n\n // They were all an error; pick the first error\n throw results[0];\n }\n\n // We need to make sure we are in sync with our backends, so we need\n // to know this before we can make a lot of calls\n if (this._highestBlockNumber === -1 && method !== \"getBlockNumber\") {\n await this.getBlockNumber();\n }\n\n const processFunc = getProcessFunc(this, method, params);\n\n // Shuffle the providers and then sort them by their priority; we\n // shallowCopy them since we will store the result in them too\n const configs: Array = shuffled(this.providerConfigs.map(shallowCopy));\n configs.sort((a, b) => (a.priority - b.priority));\n\n const currentBlockNumber = this._highestBlockNumber;\n\n let i = 0;\n let first = true;\n while (true) {\n const t0 = now();\n\n // Compute the inflight weight (exclude anything past)\n let inflightWeight = configs.filter((c) => (c.runner && ((t0 - c.start) < c.stallTimeout)))\n .reduce((accum, c) => (accum + c.weight), 0);\n\n // Start running enough to meet quorum\n while (inflightWeight < this.quorum && i < configs.length) {\n const config = configs[i++];\n\n const rid = nextRid++;\n\n config.start = now();\n config.staller = stall(config.stallTimeout);\n config.staller.wait(() => { config.staller = null; });\n\n config.runner = getRunner(config, currentBlockNumber, method, params).then((result) => {\n config.done = true;\n config.result = result;\n\n if (this.listenerCount(\"debug\")) {\n this.emit(\"debug\", {\n action: \"request\",\n rid: rid,\n backend: exposeDebugConfig(config, now()),\n request: { method: method, params: deepCopy(params) },\n provider: this\n });\n }\n\n }, (error) => {\n config.done = true;\n config.error = error;\n\n if (this.listenerCount(\"debug\")) {\n this.emit(\"debug\", {\n action: \"request\",\n rid: rid,\n backend: exposeDebugConfig(config, now()),\n request: { method: method, params: deepCopy(params) },\n provider: this\n });\n }\n });\n\n if (this.listenerCount(\"debug\")) {\n this.emit(\"debug\", {\n action: \"request\",\n rid: rid,\n backend: exposeDebugConfig(config, null),\n request: { method: method, params: deepCopy(params) },\n provider: this\n });\n }\n\n inflightWeight += config.weight;\n }\n\n // Wait for anything meaningful to finish or stall out\n const waiting: Array> = [ ];\n configs.forEach((c) => {\n if (c.done || !c.runner) { return; }\n waiting.push(c.runner);\n if (c.staller) { waiting.push(c.staller.getPromise()); }\n });\n\n if (waiting.length) { await Promise.race(waiting); }\n\n // Check the quorum and process the results; the process function\n // may additionally decide the quorum is not met\n const results = configs.filter((c) => (c.done && c.error == null));\n if (results.length >= this.quorum) {\n const result = processFunc(results);\n if (result !== undefined) {\n // Shut down any stallers\n configs.forEach(c => {\n if (c.staller) { c.staller.cancel(); }\n c.cancelled = true;\n });\n return result;\n }\n if (!first) { await stall(100).getPromise(); }\n first = false;\n }\n\n // No result, check for errors that should be forwarded\n const errors = configs.reduce((accum, c) => {\n if (!c.done || c.error == null) { return accum; }\n\n const code = ((c.error)).code;\n if (ForwardErrors.indexOf(code) >= 0) {\n if (!accum[code]) { accum[code] = { error: c.error, weight: 0 }; }\n accum[code].weight += c.weight;\n }\n\n return accum;\n }, <{ [ code: string ]: { error: Error, weight: number } }>({ }));\n\n Object.keys(errors).forEach((errorCode: string) => {\n const tally = errors[errorCode];\n if (tally.weight < this.quorum) { return; }\n\n // Shut down any stallers\n configs.forEach(c => {\n if (c.staller) { c.staller.cancel(); }\n c.cancelled = true;\n });\n\n const e = (tally.error);\n\n const props: { [ name: string ]: any } = { };\n ForwardProperties.forEach((name) => {\n if (e[name] == null) { return; }\n props[name] = e[name];\n });\n\n logger.throwError(e.reason || e.message, errorCode, props);\n });\n\n // All configs have run to completion; we will never get more data\n if (configs.filter((c) => !c.done).length === 0) { break; }\n }\n\n // Shut down any stallers; shouldn't be any\n configs.forEach(c => {\n if (c.staller) { c.staller.cancel(); }\n c.cancelled = true;\n });\n\n return logger.throwError(\"failed to meet quorum\", Logger.errors.SERVER_ERROR, {\n method: method,\n params: params,\n //results: configs.map((c) => c.result),\n //errors: configs.map((c) => c.error),\n results: configs.map((c) => exposeDebugConfig(c)),\n provider: this\n });\n }\n}\n","\"use strict\";\nconst IpcProvider = null;\nexport { IpcProvider };\n//# sourceMappingURL=ipc-provider.js.map","\"use strict\";\n\nconst IpcProvider: any = null;\n\nexport {\n IpcProvider\n};\n","\"use strict\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { WebSocketProvider } from \"./websocket-provider\";\nimport { showThrottleMessage } from \"./formatter\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\nconst defaultProjectId = \"84842078b09946638c03157f83405213\";\nexport class InfuraWebSocketProvider extends WebSocketProvider {\n constructor(network, apiKey) {\n const provider = new InfuraProvider(network, apiKey);\n const connection = provider.connection;\n if (connection.password) {\n logger.throwError(\"INFURA WebSocket project secrets unsupported\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"InfuraProvider.getWebSocketProvider()\"\n });\n }\n const url = connection.url.replace(/^http/i, \"ws\").replace(\"/v3/\", \"/ws/v3/\");\n super(url, network);\n defineReadOnly(this, \"apiKey\", provider.projectId);\n defineReadOnly(this, \"projectId\", provider.projectId);\n defineReadOnly(this, \"projectSecret\", provider.projectSecret);\n }\n isCommunityResource() {\n return (this.projectId === defaultProjectId);\n }\n}\nexport class InfuraProvider extends UrlJsonRpcProvider {\n static getWebSocketProvider(network, apiKey) {\n return new InfuraWebSocketProvider(network, apiKey);\n }\n static getApiKey(apiKey) {\n const apiKeyObj = {\n apiKey: defaultProjectId,\n projectId: defaultProjectId,\n projectSecret: null\n };\n if (apiKey == null) {\n return apiKeyObj;\n }\n if (typeof (apiKey) === \"string\") {\n apiKeyObj.projectId = apiKey;\n }\n else if (apiKey.projectSecret != null) {\n logger.assertArgument((typeof (apiKey.projectId) === \"string\"), \"projectSecret requires a projectId\", \"projectId\", apiKey.projectId);\n logger.assertArgument((typeof (apiKey.projectSecret) === \"string\"), \"invalid projectSecret\", \"projectSecret\", \"[REDACTED]\");\n apiKeyObj.projectId = apiKey.projectId;\n apiKeyObj.projectSecret = apiKey.projectSecret;\n }\n else if (apiKey.projectId) {\n apiKeyObj.projectId = apiKey.projectId;\n }\n apiKeyObj.apiKey = apiKeyObj.projectId;\n return apiKeyObj;\n }\n static getUrl(network, apiKey) {\n let host = null;\n switch (network ? network.name : \"unknown\") {\n case \"homestead\":\n host = \"mainnet.infura.io\";\n break;\n case \"goerli\":\n host = \"goerli.infura.io\";\n break;\n case \"sepolia\":\n host = \"sepolia.infura.io\";\n break;\n case \"matic\":\n host = \"polygon-mainnet.infura.io\";\n break;\n case \"maticmum\":\n host = \"polygon-mumbai.infura.io\";\n break;\n case \"optimism\":\n host = \"optimism-mainnet.infura.io\";\n break;\n case \"optimism-goerli\":\n host = \"optimism-goerli.infura.io\";\n break;\n case \"arbitrum\":\n host = \"arbitrum-mainnet.infura.io\";\n break;\n case \"arbitrum-goerli\":\n host = \"arbitrum-goerli.infura.io\";\n break;\n default:\n logger.throwError(\"unsupported network\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"network\",\n value: network\n });\n }\n const connection = {\n allowGzip: true,\n url: (\"https:/\" + \"/\" + host + \"/v3/\" + apiKey.projectId),\n throttleCallback: (attempt, url) => {\n if (apiKey.projectId === defaultProjectId) {\n showThrottleMessage();\n }\n return Promise.resolve(true);\n }\n };\n if (apiKey.projectSecret != null) {\n connection.user = \"\";\n connection.password = apiKey.projectSecret;\n }\n return connection;\n }\n isCommunityResource() {\n return (this.projectId === defaultProjectId);\n }\n}\n//# sourceMappingURL=infura-provider.js.map","\"use strict\";\n\nimport { Network, Networkish } from \"@ethersproject/networks\";\nimport { defineReadOnly } from \"@ethersproject/properties\";\nimport { ConnectionInfo } from \"@ethersproject/web\";\n\nimport { WebSocketProvider } from \"./websocket-provider\";\nimport { CommunityResourcable, showThrottleMessage } from \"./formatter\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\n\n\nconst defaultProjectId = \"84842078b09946638c03157f83405213\"\n\nexport class InfuraWebSocketProvider extends WebSocketProvider implements CommunityResourcable {\n readonly apiKey: string;\n readonly projectId: string;\n readonly projectSecret: string;\n\n constructor(network?: Networkish, apiKey?: any) {\n const provider = new InfuraProvider(network, apiKey);\n const connection = provider.connection;\n if (connection.password) {\n logger.throwError(\"INFURA WebSocket project secrets unsupported\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"InfuraProvider.getWebSocketProvider()\"\n });\n }\n\n const url = connection.url.replace(/^http/i, \"ws\").replace(\"/v3/\", \"/ws/v3/\");\n super(url, network);\n\n defineReadOnly(this, \"apiKey\", provider.projectId);\n defineReadOnly(this, \"projectId\", provider.projectId);\n defineReadOnly(this, \"projectSecret\", provider.projectSecret);\n }\n\n isCommunityResource(): boolean {\n return (this.projectId === defaultProjectId);\n }\n}\n\nexport class InfuraProvider extends UrlJsonRpcProvider {\n readonly projectId: string;\n readonly projectSecret: string;\n\n static getWebSocketProvider(network?: Networkish, apiKey?: any): InfuraWebSocketProvider {\n return new InfuraWebSocketProvider(network, apiKey);\n }\n\n static getApiKey(apiKey: any): any {\n const apiKeyObj: { apiKey: string, projectId: string, projectSecret: string } = {\n apiKey: defaultProjectId,\n projectId: defaultProjectId,\n projectSecret: null\n };\n\n if (apiKey == null) { return apiKeyObj; }\n\n if (typeof(apiKey) === \"string\") {\n apiKeyObj.projectId = apiKey;\n\n } else if (apiKey.projectSecret != null) {\n logger.assertArgument((typeof(apiKey.projectId) === \"string\"),\n \"projectSecret requires a projectId\", \"projectId\", apiKey.projectId);\n logger.assertArgument((typeof(apiKey.projectSecret) === \"string\"),\n \"invalid projectSecret\", \"projectSecret\", \"[REDACTED]\");\n\n apiKeyObj.projectId = apiKey.projectId;\n apiKeyObj.projectSecret = apiKey.projectSecret;\n\n } else if (apiKey.projectId) {\n apiKeyObj.projectId = apiKey.projectId;\n }\n\n apiKeyObj.apiKey = apiKeyObj.projectId;\n\n return apiKeyObj;\n }\n\n static getUrl(network: Network, apiKey: any): ConnectionInfo {\n let host: string = null;\n switch(network ? network.name: \"unknown\") {\n case \"homestead\":\n host = \"mainnet.infura.io\";\n break;\n case \"goerli\":\n host = \"goerli.infura.io\";\n break;\n case \"sepolia\":\n host = \"sepolia.infura.io\";\n break;\n case \"matic\":\n host = \"polygon-mainnet.infura.io\";\n break;\n case \"maticmum\":\n host = \"polygon-mumbai.infura.io\";\n break;\n case \"optimism\":\n host = \"optimism-mainnet.infura.io\";\n break;\n case \"optimism-goerli\":\n host = \"optimism-goerli.infura.io\";\n break;\n case \"arbitrum\":\n host = \"arbitrum-mainnet.infura.io\";\n break;\n case \"arbitrum-goerli\":\n host = \"arbitrum-goerli.infura.io\";\n break;\n default:\n logger.throwError(\"unsupported network\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"network\",\n value: network\n });\n }\n\n const connection: ConnectionInfo = {\n allowGzip: true,\n url: (\"https:/\" + \"/\" + host + \"/v3/\" + apiKey.projectId),\n throttleCallback: (attempt: number, url: string) => {\n if (apiKey.projectId === defaultProjectId) {\n showThrottleMessage();\n }\n return Promise.resolve(true);\n }\n };\n\n if (apiKey.projectSecret != null) {\n connection.user = \"\";\n connection.password = apiKey.projectSecret\n }\n\n return connection;\n }\n\n isCommunityResource(): boolean {\n return (this.projectId === defaultProjectId);\n }\n}\n","import { deepCopy } from \"@ethersproject/properties\";\nimport { fetchJson } from \"@ethersproject/web\";\nimport { JsonRpcProvider } from \"./json-rpc-provider\";\n// Experimental\nexport class JsonRpcBatchProvider extends JsonRpcProvider {\n send(method, params) {\n const request = {\n method: method,\n params: params,\n id: (this._nextId++),\n jsonrpc: \"2.0\"\n };\n if (this._pendingBatch == null) {\n this._pendingBatch = [];\n }\n const inflightRequest = { request, resolve: null, reject: null };\n const promise = new Promise((resolve, reject) => {\n inflightRequest.resolve = resolve;\n inflightRequest.reject = reject;\n });\n this._pendingBatch.push(inflightRequest);\n if (!this._pendingBatchAggregator) {\n // Schedule batch for next event loop + short duration\n this._pendingBatchAggregator = setTimeout(() => {\n // Get teh current batch and clear it, so new requests\n // go into the next batch\n const batch = this._pendingBatch;\n this._pendingBatch = null;\n this._pendingBatchAggregator = null;\n // Get the request as an array of requests\n const request = batch.map((inflight) => inflight.request);\n this.emit(\"debug\", {\n action: \"requestBatch\",\n request: deepCopy(request),\n provider: this\n });\n return fetchJson(this.connection, JSON.stringify(request)).then((result) => {\n this.emit(\"debug\", {\n action: \"response\",\n request: request,\n response: result,\n provider: this\n });\n // For each result, feed it to the correct Promise, depending\n // on whether it was a success or error\n batch.forEach((inflightRequest, index) => {\n const payload = result[index];\n if (payload.error) {\n const error = new Error(payload.error.message);\n error.code = payload.error.code;\n error.data = payload.error.data;\n inflightRequest.reject(error);\n }\n else {\n inflightRequest.resolve(payload.result);\n }\n });\n }, (error) => {\n this.emit(\"debug\", {\n action: \"response\",\n error: error,\n request: request,\n provider: this\n });\n batch.forEach((inflightRequest) => {\n inflightRequest.reject(error);\n });\n });\n }, 10);\n }\n return promise;\n }\n}\n//# sourceMappingURL=json-rpc-batch-provider.js.map","\nimport { deepCopy } from \"@ethersproject/properties\";\nimport { fetchJson } from \"@ethersproject/web\";\n\nimport { JsonRpcProvider } from \"./json-rpc-provider\";\n\n// Experimental\n\nexport class JsonRpcBatchProvider extends JsonRpcProvider {\n _pendingBatchAggregator: NodeJS.Timer;\n _pendingBatch: Array<{\n request: { method: string, params: Array, id: number, jsonrpc: \"2.0\" },\n resolve: (result: any) => void,\n reject: (error: Error) => void\n }>;\n\n send(method: string, params: Array): Promise {\n const request = {\n method: method,\n params: params,\n id: (this._nextId++),\n jsonrpc: \"2.0\"\n };\n\n if (this._pendingBatch == null) {\n this._pendingBatch = [ ];\n }\n\n const inflightRequest: any = { request, resolve: null, reject: null };\n\n const promise = new Promise((resolve, reject) => {\n inflightRequest.resolve = resolve;\n inflightRequest.reject = reject;\n });\n\n this._pendingBatch.push(inflightRequest);\n\n if (!this._pendingBatchAggregator) {\n // Schedule batch for next event loop + short duration\n this._pendingBatchAggregator = setTimeout(() => {\n\n // Get teh current batch and clear it, so new requests\n // go into the next batch\n const batch = this._pendingBatch;\n this._pendingBatch = null;\n this._pendingBatchAggregator = null;\n\n // Get the request as an array of requests\n const request = batch.map((inflight) => inflight.request);\n\n this.emit(\"debug\", {\n action: \"requestBatch\",\n request: deepCopy(request),\n provider: this\n });\n\n return fetchJson(this.connection, JSON.stringify(request)).then((result) => {\n this.emit(\"debug\", {\n action: \"response\",\n request: request,\n response: result,\n provider: this\n });\n\n // For each result, feed it to the correct Promise, depending\n // on whether it was a success or error\n batch.forEach((inflightRequest, index) => {\n const payload = result[index];\n if (payload.error) {\n const error = new Error(payload.error.message);\n (error).code = payload.error.code;\n (error).data = payload.error.data;\n inflightRequest.reject(error);\n } else {\n inflightRequest.resolve(payload.result);\n }\n });\n\n }, (error) => {\n this.emit(\"debug\", {\n action: \"response\",\n error: error,\n request: request,\n provider: this\n });\n\n batch.forEach((inflightRequest) => {\n inflightRequest.reject(error);\n });\n });\n\n }, 10);\n }\n\n return promise;\n }\n}\n","/* istanbul ignore file */\n\"use strict\";\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n// Special API key provided by Nodesmith for ethers.js\nconst defaultApiKey = \"ETHERS_JS_SHARED\";\nexport class NodesmithProvider extends UrlJsonRpcProvider {\n static getApiKey(apiKey) {\n if (apiKey && typeof (apiKey) !== \"string\") {\n logger.throwArgumentError(\"invalid apiKey\", \"apiKey\", apiKey);\n }\n return apiKey || defaultApiKey;\n }\n static getUrl(network, apiKey) {\n logger.warn(\"NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.\");\n let host = null;\n switch (network.name) {\n case \"homestead\":\n host = \"https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc\";\n break;\n case \"ropsten\":\n host = \"https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc\";\n break;\n case \"rinkeby\":\n host = \"https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc\";\n break;\n case \"goerli\":\n host = \"https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc\";\n break;\n case \"kovan\":\n host = \"https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc\";\n break;\n default:\n logger.throwArgumentError(\"unsupported network\", \"network\", arguments[0]);\n }\n return (host + \"?apiKey=\" + apiKey);\n }\n}\n//# sourceMappingURL=nodesmith-provider.js.map","/* istanbul ignore file */\n\n\"use strict\";\n\nimport { Network } from \"@ethersproject/networks\";\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\n// Special API key provided by Nodesmith for ethers.js\nconst defaultApiKey = \"ETHERS_JS_SHARED\";\n\nexport class NodesmithProvider extends UrlJsonRpcProvider {\n\n static getApiKey(apiKey: any): any {\n if (apiKey && typeof(apiKey) !== \"string\") {\n logger.throwArgumentError(\"invalid apiKey\", \"apiKey\", apiKey);\n }\n return apiKey || defaultApiKey;\n }\n\n static getUrl(network: Network, apiKey?: any): string {\n logger.warn(\"NodeSmith will be discontinued on 2019-12-20; please migrate to another platform.\");\n\n let host = null;\n switch (network.name) {\n case \"homestead\":\n host = \"https://ethereum.api.nodesmith.io/v1/mainnet/jsonrpc\";\n break;\n case \"ropsten\":\n host = \"https://ethereum.api.nodesmith.io/v1/ropsten/jsonrpc\";\n break;\n case \"rinkeby\":\n host = \"https://ethereum.api.nodesmith.io/v1/rinkeby/jsonrpc\";\n break;\n case \"goerli\":\n host = \"https://ethereum.api.nodesmith.io/v1/goerli/jsonrpc\";\n break;\n case \"kovan\":\n host = \"https://ethereum.api.nodesmith.io/v1/kovan/jsonrpc\";\n break;\n default:\n logger.throwArgumentError(\"unsupported network\", \"network\", arguments[0]);\n }\n\n return (host + \"?apiKey=\" + apiKey);\n }\n}\n","\"use strict\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\nconst defaultApplicationId = \"62e1ad51b37b8e00394bda3b\";\nexport class PocketProvider extends UrlJsonRpcProvider {\n static getApiKey(apiKey) {\n const apiKeyObj = {\n applicationId: null,\n loadBalancer: true,\n applicationSecretKey: null\n };\n // Parse applicationId and applicationSecretKey\n if (apiKey == null) {\n apiKeyObj.applicationId = defaultApplicationId;\n }\n else if (typeof (apiKey) === \"string\") {\n apiKeyObj.applicationId = apiKey;\n }\n else if (apiKey.applicationSecretKey != null) {\n apiKeyObj.applicationId = apiKey.applicationId;\n apiKeyObj.applicationSecretKey = apiKey.applicationSecretKey;\n }\n else if (apiKey.applicationId) {\n apiKeyObj.applicationId = apiKey.applicationId;\n }\n else {\n logger.throwArgumentError(\"unsupported PocketProvider apiKey\", \"apiKey\", apiKey);\n }\n return apiKeyObj;\n }\n static getUrl(network, apiKey) {\n let host = null;\n switch (network ? network.name : \"unknown\") {\n case \"goerli\":\n host = \"eth-goerli.gateway.pokt.network\";\n break;\n case \"homestead\":\n host = \"eth-mainnet.gateway.pokt.network\";\n break;\n case \"kovan\":\n host = \"poa-kovan.gateway.pokt.network\";\n break;\n case \"matic\":\n host = \"poly-mainnet.gateway.pokt.network\";\n break;\n case \"maticmum\":\n host = \"polygon-mumbai-rpc.gateway.pokt.network\";\n break;\n case \"rinkeby\":\n host = \"eth-rinkeby.gateway.pokt.network\";\n break;\n case \"ropsten\":\n host = \"eth-ropsten.gateway.pokt.network\";\n break;\n default:\n logger.throwError(\"unsupported network\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"network\",\n value: network\n });\n }\n const url = `https:/\\/${host}/v1/lb/${apiKey.applicationId}`;\n const connection = { headers: {}, url };\n if (apiKey.applicationSecretKey != null) {\n connection.user = \"\";\n connection.password = apiKey.applicationSecretKey;\n }\n return connection;\n }\n isCommunityResource() {\n return (this.applicationId === defaultApplicationId);\n }\n}\n//# sourceMappingURL=pocket-provider.js.map","\"use strict\";\n\nimport { Network } from \"@ethersproject/networks\";\nimport { ConnectionInfo } from \"@ethersproject/web\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { UrlJsonRpcProvider } from \"./url-json-rpc-provider\";\n\nconst defaultApplicationId = \"62e1ad51b37b8e00394bda3b\";\n\n\nexport class PocketProvider extends UrlJsonRpcProvider {\n readonly applicationId: string;\n readonly applicationSecretKey: string;\n readonly loadBalancer: boolean;\n\n static getApiKey(apiKey: any): any {\n const apiKeyObj: { applicationId: string, applicationSecretKey: string, loadBalancer: boolean } = {\n applicationId: null,\n loadBalancer: true,\n applicationSecretKey: null\n };\n\n // Parse applicationId and applicationSecretKey\n if (apiKey == null) {\n apiKeyObj.applicationId = defaultApplicationId;\n\n } else if (typeof (apiKey) === \"string\") {\n apiKeyObj.applicationId = apiKey;\n\n } else if (apiKey.applicationSecretKey != null) {\n apiKeyObj.applicationId = apiKey.applicationId;\n apiKeyObj.applicationSecretKey = apiKey.applicationSecretKey;\n\n } else if (apiKey.applicationId) {\n apiKeyObj.applicationId = apiKey.applicationId;\n\n } else {\n logger.throwArgumentError(\"unsupported PocketProvider apiKey\", \"apiKey\", apiKey);\n }\n\n return apiKeyObj;\n }\n\n static getUrl(network: Network, apiKey: any): ConnectionInfo {\n let host: string = null;\n switch (network ? network.name : \"unknown\") {\n case \"goerli\":\n host = \"eth-goerli.gateway.pokt.network\";\n break;\n case \"homestead\":\n host = \"eth-mainnet.gateway.pokt.network\";\n break;\n case \"kovan\":\n host = \"poa-kovan.gateway.pokt.network\";\n break;\n case \"matic\":\n host = \"poly-mainnet.gateway.pokt.network\";\n break;\n case \"maticmum\":\n host = \"polygon-mumbai-rpc.gateway.pokt.network\";\n break;\n case \"rinkeby\":\n host = \"eth-rinkeby.gateway.pokt.network\";\n break;\n case \"ropsten\":\n host = \"eth-ropsten.gateway.pokt.network\";\n break;\n default:\n logger.throwError(\"unsupported network\", Logger.errors.INVALID_ARGUMENT, {\n argument: \"network\",\n value: network\n });\n }\n\n const url = `https:/\\/${ host }/v1/lb/${ apiKey.applicationId }`\n\n const connection: ConnectionInfo = { headers: { }, url };\n if (apiKey.applicationSecretKey != null) {\n connection.user = \"\";\n connection.password = apiKey.applicationSecretKey\n }\n\n return connection;\n }\n\n isCommunityResource(): boolean {\n return (this.applicationId === defaultApplicationId);\n }\n}\n","\"use strict\";\nimport { deepCopy, defineReadOnly } from \"@ethersproject/properties\";\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\nimport { JsonRpcProvider } from \"./json-rpc-provider\";\nlet _nextId = 1;\nfunction buildWeb3LegacyFetcher(provider, sendFunc) {\n const fetcher = \"Web3LegacyFetcher\";\n return function (method, params) {\n const request = {\n method: method,\n params: params,\n id: (_nextId++),\n jsonrpc: \"2.0\"\n };\n return new Promise((resolve, reject) => {\n this.emit(\"debug\", {\n action: \"request\",\n fetcher,\n request: deepCopy(request),\n provider: this\n });\n sendFunc(request, (error, response) => {\n if (error) {\n this.emit(\"debug\", {\n action: \"response\",\n fetcher,\n error,\n request,\n provider: this\n });\n return reject(error);\n }\n this.emit(\"debug\", {\n action: \"response\",\n fetcher,\n request,\n response,\n provider: this\n });\n if (response.error) {\n const error = new Error(response.error.message);\n error.code = response.error.code;\n error.data = response.error.data;\n return reject(error);\n }\n resolve(response.result);\n });\n });\n };\n}\nfunction buildEip1193Fetcher(provider) {\n return function (method, params) {\n if (params == null) {\n params = [];\n }\n const request = { method, params };\n this.emit(\"debug\", {\n action: \"request\",\n fetcher: \"Eip1193Fetcher\",\n request: deepCopy(request),\n provider: this\n });\n return provider.request(request).then((response) => {\n this.emit(\"debug\", {\n action: \"response\",\n fetcher: \"Eip1193Fetcher\",\n request,\n response,\n provider: this\n });\n return response;\n }, (error) => {\n this.emit(\"debug\", {\n action: \"response\",\n fetcher: \"Eip1193Fetcher\",\n request,\n error,\n provider: this\n });\n throw error;\n });\n };\n}\nexport class Web3Provider extends JsonRpcProvider {\n constructor(provider, network) {\n if (provider == null) {\n logger.throwArgumentError(\"missing provider\", \"provider\", provider);\n }\n let path = null;\n let jsonRpcFetchFunc = null;\n let subprovider = null;\n if (typeof (provider) === \"function\") {\n path = \"unknown:\";\n jsonRpcFetchFunc = provider;\n }\n else {\n path = provider.host || provider.path || \"\";\n if (!path && provider.isMetaMask) {\n path = \"metamask\";\n }\n subprovider = provider;\n if (provider.request) {\n if (path === \"\") {\n path = \"eip-1193:\";\n }\n jsonRpcFetchFunc = buildEip1193Fetcher(provider);\n }\n else if (provider.sendAsync) {\n jsonRpcFetchFunc = buildWeb3LegacyFetcher(provider, provider.sendAsync.bind(provider));\n }\n else if (provider.send) {\n jsonRpcFetchFunc = buildWeb3LegacyFetcher(provider, provider.send.bind(provider));\n }\n else {\n logger.throwArgumentError(\"unsupported provider\", \"provider\", provider);\n }\n if (!path) {\n path = \"unknown:\";\n }\n }\n super(path, network);\n defineReadOnly(this, \"jsonRpcFetchFunc\", jsonRpcFetchFunc);\n defineReadOnly(this, \"provider\", subprovider);\n }\n send(method, params) {\n return this.jsonRpcFetchFunc(method, params);\n }\n}\n//# sourceMappingURL=web3-provider.js.map","\"use strict\";\n\nimport { Networkish } from \"@ethersproject/networks\";\nimport { deepCopy, defineReadOnly } from \"@ethersproject/properties\";\n\nimport { Logger } from \"@ethersproject/logger\";\nimport { version } from \"./_version\";\nconst logger = new Logger(version);\n\nimport { JsonRpcProvider } from \"./json-rpc-provider\";\n\n// Exported Types\nexport type ExternalProvider = {\n isMetaMask?: boolean;\n isStatus?: boolean;\n host?: string;\n path?: string;\n sendAsync?: (request: { method: string, params?: Array }, callback: (error: any, response: any) => void) => void\n send?: (request: { method: string, params?: Array }, callback: (error: any, response: any) => void) => void\n request?: (request: { method: string, params?: Array }) => Promise\n}\n\nlet _nextId = 1;\n\nexport type JsonRpcFetchFunc = (method: string, params?: Array) => Promise;\n\ntype Web3LegacySend = (request: any, callback: (error: Error, response: any) => void) => void;\n\nfunction buildWeb3LegacyFetcher(provider: ExternalProvider, sendFunc: Web3LegacySend) : JsonRpcFetchFunc {\n const fetcher = \"Web3LegacyFetcher\";\n\n return function(method: string, params: Array): Promise {\n const request = {\n method: method,\n params: params,\n id: (_nextId++),\n jsonrpc: \"2.0\"\n };\n\n return new Promise((resolve, reject) => {\n this.emit(\"debug\", {\n action: \"request\",\n fetcher,\n request: deepCopy(request),\n provider: this\n });\n\n sendFunc(request, (error, response) => {\n\n if (error) {\n this.emit(\"debug\", {\n action: \"response\",\n fetcher,\n error,\n request,\n provider: this\n });\n\n return reject(error);\n }\n\n this.emit(\"debug\", {\n action: \"response\",\n fetcher,\n request,\n response,\n provider: this\n });\n\n if (response.error) {\n const error = new Error(response.error.message);\n (error).code = response.error.code;\n (error).data = response.error.data;\n return reject(error);\n }\n\n resolve(response.result);\n });\n });\n }\n}\n\nfunction buildEip1193Fetcher(provider: ExternalProvider): JsonRpcFetchFunc {\n return function(method: string, params: Array): Promise {\n if (params == null) { params = [ ]; }\n\n const request = { method, params };\n\n this.emit(\"debug\", {\n action: \"request\",\n fetcher: \"Eip1193Fetcher\",\n request: deepCopy(request),\n provider: this\n });\n\n return provider.request(request).then((response) => {\n this.emit(\"debug\", {\n action: \"response\",\n fetcher: \"Eip1193Fetcher\",\n request,\n response,\n provider: this\n });\n\n return response;\n\n }, (error) => {\n this.emit(\"debug\", {\n action: \"response\",\n fetcher: \"Eip1193Fetcher\",\n request,\n error,\n provider: this\n });\n\n throw error;\n });\n }\n}\n\nexport class Web3Provider extends JsonRpcProvider {\n readonly provider: ExternalProvider;\n readonly jsonRpcFetchFunc: JsonRpcFetchFunc;\n\n constructor(provider: ExternalProvider | JsonRpcFetchFunc, network?: Networkish) {\n if (provider == null) {\n logger.throwArgumentError(\"missing provider\", \"provider\", provider);\n }\n\n let path: string = null;\n let jsonRpcFetchFunc: JsonRpcFetchFunc = null;\n let subprovider: ExternalProvider = null;\n\n if (typeof(provider) === \"function\") {\n path = \"unknown:\";\n jsonRpcFetchFunc = provider;\n\n } else {\n path = provider.host || provider.path || \"\";\n if (!path && provider.isMetaMask) {\n path = \"metamask\";\n }\n\n subprovider = provider;\n\n if (provider.request) {\n if (path === \"\") { path = \"eip-1193:\"; }\n jsonRpcFetchFunc = buildEip1193Fetcher(provider);\n } else if (provider.sendAsync) {\n jsonRpcFetchFunc = buildWeb3LegacyFetcher(provider, provider.sendAsync.bind(provider));\n } else if (provider.send) {\n jsonRpcFetchFunc = buildWeb3LegacyFetcher(provider, provider.send.bind(provider));\n } else {\n logger.throwArgumentError(\"unsupported provider\", \"provider\", provider);\n }\n\n if (!path) { path = \"unknown:\"; }\n }\n\n super(path, network);\n\n defineReadOnly(this, \"jsonRpcFetchFunc\", jsonRpcFetchFunc);\n defineReadOnly(this, \"provider\", subprovider);\n }\n\n send(method: string, params: Array): Promise {\n return this.jsonRpcFetchFunc(method, params);\n }\n}\n","export const version = \"ethers/5.7.2\";\n//# sourceMappingURL=_version.js.map","export const version = \"ethers/5.7.2\";\n","\"use strict\";\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.formatBytes32String = exports.Utf8ErrorFuncs = exports.toUtf8String = exports.toUtf8CodePoints = exports.toUtf8Bytes = exports._toEscapedUtf8String = exports.nameprep = exports.hexDataSlice = exports.hexDataLength = exports.hexZeroPad = exports.hexValue = exports.hexStripZeros = exports.hexConcat = exports.isHexString = exports.hexlify = exports.base64 = exports.base58 = exports.TransactionDescription = exports.LogDescription = exports.Interface = exports.SigningKey = exports.HDNode = exports.defaultPath = exports.isBytesLike = exports.isBytes = exports.zeroPad = exports.stripZeros = exports.concat = exports.arrayify = exports.shallowCopy = exports.resolveProperties = exports.getStatic = exports.defineReadOnly = exports.deepCopy = exports.checkProperties = exports.poll = exports.fetchJson = exports._fetchData = exports.RLP = exports.Logger = exports.checkResultErrors = exports.FormatTypes = exports.ParamType = exports.FunctionFragment = exports.EventFragment = exports.ErrorFragment = exports.ConstructorFragment = exports.Fragment = exports.defaultAbiCoder = exports.AbiCoder = void 0;\nexports.Indexed = exports.Utf8ErrorReason = exports.UnicodeNormalizationForm = exports.SupportedAlgorithm = exports.mnemonicToSeed = exports.isValidMnemonic = exports.entropyToMnemonic = exports.mnemonicToEntropy = exports.getAccountPath = exports.verifyTypedData = exports.verifyMessage = exports.recoverPublicKey = exports.computePublicKey = exports.recoverAddress = exports.computeAddress = exports.getJsonWalletAddress = exports.TransactionTypes = exports.serializeTransaction = exports.parseTransaction = exports.accessListify = exports.joinSignature = exports.splitSignature = exports.soliditySha256 = exports.solidityKeccak256 = exports.solidityPack = exports.shuffled = exports.randomBytes = exports.sha512 = exports.sha256 = exports.ripemd160 = exports.keccak256 = exports.computeHmac = exports.commify = exports.parseUnits = exports.formatUnits = exports.parseEther = exports.formatEther = exports.isAddress = exports.getCreate2Address = exports.getContractAddress = exports.getIcapAddress = exports.getAddress = exports._TypedDataEncoder = exports.id = exports.isValidName = exports.namehash = exports.hashMessage = exports.dnsEncode = exports.parseBytes32String = void 0;\nvar abi_1 = require(\"@ethersproject/abi\");\nObject.defineProperty(exports, \"AbiCoder\", { enumerable: true, get: function () { return abi_1.AbiCoder; } });\nObject.defineProperty(exports, \"checkResultErrors\", { enumerable: true, get: function () { return abi_1.checkResultErrors; } });\nObject.defineProperty(exports, \"ConstructorFragment\", { enumerable: true, get: function () { return abi_1.ConstructorFragment; } });\nObject.defineProperty(exports, \"defaultAbiCoder\", { enumerable: true, get: function () { return abi_1.defaultAbiCoder; } });\nObject.defineProperty(exports, \"ErrorFragment\", { enumerable: true, get: function () { return abi_1.ErrorFragment; } });\nObject.defineProperty(exports, \"EventFragment\", { enumerable: true, get: function () { return abi_1.EventFragment; } });\nObject.defineProperty(exports, \"FormatTypes\", { enumerable: true, get: function () { return abi_1.FormatTypes; } });\nObject.defineProperty(exports, \"Fragment\", { enumerable: true, get: function () { return abi_1.Fragment; } });\nObject.defineProperty(exports, \"FunctionFragment\", { enumerable: true, get: function () { return abi_1.FunctionFragment; } });\nObject.defineProperty(exports, \"Indexed\", { enumerable: true, get: function () { return abi_1.Indexed; } });\nObject.defineProperty(exports, \"Interface\", { enumerable: true, get: function () { return abi_1.Interface; } });\nObject.defineProperty(exports, \"LogDescription\", { enumerable: true, get: function () { return abi_1.LogDescription; } });\nObject.defineProperty(exports, \"ParamType\", { enumerable: true, get: function () { return abi_1.ParamType; } });\nObject.defineProperty(exports, \"TransactionDescription\", { enumerable: true, get: function () { return abi_1.TransactionDescription; } });\nvar address_1 = require(\"@ethersproject/address\");\nObject.defineProperty(exports, \"getAddress\", { enumerable: true, get: function () { return address_1.getAddress; } });\nObject.defineProperty(exports, \"getCreate2Address\", { enumerable: true, get: function () { return address_1.getCreate2Address; } });\nObject.defineProperty(exports, \"getContractAddress\", { enumerable: true, get: function () { return address_1.getContractAddress; } });\nObject.defineProperty(exports, \"getIcapAddress\", { enumerable: true, get: function () { return address_1.getIcapAddress; } });\nObject.defineProperty(exports, \"isAddress\", { enumerable: true, get: function () { return address_1.isAddress; } });\nvar base64 = __importStar(require(\"@ethersproject/base64\"));\nexports.base64 = base64;\nvar basex_1 = require(\"@ethersproject/basex\");\nObject.defineProperty(exports, \"base58\", { enumerable: true, get: function () { return basex_1.Base58; } });\nvar bytes_1 = require(\"@ethersproject/bytes\");\nObject.defineProperty(exports, \"arrayify\", { enumerable: true, get: function () { return bytes_1.arrayify; } });\nObject.defineProperty(exports, \"concat\", { enumerable: true, get: function () { return bytes_1.concat; } });\nObject.defineProperty(exports, \"hexConcat\", { enumerable: true, get: function () { return bytes_1.hexConcat; } });\nObject.defineProperty(exports, \"hexDataSlice\", { enumerable: true, get: function () { return bytes_1.hexDataSlice; } });\nObject.defineProperty(exports, \"hexDataLength\", { enumerable: true, get: function () { return bytes_1.hexDataLength; } });\nObject.defineProperty(exports, \"hexlify\", { enumerable: true, get: function () { return bytes_1.hexlify; } });\nObject.defineProperty(exports, \"hexStripZeros\", { enumerable: true, get: function () { return bytes_1.hexStripZeros; } });\nObject.defineProperty(exports, \"hexValue\", { enumerable: true, get: function () { return bytes_1.hexValue; } });\nObject.defineProperty(exports, \"hexZeroPad\", { enumerable: true, get: function () { return bytes_1.hexZeroPad; } });\nObject.defineProperty(exports, \"isBytes\", { enumerable: true, get: function () { return bytes_1.isBytes; } });\nObject.defineProperty(exports, \"isBytesLike\", { enumerable: true, get: function () { return bytes_1.isBytesLike; } });\nObject.defineProperty(exports, \"isHexString\", { enumerable: true, get: function () { return bytes_1.isHexString; } });\nObject.defineProperty(exports, \"joinSignature\", { enumerable: true, get: function () { return bytes_1.joinSignature; } });\nObject.defineProperty(exports, \"zeroPad\", { enumerable: true, get: function () { return bytes_1.zeroPad; } });\nObject.defineProperty(exports, \"splitSignature\", { enumerable: true, get: function () { return bytes_1.splitSignature; } });\nObject.defineProperty(exports, \"stripZeros\", { enumerable: true, get: function () { return bytes_1.stripZeros; } });\nvar hash_1 = require(\"@ethersproject/hash\");\nObject.defineProperty(exports, \"_TypedDataEncoder\", { enumerable: true, get: function () { return hash_1._TypedDataEncoder; } });\nObject.defineProperty(exports, \"dnsEncode\", { enumerable: true, get: function () { return hash_1.dnsEncode; } });\nObject.defineProperty(exports, \"hashMessage\", { enumerable: true, get: function () { return hash_1.hashMessage; } });\nObject.defineProperty(exports, \"id\", { enumerable: true, get: function () { return hash_1.id; } });\nObject.defineProperty(exports, \"isValidName\", { enumerable: true, get: function () { return hash_1.isValidName; } });\nObject.defineProperty(exports, \"namehash\", { enumerable: true, get: function () { return hash_1.namehash; } });\nvar hdnode_1 = require(\"@ethersproject/hdnode\");\nObject.defineProperty(exports, \"defaultPath\", { enumerable: true, get: function () { return hdnode_1.defaultPath; } });\nObject.defineProperty(exports, \"entropyToMnemonic\", { enumerable: true, get: function () { return hdnode_1.entropyToMnemonic; } });\nObject.defineProperty(exports, \"getAccountPath\", { enumerable: true, get: function () { return hdnode_1.getAccountPath; } });\nObject.defineProperty(exports, \"HDNode\", { enumerable: true, get: function () { return hdnode_1.HDNode; } });\nObject.defineProperty(exports, \"isValidMnemonic\", { enumerable: true, get: function () { return hdnode_1.isValidMnemonic; } });\nObject.defineProperty(exports, \"mnemonicToEntropy\", { enumerable: true, get: function () { return hdnode_1.mnemonicToEntropy; } });\nObject.defineProperty(exports, \"mnemonicToSeed\", { enumerable: true, get: function () { return hdnode_1.mnemonicToSeed; } });\nvar json_wallets_1 = require(\"@ethersproject/json-wallets\");\nObject.defineProperty(exports, \"getJsonWalletAddress\", { enumerable: true, get: function () { return json_wallets_1.getJsonWalletAddress; } });\nvar keccak256_1 = require(\"@ethersproject/keccak256\");\nObject.defineProperty(exports, \"keccak256\", { enumerable: true, get: function () { return keccak256_1.keccak256; } });\nvar logger_1 = require(\"@ethersproject/logger\");\nObject.defineProperty(exports, \"Logger\", { enumerable: true, get: function () { return logger_1.Logger; } });\nvar sha2_1 = require(\"@ethersproject/sha2\");\nObject.defineProperty(exports, \"computeHmac\", { enumerable: true, get: function () { return sha2_1.computeHmac; } });\nObject.defineProperty(exports, \"ripemd160\", { enumerable: true, get: function () { return sha2_1.ripemd160; } });\nObject.defineProperty(exports, \"sha256\", { enumerable: true, get: function () { return sha2_1.sha256; } });\nObject.defineProperty(exports, \"sha512\", { enumerable: true, get: function () { return sha2_1.sha512; } });\nvar solidity_1 = require(\"@ethersproject/solidity\");\nObject.defineProperty(exports, \"solidityKeccak256\", { enumerable: true, get: function () { return solidity_1.keccak256; } });\nObject.defineProperty(exports, \"solidityPack\", { enumerable: true, get: function () { return solidity_1.pack; } });\nObject.defineProperty(exports, \"soliditySha256\", { enumerable: true, get: function () { return solidity_1.sha256; } });\nvar random_1 = require(\"@ethersproject/random\");\nObject.defineProperty(exports, \"randomBytes\", { enumerable: true, get: function () { return random_1.randomBytes; } });\nObject.defineProperty(exports, \"shuffled\", { enumerable: true, get: function () { return random_1.shuffled; } });\nvar properties_1 = require(\"@ethersproject/properties\");\nObject.defineProperty(exports, \"checkProperties\", { enumerable: true, get: function () { return properties_1.checkProperties; } });\nObject.defineProperty(exports, \"deepCopy\", { enumerable: true, get: function () { return properties_1.deepCopy; } });\nObject.defineProperty(exports, \"defineReadOnly\", { enumerable: true, get: function () { return properties_1.defineReadOnly; } });\nObject.defineProperty(exports, \"getStatic\", { enumerable: true, get: function () { return properties_1.getStatic; } });\nObject.defineProperty(exports, \"resolveProperties\", { enumerable: true, get: function () { return properties_1.resolveProperties; } });\nObject.defineProperty(exports, \"shallowCopy\", { enumerable: true, get: function () { return properties_1.shallowCopy; } });\nvar RLP = __importStar(require(\"@ethersproject/rlp\"));\nexports.RLP = RLP;\nvar signing_key_1 = require(\"@ethersproject/signing-key\");\nObject.defineProperty(exports, \"computePublicKey\", { enumerable: true, get: function () { return signing_key_1.computePublicKey; } });\nObject.defineProperty(exports, \"recoverPublicKey\", { enumerable: true, get: function () { return signing_key_1.recoverPublicKey; } });\nObject.defineProperty(exports, \"SigningKey\", { enumerable: true, get: function () { return signing_key_1.SigningKey; } });\nvar strings_1 = require(\"@ethersproject/strings\");\nObject.defineProperty(exports, \"formatBytes32String\", { enumerable: true, get: function () { return strings_1.formatBytes32String; } });\nObject.defineProperty(exports, \"nameprep\", { enumerable: true, get: function () { return strings_1.nameprep; } });\nObject.defineProperty(exports, \"parseBytes32String\", { enumerable: true, get: function () { return strings_1.parseBytes32String; } });\nObject.defineProperty(exports, \"_toEscapedUtf8String\", { enumerable: true, get: function () { return strings_1._toEscapedUtf8String; } });\nObject.defineProperty(exports, \"toUtf8Bytes\", { enumerable: true, get: function () { return strings_1.toUtf8Bytes; } });\nObject.defineProperty(exports, \"toUtf8CodePoints\", { enumerable: true, get: function () { return strings_1.toUtf8CodePoints; } });\nObject.defineProperty(exports, \"toUtf8String\", { enumerable: true, get: function () { return strings_1.toUtf8String; } });\nObject.defineProperty(exports, \"Utf8ErrorFuncs\", { enumerable: true, get: function () { return strings_1.Utf8ErrorFuncs; } });\nvar transactions_1 = require(\"@ethersproject/transactions\");\nObject.defineProperty(exports, \"accessListify\", { enumerable: true, get: function () { return transactions_1.accessListify; } });\nObject.defineProperty(exports, \"computeAddress\", { enumerable: true, get: function () { return transactions_1.computeAddress; } });\nObject.defineProperty(exports, \"parseTransaction\", { enumerable: true, get: function () { return transactions_1.parse; } });\nObject.defineProperty(exports, \"recoverAddress\", { enumerable: true, get: function () { return transactions_1.recoverAddress; } });\nObject.defineProperty(exports, \"serializeTransaction\", { enumerable: true, get: function () { return transactions_1.serialize; } });\nObject.defineProperty(exports, \"TransactionTypes\", { enumerable: true, get: function () { return transactions_1.TransactionTypes; } });\nvar units_1 = require(\"@ethersproject/units\");\nObject.defineProperty(exports, \"commify\", { enumerable: true, get: function () { return units_1.commify; } });\nObject.defineProperty(exports, \"formatEther\", { enumerable: true, get: function () { return units_1.formatEther; } });\nObject.defineProperty(exports, \"parseEther\", { enumerable: true, get: function () { return units_1.parseEther; } });\nObject.defineProperty(exports, \"formatUnits\", { enumerable: true, get: function () { return units_1.formatUnits; } });\nObject.defineProperty(exports, \"parseUnits\", { enumerable: true, get: function () { return units_1.parseUnits; } });\nvar wallet_1 = require(\"@ethersproject/wallet\");\nObject.defineProperty(exports, \"verifyMessage\", { enumerable: true, get: function () { return wallet_1.verifyMessage; } });\nObject.defineProperty(exports, \"verifyTypedData\", { enumerable: true, get: function () { return wallet_1.verifyTypedData; } });\nvar web_1 = require(\"@ethersproject/web\");\nObject.defineProperty(exports, \"_fetchData\", { enumerable: true, get: function () { return web_1._fetchData; } });\nObject.defineProperty(exports, \"fetchJson\", { enumerable: true, get: function () { return web_1.fetchJson; } });\nObject.defineProperty(exports, \"poll\", { enumerable: true, get: function () { return web_1.poll; } });\n////////////////////////\n// Enums\nvar sha2_2 = require(\"@ethersproject/sha2\");\nObject.defineProperty(exports, \"SupportedAlgorithm\", { enumerable: true, get: function () { return sha2_2.SupportedAlgorithm; } });\nvar strings_2 = require(\"@ethersproject/strings\");\nObject.defineProperty(exports, \"UnicodeNormalizationForm\", { enumerable: true, get: function () { return strings_2.UnicodeNormalizationForm; } });\nObject.defineProperty(exports, \"Utf8ErrorReason\", { enumerable: true, get: function () { return strings_2.Utf8ErrorReason; } });\n//# sourceMappingURL=utils.js.map","(function () {\n 'use strict';\n\n function noop() { }\n function run(fn) {\n return fn();\n }\n function blank_object() {\n return Object.create(null);\n }\n function run_all(fns) {\n fns.forEach(run);\n }\n function is_function(thing) {\n return typeof thing === 'function';\n }\n function not_equal(a, b) {\n return a != a ? b == b : a !== b;\n }\n function is_empty(obj) {\n return Object.keys(obj).length === 0;\n }\n function append(target, node) {\n target.appendChild(node);\n }\n function insert(target, node, anchor) {\n target.insertBefore(node, anchor || null);\n }\n function detach(node) {\n node.parentNode.removeChild(node);\n }\n function svg_element(name) {\n return document.createElementNS('http://www.w3.org/2000/svg', name);\n }\n function attr(node, attribute, value) {\n if (value == null)\n node.removeAttribute(attribute);\n else if (node.getAttribute(attribute) !== value)\n node.setAttribute(attribute, value);\n }\n function children(element) {\n return Array.from(element.childNodes);\n }\n function attribute_to_object(attributes) {\n const result = {};\n for (const attribute of attributes) {\n result[attribute.name] = attribute.value;\n }\n return result;\n }\n\n let current_component;\n function set_current_component(component) {\n current_component = component;\n }\n\n const dirty_components = [];\n const binding_callbacks = [];\n const render_callbacks = [];\n const flush_callbacks = [];\n const resolved_promise = Promise.resolve();\n let update_scheduled = false;\n function schedule_update() {\n if (!update_scheduled) {\n update_scheduled = true;\n resolved_promise.then(flush);\n }\n }\n function add_render_callback(fn) {\n render_callbacks.push(fn);\n }\n // flush() calls callbacks in this order:\n // 1. All beforeUpdate callbacks, in order: parents before children\n // 2. All bind:this callbacks, in reverse order: children before parents.\n // 3. All afterUpdate callbacks, in order: parents before children. EXCEPT\n // for afterUpdates called during the initial onMount, which are called in\n // reverse order: children before parents.\n // Since callbacks might update component values, which could trigger another\n // call to flush(), the following steps guard against this:\n // 1. During beforeUpdate, any updated components will be added to the\n // dirty_components array and will cause a reentrant call to flush(). Because\n // the flush index is kept outside the function, the reentrant call will pick\n // up where the earlier call left off and go through all dirty components. The\n // current_component value is saved and restored so that the reentrant call will\n // not interfere with the \"parent\" flush() call.\n // 2. bind:this callbacks cannot trigger new flush() calls.\n // 3. During afterUpdate, any updated components will NOT have their afterUpdate\n // callback called a second time; the seen_callbacks set, outside the flush()\n // function, guarantees this behavior.\n const seen_callbacks = new Set();\n let flushidx = 0; // Do *not* move this inside the flush() function\n function flush() {\n const saved_component = current_component;\n do {\n // first, call beforeUpdate functions\n // and update components\n while (flushidx < dirty_components.length) {\n const component = dirty_components[flushidx];\n flushidx++;\n set_current_component(component);\n update(component.$$);\n }\n set_current_component(null);\n dirty_components.length = 0;\n flushidx = 0;\n while (binding_callbacks.length)\n binding_callbacks.pop()();\n // then, once components are updated, call\n // afterUpdate functions. This may cause\n // subsequent updates...\n for (let i = 0; i < render_callbacks.length; i += 1) {\n const callback = render_callbacks[i];\n if (!seen_callbacks.has(callback)) {\n // ...so guard against infinite loops\n seen_callbacks.add(callback);\n callback();\n }\n }\n render_callbacks.length = 0;\n } while (dirty_components.length);\n while (flush_callbacks.length) {\n flush_callbacks.pop()();\n }\n update_scheduled = false;\n seen_callbacks.clear();\n set_current_component(saved_component);\n }\n function update($$) {\n if ($$.fragment !== null) {\n $$.update();\n run_all($$.before_update);\n const dirty = $$.dirty;\n $$.dirty = [-1];\n $$.fragment && $$.fragment.p($$.ctx, dirty);\n $$.after_update.forEach(add_render_callback);\n }\n }\n const outroing = new Set();\n function transition_in(block, local) {\n if (block && block.i) {\n outroing.delete(block);\n block.i(local);\n }\n }\n function mount_component(component, target, anchor, customElement) {\n const { fragment, on_mount, on_destroy, after_update } = component.$$;\n fragment && fragment.m(target, anchor);\n if (!customElement) {\n // onMount happens before the initial afterUpdate\n add_render_callback(() => {\n const new_on_destroy = on_mount.map(run).filter(is_function);\n if (on_destroy) {\n on_destroy.push(...new_on_destroy);\n }\n else {\n // Edge case - component was destroyed immediately,\n // most likely as a result of a binding initialising\n run_all(new_on_destroy);\n }\n component.$$.on_mount = [];\n });\n }\n after_update.forEach(add_render_callback);\n }\n function destroy_component(component, detaching) {\n const $$ = component.$$;\n if ($$.fragment !== null) {\n run_all($$.on_destroy);\n $$.fragment && $$.fragment.d(detaching);\n // TODO null out other refs, including component.$$ (but need to\n // preserve final state?)\n $$.on_destroy = $$.fragment = null;\n $$.ctx = [];\n }\n }\n function make_dirty(component, i) {\n if (component.$$.dirty[0] === -1) {\n dirty_components.push(component);\n schedule_update();\n component.$$.dirty.fill(0);\n }\n component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31));\n }\n function init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) {\n const parent_component = current_component;\n set_current_component(component);\n const $$ = component.$$ = {\n fragment: null,\n ctx: null,\n // state\n props,\n update: noop,\n not_equal,\n bound: blank_object(),\n // lifecycle\n on_mount: [],\n on_destroy: [],\n on_disconnect: [],\n before_update: [],\n after_update: [],\n context: new Map(options.context || (parent_component ? parent_component.$$.context : [])),\n // everything else\n callbacks: blank_object(),\n dirty,\n skip_bound: false,\n root: options.target || parent_component.$$.root\n };\n append_styles && append_styles($$.root);\n let ready = false;\n $$.ctx = instance\n ? instance(component, options.props || {}, (i, ret, ...rest) => {\n const value = rest.length ? rest[0] : ret;\n if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) {\n if (!$$.skip_bound && $$.bound[i])\n $$.bound[i](value);\n if (ready)\n make_dirty(component, i);\n }\n return ret;\n })\n : [];\n $$.update();\n ready = true;\n run_all($$.before_update);\n // `false` as a special case of no DOM component\n $$.fragment = create_fragment ? create_fragment($$.ctx) : false;\n if (options.target) {\n if (options.hydrate) {\n const nodes = children(options.target);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.l(nodes);\n nodes.forEach(detach);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n $$.fragment && $$.fragment.c();\n }\n if (options.intro)\n transition_in(component.$$.fragment);\n mount_component(component, options.target, options.anchor, options.customElement);\n flush();\n }\n set_current_component(parent_component);\n }\n let SvelteElement;\n if (typeof HTMLElement === 'function') {\n SvelteElement = class extends HTMLElement {\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n }\n connectedCallback() {\n const { on_mount } = this.$$;\n this.$$.on_disconnect = on_mount.map(run).filter(is_function);\n // @ts-ignore todo: improve typings\n for (const key in this.$$.slotted) {\n // @ts-ignore todo: improve typings\n this.appendChild(this.$$.slotted[key]);\n }\n }\n attributeChangedCallback(attr, _oldValue, newValue) {\n this[attr] = newValue;\n }\n disconnectedCallback() {\n run_all(this.$$.on_disconnect);\n }\n $destroy() {\n destroy_component(this, 1);\n this.$destroy = noop;\n }\n $on(type, callback) {\n // TODO should this delegate to addEventListener?\n const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = []));\n callbacks.push(callback);\n return () => {\n const index = callbacks.indexOf(callback);\n if (index !== -1)\n callbacks.splice(index, 1);\n };\n }\n $set($$props) {\n if (this.$$set && !is_empty($$props)) {\n this.$$.skip_bound = true;\n this.$$set($$props);\n this.$$.skip_bound = false;\n }\n }\n };\n }\n\n const version$1 = \"logger/5.5.0\";\n\n let _permanentCensorErrors = false;\n let _censorErrors = false;\n const LogLevels = { debug: 1, \"default\": 2, info: 2, warning: 3, error: 4, off: 5 };\n let _logLevel = LogLevels[\"default\"];\n let _globalLogger = null;\n function _checkNormalize() {\n try {\n const missing = [];\n // Make sure all forms of normalization are supported\n [\"NFD\", \"NFC\", \"NFKD\", \"NFKC\"].forEach((form) => {\n try {\n if (\"test\".normalize(form) !== \"test\") {\n throw new Error(\"bad normalize\");\n }\n ;\n }\n catch (error) {\n missing.push(form);\n }\n });\n if (missing.length) {\n throw new Error(\"missing \" + missing.join(\", \"));\n }\n if (String.fromCharCode(0xe9).normalize(\"NFD\") !== String.fromCharCode(0x65, 0x0301)) {\n throw new Error(\"broken implementation\");\n }\n }\n catch (error) {\n return error.message;\n }\n return null;\n }\n const _normalizeError = _checkNormalize();\n var LogLevel;\n (function (LogLevel) {\n LogLevel[\"DEBUG\"] = \"DEBUG\";\n LogLevel[\"INFO\"] = \"INFO\";\n LogLevel[\"WARNING\"] = \"WARNING\";\n LogLevel[\"ERROR\"] = \"ERROR\";\n LogLevel[\"OFF\"] = \"OFF\";\n })(LogLevel || (LogLevel = {}));\n var ErrorCode;\n (function (ErrorCode) {\n ///////////////////\n // Generic Errors\n // Unknown Error\n ErrorCode[\"UNKNOWN_ERROR\"] = \"UNKNOWN_ERROR\";\n // Not Implemented\n ErrorCode[\"NOT_IMPLEMENTED\"] = \"NOT_IMPLEMENTED\";\n // Unsupported Operation\n // - operation\n ErrorCode[\"UNSUPPORTED_OPERATION\"] = \"UNSUPPORTED_OPERATION\";\n // Network Error (i.e. Ethereum Network, such as an invalid chain ID)\n // - event (\"noNetwork\" is not re-thrown in provider.ready; otherwise thrown)\n ErrorCode[\"NETWORK_ERROR\"] = \"NETWORK_ERROR\";\n // Some sort of bad response from the server\n ErrorCode[\"SERVER_ERROR\"] = \"SERVER_ERROR\";\n // Timeout\n ErrorCode[\"TIMEOUT\"] = \"TIMEOUT\";\n ///////////////////\n // Operational Errors\n // Buffer Overrun\n ErrorCode[\"BUFFER_OVERRUN\"] = \"BUFFER_OVERRUN\";\n // Numeric Fault\n // - operation: the operation being executed\n // - fault: the reason this faulted\n ErrorCode[\"NUMERIC_FAULT\"] = \"NUMERIC_FAULT\";\n ///////////////////\n // Argument Errors\n // Missing new operator to an object\n // - name: The name of the class\n ErrorCode[\"MISSING_NEW\"] = \"MISSING_NEW\";\n // Invalid argument (e.g. value is incompatible with type) to a function:\n // - argument: The argument name that was invalid\n // - value: The value of the argument\n ErrorCode[\"INVALID_ARGUMENT\"] = \"INVALID_ARGUMENT\";\n // Missing argument to a function:\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n ErrorCode[\"MISSING_ARGUMENT\"] = \"MISSING_ARGUMENT\";\n // Too many arguments\n // - count: The number of arguments received\n // - expectedCount: The number of arguments expected\n ErrorCode[\"UNEXPECTED_ARGUMENT\"] = \"UNEXPECTED_ARGUMENT\";\n ///////////////////\n // Blockchain Errors\n // Call exception\n // - transaction: the transaction\n // - address?: the contract address\n // - args?: The arguments passed into the function\n // - method?: The Solidity method signature\n // - errorSignature?: The EIP848 error signature\n // - errorArgs?: The EIP848 error parameters\n // - reason: The reason (only for EIP848 \"Error(string)\")\n ErrorCode[\"CALL_EXCEPTION\"] = \"CALL_EXCEPTION\";\n // Insufficient funds (< value + gasLimit * gasPrice)\n // - transaction: the transaction attempted\n ErrorCode[\"INSUFFICIENT_FUNDS\"] = \"INSUFFICIENT_FUNDS\";\n // Nonce has already been used\n // - transaction: the transaction attempted\n ErrorCode[\"NONCE_EXPIRED\"] = \"NONCE_EXPIRED\";\n // The replacement fee for the transaction is too low\n // - transaction: the transaction attempted\n ErrorCode[\"REPLACEMENT_UNDERPRICED\"] = \"REPLACEMENT_UNDERPRICED\";\n // The gas limit could not be estimated\n // - transaction: the transaction passed to estimateGas\n ErrorCode[\"UNPREDICTABLE_GAS_LIMIT\"] = \"UNPREDICTABLE_GAS_LIMIT\";\n // The transaction was replaced by one with a higher gas price\n // - reason: \"cancelled\", \"replaced\" or \"repriced\"\n // - cancelled: true if reason == \"cancelled\" or reason == \"replaced\")\n // - hash: original transaction hash\n // - replacement: the full TransactionsResponse for the replacement\n // - receipt: the receipt of the replacement\n ErrorCode[\"TRANSACTION_REPLACED\"] = \"TRANSACTION_REPLACED\";\n })(ErrorCode || (ErrorCode = {}));\n const HEX = \"0123456789abcdef\";\n class Logger {\n constructor(version) {\n Object.defineProperty(this, \"version\", {\n enumerable: true,\n value: version,\n writable: false\n });\n }\n _log(logLevel, args) {\n const level = logLevel.toLowerCase();\n if (LogLevels[level] == null) {\n this.throwArgumentError(\"invalid log level name\", \"logLevel\", logLevel);\n }\n if (_logLevel > LogLevels[level]) {\n return;\n }\n console.log.apply(console, args);\n }\n debug(...args) {\n this._log(Logger.levels.DEBUG, args);\n }\n info(...args) {\n this._log(Logger.levels.INFO, args);\n }\n warn(...args) {\n this._log(Logger.levels.WARNING, args);\n }\n makeError(message, code, params) {\n // Errors are being censored\n if (_censorErrors) {\n return this.makeError(\"censored error\", code, {});\n }\n if (!code) {\n code = Logger.errors.UNKNOWN_ERROR;\n }\n if (!params) {\n params = {};\n }\n const messageDetails = [];\n Object.keys(params).forEach((key) => {\n const value = params[key];\n try {\n if (value instanceof Uint8Array) {\n let hex = \"\";\n for (let i = 0; i < value.length; i++) {\n hex += HEX[value[i] >> 4];\n hex += HEX[value[i] & 0x0f];\n }\n messageDetails.push(key + \"=Uint8Array(0x\" + hex + \")\");\n }\n else {\n messageDetails.push(key + \"=\" + JSON.stringify(value));\n }\n }\n catch (error) {\n messageDetails.push(key + \"=\" + JSON.stringify(params[key].toString()));\n }\n });\n messageDetails.push(`code=${code}`);\n messageDetails.push(`version=${this.version}`);\n const reason = message;\n if (messageDetails.length) {\n message += \" (\" + messageDetails.join(\", \") + \")\";\n }\n // @TODO: Any??\n const error = new Error(message);\n error.reason = reason;\n error.code = code;\n Object.keys(params).forEach(function (key) {\n error[key] = params[key];\n });\n return error;\n }\n throwError(message, code, params) {\n throw this.makeError(message, code, params);\n }\n throwArgumentError(message, name, value) {\n return this.throwError(message, Logger.errors.INVALID_ARGUMENT, {\n argument: name,\n value: value\n });\n }\n assert(condition, message, code, params) {\n if (!!condition) {\n return;\n }\n this.throwError(message, code, params);\n }\n assertArgument(condition, message, name, value) {\n if (!!condition) {\n return;\n }\n this.throwArgumentError(message, name, value);\n }\n checkNormalize(message) {\n if (_normalizeError) {\n this.throwError(\"platform missing String.prototype.normalize\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"String.prototype.normalize\", form: _normalizeError\n });\n }\n }\n checkSafeUint53(value, message) {\n if (typeof (value) !== \"number\") {\n return;\n }\n if (message == null) {\n message = \"value not safe\";\n }\n if (value < 0 || value >= 0x1fffffffffffff) {\n this.throwError(message, Logger.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"out-of-safe-range\",\n value: value\n });\n }\n if (value % 1) {\n this.throwError(message, Logger.errors.NUMERIC_FAULT, {\n operation: \"checkSafeInteger\",\n fault: \"non-integer\",\n value: value\n });\n }\n }\n checkArgumentCount(count, expectedCount, message) {\n if (message) {\n message = \": \" + message;\n }\n else {\n message = \"\";\n }\n if (count < expectedCount) {\n this.throwError(\"missing argument\" + message, Logger.errors.MISSING_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n }\n if (count > expectedCount) {\n this.throwError(\"too many arguments\" + message, Logger.errors.UNEXPECTED_ARGUMENT, {\n count: count,\n expectedCount: expectedCount\n });\n }\n }\n checkNew(target, kind) {\n if (target === Object || target == null) {\n this.throwError(\"missing new\", Logger.errors.MISSING_NEW, { name: kind.name });\n }\n }\n checkAbstract(target, kind) {\n if (target === kind) {\n this.throwError(\"cannot instantiate abstract class \" + JSON.stringify(kind.name) + \" directly; use a sub-class\", Logger.errors.UNSUPPORTED_OPERATION, { name: target.name, operation: \"new\" });\n }\n else if (target === Object || target == null) {\n this.throwError(\"missing new\", Logger.errors.MISSING_NEW, { name: kind.name });\n }\n }\n static globalLogger() {\n if (!_globalLogger) {\n _globalLogger = new Logger(version$1);\n }\n return _globalLogger;\n }\n static setCensorship(censorship, permanent) {\n if (!censorship && permanent) {\n this.globalLogger().throwError(\"cannot permanently disable censorship\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n }\n if (_permanentCensorErrors) {\n if (!censorship) {\n return;\n }\n this.globalLogger().throwError(\"error censorship permanent\", Logger.errors.UNSUPPORTED_OPERATION, {\n operation: \"setCensorship\"\n });\n }\n _censorErrors = !!censorship;\n _permanentCensorErrors = !!permanent;\n }\n static setLogLevel(logLevel) {\n const level = LogLevels[logLevel.toLowerCase()];\n if (level == null) {\n Logger.globalLogger().warn(\"invalid log level - \" + logLevel);\n return;\n }\n _logLevel = level;\n }\n static from(version) {\n return new Logger(version);\n }\n }\n Logger.errors = ErrorCode;\n Logger.levels = LogLevel;\n\n const version = \"bytes/5.5.0\";\n\n const logger = new Logger(version);\n ///////////////////////////////\n function isHexable(value) {\n return !!(value.toHexString);\n }\n function addSlice(array) {\n if (array.slice) {\n return array;\n }\n array.slice = function () {\n const args = Array.prototype.slice.call(arguments);\n return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args)));\n };\n return array;\n }\n function isInteger(value) {\n return (typeof (value) === \"number\" && value == value && (value % 1) === 0);\n }\n function isBytes(value) {\n if (value == null) {\n return false;\n }\n if (value.constructor === Uint8Array) {\n return true;\n }\n if (typeof (value) === \"string\") {\n return false;\n }\n if (!isInteger(value.length) || value.length < 0) {\n return false;\n }\n for (let i = 0; i < value.length; i++) {\n const v = value[i];\n if (!isInteger(v) || v < 0 || v >= 256) {\n return false;\n }\n }\n return true;\n }\n function arrayify(value, options) {\n if (!options) {\n options = {};\n }\n if (typeof (value) === \"number\") {\n logger.checkSafeUint53(value, \"invalid arrayify value\");\n const result = [];\n while (value) {\n result.unshift(value & 0xff);\n value = parseInt(String(value / 256));\n }\n if (result.length === 0) {\n result.push(0);\n }\n return addSlice(new Uint8Array(result));\n }\n if (options.allowMissingPrefix && typeof (value) === \"string\" && value.substring(0, 2) !== \"0x\") {\n value = \"0x\" + value;\n }\n if (isHexable(value)) {\n value = value.toHexString();\n }\n if (isHexString(value)) {\n let hex = value.substring(2);\n if (hex.length % 2) {\n if (options.hexPad === \"left\") {\n hex = \"0x0\" + hex.substring(2);\n }\n else if (options.hexPad === \"right\") {\n hex += \"0\";\n }\n else {\n logger.throwArgumentError(\"hex data is odd-length\", \"value\", value);\n }\n }\n const result = [];\n for (let i = 0; i < hex.length; i += 2) {\n result.push(parseInt(hex.substring(i, i + 2), 16));\n }\n return addSlice(new Uint8Array(result));\n }\n if (isBytes(value)) {\n return addSlice(new Uint8Array(value));\n }\n return logger.throwArgumentError(\"invalid arrayify value\", \"value\", value);\n }\n function isHexString(value, length) {\n if (typeof (value) !== \"string\" || !value.match(/^0x[0-9A-Fa-f]*$/)) {\n return false;\n }\n if (length && value.length !== 2 + 2 * length) {\n return false;\n }\n return true;\n }\n\n function createCommonjsModule(fn, module) {\n \treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n }\n\n var tinycolor = createCommonjsModule(function (module) {\n // TinyColor v1.4.2\n // https://github.com/bgrins/TinyColor\n // Brian Grinstead, MIT License\n\n (function(Math) {\n\n var trimLeft = /^\\s+/,\n trimRight = /\\s+$/,\n tinyCounter = 0,\n mathRound = Math.round,\n mathMin = Math.min,\n mathMax = Math.max,\n mathRandom = Math.random;\n\n function tinycolor (color, opts) {\n\n color = (color) ? color : '';\n opts = opts || { };\n\n // If input is already a tinycolor, return itself\n if (color instanceof tinycolor) {\n return color;\n }\n // If we are called as a function, call using new instead\n if (!(this instanceof tinycolor)) {\n return new tinycolor(color, opts);\n }\n\n var rgb = inputToRGB(color);\n this._originalInput = color,\n this._r = rgb.r,\n this._g = rgb.g,\n this._b = rgb.b,\n this._a = rgb.a,\n this._roundA = mathRound(100*this._a) / 100,\n this._format = opts.format || rgb.format;\n this._gradientType = opts.gradientType;\n\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this._r < 1) { this._r = mathRound(this._r); }\n if (this._g < 1) { this._g = mathRound(this._g); }\n if (this._b < 1) { this._b = mathRound(this._b); }\n\n this._ok = rgb.ok;\n this._tc_id = tinyCounter++;\n }\n\n tinycolor.prototype = {\n isDark: function() {\n return this.getBrightness() < 128;\n },\n isLight: function() {\n return !this.isDark();\n },\n isValid: function() {\n return this._ok;\n },\n getOriginalInput: function() {\n return this._originalInput;\n },\n getFormat: function() {\n return this._format;\n },\n getAlpha: function() {\n return this._a;\n },\n getBrightness: function() {\n //http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n },\n getLuminance: function() {\n //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var RsRGB, GsRGB, BsRGB, R, G, B;\n RsRGB = rgb.r/255;\n GsRGB = rgb.g/255;\n BsRGB = rgb.b/255;\n\n if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);}\n if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);}\n if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);}\n return (0.2126 * R) + (0.7152 * G) + (0.0722 * B);\n },\n setAlpha: function(value) {\n this._a = boundAlpha(value);\n this._roundA = mathRound(100*this._a) / 100;\n return this;\n },\n toHsv: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a };\n },\n toHsvString: function() {\n var hsv = rgbToHsv(this._r, this._g, this._b);\n var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100);\n return (this._a == 1) ?\n \"hsv(\" + h + \", \" + s + \"%, \" + v + \"%)\" :\n \"hsva(\" + h + \", \" + s + \"%, \" + v + \"%, \"+ this._roundA + \")\";\n },\n toHsl: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a };\n },\n toHslString: function() {\n var hsl = rgbToHsl(this._r, this._g, this._b);\n var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100);\n return (this._a == 1) ?\n \"hsl(\" + h + \", \" + s + \"%, \" + l + \"%)\" :\n \"hsla(\" + h + \", \" + s + \"%, \" + l + \"%, \"+ this._roundA + \")\";\n },\n toHex: function(allow3Char) {\n return rgbToHex(this._r, this._g, this._b, allow3Char);\n },\n toHexString: function(allow3Char) {\n return '#' + this.toHex(allow3Char);\n },\n toHex8: function(allow4Char) {\n return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char);\n },\n toHex8String: function(allow4Char) {\n return '#' + this.toHex8(allow4Char);\n },\n toRgb: function() {\n return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a };\n },\n toRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \")\" :\n \"rgba(\" + mathRound(this._r) + \", \" + mathRound(this._g) + \", \" + mathRound(this._b) + \", \" + this._roundA + \")\";\n },\n toPercentageRgb: function() {\n return { r: mathRound(bound01(this._r, 255) * 100) + \"%\", g: mathRound(bound01(this._g, 255) * 100) + \"%\", b: mathRound(bound01(this._b, 255) * 100) + \"%\", a: this._a };\n },\n toPercentageRgbString: function() {\n return (this._a == 1) ?\n \"rgb(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%)\" :\n \"rgba(\" + mathRound(bound01(this._r, 255) * 100) + \"%, \" + mathRound(bound01(this._g, 255) * 100) + \"%, \" + mathRound(bound01(this._b, 255) * 100) + \"%, \" + this._roundA + \")\";\n },\n toName: function() {\n if (this._a === 0) {\n return \"transparent\";\n }\n\n if (this._a < 1) {\n return false;\n }\n\n return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false;\n },\n toFilter: function(secondColor) {\n var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a);\n var secondHex8String = hex8String;\n var gradientType = this._gradientType ? \"GradientType = 1, \" : \"\";\n\n if (secondColor) {\n var s = tinycolor(secondColor);\n secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a);\n }\n\n return \"progid:DXImageTransform.Microsoft.gradient(\"+gradientType+\"startColorstr=\"+hex8String+\",endColorstr=\"+secondHex8String+\")\";\n },\n toString: function(format) {\n var formatSet = !!format;\n format = format || this._format;\n\n var formattedString = false;\n var hasAlpha = this._a < 1 && this._a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format === \"hex\" || format === \"hex6\" || format === \"hex3\" || format === \"hex4\" || format === \"hex8\" || format === \"name\");\n\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === \"name\" && this._a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === \"rgb\") {\n formattedString = this.toRgbString();\n }\n if (format === \"prgb\") {\n formattedString = this.toPercentageRgbString();\n }\n if (format === \"hex\" || format === \"hex6\") {\n formattedString = this.toHexString();\n }\n if (format === \"hex3\") {\n formattedString = this.toHexString(true);\n }\n if (format === \"hex4\") {\n formattedString = this.toHex8String(true);\n }\n if (format === \"hex8\") {\n formattedString = this.toHex8String();\n }\n if (format === \"name\") {\n formattedString = this.toName();\n }\n if (format === \"hsl\") {\n formattedString = this.toHslString();\n }\n if (format === \"hsv\") {\n formattedString = this.toHsvString();\n }\n\n return formattedString || this.toHexString();\n },\n clone: function() {\n return tinycolor(this.toString());\n },\n\n _applyModification: function(fn, args) {\n var color = fn.apply(null, [this].concat([].slice.call(args)));\n this._r = color._r;\n this._g = color._g;\n this._b = color._b;\n this.setAlpha(color._a);\n return this;\n },\n lighten: function() {\n return this._applyModification(lighten, arguments);\n },\n brighten: function() {\n return this._applyModification(brighten, arguments);\n },\n darken: function() {\n return this._applyModification(darken, arguments);\n },\n desaturate: function() {\n return this._applyModification(desaturate, arguments);\n },\n saturate: function() {\n return this._applyModification(saturate, arguments);\n },\n greyscale: function() {\n return this._applyModification(greyscale, arguments);\n },\n spin: function() {\n return this._applyModification(spin, arguments);\n },\n\n _applyCombination: function(fn, args) {\n return fn.apply(null, [this].concat([].slice.call(args)));\n },\n analogous: function() {\n return this._applyCombination(analogous, arguments);\n },\n complement: function() {\n return this._applyCombination(complement, arguments);\n },\n monochromatic: function() {\n return this._applyCombination(monochromatic, arguments);\n },\n splitcomplement: function() {\n return this._applyCombination(splitcomplement, arguments);\n },\n triad: function() {\n return this._applyCombination(triad, arguments);\n },\n tetrad: function() {\n return this._applyCombination(tetrad, arguments);\n }\n };\n\n // If input is an object, force 1 into \"1.0\" to handle ratios properly\n // String input requires \"1.0\" as input, so 1 will be treated as 1\n tinycolor.fromRatio = function(color, opts) {\n if (typeof color == \"object\") {\n var newColor = {};\n for (var i in color) {\n if (color.hasOwnProperty(i)) {\n if (i === \"a\") {\n newColor[i] = color[i];\n }\n else {\n newColor[i] = convertToPercentage(color[i]);\n }\n }\n }\n color = newColor;\n }\n\n return tinycolor(color, opts);\n };\n\n // Given a string or object, convert that input to RGB\n // Possible string inputs:\n //\n // \"red\"\n // \"#f00\" or \"f00\"\n // \"#ff0000\" or \"ff0000\"\n // \"#ff000000\" or \"ff000000\"\n // \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n // \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n // \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n // \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n // \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n // \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n // \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n //\n function inputToRGB(color) {\n\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n\n if (typeof color == \"string\") {\n color = stringInputToObject(color);\n }\n\n if (typeof color == \"object\") {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === \"%\" ? \"prgb\" : \"rgb\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = \"hsv\";\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = \"hsl\";\n }\n\n if (color.hasOwnProperty(\"a\")) {\n a = color.a;\n }\n }\n\n a = boundAlpha(a);\n\n return {\n ok: ok,\n format: color.format || format,\n r: mathMin(255, mathMax(rgb.r, 0)),\n g: mathMin(255, mathMax(rgb.g, 0)),\n b: mathMin(255, mathMax(rgb.b, 0)),\n a: a\n };\n }\n\n\n // Conversion Functions\n // --------------------\n\n // `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n // \n\n // `rgbToRgb`\n // Handle bounds / percentage checking to conform to CSS color spec\n // \n // *Assumes:* r, g, b in [0, 255] or [0, 1]\n // *Returns:* { r, g, b } in [0, 255]\n function rgbToRgb(r, g, b){\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255\n };\n }\n\n // `rgbToHsl`\n // Converts an RGB color value to HSL.\n // *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n // *Returns:* { h, s, l } in [0,1]\n function rgbToHsl(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, l = (max + min) / 2;\n\n if(max == min) {\n h = s = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n\n h /= 6;\n }\n\n return { h: h, s: s, l: l };\n }\n\n // `hslToRgb`\n // Converts an HSL color value to RGB.\n // *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n // *Returns:* { r, g, b } in the set [0, 255]\n function hslToRgb(h, s, l) {\n var r, g, b;\n\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n\n function hue2rgb(p, q, t) {\n if(t < 0) t += 1;\n if(t > 1) t -= 1;\n if(t < 1/6) return p + (q - p) * 6 * t;\n if(t < 1/2) return q;\n if(t < 2/3) return p + (q - p) * (2/3 - t) * 6;\n return p;\n }\n\n if(s === 0) {\n r = g = b = l; // achromatic\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1/3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1/3);\n }\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n }\n\n // `rgbToHsv`\n // Converts an RGB color value to HSV\n // *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n // *Returns:* { h, s, v } in [0,1]\n function rgbToHsv(r, g, b) {\n\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n\n var max = mathMax(r, g, b), min = mathMin(r, g, b);\n var h, s, v = max;\n\n var d = max - min;\n s = max === 0 ? 0 : d / max;\n\n if(max == min) {\n h = 0; // achromatic\n }\n else {\n switch(max) {\n case r: h = (g - b) / d + (g < b ? 6 : 0); break;\n case g: h = (b - r) / d + 2; break;\n case b: h = (r - g) / d + 4; break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n }\n\n // `hsvToRgb`\n // Converts an HSV color value to RGB.\n // *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n // *Returns:* { r, g, b } in the set [0, 255]\n function hsvToRgb(h, s, v) {\n\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n\n var i = Math.floor(h),\n f = h - i,\n p = v * (1 - s),\n q = v * (1 - f * s),\n t = v * (1 - (1 - f) * s),\n mod = i % 6,\n r = [v, q, p, p, t, v][mod],\n g = [t, v, v, q, p, p][mod],\n b = [p, p, t, v, v, q][mod];\n\n return { r: r * 255, g: g * 255, b: b * 255 };\n }\n\n // `rgbToHex`\n // Converts an RGB color to hex\n // Assumes r, g, and b are contained in the set [0, 255]\n // Returns a 3 or 6 character hex\n function rgbToHex(r, g, b, allow3Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n // Return a 3 character hex if possible\n if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n\n return hex.join(\"\");\n }\n\n // `rgbaToHex`\n // Converts an RGBA color plus alpha transparency to hex\n // Assumes r, g, b are contained in the set [0, 255] and\n // a in [0, 1]. Returns a 4 or 8 character rgba hex\n function rgbaToHex(r, g, b, a, allow4Char) {\n\n var hex = [\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16)),\n pad2(convertDecimalToHex(a))\n ];\n\n // Return a 4 character hex if possible\n if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n\n return hex.join(\"\");\n }\n\n // `rgbaToArgbHex`\n // Converts an RGBA color to an ARGB Hex8 string\n // Rarely used, but required for \"toFilter()\"\n function rgbaToArgbHex(r, g, b, a) {\n\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(mathRound(r).toString(16)),\n pad2(mathRound(g).toString(16)),\n pad2(mathRound(b).toString(16))\n ];\n\n return hex.join(\"\");\n }\n\n // `equals`\n // Can be called with any tinycolor input\n tinycolor.equals = function (color1, color2) {\n if (!color1 || !color2) { return false; }\n return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString();\n };\n\n tinycolor.random = function() {\n return tinycolor.fromRatio({\n r: mathRandom(),\n g: mathRandom(),\n b: mathRandom()\n });\n };\n\n\n // Modification Functions\n // ----------------------\n // Thanks to less.js for some of the basics here\n // \n\n function desaturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n }\n\n function saturate(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return tinycolor(hsl);\n }\n\n function greyscale(color) {\n return tinycolor(color).desaturate(100);\n }\n\n function lighten (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n }\n\n function brighten(color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var rgb = tinycolor(color).toRgb();\n rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100))));\n rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100))));\n rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100))));\n return tinycolor(rgb);\n }\n\n function darken (color, amount) {\n amount = (amount === 0) ? 0 : (amount || 10);\n var hsl = tinycolor(color).toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return tinycolor(hsl);\n }\n\n // Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n // Values outside of this range will be wrapped into this range.\n function spin(color, amount) {\n var hsl = tinycolor(color).toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return tinycolor(hsl);\n }\n\n // Combination Functions\n // ---------------------\n // Thanks to jQuery xColor for some of the ideas behind these\n // \n\n function complement(color) {\n var hsl = tinycolor(color).toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return tinycolor(hsl);\n }\n\n function triad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l })\n ];\n }\n\n function tetrad(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }),\n tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l })\n ];\n }\n\n function splitcomplement(color) {\n var hsl = tinycolor(color).toHsl();\n var h = hsl.h;\n return [\n tinycolor(color),\n tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}),\n tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l})\n ];\n }\n\n function analogous(color, results, slices) {\n results = results || 6;\n slices = slices || 30;\n\n var hsl = tinycolor(color).toHsl();\n var part = 360 / slices;\n var ret = [tinycolor(color)];\n\n for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(tinycolor(hsl));\n }\n return ret;\n }\n\n function monochromatic(color, results) {\n results = results || 6;\n var hsv = tinycolor(color).toHsv();\n var h = hsv.h, s = hsv.s, v = hsv.v;\n var ret = [];\n var modification = 1 / results;\n\n while (results--) {\n ret.push(tinycolor({ h: h, s: s, v: v}));\n v = (v + modification) % 1;\n }\n\n return ret;\n }\n\n // Utility Functions\n // ---------------------\n\n tinycolor.mix = function(color1, color2, amount) {\n amount = (amount === 0) ? 0 : (amount || 50);\n\n var rgb1 = tinycolor(color1).toRgb();\n var rgb2 = tinycolor(color2).toRgb();\n\n var p = amount / 100;\n\n var rgba = {\n r: ((rgb2.r - rgb1.r) * p) + rgb1.r,\n g: ((rgb2.g - rgb1.g) * p) + rgb1.g,\n b: ((rgb2.b - rgb1.b) * p) + rgb1.b,\n a: ((rgb2.a - rgb1.a) * p) + rgb1.a\n };\n\n return tinycolor(rgba);\n };\n\n\n // Readability Functions\n // ---------------------\n // false\n // tinycolor.isReadable(\"#000\", \"#111\",{level:\"AA\",size:\"large\"}) => false\n tinycolor.isReadable = function(color1, color2, wcag2) {\n var readability = tinycolor.readability(color1, color2);\n var wcag2Parms, out;\n\n out = false;\n\n wcag2Parms = validateWCAG2Parms(wcag2);\n switch (wcag2Parms.level + wcag2Parms.size) {\n case \"AAsmall\":\n case \"AAAlarge\":\n out = readability >= 4.5;\n break;\n case \"AAlarge\":\n out = readability >= 3;\n break;\n case \"AAAsmall\":\n out = readability >= 7;\n break;\n }\n return out;\n\n };\n\n // `mostReadable`\n // Given a base color and a list of possible foreground or background\n // colors for that base, returns the most readable color.\n // Optionally returns Black or White if the most readable color is unreadable.\n // *Example*\n // tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:false}).toHexString(); // \"#112255\"\n // tinycolor.mostReadable(tinycolor.mostReadable(\"#123\", [\"#124\", \"#125\"],{includeFallbackColors:true}).toHexString(); // \"#ffffff\"\n // tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"large\"}).toHexString(); // \"#faf3f3\"\n // tinycolor.mostReadable(\"#a8015a\", [\"#faf3f3\"],{includeFallbackColors:true,level:\"AAA\",size:\"small\"}).toHexString(); // \"#ffffff\"\n tinycolor.mostReadable = function(baseColor, colorList, args) {\n var bestColor = null;\n var bestScore = 0;\n var readability;\n var includeFallbackColors, level, size ;\n args = args || {};\n includeFallbackColors = args.includeFallbackColors ;\n level = args.level;\n size = args.size;\n\n for (var i= 0; i < colorList.length ; i++) {\n readability = tinycolor.readability(baseColor, colorList[i]);\n if (readability > bestScore) {\n bestScore = readability;\n bestColor = tinycolor(colorList[i]);\n }\n }\n\n if (tinycolor.isReadable(baseColor, bestColor, {\"level\":level,\"size\":size}) || !includeFallbackColors) {\n return bestColor;\n }\n else {\n args.includeFallbackColors=false;\n return tinycolor.mostReadable(baseColor,[\"#fff\", \"#000\"],args);\n }\n };\n\n\n // Big List of Colors\n // ------------------\n // \n var names = tinycolor.names = {\n aliceblue: \"f0f8ff\",\n antiquewhite: \"faebd7\",\n aqua: \"0ff\",\n aquamarine: \"7fffd4\",\n azure: \"f0ffff\",\n beige: \"f5f5dc\",\n bisque: \"ffe4c4\",\n black: \"000\",\n blanchedalmond: \"ffebcd\",\n blue: \"00f\",\n blueviolet: \"8a2be2\",\n brown: \"a52a2a\",\n burlywood: \"deb887\",\n burntsienna: \"ea7e5d\",\n cadetblue: \"5f9ea0\",\n chartreuse: \"7fff00\",\n chocolate: \"d2691e\",\n coral: \"ff7f50\",\n cornflowerblue: \"6495ed\",\n cornsilk: \"fff8dc\",\n crimson: \"dc143c\",\n cyan: \"0ff\",\n darkblue: \"00008b\",\n darkcyan: \"008b8b\",\n darkgoldenrod: \"b8860b\",\n darkgray: \"a9a9a9\",\n darkgreen: \"006400\",\n darkgrey: \"a9a9a9\",\n darkkhaki: \"bdb76b\",\n darkmagenta: \"8b008b\",\n darkolivegreen: \"556b2f\",\n darkorange: \"ff8c00\",\n darkorchid: \"9932cc\",\n darkred: \"8b0000\",\n darksalmon: \"e9967a\",\n darkseagreen: \"8fbc8f\",\n darkslateblue: \"483d8b\",\n darkslategray: \"2f4f4f\",\n darkslategrey: \"2f4f4f\",\n darkturquoise: \"00ced1\",\n darkviolet: \"9400d3\",\n deeppink: \"ff1493\",\n deepskyblue: \"00bfff\",\n dimgray: \"696969\",\n dimgrey: \"696969\",\n dodgerblue: \"1e90ff\",\n firebrick: \"b22222\",\n floralwhite: \"fffaf0\",\n forestgreen: \"228b22\",\n fuchsia: \"f0f\",\n gainsboro: \"dcdcdc\",\n ghostwhite: \"f8f8ff\",\n gold: \"ffd700\",\n goldenrod: \"daa520\",\n gray: \"808080\",\n green: \"008000\",\n greenyellow: \"adff2f\",\n grey: \"808080\",\n honeydew: \"f0fff0\",\n hotpink: \"ff69b4\",\n indianred: \"cd5c5c\",\n indigo: \"4b0082\",\n ivory: \"fffff0\",\n khaki: \"f0e68c\",\n lavender: \"e6e6fa\",\n lavenderblush: \"fff0f5\",\n lawngreen: \"7cfc00\",\n lemonchiffon: \"fffacd\",\n lightblue: \"add8e6\",\n lightcoral: \"f08080\",\n lightcyan: \"e0ffff\",\n lightgoldenrodyellow: \"fafad2\",\n lightgray: \"d3d3d3\",\n lightgreen: \"90ee90\",\n lightgrey: \"d3d3d3\",\n lightpink: \"ffb6c1\",\n lightsalmon: \"ffa07a\",\n lightseagreen: \"20b2aa\",\n lightskyblue: \"87cefa\",\n lightslategray: \"789\",\n lightslategrey: \"789\",\n lightsteelblue: \"b0c4de\",\n lightyellow: \"ffffe0\",\n lime: \"0f0\",\n limegreen: \"32cd32\",\n linen: \"faf0e6\",\n magenta: \"f0f\",\n maroon: \"800000\",\n mediumaquamarine: \"66cdaa\",\n mediumblue: \"0000cd\",\n mediumorchid: \"ba55d3\",\n mediumpurple: \"9370db\",\n mediumseagreen: \"3cb371\",\n mediumslateblue: \"7b68ee\",\n mediumspringgreen: \"00fa9a\",\n mediumturquoise: \"48d1cc\",\n mediumvioletred: \"c71585\",\n midnightblue: \"191970\",\n mintcream: \"f5fffa\",\n mistyrose: \"ffe4e1\",\n moccasin: \"ffe4b5\",\n navajowhite: \"ffdead\",\n navy: \"000080\",\n oldlace: \"fdf5e6\",\n olive: \"808000\",\n olivedrab: \"6b8e23\",\n orange: \"ffa500\",\n orangered: \"ff4500\",\n orchid: \"da70d6\",\n palegoldenrod: \"eee8aa\",\n palegreen: \"98fb98\",\n paleturquoise: \"afeeee\",\n palevioletred: \"db7093\",\n papayawhip: \"ffefd5\",\n peachpuff: \"ffdab9\",\n peru: \"cd853f\",\n pink: \"ffc0cb\",\n plum: \"dda0dd\",\n powderblue: \"b0e0e6\",\n purple: \"800080\",\n rebeccapurple: \"663399\",\n red: \"f00\",\n rosybrown: \"bc8f8f\",\n royalblue: \"4169e1\",\n saddlebrown: \"8b4513\",\n salmon: \"fa8072\",\n sandybrown: \"f4a460\",\n seagreen: \"2e8b57\",\n seashell: \"fff5ee\",\n sienna: \"a0522d\",\n silver: \"c0c0c0\",\n skyblue: \"87ceeb\",\n slateblue: \"6a5acd\",\n slategray: \"708090\",\n slategrey: \"708090\",\n snow: \"fffafa\",\n springgreen: \"00ff7f\",\n steelblue: \"4682b4\",\n tan: \"d2b48c\",\n teal: \"008080\",\n thistle: \"d8bfd8\",\n tomato: \"ff6347\",\n turquoise: \"40e0d0\",\n violet: \"ee82ee\",\n wheat: \"f5deb3\",\n white: \"fff\",\n whitesmoke: \"f5f5f5\",\n yellow: \"ff0\",\n yellowgreen: \"9acd32\"\n };\n\n // Make it easy to access colors via `hexNames[hex]`\n var hexNames = tinycolor.hexNames = flip(names);\n\n\n // Utilities\n // ---------\n\n // `{ 'name1': 'val1' }` becomes `{ 'val1': 'name1' }`\n function flip(o) {\n var flipped = { };\n for (var i in o) {\n if (o.hasOwnProperty(i)) {\n flipped[o[i]] = i;\n }\n }\n return flipped;\n }\n\n // Return a valid alpha value [0,1] with all invalid values being set to 1\n function boundAlpha(a) {\n a = parseFloat(a);\n\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n\n return a;\n }\n\n // Take input from [0, n] and return it as [0, 1]\n function bound01(n, max) {\n if (isOnePointZero(n)) { n = \"100%\"; }\n\n var processPercent = isPercentage(n);\n n = mathMin(max, mathMax(0, parseFloat(n)));\n\n // Automatically convert percentage into number\n if (processPercent) {\n n = parseInt(n * max, 10) / 100;\n }\n\n // Handle floating point rounding errors\n if ((Math.abs(n - max) < 0.000001)) {\n return 1;\n }\n\n // Convert into [0, 1] range if it isn't already\n return (n % max) / parseFloat(max);\n }\n\n // Force a number between 0 and 1\n function clamp01(val) {\n return mathMin(1, mathMax(0, val));\n }\n\n // Parse a base-16 hex value into a base-10 integer\n function parseIntFromHex(val) {\n return parseInt(val, 16);\n }\n\n // Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n // \n function isOnePointZero(n) {\n return typeof n == \"string\" && n.indexOf('.') != -1 && parseFloat(n) === 1;\n }\n\n // Check to see if string passed in is a percentage\n function isPercentage(n) {\n return typeof n === \"string\" && n.indexOf('%') != -1;\n }\n\n // Force a hex value to have 2 characters\n function pad2(c) {\n return c.length == 1 ? '0' + c : '' + c;\n }\n\n // Replace a decimal with it's percentage value\n function convertToPercentage(n) {\n if (n <= 1) {\n n = (n * 100) + \"%\";\n }\n\n return n;\n }\n\n // Converts a decimal to a hex value\n function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n }\n // Converts a hex value to a decimal\n function convertHexToDecimal(h) {\n return (parseIntFromHex(h) / 255);\n }\n\n var matchers = (function() {\n\n // \n var CSS_INTEGER = \"[-\\\\+]?\\\\d+%?\";\n\n // \n var CSS_NUMBER = \"[-\\\\+]?\\\\d*\\\\.\\\\d+%?\";\n\n // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\n var CSS_UNIT = \"(?:\" + CSS_NUMBER + \")|(?:\" + CSS_INTEGER + \")\";\n\n // Actual matching.\n // Parentheses and commas are optional, but not required.\n // Whitespace can take the place of commas or opening paren\n var PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n var PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")[,|\\\\s]+(\" + CSS_UNIT + \")\\\\s*\\\\)?\";\n\n return {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp(\"rgb\" + PERMISSIVE_MATCH3),\n rgba: new RegExp(\"rgba\" + PERMISSIVE_MATCH4),\n hsl: new RegExp(\"hsl\" + PERMISSIVE_MATCH3),\n hsla: new RegExp(\"hsla\" + PERMISSIVE_MATCH4),\n hsv: new RegExp(\"hsv\" + PERMISSIVE_MATCH3),\n hsva: new RegExp(\"hsva\" + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/\n };\n })();\n\n // `isValidCSSUnit`\n // Take in a single string / number and check to see if it looks like a CSS unit\n // (see `matchers` above for definition).\n function isValidCSSUnit(color) {\n return !!matchers.CSS_UNIT.exec(color);\n }\n\n // `stringInputToObject`\n // Permissive string parsing. Take in a number of formats, and output an object\n // based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n function stringInputToObject(color) {\n\n color = color.replace(trimLeft,'').replace(trimRight, '').toLowerCase();\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color == 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: \"name\" };\n }\n\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match;\n if ((match = matchers.rgb.exec(color))) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n if ((match = matchers.rgba.exec(color))) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n if ((match = matchers.hsl.exec(color))) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n if ((match = matchers.hsla.exec(color))) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n if ((match = matchers.hsv.exec(color))) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n if ((match = matchers.hsva.exec(color))) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n if ((match = matchers.hex8.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex6.exec(color))) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n if ((match = matchers.hex4.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n a: convertHexToDecimal(match[4] + '' + match[4]),\n format: named ? \"name\" : \"hex8\"\n };\n }\n if ((match = matchers.hex3.exec(color))) {\n return {\n r: parseIntFromHex(match[1] + '' + match[1]),\n g: parseIntFromHex(match[2] + '' + match[2]),\n b: parseIntFromHex(match[3] + '' + match[3]),\n format: named ? \"name\" : \"hex\"\n };\n }\n\n return false;\n }\n\n function validateWCAG2Parms(parms) {\n // return valid WCAG2 parms for isReadable.\n // If input parms are invalid, return {\"level\":\"AA\", \"size\":\"small\"}\n var level, size;\n parms = parms || {\"level\":\"AA\", \"size\":\"small\"};\n level = (parms.level || \"AA\").toUpperCase();\n size = (parms.size || \"small\").toLowerCase();\n if (level !== \"AA\" && level !== \"AAA\") {\n level = \"AA\";\n }\n if (size !== \"small\" && size !== \"large\") {\n size = \"small\";\n }\n return {\"level\":level, \"size\":size};\n }\n\n // Node: Export function\n if (module.exports) {\n module.exports = tinycolor;\n }\n // AMD/requirejs: Define the module\n else {\n window.tinycolor = tinycolor;\n }\n\n })(Math);\n });\n tinycolor.fromRatio;\n tinycolor.equals;\n tinycolor.random;\n tinycolor.mix;\n tinycolor.readability;\n tinycolor.isReadable;\n tinycolor.mostReadable;\n tinycolor.names;\n tinycolor.hexNames;\n\n var linear = function (p) { return p; };\n var cubicInOut = function (p) {\n var m = p - 1, t = p * 2;\n if (t < 1)\n return p * t * t;\n return 1 + m * m * m * 4;\n };\n var cubicIn = function (p) {\n return p * p * p;\n };\n var quintIn = function (p) {\n return p * p * p * p * p;\n };\n var bscale = function (byte, max) { return Math.round((byte / 255) * max); };\n // Util for keeping hue range in 0-360 positive\n var clampHue = function (h) {\n if (h >= 0) {\n return h % 360.0;\n }\n else {\n return 360 + (h % 360);\n }\n };\n // scale byte in range min and max\n var bScaleRange = function (byte, min, max) {\n return bscale(byte, max - min) + min;\n };\n var lerpHueFn = function (optionNum, direction) {\n var option = optionNum % 4;\n var multiplier = direction ? 1 : -1;\n switch (option) {\n case 0: {\n return function (hue, pct) {\n var endHue = hue + multiplier * 10;\n return clampHue(linear(1.0 - pct) * hue + linear(pct) * endHue);\n };\n }\n case 1: {\n return function (hue, pct) {\n var endHue = hue + multiplier * 30;\n return clampHue(linear(1.0 - pct) * hue + linear(pct) * endHue);\n };\n }\n case 2: {\n return function (hue, pct) {\n var endHue = hue + multiplier * 50;\n var lerpPercent = cubicInOut(pct);\n return clampHue(linear(1.0 - lerpPercent) * hue + lerpPercent * endHue);\n };\n }\n case 3:\n default: {\n return function (hue, pct) {\n var endHue = hue + multiplier * 60 * bscale(optionNum, 1.0) + 30;\n var lerpPercent = cubicInOut(pct);\n return clampHue((1.0 - lerpPercent) * hue + lerpPercent * endHue);\n };\n }\n }\n };\n var lerpLightnessFn = function (optionNum) {\n switch (optionNum) {\n case 0: {\n return function (start, end, pct) {\n var lerpPercent = quintIn(pct);\n return (1.0 - lerpPercent) * start + lerpPercent * end;\n };\n }\n case 1:\n default: {\n return function (start, end, pct) {\n var lerpPercent = cubicIn(pct);\n return (1.0 - lerpPercent) * start + lerpPercent * end;\n };\n }\n }\n };\n var lerpSaturationFn = function (optionNum) {\n switch (optionNum) {\n case 0: {\n return function (start, end, pct) {\n var lerpPercent = quintIn(pct);\n return (1.0 - lerpPercent) * start + lerpPercent * end;\n };\n }\n case 1:\n default: {\n return function (start, end, pct) {\n var lerpPercent = linear(pct);\n return (1.0 - lerpPercent) * start + lerpPercent * end;\n };\n }\n }\n };\n var gradientForAddress = function (address) {\n var bytes = arrayify(address).reverse();\n var hueShiftFn = lerpHueFn(bytes[3], bytes[6] % 2);\n var startHue = bscale(bytes[12], 360);\n var startLightness = bScaleRange(bytes[2], 32, 69.5);\n var endLightness = (97 + bScaleRange(bytes[8], 72, 97)) / 2;\n var startSaturation = bScaleRange(bytes[7], 81, 97);\n var endSaturation = Math.min(startSaturation - 10, bScaleRange(bytes[10], 70, 92));\n var lightnessShiftFn = lerpLightnessFn(bytes[5] % 2);\n var saturationShiftFn = lerpSaturationFn(bytes[3] % 2);\n var inputs = [\n {\n h: hueShiftFn(startHue, 0),\n s: saturationShiftFn(startSaturation, endSaturation, 1),\n l: lightnessShiftFn(startLightness, endLightness, 1)\n },\n {\n h: hueShiftFn(startHue, 0.1),\n s: saturationShiftFn(startSaturation, endSaturation, 0.9),\n l: lightnessShiftFn(startLightness, endLightness, 0.9)\n },\n {\n h: hueShiftFn(startHue, 0.7),\n s: saturationShiftFn(startSaturation, endSaturation, 0.7),\n l: lightnessShiftFn(startLightness, endLightness, 0.7)\n },\n {\n h: hueShiftFn(startHue, 0.9),\n s: saturationShiftFn(startSaturation, endSaturation, 0.2),\n l: lightnessShiftFn(startLightness, endLightness, 0.2)\n },\n {\n h: hueShiftFn(startHue, 1),\n s: saturationShiftFn(startSaturation, endSaturation, 0),\n l: startLightness\n }\n ];\n //return inputs;\n return inputs\n .map(function (c) { return tinycolor(c); })\n .map(function (tc) { return tc.toHslString(); });\n };\n\n /* src/Zorb.svelte generated by Svelte v3.44.3 */\n\n function create_fragment(ctx) {\n \tlet svg;\n \tlet title;\n \tlet slot;\n \tlet defs;\n \tlet radialGradient;\n \tlet stop0;\n \tlet stop0_stop_color_value;\n \tlet stop1;\n \tlet stop1_stop_color_value;\n \tlet stop2;\n \tlet stop2_stop_color_value;\n \tlet stop3;\n \tlet stop3_stop_color_value;\n \tlet stop4;\n \tlet stop4_stop_color_value;\n \tlet g;\n \tlet path0;\n \tlet path1;\n\n \treturn {\n \t\tc() {\n \t\t\tsvg = svg_element(\"svg\");\n \t\t\ttitle = svg_element(\"title\");\n \t\t\tslot = svg_element(\"slot\");\n \t\t\tdefs = svg_element(\"defs\");\n \t\t\tradialGradient = svg_element(\"radialGradient\");\n \t\t\tstop0 = svg_element(\"stop\");\n \t\t\tstop1 = svg_element(\"stop\");\n \t\t\tstop2 = svg_element(\"stop\");\n \t\t\tstop3 = svg_element(\"stop\");\n \t\t\tstop4 = svg_element(\"stop\");\n \t\t\tg = svg_element(\"g\");\n \t\t\tpath0 = svg_element(\"path\");\n \t\t\tpath1 = svg_element(\"path\");\n \t\t\tthis.c = noop;\n \t\t\tattr(stop0, \"offset\", \"15.62%\");\n \t\t\tattr(stop0, \"stop-color\", stop0_stop_color_value = /*gradientInfo*/ ctx[1][0]);\n \t\t\tattr(stop1, \"offset\", \"39.58%\");\n \t\t\tattr(stop1, \"stop-color\", stop1_stop_color_value = /*gradientInfo*/ ctx[1][1]);\n \t\t\tattr(stop2, \"offset\", \"72.92%\");\n \t\t\tattr(stop2, \"stop-color\", stop2_stop_color_value = /*gradientInfo*/ ctx[1][2]);\n \t\t\tattr(stop3, \"offset\", \"90.63%\");\n \t\t\tattr(stop3, \"stop-color\", stop3_stop_color_value = /*gradientInfo*/ ctx[1][3]);\n \t\t\tattr(stop4, \"offset\", \"100%\");\n \t\t\tattr(stop4, \"stop-color\", stop4_stop_color_value = /*gradientInfo*/ ctx[1][4]);\n \t\t\tattr(radialGradient, \"id\", \"gzr\");\n \t\t\tattr(radialGradient, \"gradientTransform\", \"translate(66.4578 24.3575) scale(75.2908)\");\n \t\t\tattr(radialGradient, \"gradientUnits\", \"userSpaceOnUse\");\n \t\t\tattr(radialGradient, \"r\", \"1\");\n \t\t\tattr(radialGradient, \"cx\", \"0\");\n \t\t\tattr(radialGradient, \"cy\", \"0%\");\n \t\t\tattr(path0, \"d\", \"M100 50C100 22.3858 77.6142 0 50 0C22.3858 0 0 22.3858 0 50C0 77.6142 22.3858 100 50 100C77.6142 100 100 77.6142 100 50Z\");\n \t\t\tattr(path0, \"fill\", `url(#gzr)`);\n \t\t\tattr(path1, \"stroke\", \"rgba(0,0,0,0.075)\");\n \t\t\tattr(path1, \"fill\", \"transparent\");\n \t\t\tattr(path1, \"stroke-width\", \"1\");\n \t\t\tattr(path1, \"d\", \"M50,0.5c27.3,0,49.5,22.2,49.5,49.5S77.3,99.5,50,99.5S0.5,77.3,0.5,50S22.7,0.5,50,0.5z\");\n \t\t\tattr(g, \"transform\", \"translate(5,5)\");\n \t\t\tattr(svg, \"width\", /*size*/ ctx[0]);\n \t\t\tattr(svg, \"height\", /*size*/ ctx[0]);\n \t\t\tattr(svg, \"xmlns\", \"http://www.w3.org/2000/svg\");\n \t\t\tattr(svg, \"viewBox\", \"0 0 110 110\");\n \t\t},\n \t\tm(target, anchor) {\n \t\t\tinsert(target, svg, anchor);\n \t\t\tappend(svg, title);\n \t\t\tappend(title, slot);\n \t\t\tappend(svg, defs);\n \t\t\tappend(defs, radialGradient);\n \t\t\tappend(radialGradient, stop0);\n \t\t\tappend(radialGradient, stop1);\n \t\t\tappend(radialGradient, stop2);\n \t\t\tappend(radialGradient, stop3);\n \t\t\tappend(radialGradient, stop4);\n \t\t\tappend(svg, g);\n \t\t\tappend(g, path0);\n \t\t\tappend(g, path1);\n \t\t},\n \t\tp(ctx, [dirty]) {\n \t\t\tif (dirty & /*gradientInfo*/ 2 && stop0_stop_color_value !== (stop0_stop_color_value = /*gradientInfo*/ ctx[1][0])) {\n \t\t\t\tattr(stop0, \"stop-color\", stop0_stop_color_value);\n \t\t\t}\n\n \t\t\tif (dirty & /*gradientInfo*/ 2 && stop1_stop_color_value !== (stop1_stop_color_value = /*gradientInfo*/ ctx[1][1])) {\n \t\t\t\tattr(stop1, \"stop-color\", stop1_stop_color_value);\n \t\t\t}\n\n \t\t\tif (dirty & /*gradientInfo*/ 2 && stop2_stop_color_value !== (stop2_stop_color_value = /*gradientInfo*/ ctx[1][2])) {\n \t\t\t\tattr(stop2, \"stop-color\", stop2_stop_color_value);\n \t\t\t}\n\n \t\t\tif (dirty & /*gradientInfo*/ 2 && stop3_stop_color_value !== (stop3_stop_color_value = /*gradientInfo*/ ctx[1][3])) {\n \t\t\t\tattr(stop3, \"stop-color\", stop3_stop_color_value);\n \t\t\t}\n\n \t\t\tif (dirty & /*gradientInfo*/ 2 && stop4_stop_color_value !== (stop4_stop_color_value = /*gradientInfo*/ ctx[1][4])) {\n \t\t\t\tattr(stop4, \"stop-color\", stop4_stop_color_value);\n \t\t\t}\n\n \t\t\tif (dirty & /*size*/ 1) {\n \t\t\t\tattr(svg, \"width\", /*size*/ ctx[0]);\n \t\t\t}\n\n \t\t\tif (dirty & /*size*/ 1) {\n \t\t\t\tattr(svg, \"height\", /*size*/ ctx[0]);\n \t\t\t}\n \t\t},\n \t\ti: noop,\n \t\to: noop,\n \t\td(detaching) {\n \t\t\tif (detaching) detach(svg);\n \t\t}\n \t};\n }\n\n function instance($$self, $$props, $$invalidate) {\n \tlet gradientInfo;\n \tlet { size = \"100%\" } = $$props;\n \tlet { address } = $$props;\n\n \t$$self.$$set = $$props => {\n \t\tif ('size' in $$props) $$invalidate(0, size = $$props.size);\n \t\tif ('address' in $$props) $$invalidate(2, address = $$props.address);\n \t};\n\n \t$$self.$$.update = () => {\n \t\tif ($$self.$$.dirty & /*address*/ 4) {\n \t\t\t$$invalidate(1, gradientInfo = gradientForAddress(address || \"0x0000000000000000000000000000000000000000\"));\n \t\t}\n \t};\n\n \treturn [size, gradientInfo, address];\n }\n\n class Zorb extends SvelteElement {\n \tconstructor(options) {\n \t\tsuper();\n\n \t\tinit(\n \t\t\tthis,\n \t\t\t{\n \t\t\t\ttarget: this.shadowRoot,\n \t\t\t\tprops: attribute_to_object(this.attributes),\n \t\t\t\tcustomElement: true\n \t\t\t},\n \t\t\tinstance,\n \t\t\tcreate_fragment,\n \t\t\tnot_equal,\n \t\t\t{ size: 0, address: 2 },\n \t\t\tnull\n \t\t);\n\n \t\tif (options) {\n \t\t\tif (options.target) {\n \t\t\t\tinsert(options.target, this, options.anchor);\n \t\t\t}\n\n \t\t\tif (options.props) {\n \t\t\t\tthis.$set(options.props);\n \t\t\t\tflush();\n \t\t\t}\n \t\t}\n \t}\n\n \tstatic get observedAttributes() {\n \t\treturn [\"size\", \"address\"];\n \t}\n\n \tget size() {\n \t\treturn this.$$.ctx[0];\n \t}\n\n \tset size(size) {\n \t\tthis.$$set({ size });\n \t\tflush();\n \t}\n\n \tget address() {\n \t\treturn this.$$.ctx[2];\n \t}\n\n \tset address(address) {\n \t\tthis.$$set({ address });\n \t\tflush();\n \t}\n }\n\n customElements.define(\"zora-zorb\", Zorb);\n\n})();\n","import { ContractNetworksConfig } from \"@safe-global/protocol-kit\";\n\nconst defaultL2Addresses = {\n multiSendAddress: \"0xA238CBeb142c10Ef7Ad8442C6D1f9E89e07e7761\",\n safeMasterCopyAddress: \"0x3E5c63644E683549055b9Be8653de26E0B4CD36E\",\n safeProxyFactoryAddress: \"0xa6B71E26C5e0845f74c812102Ca7114b6a896AB2\",\n multiSendCallOnlyAddress: \"0x40A2aCCbd92BCA938b02010E17A5b8929b49130D\",\n fallbackHandlerAddress: \"0x1AC114C2099aFAf5261731655Dc6c306bFcd4Dbd\",\n createCallAddress: \"0x7cbB62EaA69F79e6873cD1ecB2392971036cFAa4\",\n signMessageLibAddress: \"0xA65387F16B013cf2Af4605Ad8aA5ec25a2cbA3a2\",\n};\n\nconst baseL2Addresses = {\n multiSendAddress: \"0x998739BFdAAdde7C933B942a68053933098f9EDa\",\n safeMasterCopyAddress: \"0x69f4D1788e39c87893C980c06EdF4b7f686e2938\",\n safeProxyFactoryAddress: \"0xC22834581EbC8527d974F8a1c97E1bEA4EF910BC\",\n multiSendCallOnlyAddress: \"0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B\",\n fallbackHandlerAddress: \"0x017062a1dE2FE6b99BE3d9d37841FeD19F573804\",\n createCallAddress: \"0xB19D6FFc2182150F8Eb585b79D4ABcd7C5640A9d\",\n signMessageLibAddress: \"0x98FFBBF51bb33A056B08ddf711f289936AafF717\",\n};\n\n// sepolia is the same as base.\nconst sepoliaAddresses = baseL2Addresses;\n\nexport const contractNetworks: ContractNetworksConfig = {\n // ZORA goerli\n [999]: defaultL2Addresses,\n // ZORA sepolia testnet\n [999999999]: defaultL2Addresses,\n // ZORA mainnet\n [7777777]: defaultL2Addresses,\n // base goerli\n [84531]: baseL2Addresses,\n // base mainnet\n [8453]: baseL2Addresses,\n // pgn sepolia\n [58008]: defaultL2Addresses,\n // pgn mainnet\n [424]: defaultL2Addresses,\n // sepolia testnet\n [11155111]: sepoliaAddresses,\n};\n"],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$interopDefault","a","__esModule","default","$parcel$global","globalThis","self","window","global","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","value","$h3YQx","constructor","contract","encode","methodName","params","interface","encodeFunctionData","getAddress","address","performCreate2","deploymentData","salt","options","gasLimit","estimateGas","txResponse","toTxResult","performCreate","toString","isSignerCompatible","isTypedDataSigner","sameString","$j7x7T","str1","str2","toLowerCase","transactionResponse","hash","signer","undefined","_signTypedData","signerOrProvider","candidate","signMessage","signTransaction","_isSigner","Signer","$deb85df20e19ba32$export$fdf54fdde81cc9f0","$deb85df20e19ba32$export$7dbc56d9b9612bad","$e72ut","$d1hml","$2FBHa","$deb85df20e19ba32$var$__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","adopt","then","apply","$deb85df20e19ba32$var$logger","Logger","version","$deb85df20e19ba32$var$allowedTransactionKeys","$deb85df20e19ba32$var$forwardErrors","errors","INSUFFICIENT_FUNDS","NONCE_EXPIRED","REPLACEMENT_UNDERPRICED","checkAbstract","defineReadOnly","getBalance","blockTag","_checkProvider","provider","getTransactionCount","transaction","tx","resolveProperties","checkTransaction","sendTransaction","populateTransaction","signedTx","getChainId","network","getNetwork","chainId","getGasPrice","getFeeData","resolveName","name","key","indexOf","throwArgumentError","shallowCopy","from","all","to","catch","error","hasEip1559","maxFeePerGas","maxPriorityFeePerGas","gasPrice","type","feeData","throwError","UNSUPPORTED_OPERATION","operation","nonce","UNPREDICTABLE_GAS_LIMIT","results","isSigner","_fail","message","domain","types","connect","$a463a6b5f08d6875$export$104236534534f9be","$a463a6b5f08d6875$export$f695fbbf3cdaaf47","$a463a6b5f08d6875$export$d503dd157d963b60","$a463a6b5f08d6875$export$ae5a316ba623b73a","$a463a6b5f08d6875$export$9c13236873b118a5","$a463a6b5f08d6875$export$6c40052bed430212","$a463a6b5f08d6875$export$393edc798c47379d","$kgXnl","$a463a6b5f08d6875$var$logger","object","writable","ctor","i","prototype","getPrototypeOf","promises","keys","map","reduce","accum","properties","forEach","$a463a6b5f08d6875$var$opaque","bigint","boolean","number","string","$a463a6b5f08d6875$var$_deepCopy","$a463a6b5f08d6875$var$_isFrozen","Array","isArray","isFrozen","length","freeze","item","info","$97a8d5981d597bb7$export$d4e71bc0b80dc0fb","$97a8d5981d597bb7$export$efa9a398d6368992","LogLevel","ErrorCode","$97a8d5981d597bb7$export$243e62d78d3b544d","$6utZY","$97a8d5981d597bb7$var$_permanentCensorErrors","$97a8d5981d597bb7$var$_censorErrors","$97a8d5981d597bb7$var$LogLevels","debug","warning","off","$97a8d5981d597bb7$var$_logLevel","$97a8d5981d597bb7$var$_globalLogger","$97a8d5981d597bb7$var$_normalizeError","$97a8d5981d597bb7$var$_checkNormalize","missing","form","normalize","push","join","String","fromCharCode","$97a8d5981d597bb7$var$HEX","_log","logLevel","args","level","console","log","levels","DEBUG","INFO","warn","WARNING","makeError","UNKNOWN_ERROR","messageDetails","Uint8Array","hex","JSON","stringify","reason","url","NUMERIC_FAULT","fault","CALL_EXCEPTION","MISSING_NEW","TRANSACTION_REPLACED","INVALID_ARGUMENT","argument","assert","condition","assertArgument","checkNormalize","checkSafeUint53","checkArgumentCount","count","expectedCount","MISSING_ARGUMENT","UNEXPECTED_ARGUMENT","checkNew","target","kind","globalLogger","setCensorship","censorship","permanent","setLogLevel","$4b9cd088fca23de9$export$83d89fbfd8236492","$ec235c03b0398629$export$83d89fbfd8236492","$1f1ca693564f9708$export$83d89fbfd8236492","getVersion","VERSION","getNonce","toNumber","getThreshold","getOwners","isOwner","getTransactionHash","safeTransactionData","data","safeTxGas","baseGas","gasToken","refundReceiver","approvedHashes","ownerAddress","approveHash","isValidTransaction","safeTransaction","isTxValid","encodedSignatures","callStatic","execTransaction","$1chjt","proxyCreationCode","createProxy","safeMasterCopyAddress","initializer","saltNonce","callback","BigNumber","lt","proxyAddress","createProxyWithNonce","_a","txReceipt","wait","proxyCreationEvent","events","find","event","$0df4577496dcf693$export$a3d0a7fa9b65683b","$0df4577496dcf693$export$d97aa349ed20696","$0df4577496dcf693$export$51e4a08295f7770f","$0df4577496dcf693$export$1293db5d29c264ff","$dEXSZ","$aBzgs","$e2x6L","$0df4577496dcf693$var$BN","BN","$0df4577496dcf693$var$logger","$0df4577496dcf693$var$_constructorGuard","isBigNumber","match","isHexString","isBytes","$0df4577496dcf693$var$_warnedToStringRadix","constructorGuard","_hex","_isBigNumber","fromTwos","$0df4577496dcf693$var$toBigNumber","$0df4577496dcf693$var$toBN","toTwos","abs","substring","add","other","sub","div","o","isZero","$0df4577496dcf693$var$throwFault","mul","mod","isNeg","umod","pow","and","isNegative","or","xor","mask","maskn","shl","shln","shr","shrn","eq","lte","gt","gte","toBigInt","BigInt","arguments","toHexString","toJSON","$0df4577496dcf693$var$toHex","anyValue","hexlify","module1","val","msg","inherits","superCtor","super_","TempCtor","base","endian","isBN","negative","words","red","_init","wordSize","Buffer","parseHex4Bits","index","c","charCodeAt","parseHexByte","lowerBound","r","parseBase","str","start","end","b","len","Math","min","move","dest","src","num","max","left","right","cmp","_initNumber","_initArray","replace","_parseHex","_parseBase","toArray","ceil","j","w","_strip","parseLength","limbLen","limbPow","total","word","imuln","_iaddn","copy","_move","clone","_expand","size","_normSign","Symbol","for","inspect","zeros","groupSizes","groupBases","smallMulTo","out","lo","carry","k","ncarry","rword","maxJ","padding","groupSize","groupBase","modrn","idivn","ret","toBuffer","toArrayLike","ArrayType","byteLength","reqLength","res","allocUnsafe","_toArrayLikeLE","position","shift","_toArrayLikeBE","clz32","_countBits","t","_zeroBits","bitLength","hi","zeroBits","width","inotn","iaddn","testn","notn","ineg","neg","iuor","ior","uor","iuand","iand","uand","iuxor","ixor","uxor","bytesNeeded","bitsLeft","setn","bit","wbit","iadd","isub","comb10MulTo","mid","a0","al0","ah0","a1","al1","ah1","a2","al2","ah2","a3","al3","ah3","a4","al4","ah4","a5","al5","ah5","a6","al6","ah6","a7","al7","ah7","a8","al8","ah8","a9","al9","ah9","b0","bl0","bh0","b1","bl1","bh1","b2","bl2","bh2","b3","bl3","bh3","b4","bl4","bh4","b5","bl5","bh5","b6","bl6","bh6","b7","bl7","bh7","b8","bl8","bh8","b9","bl9","bh9","w0","imul","w1","w2","w3","w4","w5","w6","w7","w8","w9","w10","w11","w12","w13","w14","w15","w16","w17","w18","bigMulTo","hncarry","FFTM","x","y","mulTo","makeRBT","N","l","revBin","rb","permute","rbt","rws","iws","rtws","itws","transform","rtwdf","cos","PI","itwdf","sin","p","rtwdf_","itwdf_","re","ie","ro","io","rx","guessLen13b","m","odd","conjugate","normalize13b","ws","round","convert13b","stub","ph","mulp","_","rwst","iwst","nrws","nrwst","niwst","rmws","mulf","isNegNum","muln","sqr","isqr","toBitArray","q","iushln","bits","carryMask","newCarry","ishln","iushrn","hint","extended","h","maskedWords","ishrn","ushln","ushrn","imaskn","isubn","addn","subn","iabs","_ishlnsubmul","_wordDiv","mode","bhi","diff","qj","divmod","positive","divn","divRound","dm","half","r2","andln","acc","modn","egcd","A","B","C","D","g","isEven","yp","xp","im","isOdd","jm","gcd","_invmp","x1","x2","delta","cmpn","invm","bincn","ucmp","gtn","gten","ltn","lten","eqn","Red","toRed","ctx","convertTo","_forceRed","fromRed","convertFrom","forceRed","redAdd","redIAdd","redSub","redISub","redShl","redMul","_verify2","redIMul","redSqr","_verify1","redISqr","redSqrt","sqrt","redInvm","redNeg","redPow","primes","k256","p224","p192","p25519","MPrime","tmp","_tmp","K256","P224","P192","P25519","prime","_prime","Mont","imod","rinv","minv","ireduce","rlen","split","imulK","strip","input","output","outLen","prev","mod3","one","nOne","lpow","z","inv","wnd","current","currentLen","mont","u","$7b88b6e03e4708f2$export$9a14abb1a440cd5e","$7b88b6e03e4708f2$export$b02a40aff8e4ad18","$7b88b6e03e4708f2$export$c6fabfbfd097fc30","$7b88b6e03e4708f2$export$3131421a7d01b4fb","$7b88b6e03e4708f2$export$ee1b3e54f0441b22","$7b88b6e03e4708f2$export$a8f4574d0e56446c","$7b88b6e03e4708f2$export$3cdc770bf8b2ed3d","$7b88b6e03e4708f2$export$2b0d6b5fbe698c70","$7b88b6e03e4708f2$export$13882f896d3c0683","$7b88b6e03e4708f2$export$15da666eba198c18","$7b88b6e03e4708f2$export$6d4b99629b38754a","$7b88b6e03e4708f2$export$6916af760a341dd3","$7b88b6e03e4708f2$export$967bc0082a978949","$7b88b6e03e4708f2$export$e9c46a54370b47e8","$7b88b6e03e4708f2$export$7fb170f1e457988f","$7b88b6e03e4708f2$export$71bb9d78a59bbe25","$cSpPr","$7b88b6e03e4708f2$var$logger","$7b88b6e03e4708f2$var$isHexable","$7b88b6e03e4708f2$var$addSlice","array","slice","$7b88b6e03e4708f2$var$isInteger","unshift","parseInt","allowMissingPrefix","hexPad","items","objects","offset","$7b88b6e03e4708f2$var$HexCharacters","floor","endOffset","trimmed","signature","_vs","recoveryParam","yParityAndS","compact","bytes","vs","recId","$95fe903f324809f2$export$83d89fbfd8236492","$a38aef31efdfa85e$export$83d89fbfd8236492","getMessageHash","$db31e3d9a58c72db$var$_EthersAdapter_ethers","$db31e3d9a58c72db$var$_EthersAdapter_signer","$db31e3d9a58c72db$var$_EthersAdapter_provider","$db31e3d9a58c72db$var$__classPrivateFieldSet","__classPrivateFieldSet","receiver","state","f","TypeError","has","$db31e3d9a58c72db$var$__classPrivateFieldGet","__classPrivateFieldGet","$7a7Pr","$86UQU","WeakMap","ethers","getProvider","getSigner","isAddress","utils","getEip3770Address","fullAddress","validateEip3770Address","getChecksummedAddress","getSafeContract","safeVersion","singletonDeployment","customContractAddress","contractAddress","networkAddresses","getSafeContractInstance","getSafeProxyFactoryContract","getSafeProxyFactoryContractInstance","getMultiSendContract","getMultiSendContractInstance","getMultiSendCallOnlyContract","getMultiSendCallOnlyContractInstance","getCompatibilityFallbackHandlerContract","getCompatibilityFallbackHandlerContractInstance","getSignMessageLibContract","getSignMessageLibContractInstance","getCreateCallContract","getCreateCallContractInstance","getContractCode","getCode","isContractDeployed","contractCode","getStorageAt","content","decodedContent","decodeParameters","getTransaction","transactionHash","getSignerAddress","messageArray","arrayify","signTypedData","safeTransactionEIP712Args","typedData","generateTypedData","SafeTx","encodeParameters","values","AbiCoder","decode","$536f8a2ee4f40657$var$__createBinding","__createBinding","create","k2","desc","getOwnPropertyDescriptor","$536f8a2ee4f40657$var$__exportStar","__exportStar","exports1","hasOwnProperty","isRestrictedAddress","isZeroAddress","$cm07l","$c3e3bfb7a67a06db$var$sameString","$c3e3bfb7a67a06db$var$isZeroAddress","ZERO_ADDRESS","SENTINEL_ADDRESS","EMPTY_DATA","repeat","validateEthereumAddress","validateEip3770NetworkPrefix","isValidEip3770NetworkPrefix","getEip3770NetworkPrefixFromChainId","parseEip3770Address","$9y1Dl","$ulSff","$3370c2ee0af74814$var$parseEip3770Address","parts","prefix","$3370c2ee0af74814$var$getEip3770NetworkPrefixFromChainId","networks","shortName","$3370c2ee0af74814$var$isValidEip3770NetworkPrefix","some","$3370c2ee0af74814$var$validateEip3770NetworkPrefix","currentChainId","isCurrentNetworkPrefix","$3370c2ee0af74814$var$validateEthereumAddress","isValidAddress","isHexStrict","$bijMU","$eNPzt","$gQOic","$hkN9y","$6f388e73f687fdcf$var$_flattenTypes","includeTuple","puts","param","components","suffix","arrayBracket","$6f388e73f687fdcf$var$hexToAscii","$6f388e73f687fdcf$var$asciiToHex","$6f388e73f687fdcf$var$getUnitValue","unit","unitMap","_fireError","emitter","optionalData","listeners","setTimeout","emit","removeAllListeners","_jsonInterfaceMethodToString","json","inputs","_flattenTypes","randomHex","isHex","sha3","sha3Raw","keccak256","soliditySha3","soliditySha3Raw","encodePacked","checkAddressChecksum","toChecksumAddress","test","addressHash","checksumAddress","toUpperCase","toHex","toBN","bytesToHex","hexToBytes","hexToNumberString","hexToNumber","toDecimal","numberToHex","fromDecimal","hexToUtf8","hexToString","toUtf8","stripHexPrefix","utf8ToHex","stringToHex","fromUtf8","hexToAscii","toAscii","asciiToHex","fromAscii","toWei","fromWei","padLeft","leftPad","padRight","rightPad","toTwosComplement","isBloom","isUserEthereumAddressInBloom","isContractAddressInBloom","isTopic","isTopicInBloom","isInBloom","compareBlockNumbers","bnA","bnB","$37ApY","$lrNtv","$8390b99fd7c7bef8$var$zero","$8390b99fd7c7bef8$var$negative1","$8390b99fd7c7bef8$var$unitMap","$8390b99fd7c7bef8$var$getValueOfUnit","unitInput","unitValue","$8390b99fd7c7bef8$var$numberToString","arg","dividedToIntegerBy","toPrecision","numberToString","getValueOfUnit","weiInput","optionsInput","wei","baseLength","fraction","pad","whole","commify","etherInput","ether","comps","parseHex","jumboMulTo","fftm","$51861dfc7ca9d588$export$a143d493d941bafc","$51861dfc7ca9d588$export$e4cf37d7f6fb9e0a","$51861dfc7ca9d588$export$f99ded8fe4b79145","$51861dfc7ca9d588$export$599f31c3813fae4d","$kuxul","$9NvM5","$51861dfc7ca9d588$var$customInspectSymbol","$51861dfc7ca9d588$var$createBuffer","RangeError","buf","setPrototypeOf","$51861dfc7ca9d588$var$Buffer","encodingOrOffset","$51861dfc7ca9d588$var$allocUnsafe","$51861dfc7ca9d588$var$from","$51861dfc7ca9d588$var$fromString","encoding","isEncoding","$51861dfc7ca9d588$var$byteLength","actual","write","ArrayBuffer","isView","$51861dfc7ca9d588$var$fromArrayView","arrayView","$51861dfc7ca9d588$var$isInstance","$51861dfc7ca9d588$var$fromArrayBuffer","buffer","byteOffset","$51861dfc7ca9d588$var$fromArrayLike","SharedArrayBuffer","valueOf","$51861dfc7ca9d588$var$fromObject","obj","isBuffer","$51861dfc7ca9d588$var$checked","toPrimitive","$51861dfc7ca9d588$var$assertSize","mustMatch","loweredCase","$51861dfc7ca9d588$var$utf8ToBytes","$51861dfc7ca9d588$var$base64ToBytes","$51861dfc7ca9d588$var$slowToString","$51861dfc7ca9d588$var$hexSlice","$51861dfc7ca9d588$var$hexSliceLookupTable","$51861dfc7ca9d588$var$utf8Slice","$51861dfc7ca9d588$var$asciiSlice","$51861dfc7ca9d588$var$latin1Slice","fromByteArray","$51861dfc7ca9d588$var$utf16leSlice","$51861dfc7ca9d588$var$swap","$51861dfc7ca9d588$var$bidirectionalIndexOf","dir","$51861dfc7ca9d588$var$arrayIndexOf","lastIndexOf","arr","indexSize","arrLength","valLength","read","readUInt16BE","foundIndex","found","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","$51861dfc7ca9d588$var$decodeCodePointsArray","codePoints","$51861dfc7ca9d588$var$checkOffset","ext","$51861dfc7ca9d588$var$checkInt","$51861dfc7ca9d588$var$checkIEEE754","$51861dfc7ca9d588$var$writeFloat","littleEndian","noAssert","$51861dfc7ca9d588$var$writeDouble","alloc","TYPED_ARRAY_SUPPORT","$51861dfc7ca9d588$var$typedArraySupport","proto","foo","poolSize","fill","allocUnsafeSlow","_isBuffer","compare","concat","list","pos","swap16","swap32","swap64","toLocaleString","equals","trim","thisStart","thisEnd","thisCopy","targetCopy","includes","isFinite","remaining","$51861dfc7ca9d588$var$hexWrite","Number","strLen","parsed","substr","$51861dfc7ca9d588$var$blitBuffer","$51861dfc7ca9d588$var$asciiToBytes","byteArray","$51861dfc7ca9d588$var$utf16leToBytes","units","_arr","newBuf","subarray","readUintLE","readUIntLE","readUintBE","readUIntBE","readUint8","readUInt8","readUint16LE","readUInt16LE","readUint16BE","readUint32LE","readUInt32LE","readUint32BE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32LE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUintLE","writeUIntLE","maxBytes","writeUintBE","writeUIntBE","writeUint8","writeUInt8","writeUint16LE","writeUInt16LE","writeUint16BE","writeUInt16BE","writeUint32LE","writeUInt32LE","writeUint32BE","writeUInt32BE","writeIntLE","limit","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","copyWithin","$51861dfc7ca9d588$var$INVALID_BASE64_RE","Infinity","leadSurrogate","toByteArray","$51861dfc7ca9d588$var$base64clean","dst","alphabet","table","i16","$eeb0961446aae8e3$export$d622b2ad8d90c771","$eeb0961446aae8e3$export$6100ba28696e12de","b64","lens","$eeb0961446aae8e3$var$getLens","validLen","placeHoldersLen","$eeb0961446aae8e3$var$Arr","curByte","$eeb0961446aae8e3$var$revLookup","uint8","extraBytes","len2","$eeb0961446aae8e3$var$encodeChunk","$eeb0961446aae8e3$var$lookup","$eeb0961446aae8e3$var$code","$eeb0961446aae8e3$var$i","$eeb0961446aae8e3$var$len","$7221566bd4d49f44$export$aafa59e2e03f2942","$7221566bd4d49f44$export$68d8715fc104d294","isLE","mLen","nBytes","eLen","eMax","eBias","nBits","d","NaN","rt","isNaN","LN2","$aVYM4","$edrkG","multiplier","formattedString","isHexPrefixed","stringArg","pop","$1Gpd4","$ac6da539943f3978$require$Buffer","$6ZWSX","$7gSD0","$7Z98w","$36d7k","$ac6da539943f3978$var$isBN","$ac6da539943f3978$var$isBigNumber","$ac6da539943f3978$var$toBN","$ac6da539943f3978$var$isAddress","$ac6da539943f3978$var$checkAddressChecksum","$ac6da539943f3978$var$sha3","$ac6da539943f3978$var$utf8ToHex","reverse","$ac6da539943f3978$var$hexToNumber","bigIntOnOverflow","$ac6da539943f3978$var$isHexStrict","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","$ac6da539943f3978$var$numberToHex","$ac6da539943f3978$var$toHex","returnType","$ac6da539943f3978$var$isHex","$ac6da539943f3978$var$SHA3_NULL_S","returnValue","bufferToHex","_Hash","$ac6da539943f3978$var$BNwrapped","hexValue","toLocaleLowerCase","startsWith","bloom","ethereumAddress","topic","chars","sign","hasPrefix","root","byteCount","byteIndex","stringFromCharCode","ucs2decode","extra","counter","checkScalarValue","createByte","readContinuationByte","continuationByte","byteString","encodeCodePoint","symbol","decodeSymbol","byte1","byte2","byte3","ucs2encode","$5d0551371c89d07b$var$__createBinding","$5d0551371c89d07b$var$__exportStar","getKeys","arrayContainsArray","getBinarySize","padToEven","$aj8Qm","KECCAK256_RLP","KECCAK256_RLP_S","KECCAK256_RLP_ARRAY","KECCAK256_RLP_ARRAY_S","KECCAK256_NULL","KECCAK256_NULL_S","TWO_POW256","MAX_INTEGER","MAX_UINT64","$4jhio","$32365a58f62e9fb8$var$__createBinding","$32365a58f62e9fb8$var$__setModuleDefault","__setModuleDefault","$32365a58f62e9fb8$var$__importStar","__importStar","$32365a58f62e9fb8$var$__importDefault","__importDefault","rlp","$32365a58f62e9fb8$var$bn_js_1","$32365a58f62e9fb8$var$rlp","$0ca14f51a53c43ef$require$Buffer","$0ca14f51a53c43ef$var$__importDefault","getLength","$0ca14f51a53c43ef$var$bn_js_1","$0ca14f51a53c43ef$var$safeParseInt","$0ca14f51a53c43ef$var$encodeLength","hexLength","$0ca14f51a53c43ef$var$intToHex","$0ca14f51a53c43ef$var$isHexPrefixed","integer","$0ca14f51a53c43ef$var$toBuffer","$0ca14f51a53c43ef$var$encode","inputBuf","stream","decoded","$0ca14f51a53c43ef$var$_decode","llength","innerRemainder","remainder","totalLength","inputBuffer","length_1","$d42806dba2e311ba$require$Buffer","$d42806dba2e311ba$var$__read","__read","iterator","ar","$d42806dba2e311ba$var$__importDefault","zeroAddress","importPublic","privateToAddress","privateToPublic","publicToAddress","pubToAddress","isValidPublic","isValidPrivate","generateAddress2","generateAddress","isValidChecksumAddress","Account","$d42806dba2e311ba$var$assert_1","$iET4t","$5jI7y","$b61lJ","$gKSHR","$7jIKp","$eLj8Y","$d42806dba2e311ba$var$Account","balance","stateRoot","codeHash","_validate","fromAccountData","accountData","fromRlpSerializedAccount","serialized","fromValuesArray","raw","bnToUnpaddedBuffer","serialize","isContract","isEmpty","hexAddress","assertIsString","eip1191ChainId","assertIsHexString","toType","TypeOutput","keccakFromString","assertIsBuffer","nonceBN","rlphash","initCode","privateKey","privateKeyVerify","publicKey","sanitize","publicKeyVerify","pubKey","publicKeyConvert","keccak","publicKeyCreate","addr","zeroAddr","$7d7a23f7babfddb7$var$isDeepEqual","$7d7a23f7babfddb7$var$isDeepStrictEqual","$hPtJY","$7d7a23f7babfddb7$var$_typeof","$7d7a23f7babfddb7$var$_require$codes","$cCihK","codes","$7d7a23f7babfddb7$var$ERR_AMBIGUOUS_ARGUMENT","ERR_AMBIGUOUS_ARGUMENT","$7d7a23f7babfddb7$var$ERR_INVALID_ARG_TYPE","ERR_INVALID_ARG_TYPE","$7d7a23f7babfddb7$var$ERR_INVALID_ARG_VALUE","ERR_INVALID_ARG_VALUE","$7d7a23f7babfddb7$var$ERR_INVALID_RETURN_VALUE","ERR_INVALID_RETURN_VALUE","$7d7a23f7babfddb7$var$ERR_MISSING_ARGS","ERR_MISSING_ARGS","$8pS6q","$N7Lcz","$7d7a23f7babfddb7$var$inspect","$7d7a23f7babfddb7$require$_require$types","$7d7a23f7babfddb7$var$isPromise","isPromise","$7d7a23f7babfddb7$var$isRegExp","isRegExp","$7d7a23f7babfddb7$var$objectAssign","assign","$7d7a23f7babfddb7$var$objectIs","is","$7d7a23f7babfddb7$var$lazyLoadComparison","comparison","isDeepEqual","isDeepStrictEqual","$7d7a23f7babfddb7$var$warned","$7d7a23f7babfddb7$var$assert","$7d7a23f7babfddb7$var$ok","$7d7a23f7babfddb7$var$NO_EXCEPTION_SENTINEL","$7d7a23f7babfddb7$var$innerFail","$7d7a23f7babfddb7$var$innerOk","fn","argLen","generatedMessage","expected","operator","stackStartFn","_len","_key","fail","$7d7a23f7babfddb7$var$fail","internalMessage","argsLen","emitWarning","bind","errArgs","AssertionError","ok","equal","notEqual","deepEqual","notDeepEqual","deepStrictEqual","notDeepStrictEqual","$7d7a23f7babfddb7$var$notDeepStrictEqual","strictEqual","notStrictEqual","$7d7a23f7babfddb7$var$Comparison","Comparison","_this","$7d7a23f7babfddb7$var$_classCallCheck","instance","Constructor","$7d7a23f7babfddb7$var$expectedException","$7d7a23f7babfddb7$var$compareExceptionKey","isPrototypeOf","$7d7a23f7babfddb7$var$getActual","$7d7a23f7babfddb7$var$checkIsPromise","$7d7a23f7babfddb7$var$waitForActual","promiseFn","resultPromise","$7d7a23f7babfddb7$var$expectsError","details","fnType","$7d7a23f7babfddb7$var$expectsNoError","throws","_len2","_key2","rejects","_len3","_key3","doesNotThrow","_len4","_key4","doesNotReject","_len5","_key5","ifError","newErr","origStack","stack","tmp2","tmp1","strict","$7d7a23f7babfddb7$var$strict","_len6","_key6","$cfae44f0dfdf62c0$var$cachedSetTimeout","$cfae44f0dfdf62c0$var$cachedClearTimeout","$cfae44f0dfdf62c0$var$currentQueue","$cfae44f0dfdf62c0$var$process","$cfae44f0dfdf62c0$var$defaultSetTimout","$cfae44f0dfdf62c0$var$defaultClearTimeout","$cfae44f0dfdf62c0$var$runTimeout","fun","clearTimeout","$cfae44f0dfdf62c0$var$queue","$cfae44f0dfdf62c0$var$draining","$cfae44f0dfdf62c0$var$queueIndex","$cfae44f0dfdf62c0$var$cleanUpNextTick","$cfae44f0dfdf62c0$var$drainQueue","timeout","run","$cfae44f0dfdf62c0$var$runClearTimeout","marker","$cfae44f0dfdf62c0$var$Item","$cfae44f0dfdf62c0$var$noop","nextTick","title","browser","env","argv","versions","on","addListener","once","removeListener","prependListener","prependOnceListener","binding","cwd","chdir","umask","$92f737b1c63f6b54$var$_typeof","$92f737b1c63f6b54$var$_getPrototypeOf","__proto__","$92f737b1c63f6b54$var$_setPrototypeOf","$92f737b1c63f6b54$export$e45cb6485273080e","$92f737b1c63f6b54$var$assert","$92f737b1c63f6b54$var$util","$92f737b1c63f6b54$var$codes","$92f737b1c63f6b54$var$createErrorType","Base","NodeError","_Base","arg1","arg2","arg3","$92f737b1c63f6b54$var$_classCallCheck","$92f737b1c63f6b54$var$_assertThisInitialized","ReferenceError","$92f737b1c63f6b54$var$_inherits","subClass","superClass","$92f737b1c63f6b54$var$oneOf","thing","search","determiner","this_len","$92f737b1c63f6b54$var$includes","inspected","$093a98c17cb6b6b8$var$getOwnPropertyDescriptors","getOwnPropertyDescriptors","descriptors","$093a98c17cb6b6b8$var$formatRegExp","format","$093a98c17cb6b6b8$var$isString","$093a98c17cb6b6b8$var$inspect","$093a98c17cb6b6b8$var$isNull","$093a98c17cb6b6b8$var$isObject","deprecate","noDeprecation","warned","throwDeprecation","traceDeprecation","trace","$093a98c17cb6b6b8$var$debugs","$093a98c17cb6b6b8$var$debugEnvRegex","opts","seen","stylize","$093a98c17cb6b6b8$var$stylizeNoColor","depth","colors","$093a98c17cb6b6b8$var$isBoolean","showHidden","_extend","$093a98c17cb6b6b8$var$isUndefined","customInspect","$093a98c17cb6b6b8$var$stylizeWithColor","$093a98c17cb6b6b8$var$formatValue","styleType","style","styles","recurseTimes","$093a98c17cb6b6b8$var$isFunction","braces","numLinesEst","primitive","$093a98c17cb6b6b8$var$formatPrimitive","simple","$093a98c17cb6b6b8$var$isNumber","visibleKeys","idx","getOwnPropertyNames","$093a98c17cb6b6b8$var$isError","$093a98c17cb6b6b8$var$formatError","$093a98c17cb6b6b8$var$isRegExp","RegExp","$093a98c17cb6b6b8$var$isDate","Date","$093a98c17cb6b6b8$var$isArray","toUTCString","$093a98c17cb6b6b8$var$formatArray","$093a98c17cb6b6b8$var$hasOwnProperty","$093a98c17cb6b6b8$var$formatProperty","cur","line","$093a98c17cb6b6b8$var$objectToString","$093a98c17cb6b6b8$var$pad","debuglog","pid","isBoolean","isNull","isNullOrUndefined","isNumber","isString","isSymbol","isUndefined","isObject","isDate","isError","isNativeError","isFunction","isPrimitive","$093a98c17cb6b6b8$var$months","prop","time","getHours","getMinutes","getSeconds","getDate","getMonth","origin","$093a98c17cb6b6b8$var$kCustomPromisifiedSymbol","$093a98c17cb6b6b8$var$callbackifyOnRejected","cb","newReason","promisify","original","promiseResolve","promiseReject","promise","defineProperties","custom","callbackify","callbackified","maybeCb","rej","$f4HGZ","$5WnCa","$gJrpv","$hN833","$59a77e8886024a57$var$uncurryThis","$59a77e8886024a57$var$BigIntSupported","$59a77e8886024a57$var$SymbolSupported","$59a77e8886024a57$var$ObjectToString","$59a77e8886024a57$var$numberValue","$59a77e8886024a57$var$stringValue","$59a77e8886024a57$var$booleanValue","Boolean","$59a77e8886024a57$var$bigIntValue","$59a77e8886024a57$var$symbolValue","$59a77e8886024a57$var$checkBoxedPrimitive","prototypeValueOf","$59a77e8886024a57$var$isMapToString","$59a77e8886024a57$var$isSetToString","$59a77e8886024a57$var$isWeakMapToString","$59a77e8886024a57$var$isWeakSetToString","$59a77e8886024a57$var$isArrayBufferToString","$59a77e8886024a57$var$isArrayBuffer","working","$59a77e8886024a57$var$isDataViewToString","$59a77e8886024a57$var$isDataView","DataView","isArgumentsObject","isGeneratorFunction","isTypedArray","isArrayBufferView","isUint8Array","isUint8ClampedArray","isUint16Array","isUint32Array","isInt8Array","isInt16Array","isInt32Array","isFloat32Array","isFloat64Array","isBigInt64Array","isBigUint64Array","Map","isMap","Set","isSet","isWeakMap","WeakSet","isWeakSet","isArrayBuffer","isDataView","$59a77e8886024a57$var$SharedArrayBufferCopy","$59a77e8886024a57$var$isSharedArrayBufferToString","$59a77e8886024a57$var$isSharedArrayBuffer","$59a77e8886024a57$var$isNumberObject","$59a77e8886024a57$var$isStringObject","$59a77e8886024a57$var$isBooleanObject","$59a77e8886024a57$var$isBigIntObject","$59a77e8886024a57$var$isSymbolObject","isSharedArrayBuffer","isAsyncFunction","isMapIterator","isSetIterator","isGeneratorObject","isWebAssemblyCompiledModule","isNumberObject","isStringObject","isBooleanObject","isBigIntObject","isSymbolObject","isBoxedPrimitive","isAnyArrayBuffer","method","$af991f1d6c80f097$var$hasToStringTag","$af991f1d6c80f097$var$$toString","$hXu6F","$af991f1d6c80f097$var$isStandardArguments","toStringTag","$af991f1d6c80f097$var$isLegacyArguments","callee","$af991f1d6c80f097$var$supportsStandardArguments","isLegacyArguments","$7YWkK","getOwnPropertySymbols","sym","symObj","syms","propertyIsEnumerable","descriptor","$1zENl","$cOB0F","$d12f4cdcd6b10506$var$$indexOf","allowMissing","intrinsic","$1258b452ecf218a1$var$undefined","$1258b452ecf218a1$var$$SyntaxError","SyntaxError","$1258b452ecf218a1$var$$Function","Function","$1258b452ecf218a1$var$$TypeError","$1258b452ecf218a1$var$getEvalledConstructor","expressionSyntax","$1258b452ecf218a1$var$$gOPD","$1258b452ecf218a1$var$throwTypeError","$1258b452ecf218a1$var$ThrowTypeError","calleeThrows","gOPDthrows","$1258b452ecf218a1$var$hasSymbols","$1258b452ecf218a1$var$hasProto","$1258b452ecf218a1$var$getProto","$1258b452ecf218a1$var$needsEval","$1258b452ecf218a1$var$TypedArray","$1258b452ecf218a1$var$INTRINSICS","AggregateError","Atomics","BigInt64Array","BigUint64Array","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","eval","EvalError","Float32Array","Float64Array","FinalizationRegistry","Int8Array","Int16Array","Int32Array","parseFloat","Proxy","Reflect","Uint8ClampedArray","Uint16Array","Uint32Array","URIError","WeakRef","$1258b452ecf218a1$var$errorProto","$1258b452ecf218a1$var$doEval","doEval","gen","$1258b452ecf218a1$var$LEGACY_ALIASES","$gvair","$8aKn2","$1258b452ecf218a1$var$$concat","$1258b452ecf218a1$var$$spliceApply","splice","$1258b452ecf218a1$var$$replace","$1258b452ecf218a1$var$$strSlice","$1258b452ecf218a1$var$$exec","exec","$1258b452ecf218a1$var$rePropName","$1258b452ecf218a1$var$reEscapeChar","$1258b452ecf218a1$var$stringToPath","first","last","quote","subString","$1258b452ecf218a1$var$getBaseIntrinsic","alias","intrinsicName","intrinsicBaseName","intrinsicRealName","skipFurtherCaching","isOwn","part","$1820ada193f67aeb$var$origSymbol","$a1b9a4c94d7d9147$var$test","$a1b9a4c94d7d9147$var$$Object","$kAGnA","$efd80b1d7fbb2850$var$slice","$efd80b1d7fbb2850$var$toStr","that","bound","$efd80b1d7fbb2850$var$ERROR_MESSAGE","boundLength","boundArgs","Empty","$9546dce5bd4976bd$var$$apply","$9546dce5bd4976bd$var$$call","$9546dce5bd4976bd$var$$reflectApply","$9546dce5bd4976bd$var$$gOPD","$9546dce5bd4976bd$var$$defineProperty","$9546dce5bd4976bd$var$$max","originalFunction","func","$9546dce5bd4976bd$var$applyBind","$4534afe844d627e4$var$GeneratorFunction","$4534afe844d627e4$var$toStr","$4534afe844d627e4$var$fnToStr","$4534afe844d627e4$var$isFnRegex","$4534afe844d627e4$var$hasToStringTag","$4534afe844d627e4$var$getProto","$4534afe844d627e4$var$getGeneratorFunc","generatorFunc","$gFhA7","$8yXCr","$dYOee","$c2e61c703a2c9ae0$var$$toString","$c2e61c703a2c9ae0$var$hasToStringTag","$c2e61c703a2c9ae0$var$g","$c2e61c703a2c9ae0$var$typedArrays","$c2e61c703a2c9ae0$var$$slice","$c2e61c703a2c9ae0$var$toStrTags","$c2e61c703a2c9ae0$var$getPrototypeOf","typedArray","$c2e61c703a2c9ae0$var$tryTypedArrays","foundName","getter","$63RD0","$c21e1d005400ef2a$var$toStr","$c21e1d005400ef2a$var$hasOwnProperty","$c21e1d005400ef2a$var$forEachArray","$c21e1d005400ef2a$var$forEachString","charAt","$c21e1d005400ef2a$var$forEachObject","$469c9f4bd3a650de$var$badArrayLike","$469c9f4bd3a650de$var$isCallableMarker","$469c9f4bd3a650de$var$fnToStr","$469c9f4bd3a650de$var$reflectApply","$469c9f4bd3a650de$var$constructorRegex","$469c9f4bd3a650de$var$isES6ClassFn","fnStr","$469c9f4bd3a650de$var$tryFunctionObject","$469c9f4bd3a650de$var$toStr","$469c9f4bd3a650de$var$hasToStringTag","$469c9f4bd3a650de$var$isIE68","$469c9f4bd3a650de$var$isDDA","document","$469c9f4bd3a650de$var$all","strClass","$63bfbecf41903c8f$var$possibleNames","$63bfbecf41903c8f$var$g","$a2d7d74e83f6c3ed$var$$gOPD","$cf3d4182e663752d$var$$toString","$cf3d4182e663752d$var$hasToStringTag","$cf3d4182e663752d$var$g","$cf3d4182e663752d$var$typedArrays","$cf3d4182e663752d$var$$indexOf","$cf3d4182e663752d$var$$slice","$cf3d4182e663752d$var$toStrTags","$cf3d4182e663752d$var$getPrototypeOf","$cf3d4182e663752d$var$tryTypedArrays","anyTrue","$620aa032cca82da4$var$_defineProperties","props","$620aa032cca82da4$var$_possibleConstructorReturn","$620aa032cca82da4$var$_typeof","$620aa032cca82da4$var$_assertThisInitialized","$620aa032cca82da4$var$_wrapNativeSuper","Class","_cache","Wrapper","$620aa032cca82da4$var$_construct","$620aa032cca82da4$var$_getPrototypeOf","$620aa032cca82da4$var$_setPrototypeOf","Parent","$620aa032cca82da4$var$isNativeReflectConstruct","construct","sham","$620aa032cca82da4$var$inspect","$620aa032cca82da4$var$ERR_INVALID_ARG_TYPE","$620aa032cca82da4$var$endsWith","$620aa032cca82da4$var$blue","$620aa032cca82da4$var$green","$620aa032cca82da4$var$red","$620aa032cca82da4$var$white","$620aa032cca82da4$var$kReadableOperator","strictEqualObject","notStrictEqualObject","notIdentical","$620aa032cca82da4$var$copyError","source","$620aa032cca82da4$var$inspectValue","maxArrayLength","breakLength","showProxy","sorted","getters","$620aa032cca82da4$var$AssertionError","_Error","protoProps","staticProps","$620aa032cca82da4$var$_classCallCheck","stackTraceLimit","stderr","isTTY","getColorDepth","$620aa032cca82da4$var$createErrDiff","lastPos","skipped","actualInspected","actualLines","expectedLines","indicator","inputLength","columns","$620aa032cca82da4$var$repeat","maxCount","maxLines","_actualLines","printedLines","skippedMsg","expectedLine","actualLine","divergingLines","_res","knownOperators","captureStackTrace","$620aa032cca82da4$var$_inherits","$620aa032cca82da4$var$_objectSpread","ownKeys","filter","$a2cddfb99e0a6135$var$assign","firstSource","nextSource","keysArray","nextIndex","nextKey","polyfill","$1UbTr","$6wuPW","$5SxoI","$bNbuK","$ad6ddb07ef0cb149$var$polyfill","getPolyfill","implementation","shim","$81enX","$16343f2546a69e4c$var$hasSymbols","$16343f2546a69e4c$var$toStr","$16343f2546a69e4c$var$concat","$16343f2546a69e4c$var$origDefineProperty","$16343f2546a69e4c$var$hasPropertyDescriptors","$16343f2546a69e4c$var$supportsDescriptors","$16343f2546a69e4c$var$defineProperty","predicate","$16343f2546a69e4c$var$defineProperties","predicates","supportsDescriptors","$5d69935f2747da8d$var$slice","$z1gio","$5d69935f2747da8d$var$origKeys","$5d69935f2747da8d$var$keysShim","$5d69935f2747da8d$var$originalKeys","$06943f92b55ad7fa$var$toStr","isArgs","$330998a67e44345d$var$keysShim","$330998a67e44345d$var$has","$330998a67e44345d$var$toStr","$330998a67e44345d$var$isArgs","$330998a67e44345d$var$isEnumerable","$330998a67e44345d$var$hasDontEnumBug","$330998a67e44345d$var$hasProtoEnumBug","$330998a67e44345d$var$dontEnums","$330998a67e44345d$var$equalsConstructorPrototype","$330998a67e44345d$var$excludedKeys","$applicationCache","$console","$external","$frame","$frameElement","$frames","$innerHeight","$innerWidth","$onmozfullscreenchange","$onmozfullscreenerror","$outerHeight","$outerWidth","$pageXOffset","$pageYOffset","$parent","$scrollLeft","$scrollTop","$scrollX","$scrollY","$self","$webkitIndexedDB","$webkitStorageInfo","$window","$330998a67e44345d$var$hasAutomationEqualityBug","$330998a67e44345d$var$equalsConstructorPrototypeIfNotBuggy","isArguments","theKeys","skipProto","skipConstructor","$d1dd62937e17e68d$var$$defineProperty","$d1dd62937e17e68d$var$hasPropertyDescriptors","hasArrayLengthDefineBug","$4bfda6cb765ad269$var$numberIsNaN","$2be9aa30bff457b9$var$_slicedToArray","$2be9aa30bff457b9$var$_arrayWithHoles","$2be9aa30bff457b9$var$_iterableToArrayLimit","_n","_d","_e","_s","_i","$2be9aa30bff457b9$var$_nonIterableRest","$2be9aa30bff457b9$var$_typeof","$2be9aa30bff457b9$var$regexFlagsSupported","flags","$2be9aa30bff457b9$var$arrayFromSet","$2be9aa30bff457b9$var$arrayFromMap","$2be9aa30bff457b9$var$objectIs","$2be9aa30bff457b9$var$objectGetOwnPropertySymbols","$2be9aa30bff457b9$var$numberIsNaN","$2be9aa30bff457b9$var$uncurryThis","$2be9aa30bff457b9$var$hasOwnProperty","$2be9aa30bff457b9$var$propertyIsEnumerable","$2be9aa30bff457b9$var$objectToString","$2be9aa30bff457b9$require$_require$types","$2be9aa30bff457b9$var$isAnyArrayBuffer","$2be9aa30bff457b9$var$isArrayBufferView","$2be9aa30bff457b9$var$isDate","$2be9aa30bff457b9$var$isMap","$2be9aa30bff457b9$var$isRegExp","$2be9aa30bff457b9$var$isSet","$2be9aa30bff457b9$var$isNativeError","$2be9aa30bff457b9$var$isBoxedPrimitive","$2be9aa30bff457b9$var$isNumberObject","$2be9aa30bff457b9$var$isStringObject","$2be9aa30bff457b9$var$isBooleanObject","$2be9aa30bff457b9$var$isBigIntObject","$2be9aa30bff457b9$var$isSymbolObject","$2be9aa30bff457b9$var$isFloat32Array","$2be9aa30bff457b9$var$isFloat64Array","$2be9aa30bff457b9$var$isNonIndex","$2be9aa30bff457b9$var$getOwnNonIndexProperties","$2be9aa30bff457b9$var$compare","$2be9aa30bff457b9$var$ONLY_ENUMERABLE","$2be9aa30bff457b9$var$innerDeepEqual","val1","val2","memos","val1Tag","keys1","keys2","$2be9aa30bff457b9$var$keyCheck","getTime","$2be9aa30bff457b9$var$areSimilarFloatArrays","_keys","_keys2","buf1","buf2","$2be9aa30bff457b9$var$getEnumerables","iterationType","aKeys","bKeys","symbolKeysA","symbolKeysB","_symbolKeysB","val2MemoA","val2MemoB","areEq","$2be9aa30bff457b9$var$objEquiv","$2be9aa30bff457b9$var$setEquiv","memo","aValues","$2be9aa30bff457b9$var$setMightHaveLoosePrim","prim","altValue","$2be9aa30bff457b9$var$findLooseMatchingPrimitives","bValues","_val","$2be9aa30bff457b9$var$setHasEqualElement","$2be9aa30bff457b9$var$mapEquiv","aEntries","_aEntries$i","item1","item2","$2be9aa30bff457b9$var$mapMightHaveLoosePrim","curB","bEntries","_i2","_bEntries$_i","$2be9aa30bff457b9$var$mapHasEqualEntry","keysA","delete","setValues","key1","key2","$8sYH2","$91M8b","$hCf9I","$8d642377f5822430$var$polyfill","$d956ae6943bb41ce$var$__awaiter","__awaiter","$d956ae6943bb41ce$var$__generator","__generator","body","label","sent","trys","ops","verb","op","$1dT7K","createPrivateKey","pk","getRandomBytes","createPrivateKeySync","getRandomBytesSync","$d956ae6943bb41ce$var$__export","$b3cd3c4411d4f56b$var$errors","IMPOSSIBLE_CASE","TWEAK_ADD","TWEAK_MUL","CONTEXT_RANDOMIZE_UNKNOW","SECKEY_INVALID","PUBKEY_PARSE","PUBKEY_SERIALIZE","PUBKEY_COMBINE","SIG_PARSE","SIGN","RECOVER","ECDH","$b3cd3c4411d4f56b$var$assert","cond","$b3cd3c4411d4f56b$var$isUint8Array","numbers","$b3cd3c4411d4f56b$var$isCompressed","$b3cd3c4411d4f56b$var$toTypeString","$b3cd3c4411d4f56b$var$getAssertedOutput","secp256k1","contextRandomize","seed","seckey","privateKeyNegate","privateKeyTweakAdd","tweak","privateKeyTweakMul","pubkey","compressed","publicKeyNegate","publicKeyCombine","pubkeys","publicKeyTweakAdd","publicKeyTweakMul","signatureNormalize","sig","signatureExport","outputlen","signatureImport","ecdsaSign","msg32","noncefn","recid","ecdsaVerify","ecdsaRecover","ecdh","hashfn","xbuf","ybuf","$a6c9a9981cef49fd$require$EC","$1zUcV","ec","$a6c9a9981cef49fd$var$ec","$a6c9a9981cef49fd$var$ecparams","curve","$a6c9a9981cef49fd$var$BN","$a6c9a9981cef49fd$var$loadPublicKey","$a6c9a9981cef49fd$var$loadCompressedPublicKey","keyPair","pub","$a6c9a9981cef49fd$var$loadUncompressedPublicKey","x3","$a6c9a9981cef49fd$var$savePublicKey","point","bn","negate","tweaked","pair","keyFromPrivate","getPublic","pairs","isInfinity","nh","sigR","sigS","lenR","posR","lenS","posS","_noncefn","isValid","canonical","pers","sigObj","sigr","sigs","verify","recoverPubKey","scalar","sha256","update","digest","getX","getY","$1264a8f63e75be39$var$elliptic","rand","curves","eddsa","parse","$c20cf89948514165$var$utils","$jX0xT","$koC21","$lC4vN","zero2","getNAF","naf","getJSF","k1","jsf","d1","d2","m8","u1","u2","m14","m24","cachedProperty","computer","parseBytes","intFromLE","$ed938ccf59a32f03$var$assert","$fbc0a58a3f4350d8$var$utils","$fbc0a58a3f4350d8$var$zero2","$fbc0a58a3f4350d8$var$toHex","enc","$5a1e9a6ed4e8de8a$var$r","$5a1e9a6ed4e8de8a$var$Rand","generate","Rand","_rand","getBytes","getByte","crypto","getRandomValues","msCrypto","$5a1e9a6ed4e8de8a$var$crypto","randomBytes","$955b8f041d2341cf$var$curve","short","edwards","$gEVtY","$d03ed95a59c9b218$var$getNAF","$d03ed95a59c9b218$var$getJSF","$d03ed95a59c9b218$var$assert","$d03ed95a59c9b218$var$BaseCurve","conf","zero","two","pointFromJSON","gRed","_wnafT1","_wnafT2","_wnafT3","_wnafT4","_bitLength","adjustCount","redN","_maxwellTrick","$d03ed95a59c9b218$var$BasePoint","precomputed","validate","_fixedNafMul","nafW","doubles","_getDoubles","I","repr","jpoint","mixedAdd","points","toP","_wnafMul","nafPoints","_getNAFPoints","dblp","_wnafMulAdd","defW","coeffs","jacobianResult","wndWidth","comb","toJ","ja","jb","BasePoint","decodePoint","pointFromX","encodeCompressed","_encode","precompute","power","beta","_getBeta","_hasDoubles","dbl","$dlqwk","$hSu7V","$ae7d1d0c45b43ec6$var$assert","$ae7d1d0c45b43ec6$var$ShortCurve","tinv","zeroA","threeA","endo","_getEndomorphism","_endoWnafT1","_endoWnafT2","$ae7d1d0c45b43ec6$var$Point","isRed","inf","$ae7d1d0c45b43ec6$var$JPoint","zOne","lambda","basis","betas","_getEndoRoots","lambdas","vec","_getEndoBasis","ntinv","prevR","aprxSqrt","y1","y2","len1","_endoSplit","v1","v2","c1","c2","p1","p2","q1","q2","ax","rhs","_endoWnafMulAdd","npoints","ncoeffs","fromJSON","pre","endoMul","obj2point","nx","ny","ys1","dyinv","mulAdd","jmulAdd","_precompute","zinv","zinv2","ay","pz2","z2","s1","s2","h2","h3","nz","jx","jy","jz","jz4","jyd","jx2","jyd2","jyd4","t1","t2","dny","_zeroDbl","_threeDbl","_dbl","xx","yy","yyyy","yyyy8","c8","gamma","alpha","beta4","beta8","ggamma8","jy2","jxd4","jyd8","trpl","zz","mm","ee","yyu4","kbase","z3","pz3","eqXToP","zs","xc","$7a4f1b7c0dc1f992$var$MontCurve","i4","a24","$7a4f1b7c0dc1f992$var$Point","aa","bb","diffAdd","da","jumlAdd","$9c5f8216d530af0e$var$assert","$9c5f8216d530af0e$var$EdwardsCurve","twisted","mOneA","dd","oneC","$9c5f8216d530af0e$var$Point","_mulA","_mulC","lhs","pointFromY","_extDbl","nt","_projDbl","_extAdd","_projAdd","zi","$b0f2b206068f1378$var$pre","$b0f2b206068f1378$var$curves","$kiSKt","$cP1GP","$b0f2b206068f1378$var$assert","$b0f2b206068f1378$var$PresetCurve","$b0f2b206068f1378$var$defineCurve","PresetCurve","sha384","sha512","$ec7ff5071b027891$var$hash","common","sha","ripemd","hmac","sha1","sha224","ripemd160","$859bdb699f0f4e15$export$69f1b2dcda23c5f8","$859bdb699f0f4e15$export$45b10814cc054894","$859bdb699f0f4e15$export$7ea66e3774a60b67","$859bdb699f0f4e15$export$34a52f00f601f6f1","$859bdb699f0f4e15$export$812b0cbd5e8a72ab","$859bdb699f0f4e15$export$f24f9e11d63bb314","$859bdb699f0f4e15$export$b71357c7e07ca1f1","$859bdb699f0f4e15$export$2e58a4b541fdcbe8","$859bdb699f0f4e15$export$183b950bde9faab8","$859bdb699f0f4e15$export$4785c77169fea59e","$859bdb699f0f4e15$export$242a185dfcffac5b","$859bdb699f0f4e15$export$58c04ae0ae31877d","$859bdb699f0f4e15$export$d058ca695f8c6f11","$859bdb699f0f4e15$export$a1efd7fc3e986367","$859bdb699f0f4e15$export$bbfea4a2b5abaab4","$859bdb699f0f4e15$export$97ad4afc7de86152","$859bdb699f0f4e15$export$ce4673d9a79f6a4b","$859bdb699f0f4e15$export$786cc99fc6eedc0b","$859bdb699f0f4e15$export$45c59b9a1848dd0","$859bdb699f0f4e15$export$50d8f613e76d3034","$859bdb699f0f4e15$export$b8e83683c60ee162","$859bdb699f0f4e15$export$aeeb51790d1bcc4a","$859bdb699f0f4e15$export$bb7c616f719ad9c","$859bdb699f0f4e15$export$4d63290824f9d7df","$859bdb699f0f4e15$export$2f64ceb90ef28ea1","$859bdb699f0f4e15$export$8d2089d465f6d10d","$859bdb699f0f4e15$var$htonl","$859bdb699f0f4e15$var$zero2","$859bdb699f0f4e15$var$zero8","ah","al","bh","bl","ch","cl","dh","dl","eh","el","$7b45e3fb23ceb2f4$export$8687658379b577e6","$btcbI","$7b45e3fb23ceb2f4$var$BlockHash","pending","pendingTotal","blockSize","outSize","hmacStrength","padLength","_delta8","_delta32","join32","_update","_pad","_digest","$1d6110a725745f5a$export$5091bdda49ba90f5","$1d6110a725745f5a$export$97b70509d4e397ea","$1d6110a725745f5a$export$bced8d2aada2d1c9","$1d6110a725745f5a$export$612d47d55dedde45","$1d6110a725745f5a$export$a888d2532e6dc7bb","$aAb7n","$dV8oa","$0870468534428d45$var$rotl32","rotl32","$0870468534428d45$var$sum32","sum32","$0870468534428d45$var$sum32_5","sum32_5","$0870468534428d45$var$ft_1","ft_1","$0870468534428d45$var$BlockHash","BlockHash","$0870468534428d45$var$sha1_K","$0870468534428d45$var$SHA1","W","toHex32","split32","$a2271b1744b4602b$export$5a92649d7ddb9f63","$a2271b1744b4602b$export$c6d0d020c3a6269","$a2271b1744b4602b$export$eb90c27fca05f956","$a2271b1744b4602b$export$14a4a98e063b1999","$a2271b1744b4602b$export$d20cecfa1564c686","$a2271b1744b4602b$export$44fd472a12fc6db","$a2271b1744b4602b$export$1ed238bb6ea1dd47","$a2271b1744b4602b$var$rotr32","rotr32","$a2271b1744b4602b$var$maj32","$a9EzX","$c16f2915997a3b04$var$SHA224","$764a38c4cb12cffe$var$sum32","$764a38c4cb12cffe$var$sum32_4","sum32_4","$764a38c4cb12cffe$var$sum32_5","$764a38c4cb12cffe$var$ch32","ch32","$764a38c4cb12cffe$var$maj32","maj32","$764a38c4cb12cffe$var$s0_256","s0_256","$764a38c4cb12cffe$var$s1_256","s1_256","$764a38c4cb12cffe$var$g0_256","g0_256","$764a38c4cb12cffe$var$g1_256","g1_256","$764a38c4cb12cffe$var$BlockHash","$764a38c4cb12cffe$var$sha256_K","$764a38c4cb12cffe$var$SHA256","T1","T2","$lMBCM","$551d923eb49b8fc5$var$SHA384","$fdbb441c0566fb85$var$rotr64_hi","rotr64_hi","$fdbb441c0566fb85$var$rotr64_lo","rotr64_lo","$fdbb441c0566fb85$var$shr64_hi","shr64_hi","$fdbb441c0566fb85$var$shr64_lo","shr64_lo","$fdbb441c0566fb85$var$sum64","sum64","$fdbb441c0566fb85$var$sum64_hi","sum64_hi","$fdbb441c0566fb85$var$sum64_lo","sum64_lo","$fdbb441c0566fb85$var$sum64_4_hi","sum64_4_hi","$fdbb441c0566fb85$var$sum64_4_lo","sum64_4_lo","$fdbb441c0566fb85$var$sum64_5_hi","sum64_5_hi","$fdbb441c0566fb85$var$sum64_5_lo","sum64_5_lo","$fdbb441c0566fb85$var$BlockHash","$fdbb441c0566fb85$var$sha512_K","$fdbb441c0566fb85$var$SHA512","_prepareBlock","c0_hi","$fdbb441c0566fb85$var$g1_512_hi","xh","xl","c0_lo","$fdbb441c0566fb85$var$g1_512_lo","c1_hi","c1_lo","c2_hi","$fdbb441c0566fb85$var$g0_512_hi","c2_lo","$fdbb441c0566fb85$var$g0_512_lo","c3_hi","c3_lo","fh","fl","gh","gl","hh","hl","$fdbb441c0566fb85$var$s1_512_hi","$fdbb441c0566fb85$var$s1_512_lo","$fdbb441c0566fb85$var$ch64_hi","yh","yl","zh","$fdbb441c0566fb85$var$ch64_lo","zl","c4_hi","c4_lo","T1_hi","T1_lo","$fdbb441c0566fb85$var$s0_512_hi","$fdbb441c0566fb85$var$s0_512_lo","$fdbb441c0566fb85$var$maj64_hi","$fdbb441c0566fb85$var$maj64_lo","T2_hi","T2_lo","$00fc18f316764a3b$export$d1cea0ee4e3f0d3e","$00fc18f316764a3b$var$rotl32","$00fc18f316764a3b$var$sum32","$00fc18f316764a3b$var$sum32_3","sum32_3","$00fc18f316764a3b$var$sum32_4","$00fc18f316764a3b$var$BlockHash","$00fc18f316764a3b$var$RIPEMD160","$00fc18f316764a3b$var$f","E","Ah","Bh","Ch","Dh","Eh","T","$00fc18f316764a3b$var$r","$00fc18f316764a3b$var$s","$00fc18f316764a3b$var$rh","$00fc18f316764a3b$var$sh","$792e0ef6fa035d02$var$Hmac","Hash","inner","outer","$kKonu","$fbTbW","$7JHF0","$17ac898fe5b06379$var$assert","$lPqzs","$i46nc","$17ac898fe5b06379$var$EC","priv","fromPrivate","keyFromPublic","fromPublic","genKeyPair","drbg","persEnc","entropy","entropyEnc","ns2","_truncateToN","truncOnly","bkey","getPrivate","ns1","iter","kp","kpX","sinv","isYOdd","isSecondKey","rInv","getKeyRecoveryParam","Q","Qprime","$f1ab03780ebd0ab4$var$HmacDRBG","predResist","minEntropy","_reseed","reseedInterval","K","V","nonceEnc","_hmac","kmac","reseed","addEnc","temp","$fe42f8d68750188b$var$assert","$fe42f8d68750188b$var$KeyPair","_importPrivate","privEnc","_importPublic","pubEnc","derive","$d26d8b510bde7292$var$assert","$d26d8b510bde7292$var$Signature","_importDER","$d26d8b510bde7292$var$Position","place","$d26d8b510bde7292$var$getLength","initial","octetLen","$d26d8b510bde7292$var$rmPadding","$d26d8b510bde7292$var$constructLength","octets","slen","toDER","backHalf","$a865080dcef76248$var$assert","$a865080dcef76248$var$parseBytes","$1D85n","$7XcGE","$a865080dcef76248$var$EDDSA","pointClass","encodingLength","secret","keyFromSecret","hashInt","messagePrefix","R","Rencoded","encodePoint","s_","pubBytes","S","makeSignature","SG","RplusAh","fromSecret","lastIx","normed","xIsOdd","encodeInt","decodeInt","isPoint","$12ffb49ca423a34b$var$assert","$12ffb49ca423a34b$var$parseBytes","$12ffb49ca423a34b$var$cachedProperty","$12ffb49ca423a34b$var$KeyPair","_secret","_pub","_pubBytes","privBytes","getSecret","$5ca7e26f93e1a560$var$assert","$5ca7e26f93e1a560$var$cachedProperty","$5ca7e26f93e1a560$var$parseBytes","$5ca7e26f93e1a560$var$Signature","_R","_S","_Rencoded","_Sencoded","Sencoded","toBytes","resp","$c9ea6eb6e1b0be83$require$Buffer","$1U9GM","$c9ea6eb6e1b0be83$var$crypto","generated","$1632896ed805433d$var$Buffer","$1632896ed805433d$var$copyProps","$1632896ed805433d$var$SafeBuffer","SlowBuffer","$781289dd73a1c17e$require$Buffer","$781289dd73a1c17e$var$isHexPrefixed","$781289dd73a1c17e$var$padToEven","superset","subset","stringValue","allowEmpty","$81414d3539e03a13$require$Buffer","$81414d3539e03a13$var$__values","__values","$81414d3539e03a13$var$__read","bufArrToArr","arrToBufArr","validateNoLeadingZeroes","baToJSON","addHexPrefix","toUnsigned","fromSigned","bufferToInt","unpadHexString","unpadArray","unpadBuffer","setLengthRight","setLengthLeft","intToBuffer","intToHex","isSafeInteger","$81414d3539e03a13$var$setLength","$81414d3539e03a13$var$stripZeros","assertIsArray","bufferVal","ba","e_1","_b","entries","_c","e_1_1","return","$81414d3539e03a13$var$arrToBufArr","$81414d3539e03a13$var$bufArrToArr","$553d04ab4f0b6098$require$Buffer","$c32b60c1ed6688ec$require$Buffer","ripemd160FromArray","ripemd160FromString","sha256FromArray","sha256FromString","keccakFromArray","keccakFromHexString","$bnmFi","$1R2J7","keccak224","keccak384","keccak512","$c32b60c1ed6688ec$var$_sha256","$c32b60c1ed6688ec$var$_ripemd160","padded","$7udHx","$X8PsT","createHashFunction","$5735f68b0150732d$require$Buffer","hashConstructor","$lO6fo","$4jc6M","KeccakState","Keccak","Shake","algorithm","$fe031d0e6064652e$require$Buffer","$fe031d0e6064652e$require$Transform","$b6RFW","Transform","rate","capacity","delimitedSuffix","hashBitLength","_rate","_capacity","_delimitedSuffix","_hashBitLength","_options","_state","initialize","_finalized","_transform","chunk","_flush","absorb","absorbLastFewBits","squeeze","_resetState","_clone","Stream","Readable","Writable","Duplex","PassThrough","finished","pipeline","$9845726cca5dc7eb$var$Duplex","$9845726cca5dc7eb$var$debug","$9845726cca5dc7eb$var$StringDecoder","$9845726cca5dc7eb$var$createReadableStreamAsyncIterator","$9845726cca5dc7eb$var$from","$9845726cca5dc7eb$var$Readable","ReadableState","$9845726cca5dc7eb$var$ReadableState","$7etJZ","EventEmitter","$9845726cca5dc7eb$var$EElistenerCount","$jfAlf","$9845726cca5dc7eb$require$Buffer","$9845726cca5dc7eb$var$OurUint8Array","$kjyEk","$bF5dL","$fMCbt","$9845726cca5dc7eb$var$getHighWaterMark","$04a3B","getHighWaterMark","$9845726cca5dc7eb$require$_require$codes","$6JySE","$9845726cca5dc7eb$var$ERR_INVALID_ARG_TYPE","$9845726cca5dc7eb$var$ERR_STREAM_PUSH_AFTER_EOF","ERR_STREAM_PUSH_AFTER_EOF","$9845726cca5dc7eb$var$ERR_METHOD_NOT_IMPLEMENTED","ERR_METHOD_NOT_IMPLEMENTED","$9845726cca5dc7eb$var$ERR_STREAM_UNSHIFT_AFTER_END_EVENT","ERR_STREAM_UNSHIFT_AFTER_END_EVENT","$9845726cca5dc7eb$var$errorOrDestroy","errorOrDestroy","$9845726cca5dc7eb$var$kProxyEvents","isDuplex","objectMode","readableObjectMode","highWaterMark","pipes","pipesCount","flowing","ended","endEmitted","reading","sync","needReadable","emittedReadable","readableListening","resumeScheduled","paused","emitClose","autoDestroy","destroyed","defaultEncoding","awaitDrain","readingMore","decoder","StringDecoder","_readableState","readable","_read","destroy","_destroy","$9845726cca5dc7eb$var$readableAddChunk","addToFront","skipChunkCheck","er","$9845726cca5dc7eb$var$onEofChunk","$9845726cca5dc7eb$var$emitReadable","$9845726cca5dc7eb$var$emitReadable_","$9845726cca5dc7eb$var$addChunk","$9845726cca5dc7eb$var$maybeReadMore","$9845726cca5dc7eb$var$howMuchToRead","head","$9845726cca5dc7eb$var$flow","$9845726cca5dc7eb$var$maybeReadMore_","$9845726cca5dc7eb$var$updateReadableListening","self1","listenerCount","resume","$9845726cca5dc7eb$var$nReadingNextTick","$9845726cca5dc7eb$var$resume_","$9845726cca5dc7eb$var$fromList","clear","consume","$9845726cca5dc7eb$var$endReadable","$9845726cca5dc7eb$var$endReadableNT","wState","_writableState","$9845726cca5dc7eb$var$indexOf","xs","_undestroy","undestroy","isPaused","setEncoding","nOrig","doRead","pipe","pipeOpts","endFn","doEnd","stdout","unpipe","onend","onunpipe","unpipeInfo","hasUnpiped","onclose","onfinish","ondrain","onerror","ondata","cleanedUp","needDrain","pause","$9845726cca5dc7eb$var$prependListener","_events","dests","ev","wrap","asyncIterator","_fromList","iterable","$5440e9199a418654$var$ReflectOwnKeys","$5440e9199a418654$var$R","$5440e9199a418654$var$ReflectApply","$5440e9199a418654$var$NumberIsNaN","$5440e9199a418654$var$EventEmitter","errorListener","resolver","$5440e9199a418654$var$eventTargetAgnosticAddListener","_eventsCount","_maxListeners","$5440e9199a418654$var$defaultMaxListeners","$5440e9199a418654$var$checkListener","listener","$5440e9199a418654$var$_getMaxListeners","defaultMaxListeners","$5440e9199a418654$var$_addListener","prepend","newListener","existing","$5440e9199a418654$var$onceWrapper","fired","wrapFn","$5440e9199a418654$var$_onceWrap","wrapped","$5440e9199a418654$var$_listeners","unwrap","evlistener","$5440e9199a418654$var$unwrapListeners","$5440e9199a418654$var$arrayClone","$5440e9199a418654$var$listenerCount","addEventListener","wrapListener","removeEventListener","setMaxListeners","getMaxListeners","doError","context","handler","originalListener","$5440e9199a418654$var$spliceOne","rawListeners","eventNames","$87d792cd1b95f90e$var$ownKeys","enumerableOnly","symbols","$87d792cd1b95f90e$var$_objectSpread","$87d792cd1b95f90e$var$_toPropertyKey","$87d792cd1b95f90e$var$_defineProperties","$87d792cd1b95f90e$var$_toPrimitive","$87d792cd1b95f90e$var$Buffer","$87d792cd1b95f90e$var$inspect","$87d792cd1b95f90e$var$custom","BufferList","$87d792cd1b95f90e$var$_classCallCheck","tail","entry","hasStrings","_getString","_getBuffer","nb","$b7d8f541ca4a3ff5$var$emitErrorAndCloseNT","$b7d8f541ca4a3ff5$var$emitErrorNT","$b7d8f541ca4a3ff5$var$emitCloseNT","readableDestroyed","writableDestroyed","errorEmitted","ending","finalCalled","prefinished","rState","$00c82cf8dac417cf$var$ERR_INVALID_OPT_VALUE","ERR_INVALID_OPT_VALUE","duplexKey","hwm","$4e720097bc0bc9d8$export$e45cb6485273080e","$4e720097bc0bc9d8$var$codes","$4e720097bc0bc9d8$var$createErrorType","$4e720097bc0bc9d8$var$oneOf","$4e720097bc0bc9d8$var$includes","$076d08b0309449dc$var$objectKeys","$076d08b0309449dc$var$Duplex","$d4xg3","$3LwY7","$076d08b0309449dc$var$keys","$076d08b0309449dc$var$v","$076d08b0309449dc$var$method","allowHalfOpen","$076d08b0309449dc$var$onend","$076d08b0309449dc$var$onEndNT","getBuffer","$2bdf55c2c4f390d3$var$Duplex","$2bdf55c2c4f390d3$var$realHasInstance","$2bdf55c2c4f390d3$var$CorkedRequest","finish","$2bdf55c2c4f390d3$var$onCorkedFinish","corkReq","pendingcb","corkedRequestsFree","$2bdf55c2c4f390d3$var$Writable","WritableState","$2bdf55c2c4f390d3$var$WritableState","$2bdf55c2c4f390d3$var$internalUtil","$2bdf55c2c4f390d3$require$Buffer","$2bdf55c2c4f390d3$var$OurUint8Array","$2bdf55c2c4f390d3$var$getHighWaterMark","$2bdf55c2c4f390d3$require$_require$codes","$2bdf55c2c4f390d3$var$ERR_INVALID_ARG_TYPE","$2bdf55c2c4f390d3$var$ERR_METHOD_NOT_IMPLEMENTED","$2bdf55c2c4f390d3$var$ERR_MULTIPLE_CALLBACK","ERR_MULTIPLE_CALLBACK","$2bdf55c2c4f390d3$var$ERR_STREAM_CANNOT_PIPE","ERR_STREAM_CANNOT_PIPE","$2bdf55c2c4f390d3$var$ERR_STREAM_DESTROYED","ERR_STREAM_DESTROYED","$2bdf55c2c4f390d3$var$ERR_STREAM_NULL_VALUES","ERR_STREAM_NULL_VALUES","$2bdf55c2c4f390d3$var$ERR_STREAM_WRITE_AFTER_END","ERR_STREAM_WRITE_AFTER_END","$2bdf55c2c4f390d3$var$ERR_UNKNOWN_ENCODING","ERR_UNKNOWN_ENCODING","$2bdf55c2c4f390d3$var$errorOrDestroy","$2bdf55c2c4f390d3$var$nop","writableObjectMode","noDecode","decodeStrings","writing","corked","bufferProcessing","onwrite","$2bdf55c2c4f390d3$var$onwrite","writecb","writelen","$2bdf55c2c4f390d3$var$finishMaybe","$2bdf55c2c4f390d3$var$needFinish","bufferedRequest","$2bdf55c2c4f390d3$var$clearBuffer","$2bdf55c2c4f390d3$var$afterWrite","lastBufferedRequest","bufferedRequestCount","_write","writev","_writev","final","_final","$2bdf55c2c4f390d3$var$doWrite","holder","allBuffers","isBuf","$2bdf55c2c4f390d3$var$callFinal","need","hasInstance","$2bdf55c2c4f390d3$var$writeOrBuffer","newChunk","cork","uncork","setDefaultEncoding","$24ba9cfc39d77116$var$config","localStorage","$ac6f3d51130904be$export$63a7aa211a91ed69","$ac6f3d51130904be$require$Buffer","$ac6f3d51130904be$var$isEncoding","$ac6f3d51130904be$var$StringDecoder","$ac6f3d51130904be$var$normalizeEncoding","nenc","$ac6f3d51130904be$var$_normalizeEncoding","retried","text","$ac6f3d51130904be$var$utf16Text","$ac6f3d51130904be$var$utf16End","fillLast","$ac6f3d51130904be$var$utf8FillLast","$ac6f3d51130904be$var$base64Text","$ac6f3d51130904be$var$base64End","$ac6f3d51130904be$var$simpleWrite","$ac6f3d51130904be$var$simpleEnd","lastNeed","lastTotal","lastChar","$ac6f3d51130904be$var$utf8CheckByte","byte","$ac6f3d51130904be$var$utf8CheckExtraBytes","$ac6f3d51130904be$var$utf8CheckIncomplete","$21db958e3a099d7d$var$_Object$setPrototypeO","$21db958e3a099d7d$var$_defineProperty","$21db958e3a099d7d$var$_toPrimitive","$fiCvv","$21db958e3a099d7d$var$kLastResolve","$21db958e3a099d7d$var$kLastReject","$21db958e3a099d7d$var$kError","$21db958e3a099d7d$var$kEnded","$21db958e3a099d7d$var$kLastPromise","$21db958e3a099d7d$var$kHandlePromise","$21db958e3a099d7d$var$kStream","$21db958e3a099d7d$var$createIterResult","$21db958e3a099d7d$var$readAndResolve","$21db958e3a099d7d$var$onReadable","$21db958e3a099d7d$var$AsyncIteratorPrototype","$21db958e3a099d7d$var$ReadableStreamAsyncIteratorPrototype","lastPromise","_this2","_Object$create","$b236683171fcb6ee$var$ERR_STREAM_PREMATURE_CLOSE","ERR_STREAM_PREMATURE_CLOSE","$b236683171fcb6ee$var$noop","$b236683171fcb6ee$var$eos","called","onlegacyfinish","writableEnded","readableEnded","onrequest","req","setHeader","abort","$8180203f7f0d3074$var$Transform","$8180203f7f0d3074$require$_require$codes","$8180203f7f0d3074$var$ERR_METHOD_NOT_IMPLEMENTED","$8180203f7f0d3074$var$ERR_MULTIPLE_CALLBACK","$8180203f7f0d3074$var$ERR_TRANSFORM_ALREADY_TRANSFORMING","ERR_TRANSFORM_ALREADY_TRANSFORMING","$8180203f7f0d3074$var$ERR_TRANSFORM_WITH_LENGTH_0","ERR_TRANSFORM_WITH_LENGTH_0","$DwJuQ","$8180203f7f0d3074$var$afterTransform","ts","_transformState","transforming","writechunk","rs","afterTransform","needTransform","writeencoding","flush","$8180203f7f0d3074$var$prefinish","$8180203f7f0d3074$var$done","err2","$34c74be520d619f2$var$PassThrough","$b7kl8","$7c881fce7a4fadf1$var$eos","$7c881fce7a4fadf1$require$_require$codes","$7c881fce7a4fadf1$var$ERR_MISSING_ARGS","$7c881fce7a4fadf1$var$ERR_STREAM_DESTROYED","$7c881fce7a4fadf1$var$noop","$7c881fce7a4fadf1$var$call","$7c881fce7a4fadf1$var$pipe","streams","destroys","closed","$323254414dacbac4$require$Buffer","$323254414dacbac4$require$Transform","dataByteLength","$f5185be9cd3a5624$require$Buffer","$93Kfq","$f5185be9cd3a5624$var$Keccak","squeezing","p1600","$698844b958219b6e$export$471358fe9e8379c0","$698844b958219b6e$var$P1600_ROUND_CONSTANTS","lo0","hi0","lo1","hi1","lo2","hi2","lo3","hi3","lo4","hi4","t1slo0","t1shi0","t1slo5","t1shi5","t1slo10","t1shi10","t1slo15","t1shi15","t1slo20","t1shi20","t1slo1","t1shi1","t1slo6","t1shi6","t1slo11","t1shi11","t1slo16","t1shi16","t1slo21","t1shi21","t1slo2","t1shi2","t1slo7","t1shi7","t1slo12","t1shi12","t1slo17","t1shi17","t1slo22","t1shi22","t1slo3","t1shi3","t1slo8","t1shi8","t1slo13","t1shi13","t1slo18","t1shi18","t1slo23","t1shi23","t1slo4","t1shi4","t1slo9","t1shi9","t1slo14","t1shi14","t1slo19","t1shi19","t1slo24","t1shi24","t2slo16","t2shi16","t2slo7","t2shi7","t2slo23","t2shi23","t2slo14","t2shi14","t2slo10","t2shi10","t2slo1","t2shi1","t2slo17","t2shi17","t2slo8","t2shi8","t2slo24","t2shi24","t2slo20","t2shi20","t2slo11","t2shi11","t2slo2","t2shi2","t2slo18","t2shi18","t2slo9","t2shi9","t2slo5","t2shi5","t2slo21","t2shi21","t2slo12","t2shi12","t2slo3","t2shi3","t2slo19","t2shi19","t2slo15","t2shi15","t2slo6","t2shi6","t2slo22","t2shi22","t2slo13","t2shi13","t2slo4","t2shi4","t2slo0","t2shi0","$loYLU","$a8qBR","$5Z1sR","$26nOC","$159cdb2c74f453a8$var$Hash","_hash","alg","$eLdEM","$f94afad95abc0930$require$Buffer","$f94afad95abc0930$var$ARRAY16","$f94afad95abc0930$var$MD5","$f94afad95abc0930$var$rotl","$f94afad95abc0930$var$fnF","$f94afad95abc0930$var$fnG","$f94afad95abc0930$var$fnH","$f94afad95abc0930$var$fnI","M","_block","_blockOffset","_length","$abf00c68ae11d39d$require$Buffer","$abf00c68ae11d39d$require$Transform","$abf00c68ae11d39d$var$HashBase","_blockSize","$abf00c68ae11d39d$var$throwIfNotStringOrBuffer","block","$760f4ae3157f7f0b$require$Buffer","$760f4ae3157f7f0b$var$ARRAY16","$760f4ae3157f7f0b$var$zl","$760f4ae3157f7f0b$var$zr","$760f4ae3157f7f0b$var$sl","$760f4ae3157f7f0b$var$sr","$760f4ae3157f7f0b$var$RIPEMD160","$760f4ae3157f7f0b$var$rotl","tl","tr","br","cr","dr","$45b3c90d57600982$var$exports","Algorithm","$O5ywn","$9f0cec708e1f2103$require$Buffer","$9f0cec708e1f2103$var$K","$9f0cec708e1f2103$var$W","$9f0cec708e1f2103$var$Sha","_w","$9f0cec708e1f2103$var$rotl5","H","$0968fae43eb53960$require$Buffer","$0968fae43eb53960$var$Hash","finalSize","_finalSize","assigned","rem","lowBits","highBits","$a22a6de6a357c37a$require$Buffer","$a22a6de6a357c37a$var$K","$a22a6de6a357c37a$var$W","$a22a6de6a357c37a$var$Sha1","$a22a6de6a357c37a$var$rotl5","$3BFQx","$291a9c6c5654a48d$require$Buffer","$291a9c6c5654a48d$var$W","$291a9c6c5654a48d$var$Sha224","_f","_g","_h","$2a05499bef58a0cf$require$Buffer","$2a05499bef58a0cf$var$K","$2a05499bef58a0cf$var$W","$2a05499bef58a0cf$var$Sha256","$2a05499bef58a0cf$var$gamma1","$2a05499bef58a0cf$var$sigma0","$bZI17","$01052ce47f94a5df$require$Buffer","$01052ce47f94a5df$var$W","$01052ce47f94a5df$var$Sha384","_ah","_bh","_ch","_dh","_eh","_fh","_gh","_hh","_al","_bl","_cl","_dl","_el","_fl","_gl","_hl","writeInt64BE","$8bb7891960962038$require$Buffer","$8bb7891960962038$var$K","$8bb7891960962038$var$W","$8bb7891960962038$var$Sha512","$8bb7891960962038$var$sigma0","$8bb7891960962038$var$sigma1","$8bb7891960962038$var$getCarry","gamma0","gamma0l","gamma1","gamma1l","Wi7h","Wi7l","Wi16h","Wi16l","Wil","Wih","majh","majl","sigma0h","sigma0l","sigma1h","sigma1l","Kih","Kil","chh","chl","t1l","t1h","t2l","t2h","$187e9d8dfda3dbba$require$Buffer","$187e9d8dfda3dbba$require$Transform","$ioRHp","$187e9d8dfda3dbba$require$StringDecoder","$eNRCS","$187e9d8dfda3dbba$var$CipherBase","hashMode","_finalOrDigest","__final","_decoder","_encoding","inputEnc","outputEnc","outData","_toString","setAutoPadding","getAuthTag","setAuthTag","setAAD","fin","$d6541f691ffb0af6$var$Stream","$d6541f691ffb0af6$require$EE","_isStdio","didOnEnd","cleanup","$abf44dff9428eb2b$var$TypeOutput","$abf44dff9428eb2b$require$Buffer","bnToRlp","bnToHex","$abf44dff9428eb2b$var$bnToUnpaddedBuffer","outputType","$7eccedcfb056007a$require$Buffer","$7eccedcfb056007a$var$__importDefault","Address","$7eccedcfb056007a$var$assert_1","$idiNS","$7eccedcfb056007a$var$Address","fromString","fromPublicKey","fromPrivateKey","generate2","isPrecompileOrSystemAddress","addressBN","rangeMin","rangeMax","$4756fda0b84972b4$require$Buffer","hashPersonalMessage","isValidSignature","fromRpcSig","toCompactSig","toRpcSig","ecrecover","ecsign","$4756fda0b84972b4$var$calculateSigRecovery","vBN","chainIdBN","$4756fda0b84972b4$var$isValidSigRecovery","recovery","rec","msgHash","senderPubKey","vn","ss","homesteadOrLater","SECP256K1_N_DIV_2","SECP256K1_N","rBN","sBN","$94c1f52609770e02$require$Buffer","$94c1f52609770e02$var$__importDefault","$94c1f52609770e02$var$assert_1","fields","_fields","obj_1","field","setter","allowZero","allowLess","keys_1","$h9flZ","$241c1b70d6ad639f$var$isBloom","$241c1b70d6ad639f$var$isInBloom","bitpos","$241c1b70d6ad639f$var$codePointToInt","$241c1b70d6ad639f$var$isTopic","$241c1b70d6ad639f$var$isAddress","$1IGmO","$c7bf2fe088bee087$var$toByteArray","$c7bf2fe088bee087$var$addSlice","$c7bf2fe088bee087$var$isByteArray","keccak_256","INPUT_ERROR","WINDOW","JS_SHA3_NO_WINDOW","WEB_WORKER","JS_SHA3_NO_NODE_JS","node","COMMON_JS","JS_SHA3_NO_COMMON_JS","AMD","define","amd","ARRAY_BUFFER","JS_SHA3_NO_ARRAY_BUFFER","HEX_CHARS","CSHAKE_PADDING","SHIFT","RC","BITS","SHAKE_BITS","OUTPUT_TYPES","CSHAKE_BYTEPAD","JS_SHA3_NO_ARRAY_BUFFER_IS_VIEW","createOutputMethod","createShakeOutputMethod","outputBits","createCshakeOutputMethod","methods","createKmacOutputMethod","createOutputMethods","createMethod","algorithms","bytepad","Kmac","methodNames","newMethodName","blocks","reset","finalized","blockCount","outputBlocks","notString","lastByteIndex","encodeString","strs","paddingBytes","finalize","arrayBuffer","c0","c3","c4","c5","c6","c7","c9","b10","b11","b12","b13","b14","b15","b16","b17","b18","b19","b20","b21","b22","b23","b24","b25","b26","b27","b28","b29","b30","b31","b32","b33","b34","b35","b36","b37","b38","b39","b40","b41","b42","b43","b44","b45","b46","b47","b48","b49","$c44883bae11db1a7$var$_elementaryName","$c44883bae11db1a7$var$_parseTypeN","typesize","$c44883bae11db1a7$var$_parseTypeNArray","arraySize","$c44883bae11db1a7$var$_parseNumber","$c44883bae11db1a7$var$_solidityPack","$c44883bae11db1a7$var$_processSolidityEncodePackedArgs","hexArg","hexArgs","$8dfe73ccb1b5c36c$var$__importDefault","getEip712MessageTypes","EIP712_DOMAIN","EIP712_DOMAIN_BEFORE_V130","$8dfe73ccb1b5c36c$var$satisfies_1","$8dfe73ccb1b5c36c$var$EQ_OR_GT_1_3_0","$8dfe73ccb1b5c36c$var$getEip712MessageTypes","eip712WithChainId","EIP712Domain","safeAddress","verifyingContract","primaryType","$2bwZd","range","$1976323f18191b36$var$Range","$aWnqj","loose","includePrerelease","$azCrR","parseRange","$1976323f18191b36$var$isNullSet","$1976323f18191b36$var$isAny","memoOpts","$1976323f18191b36$require$FLAG_INCLUDE_PRERELEASE","$1976323f18191b36$require$FLAG_LOOSE","memoKey","cached","$1976323f18191b36$var$cache","hr","$1976323f18191b36$require$re","$1976323f18191b36$require$t","HYPHENRANGELOOSE","HYPHENRANGE","$afJI7","$1976323f18191b36$var$hyphenReplace","COMPARATORTRIM","$1976323f18191b36$require$comparatorTrimReplace","rangeList","TILDETRIM","$1976323f18191b36$require$tildeTrimReplace","CARETTRIM","$1976323f18191b36$require$caretTrimReplace","comp","$1976323f18191b36$var$parseComparator","$1976323f18191b36$var$replaceGTE0","COMPARATORLOOSE","rangeMap","comparators","intersects","thisComparators","$1976323f18191b36$var$isSatisfiable","rangeComparators","every","thisComparator","rangeComparator","$8YHM6","$1976323f18191b36$var$testSet","$bnToR","$1RjJH","comparatorTrimReplace","tildeTrimReplace","caretTrimReplace","$hScrW","FLAG_INCLUDE_PRERELEASE","FLAG_LOOSE","remainingComparators","testComparator","otherComparator","$1976323f18191b36$var$replaceCarets","$1976323f18191b36$var$replaceTildes","$1976323f18191b36$var$replaceXRanges","$1976323f18191b36$var$replaceStars","$1976323f18191b36$var$isX","$1976323f18191b36$var$replaceTilde","TILDELOOSE","TILDE","pr","$1976323f18191b36$var$replaceCaret","CARETLOOSE","CARET","$1976323f18191b36$var$replaceXRange","XRANGELOOSE","XRANGE","gtlt","xM","xm","STAR","GTE0PRE","GTE0","incPr","$0","fM","fm","fp","fpr","fb","tM","tm","tp","tpr","tb","prerelease","semver","ANY","allowed","major","minor","patch","$276rC","$849cd0fb8cde656f$var$MAX","$849cd0fb8cde656f$var$LENGTH","$849cd0fb8cde656f$var$LENGTH_CALCULATOR","$849cd0fb8cde656f$var$ALLOW_STALE","$849cd0fb8cde656f$var$MAX_AGE","$849cd0fb8cde656f$var$DISPOSE","$849cd0fb8cde656f$var$NO_DISPOSE_ON_SET","$849cd0fb8cde656f$var$LRU_LIST","$849cd0fb8cde656f$var$CACHE","$849cd0fb8cde656f$var$UPDATE_AGE_ON_GET","$849cd0fb8cde656f$var$naiveLength","$849cd0fb8cde656f$var$get","doUse","hit","$849cd0fb8cde656f$var$isStale","$849cd0fb8cde656f$var$del","now","unshiftNode","maxAge","$849cd0fb8cde656f$var$trim","walker","removeNode","$849cd0fb8cde656f$var$Entry","$849cd0fb8cde656f$var$forEachStep","thisp","lc","stale","dispose","noDisposeOnSet","updateAgeOnGet","mL","allowStale","mA","lengthCalculator","lC","itemCount","rforEach","dump","dumpLru","peek","del","load","expiresAt","prune","$18a13beff4a92103$var$Yallist","$18a13beff4a92103$var$Node","Node","pushNode","forEachReverse","getReverse","mapReverse","reduceReverse","toArrayReverse","sliceReverse","deleteCount","nodes","$18a13beff4a92103$var$insert","inserted","Yallist","$7f717d88df5e6ad4$var$looseOption","$7f717d88df5e6ad4$var$emptyOpts","$7b2aff5167b0c747$var$ANY","$7b2aff5167b0c747$var$Comparator","$7b2aff5167b0c747$require$re","$7b2aff5167b0c747$require$t","COMPARATOR","$Zfh0y","$15aa0cdd8303195c$require$MAX_SAFE_COMPONENT_LENGTH","MAX_SAFE_COMPONENT_LENGTH","createToken","isGlobal","NUMERICIDENTIFIER","NUMERICIDENTIFIERLOOSE","NONNUMERICIDENTIFIER","PRERELEASEIDENTIFIER","PRERELEASEIDENTIFIERLOOSE","BUILDIDENTIFIER","MAINVERSION","PRERELEASE","BUILD","FULLPLAIN","MAINVERSIONLOOSE","PRERELEASELOOSE","LOOSEPLAIN","XRANGEIDENTIFIER","XRANGEIDENTIFIERLOOSE","GTLT","XRANGEPLAIN","XRANGEPLAINLOOSE","COERCE","LONETILDE","LONECARET","$d031230bc4d347bb$var$MAX_SAFE_INTEGER","MAX_LENGTH","RELEASE_TYPES","SEMVER_SPEC_VERSION","$776ec34412b4d4d7$var$debug","$4rHoZ","$5cTal","$ezqsK","$6UaFa","$7yK7E","$9azxQ","$cUCev","$6895e21e7fa6897f$require$MAX_LENGTH","$6895e21e7fa6897f$require$MAX_SAFE_INTEGER","$6895e21e7fa6897f$require$re","$6895e21e7fa6897f$require$t","$6895e21e7fa6897f$require$compareIdentifiers","$g1Y8Y","compareIdentifiers","$6895e21e7fa6897f$var$SemVer","LOOSE","FULL","build","compareMain","comparePre","compareBuild","inc","release","identifier","identifierBase","$babb649e0411d836$var$numeric","$babb649e0411d836$var$compareIdentifiers","anum","bnum","rcompareIdentifiers","SAFE_FEATURES","$0cf68b98e69d8d9e$var$SAFE_FEATURES","$0cf68b98e69d8d9e$var$__importDefault","hasSafeFeature","$0cf68b98e69d8d9e$var$satisfies_1","$0cf68b98e69d8d9e$var$SAFE_FEATURES_BY_VERSION","SAFE_TX_GAS_OPTIONAL","SAFE_TX_GUARDS","SAFE_FALLBACK_HANDLER","ETH_SIGN","ACCOUNT_ABSTRACTION","feature","$81cfc22c27a62cbc$var$__createBinding","$81cfc22c27a62cbc$var$__exportStar","EthSafeSignature","staticPart","dynamicPart","$e64e59ee28c3af17$require$Buffer","generateEIP712Signature","generateSignature","adjustVInSignature","isTxHashSignedWithPrefix","generatePreValidatedSignature","$gOIod","$MGmAF","$e64e59ee28c3af17$var$isTxHashSignedWithPrefix","txHash","rsvSig","recoveredData","recoveredAddress","$e64e59ee28c3af17$var$generateSignature","ethAdapter","signerAddress","$e64e59ee28c3af17$var$generateEIP712Signature","methodVersion","signingMethod","safeTxHash","signatureV","ETHEREUM_V_VALUES","adjustedSignature","signatureHasPrefix","$60e6ddc0bca6e318$var$__createBinding","$60e6ddc0bca6e318$var$__exportStar","estimateTxGas","$5xott","$7c1e8ff321344104$var$estimateTxGas","safeContract","valueInWei","txGasEstimation","estimateData","estimateResponse","dataGasEstimation","accumulator","currentValue","additionalGas","OperationType","DelegateCall","$408304eed134257c$var$__createBinding","$408304eed134257c$var$__exportStar","signatures","addSignature","signers","sort","staticParts","dynamicParts","isSafeMultisigTransactionResponse","isMetaTransactionArray","decodeMultiSendData","encodeMultiSendData","standardizeSafeTransactionData","standardizeMetaTransactionData","$kzlBy","$iYAoV","$aEGrt","$2c22f649791964c2$var$standardizeSafeTransactionData","predictedSafe","standardizedTxs","Call","safeDeploymentConfig","hasSafeTxGasOptional","txs","$2c22f649791964c2$var$encodeMetaTransaction","encoded","pack","encodedData","multiSendInterface","Interface","decodedData","decodeFunctionData","dataLength","safeTransactions","isExecuted","$ef97d5c3a9a93354$export$c2ab6499be98b3c5","$ef97d5c3a9a93354$export$7a3223b0fadb690b","$ef97d5c3a9a93354$export$8ef99100a3c56f8c","$ef97d5c3a9a93354$export$48cefb51a4e315b2","$bVwUc","$aIo2D","$2yhyU","$45kY3","$bB9qw","$aBVaX","$ef97d5c3a9a93354$var$logger","Description","$ef97d5c3a9a93354$export$cfba08fc0e40e2ab","isIndexed","_isIndexed","$ef97d5c3a9a93354$var$BuiltinErrors","$ef97d5c3a9a93354$var$wrapAccessError","property","fragments","abi","fragment","Fragment","getStatic","bucket","deploy","functions","ConstructorFragment","payable","FormatTypes","full","sighash","getAbiCoder","defaultAbiCoder","getSighash","hexDataSlice","getEventTopic","eventFragment","getFunction","nameOrSignatureOrSighash","matching","FunctionFragment","getEvent","nameOrSignatureOrTopic","topichash","EventFragment","getError","_decodeParams","_abiCoder","_encodeParams","encodeDeploy","decodeErrorResult","encodeErrorResult","functionFragment","decodeFunctionResult","errorArgs","errorName","errorSignature","_getWordSize","outputs","selector","builtin","encodeFunctionResult","encodeFilterTopics","topics","anonymous","encodeTopic","hexZeroPad","indexed","baseType","encodeEventLog","dataTypes","dataValues","decodeEventLog","topicHash","nonIndexed","dynamic","ParamType","fromObject","resultIndexed","resultNonIndexed","nonIndexedIndex","indexedIndex","parseTransaction","parseLog","parseError","hexData","errorFragment","isInterface","_isInterface","$8aee8aee2d40605d$export$88411125f012957a","$8aee8aee2d40605d$export$977e255126d763d6","$8aee8aee2d40605d$export$962c4ddada9f668f","$8aee8aee2d40605d$export$b7fbffef12272e40","$8aee8aee2d40605d$export$e0b22d96621f73a2","$9BTKH","$kFJax","$8aee8aee2d40605d$var$logger","$8aee8aee2d40605d$var$getChecksumAddress","expanded","hashed","$8aee8aee2d40605d$var$ibanLookup","$8aee8aee2d40605d$var$safeDigits","log10","LN10","$8aee8aee2d40605d$var$ibanChecksum","checksum","_base36To16","base36","_base16To36","stripZeros","initCodeHash","hexDataLength","$1dbc6131e27af3ca$export$f8151fce47ad1c35","$6ff2d0f6bfa15181$export$c564cdbbe6da493","$6ff2d0f6bfa15181$export$2f872c0f2117be69","$bcrL7","$6ff2d0f6bfa15181$var$logger","$6ff2d0f6bfa15181$var$arrayifyInteger","$6ff2d0f6bfa15181$var$unarrayifyInteger","$6ff2d0f6bfa15181$var$_encode","payload","child","isBytesLike","$6ff2d0f6bfa15181$var$_decodeChildren","childOffset","$6ff2d0f6bfa15181$var$_decode","consumed","BUFFER_OVERRUN","lengthLength","$82765913239667f9$export$83d89fbfd8236492","$f0caac95ce71359f$export$83d89fbfd8236492","$7cd0a9996bd6b341$export$d560c7e4a29451c2","$fkVsY","toUtf8Bytes","$b2a54ce293d87a2e$export$c6986442964129f5","$b2a54ce293d87a2e$export$c285fa6ac15ff6a6","$b2a54ce293d87a2e$export$c6e2180c5bb5bc05","$b2a54ce293d87a2e$export$8feeb310b4b4752f","$b2a54ce293d87a2e$export$a7a0ec15960b9055","$b2a54ce293d87a2e$export$232e1dab03132235","$b2a54ce293d87a2e$export$7643a1dc2c38d5eb","$b2a54ce293d87a2e$export$ae470a36a31b28c2","UnicodeNormalizationForm","Utf8ErrorReason","$lrjmA","$b2a54ce293d87a2e$var$logger","$b2a54ce293d87a2e$var$ignoreFunc","badCodepoint","BAD_PREFIX","UNEXPECTED_CONTINUE","OVERRUN","ignore","OVERLONG","$b2a54ce293d87a2e$var$getUtf8CodePoints","onError","extraLength","overlongMask","nextChar","MISSING_CONTINUE","OUT_OF_RANGE","UTF16_SURROGATE","$b2a54ce293d87a2e$var$escapeChar","$f9bb23bb4b058849$export$83d89fbfd8236492","$2f97e4c6f3904f5b$export$fe041e1a83d3efc6","$2f97e4c6f3904f5b$export$51d1cfcdb913adff","$3Mwuv","$306EP","$dZXkS","$4V4hc","$9siMZ","$dr1ok","$bGn0W","$lrGft","$cpHaC","$h11H8","$2f97e4c6f3904f5b$var$logger","$2f97e4c6f3904f5b$var$paramTypeBytes","$2f97e4c6f3904f5b$var$paramTypeNumber","coerceFunc","_getCoder","AddressCoder","BooleanCoder","StringCoder","BytesCoder","ArrayCoder","arrayChildren","arrayLength","TupleCoder","component","NullCoder","NumberCoder","FixedBytesCoder","_getReader","allowLoose","Reader","_getWriter","Writer","getDefaultValue","coders","coder","defaultValue","writer","$7b99b6039539a6c4$export$83d89fbfd8236492","$2c0f0ed4c5bed241$export$5546b9ec21157cc2","$2c0f0ed4c5bed241$export$2c0c39526f8bad46","$2c0f0ed4c5bed241$export$d7a960146e1a269e","$2c0f0ed4c5bed241$export$2f7a2f0e90c07dc4","$2c0f0ed4c5bed241$var$logger","checkErrors","path","childPath","localName","_throwError","_data","_dataLength","_padding","hexConcat","_writeData","appendWriter","writeBytes","paddingOffset","_getValue","writeValue","writeUpdatableValue","_offset","coerce","_coerceFunc","_peekBytes","alignedLength","subReader","readBytes","readValue","$22f6893c208a0a4e$export$59dbbded7775bfe7","Coder","reader","$a30effb870f18115$export$2a703dbb0cb35339","$a30effb870f18115$export$417857010dc9287f","$a30effb870f18115$export$88bc419d2df11f54","$4Zvuy","$a30effb870f18115$var$logger","arrayValues","unique","staticWriter","dynamicWriter","updateFuncs","dynamicOffset","updateFunc","baseOffset","baseReader","offsetReader","uniqueNames","defaultChild","AnonymousCoder","$3a25498c1332da4a$export$87c41d1139a03fa2","$394fcd7db865fb3c$export$fe9118d6c093150c","$6e254db4e73082b7$export$db9eadd8df12ad2e","$6e254db4e73082b7$export$e5823e9574df18d2","$9c7ee045e883fffe$export$7dec9db68e6bcf5a","$8815781d2f2dcc92$export$70982cadf2d6b4ec","$f9cce4408e3f228e$export$b934dc8cfe13938c","$gVGT9","signed","maxUintValue","MaxUint256","bounds","One","NegativeOne","Zero","$c5333cf79421e056$export$c83ef0909a6ddeec","$c5333cf79421e056$export$aaef8a3eae948f03","$c5333cf79421e056$export$9aa05a5866350bcf","$c5333cf79421e056$export$9276dd97bf62cc8d","$c5333cf79421e056$export$c8db55bd7405209e","$c5333cf79421e056$export$1b53890de5aabdd0","$c5333cf79421e056$export$963c9b9317b80aaf","$c5333cf79421e056$export$6f8dbb07ebe6d738","$90994e88a8e0b05b$export$2d1b854518731426","DynamicBytesCoder","toUtf8String","$c633d82d9fdfc710$export$e9fceba8f110fea6","unpack","$871a765ee5e657d2$export$f010f239efc4d445","$871a765ee5e657d2$export$426dc07f493a4c47","$871a765ee5e657d2$export$ffb0004e005737fa","$871a765ee5e657d2$export$8d576c928b93668f","$871a765ee5e657d2$export$958548f08bac2833","$871a765ee5e657d2$export$3ac5c9504f801ea4","$871a765ee5e657d2$export$2c42c6d543aa9b59","$871a765ee5e657d2$var$logger","$871a765ee5e657d2$var$_constructorGuard","$871a765ee5e657d2$var$ModifiersBytes","calldata","memory","storage","$871a765ee5e657d2$var$ModifiersNest","$871a765ee5e657d2$var$checkModifier","$871a765ee5e657d2$var$populate","minimal","$871a765ee5e657d2$var$paramTypeArray","_isParamType","allowIndexed","isParamType","$871a765ee5e657d2$var$verifyType","$871a765ee5e657d2$var$parseParamType","originalParam","newNode","parent","allowType","allowParams","allowName","allowArray","sibling","readArray","$871a765ee5e657d2$var$parseParams","allowIndex","$871a765ee5e657d2$var$splitNesting","_isFragment","isFragment","isEventFragment","$871a765ee5e657d2$var$verifyIdentifier","$871a765ee5e657d2$var$regexParen","modifier","$871a765ee5e657d2$var$parseGas","gas","$871a765ee5e657d2$var$parseModifiers","constant","stateMutability","$871a765ee5e657d2$var$verifyState","isConstructorFragment","parens","isFunctionFragment","returns","$871a765ee5e657d2$var$checkForbidden","isErrorFragment","$871a765ee5e657d2$var$regexIdentifier","$dd0a1119d94e1d6f$export$2a703dbb0cb35339","$dd0a1119d94e1d6f$export$f8151fce47ad1c35","$dd0a1119d94e1d6f$export$bced8d2aada2d1c9","$g67nD","$6QiU2","$dd0a1119d94e1d6f$var$regexBytes","$dd0a1119d94e1d6f$var$regexNumber","$dd0a1119d94e1d6f$var$regexArray","$dd0a1119d94e1d6f$var$logger","tight","$dd0a1119d94e1d6f$var$_pack","zeroPad","$bb82ee6f1acbd7c8$export$d1cea0ee4e3f0d3e","$bb82ee6f1acbd7c8$export$bced8d2aada2d1c9","$bb82ee6f1acbd7c8$export$a888d2532e6dc7bb","$bb82ee6f1acbd7c8$export$967075d2f3b8e7ff","$iLptM","$aF6L7","$bb82ee6f1acbd7c8$var$logger","SupportedAlgorithm","$da90616c06668669$export$d2a8849cfb277c","$7c32f9e80a4a2783$export$83d89fbfd8236492","$4fb643241867151c$export$83d89fbfd8236492","$5e7afbf6a5c50af4$var$__importDefault","$140z0","$8Nuj2","$82Wpd","$d6MDD","$3o2CW","$dcuKN","$7KTUJ","$jFirz","$99eEw","$2NOmM","$51bJz","$j9o7h","$2Vt7J","$5e7afbf6a5c50af4$var$CompatibilityFallbackHandler_V1_3_0_Ethers_1","$5e7afbf6a5c50af4$var$CreateCallEthersContract_V1_3_0_Ethers_1","$5e7afbf6a5c50af4$var$GnosisSafeContract_V1_0_0_Ethers_1","$5e7afbf6a5c50af4$var$GnosisSafeContract_V1_1_1_Ethers_1","$5e7afbf6a5c50af4$var$GnosisSafeContract_V1_2_0_Ethers_1","$5e7afbf6a5c50af4$var$GnosisSafeContract_V1_3_0_Ethers_1","$5e7afbf6a5c50af4$var$GnosisSafeProxyFactoryContract_V1_0_0_Ethers_1","$5e7afbf6a5c50af4$var$GnosisSafeProxyFactoryContract_V1_1_1_Ethers_1","$5e7afbf6a5c50af4$var$GnosisSafeProxyFactoryContract_V1_3_0_Ethers_1","$5e7afbf6a5c50af4$var$MultiSendContract_V1_1_1_Ethers_1","$5e7afbf6a5c50af4$var$MultiSendContract_V1_3_0_Ethers_1","$5e7afbf6a5c50af4$var$MultiSendCallOnlyContract_V1_3_0_Ethers_1","$5e7afbf6a5c50af4$var$SignMessageLibContract_V1_3_0_Ethers_1","Gnosis_safe__factory","compatibilityFallbackHandlerContract","Compatibility_fallback_handler__factory","multiSendContract","Multi_send__factory","multiSendCallOnlyContract","Multi_send_call_only__factory","gnosisSafeProxyFactoryContract","Proxy_factory__factory","signMessageLibContract","Sign_message_lib__factory","createCallContract","Create_call__factory","$fP04X","$1f1He","$0c669a11061cc1f3$var$_abi","$0c669a11061cc1f3$var$Gnosis_safe__factory","createInterface","Contract","$b84bae218d85c3ca$export$304faa4fc17528db","$b84bae218d85c3ca$export$8517d80acf00e19a","$b84bae218d85c3ca$export$505569a6bf584fd9","$b6M4l","$TyNFl","$jnIQZ","$b84bae218d85c3ca$var$__awaiter","$b84bae218d85c3ca$var$logger","$b84bae218d85c3ca$var$allowedTransactionKeys","accessList","customData","ccipReadEnabled","$b84bae218d85c3ca$var$resolveName","nameOrPromise","$b84bae218d85c3ca$var$resolveAddresses","paramType","$b84bae218d85c3ca$var$populateTransaction","overrides","override","check","resolved","resolvedAddress","accessListify","roValue","leftovers","$b84bae218d85c3ca$var$addContractWait","confirmations","receipt","logs","deepCopy","eventSignature","getBlock","blockHash","getTransactionReceipt","$b84bae218d85c3ca$var$buildCall","collapseSimple","deployTransaction","_deployed","$b84bae218d85c3ca$var$buildDefault","txRequest","$b84bae218d85c3ca$var$getEventTag","$b84bae218d85c3ca$var$RunningEvent","tag","_listeners","argsCopy","prepareEvent","getEmit","$b84bae218d85c3ca$var$ErrorRunningEvent","$b84bae218d85c3ca$var$FragmentRunningEvent","contractInterface","decodeError","checkResultErrors","$b84bae218d85c3ca$var$WildcardRunningEvent","addressOrName","Provider","isProvider","uniqueFilters","filters","uniqueSignatures","$b84bae218d85c3ca$var$buildEstimate","getContractAddress","getInterface","deployed","_deployedPromise","fallback","VoidSigner","attach","Indexed","_normalizeRunningEvent","runningEvent","_runningEvents","_getRunningEvent","eventName","_checkRunningEvents","_wrappedEmits","_wrapEvent","_addEventListener","wrappedEmit","queryFilter","fromBlockOrBlockhash","toBlock","fromBlock","getLogs","bytecode","bytecodeHex","getDeployTransaction","unsignedTx","getContract","fromSolidity","compilerOutput","evm","$81658ac0a17fba50$export$406ece1549ccd00e","$81658ac0a17fba50$export$2881499e37b75b9a","$apA7Z","$81658ac0a17fba50$var$logger","isForkEvent","_isForkEvent","lastBaseFeePerGas","baseFeePerGas","_isProvider","$794843703201998f$export$83d89fbfd8236492","$0a7021bc70fec74d$export$80349e05e0724e11","$0a7021bc70fec74d$export$e67e2732ba9803f9","$0a7021bc70fec74d$export$23cc18f96d8510e2","$0a7021bc70fec74d$export$6c8662b1600dce2","$0a7021bc70fec74d$export$dfdc1655ccc5b9cb","$0a7021bc70fec74d$export$98e6a39c04603d36","TransactionTypes","$lWFPp","$cmrHY","$0a7021bc70fec74d$var$logger","$0a7021bc70fec74d$var$handleAddress","$0a7021bc70fec74d$var$handleNumber","$0a7021bc70fec74d$var$transactionFields","maxLength","numeric","$0a7021bc70fec74d$var$allowedTransactionKeys","computePublicKey","recoverPublicKey","$0a7021bc70fec74d$var$formatNumber","$0a7021bc70fec74d$var$accessSetify","storageKeys","storageKey","localeCompare","$0a7021bc70fec74d$var$formatAccessList","$0a7021bc70fec74d$var$_serializeEip1559","splitSignature","$0a7021bc70fec74d$var$_serializeEip2930","$0a7021bc70fec74d$var$_serialize","checkProperties","fieldInfo","transactionType","$0a7021bc70fec74d$var$_parseEipSignature","rawTransaction","$0a7021bc70fec74d$var$_parse","$0a7021bc70fec74d$var$_parseEip2930","$0a7021bc70fec74d$var$_parseEip1559","$ff9f75f56da7c459$export$21643ca94aed3e83","$ff9f75f56da7c459$export$4a89473d39301224","$ff9f75f56da7c459$export$952dd09fbe0232b7","$8ywx4","$eaG84","$ff9f75f56da7c459$var$logger","$ff9f75f56da7c459$var$_curve","$ff9f75f56da7c459$var$getCurve","EC","_addPoint","p0","signDigest","digestBytes","computeSharedSecret","otherKey","otherKeyPair","isSigningKey","_isSigningKey","signingKey","$63aabbf7dfa8a956$export$129fe12d32abc311","$63aabbf7dfa8a956$var$createCommonjsModule","basedir","require","$63aabbf7dfa8a956$var$commonjsRequire","$63aabbf7dfa8a956$var$minimalisticAssert","$63aabbf7dfa8a956$var$assert","$63aabbf7dfa8a956$var$utils_1","$63aabbf7dfa8a956$var$utils_1$1","$63aabbf7dfa8a956$var$getNAF","$63aabbf7dfa8a956$var$getJSF","$63aabbf7dfa8a956$var$assert$1","$63aabbf7dfa8a956$var$BaseCurve","$63aabbf7dfa8a956$var$BasePoint","$63aabbf7dfa8a956$var$inherits_browser","$63aabbf7dfa8a956$var$assert$2","$63aabbf7dfa8a956$var$ShortCurve","$63aabbf7dfa8a956$var$base","$63aabbf7dfa8a956$var$Point","$63aabbf7dfa8a956$var$JPoint","$63aabbf7dfa8a956$var$curve_1","$63aabbf7dfa8a956$var$curves_1","defineCurve","crash","$63aabbf7dfa8a956$var$HmacDRBG","$63aabbf7dfa8a956$var$assert$3","$63aabbf7dfa8a956$var$KeyPair","$63aabbf7dfa8a956$var$assert$4","$63aabbf7dfa8a956$var$Signature","$63aabbf7dfa8a956$var$Position","$63aabbf7dfa8a956$var$getLength","$63aabbf7dfa8a956$var$rmPadding","$63aabbf7dfa8a956$var$constructLength","$63aabbf7dfa8a956$var$rand","$63aabbf7dfa8a956$var$assert$5","$63aabbf7dfa8a956$var$EC","$63aabbf7dfa8a956$var$key","signature$1","$63aabbf7dfa8a956$var$elliptic_1","elliptic","$a512adda7ad1dfdc$export$83d89fbfd8236492","$8ffd0867b0da9487$export$83d89fbfd8236492","$e1c2f54bf01974f7$export$83d89fbfd8236492","ErrorFragment","_fetchData","fetchJson","poll","defaultPath","HDNode","SigningKey","LogDescription","TransactionDescription","Base58","hexStripZeros","nameprep","_toEscapedUtf8String","toUtf8CodePoints","Utf8ErrorFuncs","formatBytes32String","parseBytes32String","dnsEncode","hashMessage","namehash","isValidName","TypedDataEncoder","getIcapAddress","getCreate2Address","formatEther","parseEther","formatUnits","parseUnits","computeHmac","shuffled","joinSignature","getJsonWalletAddress","computeAddress","recoverAddress","verifyMessage","verifyTypedData","getAccountPath","mnemonicToEntropy","entropyToMnemonic","isValidMnemonic","mnemonicToSeed","$1d2ab8f2156e640e$export$2f872c0f2117be69","$1d2ab8f2156e640e$export$c564cdbbe6da493","textData","atob","btoa","$3fca3a6183b20b71$export$45a587635c9954b2","$3fca3a6183b20b71$export$240043ab8e806ec7","_alphabetMap","digits","_leader","$74ec091a01b8d3e1$export$458ab927ae635c3","$4RnZg","$74ec091a01b8d3e1$var$logger","$74ec091a01b8d3e1$var$padding","$74ec091a01b8d3e1$var$NegativeOne","$74ec091a01b8d3e1$var$Zero","$74ec091a01b8d3e1$var$One","$74ec091a01b8d3e1$var$MaxUint256","$74ec091a01b8d3e1$var$hexTrue","$74ec091a01b8d3e1$var$hexFalse","$74ec091a01b8d3e1$var$domainFieldTypes","$74ec091a01b8d3e1$var$domainFieldNames","$74ec091a01b8d3e1$var$checkString","$74ec091a01b8d3e1$var$domainChecks","$74ec091a01b8d3e1$var$getBaseEncoder","boundsUpper","boundsLower","$74ec091a01b8d3e1$var$hexPadRight","padOffset","$74ec091a01b8d3e1$var$encodeType","links","parents","subtypes","encoder","primaryTypes","checkCircular","subtype","st","_types","getEncoder","_encoderCache","_getEncoder","subEncoder","encodedType","encodeType","encodeData","hashStruct","_visit","visit","getPrimaryType","hashDomain","domainFields","resolveNames","ensCache","getPayload","domainValues","domainTypes","typesWithDomain","$389eb7fe008974da$export$83d89fbfd8236492","$62768931dfa5f58f$export$cce2300886e7ace6","$62768931dfa5f58f$export$91d651ee363e1209","$62768931dfa5f58f$export$6c0a8cdae51cb512","$bxKmK","$62768931dfa5f58f$var$logger","$62768931dfa5f58f$var$Zeros","$62768931dfa5f58f$var$checkComponent","$62768931dfa5f58f$var$ensNameSplit","ens_normalize","$8676be15da7193bb$export$499f715881831a51","$1PDRM","$dZE5a","$8676be15da7193bb$var$r","getData","$8676be15da7193bb$var$VALID","read_member_array","$8676be15da7193bb$var$IGNORED","$8676be15da7193bb$var$MAPPED","read_mapped_map","$8676be15da7193bb$var$EMOJI_ROOT","read_emoji_trie","$8676be15da7193bb$var$explode_cp","$8676be15da7193bb$var$filter_fe0f","cps","cp","$8676be15da7193bb$export$5252e54b57fcf4fd","$8676be15da7193bb$var$normalize","emoji_filter","emoji","$8676be15da7193bb$var$consume_emoji_reversed","eaten","saved","branches","save","fe0f","valid","fromCodePoint","$15597a7af7fcc2e4$export$7a171f172be0782e","$2vfMQ","read_compressed_payload","$a30010648e61cae9$var$flat","flatDeep","$a30010648e61cae9$export$671d8b4ebc0c42ad","$a30010648e61cae9$export$956eeed0f8f2ceff","u16","symbol_count","skip","pos_payload","read_width","read_buffer","read_bit","low","HALF","MASK","$a30010648e61cae9$var$read_ascending","$a30010648e61cae9$export$9303bf4e1ede4914","lookup","vX","vN","$a30010648e61cae9$var$read_counts","$a30010648e61cae9$export$824d00fb01c38bd9","$a30010648e61cae9$var$read_linear_table","dx","dy","$a30010648e61cae9$export$e9011071590ab431","$a30010648e61cae9$var$read_transposed","ys","j_dy","$a30010648e61cae9$var$fromEntries","$a30010648e61cae9$var$read_deltas","$a30010648e61cae9$export$d7b24c6ce369e1b7","$d83cea76876f8e45$export$d4c241cec96564c1","$d830e21df8d45279$export$d48ad89f7e11a603","$d830e21df8d45279$export$b68640c53e22b952","$d830e21df8d45279$export$4becd65eb23312e6","$d830e21df8d45279$export$135e090d58b310ca","$d830e21df8d45279$export$3dee74f1204ab09f","$d830e21df8d45279$export$5eea3393c6119c80","$d830e21df8d45279$export$22b80e4f9eff636d","$5tyfw","$76ZnQ","$hiOO1","$8gKKU","$d830e21df8d45279$var$logger","$d830e21df8d45279$var$N","$d830e21df8d45279$var$MasterSecret","$d830e21df8d45279$var$getUpperMask","$d830e21df8d45279$var$bytes32","$d830e21df8d45279$var$base58check","$d830e21df8d45279$var$getWordlist","wordlist","wordlists","$d830e21df8d45279$var$_constructorGuard","parentFingerprint","chainCode","mnemonicOrPath","compressedPublicKey","extendedKey","neuter","_derive","IL","IR","ki","Ki","ek","srcMnemonic","mnemonic","phrase","locale","fingerprint","derivePath","$d830e21df8d45279$var$HardenedBit","_fromSeed","seedArray","fromMnemonic","password","fromSeed","fromExtendedKey","NFKD","pbkdf2","getWordIndex","entropyBits","checksumBits","checksumMask","indices","remainingBits","getWord","$52d8b575085ace3c$export$448fa22aedc9dbca","iterations","keylen","hashAlgorithm","hLen","DK","block1","U","destPos","$c98b8711de347986$export$e8e1b4711c2d1939","$jnJxW","en","langEn","$e1c37ee3c90035e1$export$a2c9518710cf1f49","$2hNTt","$e1c37ee3c90035e1$var$wordlist","$e1c37ee3c90035e1$var$loadWords","lang","$e1c37ee3c90035e1$var$words","Wordlist","$e1c37ee3c90035e1$var$LangEn","$1aa3df27db978ea8$export$4d9531a8ddb0ebca","$aznsn","$1aa3df27db978ea8$export$af88d00dbe7f521","$7b1f5e4d32c2ee77$export$83d89fbfd8236492","$6054160a15387c6c$export$83d89fbfd8236492","$e21ba517a486d299$export$724d6cf6b9fd8578","$e21ba517a486d299$export$67dc926b8e68b2d8","$e21ba517a486d299$export$9a68ee9f8f3afd38","encseed","ethaddr","$d0ff10d17aa2d59e$export$5f828d93ff035aa8","$igI81","$d0ff10d17aa2d59e$var$logger","$d0ff10d17aa2d59e$var$anyGlobal","$d0ff10d17aa2d59e$var$getGlobal","$d0ff10d17aa2d59e$var$crypto","$d4cbf396701ae91f$export$83d89fbfd8236492","$dc90334677e5edd7$export$e6c7296801b9b341","random","$df4edb3ed5b824a0$export$b97e949c0076e971","$df4edb3ed5b824a0$export$49340cb8f3954db8","$djR4n","HashZero","$9b26373cc461c855$export$71c2e4e213dcb7f2","$9d6cc79a6dc289e5$export$94f0b6f93c619bc","$9d6cc79a6dc289e5$var$createTable","$9d6cc79a6dc289e5$var$createRangeTable","$9d6cc79a6dc289e5$var$matchMap","ranges","$9d6cc79a6dc289e5$var$Table_A_1_ranges","$9d6cc79a6dc289e5$var$Table_B_1_flags","$9d6cc79a6dc289e5$var$Table_B_2_ranges","$9d6cc79a6dc289e5$var$Table_B_2_lut_abs","$9d6cc79a6dc289e5$var$Table_B_2_lut_rel","$9d6cc79a6dc289e5$var$Table_B_2_complex","$9d6cc79a6dc289e5$var$Table_C_ranges","$9d6cc79a6dc289e5$export$9630a1f26a43b76c","codepoint","_toUtf8String","NFKC","$c043804acab33a9c$export$de1294767e6ef661","$c043804acab33a9c$export$bd39b96f71da1885","$c043804acab33a9c$export$203ae30b4f6490b3","$c043804acab33a9c$export$11bc63b4c03ea518","$c043804acab33a9c$export$642c4e67bbdc0bc7","$gi65P","$28skd","$c043804acab33a9c$var$logger","$c043804acab33a9c$var$names","formatted","unitName","formatFixed","parseFixed","$bdc30db990c4b693$export$cc011b843b5d69f2","$bdc30db990c4b693$export$1b039987e86d7269","$bdc30db990c4b693$export$d4693c66c2213e45","$bdc30db990c4b693$var$logger","$bdc30db990c4b693$var$_constructorGuard","$bdc30db990c4b693$var$Zero","$bdc30db990c4b693$var$NegativeOne","$bdc30db990c4b693$var$throwFault","$bdc30db990c4b693$var$zeros","$bdc30db990c4b693$var$getMultiplier","decimals","wholeValue","fractionValue","$bdc30db990c4b693$export$1f3ec5b8f47ebd4d","_multiplier","_value","_isFixedNumber","_checkFormat","addUnsafe","fromValue","subUnsafe","mulUnsafe","divUnsafe","hasFraction","$bdc30db990c4b693$var$ONE","toFormat","ceiling","factor","bump","$bdc30db990c4b693$var$BUMP","toUnsafeFloat","isBigNumberish","fixedFormat","decimal","fromBytes","isFixedNumber","$18e24cde8c8cacf4$export$83d89fbfd8236492","$3ff70163f9f2ebd5$export$bcca3ea514774656","$3ff70163f9f2ebd5$export$228d0e772cc158cb","$3ff70163f9f2ebd5$export$3603b1c1bcd76798","$a2n8k","$iz1PA","$iyMjQ","$hWtVn","$hmWXb","$2tHbK","$jh8UA","$3ff70163f9f2ebd5$var$__awaiter","$3ff70163f9f2ebd5$var$logger","$3ff70163f9f2ebd5$var$hasMnemonic","_mnemonic","_signingKey","populated","encrypt","progressCallback","createRandom","extraEntropy","fromEncryptedJson","decryptJsonWallet","account","fromEncryptedJsonSync","decryptJsonWalletSync","$ca5238b7fb30f36a$export$e74fcde37488267a","$ca5238b7fb30f36a$export$7a81c437a678891a","$gk4i9","$jpzbw","isCrowdsaleWallet","decrypt","isKeystoreWallet","decryptSync","$be21d7d825475473$export$e85a0c9a1067c5d3","$jcj12","$3HJiH","$8n0t3","$be21d7d825475473$var$logger","$be21d7d825475473$export$93a76d16f88f2b3","isCrowdsaleAccount","_isCrowdsaleAccount","getPassword","searchPath","looseArrayify","iv","encryptedSeed","aesCbc","ModeOfOperation","cbc","pkcs7","seedHex","seedHexBytes","checkInt","checkInts","arrayish","coerceArray","createArray","copyArray","sourceArray","targetArray","sourceStart","sourceEnd","Hex","convertHex","numberOfRounds","rcon","Si","T3","T4","T5","T6","T7","T8","U1","U2","U3","U4","convertToInt32","AES","_prepare","rounds","_Ke","_Kd","roundKeyCount","KC","tk","tt","rconpointer","plaintext","ciphertext","ModeOfOperationECB","description","_aes","ModeOfOperationCBC","_lastCipherblock","ModeOfOperationCFB","segmentSize","_shiftRegister","xorSegment","encrypted","ModeOfOperationOFB","_lastPrecipher","_lastPrecipherIndex","Counter","initialValue","_counter","setValue","setBytes","increment","ModeOfOperationCTR","_remainingCounter","_remainingCounterIndex","ecb","cfb","ofb","ctr","utf8","padder","_arrayTest","$2b288706101a2813$export$83d89fbfd8236492","$6180d5962b5fb34a$export$2cde08bde0cfd932","$6180d5962b5fb34a$export$67752b99d3bc61c6","$6180d5962b5fb34a$export$350bd33120f7413e","$6180d5962b5fb34a$export$5a5c1dbd910e2c32","$6180d5962b5fb34a$export$ec7b18ebad55a3a9","hexString","currentChild","matchingChild","$1cdfca8f3ea9db41$export$9bd2c37889ee5e36","$1cdfca8f3ea9db41$export$e85a0c9a1067c5d3","$1cdfca8f3ea9db41$export$5b0f6292f11d1d18","$innAd","$1cdfca8f3ea9db41$var$logger","$1cdfca8f3ea9db41$var$hasMnemonic","$1cdfca8f3ea9db41$export$cf9dc4fd6dde0315","isKeystoreAccount","_isKeystoreAccount","$1cdfca8f3ea9db41$var$_getAccount","computedMAC","$1cdfca8f3ea9db41$var$_decrypt","cipher","aesCtr","mnemonicKey","mnemonicCiphertext","mnemonicIv","mnemonicCounter","mnemonicAesCtr","$1cdfca8f3ea9db41$var$pbkdf2Sync","passwordBytes","dkLen","prfFunc","$1cdfca8f3ea9db41$var$pbkdf2","$1cdfca8f3ea9db41$var$_computeKdfKey","pbkdf2Func","scryptFunc","kdf","prf","syncScrypt","scrypt","client","uuidRandom","uuid","derivedKey","macPrefix","mac","uuidV4","cipherparams","kdfparams","dklen","timestamp","getUTCFullYear","zpad","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","gethFilename","SHA256","h0","h1","h4","h5","h6","h7","bytesLeft","bitLenHi","bitLenLo","numZeros","PBKDF2_HMAC_SHA256_OneIter","innerLen","outerKey","dk","incrementCounter","blockmix_salsa8","BY","Yi","_X","arraycopy","blockxor","salsa20_8","srcPos","checkBufferish","ensureInteger","_scrypt","Bi","MAX_VALUE","XY","totalOps","currentOp","lastPercent10","stop","i0","i1","setImmediate","incrementalSMix","steps","percent10","lib","lastProgress","progress","$e08684831330b7d7$export$83d89fbfd8236492","$4d026a5befa5b358$export$e37fa27017c6c012","$4d026a5befa5b358$export$6d71b655afe1638d","$4d026a5befa5b358$export$e0c10349b2c5e1d4","$5GnFG","$9q8rY","$4d026a5befa5b358$var$logger","$4d026a5befa5b358$var$staller","duration","$4d026a5befa5b358$var$bodyify","connection","processFunc","attemptLimit","throttleLimit","throttleCallback","throttleSlotInterval","errorPassThrough","headers","allow304","allowGzip","user","allowInsecureAuthentication","authorization","skipFetchSetup","fetchOptions","reData","dataMatch","response","statusCode","statusMessage","SERVER_ERROR","requestBody","requestMethod","flatHeaders","header","runningTimeout","timer","TIMEOUT","cancel","runningFetch","attempt","getUrl","location","tryAgain","stall","retryAfter","serverError","status","throttleRetry","race","updated","hasContentType","interval","retryLimit","oncePoll","onceBlock","$42333c997d417afb$export$83d89fbfd8236492","$6dbd18c809d22593$export$94df0e59ebebf4a7","href","request","cache","credentials","redirect","referrer","fetch","statusText","$667a687c3849f299$var$_abi","$667a687c3849f299$var$Proxy_factory__factory","$5dbbd0d053650a36$var$_abi","internalType","$5dbbd0d053650a36$var$Gnosis_safe__factory","$98b1907639d64ce7$var$_abi","$98b1907639d64ce7$var$Multi_send__factory","$2775a6a82e489dfc$var$_abi","$2775a6a82e489dfc$var$Proxy_factory__factory","$99c44068add356a8$var$_abi","$99c44068add356a8$var$Gnosis_safe__factory","$5a5833a6c21df476$var$_abi","$5a5833a6c21df476$var$Compatibility_fallback_handler__factory","$e510272ba40a19cc$var$_abi","$e510272ba40a19cc$var$Gnosis_safe__factory","$6a9051ff92a2ba7f$var$_abi","$6a9051ff92a2ba7f$var$Multi_send_call_only__factory","$20a73a1e1f462f9b$var$_abi","$20a73a1e1f462f9b$var$Multi_send__factory","$3a7625de2b1954a3$var$_abi","$3a7625de2b1954a3$var$Proxy_factory__factory","$df1190944d207c13$var$_abi","$df1190944d207c13$var$Sign_message_lib__factory","$22177f016dce42ed$var$_abi","$22177f016dce42ed$var$Create_call__factory","$1d33b0456820b175$var$__importDefault","$1d33b0456820b175$var$CompatibilityFallbackHandlerEthersContract_1","$1d33b0456820b175$var$CompatibilityFallbackHandler_V1_3_0_Ethers","$9e8cc475b19aff79$var$__importDefault","$9e8cc475b19aff79$var$CreateCallEthersContract_1","$9e8cc475b19aff79$var$CreateCallContract_V1_3_0_Ethers","$b48bdc84722ccb31$var$__importDefault","$hy3vM","$b48bdc84722ccb31$var$GnosisSafeContractEthers_1","$b48bdc84722ccb31$var$GnosisSafeContract_V1_0_0_Ethers","setup","setupConfig","owners","threshold","paymentToken","payment","paymentReceiver","getModules","isModuleEnabled","moduleAddress","modules","enabledModuleAddress","$62608aac1f26c2c6$var$__importDefault","$62608aac1f26c2c6$var$GnosisSafeContractEthers_1","$62608aac1f26c2c6$var$GnosisSafeContract_V1_1_1_Ethers","fallbackHandler","$7458e32e1c209b5b$var$__importDefault","$7458e32e1c209b5b$var$GnosisSafeContractEthers_1","$7458e32e1c209b5b$var$GnosisSafeContract_V1_2_0_Ethers","$3688ca325bde6e00$var$__importDefault","$3688ca325bde6e00$var$GnosisSafeContractEthers_1","$3688ca325bde6e00$var$GnosisSafeContract_V1_3_0_Ethers","getModulesPaginated","$36107502c7940904$var$__importDefault","$36107502c7940904$var$GnosisSafeProxyFactoryEthersContract_1","$36107502c7940904$var$GnosisSafeProxyFactoryContract_V1_0_0_Ethers","$06cbb3c2e5c464b2$var$__importDefault","$06cbb3c2e5c464b2$var$GnosisSafeProxyFactoryEthersContract_1","$06cbb3c2e5c464b2$var$GnosisSafeProxyFactoryContract_V1_1_1_Ethers","$5b84f751a5fcb8de$var$__importDefault","$5b84f751a5fcb8de$var$GnosisSafeProxyFactoryEthersContract_1","$5b84f751a5fcb8de$var$GnosisSafeProxyFactoryContract_V1_3_0_Ethers","$73e8460220a1ae15$var$__importDefault","$73e8460220a1ae15$var$MultiSendEthersContract_1","$73e8460220a1ae15$var$MultiSendContract_V1_1_1_Ethers","$6c3da0150e6c1760$var$__importDefault","$6c3da0150e6c1760$var$MultiSendEthersContract_1","$6c3da0150e6c1760$var$MultiSendContract_V1_3_0_Ethers","$a497f8ea7ae7e83d$var$__importDefault","$a497f8ea7ae7e83d$var$MultiSendCallOnlyEthersContract_1","$a497f8ea7ae7e83d$var$MultiSendCallOnlyContract_V1_3_0_Ethers","$32f2827eda66ef04$var$__importDefault","$32f2827eda66ef04$var$SignMessageLibEthersContract_1","$32f2827eda66ef04$var$SignMessageLibContract_V1_3_0_Ethers","$k7Fub","send","encodeABI","$ea64a44f927dbdaf$var$toTxResult","promiEvent","txResult","ProxyCreation","returnValues","proxy","$93d69398666f41f3$var$_Web3Adapter_web3","$93d69398666f41f3$var$_Web3Adapter_signerAddress","$93d69398666f41f3$var$__classPrivateFieldSet","$93d69398666f41f3$var$__classPrivateFieldGet","$aCowF","web3","defaultBlock","eth","customContractAbi","proxyFactoryContract","getGnosisSafeProxyFactoryContractInstance","jsonTypedData","signedTypedData","jsonrpc","currentProvider","$7bb07a4ee1ef3d1b$var$__importDefault","$7bb07a4ee1ef3d1b$var$CompatibilityFallbackHandler_V1_3_0_Web3_1","$7bb07a4ee1ef3d1b$var$CreateCallEthersContract_V1_3_0_Web3_1","$7bb07a4ee1ef3d1b$var$GnosisSafeContract_V1_0_0_Web3_1","$7bb07a4ee1ef3d1b$var$GnosisSafeContract_V1_1_1_Web3_1","$7bb07a4ee1ef3d1b$var$GnosisSafeContract_V1_2_0_Web3_1","$7bb07a4ee1ef3d1b$var$GnosisSafeContract_V1_3_0_Web3_1","$7bb07a4ee1ef3d1b$var$GnosisSafeProxyFactoryContract_V1_0_0_Web3_1","$7bb07a4ee1ef3d1b$var$GnosisSafeProxyFactoryContract_V1_1_1_Web3_1","$7bb07a4ee1ef3d1b$var$GnosisSafeProxyFactoryContract_V1_3_0_Web3_1","$7bb07a4ee1ef3d1b$var$MultiSendContract_V1_1_1_Web3_1","$7bb07a4ee1ef3d1b$var$MultiSendContract_V1_3_0_Web3_1","$7bb07a4ee1ef3d1b$var$MultiSendCallOnlyContract_V1_3_0_Web3_1","$7bb07a4ee1ef3d1b$var$SignMessageLibContract_V1_3_0_Web3_1","compatibilityFallbackhandlerContract","$e85b322dd6412b2d$var$__importDefault","$e85b322dd6412b2d$var$CompatibilityFallbackHandlerWeb3Contract_1","$e85b322dd6412b2d$var$CompatibilityFallbackHandler_V1_3_0_Web3","$16d35ba3d5f54c88$var$__importDefault","$16d35ba3d5f54c88$var$CreateCallWeb3Contract_1","$16d35ba3d5f54c88$var$CreateCallContract_V1_3_0_Web3","$6a2a79f75a096af3$var$__importDefault","$2rUv6","$6a2a79f75a096af3$var$GnosisSafeContractWeb3_1","$6a2a79f75a096af3$var$GnosisSafeContract_V1_0_0_Web3","$393f7a486f2960c2$var$__importDefault","$393f7a486f2960c2$var$GnosisSafeContractWeb3_1","$393f7a486f2960c2$var$GnosisSafeContract_V1_1_1_Web3","$c4fa19c9ae94ea61$var$__importDefault","$c4fa19c9ae94ea61$var$GnosisSafeContractWeb3_1","$c4fa19c9ae94ea61$var$GnosisSafeContract_V1_2_0_Web3","$bfbe526e0e9948dd$var$__importDefault","$bfbe526e0e9948dd$var$GnosisSafeContractWeb3_1","$bfbe526e0e9948dd$var$GnosisSafeContract_V1_3_0_Web3","$f77628bb66e72b60$var$__importDefault","$f77628bb66e72b60$var$GnosisSafeProxyFactoryWeb3Contract_1","$f77628bb66e72b60$var$GnosisSafeProxyFactoryContract_V1_0_0_Web3","$bb9a897f20ecb964$var$__importDefault","$bb9a897f20ecb964$var$GnosisSafeProxyFactoryWeb3Contract_1","$bb9a897f20ecb964$var$GnosisSafeProxyFactoryContract_V1_1_1_Web3","$404ed223eb78f4da$var$__importDefault","$404ed223eb78f4da$var$GnosisSafeProxyFactoryWeb3Contract_1","$404ed223eb78f4da$var$GnosisSafeProxyFactoryContract_V1_3_0_Web3","$46950efbbd2cf798$var$__importDefault","$46950efbbd2cf798$var$MultiSendWeb3Contract_1","$46950efbbd2cf798$var$MultiSendContract_V1_1_1_Web3","$b30776d971d2a2eb$var$__importDefault","$b30776d971d2a2eb$var$MultiSendWeb3Contract_1","$b30776d971d2a2eb$var$MultiSendContract_V1_3_0_Web3","$86a26e8ab6fbf0e7$var$__importDefault","$86a26e8ab6fbf0e7$var$MultiSendCallOnlyWeb3Contract_1","$86a26e8ab6fbf0e7$var$MultiSendCallOnlyContract_V1_3_0_Web3","$9c91b29c84714873$var$__importDefault","$9c91b29c84714873$var$SignMessageLibWeb3Contract_1","$9c91b29c84714873$var$SignMessageLibContract_V1_3_0_Web3","$cc2c67dcd3592de7$var$__importDefault","getSafeL2SingletonDeployment","_safeL2Deployments","getSafeSingletonDeployment","_safeDeployments","$cc2c67dcd3592de7$var$safe_l2_json_1","$cc2c67dcd3592de7$var$safe_json_1","$cc2c67dcd3592de7$var$gnosis_safe_l2_json_1","$cc2c67dcd3592de7$var$gnosis_safe_json_1","$cc2c67dcd3592de7$var$gnosis_safe_json_2","$cc2c67dcd3592de7$var$gnosis_safe_json_3","$cc2c67dcd3592de7$var$gnosis_safe_json_4","$iaBWx","findDeployment","$d3a697e3467dffdc$var$__importDefault","$d3a697e3467dffdc$var$satisfies_1","$d3a697e3467dffdc$var$DEFAULT_FILTER","released","criteria","deployments","criteriaWithDefaults","deployment","$c2df1460c40c7ce5$var$__importDefault","getProxyFactoryDeployment","$c2df1460c40c7ce5$var$proxy_factory_json_1","$c2df1460c40c7ce5$var$proxy_factory_json_2","$c2df1460c40c7ce5$var$proxy_factory_json_3","$c2df1460c40c7ce5$var$safe_proxy_factory_json_1","$c2df1460c40c7ce5$var$factoryDeployments","$2a9ef478836393a9$var$__importDefault","getSignMessageLibDeployment","getCreateCallDeployment","getMultiSendCallOnlyDeployment","getMultiSendDeployment","$2a9ef478836393a9$var$create_call_json_1","$2a9ef478836393a9$var$create_call_json_2","$2a9ef478836393a9$var$multi_send_json_1","$2a9ef478836393a9$var$multi_send_json_2","$2a9ef478836393a9$var$multi_send_json_3","$2a9ef478836393a9$var$multi_send_call_only_json_1","$2a9ef478836393a9$var$multi_send_call_only_json_2","$2a9ef478836393a9$var$sign_message_lib_json_1","$2a9ef478836393a9$var$sign_message_lib_json_2","$2a9ef478836393a9$var$multiSendDeployments","$2a9ef478836393a9$var$multiSendCallOnlyDeployments","$2a9ef478836393a9$var$createCallDeployments","$2a9ef478836393a9$var$signMessageLibDeployments","$428bbad6fe46ab6d$var$__importDefault","getFallbackHandlerDeployment","getCompatibilityFallbackHandlerDeployment","getDefaultCallbackHandlerDeployment","$428bbad6fe46ab6d$var$default_callback_handler_json_1","$428bbad6fe46ab6d$var$compatibility_fallback_handler_json_1","$428bbad6fe46ab6d$var$compatibility_fallback_handler_json_2","$428bbad6fe46ab6d$var$defaultCallbackHandlerDeployments","$428bbad6fe46ab6d$var$compatFallbackHandlerDeployments","$428bbad6fe46ab6d$var$fallbackHandlerDeployments","$c22d1be08752ebd6$var$__importDefault","getSimulateTxAccessorDeployment","$c22d1be08752ebd6$var$simulate_tx_accessor_json_1","$c22d1be08752ebd6$var$simulate_tx_accessor_json_2","$c22d1be08752ebd6$var$accessorDeployments","$15ee365c891177bb$var$_ContractManager_contractNetworks","$15ee365c891177bb$var$_ContractManager_isL1SafeMasterCopy","$15ee365c891177bb$var$_ContractManager_safeContract","$15ee365c891177bb$var$_ContractManager_multiSendContract","$15ee365c891177bb$var$_ContractManager_multiSendCallOnlyContract","$15ee365c891177bb$var$__classPrivateFieldSet","$15ee365c891177bb$var$__classPrivateFieldGet","$9sENV","$fn2H0","$eakBT","$15ee365c891177bb$var$ContractManager","config","contractManager","isL1SafeMasterCopy","contractNetworks","customContracts","isSafeConfigWithPredictedSafe","SAFE_LAST_VERSION","temporarySafeContract","customSafeAddress","safeDeploymentsL1ChainIds","safeDeploymentsVersions","SAFE_BASE_VERSION","safeMasterCopyVersion","safeMasterCopyL2Version","safeProxyFactoryVersion","compatibilityFallbackHandler","multiSendVersion","multiSendCallOnlyVersion","signMessageLibVersion","createCallVersion","getProxyFactoryContract","getCreateCallContractDeployment","getSignMessageLibContractDeployment","getSafeProxyFactoryContractDeployment","getMultiSendContractDeployment","getMultiSendCallOnlyContractDeployment","getCompatibilityFallbackHandlerContractDeployment","getSafeContractDeployment","$hLMc5","$b30b17b956798fd1$var$getSafeContractDeployment","$b30b17b956798fd1$var$getCompatibilityFallbackHandlerContractDeployment","$b30b17b956798fd1$var$getMultiSendCallOnlyContractDeployment","$b30b17b956798fd1$var$getMultiSendContractDeployment","$b30b17b956798fd1$var$getSafeProxyFactoryContractDeployment","$b30b17b956798fd1$var$getSignMessageLibContractDeployment","$b30b17b956798fd1$var$getCreateCallContractDeployment","$b30b17b956798fd1$var$getSafeContract","gnosisSafeContract","safeMasterCopyAbi","$b30b17b956798fd1$var$getProxyFactoryContract","proxyFactoryDeployment","safeProxyFactoryContract","safeProxyFactoryAddress","safeProxyFactoryAbi","$b30b17b956798fd1$var$getCompatibilityFallbackHandlerContract","fallbackHandlerDeployment","fallbackHandlerContract","fallbackHandlerAddress","fallbackHandlerAbi","$b30b17b956798fd1$var$getMultiSendContract","multiSendDeployment","multiSendAddress","multiSendAbi","$b30b17b956798fd1$var$getMultiSendCallOnlyContract","multiSendCallOnlyDeployment","multiSendCallOnlyAddress","multiSendCallOnlyAbi","$b30b17b956798fd1$var$getSignMessageLibContract","signMessageLibDeployment","signMessageLibAddress","signMessageLibAbi","$b30b17b956798fd1$var$getCreateCallContract","createCallDeployment","createCallAddress","createCallAbi","$cefc35c14c11d0e8$var$__createBinding","$cefc35c14c11d0e8$var$__exportStar","$7c0b25fda6ef2281$var$_Safe_predictedSafe","$7c0b25fda6ef2281$var$_Safe_ethAdapter","$7c0b25fda6ef2281$var$_Safe_contractManager","$7c0b25fda6ef2281$var$_Safe_ownerManager","$7c0b25fda6ef2281$var$_Safe_moduleManager","$7c0b25fda6ef2281$var$_Safe_guardManager","$7c0b25fda6ef2281$var$_Safe_fallbackHandlerManager","$7c0b25fda6ef2281$var$__classPrivateFieldSet","$7c0b25fda6ef2281$var$__classPrivateFieldGet","$7c0b25fda6ef2281$var$__importDefault","$fPni6","$7c0b25fda6ef2281$var$contractManager_1","$7c0b25fda6ef2281$var$fallbackHandlerManager_1","$7c0b25fda6ef2281$var$guardManager_1","$7c0b25fda6ef2281$var$moduleManager_1","$7c0b25fda6ef2281$var$ownerManager_1","$jLUEs","$7c0b25fda6ef2281$var$SafeTransaction_1","$3MW9o","$7c0b25fda6ef2281$var$Safe","safeSdk","configProps","getContractVersion","predictSafeAddress","getContractManager","getEthAdapter","getMultiSendAddress","getMultiSendCallOnlyAddress","isSafeDeployed","safeAccountConfig","getFallbackHandler","getGuard","owner","createTransaction","onlyCalls","newTransaction","multiSendData","multiSendTransaction","createRejectionTransaction","copyTransaction","signedSafeTransaction","signTransactionHash","toSafeTransactionType","addressIsOwner","approveTransactionHash","getOwnersWhoApprovedTx","ownersWhoApproved","approved","createEnableFallbackHandlerTx","encodeEnableFallbackHandlerData","createDisableFallbackHandlerTx","encodeDisableFallbackHandlerData","createEnableGuardTx","guardAddress","encodeEnableGuardData","createDisableGuardTx","encodeDisableGuardData","createEnableModuleTx","encodeEnableModuleData","createDisableModuleTx","encodeDisableModuleData","createAddOwnerTx","encodeAddOwnerWithThresholdData","createRemoveOwnerTx","encodeRemoveOwnerData","createSwapOwnerTx","oldOwnerAddress","newOwnerAddress","encodeSwapOwnerData","createChangeThresholdTx","encodeChangeThresholdData","serviceTransactionResponse","confirmation","ownersWhoApprovedTx","executeTransaction","signaturesMissing","$b85daf83d30b52fe$var$__importDefault","validateSafeDeploymentConfig","validateSafeAccountConfig","encodeSetupCallData","encodeCreateProxyWithNonce","PREDETERMINED_SALT_NONCE","$b85daf83d30b52fe$var$satisfies_1","$b85daf83d30b52fe$var$encodeSetupCallData","$b85daf83d30b52fe$var$predictSafeAddress","encodedNonce","constructorData","safeSingletonAddress","$b24ed0293a47a278$var$_FallbackHandlerManager_ethAdapter","$b24ed0293a47a278$var$_FallbackHandlerManager_safeContract","$b24ed0293a47a278$var$_FallbackHandlerManager_slot","$b24ed0293a47a278$var$__classPrivateFieldSet","$b24ed0293a47a278$var$__classPrivateFieldGet","validateFallbackHandlerAddress","validateFallbackHandlerIsNotEnabled","currentFallbackHandler","newFallbackHandlerAddress","validateFallbackHandlerIsEnabled","$641d9383bed73643$var$_GuardManager_ethAdapter","$641d9383bed73643$var$_GuardManager_safeContract","$641d9383bed73643$var$_GuardManager_slot","$641d9383bed73643$var$__classPrivateFieldSet","$641d9383bed73643$var$__classPrivateFieldGet","validateGuardAddress","validateGuardIsNotEnabled","currentGuard","newGuardAddress","validateGuardIsEnabled","$c07cf4d170a90637$var$_ModuleManager_ethAdapter","$c07cf4d170a90637$var$_ModuleManager_safeContract","$c07cf4d170a90637$var$__classPrivateFieldSet","$c07cf4d170a90637$var$__classPrivateFieldGet","validateModuleAddress","validateModuleIsNotEnabled","moduleIndex","findIndex","validateModuleIsEnabled","prevModuleAddress","$10e0cffe69493180$var$_OwnerManager_ethAdapter","$10e0cffe69493180$var$_OwnerManager_safeContract","$10e0cffe69493180$var$__classPrivateFieldSet","$10e0cffe69493180$var$__classPrivateFieldGet","validateOwnerAddress","errorMessage","validateThreshold","numOwners","validateAddressIsNotOwner","ownerIndex","validateAddressIsOwner","newThreshold","prevOwnerAddress","oldOwnerIndex","$5a06f90ccb4dcf52$var$_SafeFactory_contractNetworks","$5a06f90ccb4dcf52$var$_SafeFactory_isL1SafeMasterCopy","$5a06f90ccb4dcf52$var$_SafeFactory_safeVersion","$5a06f90ccb4dcf52$var$_SafeFactory_ethAdapter","$5a06f90ccb4dcf52$var$_SafeFactory_safeProxyFactoryContract","$5a06f90ccb4dcf52$var$_SafeFactory_gnosisSafeContract","$5a06f90ccb4dcf52$var$__classPrivateFieldSet","$5a06f90ccb4dcf52$var$__classPrivateFieldGet","$5a06f90ccb4dcf52$var$__importDefault","$5a06f90ccb4dcf52$var$Safe_1","$5a06f90ccb4dcf52$var$SafeFactory","safeFactorySdk","getSafeVersion","deploySafe","safe","$cff202aae1decb38$exports","$cff202aae1decb38$var$__importDefault","SignMessageLibWeb3Contract","MultiSendCallOnlyWeb3Contract","MultiSendWeb3Contract","GnosisSafeProxyFactoryWeb3Contract","GnosisSafeContractWeb3","CreateCallWeb3Contract","Web3Adapter","SignMessageLibEthersContract","MultiSendCallOnlyEthersContract","MultiSendEthersContract","GnosisSafeProxyFactoryEthersContract","GnosisSafeContractEthers","CreateCallEthersContract","EthersAdapter","SafeFactory","ContractManager","$d5d1ec40507ea24e$exports","$d5d1ec40507ea24e$var$__importDefault","$d5d1ec40507ea24e$var$CreateCallEthersContract_1","$d5d1ec40507ea24e$var$GnosisSafeContractEthers_1","$d5d1ec40507ea24e$var$GnosisSafeProxyFactoryEthersContract_1","$d5d1ec40507ea24e$var$MultiSendEthersContract_1","$d5d1ec40507ea24e$var$MultiSendCallOnlyEthersContract_1","$d5d1ec40507ea24e$var$SignMessageLibEthersContract_1","$d5d1ec40507ea24e$var$EthersAdapter_1","$9ddb651ffbfd6340$exports","$9ddb651ffbfd6340$var$__importDefault","$9ddb651ffbfd6340$var$CreateCallWeb3Contract_1","$9ddb651ffbfd6340$var$GnosisSafeContractWeb3_1","$9ddb651ffbfd6340$var$GnosisSafeProxyFactoryWeb3Contract_1","$9ddb651ffbfd6340$var$MultiSendWeb3Contract_1","$9ddb651ffbfd6340$var$MultiSendCallOnlyWeb3Contract_1","$9ddb651ffbfd6340$var$SignMessageLibWeb3Contract_1","$9ddb651ffbfd6340$var$Web3Adapter_1","$cff202aae1decb38$var$contractManager_1","$cff202aae1decb38$var$Safe_1","$cff202aae1decb38$var$safeFactory_1","$e46560f007b189d3$exports","factory","Toastify","getAxisOffsetAValue","axis","containsClass","elem","yourClass","className","defaults","oldestFirst","destination","newWindow","close","gravity","positionLeft","backgroundColor","avatar","stopOnFocus","onClick","escapeMarkup","ariaLive","background","toastify","toastElement","buildToast","divElement","createElement","setAttribute","nodeType","ELEMENT_NODE","appendChild","innerText","innerHTML","avatarElement","insertAdjacentElement","closeElement","stopPropagation","removeElement","timeOutValue","innerWidth","screen","open","xOffset","yOffset","showToast","rootElement","getElementById","HTMLElement","ShadowRoot","elementToInsert","firstChild","lastChild","insertBefore","reposition","hideToast","parentNode","removeChild","classUsed","topLeftOffsetSize","top","bottom","topRightOffsetSize","offsetSize","allToasts","getElementsByClassName","height","offsetHeight","$6c57cc56acea9c6c$exports","$6c57cc56acea9c6c$export$af88d00dbe7f521","Wallet","$859153647bbc688f$export$4f77a1d3c1ac6642","$859153647bbc688f$exports","BaseContract","ContractFactory","FixedNumber","$4c29a01839587aec$exports","$9f7bf65ddafc81a6$export$83d89fbfd8236492","$5utYt","$22c6f0407e5356d6$export$badd13187c087617","Two","WeiPerEther","MinInt256","MaxInt256","$deb5368d1753dad5$export$c7e79fcb6f8ac048","$43e733c7f2a529c1$exports","BaseProvider","Resolver","$8044ebfe209f61e4$exports","UrlJsonRpcProvider","$14eaab77c6d2e466$exports","FallbackProvider","$e94c62bb842b5925$export$999cc40da3fbc6f","$e94c62bb842b5925$export$f6c13301c7b76371","$efd7dc521b26566c$export$72783b2aefa72a45","$cdd214e3d1599302$exports","CloudflareProvider","$d7687248e25a81ef$exports","EtherscanProvider","$1be1b51d2ba5e5c5$export$60ff1a559b5c6ebd","$1be1b51d2ba5e5c5$export$dd168a807d60da4f","$e32f9441afb0a406$exports","JsonRpcProvider","$a926fa2c67f65d9a$export$5a16092bf20edf97","$dcb00489ffa41a84$export$8235cbce3ce273bd","$fbe10c5df3b2b203$export$58bb47e42f6b092e","StaticJsonRpcProvider","$c7f9e560d629e6df$export$d05096c9fd9d936d","$f2ba8b3ea7dcf3ca$exports","WebSocketProvider","$9b4b4c9da3406148$export$fbe151f90a1ece01","JsonRpcSigner","$17c84d4c9be9446e$export$7de4970ebfd8206d","$dc6c759982861e14$export$d93d5f61c2498b6","$dc6c759982861e14$export$3091239f5b20b896","$dc6c759982861e14$export$4c41bd49e82e82ab","$dc6c759982861e14$export$a06636add2a09fd8","$17c84d4c9be9446e$var$logger","$17c84d4c9be9446e$var$ethDefaultProvider","providers","providerList","InfuraProvider","infura","etherscan","AlchemyProvider","alchemy","PocketProvider","pocket","cloudflare","AnkrProvider","ankr","quorum","renetwork","$17c84d4c9be9446e$var$etcDefaultProvider","$17c84d4c9be9446e$var$homestead","ensAddress","_defaultProvider","$17c84d4c9be9446e$var$ropsten","$17c84d4c9be9446e$var$classicMordor","$17c84d4c9be9446e$var$networks","unspecified","homestead","mainnet","morden","ropsten","testnet","rinkeby","kovan","goerli","kintsugi","sepolia","classic","classicMorden","classicMordor","classicTestnet","classicKotti","xdai","matic","maticmum","optimism","arbitrum","bnb","bnbt","standard","defaultProvider","$43e733c7f2a529c1$export$8b4c839865b08288","$43e733c7f2a529c1$export$ff3f6dd83125ac45","$8s7ds","$6BV0e","$58c329f65c659a19$exports","$58c329f65c659a19$var$ALPHABET","$58c329f65c659a19$var$ALPHABET_MAP","$58c329f65c659a19$var$z","$58c329f65c659a19$var$x","$58c329f65c659a19$var$polymodStep","$58c329f65c659a19$var$prefixChk","chk","$58c329f65c659a19$var$__decode","LIMIT","lowered","uppered","wordChars","$58c329f65c659a19$var$convert","inBits","outBits","maxV","decodeUnsafe","toWordsUnsafe","toWords","fromWordsUnsafe","fromWords","$fd8f67b80e142427$export$83d89fbfd8236492","$dc6c759982861e14$var$logger","formats","getDefaultFormats","bigNumber","allowNull","blockNumber","transactionIndex","uint256","creates","transactionRequest","receiptLog","arrayOf","logIndex","gasUsed","logsBloom","cumulativeGasUsed","effectiveGasPrice","parentHash","difficulty","miner","extraData","transactions","blockWithTransactions","filterLog","removed","allowFalsish","callAddress","author","_difficulty","networkId","byzantium","checkKey","checkValue","nullValue","replaceValue","isCommunityResource","$dc6c759982861e14$var$throttleMessage","$43e733c7f2a529c1$var$__awaiter","$43e733c7f2a529c1$var$logger","$43e733c7f2a529c1$var$checkTopic","$43e733c7f2a529c1$var$serializeTopics","$43e733c7f2a529c1$var$getEventTag","ForkEvent","$43e733c7f2a529c1$var$getTime","$43e733c7f2a529c1$var$stall","$43e733c7f2a529c1$var$PollableEvents","$43e733c7f2a529c1$export$d61e24a684f9e51","_lastBlockNumber","_inflight","pollable","$43e733c7f2a529c1$var$coinInfos","p2pkh","p2sh","ilk","$43e733c7f2a529c1$var$bytes32ify","$43e733c7f2a529c1$var$base58Encode","$43e733c7f2a529c1$var$matcherIpfs","$43e733c7f2a529c1$var$matchers","$43e733c7f2a529c1$var$_parseString","$43e733c7f2a529c1$var$_parseBytes","$43e733c7f2a529c1$var$getIpfsLink","link","$43e733c7f2a529c1$var$numPad","$43e733c7f2a529c1$var$encodeBytes","datas","$43e733c7f2a529c1$var$bytesPad","formatter","supportsWildcard","_supportsEip2544","_fetch","parameters","_fetchBytes","_getAddress","coinType","hexBytes","coinInfo","getAvatar","linkage","getText","scheme","_resolvedAddress","tokenId","tokenOwner","metadataUrl","metadata","imageUrl","image","ipfs","getContentHash","ipns","swarm","skynet","urlSafe","keyBytes","$43e733c7f2a529c1$var$defaultFormatter","$43e733c7f2a529c1$var$nextPollId","_emitted","disableCcipRead","getFormatter","anyNetwork","detectNetwork","_networkPromise","_ready","knownNetwork","_maxInternalBlockNumber","_maxFilterBlockRange","_pollingInterval","_fastQueryDate","_network","ready","NETWORK_ERROR","ccipReadFetch","urls","sender","errorMessages","_getInternalBlockNumber","_internalBlockNumber","internalBlockNumber","respTime","reqTime","checkInternalBlockNumber","perform","networkError","_setFastBlockNumber","pollId","runners","pollingInterval","previousBlockNumber","eventBlockNumber","runner","minFromBlock","resetEventsBlock","polling","currentNetwork","_fastBlockNumber","_fastBlockNumberPromise","detectedNetwork","_poller","setInterval","_bootstrapPoll","clearInterval","_getFastBlockNumber","getBlockNumber","waitForTransaction","_waitForTransaction","replaceable","cancelFuncs","alreadyDone","minedHandler","lastBlockNumber","startBlock","scannedBlock","replaceHandler","mined","getBlockWithTransactions","ti","cancelled","replacement","_wrapTransaction","unref","_getBlockTag","expectedHash","returnedHash","confirms","signedTransaction","hexTx","_getTransactionRequest","_getFilter","_call","redirects","txSender","urlsOffset","urlsLength","urlsData","callbackSelector","ccipResult","_getBlock","blockHashOrBlockTag","includeTransactions","blockWithTxs","getEtherPrice","getResolver","currentName","_getResolver","addrData","lookupAddress","resolverAddr","nameOrAddress","resolverAddress","NOT_IMPLEMENTED","_startEvent","_stopEvent","stopped","eventTag","$f2ba8b3ea7dcf3ca$export$bfafe629242f30bd","$e32f9441afb0a406$export$5f7b5fca3508545a","$e32f9441afb0a406$export$da28308012bf6748","$e32f9441afb0a406$var$__awaiter","$e32f9441afb0a406$var$logger","$e32f9441afb0a406$var$errorGas","$e32f9441afb0a406$var$spelunk","requireData","$e32f9441afb0a406$var$checkError","responseText","$e32f9441afb0a406$var$timer","$e32f9441afb0a406$var$getResult","$e32f9441afb0a406$var$getLowerCase","$e32f9441afb0a406$var$_constructorGuard","addressOrIndex","connectUnchecked","$e32f9441afb0a406$var$UncheckedJsonRpcSigner","_address","_index","accounts","sendUncheckedTransaction","fromAddress","estimate","hexlifyTransaction","ACTION_REJECTED","action","messageData","_legacySignMessage","unlock","$e32f9441afb0a406$var$allowedTransactionKeys","networkOrReady","_nextId","_eventLoopCache","defaultUrl","_uncachedDetectNetwork","getUncheckedSigner","listAccounts","prepareRequest","_startPending","_pendingFilter","pendingFilter","filterId","hashes","seq","allowExtra","$c20588e763a5ccc3$export$3909fb301d3dc8c9","WebSocket","logger","$f2ba8b3ea7dcf3ca$var$__awaiter","$f2ba8b3ea7dcf3ca$var$logger","$f2ba8b3ea7dcf3ca$var$NextId","_wsReady","websocket","onopen","_requests","onmessage","messageEvent","_subs","subscription","fauxPoll","_websocket","_detectNetwork","rid","_subscribe","subIdPromise","_subIds","subId","emitReceipt","readyState","CONNECTING","$8044ebfe209f61e4$export$b3d647c1c29df44d","$8044ebfe209f61e4$export$664128d6239ccf96","$8044ebfe209f61e4$var$logger","_super","apiKey","getApiKey","$e94c62bb842b5925$var$logger","$e94c62bb842b5925$var$defaultApiKey","getWebSocketProvider","host","$efd7dc521b26566c$var$logger","$efd7dc521b26566c$var$defaultApiKey","$efd7dc521b26566c$var$getHost","projectSecret","$cdd214e3d1599302$export$7113381f8f264fc0","$cdd214e3d1599302$var$logger","$d7687248e25a81ef$export$dd1d942a536c7912","$d7687248e25a81ef$var$__awaiter","$d7687248e25a81ef$var$logger","$d7687248e25a81ef$var$getTransactionPostData","maxFeePerGs","$d7687248e25a81ef$var$getResult","$d7687248e25a81ef$var$getJsonResult","$d7687248e25a81ef$var$checkLogTag","$d7687248e25a81ef$var$checkError","getBaseUrl","query","baseUrl","getPostUrl","getPostData","apikey","post","procFunc","payloadStr","txhash","postData","topic0","ethusd","getHistory","endBlock","startblock","endblock","timeStamp","$14eaab77c6d2e466$export$cb1d0beacb55feb7","$iW3ip","$14eaab77c6d2e466$var$__awaiter","$14eaab77c6d2e466$var$logger","$14eaab77c6d2e466$var$now","$14eaab77c6d2e466$var$checkNetworks","$14eaab77c6d2e466$var$median","maxDelta","middle","$14eaab77c6d2e466$var$serialize","$14eaab77c6d2e466$var$nextRid","$14eaab77c6d2e466$var$stall","getPromise","$14eaab77c6d2e466$var$ForwardErrors","$14eaab77c6d2e466$var$ForwardProperties","$14eaab77c6d2e466$var$exposeDebugConfig","weight","$14eaab77c6d2e466$var$waitForSync","providerConfigs","configOrProvider","stallTimeout","priority","_highestBlockNumber","$14eaab77c6d2e466$var$getProcessFunc","configs","tally","currentBlockNumber","t0","inflightWeight","staller","$14eaab77c6d2e466$var$getRunner","backend","waiting","errorCode","$1be1b51d2ba5e5c5$var$logger","$1be1b51d2ba5e5c5$var$defaultProjectId","projectId","apiKeyObj","_pendingBatch","inflightRequest","_pendingBatchAggregator","batch","inflight","$dcb00489ffa41a84$var$logger","$fbe10c5df3b2b203$var$logger","$fbe10c5df3b2b203$var$defaultApplicationId","applicationId","loadBalancer","applicationSecretKey","$c7f9e560d629e6df$var$logger","$c7f9e560d629e6df$var$_nextId","$c7f9e560d629e6df$var$buildWeb3LegacyFetcher","sendFunc","fetcher","jsonRpcFetchFunc","subprovider","isMetaMask","sendAsync","$859153647bbc688f$var$logger","NodesmithProvider","Web3Provider","IpcProvider","anyGlobal","_ethers","$1c38d8340004597f$exports","$1c38d8340004597f$var$__createBinding","$1c38d8340004597f$var$__setModuleDefault","$1c38d8340004597f$var$__importStar","base64","base58","RLP","serializeTransaction","soliditySha256","solidityKeccak256","solidityPack","_TypedDataEncoder","$1c38d8340004597f$var$base64","$1c38d8340004597f$var$RLP","$jaF8b","$dvY5r","$gvpJp","current_component","SvelteElement","noop","blank_object","run_all","fns","is_function","not_equal","append","insert","anchor","detach","svg_element","createElementNS","attr","attribute","removeAttribute","getAttribute","dirty_components","binding_callbacks","render_callbacks","flush_callbacks","resolved_promise","update_scheduled","add_render_callback","seen_callbacks","flushidx","saved_component","$$","before_update","dirty","after_update","outroing","attachShadow","connectedCallback","on_mount","on_disconnect","slotted","attributeChangedCallback","_oldValue","newValue","disconnectedCallback","$destroy","destroy_component","detaching","on_destroy","$on","callbacks","$set","$$props","$$set","skip_bound","_permanentCensorErrors","_censorErrors","LogLevels","_logLevel","_globalLogger","_normalizeError","_checkNormalize","HEX","addSlice","isInteger","tinycolor","Math1","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","trimLeft","trimRight","tinyCounter","mathRound","mathMin","mathMax","mathRandom","color","rgb","stringInputToObject","named","names","matchers","rgba","hsl","hsla","hsv","hsva","hex8","parseIntFromHex","hex6","hex4","hex3","isValidCSSUnit","bound01","convertToPercentage","hslToRgb","hue2rgb","boundAlpha","_originalInput","_r","_roundA","_format","_gradientType","gradientType","_ok","_tc_id","rgbToHsl","rgbToHsv","rgbToHex","allow3Char","pad2","rgbaToArgbHex","convertDecimalToHex","desaturate","amount","toHsl","clamp01","saturate","greyscale","lighten","brighten","toRgb","darken","spin","hue","complement","triad","tetrad","splitcomplement","analogous","slices","monochromatic","toHsv","modification","isDark","getBrightness","isLight","getOriginalInput","getFormat","getAlpha","getLuminance","RsRGB","GsRGB","BsRGB","setAlpha","toHsvString","toHslString","toHex8","allow4Char","toHex8String","toRgbString","toPercentageRgb","toPercentageRgbString","toName","hexNames","toFilter","secondColor","hex8String","secondHex8String","formatSet","hasAlpha","_applyModification","_applyCombination","fromRatio","newColor","color1","color2","mix","rgb1","rgb2","readability","isReadable","wcag2","parms","wcag2Parms","mostReadable","baseColor","colorList","includeFallbackColors","bestColor","bestScore","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","burntsienna","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","green","greenyellow","grey","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen","flip","flipped","processPercent","linear","cubicInOut","quintIn","bscale","clampHue","bScaleRange","lerpHueFn","optionNum","direction","pct","endHue","lerpPercent","gradientForAddress","hueShiftFn","startHue","startLightness","endLightness","startSaturation","endSaturation","lightnessShiftFn","saturationShiftFn","tc","create_fragment","svg","slot","defs","radialGradient","stop0","stop0_stop_color_value","stop1","stop1_stop_color_value","stop2","stop2_stop_color_value","stop3","stop3_stop_color_value","stop4","stop4_stop_color_value","path0","path1","$$self","$$invalidate","gradientInfo","customElements","append_styles","parent_component","rest","hydrate","element","childNodes","intro","transition_in","local","mount_component","customElement","new_on_destroy","shadowRoot","attribute_to_object","attributes","observedAttributes","$8fa3fc59f4eb3417$var$defaultL2Addresses","$8fa3fc59f4eb3417$var$baseL2Addresses","$8fa3fc59f4eb3417$export$94a92e5769c4863a","$f43313d21d3fd8e2$var$log","querySelector","$f43313d21d3fd8e2$var$getSigner","ethereum","enable","$f43313d21d3fd8e2$var$getSafeSDK","safeSdk2","$f43313d21d3fd8e2$var$runit","txn","execute","approveTxResponse","$f43313d21d3fd8e2$var$create","adapter","sdk","$f43313d21d3fd8e2$var$getSafeData","$f43313d21d3fd8e2$var$getSafeTxnApprovals","txnData","$f43313d21d3fd8e2$var$formDataAsDict","formData","FormData","$f43313d21d3fd8e2$var$setInput","connectInfo","firstAccount","display","$f43313d21d3fd8e2$var$getNetwork","$f43313d21d3fd8e2$var$app","signForm","getSafeInfo","safeData","URLSearchParams","parentElement","evt","preventDefault","navigator","clipboard","writeText","alert","approvals","approvalsHtml","executeForm","minAssert","minUtils","require$$0","require$$1","KeyPair","HmacDRBG","Signature","require$$2","require$$3","_ec"],"version":3,"file":"index.ea486f1f.js.map"} \ No newline at end of file diff --git a/index.html b/index.html index 946642d..25f7068 100644 --- a/index.html +++ b/index.html @@ -1 +1,12 @@ -zora signer

    smol-safe //

    Connected to chainid: none
    Account:
    Connect Metamask/Injected Wallet
    I have a safe

    Load existing safe:

     
    OPERATION:
    I am creating a safe

    create a SAFE on the current network

      \ No newline at end of file + + + + + Smol Safe + + + + +
      + + \ No newline at end of file